/* ==================================================
   AUREN — BODY RESPONSIVO (OVERRIDES + AMARRAÇÕES)
   ================================================== */

/* ---------- 0) VARIÁVEIS (desktop-first) ---------- */
:root{
  --ws-max: 1400px;          
  --ws-inner: var(--ws-max); 
  --ws-gutter: 20px;         
}
@media (max-width:600px){ :root{ --ws-gutter:14px; } }

/* ---------- 1) CONTAINERS BASE (mesma largura útil) ---------- */
#world-showcase .main-title-container,
#item-forjas .image-content-block,
#item-forjas .text-content-block,
#item-batalhas .image-content-block,
#item-batalhas .text-content-block,
.specializations-container,
.partners-section .container{
  max-width: var(--ws-inner);
  margin-inline: auto;
  padding-inline: var(--ws-gutter);
  box-sizing: border-box;
}

/* ==================================================
   2) AMARRAÇÕES DE LARGURA (apenas ≤1499px)
   ================================================== */
@media (max-width:1700px){ :root{ --ws-inner:1400px; } }
@media (max-width:1500px){
  :root{ --ws-inner:1400px; }
  #world-showcase{ padding:20px 20px !important; }
}
@media (max-width:1400px){ :root{ --ws-inner:1100px; } }
@media (max-width:1200px){ :root{ --ws-inner:1000px; } }
@media (max-width:1000px){ :root{ --ws-inner:900px; } }
@media (max-width:900px) { :root{ --ws-inner:800px; } }
@media (max-width:768px) { :root{ --ws-inner:680px; } }
@media (max-width:600px) { :root{ --ws-inner:540px; } }
@media (max-width:420px) { :root{ --ws-inner:360px; } }

/* ---------- 2.1) GRID 1001–1499px ---------- */
@media (min-width:1001px) and (max-width:1499px){
  .class-slider-section{ padding-inline: var(--ws-gutter); }
  .class-slider-section .slide-container{
    max-width: var(--ws-inner) !important;
    margin-inline: auto !important;
    width: 100% !important;
    position: relative; 
    box-sizing: border-box;
  }
  .class-slider-section .slide-container .info-layer{
    left: var(--ws-gutter) !important;
    right: auto !important;
    transform: none !important;
    width: auto !important;
  }
  .class-slider-section .info-layer .info-content{
    max-width: min(52ch, 680px) !important;
  }
  .class-slider-section .class-nav-thumbnails{
    max-width: var(--ws-inner) !important;
    margin-inline: auto !important;
    padding-inline: var(--ws-gutter) !important;
    width: 100% !important;
    left: 0 !important; right: 0 !important;
    transform: none !important;
    box-sizing: border-box;
  }
  #item-batalhas .image-content-block,
  #item-batalhas .text-content-block{
    max-width: var(--ws-inner) !important;
    margin-inline: auto !important;
    padding-inline: var(--ws-gutter) !important;
    box-sizing: border-box;
  }
}
/* ==================================================
   3) WORLD SHOWCASE — TÍTULO & SUBTEXTO
   ================================================== */
