/*
 * Pagina Consulenza SEO GEO - AG2 Web Agency
 * Child theme Hello Elementor. Caricato solo dal template "Consulenza SEO GEO".
 *
 * Sistema responsive: le misure originali (slide 1920px) sono moltiplicate per --u.
 * --u vale 0.6px da 1440px in su e scende fino a 0.32px sui dispositivi piccoli.
 * I testi hanno una dimensione minima leggibile (max(...) inline).
 */

@font-face{font-family:"Avantique";src:url("../fonts/avantique-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Avantique";src:url("../fonts/avantique-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Outfit";src:url("../fonts/outfit-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Work Sans";src:url("../fonts/worksans-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

.ag-seogeo{
  --u: clamp(0.32px, 0.0417vw, 0.6px);
  --ag-max: 1320px;
  --ag-gutter: max(20px, calc(var(--u) * 110), calc((100% - var(--ag-max)) / 2));
  display:block;
  width:100%;
  overflow-x:clip;
  background:#FFFFFF;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
.ag-seogeo *,
.ag-seogeo *::before,
.ag-seogeo *::after{box-sizing:border-box}

/* reset a specificita' zero: gli stili inline restano prioritari */
:where(.ag-seogeo) :where(h1,h2,h3,p){margin:0;padding:0}
:where(.ag-seogeo) img{max-width:100%}

/* ---------- sezioni (ex slide) ---------- */
.ag-seogeo .ag-slide{
  position:relative;
  width:100%;
  gap:calc(var(--u) * 56);
  padding-left:var(--ag-gutter) !important;
  padding-right:var(--ag-gutter) !important;
  scroll-margin-top:100px;
}
.ag-seogeo .ag-slide > *{min-width:0}

@media (min-width:1025px){
  .ag-seogeo .ag-slide{min-height:calc(var(--u) * 1080)}
}

/* ---------- titoli: neutralizza gli stili globali del Kit Elementor ---------- */
.ag-seogeo .ag-slide h1,
.ag-seogeo .ag-slide h2,
.ag-seogeo .ag-slide h3{margin:0;padding:0;text-transform:none;line-height:1.2}
.ag-seogeo .ag-slide h1,
.ag-seogeo .ag-slide h2{line-height:1.1}

/* ---------- link ---------- */
.ag-seogeo a.ag-link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;transition:opacity .2s}
.ag-seogeo a.ag-link:hover,
.ag-seogeo a.ag-link:focus-visible{opacity:.75}
.ag-seogeo a.ag-link:focus-visible{outline:2px solid #DDDC00;outline-offset:3px}

/* ---------- tabelle comparative ---------- */
.ag-seogeo .ag-table-wrap{width:100%}
.ag-seogeo .ag-table > *{min-width:0}

/* ================= TABLET ================= */
@media (max-width:1100px){
  .ag-seogeo .ag-cols-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;row-gap:calc(var(--u) * 72) !important}
  .ag-seogeo .ag-deco{display:none !important}
}
@media (max-width:1024px){
  .ag-seogeo .ag-cols-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:none !important}
  .ag-seogeo .ag-slide{gap:36px}
}

/* ================= MOBILE GRANDE ================= */
@media (max-width:860px){
  .ag-seogeo .ag-cols-2{grid-template-columns:minmax(0,1fr) !important;row-gap:32px !important}
  .ag-seogeo .ag-table-wrap{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    margin-right:calc(var(--ag-gutter) * -1);
    padding-right:var(--ag-gutter);
    scrollbar-width:thin;
  }
  .ag-seogeo .ag-table{min-width:720px}
  .ag-seogeo .ag-table-wrap::after{
    content:"Scorri la tabella \2192";
    display:block;margin-top:12px;
    font:600 13px/1.2 Outfit,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#55565A;
    position:sticky;left:0;
  }
  .ag-seogeo .ag-row{flex-wrap:wrap}
  /* glossario e liste interne: termine sopra, definizione sotto */
  .ag-seogeo .ag-grid .ag-cols-2{row-gap:6px !important}
}

/* ================= MOBILE ================= */
@media (max-width:680px){
  .ag-seogeo .ag-cols-3,
  .ag-seogeo .ag-cols-4{grid-template-columns:minmax(0,1fr) !important;row-gap:28px !important}
  .ag-seogeo .ag-slide{padding-top:56px !important;padding-bottom:56px !important;gap:32px}
  .ag-seogeo .ag-table{min-width:640px}
  .ag-seogeo .ag-keep{gap:10px !important}
}

@media (prefers-reduced-motion:reduce){
  .ag-seogeo *{transition:none !important}
}
