/* Catmania 2.9 — reconstrução fiel ao conceito retrô contemporâneo aprovado. */
:root{
  --cm-retro-ink:#43105f;
  --cm-retro-purple:#9300c8;
  --cm-retro-magenta:#b500df;
  --cm-retro-lilac:#e9c8fb;
  --cm-retro-pale:#fbf5ff;
}

body{background:#fff;color:#2e1837}
.cm-container{width:min(1320px,94%)}

/* Cabeçalho compacto: a onda abre uma baía branca para a marca. */
.cm-header{
  min-height:108px;
  overflow:visible;
  isolation:isolate;
  border:0;
  background:#fff url('header-wave.svg') center top/100% 72px no-repeat;
  box-shadow:0 8px 24px rgba(74,16,91,.08);
}
.cm-header::before,.cm-header::after{content:none}
.cm-retro-sparkles{top:9px;right:4%;color:#742193;font-size:16px;opacity:.62}
.cm-header-inner{
  min-height:108px;
  padding-top:6px;
  padding-bottom:5px;
  display:grid;
  grid-template-columns:minmax(235px,270px) minmax(310px,1fr) minmax(280px,360px);
  align-items:center;
  gap:30px;
}
.cm-header .cm-logo{position:relative;z-index:2;align-self:center;margin:0;min-width:0}
.cm-header .cm-logo img{
  width:260px;
  max-width:100%;
  max-height:92px;
  object-fit:contain;
  filter:drop-shadow(0 4px 5px rgba(86,18,103,.1));
}
.cm-nav{
  order:2;
  justify-self:center;
  align-self:center;
  margin:0;
  padding:0;
  gap:30px;
  background:transparent;
  backdrop-filter:none;
  white-space:nowrap;
}
.cm-nav a{color:#32103f;font-weight:650}
.cm-nav a::after{content:none}
.cm-nav a:nth-child(1)::after,.cm-nav a:nth-child(2)::after{content:"⌄";margin-left:7px;color:#8f00c4}
.cm-nav .cm-nav-cta{display:none}
.cm-header-search{
  order:3;
  width:100%;
  max-width:360px;
  justify-self:end;
  border:1px solid #d7a2eb!important;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(101,18,130,.13);
}
.cm-header-search input{padding:14px 19px}
.cm-header-search button{padding:0 19px;color:#7800a5}

/* Hero: fotografia criada para o conceito, texto e selos integrados. */
.cm-hero{
  position:relative;
  display:block;
  min-height:465px;
  margin:0;
  overflow:hidden;
  border-radius:0 0 26px 26px;
  background:#e8cff8 url('hero-retro-v2.webp') center center/cover no-repeat;
  box-shadow:none;
}
.cm-hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0 42% 0 0;
  background:linear-gradient(90deg,rgba(247,226,255,.98) 0%,rgba(239,205,252,.94) 66%,rgba(232,197,249,.12) 100%);
  color:transparent;
  transform:none;
}
.cm-hero::after{
  content:"";
  position:absolute;
  z-index:4;
  left:-5%;
  right:-5%;
  bottom:-56px;
  height:84px;
  border-radius:50% 50% 0 0/75% 75% 0 0;
  background:#fff;
}
.cm-hero-copy{
  position:relative;
  z-index:3;
  width:56%;
  min-height:465px;
  padding:50px 42px 80px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.cm-hero-copy::before{
  content:"✦   ♡";
  position:absolute;
  right:5%;
  top:42px;
  color:#bd39df;
  font-size:32px;
  letter-spacing:.28em;
  transform:rotate(-8deg);
}
.cm-hero-photo{display:none}
.cm-hero .cm-eyebrow{margin-bottom:8px;color:#8d00bd;font-weight:850}
.cm-hero h1{
  max-width:620px;
  margin-bottom:8px;
  color:var(--cm-retro-ink);
  font-size:clamp(48px,5.1vw,72px);
  font-weight:850;
  line-height:1.01;
  letter-spacing:-.048em;
}
.cm-hero .cm-lead{max-width:590px;margin-bottom:15px;color:#65257f;font-size:20px;line-height:1.35}
.cm-hero .cm-button{
  min-width:196px;
  min-height:49px;
  margin-top:2px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg,#8b00c3,#b700df);
  box-shadow:0 10px 22px rgba(137,0,192,.2);
}
.cm-hero-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  width:min(670px,100%);
  margin-top:22px;
}
.cm-hero-trust span{
  display:flex;
  align-items:center;
  gap:8px;
  color:#64217d;
  font-size:12px;
  font-weight:650;
  line-height:1.25;
}
.cm-hero-trust b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid #a92dd0;border-radius:50%;color:#8f00c4;font-size:15px}

/* Seções da home. */
.home .cm-section{padding:38px 0}
.cm-section-heading{margin-bottom:18px}
.cm-section-heading h2{color:#3f1157;font-weight:820}
.cm-model-section .cm-section-heading h2::before{content:"✦";margin-right:14px;color:#bd40dd}
.cm-brand-section .cm-section-heading h2::before{content:"♡";margin-right:14px;color:#d94fb7}
.cm-popular-section .cm-section-heading h2::before{content:"♡";margin-right:14px;color:#d94fb7;font-size:1.1em}
.cm-testimonials .cm-section-heading h2::before{content:"◯";margin-right:14px;color:#9828be}
.cm-model-section::after,.cm-brand-section::before{display:none}
.cm-model-grid>a,.cm-brand-card{font-weight:650;color:#43105f}
.cm-model-grid .cm-model-photo,.cm-model-grid .cm-model-all-icon,.cm-brand-photo{border:2px solid #ddb2ef;box-shadow:0 5px 16px rgba(88,19,105,.08)}
.cm-brand-grid{gap:14px}
.cm-home-grid{gap:18px}
.cm-popular-section{padding-top:40px}
.cm-popular-section .cm-card{border-color:#ead7f1;box-shadow:0 7px 20px rgba(71,18,83,.08)}
.cm-card{border-radius:13px}
.cm-card-body{padding:15px}
.cm-card-body h3{font-size:17px;line-height:1.2}
.cm-coupon-banner{
  min-height:112px;
  border:1px solid #d99cf0;
  border-radius:14px;
  background:linear-gradient(100deg,#f1d5ff,#dca8f7 58%,#c585ee);
  color:#48115f;
  box-shadow:0 12px 30px rgba(101,20,126,.12);
}
.cm-coupon-banner::before{content:"%";display:grid;place-items:center;width:82px;height:62px;flex:0 0 82px;border:2px solid #fff;border-radius:8px;background:#a300d5;color:#fff;font-size:38px;font-weight:900;transform:rotate(-7deg);box-shadow:0 7px 16px rgba(89,10,112,.18)}
.cm-coupon-banner::after{color:#fff;right:28%;top:12px}
.cm-coupon-banner h2,.cm-coupon-banner .cm-kicker{color:#48115f}
.cm-coupon-banner .cm-button{min-width:210px;border-radius:999px;background:#8f00c4;color:#fff;border-color:#8f00c4}
.cm-testimonial blockquote{border:1px solid #eadcf0;box-shadow:0 5px 15px rgba(80,26,92,.04)}
.cm-home-about{max-width:1100px;padding:48px 54px;background:linear-gradient(145deg,#fff,#faf3ff);border:1px solid #f0e2f5}
.cm-community{border:1px solid #ead7f3;background:linear-gradient(135deg,#fff8fc,#f5e8ff)}

/* Rodapé claro, ondulado e completo como o conceito aprovado. */
.cm-footer{
  position:relative;
  margin-top:28px;
  padding:112px 0 25px;
  border:0;
  background:#fff;
  color:#55206c;
}
.cm-footer::before{
  content:"";
  position:absolute;
  inset:0;
  height:auto;
  background:
    url('footer-wave.svg') center top/100% 118px no-repeat,
    linear-gradient(180deg,transparent 0,transparent 117px,#efd8ff 118px,#f7ecff 70%,#fff 100%);
  clip-path:none;
}
.cm-footer::after{content:"♡  ✦";position:absolute;right:5%;top:70px;color:#a82acb;font-size:25px;letter-spacing:.28em}
.cm-footer-top{position:relative;z-index:2;display:grid;grid-template-columns:270px 1fr auto;align-items:center;gap:34px}
.cm-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.cm-footer .cm-logo{padding:0;background:transparent;border:0}
.cm-footer .cm-logo img{width:220px;max-height:86px;object-fit:contain}
.cm-footer-brand p{margin:0;color:#65257f;font-size:13px}.cm-footer-brand p span{color:#b000d8}
.cm-footer nav{justify-content:center;gap:20px}
.cm-footer nav>a{color:#602376!important;font-size:13px}
.cm-footer .cm-social-links a{width:38px;height:38px;border-color:#bd86d4;background:rgba(255,255,255,.55);color:#641884!important}
.cm-footer-bottom{position:relative;z-index:2;border-color:rgba(112,50,137,.18);color:#6c4a78!important}

@media(max-width:1100px){
  .cm-header-inner{grid-template-columns:220px 1fr 280px;gap:16px}
  .cm-header .cm-logo img{width:220px}
  .cm-nav{gap:16px}
  .cm-hero-copy{width:61%;padding-inline:32px}
  .cm-footer-top{grid-template-columns:220px 1fr}.cm-footer .cm-social-links{grid-column:1/-1;justify-self:center}
}

@media(max-width:760px){
  .cm-container{width:92%}
  .cm-header{min-height:0;background-size:190% 54px}
  .cm-retro-sparkles{display:none}
  .cm-header-inner{min-height:92px;padding:4px 0 11px;display:flex;flex-wrap:wrap;gap:10px}
  .cm-header .cm-logo{order:1}.cm-header .cm-logo img{width:190px;max-height:75px}
  .cm-menu-toggle{order:2;margin-left:auto}
  .cm-header-search{order:3;max-width:none;flex-basis:100%}
  .cm-nav{order:4;width:100%;justify-content:flex-start;padding:13px 0 5px;white-space:normal}
  .cm-hero{min-height:610px;margin-top:0;background-position:68% bottom;background-size:auto 64%;background-repeat:no-repeat;background-color:#edd3fc}
  .cm-hero::before{inset:0 0 38% 0;background:linear-gradient(180deg,rgba(247,226,255,.99),rgba(239,205,252,.96) 82%,rgba(239,205,252,.35))}
  .cm-hero::after{bottom:-60px}
  .cm-hero-copy{width:100%;min-height:365px;padding:35px 24px 25px;justify-content:flex-start}
  .cm-hero-copy::before{top:25px;font-size:22px}
  .cm-hero h1{max-width:330px;font-size:43px}
  .cm-hero .cm-lead{max-width:330px;font-size:17px}
  .cm-hero-trust{grid-template-columns:1fr;gap:7px;margin-top:16px}.cm-hero-trust span{font-size:11px}.cm-hero-trust b{width:23px;height:23px;flex-basis:23px}
  .cm-brand-grid{display:flex}.cm-brand-card{flex:0 0 112px}
  .cm-coupon-banner::before{width:64px;height:50px;flex-basis:64px;font-size:30px}
  .cm-footer{padding-top:98px}
  .cm-footer-top{display:flex;align-items:flex-start}.cm-footer-brand{width:100%}.cm-footer .cm-logo img{width:200px}
  .cm-footer nav{justify-content:flex-start}.cm-footer .cm-social-links{align-self:flex-start}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
