/* Identidade compartilhada para páginas públicas de venda e checkout.
   Não altera autenticação, cobrança, webhooks ou banco de dados. */
:root { --ecm-font-body:'Inter',sans-serif; --ecm-font-head:'Poppins',sans-serif;
 --ecm-font-ui:'Manrope',sans-serif; --ecm-gold:#f5d681; --ecm-cream:#fff5e5; }
body.ecm-public-brand { font-family:var(--ecm-font-body); }
body.ecm-public-brand h1,body.ecm-public-brand h2,body.ecm-public-brand h3,
body.ecm-public-brand .display,body.ecm-public-brand .price,
body.ecm-public-brand .total b {font-family:var(--ecm-font-head);letter-spacing:-.035em;}
body.ecm-public-brand .brand,body.ecm-public-brand .brand-name,
body.ecm-public-brand button,body.ecm-public-brand .cta,
body.ecm-public-brand .back,body.ecm-public-brand nav,
body.ecm-public-brand label,body.ecm-public-brand input {
 font-family:var(--ecm-font-ui);}
body.ecm-public-brand .ecm-brand-lockup{display:inline-flex;align-items:center;gap:11px;
 color:var(--ecm-cream);text-decoration:none;line-height:1.15;font-family:var(--ecm-font-head);
 font-size:clamp(14px,1.25vw,18px);font-weight:700;white-space:nowrap}
body.ecm-public-brand .ecm-brand-lockup .ecm-brand-logo{
 width:43px;height:43px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 7px rgba(0,0,0,.32));}
body.ecm-public-brand .ecm-brand-lockup .ecm-brand-gold{color:var(--ecm-gold)}
body.ecm-public-brand .cta {font-weight:800;letter-spacing:.01em;}
body.ecm-public-brand .cta:focus-visible,body.ecm-public-brand a:focus-visible,
body.ecm-public-brand input:focus-visible {outline:3px solid var(--ecm-gold);outline-offset:3px}
/* Checkout: mesma tipografia, botões e acabamento da apresentação. */
body.ecm-checkout .wrap{max-width:1080px}
body.ecm-checkout .nav{min-height:68px;border-bottom:1px solid rgba(245,214,129,.15)}
body.ecm-checkout .hero h1{font-weight:800;line-height:1.09;letter-spacing:-.04em}
body.ecm-checkout .hero p,body.ecm-checkout .sub,
body.ecm-checkout .fine{font-family:var(--ecm-font-body)}
body.ecm-checkout .card{border-color:rgba(245,214,129,.23);
 background:linear-gradient(145deg,rgba(37,23,19,.98),rgba(19,13,11,.99));
 box-shadow:0 16px 48px rgba(0,0,0,.25)}