@media (max-width:1200px){
  #world-showcase .main-title-container{
    display:flex !important; flex-direction:column;
    align-items:center; text-align:center;
  }
  #world-showcase .main-title-container h1{
    display:inline-block; white-space:nowrap;
    letter-spacing:.2px; margin:0 0 8px;
    font-size:clamp(28px,4.2vw,42px); line-height:1.1;
    text-wrap:balance;
  }
  #world-showcase .main-title-container p{
    display:block !important;
    -webkit-line-clamp:unset !important; line-clamp:unset !important;
    -webkit-box-orient:unset !important; overflow:visible !important;
    white-space:normal !important; text-overflow:clip !important;
    max-width:clamp(42ch,58vw,62ch); margin:0 auto;
    font-size:clamp(14px,1.6vw,18px); line-height:1.35; text-wrap:balance;
  }
}
@media (max-width:1000px){
  #world-showcase .main-title-container p{ max-width:clamp(38ch,70vw,58ch); }
}
@media (max-width:600px){
  #world-showcase .main-title-container{ padding-inline:10px; }
  #world-showcase .main-title-container p{
    max-width:92vw; font-size:clamp(12.5px,3.1vw,14.5px); line-height:1.4;
  }
}
@media screen and (min-width:361px) and (max-width:416px){
  #world-showcase .main-title-container{ padding-inline:8px; }
  #world-showcase .main-title-container h1{
    white-space:nowrap !important;
    font-size:clamp(20px,5.6vw,26px); line-height:1.06; letter-spacing:.2px; margin:0 0 6px;
  }
  #world-showcase .main-title-container p{
    max-width:clamp(38ch,86vw,58ch);
    font-size:clamp(12.5px,3.2vw,14.5px); line-height:1.4; margin:0 auto; text-align:center; text-wrap:balance;
  }
}
@media (max-width:360px){
  #world-showcase .main-title-container h1{ font-size:clamp(17px,5.2vw,22px); line-height:1.04; }
  #world-showcase .main-title-container p{ font-size:12px; }
}

/* ==================================================
   4) FORJAS — GALERIA + TEXTO (com pilha em ≤1400px)
   ================================================== */
@media (max-width:1400px){
  #item-forjas{
    display:flex !important; flex-direction:column !important; gap:14px !important;
  }
  #item-forjas .image-content-block,
  #item-forjas .text-content-block{
    width:100% !important;
    max-width:var(--ws-inner) !important;
    margin-inline:auto !important;
    padding-inline:var(--ws-gutter) !important;
    box-sizing:border-box !important;
    flex:0 1 auto !important; height:auto !important; min-height:0 !important;
  }
  #item-forjas .image-content-block{
    order:-1 !important; /* imagem primeiro */
    padding-top:0 !important; padding-bottom:0 !important;
    margin-bottom:clamp(6px,1.2vw,10px) !important; overflow:visible;
  }
  /* botão alinhado ao texto */
  #item-forjas .text-content-block .btn-big,
  #item-forjas .text-content-block .cta-link-outline{ margin-left:0 !important; }
  .npc-gallery{ align-items:stretch; }
}
/* 1101–1200px */
@media (min-width:1101px) and (max-width:1200px){
  .npc-gallery .npc-card img{ height:320px !important; }
}

/* 1001–1100px */
@media (min-width:1001px) and (max-width:1100px){
  .npc-gallery .npc-card img{ height:300px !important; }
}

/* ≤1000px: sobem um pouco também */
@media (max-width:1000px){
  .npc-gallery .npc-card img{ height:clamp(150px, 34vw, 220px) !important; }
}

@media (max-width:1200px){ .npc-gallery .npc-card img{ height:clamp(170px,20vw,260px); } }
@media (max-width:1000px){
  #world-showcase .main-title-container{ margin-bottom:clamp(12px,3.6vw,32px) !important; }
  #item-forjas.showcase-item, #item-forjas.showcase-item.is-visible{ padding-top:clamp(80px,2.2vw,16px) !important; margin-top:0 !important; }
  #world-showcase .showcase-item{ padding-top:clamp(8px,2.2vw,16px) !important; margin-top:0 !important; }
  #item-forjas, #item-forjas .image-content-block, #item-forjas .text-content-block{ padding-top:0 !important; margin-top:0 !important; }
  #item-forjas .image-content-block{ height:auto !important; padding-bottom:0 !important; }
  #item-forjas .npc-gallery .npc-card img{ height:clamp(130px,32vw,200px) !important; object-fit:cover; border-radius:6px; }
}
@media (max-width:600px){ #item-forjas .npc-gallery .npc-card img{ height:clamp(120px,44vw,190px) !important; } }
@media (max-width:500px){ .npc-gallery .npc-card:nth-child(4){ display:none !important; } }

/* ==================================================
   5) BATALHAS — BG + PERSONAGEM (camadas)
   ================================================== */
@media (max-width:1200px){
  #item-batalhas .showcase-image-stage{
    position:relative; width:100%; height:0; padding-bottom:52%; overflow:hidden;
  }
  #item-batalhas .layered-bg{
    position:absolute; left:0; bottom:0; width:100%; height:50%;
    object-fit:cover; background-position:bottom; border-radius:4px;
  }
  #item-batalhas .layered-fg{
    position:absolute; left:50%; transform:translateX(-50%);
    bottom:0; height:100%; width:auto; z-index:2;
  }
}
@media (max-width:992px){
  #item-batalhas .showcase-image-stage{ padding-bottom:56.25%; }
  #item-batalhas .layered-bg{ height:50%; }
  #item-batalhas .layered-fg{ height:95%; }
}
@media (max-width:768px){
  #item-batalhas .text-content-block{ width:100%; text-align:left; margin-top:14px; }
  #item-batalhas .layered-bg{ border-radius:3px; }
  #item-batalhas .layered-fg{ height:90%; }
}
@media (max-width:560px){
  #item-batalhas .showcase-image-stage{ padding-bottom:62%; }
  #item-batalhas .layered-bg{ height:48%; }
  #item-batalhas .layered-fg{ height:88%; }
}

