/* jobs.geocharme.it — stile ispirato al sito Capo San Vito: sabbia, oro, EB Garamond */
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/eb-garamond-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/static/fonts/eb-garamond-latin-400-italic.woff2) format('woff2');}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/eb-garamond-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/eb-garamond-latin-600-normal.woff2) format('woff2');}

:root{
  --sabbia:#DCD6C9;
  --sabbia-chiara:#E6E1D6;
  --carta:#F1EDE4;
  --inchiostro:#1E1E1E;
  --secondario:#4a463e;
  --oro:#E2A730;
  --oro-scuro:#8a6414;
  --linea:rgba(30,30,30,.18);
  --linea-forte:rgba(30,30,30,.35);
  --raggio:.5em;
  --errore:#9b2c1f;
  --ok:#2f5d3a;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--sabbia);color:var(--inchiostro);font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:19px;line-height:1.4;font-variant-numeric:oldstyle-nums;}
::selection{background:var(--oro);color:var(--inchiostro);}
a{color:var(--inchiostro);text-underline-offset:3px;}
a:hover{color:var(--oro-scuro);}
img{max-width:100%;display:block;}
.vis-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.salta{position:absolute;left:-9999px;top:8px;background:var(--inchiostro);color:var(--sabbia);padding:8px 14px;border-radius:var(--raggio);z-index:10;}
.salta:focus{left:12px;}
:focus-visible{outline:2px solid var(--inchiostro);outline-offset:3px;}

.pad{padding-left:56px;padding-right:56px;}
.fascia{background:var(--inchiostro);color:var(--sabbia);text-align:center;padding:8px 24px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;}
.testata{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--linea);}
.marchio{text-decoration:none;display:flex;flex-direction:column;line-height:1.1;}
.marchio b{font-size:26px;font-weight:600;letter-spacing:.06em;}
.marchio span{font-size:12px;letter-spacing:.32em;text-transform:uppercase;}
.menu{display:flex;align-items:center;gap:30px;font-size:15px;letter-spacing:.12em;text-transform:uppercase;}
.menu a{text-decoration:none;}