body.ecm-checkout .price{color:var(--ecm-gold)}
body.ecm-checkout .cta{border-radius:999px;
 background:linear-gradient(135deg,#f5d984,#dfb24a);
 box-shadow:0 12px 30px rgba(225,183,82,.2);transition:transform .18s,filter .18s}
body.ecm-checkout .cta:hover{transform:translateY(-2px);filter:brightness(1.06)}
body.ecm-checkout input{border-color:rgba(245,214,129,.28)}
body.ecm-checkout input:focus{border-color:#f5d681;box-shadow:0 0 0 3px rgba(245,214,129,.12);outline:none}
@media(max-width:600px){body.ecm-public-brand .ecm-brand-lockup .ecm-brand-logo{width:36px;height:36px}
body.ecm-checkout .nav{gap:12px}}



/* Seção de recursos: redesenho fiel à referência espanhola, com conteúdo acessível. */
#recursos.recursos-premium {
  position: relative; isolation:isolate; overflow:hidden;
  padding: 44px 0 62px;
  background: #090606 url('/assets/ecm-recursos-espana.webp') center top / 100% 100% no-repeat;
  color:#fff5e9;
}
#recursos.recursos-premium::before{
  content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(4,2,2,.15) 30%,rgba(4,2,2,.13) 75%,rgba(0,0,0,.10));
}
#recursos .recursos-wrap{width:min(1210px,calc(100% - 48px));position:relative;z-index:1;}
#recursos .recursos-intro{max-width:970px;margin:0 auto 18px;padding:0 4px;}
#recursos .recursos-intro .eyebrow{font-size:11px;letter-spacing:.22em;color:#f7d590;margin:0 0 12px;}
#recursos .recursos-intro h2{font:800 clamp(30px,3.6vw,53px)/1.07 Poppins,sans-serif;letter-spacing:-.045em;margin:0 0 12px;}
#recursos .recursos-intro p{font-size:clamp(14px,1.2vw,17px);line-height:1.55;max-width:910px;color:#e0d7cf;}
#recursos .recursos-subhead{max-width:970px;margin:20px auto 16px;padding-left:18px;position:relative;}
#recursos .recursos-subhead::before{content:"";position:absolute;left:0;top:3px;width:5px;height:43px;background:#e83248;border-radius:8px;box-shadow:0 0 18px #e8324850;}
#recursos .recursos-subhead h3{font:800 clamp(20px,2.2vw,28px)/1.2 Poppins,sans-serif;letter-spacing:-.035em;}
#recursos .recursos-subhead p{font-size:15px;color:#f4d77d;margin-top:2px;}
#recursos .features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
#recursos .feature{position:relative;display:flex;gap:13px;align-items:center;min-width:0;min-height:108px;padding:17px 15px;border-radius:16px;border:1px solid rgba(245,194,91,.58);background:linear-gradient(135deg,rgba(31,18,14,.96),rgba(13,10,9,.96));box-shadow:0 10px 28px rgba(0,0,0,.33),inset 0 1px rgba(255,241,210,.06);transition:transform .23s ease,border-color .23s ease,box-shadow .23s ease;}
#recursos .feature::before{content:"";position:absolute;left:25%;right:25%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#ffe4a0,transparent);opacity:.6;}
#recursos .feature:hover{transform:translateY(-5px);border-color:#f9dc94;box-shadow:0 18px 35px rgba(0,0,0,.44),0 0 25px rgba(245,190,87,.21);}
#recursos .feature .icon{flex:0 0 49px;width:49px;height:49px;display:grid;place-items:center;margin:0;border-radius:11px;border:1px solid rgba(255,183,95,.72);background:linear-gradient(145deg,#80191b,#390b0b);color:#ffdb8a;font:800 20px Manrope,sans-serif;box-shadow:inset 0 0 13px rgba(242,51,54,.3),0 0 12px rgba(235,39,47,.12);transition:transform .23s ease;}
#recursos .feature:hover .icon{transform:scale(1.08)}
#recursos .feature .feature-copy{min-width:0}
#recursos .feature h3{font:800 12px/1.36 Poppins,sans-serif;letter-spacing:-.025em;color:#fff6e9;}
#recursos .feature p{font:500 11px/1.5 Manrope,sans-serif;color:#d4c8be;margin-top:7px;}
#recursos .recursos-conversion{max-width:720px;margin:23px auto 0;text-align:center;display:flex;align-items:center;flex-direction:column;gap:0;background:none;border:0;padding:0;box-shadow:none;}
#recursos .recursos-buy{position:relative;display:flex;gap:8px;justify-content:center;align-items:center;min-height:62px;width:100%;border:1px solid #ffeab4;font:900 clamp(13px,1.25vw,19px) Manrope,sans-serif;color:#201407;background:linear-gradient(180deg,#ffe58c,#e7b44d);box-shadow:0 12px 34px #0008,0 0 22px #ffbb5b43;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;}
#recursos .recursos-buy:hover{transform:translateY(-4px);filter:brightness(1.06);box-shadow:0 16px 38px #000a,0 0 28px #ffce6e78;}
#recursos .recursos-buy span{font-size:25px;line-height:1;}
#recursos .recursos-price{font:800 clamp(24px,2.3vw,31px) Poppins,sans-serif;color:#ffdf83;margin-top:10px;letter-spacing:-.04em;}
#recursos .recursos-price span{font-size:.7em;font-weight:600;color:#f5db92;}
#recursos .recursos-conversion p{font:600 12px/1.5 Manrope,sans-serif;color:#e2d6c7;}
@media(max-width:1100px){#recursos .features{grid-template-columns:repeat(2,minmax(0,1fr));}#recursos.recursos-premium{background-size:cover;background-position:center}}
@media(max-width:650px){#recursos.recursos-premium{padding:50px 0 60px;background-size:auto 100%;background-position:center;}#recursos .recursos-wrap{width:calc(100% - 30px);}#recursos .recursos-intro h2{font-size:clamp(29px,8vw,41px)}#recursos .features{grid-template-columns:1fr;gap:10px;}#recursos .feature{min-height:93px;padding:14px 16px;}#recursos .feature h3{font-size:13px;}#recursos .feature p{font-size:11px;}#recursos .recursos-buy{min-height:58px;padding:13px 10px;}#recursos .recursos-intro{margin-bottom:22px;}}
@media(prefers-reduced-motion:reduce){#recursos .feature,#recursos .feature .icon,#recursos .recursos-buy{transition:none}#recursos .feature:hover,#recursos .recursos-buy:hover{transform:none}}


/* ===== Atualização premium: recursos mais definidos e cartões com hover sofisticado ===== */
#recursos.recursos-premium{
  padding:56px 0 74px !important;
  background:#090606 url('/assets/ecm-recursos-espana.webp') center top / cover no-repeat !important;
  overflow:hidden !important;
}
#recursos.recursos-premium::before{
  display:block !important;
  z-index:0 !important;
  background:
    linear-gradient(90deg,rgba(6,4,4,.75) 0%,rgba(8,5,5,.54) 24%,rgba(8,5,5,.42) 54%,rgba(8,5,5,.26) 100%),
    linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.36));
}
#recursos.recursos-premium > .recursos-wrap{display:block !important; position:relative; z-index:1}
#recursos .recursos-wrap{width:min(1280px,calc(100% - 58px));}
#recursos .recursos-intro,
#recursos .recursos-subhead{max-width:1040px}
#recursos .recursos-intro .eyebrow,
#recursos .recursos-subhead p{
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
#recursos .recursos-intro h2{
  font-size:clamp(36px,4.8vw,64px);
  line-height:1.02;
  margin-bottom:16px;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}