/* ==================================================
   6) TIPOGRAFIA — Forjas & Batalhas (h2 + p)
   ================================================== */
@media (max-width:1400px){
  #item-forjas .text-content-block h2,
  #item-batalhas .text-content-block h2{
    white-space:nowrap !important; word-break:keep-all; hyphens:manual;
    overflow:hidden; text-overflow:clip;
    font-size:clamp(24px,3.2vw,32px); line-height:1.08; letter-spacing:.2px;
  }
  #item-forjas .text-content-block p,
  #item-batalhas .text-content-block p{
    font-size:clamp(14px,1.5vw,16px); line-height:1.5;
    margin-bottom:clamp(10px,1.2vw,14px);
  }
}
@media (max-width:1200px){
  #item-forjas .text-content-block h2, #item-batalhas .text-content-block h2{
    font-size:clamp(22px,3.2vw,28px); line-height:1.1;
  }
  #item-forjas .text-content-block p, #item-batalhas .text-content-block p{
    font-size:clamp(13px,1.6vw,15.5px); line-height:1.5;
  }
}
@media (max-width:1000px){
  #item-forjas .text-content-block h2, #item-batalhas .text-content-block h2{
    font-size:clamp(20px,3.6vw,24px); line-height:1.1;
  }
  #item-forjas .text-content-block p, #item-batalhas .text-content-block p{
    font-size:clamp(12.5px,1.9vw,14.5px); line-height:1.46;
  }
}
@media (max-width:600px){
  #item-forjas .text-content-block h2, #item-batalhas .text-content-block h2{
    font-size:clamp(18px,5.2vw,22px); line-height:1.12; letter-spacing:.15px;
  }
  #item-forjas .text-content-block p, #item-batalhas .text-content-block p{
    font-size:clamp(12px,3.4vw,13.5px); line-height:1.44;
  }
}
@media (max-width:400px){
  #item-forjas .text-content-block h2, #item-batalhas .text-content-block h2{
    font-size:clamp(16px,5vw,20px); letter-spacing:.1px;
  }
}

/* ==================================================
   7) CTA GENÉRICO
   ================================================== */
@media (max-width:1024px){ .cta-link-outline{ padding:10px 22px; font-size:.85em; } }
@media (max-width:768px) { .cta-link-outline{ padding:9px 20px;  font-size:.82em; } }
@media (max-width:500px) { .cta-link-outline{ --btn-py:8px; --btn-px:8px; --btn-fz:11px; } }

/* ==================================================
   8) SPECIALIZATIONS
   ================================================== */