.bottone,.bottone-oro{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:12px 26px;border-radius:var(--raggio);font-family:inherit;font-size:15px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform 160ms ease-out,background-color 160ms ease,border-color 160ms ease;}
.bottone{border:1px solid var(--oro);background:var(--sabbia);color:var(--inchiostro);}
.bottone:hover{background:var(--sabbia-chiara);color:var(--inchiostro);}
.bottone-oro{border:1px solid var(--oro);background:var(--oro);color:var(--inchiostro);font-weight:600;}
.bottone-oro:hover{background:#d39a24;color:var(--inchiostro);}
.bottone:active,.bottone-oro:active,.filtro:active{transform:scale(.97);}
.bottone-oro[disabled]{opacity:.6;cursor:progress;}

.eroe{text-align:center;padding-top:64px;padding-bottom:44px;}
.occhiello{margin:0 0 14px;font-size:15px;letter-spacing:.24em;text-transform:uppercase;}
.eroe h1{margin:0 auto;max-width:16ch;font-size:4.2em;font-weight:600;line-height:1.05;text-wrap:balance;letter-spacing:-.01em;}
.eroe .intro{margin:26px auto 0;max-width:56ch;font-size:21px;line-height:1.7;}
.eroe .azioni{margin-top:32px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

.sezione{padding-top:70px;padding-bottom:30px;text-align:center;}
.sezione h2{margin:0;font-size:2.7em;font-weight:600;line-height:1.1;}
.sottotitolo{margin:12px 0 30px;font-size:16px;letter-spacing:.18em;text-transform:uppercase;}
.filtri{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.filtro{padding:9px 18px;border-radius:var(--raggio);border:1px solid var(--linea-forte);background:transparent;color:var(--inchiostro);font-family:inherit;font-size:15px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform 160ms ease-out,background-color 160ms ease;}
.filtro[aria-pressed="true"]{background:var(--oro);border-color:var(--oro);}
.filtro:hover:not([aria-pressed="true"]){background:var(--sabbia-chiara);}
.selettori{margin-top:14px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:15px;}
.selettori label{display:flex;align-items:center;gap:8px;}
select,input,textarea{font-family:inherit;color:var(--inchiostro);}
.selettori select{font-size:15px;padding:7px 12px;border-radius:var(--raggio);border:1px solid var(--linea-forte);background:var(--sabbia-chiara);}

.griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-bottom:40px;}
.scheda{display:flex;flex-direction:column;border-radius:var(--raggio);overflow:hidden;background:var(--sabbia-chiara);text-align:center;}
.scheda[hidden]{display:none;}
.scheda .foto{aspect-ratio:16/10;background:linear-gradient(160deg,#c4b89f,#8a7d64);object-fit:cover;width:100%;}
.scheda .foto-vuota{aspect-ratio:16/10;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:linear-gradient(160deg,#cfc6b3 0%,#b3a689 100%);color:#2b2720;font-size:22px;font-style:italic;}
.scheda .corpo{display:flex;flex-direction:column;gap:8px;padding:22px 22px 24px;flex-grow:1;}
.scheda .luogo{font-size:13px;letter-spacing:.2em;text-transform:uppercase;}
.scheda h3{margin:0;font-size:1.55em;font-weight:600;line-height:1.15;}
.scheda p{margin:0;font-size:16px;line-height:1.5;color:var(--secondario);}
.scheda .bottone{margin-top:auto;align-self:center;padding:10px 22px;font-size:14px;}
.vuoto{padding:40px 20px 60px;text-align:center;font-size:20px;color:var(--secondario);}
.vuoto p{margin:0 auto 18px;max-width:46ch;}

.strutture{border-top:1px solid var(--linea);margin:0 56px;padding:60px 0 70px;text-align:center;}
.strutture ul{list-style:none;margin:30px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 30px;max-width:900px;}
.strutture li b{display:block;font-size:20px;font-weight:600;}
.strutture li span{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondario);}

.invito{padding-bottom:80px;}
.invito > div{border-radius:var(--raggio);background:var(--inchiostro);color:var(--sabbia);text-align:center;padding:56px 32px;}
.invito h2{margin:0;font-size:2em;font-weight:600;line-height:1.15;}
.invito p{margin:14px auto 26px;max-width:48ch;font-size:19px;line-height:1.7;}

.piede{padding-top:40px;padding-bottom:50px;border-top:1px solid var(--linea);text-align:center;font-size:15px;line-height:1.7;}
.piede p{margin:0;}
.piede .nome{font-size:20px;font-weight:600;letter-spacing:.06em;}
.piede .coll{margin:2px 0 16px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;}

/* Pagina dell'offerta */
.briciole{padding-top:22px;font-size:15px;}
.offerta-testa{text-align:center;padding-top:34px;padding-bottom:36px;}
.offerta-testa h1{margin:0;font-size:4.2em;font-weight:600;line-height:1.05;text-wrap:balance;}
.etichette{margin-top:22px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;list-style:none;padding:0;font-size:15px;letter-spacing:.1em;text-transform:uppercase;}
.etichette li{padding:7px 14px;border-radius:var(--raggio);border:1px solid var(--linea);}
.offerta-foto{border-radius:var(--raggio);width:100%;max-height:420px;object-fit:cover;}
.colonne{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start;padding-top:56px;padding-bottom:80px;}
.testo{font-size:19px;line-height:1.7;}
.testo h2{margin:0 0 14px;font-size:2em;font-weight:600;line-height:1.15;}
.testo h3{margin:34px 0 10px;font-size:18px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;}
.testo p{margin:0 0 16px;}
.testo ul{margin:0;padding-left:22px;}
.modulo{border-radius:var(--raggio);background:var(--sabbia-chiara);padding:32px 30px;position:sticky;top:20px;}
.modulo h2{margin:0;font-size:2em;font-weight:600;line-height:1.15;text-align:center;}
.modulo .nota{margin:8px 0 24px;text-align:center;font-size:16px;color:var(--secondario);}
.modulo form{display:flex;flex-direction:column;gap:16px;}
.due{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.campo{display:flex;flex-direction:column;gap:6px;font-size:15px;letter-spacing:.08em;text-transform:uppercase;}
.campo input,.campo textarea,.campo select{font-size:18px;letter-spacing:0;text-transform:none;padding:11px 14px;border-radius:var(--raggio);border:1px solid var(--linea-forte);background:var(--carta);}
.campo textarea{resize:vertical;min-height:110px;line-height:1.5;}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:2px solid var(--oro);outline-offset:0;border-color:var(--oro);}
.campo .aiuto{font-size:14px;letter-spacing:0;text-transform:none;color:var(--secondario);}
.file{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;border-radius:var(--raggio);border:1px dashed rgba(30,30,30,.45);background:var(--carta);text-transform:none;letter-spacing:0;text-align:center;cursor:pointer;}
.file:hover,.file:focus-within{border-color:var(--oro-scuro);}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.file .nome-file{font-size:18px;}
.file .limiti{font-size:14px;color:var(--secondario);}
.spunta{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;}
.spunta input{margin-top:4px;width:18px;height:18px;accent-color:var(--inchiostro);flex-shrink:0;}
.trappola{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.esito{font-size:16px;line-height:1.5;min-height:0;}
.esito.errore{color:var(--errore);}
.esito.ok{color:var(--ok);}
.privacy-nota{margin:18px 0 0;font-size:14px;line-height:1.6;color:var(--secondario);text-align:center;}

/* Pagine di testo (informativa, grazie) */
.pagina-testo{max-width:760px;margin:0 auto;padding-top:56px;padding-bottom:80px;font-size:19px;line-height:1.7;}
.pagina-testo h1{font-size:2.7em;font-weight:600;line-height:1.1;margin:0 0 8px;text-align:center;}
.pagina-testo h2{font-size:22px;font-weight:600;margin:34px 0 8px;}
.pagina-testo .sotto{text-align:center;font-style:italic;margin:0 0 30px;}
.pagina-testo ul{padding-left:22px;}
.centro{text-align:center;}

@media (prefers-reduced-motion: reduce){
  .bottone,.bottone-oro,.filtro{transition:none;}
  .bottone:active,.bottone-oro:active,.filtro:active{transform:none;}
}
@media (max-width:980px){
  .griglia{grid-template-columns:repeat(2,minmax(0,1fr));}
  .colonne{grid-template-columns:1fr;gap:40px;}
  .modulo{position:static;}
  .strutture ul{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  body{font-size:18px;}
  .pad{padding-left:16px;padding-right:16px;}
  .strutture{margin:0 16px;}
  .menu .solo-ampio{display:none;}
  .menu{gap:12px;}
  .menu .bottone{padding:9px 14px;font-size:13px;letter-spacing:.1em;}
  .marchio b{font-size:22px;}
  .marchio span{font-size:10px;letter-spacing:.16em;white-space:nowrap;}
  .eroe{padding-top:40px;}
  .eroe h1,.offerta-testa h1{font-size:2.6em;}
  .eroe .intro{font-size:19px;}
  .sezione h2{font-size:2.2em;}
  .griglia{grid-template-columns:1fr;}
  .due{grid-template-columns:1fr;}
  .modulo{padding:26px 18px;}
  .strutture ul{grid-template-columns:1fr;}
  .fascia{font-size:11px;letter-spacing:.12em;}
}

/* Foto aggiuntive della struttura e presentazione (Strutture sul sito, in HR) */
.galleria{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.galleria img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--raggio);}
.struttura-intro{margin-top:18px;margin-bottom:0;color:var(--secondario);font-size:18px;max-width:70ch;}