#recursos .recursos-intro p{
  font-size:clamp(15px,1.35vw,19px);
  line-height:1.58;
  max-width:980px;
  color:#f4ece4;
  text-shadow:0 2px 12px rgba(0,0,0,.38);
}
#recursos .recursos-subhead{
  margin:24px auto 18px;
}
#recursos .recursos-subhead h3{
  font-size:clamp(24px,2.4vw,35px);
  color:#fff8ef;
  text-shadow:0 2px 10px rgba(0,0,0,.38);
}
#recursos .recursos-subhead p{font-size:17px;color:#ffd97a}
#recursos .features{
  gap:16px;
  align-items:stretch;
}
#recursos .feature{
  overflow:hidden;
  align-items:flex-start;
  min-height:124px;
  padding:20px 18px 18px;
  border-radius:20px;
  border:1px solid rgba(255,205,110,.62);
  background:linear-gradient(145deg,rgba(20,11,10,.88),rgba(11,8,8,.82));
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  box-shadow:
    0 14px 32px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,243,222,.08),
    inset 0 -18px 26px rgba(0,0,0,.16);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
  z-index:1;
}
#recursos .feature::before{
  left:18%; right:18%; top:0;
  height:2px;
  opacity:.78;
  background:linear-gradient(90deg,transparent,rgba(255,234,169,.95),transparent);
}
#recursos .feature::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:20px;
  border:1px solid rgba(255,231,170,.0);
  box-shadow:0 0 0 0 rgba(255,205,102,0);
  transition:opacity .28s ease, box-shadow .28s ease, border-color .28s ease;
  pointer-events:none;
}
#recursos .feature:hover{
  transform:translateY(-10px) scale(1.018);
  border-color:#ffe2a0;
  background:linear-gradient(145deg,rgba(29,17,15,.94),rgba(15,10,10,.92));
  box-shadow:
    0 24px 48px rgba(0,0,0,.50),
    0 0 32px rgba(245,191,88,.18),
    inset 0 1px 0 rgba(255,244,214,.12);
  z-index:3;
}
#recursos .feature:hover::after{
  border-color:rgba(255,228,154,.88);
  box-shadow:0 0 0 4px rgba(255,214,120,.10),0 0 26px rgba(255,191,86,.28);
}
#recursos .feature .icon{
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:16px;
  font-size:24px;
  font-weight:900;
  color:#ffe4a0;
  border:1px solid rgba(255,194,104,.9);
  background:linear-gradient(145deg,#9d201f,#490b0d);
  box-shadow:
    inset 0 0 16px rgba(255,90,90,.20),
    0 8px 18px rgba(90,11,11,.34),
    0 0 16px rgba(255,78,55,.16);
  transition:transform .28s ease, box-shadow .28s ease, filter .28s ease;
}
#recursos .feature:hover .icon{
  transform:translateY(-3px) scale(1.1);
  filter:brightness(1.08);
  box-shadow:
    inset 0 0 20px rgba(255,101,101,.26),
    0 12px 24px rgba(90,11,11,.42),
    0 0 18px rgba(255,135,65,.28);
}
#recursos .feature .feature-copy{padding-top:2px}
#recursos .feature h3{
  font-size:17px;
  line-height:1.28;
  color:#fffaf1;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
