/* RC21 — SOLUÇÕES: EDITORIAL PREMIUM / OPTICAL BALANCE */
:root{
  --s21-ink:#171328;
  --s21-muted:#6f687d;
  --s21-purple:#6d3cff;
  --s21-purple-dark:#4f24d6;
  --s21-line:#e8e2f2;
  --s21-soft:#f7f5fc;
  --s21-card:#fff;
  --s21-radius:26px;
  --s21-shadow:0 18px 48px rgba(38,24,76,.09);
  --s21-shadow-hover:0 28px 70px rgba(38,24,76,.15);
}

body.solution-hub-page,
.solution-hub-page{background:#fff!important;color:var(--s21-ink)}
.solution-hub-page main{overflow:visible}
.solution-hub-page .container{width:min(1240px,calc(100% - 56px))!important}

/* Remove o vazio visual entre navegação temática e hero */
.solution-mobile-switcher{margin:0!important;padding:0!important;background:#fff!important;border-bottom:1px solid #eee9f5!important}
.solution-theme-tabs{min-height:58px;padding:9px 0!important;align-items:center!important}
.solution-theme-tab{min-height:40px!important;padding:0 17px!important;font-size:12px!important;font-weight:750!important}
.solution-hub-page main>.solution-hero{margin-top:0!important}

/* HERO — mais autoral, compacto e conectado */
.solution-hero{padding:52px 0 56px!important;border-bottom:1px solid #ede8f5!important;background:
 radial-gradient(circle at 83% 24%,rgba(109,60,255,.13),transparent 25%),
 radial-gradient(circle at 38% 88%,rgba(70,185,224,.10),transparent 28%),
 linear-gradient(135deg,#fbfaff 0%,#fff 52%,#f5f7ff 100%)!important}
.solution-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr)!important;gap:64px!important}
.solution-back{margin-bottom:17px!important;color:#716b7e!important;font-size:12px!important}
.solution-hero h1{max-width:670px!important;margin:0 0 19px!important;font-size:clamp(44px,4.4vw,62px)!important;line-height:1.01!important;letter-spacing:-.055em!important}
.solution-hero-copy>p{max-width:650px!important;margin:0!important;font-size:16px!important;line-height:1.68!important;color:#696277!important}
.solution-hero-actions{margin-top:27px!important;gap:10px!important}
.solution-hero-actions .btn{min-height:50px!important;padding:0 20px!important;border-radius:14px!important}
.solution-hero-visual{min-height:360px!important;padding:18px!important}
.solution-hero-visual:before{inset:0!important;border:1px solid #e9e2f5!important;border-radius:30px!important;background:linear-gradient(145deg,#f0ebff,#f8fbff)!important;box-shadow:0 24px 62px rgba(48,29,94,.12)!important}
.solution-hero-visual>img{width:100%!important;height:300px!important;padding:0!important;object-fit:cover!important;border-radius:22px!important;filter:none!important}
.solution-hero-badge{left:50%!important;bottom:3px!important;transform:translateX(-50%)!important;width:min(84%,360px)!important;max-width:none!important;justify-content:center!important;padding:12px 16px!important;border:1px solid rgba(109,60,255,.16)!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 12px 30px rgba(38,24,76,.12)!important;text-align:center!important}

/* ABERTURA DA VITRINE */
.solution-paths.section{padding:70px 0 78px!important;background:#fff!important}
.solution-heading{max-width:780px!important;margin:0 auto 34px!important;text-align:center!important}
.solution-heading>span{font-size:10px!important;letter-spacing:.16em!important}
.solution-heading h2{margin:8px 0 12px!important;font-size:clamp(36px,3.7vw,49px)!important;line-height:1.05!important;letter-spacing:-.045em!important}
.solution-heading p{max-width:720px!important;margin:auto!important;font-size:16px!important;line-height:1.6!important}

/* Filtros como navegação editorial, sem aparência de formulário */
.solution-filter-head{display:none!important}
.solution-type-filters{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:5px!important;max-width:900px!important;margin:0 auto 10px!important;padding:6px!important;border:1px solid var(--s21-line)!important;border-radius:16px!important;background:#f8f6fc!important}
.solution-type-filters button{min-width:0!important;min-height:42px!important;padding:0 8px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:#666071!important;font-size:11px!important;font-weight:750!important;transition:.18s ease!important}
.solution-type-filters button:hover{background:#fff!important;color:var(--s21-purple)!important}
.solution-type-filters button.is-active{border-color:#d4c7fb!important;background:#fff!important;color:var(--s21-purple)!important;box-shadow:0 6px 16px rgba(61,39,118,.08)!important}
.solution-filter-status{margin:0 auto 24px!important;color:#746d7f!important;font-size:11px!important;text-align:center!important}

/* Vitrine assimétrica, porém equilibrada */
.solution-path-grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:18px!important}
.solution-path-card{grid-column:span 4;display:flex!important;flex-direction:column!important;min-height:390px!important;padding:0!important;border:1px solid #e8e2f2!important;border-radius:24px!important;background:#fff!important;box-shadow:0 10px 34px rgba(40,25,79,.06)!important;overflow:hidden!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.solution-path-card:hover{transform:translateY(-5px)!important;border-color:#d8ccfa!important;box-shadow:var(--s21-shadow-hover)!important}
.solution-path-card.featured{grid-column:span 8!important;display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr)!important;min-height:390px!important;border-radius:28px!important}
.solution-path-card.featured:before{top:18px!important;right:18px!important;padding:7px 12px!important;border-radius:999px!important;background:#262039!important;font-size:9px!important}
.solution-path-media,.solution-path-card.featured .solution-path-media{height:220px!important;min-height:220px!important;border-radius:0!important;background:linear-gradient(145deg,#f2edff,#f9fbff)!important;overflow:hidden!important}
.solution-path-card.featured .solution-path-media{height:100%!important;min-height:390px!important}
.solution-path-card .solution-path-media img{width:100%!important;height:100%!important;padding:0!important;object-fit:cover!important;object-position:center!important;background:transparent!important;transition:transform .35s ease!important}
.solution-path-card:hover .solution-path-media img{transform:scale(1.025)!important}
.solution-path-card#path-kit .solution-path-media img,
.solution-path-card#path-calendar .solution-path-media img{object-fit:contain!important;padding:20px!important;background:linear-gradient(145deg,#f5f1ff,#fbfcff)!important}
.solution-path-card>div:last-child{display:flex!important;flex:1!important;flex-direction:column!important;align-items:flex-start!important;padding:24px 26px 26px!important}
.solution-path-card.featured>div:last-child{justify-content:center!important;padding:42px 44px!important}
.solution-path-card span{font-size:9px!important;letter-spacing:.14em!important;color:var(--s21-purple)!important}
.solution-path-card h3{margin:8px 0 9px!important;font-size:25px!important;line-height:1.08!important;letter-spacing:-.035em!important}
.solution-path-card.featured h3{font-size:38px!important}
.solution-path-card p{margin:0 0 19px!important;color:#6d6679!important;font-size:13.5px!important;line-height:1.58!important}
.solution-path-card strong{margin-top:auto!important;font-size:13px!important}
.solution-path-icon{display:none!important}

/* Calendário — mais compacto e distinto do card da vitrine */
.solution-calendar-feature.section{padding:4px 0 76px!important}
.solution-calendar-panel{grid-template-columns:310px minmax(0,1fr)!important;gap:46px!important;padding:31px!important;border:1px solid #e5def2!important;border-radius:28px!important;background:linear-gradient(135deg,#f6f2ff,#fff)!important;box-shadow:none!important}
.solution-calendar-visual{height:255px!important;border-radius:19px!important;background:#fff!important}
.solution-calendar-visual img{padding:17px!important}
.solution-calendar-copy h2{font-size:clamp(33px,3.3vw,44px)!important}
.solution-calendar-copy p{font-size:15px!important}

/* Curadoria: contraste e proporção sem repetir o hero */
.solution-curation{padding:76px 0!important;background:#f8f7fb!important}
.solution-curation-grid{grid-template-columns:minmax(350px,.86fr) minmax(0,1.14fr)!important;gap:62px!important}
.solution-curation-media{height:355px!important;border-radius:25px!important;background:#eee9fa!important}
.solution-curation-media img{padding:0!important;object-fit:cover!important}
.solution-curation-copy h2{font-size:clamp(36px,3.6vw,48px)!important}
.solution-curation-copy li{padding:11px 13px!important;border-color:#e7e1ef!important;background:#fff!important}

/* CTA com contraste real */
.solution-cta.section{padding:64px 0 76px!important}
.solution-cta-inner{padding:39px 42px!important;border-radius:27px!important;background:linear-gradient(120deg,#171228,#34205d 65%,#4a2d82)!important;color:#fff!important}
.solution-cta-inner h2{color:#fff!important}
.solution-cta-inner p{color:rgba(255,255,255,.76)!important}
.solution-cta-inner .solution-eyebrow{color:#cfbfff!important}
.solution-cta-inner .btn{background:#fff!important;color:#2c2149!important}

@media(max-width:980px){
 .solution-hub-page .container{width:min(100% - 36px,820px)!important}
 .solution-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
 .solution-hero-visual{max-width:680px!important;width:100%!important;margin:auto!important}
 .solution-type-filters{grid-template-columns:repeat(3,1fr)!important}
 .solution-path-card,.solution-path-card.featured{grid-column:span 6!important;display:flex!important;min-height:380px!important}
 .solution-path-card.featured .solution-path-media{height:220px!important;min-height:220px!important}
 .solution-path-card.featured>div:last-child{padding:25px 27px 28px!important}
 .solution-path-card.featured h3{font-size:27px!important}
 .solution-calendar-panel,.solution-curation-grid{grid-template-columns:1fr!important}
}

@media(max-width:600px){
 .solution-hub-page .container{width:calc(100% - 28px)!important}
 .solution-mobile-switcher{position:relative!important;top:auto!important}
 .solution-theme-tabs{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:9px 0!important}
 .solution-theme-tab{width:100%!important;min-height:42px!important;border-radius:13px!important;font-size:11.5px!important}
 .solution-theme-tab svg{display:block!important;width:15px!important;height:15px!important}
 .solution-hero{padding:29px 0 37px!important}
 .solution-hero-grid{gap:23px!important}
 .solution-back{margin-bottom:13px!important}
 .solution-hero h1{font-size:34px!important;line-height:1.04!important}
 .solution-hero-copy>p{font-size:14px!important;line-height:1.58!important}
 .solution-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:20px!important}
 .solution-hero-actions .btn{width:100%!important;justify-content:center!important}
 .solution-hero-visual{padding:10px!important;min-height:0!important}
 .solution-hero-visual>img{height:218px!important;border-radius:17px!important}
 .solution-hero-badge{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:calc(100% - 18px)!important;margin:-18px auto 0!important;font-size:9.5px!important}
 .solution-paths.section{padding:48px 0 54px!important}
 .solution-heading{text-align:left!important;margin-bottom:22px!important}
 .solution-heading h2{font-size:29px!important}
 .solution-heading p{font-size:14px!important}
 .solution-type-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-bottom:9px!important}
 .solution-type-filters button{min-height:40px!important;font-size:10.5px!important}
 .solution-filter-status{margin-bottom:15px!important}
 .solution-path-grid{grid-template-columns:1fr!important;gap:14px!important}
 .solution-path-card,.solution-path-card.featured{grid-column:1!important;display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;min-height:0!important;padding:12px!important;border-radius:19px!important}
 .solution-path-media,.solution-path-card.featured .solution-path-media{height:142px!important;min-height:142px!important;border-radius:14px!important}
 .solution-path-card#path-kit .solution-path-media img,.solution-path-card#path-calendar .solution-path-media img{padding:9px!important}
 .solution-path-card>div:last-child,.solution-path-card.featured>div:last-child{padding:3px 3px 3px 14px!important}
 .solution-path-card h3,.solution-path-card.featured h3{margin:4px 0 5px!important;font-size:18px!important;line-height:1.12!important}
 .solution-path-card p{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin-bottom:8px!important;font-size:11.5px!important;line-height:1.4!important}
 .solution-path-card strong{font-size:11px!important}
 .solution-calendar-feature.section{padding-bottom:50px!important}
 .solution-calendar-panel{gap:20px!important;padding:17px!important;border-radius:21px!important}
 .solution-calendar-visual{height:205px!important}
 .solution-calendar-copy h2{font-size:28px!important}
 .solution-calendar-actions{display:grid!important;gap:11px!important}
 .solution-calendar-actions .btn{width:100%!important;justify-content:center!important}
 .solution-curation{padding:50px 0!important}
 .solution-curation-grid{gap:22px!important}
 .solution-curation-media{height:225px!important;border-radius:20px!important}
 .solution-curation-copy h2{font-size:29px!important}
 .solution-cta.section{padding:44px 0 52px!important}
 .solution-cta-inner{padding:27px 20px!important;border-radius:21px!important}
 .solution-cta h2{font-size:28px!important}
}
