/*-------- Home --------*/

.homepage header{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0 20px !important;
}

.homepage header figcaption{
    display: block !important;
    font-size: 1em;
    color: #fff;
    font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0 !important;
}

.homepage header p{
    font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1em;
    color: #fff;
    margin: 0 !important;
}

.homepage header p a{
    font-family: 'Ubuntu Bold', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: bold;
    font-size: 1em;
    color: #FFD77F;
    text-decoration: underline;
}

.homepage .col{
    min-height: 100vh !important;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    padding: 20px 20px !important;
    text-align: center;
    position: relative;
}

.homepage .col figure img{
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    opacity: .1;
}

.homepage h1,
.homepage h2,
.homepage p {
    position: relative;
    z-index: 1;
}

.homepage .col:nth-of-type(1){
    background-color: #833AB4;
    border-bottom: 10px solid transparent;
    border-image: linear-gradient(to right, #FCAF45, #FFD77F);
    border-image-slice: 1;
}

.homepage h1{
    font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 2em;
    color: #fff;
    margin: 0 !important;
}

.homepage .col:nth-of-type(1) p:nth-of-type(1){
    font-family: 'Kanit Medium', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.25em;
    color: #fff;
    line-height: 1.1em;
}

.homepage .col:nth-of-type(1) p:nth-of-type(2){
    font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1em;
    color: #fff;
    margin: 0 !important;
}

.homepage aside{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 75px;
    top: calc(100vh - 150px);
    left: 0;
    text-align: center;
}

.homepage aside h2{
    font-family: 'Ubuntu Bold', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1em;
    color: #fff;
    margin: 0;
}

.homepage aside .btn{
    font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: bold;
    font-size: .9em;
    color: #fff;
    background-color: transparent !important;
    border: 2px solid #fff;
    border-radius: 30px;
    box-shadow: none !important;
    text-transform: none !important;
    line-height: 2.4em;
    margin-top: 5px;
}

.homepage .col:nth-of-type(2){
    background-color: #E1306C;
    border-top: 10px solid transparent;
    border-image: linear-gradient(to left, #FCAF45, #FFD77F);
    border-image-slice: 1;
}

.homepage .col:nth-of-type(2) h2{
    font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 2em;
    color: #fff;
    margin: 0 !important;
}

.homepage .col:nth-of-type(2) p:nth-of-type(1){
    font-family: 'Kanit Medium', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.25em;
    color: #fff;
    line-height: 1.1em;
}

.homepage .col:nth-of-type(2) p:nth-of-type(2){
    font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1em;
    color: #fff;
    line-height: 1.25em;
    margin: 0 !important;
}

.homepage .col div{
    width: 100%;
    float: left;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-top: 2em;
}

.homepage .col .btn{
    padding: 0 10px !important;
}

.homepage .col .btn:nth-of-type(1){
    font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.25em;
    color: #fff;
    box-shadow: none !important;
    text-transform: none !important;
    height: 45px;
    line-height: 2.1em;
    background: linear-gradient(to top, #FCAF45, #FFD77F);
    border: 4px solid transparent;
    border-image: linear-gradient(to bottom, #FCAF45, #FFD77F);
    border-image-slice: 1;
    width: 100%;
    margin-right: 10px;
}

.homepage .col .btn:nth-of-type(2){
    font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 1.25em;
    color: #fff;
    background-color: transparent !important;
    border: 3px solid #fff;
    box-shadow: none !important;
    text-transform: none !important;
    height: 45px;
    line-height: 2.2em;
    width: 100%;
}

.homepage footer{
    position: absolute;
    z-index: 1;
    width: 100%;
    left: 0;
    height: 50px;
    top: calc(200vh - 50px);
    text-align: center;
    background-color: rgba(131,58,180, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 8px solid #FFD77F;
}

.homepage footer p{
    margin: 0;
    color: #fff;
    font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
    font-size: .7em;
    line-height: 1.25em;
}

.homepage footer p strong{
    width: 100%;
    float: left;
    color: #FFD77F;
    font-size: 1.25em;
}

@media (min-width: 601px) {
    .homepage header{
        padding: 40px 5% !important;
    }

    .homepage header figcaption{
        font-size: 1.25em;
    }

    .homepage .col{
        padding: 40px 15% !important;
    }
}

@media (min-width: 993px) {
    .homepage header{
        padding: 60px 8% !important;
    }

    .homepage header figcaption{
        font-size: 1.5em;
    }

    .homepage .col{
        padding: 40px 8% !important;
    }

    .homepage .col:nth-of-type(1){
        text-align: left;
        border: none;
        border-right: 6px solid transparent;
        border-image: linear-gradient(to bottom, #FCAF45, #FFD77F);
        border-image-slice: 1;
    }

    .homepage .col:nth-of-type(2){
        text-align: right;
        border: none;
        border-left: 6px solid transparent;
        border-image: linear-gradient(to top, #FCAF45, #FFD77F);
        border-image-slice: 1;
    }

    .homepage .col:nth-of-type(1) div{
        justify-content: left;
    }

    .homepage .col:nth-of-type(2) div{
        justify-content: right;
        flex-direction: row-reverse;
    }

    .homepage .col:nth-of-type(2) .btn:nth-of-type(1){
        margin: 0px !important;
        margin-left: 10px !important;
    }

    .homepage .col .btn{
        padding: 0 1em !important;
        width: fit-content !important;
        font-size: 1em !important;
        height: 40px !important;
    }

    .homepage footer{
        top: auto;
        bottom: 0;
        border-top: none;
    }
}

/*-------- Menu --------*/

.menu, .menu .nav-wrapper{
    width: 100% !important;
    background-color: #242931 !important;
    height: 90px !important;
    display: flex;
    align-items: center;
    font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

header .brand-logo{
  width: auto;
  float: left;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

header .brand-logo img{
  width: 100%;
  height: 90px;
  object-fit: contain;
  object-position: left;
  padding: 20px;
}

@media (max-width: 992px) {
    .menu, .menu .nav-wrapper{
        justify-content: left;
    }

    header .brand-logo{
      width: 100%;
      float: left;
      position: absolute;
      top: 0;
      left: 20px;
      z-index: 1;
    }
}

.menu ul:not(.dropdown-content) li a{
    padding: 0 40px;
    line-height: 90px;
    outline: none !important;
}

.menu ul:not(.dropdown-content) li a:hover{
    background-color: #833AB4;
}

.menu .dropdown-content{
    background-color: #833AB4 !important;
}

.menu ul.dropdown-content li{
    border: none !important;
    background-color: #833AB4 !important;
}

.menu ul.dropdown-content li a{
    line-height: 1em;
    color: white !important;
    font-size: 1em !important;
    padding: 0px 20px;
    position: relative;
    top: 15px;
}

.menu .sidenav-trigger{
    height: 60px;
    font-size: 1.5em;
    color: #E1306C;
    line-height: 60px;
}

.menu .search-form{
    position: absolute;
    top: 25px;
    right: 10px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
    border: 2px solid #E1306C;
    border-radius: 30px;
    height: 35px !important;
}

.menu .search-form input{
    border: none !important;
    height: 25px !important;
    color: white !important;
    padding-left: 1em !important;
    outline: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    background-color: transparent !important;
    width: 150px !important;
    font-size: .9em !important;
    font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}

.menu .search-form button{
    background-color: transparent;
    color: #E1306C;
    border: none;
    margin-right: 10px;
}

.sidenav{
    background-color: #833AB4 !important;
    font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}

.sidenav li a{
    color: white !important;
}

.sidenav .collapsible-header {
    color: white;
    display: block;
    font-size: 1.1em;
    font-weight: 500;
    height: 48px;
    line-height: 48px;
    padding: 0 32px !important;
    border: none !important;
}

.sidenav .collapsible-header:focus {
    border: none !important;
    outline: none !important;
}

.sidenav .collapsible-body {
    background-color: transparent !important;
}

.sidenav .collapsible-body li {
    line-height: 1em !important;
    padding: 5px 0 !important;
}

.sidenav .collapsible-body a {
    color: white;
    display: block;
    font-size: 14px;
    height: auto !important;
    font-weight: 500;
    line-height: 1.5em;
    padding: 10px 0 !important;
    padding-left: 50px !important;
}

/* ===========================
   MEGA-MENU (desktop)
   =========================== */
.menu .menu-items{ display:flex; align-items:center; gap:18px; list-style:none; margin:0; padding:0; }
.menu .menu-items > li{ position:relative; }
.menu .nav-link{ background:none; border:0; color:#fff; font: inherit; cursor:pointer; display:inline-flex; align-items:center; gap:6px; height: 90px; }

/* container do dropdown */
.has-mega .mega{
  --mega-w: 880px;               /* largura fixa pedida */
  position:absolute;
  left:0; top:100%;
  width:var(--mega-w);
  max-width:min(95vw, var(--mega-w));
  margin-top:12px;
  background: #0f1620;           /* fundo escuro elegante */
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  box-shadow: 0 18px 40px rgba(0,0,0,.3);
  opacity:0; visibility:hidden; transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility 0s .18s;
  z-index: 50;
  pointer-events: none;
}
.has-mega.open .mega{
  opacity:1; visibility:visible; transform: translateY(0);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: auto;
}

/* grid interno: 2 colunas de links + aside direito */
.mega__inner{
  display:grid; grid-template-columns: 1fr 260px; gap:0;
}
.mega__cols{ padding:18px; }
.mega__aside{
  display:flex; align-items:center; justify-content:center;
  border-left:1px solid rgba(255,255,255,.08);
  padding:18px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.06));
  border-top-right-radius:14px; border-bottom-right-radius:14px;
}
.mega__aside img{ max-width:200px; height:auto; opacity:.95; }

/* listas em duas colunas */
.mega__list{ list-style:none; margin:0; padding:0 18px 0 0; }
.mega__cols{ display:grid; grid-template-columns: 1fr 1fr; gap:8px 22px; }

/* item clicável */
.mega-item{
  display:block; text-decoration:none; color:#fff;
  padding:12px 12px !important; border-radius:12px; border:1px solid transparent;
  background: transparent;
  transition: background .15s ease, border-color .15s ease, transform .12s ease;
}
.mega-item:hover, .mega-item:focus{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
  outline: none;
  transform: translateY(-1px);
}
.mega-item__title{
  display:block; font-weight:900; letter-spacing:-.01em;
  line-height: 1.25em !important;
  color: #E1306C;
  text-transform: uppercase;
}
.mega-item__desc{
  display:block; margin-top:4px; color: rgba(255,255,255,.85);
  font-size:.92rem; line-height:1.45;
}

/* MOBILE: corpo do item colapsável com descrição clicável */
.m-cat{ display:block; padding:10px 12px; text-decoration:none; color:inherit; }
.m-cat__title{ display:block; }
.m-cat__desc{ display:block; color: var(--ib-muted); margin-top:2px; }

/* acessibilidade visual do estado expandido */
.has-mega.open > .nav-link i{ transform: rotate(180deg); transition: transform .2s ease; }

/* ========== Home Page ========== */
:root{
  --ib-violet:#833AB4; --ib-magenta:#C13584;
  --ib-violet-600:#6e2f94; --ib-magenta-600:#a13071;

  --ib-ink:#16161a; --ib-ink-2:#232329; --ib-ink-3:#2f2f37;
  --ib-text:#222; --ib-muted:#6b6b76;

  --ib-line:#e8e8ef; --ib-card:#ffffff; --ib-bg:#f9f9fb; --ib-white:#fff;

  --ib-radius:16px; --ib-radius-lg:20px; --ib-radius-xl:22px;
  --ib-shadow:0 6px 18px rgba(0,0,0,.08); --ib-shadow-lg:0 14px 34px rgba(0,0,0,.12);

  --container:1200px;
}
@media (prefers-color-scheme: dark){
  :root{
    --ib-ink:#0f0f13; --ib-ink-2:#14141a; --ib-ink-3:#1b1b22;
    --ib-text:#e9e9ef; --ib-muted:#a6a6b3; --ib-line:#2b2b36;
    --ib-card:#12121a; --ib-bg:#0b0b10;
    --ib-shadow:0 6px 18px rgba(0,0,0,.4); --ib-shadow-lg:0 14px 34px rgba(0,0,0,.5);
  }
}

/* ========== 2) RESET & UTILS ========== */
html, .home-page{ height:100%; }
.home-page{ margin:0; color:var(--ib-text); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.container{ max-width:var(--container); margin-inline:auto; padding-inline:16px; }
img{ max-width:100%; display:block; }
:focus-visible{ outline:3px solid color-mix(in srgb, var(--ib-violet) 70%, white); outline-offset:3px; border-radius:8px; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* Utilitários de texto */
.section-title{
  font-size: clamp(22px, 2.2vw, 30px); margin:0 0 16px; letter-spacing:-.02em;
  font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif; font-weight:900; color:#242931;
}
.kicker{
  font-size:.8rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--ib-muted); text-decoration:none;
}
.dot{ opacity:.4; margin:0 8px; }

/* ========== 3) COMPONENTES (botões, cards, inputs) ========== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.1rem; border-radius:999px; font-weight:600; border:1px solid transparent;
  text-decoration:none; transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  will-change:transform;
}
.btn--primary{
  color:#fff; background:linear-gradient(135deg, var(--ib-violet), var(--ib-magenta));
  box-shadow:var(--ib-shadow); padding:0 .9rem !important; border-radius:30px !important;
}
.btn--primary:hover{ transform:translateY(-1px); box-shadow:var(--ib-shadow-lg); }
.card__cta{ margin-top:10px; font-size:.9rem; line-height:1; padding:.6rem 1rem !important; }

/* Cards base (para onde não houver override específico) */
.card{
  background:var(--ib-card); border:1px solid var(--ib-line); border-radius:var(--ib-radius);
  overflow:hidden; box-shadow:var(--ib-shadow);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, opacity .2s ease;
}
.card__media img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.card__content{ padding:20px 20px; }
.card__title{ margin:6px 0 6px; font-size:1rem; line-height:1.35; }
.card__title a{ color:inherit; text-decoration:none; }
.card__title a:hover{ text-decoration:underline; }
.card__excerpt{ color:var(--ib-muted); margin:0; }
.card:hover{ transform:translateY(-2px); box-shadow:var(--ib-shadow-lg); }
.card:focus-within{ box-shadow:0 0 0 3px color-mix(in srgb, var(--ib-violet) 35%, white), var(--ib-shadow-lg); }

/* Inputs (CTA form) */
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hp{ position:absolute; left:-9999px; }
.newsletter-form__row{
  display:flex; gap:10px; align-items:stretch; justify-content:center; margin-top:10px;
}
.newsletter-form input[type="email"]{
  flex:1; min-width:240px; padding:14px 16px; border-radius:999px;
  border:1px solid rgba(255,255,255,.18); background:#0f0f13; color:#fff;
}
.newsletter-form input[type="email"]::placeholder{ color:rgba(255,255,255,.6); }
@media (max-width: 560px){
  .newsletter-form__row{ flex-direction:column; }
  .newsletter-form__row .btn{ width:100%; }
}

/* ==========================================================================
   4) A) SEÇÕES POR TEMA (category-blocks)
   - título roxo, parágrafo escuro
   - 3 cards escuros com texto claro
   - curiosidade: banner full-bleed (já estava implementado)
   ========================================================================== */
.home-sections{ padding:28px 0; width: 100%; overflow: hidden; position: relative; }
.category-block{ padding:18px; margin-bottom:22px; font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif; }
.category-block__head{ margin-bottom:10px; text-align:center; }
.category-block__title{
  margin:0 0 6px; font-size:clamp(18px, 2vw, 24px); font-weight:900;
}
.category-block__title a{ text-decoration:none; color:var(--ib-violet); }
.category-block__desc{
  margin:0 auto 40px; color:var(--ib-ink-3); max-width:80ch; text-align:center;
}
.category-block__grid{ display:block; }
.category-block__posts{
  display:grid; gap:14px; grid-template-columns:repeat(3, minmax(0,1fr));
}
@media (max-width:960px){ .category-block__posts{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .category-block__posts{ grid-template-columns:1fr; } }

/* Cards escuros na seção */
.category-block__posts .card{
  background:#242931; border-color:transparent; color:#fff;
  border-radius:var(--ib-radius-xl);
  opacity:0; transform:translateY(6px); animation:ibFadeUp .45s ease forwards;
}
.category-block__posts .card:nth-child(1){ animation-delay:.02s; }
.category-block__posts .card:nth-child(2){ animation-delay:.06s; }
.category-block__posts .card:nth-child(3){ animation-delay:.1s; }
@keyframes ibFadeUp{ to{ opacity:1; transform:translateY(0); } }

.category-block__posts .card__title span{ color:#fff; }
.category-block__posts .card__excerpt{ color: color-mix(in srgb, #fff 78%, #000); }
.category-block__posts .kicker{
  color:#fff; background:linear-gradient(135deg, color-mix(in srgb, var(--ib-violet) 96%, #000) 0%, color-mix(in srgb, var(--ib-magenta) 92%, #000) 100%);
  padding:4px 10px; border-radius:999px; font-size:.72rem; font-weight:700; display:inline-block;
}
.category-block__posts .card__cta{
  align-self:flex-start; background:linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)) !important; color:#fff !important;
}
.category-block__posts .card:hover{ transform:translateY(-3px) scale(1.01); box-shadow:var(--ib-shadow-lg); }

/* Curiosidade — banner full-bleed */
.category-block__tip-banner{
  margin-top:2em !important; margin-left:calc(50.5% - 50vw); margin-right:calc(50.5% - 50vw);
  background:linear-gradient(135deg, color-mix(in srgb, var(--ib-violet) 96%, #000) 0%, color-mix(in srgb, var(--ib-magenta) 92%, #000) 100%);
  color:#fff; padding:26px 0; border:0;
}
.category-block__tip-banner .tip-banner{ max-width:900px; margin:0 auto; padding:20px 16px; }
.category-block__tip-banner .tip-banner strong{ font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; opacity:.95; display:block; margin-bottom:6px; }
.category-block__tip-banner .tip-banner p{ margin:0; line-height:1.75; font-size:1.02rem; }

/* ==========================================================================
   5) B) ÚLTIMOS ARTIGOS (home-latest)
   - cards escuros iguais aos da seção
   - meta com kicker + tempo de leitura
   - CTA “Ler mais” dentro do card
   ========================================================================== */
.home-latest{ padding:22px 0 8px; }
.home-latest .carousel > .card{
  background:#242931; border-color:transparent; color:#fff; border-radius:var(--ib-radius-xl);
}
.home-latest .card__title span{ color:#fff; }
.home-latest .card__excerpt{ color: color-mix(in srgb, #fff 78%, #000); }
.home-latest .kicker{
  color:#fff;
  background:linear-gradient(135deg, color-mix(in srgb, var(--ib-violet) 96%, #000) 0%, color-mix(in srgb, var(--ib-magenta) 92%, #000) 100%);
  padding:4px 10px; border-radius:999px; font-size:.72rem; font-weight:700; display:inline-block;
}
.home-latest .card__meta{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.home-latest .reading-time{
  font-size:.78rem; padding:4px 10px; border-radius:999px;
  background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.14);
}
.home-latest .card__cta{ background:linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)) !important; color:#fff !important; }

/* ==========================================================================
   6) C) CTA FINAL (home-cta)
   - fundo full-bleed em degradê
   - caixa central escura, títulos maiores e form inline
   ========================================================================== */
.home-cta{ position:relative; padding:64px 0; overflow:hidden; }
.home-cta__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1000px 400px at 0% 100%, color-mix(in srgb, var(--ib-violet) 28%, transparent) 0%, transparent 70%),
    radial-gradient(1200px 480px at 100% 0%, color-mix(in srgb, var(--ib-magenta) 28%, transparent) 0%, transparent 70%),
    linear-gradient(135deg, var(--ib-violet), var(--ib-magenta));
  z-index:0;
}
.home-cta .container{ position:relative; z-index:1; }
.home-cta__box{
  background:#242931; color:#fff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px; padding:34px 24px; box-shadow:var(--ib-shadow-lg);
  text-align:center; max-width:880px; margin:0 auto;
}
.home-cta__title{
  margin:0 0 8px; font-size:clamp(26px, 3vw, 42px); letter-spacing:-.02em; font-weight:900;
  font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}
.home-cta__lead{
  margin:0 0 16px; color:rgba(255,255,255,.88); font-size:clamp(16px, 1.6vw, 19px);
}

.newsletter-form__row{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: center;
  max-width: 450px;
  margin: 0 auto;
}

.newsletter-form__row input{
  background-color: #e5e7eb !important;
  color: #16161a !important;
  border: none !important;
  box-shadow: none !important;
  height: 45px !important;
  font-size: 1em !important;
  font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
  margin: 0 !important;
}

.newsletter-form__row input::placeholder{
  color: #16161a !important;
  opacity: .6 !important;
  padding-left: 1em;
}

.newsletter-form__row .btn{
  background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  height: 45px !important;
  font-size: 1em !important;
  font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
  padding: 0 1em !important;
}

/* ==========================================================================
   7) HERO, CATEGORIAS, DESTAQUE (MANTIDOS)
   ========================================================================== */
.home-page .home-hero{
  position:relative; overflow: hidden; width: 100%; isolation:isolate; padding:64px 0 48px;
  background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta));
  border-bottom:1px solid var(--ib-line);
  min-height: calc(100vh - 250px);
  display:flex; align-items:center; justify-content:center;
}

.home-page .home-hero main{
  position:relative; overflow: hidden; width: 100%; float: left;}
.home-hero video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-1; opacity:.12; }
.home-hero__content{ max-width:860px; }
.home-hero .eyebrow{
  text-transform:uppercase; font-weight:700; color:#fff; margin:0 0 12px; letter-spacing:.1em; font-size:.9rem;
  font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}
.home-hero__title{
  margin:0 0 10px; font-weight:900; font-size:clamp(28px, 4.2vw, 3.5em);
  letter-spacing:-.02em; line-height:1.1; color:#fff; font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}
.home-hero__lead{
  margin:0 0 18px; color:#f0f0f5; font-size:1.25rem; line-height:1.6; max-width:70ch;
  font-family:'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}
.home-hero__cta{ display:flex; gap:10px; flex-wrap:wrap; }

.home-hero .breadcrumb{
  font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}

.home-hero .breadcrumb ol li span, .home-hero .breadcrumb ol li a{
  color: #fff; font-size:.9rem; letter-spacing:.02em;
  opacity: 1;
  font-weight: 900;
}

.home-hero .breadcrumb ol li:first-child{
  color:rgba(255,255,255,.7);
  font-weight: bold;
}

.home-categories{ padding:32px 0 12px; }
.cat-list{ display:grid; gap:16px; grid-template-columns:repeat(12,1fr); }
@media (max-width:1200px){ .cat-list{ grid-template-columns:repeat(8,1fr);} }
@media (max-width:768px){ .cat-list{ grid-template-columns:repeat(4,1fr);} }
@media (max-width:520px){ .cat-list{ grid-template-columns:repeat(2,1fr);} }
.cat-card{ grid-column:span 4; }
.cat-card__link{ display:flex; align-items:center; flex-wrap:nowrap; color:inherit; text-decoration:none; border:3px solid #C13584; border-radius:60px; background-color:#242931; }
.cat-card .cat-card__media img{ width:60px; height:60px; object-fit:cover; border-radius:50%; border:3px solid #C13584; border-left:none; }
.cat-card__media img{ aspect-ratio:16/9; object-fit:cover; transform:scale(1.002); transition:transform .3s ease; }
.cat-card:hover .cat-card__media img{ transform:scale(1.03); }
.cat-card__title{
  font-size:1em; margin:0; padding-right:20px; margin-left:10px;
  font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif; font-weight:900; letter-spacing:-.01em; color:#fff;
}

.home-featured{ margin:2em 0; padding:40px 20px; background-color:#242931; }
.home-featured .featured__meta{
  justify-content: flex-start;
}
.featured{ display:grid; gap:18px; align-items:start; grid-template-columns:1.3fr 1fr; font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif; }
@media (max-width:992px){ .featured{ grid-template-columns:1fr; } }
.featured__media{ border-radius:var(--ib-radius-lg); overflow:hidden; border:1px solid var(--ib-line); box-shadow:var(--ib-shadow-lg); }
.featured__media img{ aspect-ratio:16/9; object-fit:cover; width:100%; height:300px; }
.featured__content{ padding:6px 4px; }
.featured__meta{ color:var(--ib-muted); display:flex; align-items:center; flex-wrap: nowrap; justify-content: space-between; margin-bottom:6px; font-size: .9em !important; }
.featured__meta .kicker{
  background:linear-gradient(135deg, color-mix(in srgb, var(--ib-violet) 96%, #000) 0%, color-mix(in srgb, var(--ib-magenta) 92%, #000) 100%);
  padding:4px 10px; border-radius:999px; font-size:.6rem; color:var(--ib-white); font-weight:bold;
}
.featured__title{ font-size:clamp(22px, 2.6vw, 32px); margin:0 0 8px; line-height:1; letter-spacing:-.02em; }
.featured__title a{ color:#e5e7eb; text-transform:uppercase; font-size:.7em; line-height:.5em !important; }
.featured__excerpt{ margin:0 0 14px; color:#e5e7eb; }

.home-latest{
  width: 100%;

  padding: 40px 20px;
  /* fundo neutro (mantém contraste com cards escuros) */
  background: transparent;
}

.home-latest .section-title{
  text-align: center;
  margin-bottom: 16px;
  margin-top: -1em !important;
}

/* grid de 8 itens: 4 colunas desktop, 2 linhas (automaticamente) */
.latest-grid{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0 16px; /* respiro lateral no full-bleed */
}

@media (max-width: 1200px){
  .latest-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .latest-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .latest-grid{ grid-template-columns: 1fr; }
}

/* cards escuros (mesmo visual dos cards de seção/categorias) */
.home-latest .card{
  background: #242931;
  border-color: transparent;
  color: #fff;
  border-radius: var(--ib-radius-xl);
  font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}
.home-latest .card__title a{ color:#fff; }
.home-latest .card__excerpt{ color: color-mix(in srgb, #fff 78%, #000); }

/* meta (kicker + tempo de leitura) */
.home-latest .card__meta{ display:flex; align-items:center; justify-content: space-between; gap:8px; margin-bottom:6px; }
.home-latest .kicker{
  color:#fff;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--ib-violet) 96%, #000) 0%,
    color-mix(in srgb, var(--ib-magenta) 92%, #000) 100%);
  padding:4px 10px; border-radius:999px; font-size:.6rem; font-weight:700; display:inline-block;
}
.home-latest .reading-time, .featured__meta .reading-time{
  font-size:.78rem; padding:4px 10px; border-radius:999px;
  background: rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.14);
}

/* CTA do card */
.home-latest .card__cta{
  background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)) !important;
  color:#fff !important;
}

/* hover */
.home-latest .card:hover{
  transform: translateY(-3px) scale(1.01);
  box-shadow: var(--ib-shadow-lg);
}

.category-page .home-hero{
  position: relative;
}

.category-page .home-hero:after{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0; left: 0;
  background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta));
  opacity: .85;
  z-index: -1;
}

.home-hero__content .newsletter-form__row{
  margin: 0;
}

.home-hero__content .newsletter-form__row input{
  padding-left: 1em !important;
}

.home-hero__content .newsletter-form__row .btn{
  background: #242931 !important;
  border-radius: 5px !important;
}

#results-title{
  margin-top: 2em !important;
}

/*-------- Single Post --------*/

.article-page{
  --brand1:#833AB4;
  --brand2:#E1306C;
  --brand3:#ffb732;
  --text:#111827;
  --muted:#6b7280;
  --line:#eaeaea;
  --bg:#ffffff;
  --shadow: 0 10px 30px rgba(17,24,39,.06);
  font-family:'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
  color:var(--text);
  background:#fff;
}

/* A11y helper */
.article-page .sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* --------------------------------------------
   HERO (capa + breadcrumb + título + meta)
--------------------------------------------- */
.article-page .gheadline{
  position:relative;
  min-height:56vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
}

/* figure + img (capa) */
.article-page .gheadline__media{
  position:absolute; inset:0; margin:0;
}
.article-page .gheadline__media img{
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  display:block;
  transform:translateZ(0);
}

/* overlay que contém breadcrumb, título e meta */
.article-page .gheadline__overlay{
  position: absolute;
  inset: 0;
  /* Rosa da identidade: #E1306C -> rgb(225,48,108) */
  background: linear-gradient(
    180deg,
    rgba(225, 48, 108, 0.20) 0%,
    rgba(225, 48, 108, 0.55) 60%,
    rgba(225, 48, 108, 0.85) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px 0 32px;
}


/* largura de leitura dentro do overlay */
.article-page .gheadline__overlay > *{
  width:min(100%, 760px);
  margin:0 auto;
  padding:0 16px;
}

/* breadcrumbs */
.article-page .breadcrumbs ol{
  display:flex; flex-wrap:wrap; gap:8px;
  align-items:center;
  list-style:none; padding:0; margin:0 0 10px;
  font-size:13px; color:#eef2f7;
}
.article-page .breadcrumbs a{
  color:#fff; text-decoration:none; opacity:.95;
}
.article-page .breadcrumbs a:hover{ opacity:1; text-decoration:underline }
.article-page .breadcrumbs li{ display:flex; align-items:center; gap:8px }
.article-page .breadcrumbs li:not(:last-child)::after{
  content:"/"; opacity:.6;
}
.article-page .breadcrumbs .current{ opacity:1 }

/* título do post */
.article-page .gheadline__title{
  margin:0 0 14px;
  font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(28px, 2.2vw + 1rem, 44px);
  font-weight: 900;
  letter-spacing:.2px;
  line-height:1.15;
  width: 100%;
  text-wrap:balance;
  text-align: center;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
  overflow-wrap:anywhere;
}

/* meta (autor, datas, share topo) */
.article-page .gheadline__meta{
  display:flex; flex-wrap:wrap; gap:12px 16px;
  align-items:center;
  justify-content: center;
  font-size:14px; color:#e5e7eb;
}

/* avatar + autor */
.article-page .author__avatar{
  width:48px; height:48px; border-radius:50%;
  border:2px solid rgba(255,255,255,.75);
  object-fit:cover; object-position:center;
  flex:0 0 48px;
}
.article-page .author__info{
  display:flex; flex-direction:column; gap:2px;
}
.article-page .author__name{
  font-weight:700; color:#fff;
}
.article-page .article__meta{
  color:#e5e7eb;
}
.article-page .article__meta time{ white-space:nowrap }

/* share topo (alinhado à direita em telas largas) */
.article-page .share.share--top{
  margin-left:auto;
  display:flex; gap:8px; align-items:center;
}
.article-page .share__btn{
  width:40px; height:40px; border-radius:10px;
  display:grid; place-items:center;
  background:#ffffff1a; color:#fff; border:1px solid #ffffff33;
  text-decoration:none; transition:.2s ease;
}
.article-page .share__btn svg{
    width:18px; height:18px; fill:currentColor;
}
.article-page .share.share--top .share__btn svg path{
    fill: #fff;
}
.article-page .share__btn:hover{ background:#ffffff2b; transform:translateY(-2px) }

/* --------------------------------------------
   CONTEÚDO (coluna central) + shares bottom
--------------------------------------------- */
.article-page .article{
  width:min(100%, 760px);
  margin:28px auto;
  padding:0 20px;
}

.article-page .article__content{
  background:#fff; border:1px solid var(--line);
  border-radius:16px; padding:28px 22px;
  box-shadow:var(--shadow);
}

.article-page .article__content h2{
  padding: 0;
  margin: 0;
  margin-top: 1.5em;
  margin-bottom: .5em;
  font-size: 28px;
  font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
  color: #833AB4;
}

.article-page .article__content h3,
.article-page .article__content h4,
.article-page .article__content h5,
.article-page .article__content h6{
  padding: 0;
  margin: 0;
  margin-bottom: .5em;
  margin-top: 1em;
  font-size: 22px;
  font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
  color: #833AB4;
}

.article-page .article__content p{
  margin: 0;
  line-height: 1.5em;
  font-size: 16px;
  color: #333333;
  margin-bottom: 1em;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}

.article-page .article__content ul{
  margin: 0 !important;
  padding-left: 40px !important;
}

.article-page .article__content ul li{
  list-style-type: initial !important;
}

.article-page .article__content li{
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
  color: #333333;
  line-height: 1.5em;
  font-size: 16px;
}

.article-page .article__content a{
  color: #E1306C;
  font-weight: bold;
  text-decoration: underline;
}

.article-page .article__content blockquote {
  border-left: 5px solid #E1306C !important;
  font-style: italic;
  margin-left: 2em !important;
  margin-right: 0;
  overflow: hidden;
  padding-left: 1.5em;
  padding-right: 3em !important;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
}

.article-page .article__content img{
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.article-page .article__content .table{
  width: 100% !important;
}

.article-page .article__content table {
  width: 100% !important;
  border-collapse: collapse;
  margin: 20px 0;
  text-align: left;
}

.article-page .article__content th, .article-page .article__content td {
  padding: 12px;
  border: 1px solid #ddd;
  font-size: 16px;
  text-align: center !important;
}

.article-page .article__content th {
  background-color: #833AB4 !important;
  color: white;
  font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
}

.article-page .article__content tr{
  font-size: 10px !important;
  text-align: center;
  color: #333 !important;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}

.article-page .article__content td{
  font-size: 14px !important;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}

.article-page .article__content tr td:first-of-type{
  font-weight: bold !important;
}

.article-page .article__content tr:nth-child(even) {
  background-color: #f2f0f0;
}

.article-page .article__content tr:hover {
  background-color: #E1306C;
  color: white !important;
}

/* share bottom (central) */
.article-page .share.share--bottom{
  display:flex; gap:10px; justify-content:center; align-items:center;
  margin:18px 0 0;
}
.article-page .share.share--bottom .share__btn{
  background:#f3f4f6; color:#222; border:1px solid var(--line);
}
.article-page .share.share--bottom .share__btn:hover{
  transform:translateY(-2px); background:#fff;
}

/* --------------------------------------------
   Navegação: Anterior / Próximo
--------------------------------------------- */
.article-page .post-nav{
  display:grid; gap:16px;
  grid-template-columns:1fr 1fr;
  width:min(100%, 760px); margin:24px auto 8px; padding:0 16px;
}
.article-page .post-nav a{
  text-decoration:none; color:inherit;
}
.article-page .post-nav__prev,
.article-page .post-nav__next{
  display:flex; gap:12px; align-items:center;
  padding:12px; border:1px solid var(--line);
  border-radius:12px; background:#fff; transition:.2s ease;
  box-shadow:var(--shadow);
}
.article-page .post-nav__next{
  flex-direction: row-reverse;
  text-align: right;
  float: right;
}
.article-page .post-nav__prev:hover,
.article-page .post-nav__next:hover{ transform:translateY(-2px) }
.article-page .post-nav figure{
  width:88px; height:64px; margin:0; border-radius:8px; overflow:hidden; flex:0 0 88px; background:#f3f4f6;
}
.article-page .post-nav figure img{ width:100%; height:100%; object-fit:cover }
.article-page .post-nav .kicker{
  display:inline-block; font-size:12px; font-weight:800; letter-spacing:.4px;
  text-transform:uppercase; color:var(--muted); margin-bottom:2px;
}
.article-page .post-nav strong{
  display:block; font-size:15px; line-height:1.35; color:#1f2937;
}

/* --------------------------------------------
   Relacionados
--------------------------------------------- */
.article-page .related{
  width:min(100%, 760px); margin:8px auto 24px; padding:0 16px;
}
.article-page .related h2{
  font-size:26px; margin:0 0 12px; color:#111827;
  font-family:'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
  text-align: center;
  margin-top: 50px;
}
.article-page .related__grid{
  display:grid; gap:16px; grid-template-columns:repeat(3, 1fr);
}
.article-page .related__item{ list-style:none }
.article-page .related__link{
  display:block; border:1px solid var(--line); border-radius:12px;
  background:#fff; overflow:hidden; transition:.2s ease; text-decoration:none; color:inherit;
  box-shadow:var(--shadow);
}
.article-page .related__link:hover{ transform:translateY(-2px) }
.article-page .related__media{ margin:0; aspect-ratio:16/9; background:#f3f4f6; overflow:hidden }
.article-page .related__media img{ width:100%; height:100%; object-fit:cover }
.article-page .related__title{
  font-size:16px; color:#111827; line-height:1.35; margin:10px 12px 2px;
}
.article-page .related__date{
  display:block; font-size:12px; color:var(--muted); margin:0 12px 12px;
}

/* --------------------------------------------
   Comentários (Disqus)
--------------------------------------------- */
.article-page .comments{
  width:min(100%, 760px);
  margin:26px auto 8px; padding:0 16px;
  border-top:1px dashed var(--line); padding-top:18px;
}
.article-page .comments h2{
  margin:0 0 10px; font-size:20px; font-family:'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}

/* ====== Complementos: Post Nav (prev/next) ====== */
.article-page .post-nav__txt{ display:flex; flex-direction:column; gap:4px }
.article-page .post-nav__title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; max-height:3.2em;
}
.article-page .post-nav__date{ font-size:12px; color:var(--muted) }

/* ====== Complementos: Relacionados com descrição ====== */
.article-page .related__content{ padding:10px 12px 12px }
.article-page .related__title{ margin:0 0 6px }
.article-page .related__excerpt{
  margin:0 0 8px; font-size:14px; color:var(--muted); line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.article-page .related__date{ margin:0 }

/* Garantir alturas consistentes nos cards */
.article-page .related__link{ display:flex; flex-direction:column; height:100% }
.article-page .related__media{ flex:0 0 auto }
.article-page .related__content{ flex:1 1 auto }

/* Pequenos ajustes responsivos */
@media (max-width: 768px){
  .article-page .related__excerpt{ -webkit-line-clamp:4 }
}

/* --------------------------------------------
   Responsividade
--------------------------------------------- */
@media (max-width: 992px){
  .article-page .share.share--top{ width:100%; margin-top:8px; justify-content:center }
  .article-page .breadcrumbs ol { justify-content:center; text-align: center; width: 100%;}
}
@media (max-width: 768px){
  .article-page .gheadline{ min-height:48vh }
  .article-page .post-nav{ grid-template-columns:1fr }
  .article-page .related__grid{ grid-template-columns:1fr 1fr }
}
@media (max-width: 480px){
  .article-page .gheadline__title{ font-size: clamp(24px, 6vw, 30px) }
  .article-page .related__grid{ grid-template-columns:1fr }
}

/* =========================
   SOBRE (about-page)
   ========================= */
.about-page .home-hero{ background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)); }
.about-page .home-sections{ padding: 28px 0; }
.about-page .home-sections p{ line-height: 1.75; margin: 0 0 12px; max-width: 80ch; }
.about-page .home-sections ul{ margin: 8px 0 16px 1.25rem; }
.about-page .home-sections li{ margin: 6px 0; }

/* =========================
   PARCERIAS (partnerships-page)
   ========================= */
.partnerships-page .home-hero{ background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)); }
.partnerships-page .home-sections{ padding: 28px 0; }
.partnerships-page .home-sections ul{ margin: 8px 0 16px 1.25rem; }
.partnerships-page .home-sections li{ margin: 6px 0; }
.partnerships-page .newsletter-form{ max-width: 720px; }
.partnerships-page .newsletter-form input,
.partnerships-page .newsletter-form textarea{
  width: 100%; border:1px solid var(--ib-line); border-radius: 12px; padding: 12px 14px; background: var(--ib-card); color: var(--ib-text);
}
.partnerships-page .newsletter-form textarea{ resize: vertical; min-height: 140px; }

/* =========================
   FALE CONOSCO (contact-page)
   ========================= */
.contact-page .home-hero{ background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)); }
.contact-page .home-sections{ padding: 28px 0; }
.contact-page .newsletter-form{ max-width: 760px; }
.contact-page .newsletter-form input,
.contact-page .newsletter-form textarea{
  width: 100%; border:1px solid var(--ib-line); border-radius: 12px; padding: 12px 14px; background: var(--ib-card); color: var(--ib-text);
}
.contact-page .newsletter-form textarea{ resize: vertical; min-height: 160px; }

/* =========================
   PRIVACIDADE (privacy-page)
   ========================= */
.privacy-page .home-hero{ background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)); }
.privacy-page .home-sections{ padding: 28px 0; }
.privacy-page .home-sections p{ line-height: 1.75; margin: 0 0 12px; max-width: 80ch; }
.privacy-page .home-sections ul{ margin: 8px 0 16px 1.25rem; }
.privacy-page .home-sections li{ margin: 6px 0; }

/* =========================
   COOKIES (cookies-page)
   ========================= */
.cookies-page .home-hero{ background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)); }
.cookies-page .home-sections{ padding: 28px 0; }
.cookies-page .home-sections p{ line-height: 1.75; margin: 0 0 12px; max-width: 80ch; }
.cookies-page .home-sections ul{ margin: 8px 0 16px 1.25rem; }
.cookies-page .home-sections li{ margin: 6px 0; }

/* =========================
   TERMOS (terms-page)
   ========================= */
.terms-page .home-hero{ background: linear-gradient(135deg, var(--ib-violet), var(--ib-magenta)); }
.terms-page .home-sections{ padding: 28px 0; }
.terms-page .home-sections p{ line-height: 1.75; margin: 0 0 12px; max-width: 80ch; }
.terms-page .home-sections h2.section-title{ margin-top: 18px; }

/* ===== Forms AJAX — estados do botão ===== */
.btn.is-loading { position: relative; pointer-events: none; }
.btn.is-loading:after{
  content: "";
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.6);
  border-top-color: #fff;
  animation: ibSpin .7s linear infinite;
}
@keyframes ibSpin { to { transform: translateY(-50%) rotate(360deg); } }

.btn.is-success{
  background: linear-gradient(135deg, #22c55e, #16a34a) !important;
  box-shadow: var(--ib-shadow-lg);
}
.btn.is-error{
  background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
  box-shadow: var(--ib-shadow-lg);
}

/* ==========================================================================
   PÁGINAS ESTÁTICAS — BASE
   Escopo: .static-page (reutilizável em Privacidade, Cookies, Termos, Sobre…)
   ========================================================================== */
.static-page .section-title{
  letter-spacing:-.01em;
  margin-bottom: 14px;
}
.static-page .home-sections{
  padding-top: 28px;
  padding-bottom: 4px;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}
.static-page .home-sections .container > p,
.static-page .home-sections .container > ul,
.static-page .home-sections .container > ol{
  max-width: 80ch;
  line-height: 1.7;
  color: #242931
}

/* ==========================================================================
   SUMÁRIO / TOC
   ========================================================================== */
.privacy-page .doc-toc{
  background: var(--ib-card);
  border: 1px solid var(--ib-line);
  border-radius: var(--ib-radius-lg);
  box-shadow: var(--ib-shadow);
  padding: 14px 16px;
  max-width: 880px;
}
.privacy-page .doc-toc ol{
  margin: 0; padding-left: 18px;
  columns: 2; column-gap: 24px;
}
@media (max-width: 720px){ .privacy-page .doc-toc ol{ columns: 1; } }
.privacy-page .doc-toc a{
  text-decoration: none;
  color: color-mix(in srgb, var(--ib-violet) 70%, black);
}
.privacy-page .doc-toc a:hover{
  text-decoration: underline;
}

/* ==========================================================================
   TIPOGRAFIA / CONTEÚDO
   ========================================================================== */
.privacy-page .home-sections h2{
  color: #833AB4;
  font-weight: 900;
}
.privacy-page .home-sections h3{
  font-size: clamp(16px, 1.7vw, 19px);
  margin: 16px 0 8px;
  letter-spacing:-.005em;
  color: #833AB4;
  font-weight: bold;
}
.privacy-page .home-sections p{ margin: 0 0 10px; }
.privacy-page .home-sections ul, .privacy-page .home-sections ol{ margin: 0 0 12px 18px; }
.privacy-page .home-sections li{ margin-bottom: 6px; }

/* ==========================================================================
   LINKS E ACESSIBILIDADE
   ========================================================================== */
.privacy-page .home-sections a{
  color: color-mix(in srgb, var(--ib-violet) 70%, black);
}
.privacy-page .home-sections a:hover{
  color: color-mix(in srgb, var(--ib-magenta) 70%, black);
  text-decoration: underline;
}

.privacy-page main{
  padding: 3em 0px !important;
}

.privacy-page .home-sections .table{
  width: 100% !important;
}

.privacy-page .home-sections table {
  width: 100% !important;
  border-collapse: collapse;
  margin: 20px 0;
  text-align: left;
}

.privacy-page .home-sections th, .privacy-page .home-sections td {
  padding: 12px;
  border: 1px solid #ddd;
  font-size: 16px;
  text-align: center !important;
}

.privacy-page .home-sections th {
  background-color: #833AB4 !important;
  color: white;
  font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
}

.privacy-page .home-sections tr{
  font-size: 10px !important;
  text-align: center;
  color: #333 !important;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}

.privacy-page .home-sections td{
  font-size: 14px !important;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}

.privacy-page .home-sections tr td:first-of-type{
  font-weight: bold !important;
}

.privacy-page .home-sections tr:nth-child(even) {
  background-color: #f2f0f0;
}

.privacy-page .home-sections tr:hover {
  background-color: #E1306C;
  color: white !important;
}

/* ==========================================================================
   ESPAÇAMENTO ENTRE SEÇÕES
   ========================================================================== */
.privacy-page .home-sections + .home-sections{
  margin-top: 6px;
}

@media print{
  .home-hero, header nav, footer{ display: none !important; }
  .static-page .home-sections{ padding: 0; }
  body{ background:#fff; color:#000; }
}

/* ==========================================================================
   COOKIE CONSENT (Modal)
   ========================================================================== */
.cookie-consent.is-hidden { display: none; }

.cookie-consent {
  position: fixed; inset: 0;
  z-index: 10000;
  display: flex; align-items: flex-end; justify-content: center;
  padding-bottom: 40px;
}

.cookie-consent__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(2px);
}

.cookie-consent__modal {
  position: relative;
  width: min(680px, 92vw);
  background: var(--ib-card);
  color: var(--ib-text);
  border: 1px solid var(--ib-line);
  border-radius: 20px;
  box-shadow: var(--ib-shadow-lg);
  padding: 18px 18px 16px;
  animation: ccFadeUp .25s ease both;
  font-family: 'Ubuntu', Tahoma, Geneva, Verdana, sans-serif;
}

.cookie-consent__close {
  position: absolute; top: 8px; right: 10px;
  border: 0; background: transparent; color: var(--ib-muted);
  font-size: 28px; line-height: 1; cursor: pointer;
}
.cookie-consent__close:hover { color: var(--ib-text); }

.cookie-consent__modal h2 {
  margin: 0 0 6px;
  font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -.01em;
  color: #fff;
}

.cookie-consent__modal p { margin: 0 0 10px; line-height: 1.7; }

.cookie-consent__modal a{
  color: color-mix(in srgb, #E1306C 70%, black);
  text-decoration: underline;
}

.cookie-consent__prefs {
  margin: 10px 0 12px;
  border: 1px dashed var(--ib-line);
  border-radius: 14px;
  padding: 8px 10px;
  background: color-mix(in srgb, var(--ib-ink-2) 4%, var(--ib-bg));
}
.cookie-consent__prefs summary {
  cursor: pointer;
  font-weight: 700;
  color: color-mix(in srgb, var(--ib-violet) 70%, black);
  list-style: none;
}
.cookie-consent__prefs summary::-webkit-details-marker { display: none; }

.cookie-consent__prefs fieldset {
  margin: 8px 0 0; padding: 0; border: 0;
  display: grid; gap: 8px;
}

.cc-toggle {
  display: flex; align-items: center; gap: 8px;
  user-select: none;
}

.cookie-consent__actions {
  display: flex; gap: 8px; flex-wrap: nowrap; justify-content: flex-end;
}

.cookie-consent__actions .btn--ghost{
  box-shadow: none; font-weight: 700; padding: 0px 18px; min-width: 120px;
  height: 40px; line-height: 40px;
  border-radius: 30px !important;
  background: color-mix(in srgb, var(--ib-ink-2) 4%, var(--ib-bg)) !important;
  border: 1px solid var(--ib-line);
  color: var(--ib-text);

}

@media (max-width: 480px){
  .cookie-consent__modal{ padding: 14px 14px 12px; }
  .cookie-consent__actions{ flex-direction: column; }
  .cookie-consent__actions .btn,
  .cookie-consent__actions .btn--ghost{
    width: 100%; min-width: auto; padding: 0; box-sizing: border-box;
  }
  .cookie-consent__modal p{ font-size: 10px; }
}

@keyframes ccFadeUp {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/*-------- Footer --------*/

.footer{
    background-color: #242931;
    font-family: 'Kanit', Tahoma, Geneva, Verdana, sans-serif;
}

.footer .container{
    padding: 6em 0px !important;
    width: 100% !important;
    max-width: 1200px !important;
}

.footer img{
    width: 100%;
    height: 80px;
    object-fit: contain;
    object-position: left;
}

.footer h2{
    font-size: 1.5em;
    color: white;
    font-family: 'Kanit Bold', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0 !important;
}

.footer p{
    color: white;
    line-height: 1.25em;
    font-size: 1em;
}

.footer strong{
    color: #833AB4;
}

.footer a{
    color: white;
    line-height: 1.25em;
    font-size: 1em;
}

.footer a:hover{
    color: #E1306C;
}

.footer form{
    background-color: #833AB4;
    border-radius: 20px !important;
    padding: 20px;
}

.footer form h2{
    font-size: 1.5em;
}

.footer form fieldset{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    margin-top: 1em !important;
}

.footer form input{
    border: none !important;
    background-color: white !important;
    color: #833AB4 !important;
    margin: 0 !important;
    padding-left: 1em !important;
    font-size: .9em !important;
    height: 30px !important;
    border-radius: 5px 0 0 5px !important;
}

.footer form .btn{
    height: 30px;
    line-height: 30px;
    font-size: .9em;
    box-shadow: none;
    background-color: #FCAF45;
    padding: 0;
    font-weight: bold;
    width: 150px;
    border-radius: 0 5px 5px 0;
}

.footer .footer-bottom{
    width: 100%;
    float: left;
    text-align: center;
    color: white;
    background-color: #833AB4;
    margin-top: 4em;
}

/*-------- TIPOGRAFIA --------*/

@font-face {
    font-family: 'Kanit';
    src: url('../fonts/kanit/Kanit-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Kanit Medium';
    src: url('../fonts/kanit/Kanit-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Kanit Bold';
    src: url('../fonts/kanit/Kanit-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Ubuntu';
    src: url('../fonts/ubuntu/Ubuntu-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Ubuntu Bold';
    src: url('../fonts/ubuntu/Ubuntu-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

html, body {
    overflow-x: hidden;
    position: relative;
    max-width: 100%;
}

* {
    box-sizing: border-box;
}

button {
    cursor: pointer !important;
}

.row {
    margin-bottom: 0 !important;
}

nav {
    color: #000 !important;
    background-color: transparent !important;
    width: initial !important;
    height: initial !important;
    line-height: initial !important;
    box-shadow: none !important;
}

address {
    font-style: normal;
}

cite {
    font-style: normal;
}

strong {
    font-weight: bold !important;
}

figcaption {
    display: none !important;
}

figure {
    margin: 0 !important;
}

fieldset {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}