@media (max-width:1200px){
  #specializations-showcase{ padding:40px 0 120px; }
  .specializations-container{ gap:28px; }
  .spec-text-content{ padding:0 36px; }
  .spec-text-content h2{ font-size:2.2em; }
  .spec-card-main{ height:520px; }
  .spec-card-column-right .spec-card-secondary:first-child{ height:320px; }
}
@media (max-width:1024px){
  .specializations-container{ flex-direction:column; align-items:stretch; }
  .spec-card-main, .spec-text-content, .spec-card-column-right{ flex-basis:auto; max-width:100%; }
  .spec-text-content{ padding:0; }
  .spec-card-column-right{ gap:24px; }
  .spec-card-column-right .spec-card-secondary{ max-width:100%; }
  .spec-card-column-right .spec-card-secondary:last-child{ margin-bottom:0; align-self:stretch; }
}
@media (max-width:768px){
  #specializations-showcase{ padding:34px 0 90px; }
  .spec-text-content h2{ font-size:2em; }
  .spec-text-content p{ font-size:1em; }
  .spec-card-main{ height:460px; }
  .spec-card-column-right .spec-card-secondary:first-child{ height:280px; }
}
@media (max-width:560px){
  .spec-card-main{ height:400px; }
  .spec-card-column-right .spec-card-secondary:first-child{ height:240px; }
}

/* ==================================================
   9) CLASS SLIDER — ALTURAS POR FAIXA
   ================================================== */
/* ≥1001px */
@media (min-width:1001px){
  .class-slider-section{
    height: clamp(720px, 82vh, 920px) !important;
    min-height: 0 !important;
  }
}
/* ≤1000px*/
@media (max-width:1000px){
  .class-slider-section{
    height: clamp(540px, 72vh, 680px) !important;
    min-height: 0 !important;
  }
}
/* 1100–1499px*/
@media (min-width:1100px) and (max-width:1499px){
  .class-slider-section .slide-container{ position:relative !important; }

  .class-slider-section .class-nav-thumbnails{
    position:absolute !important;
    bottom:clamp(14px, 2.4vh, 24px) !important;
    left:50% !important; transform:translateX(-50%) !important;
    max-width:var(--ws-inner) !important; width:100% !important;
    padding-inline:var(--ws-gutter) !important;
  }
  .class-slider-section .class-nav-thumbnails > .btn-big{
    position:absolute !important;
    left:50% !important; transform:translateX(-50%) !important;
    top:0 !important; margin:0 !important;
  }

  /* título + texto alinhados ao grid (nada de “grudar” na borda esquerda) */
  .class-slider-section .slide-container .info-layer{
    left: var(--ws-gutter) !important; right:auto !important;
    transform:none !important; text-align:left !important;
  }
  .class-slider-section .info-layer .info-content{
    align-items:flex-start !important; text-align:left !important;
    max-width:min(52ch, 680px) !important;
  }
}

/* ≤1000px */
@media (max-width:1000px){
  .class-slider-section .slide-container{ position:relative !important; }
  .class-slider-section .slide-container .info-layer{
    top:clamp(12px, 3.5vw, 28px) !important;
    bottom:auto !important;                
    left:50% !important; transform:translateX(-50%) !important; 
  }
}

