/* Shared Gavroche layout refinements. Reuse these rules with production templates. */
:root{--g-focus:#087f8c}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--g-focus);outline-offset:4px}
.g-search-hero{padding:36px 0!important}.g-search-hero h1{font-size:clamp(30px,4vw,46px)!important;letter-spacing:-.04em;line-height:1.12}.g-search-hero .site-search{margin-top:24px}.g-search-hero+.page-section{padding-top:32px}
.g-discovery-toolbar{margin-bottom:22px}.g-filters{position:sticky;top:100px}.g-job-card{padding:22px;box-shadow:0 3px 14px #16354a05}.g-job-card h3{margin:15px 0 8px}.g-job-title{font-size:21px;line-height:1.35;letter-spacing:-.02em}.g-company-label{display:flex;align-items:center;gap:10px;font-weight:650;color:var(--navy)}.g-company-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--pale);color:var(--teal);font-size:16px}.g-card-actions{justify-content:space-between}.g-source-tag{max-width:50%;overflow-wrap:anywhere}.g-job-card .g-pay{font-size:15px}.g-job-card:hover{border-color:#9ec3c9}.g-job-meta{align-items:flex-start}
.selector-grid .selector-card{min-height:0;height:auto;padding:24px;display:flex;align-items:center;gap:16px}.selector-card .flag{width:32px;height:24px;object-fit:contain}.selector-card:hover{background:var(--pale);border-color:#9ec3c9}
#job-page .detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start;margin-top:24px}#job-page .detail-layout>article{min-width:0}#job-page h1{font-size:clamp(28px,3.3vw,42px);line-height:1.16;letter-spacing:-.035em;margin:16px 0 20px;overflow-wrap:anywhere}#job-page .large-intro{font-size:17px;line-height:1.6}#job-page .tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}#job-page .detail-layout>aside{position:sticky;top:100px;min-width:0}#job-page aside .sticky-panel{position:static}#job-page aside h2{font-size:25px;line-height:1.25;margin:20px 0 12px}#job-page aside p{font-size:14px;line-height:1.65}#job-page aside .pill{display:flex;justify-content:center;text-align:center;width:100%;box-sizing:border-box}#job-page aside .text-link,#job-page aside .quiet-button{display:block;margin-top:18px}#job-page article .panel{padding:28px}#job-page article .panel p,#job-page article .panel li{font-size:16px;line-height:1.8;max-width:70ch}#job-page article .panel h2{font-size:25px}#job-page article .panel h3{font-size:19px;margin-top:28px}.preserve-lines{white-space:pre-line}
@media(max-width:900px){#job-page .detail-layout{grid-template-columns:minmax(0,1fr)}#job-page .detail-layout>aside{position:static;grid-row:1}#job-page aside .company-icon{display:none}#job-page aside h2{margin-top:0}#job-page aside .panel{padding:20px}#job-page aside p{margin:10px 0}#job-page aside .text-link{display:inline-block;margin-right:16px}.g-filters{position:static}}
@media(max-width:720px){.g-search-hero{padding:28px 0!important}.g-discovery-layout{gap:20px}.g-filters{padding:16px}.g-filters h2{margin-bottom:8px}.g-job-card{padding:18px}.g-job-title{font-size:20px}.g-source-tag{font-size:10px}.g-card-actions{gap:10px;flex-wrap:wrap}.selector-grid .selector-card{padding:18px;gap:12px}.selector-card strong{font-size:15px}#job-page article .panel{padding:20px}#job-page article .panel p,#job-page article .panel li{font-size:15px}#job-page .detail-layout{gap:20px}}
#job-page button.text-link{border:0;background:transparent;padding:0;font:inherit;color:var(--teal);font-weight:650;text-align:left;cursor:pointer}
@media(max-width:900px){#job-page .detail-layout{display:flex;flex-direction:column;gap:16px}#job-page .detail-layout>article{display:contents}#job-page .detail-layout>article>p,#job-page .detail-layout>article>h1,#job-page .detail-layout>article>.tags{order:1;margin-top:0;margin-bottom:0}#job-page .detail-layout>aside{order:2;width:100%;box-sizing:border-box}#job-page .detail-layout>article>section{order:3;width:100%;box-sizing:border-box}}
/* A warmer, more cohesive visual finish, without changing job data or flows. */
.g-search-hero{background:radial-gradient(ellipse at 90% 0%,#d8efeb 0,transparent 55%),linear-gradient(120deg,#f7fbfc,#edf6f7)}
.g-search-hero .site-search{border-color:#d3e3e6;box-shadow:0 8px 24px #123b4910}
.g-discovery-layout{gap:28px}.g-filters{background:#f3f8f9;border-color:#dbe7e9}.g-filters h2{letter-spacing:-.025em}.g-filters select,.g-mode select{min-height:44px}
.g-job-card{border-color:#dde7ea;border-radius:16px;transition:border-color .18s ease,box-shadow .18s ease}.g-job-card:hover{box-shadow:0 8px 24px #153c4910}.g-job-card h3{max-width:65ch}.g-company-avatar{background:linear-gradient(145deg,#e4f3ef,#edf3fa);border:1px solid #d9e8e7;font-weight:750}.g-job-facts{line-height:1.65}.g-source-tag{border-radius:20px;padding:5px 10px}.g-results-heading h2{letter-spacing:-.03em}
.selector-grid{gap:16px}.selector-grid .selector-card{flex-direction:row;min-height:88px;box-sizing:border-box;box-shadow:0 3px 12px #16354a04;border-radius:14px;transition:border-color .18s ease,background .18s ease}.selector-card .flag{flex:none;border-radius:3px;filter:drop-shadow(0 2px 3px #152d4215)}.selector-card strong{line-height:1.35;letter-spacing:-.015em}
#job-page .detail-layout>aside .panel{border-top:4px solid var(--teal);border-radius:16px;box-shadow:0 8px 28px #123b490a}#job-page .detail-layout>article>.panel{border-radius:16px;box-shadow:none}#job-page .tags span{padding:7px 11px;border-radius:7px}#job-page aside .company-icon{border-radius:12px;background:#e9f4f2;color:var(--teal)}#job-page aside .pill{min-height:46px;border-radius:9px}#job-page .notice{border-radius:9px}
@media(max-width:720px){.selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.selector-grid .selector-card{padding:16px;min-height:88px;gap:10px}.selector-card .flag{width:26px;height:20px}.selector-card strong{font-size:14px}.g-discovery-layout{gap:20px}.g-job-card .g-company-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.g-job-card,.selector-grid .selector-card{transition:none}}