#recursos .feature p{
  font-size:13px;
  line-height:1.55;
  color:#e7ddd3;
  margin-top:8px;
  text-shadow:0 1px 8px rgba(0,0,0,.20);
}
#recursos .recursos-conversion{
  max-width:760px;
  margin:30px auto 0;
}
#recursos .recursos-buy{
  min-height:68px;
  border-radius:999px;
  font-size:clamp(15px,1.4vw,20px);
  letter-spacing:.015em;
  text-transform:uppercase;
  box-shadow:0 18px 36px rgba(0,0,0,.40),0 0 26px rgba(255,191,72,.26);
}
#recursos .recursos-buy:hover{
  transform:translateY(-5px) scale(1.01);
  box-shadow:0 22px 44px rgba(0,0,0,.50),0 0 34px rgba(255,207,110,.44);
}
#recursos .recursos-price{
  font-size:clamp(30px,2.8vw,40px);
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
#recursos .recursos-conversion p{
  font-size:13px;
  color:#f3e8d7;
}
@media(max-width:1100px){
  #recursos .recursos-wrap{width:calc(100% - 34px)}
  #recursos .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  #recursos .feature{min-height:118px}
}
@media(max-width:650px){
  #recursos.recursos-premium{padding:48px 0 58px !important;background-position:32% center !important}
  #recursos .recursos-wrap{width:calc(100% - 22px)}
  #recursos .recursos-intro h2{font-size:clamp(32px,9vw,44px)}
  #recursos .recursos-intro p{font-size:15px}
  #recursos .recursos-subhead h3{font-size:26px}
  #recursos .features{grid-template-columns:1fr;gap:12px}
  #recursos .feature{min-height:112px;padding:16px}
  #recursos .feature .icon{width:52px;height:52px;flex-basis:52px;font-size:22px}
  #recursos .feature h3{font-size:15px}
  #recursos .feature p{font-size:12px}
}