/* ---------- 9.1) MOBILE (≤600px) ---------- */
@media (max-width:600px){
  .class-slider-section{ height: clamp(420px, 78vh, 520px) !important; }
  .class-slider-section .slide-container{ position: relative !important; height: 100% !important; overflow: hidden !important; }
  .class-slider-section .slide-container .character-layer{
    position:absolute !important; inset:0 !important; margin:auto !important;
    transform:none !important; height:100% !important; width:auto !important;
    max-height:100% !important; overflow:hidden !important; z-index:2 !important;
  }
  .class-slider-section .character-frame{
    height: clamp(160px, 60%, 280px) !important; max-height:100% !important;
    width:auto !important; aspect-ratio: 2/3 !important; margin:auto !important; overflow:hidden !important;
  }
  .class-slider-section .character-frame img,
  .character-frame .guerreiro-img,
  .character-frame .mago-img,
  .character-frame .arqueiro-img,
  .character-frame .sacerdote-img,
  .character-frame .barbaro-img,
  .character-frame .feiticeira-img{
    display:block !important; height:100% !important; width:auto !important; max-height:100% !important;
    object-fit:contain !important; object-position:center bottom !important;
  }
  /* sanity */
  .class-slider-section .slide-container .character-layer{
    bottom:auto !important; left:auto !important; right:auto !important; transform:none !important;
  }
}
@media (max-width:480px){
  .class-slider-section{ height: clamp(390px, 76vh, 480px) !important; }
  .class-slider-section .character-frame{ height: clamp(150px, 56%, 240px) !important; }
}
@media (max-width:420px){ .class-slider-section .character-frame{ height: clamp(140px, 54%, 220px) !important; } }
@media (max-width:375px){
  .class-slider-section{ height: clamp(360px, 72svh, 460px) !important; --btn-gap-mobile: clamp(8px, 1.6vh, 12px); }
  .class-slider-section .character-frame{ height: clamp(130px, 52%, 210px) !important; }
}

/* ---------- 9.2) CLASS SLIDER — MOBILE/TABLET (375–1000px) ---------- */
@media (min-width:375px) and (max-width:1000px){
  .class-slider-section{ --btn-gap-mobile: clamp(14px, 2.2vh, 18px); }

  .class-slider-section .slide-container .info-layer{
    position:absolute !important; top:clamp(12px, 3.5vw, 28px) !important;
    left:50% !important; transform:translateX(-50%) !important;
    width:92% !important; max-width:760px !important; text-align:center !important; z-index:4 !important;
  }
  .class-slider-section .slide-container .info-layer .info-content{
    width:100% !important; margin:0 auto !important; padding:0 !important;
    display:flex !important; flex-direction:column !important; align-items:center !important;
    gap:clamp(6px, 1.4vw, 12px) !important; text-align:center !important;
  }
  .class-slider-section .info-content .class-name{ margin:0 !important; font-size:clamp(28px, 6.4vw, 44px) !important; line-height:1.08 !important; }
  .class-slider-section .info-content .class-description{ max-width:52ch !important; font-size:clamp(12px, 2.6vw, 15px) !important; line-height:1.38 !important; margin:0 !important; }
  .class-slider-section .info-content .link-more{ display:inline-block !important; margin:clamp(6px, 1.4vw, 10px) auto 0 !important; }

  .class-slider-section .slide-container .symbol-layer{ display:none !important; }

  .class-slider-section .slide-container .character-layer{
    top:50% !important; left:50% !important; bottom:auto !important;
    transform:translate(-50%, -50%) !important; width:clamp(120px, 34vw, 200px) !important; height:auto !important; z-index:2 !important;
  }
  .class-slider-section .character-frame{ width:100% !important; height:auto !important; }
  .class-slider-section .character-frame img{ width:100% !important; height:auto !important; object-fit:contain !important; object-position:center center !important; }

  .class-slider-section .class-nav-thumbnails{
    position:absolute !important; left:50% !important; transform:translateX(-50%) !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    width:min(94%, 940px) !important; max-width:940px !important;
    display:flex !important; gap:clamp(8px, 2.4vw, 12px) !important;
    padding:0 6px !important; margin:0 !important; background:transparent !important; box-shadow:none !important; border:0 !important;
    -webkit-overflow-scrolling:touch; scrollbar-width:none; overflow-x:auto !important; overflow-y:visible !important; z-index:10 !important;
    --btn-h:48px; padding-top:calc(var(--btn-h) + var(--btn-gap-mobile)) !important;
  }
  .class-slider-section .class-nav-thumbnails::-webkit-scrollbar{ display:none; }
  .class-slider-section .class-nav-thumbnails .thumbnail-item{
    width:clamp(48px, 12vw, 64px) !important; height:clamp(48px, 12vw, 64px) !important; border-width:2px !important; flex:0 0 auto !important;
  }
  .class-slider-section .class-nav-thumbnails > .btn-big{
    position:absolute !important; left:50% !important; top:0 !important; transform:translateX(-50%) !important; z-index:11 !important;
    min-width:clamp(100px, 54vw, 250px) !important; padding-inline:clamp(18px, 4vw, 28px) !important; margin:0 !important; display:inline-flex !important;
  }
}
@media (min-width:1001px) and (max-width:1400px){
  .class-slider-section .class-nav-thumbnails{
    --btn-h: 100px;               
    --btn-gap-desktop: 10px;   
    padding-top: calc(var(--btn-h) + var(--btn-gap-desktop)) !important;
    padding-block-start: calc(var(--btn-h) + var(--btn-gap-desktop)) !important;
  }
  .class-slider-section .class-nav-thumbnails > .btn-big{
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    margin-top: 0 !important;   
  }
}
@media (max-width: 374.98px){

  /* altura geral + saneamento */
  .class-slider-section{
    height: clamp(340px, 72svh, 440px) !important;
    min-height: 0 !important;
    --btn-gap-mobile: clamp(8px, 1.8vh, 12px);
  }
  .class-slider-section .slide-container{
    position: relative !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  /* INFO: centralizado e dimensionado para telas estreitas */
  .class-slider-section .slide-container .info-layer{
    position: absolute !important;
    top: clamp(10px, 3.8vw, 22px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 92% !important;
    max-width: 720px !important;
    text-align: center !important;
    z-index: 4 !important;
  }
  .class-slider-section .slide-container .info-layer .info-content{
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: clamp(6px, 1.6vw, 12px) !important;
    text-align: center !important;
  }
  .class-slider-section .info-content .class-name{
    margin: 0 !important;
    font-size: clamp(24px, 7.4vw, 36px) !important;
    line-height: 1.08 !important;
  }
  .class-slider-section .info-content .class-description{
    max-width: 52ch !important;
    font-size: clamp(12px, 3.2vw, 14px) !important;
    line-height: 1.38 !important;
    margin: 0 !important;
  }
  .class-slider-section .info-content .link-more{
    display: inline-block !important;
    margin: clamp(6px, 1.6vw, 10px) auto 0 !important;
  }

  /* PERSONAGEM: centraliza e limita tamanho proporcional */
  .class-slider-section .slide-container .character-layer{
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: clamp(112px, 38vw, 180px) !important;
    height: auto !important;
    z-index: 2 !important;
  }
  .class-slider-section .character-frame{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
  }
  .class-slider-section .character-frame img,
  .character-frame .guerreiro-img,
  .character-frame .mago-img,
  .character-frame .arqueiro-img,
  .character-frame .sacerdote-img,
  .character-frame .barbaro-img,
  .character-frame .feiticeira-img{
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }

  /* THUMBNAILS + BOTÃO GRANDE: ancorados no rodapé */
  .class-slider-section .class-nav-thumbnails{
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    width: min(94%, 900px) !important;
    max-width: 900px !important;
    display: flex !important;
    gap: clamp(6px, 2.8vw, 10px) !important;
    padding: 0 6px !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overflow-x: auto !important;
    overflow-y: visible !important;
    z-index: 10 !important;

    --btn-h: 44px;
    padding-top: calc(var(--btn-h) + var(--btn-gap-mobile)) !important;
  }
  .class-slider-section .class-nav-thumbnails::-webkit-scrollbar{ display: none; }

  .class-slider-section .class-nav-thumbnails .thumbnail-item{
    width: clamp(44px, 13vw, 58px) !important;
    height: clamp(44px, 13vw, 58px) !important;
    border-width: 2px !important;
    flex: 0 0 auto !important;
  }

  .class-slider-section .class-nav-thumbnails > .btn-big{
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 11 !important;
    min-width: clamp(110px, 64vw, 230px) !important;
    padding-inline: clamp(16px, 5vw, 26px) !important;
    margin: 0 !important;
    display: inline-flex !important;
  }
}

/* micro para ≤340px (iPhone SE e afins) */
@media (max-width: 339.98px){
  .class-slider-section{
    height: clamp(330px, 72svh, 420px) !important;
    --btn-gap-mobile: clamp(6px, 1.6vh, 10px);
  }
  .class-slider-section .info-content .class-name{
    font-size: clamp(22px, 7.8vw, 32px) !important;
  }
  .class-slider-section .class-nav-thumbnails{
    --btn-h: 42px;
  }
}
/* ==================================================
   10) PARCEIROS (rodapé)
   ================================================== */
@media (max-width:1200px){
  .partners-section{ padding:80px 0; }
  .partners-section .section-title{ font-size:2.2em; }
}
@media (max-width:900px){
  .partners-section{ padding:64px 0; }
  .partners-section .section-title{ font-size:2em; }
  .partners-section .section-subtitle{ font-size:1em; max-width:520px; }
  .final-cta{ margin-top:70px; }
  .final-cta .btn-big{ padding:20px 120px; }
}
@media (max-width:640px){
  .partners-section{ padding:54px 0; }
  .partners-section .section-title{ font-size:1.8em; }
  .partners-section .section-subtitle{ font-size:.95em; max-width:480px; }
  .final-cta{ margin-top:56px; }
  .final-cta .btn-big{ padding:18px 90px; font-size:1.05em; }
}
@media (max-width:480px){
  .partners-section{ padding:46px 0; }
  .partners-section .section-title{ font-size:1.6em; }
  .partners-section .section-subtitle{ font-size:.92em; }
  .final-cta{ margin-top:44px; }
  .final-cta .btn-big{ padding:16px 70px; font-size:1em; }
}
@media (max-width:768px){
  .partners-section .section-title{ font-size:clamp(20px, 6.2vw, 28px) !important; }
  .partners-section .section-subtitle{
    font-size:clamp(12px, 3.2vw, 14px) !important;
    max-width:48ch; margin-inline:auto;
  }
  .final-cta .btn-big{ padding: 12px 28px !important; font-size:.9rem !important; }
}
@media (max-width:480px){
  .partners-section .section-title{ font-size:clamp(18px, 7.6vw, 22px) !important; }
  .partners-section .section-subtitle{ font-size:12px !important; }
  .final-cta .btn-big{ padding:10px 80px !important; font-size:.85rem !important; }
}

@media (max-width:900px){
  .main-footer .footer-links-grid,
  .main-footer .footer-divider{
    display: none !important;
  }
  .main-footer .footer-social{
    display: flex;
    justify-content: center;
    gap: clamp(10px, 4vw, 18px);
    margin: 0 auto clamp(12px, 3vw, 18px);
  }
  .main-footer .footer-social a{
    display: grid; place-items: center;
    width: clamp(36px, 8vw, 44px);
    height: clamp(36px, 8vw, 44px);
  }
  .main-footer .footer-social i{
    font-size: clamp(18px, 5.2vw, 24px);
    line-height: 1;
  }
  .main-footer .footer-bottom{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(8px, 1.8vw, 12px);
    margin-top: 0;
  }
  .main-footer .footer-branding{
    order: 2;                               
    display: flex;
    align-items: center;
    gap: clamp(8px, 2vw, 12px);
  }
  .main-footer .footer-logo img{
    height: clamp(26px, 6vw, 34px);
    width: auto;
  }
  .main-footer .footer-rating-seal{
    width: clamp(24px, 5.8vw, 32px);
    height: clamp(24px, 5.8vw, 32px);
    display: grid; place-items: center;
    border-radius: 4px;
    background: #E0B26B; color: #000; font-weight: 700;
  }
  .main-footer .footer-rating-seal span{
    font-size: clamp(12px, 3.6vw, 14px);
    line-height: 1;
  }
  .main-footer .footer-copyright{
    order: 3;
  }
  .main-footer .footer-copyright p{
    margin: 4px 0 0;
    font-size: clamp(12px, 3.4vw, 13.5px);
    opacity: .8;
  }
}
