/* ============================================================
   LISTIO — page-precos.css
   Shared by /precos, /en/pricing, /es/precios
   ============================================================ */

:root {
  --green:        #BFF542;
  --green-dark:   #A3D435;
  --ink:          #1A1A18;
  --charcoal:     #292929;
  --muted:        #6B6B66;
  --surface:      #F4F4F4;
  --canvas:       #F8F8F8;
  --line:         #E2E3D8;
  --white:        #FFFFFF;
  --lime:         var(--green);
  --r-sm:         6px;
  --r-md:         8px;
  --r-lg:         12px;
  --r-xl:         16px;
  --r-2xl:        24px;
  --r-pill:       9999px;
  --container:    1120px;
  --pad:          22px;
  --text:         16px;
  --lh:           1.6;
  --t-hero:       clamp(28px, 3.8vw, 48px);
  --t-h2:         clamp(24px, 3.0vw, 36px);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--white);
  font-size:var(--text);
  line-height:var(--lh);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
a{ color:inherit; text-decoration:none; }
button{ font:inherit; }
:focus-visible{ outline:3px solid var(--lime); outline-offset:3px; border-radius:12px; }

.container{
  width:min(var(--container), calc(100% - (var(--pad) * 2)));
  margin-inline:auto;
}

/* ── Icons ──────────────────────────────────────────────────── */
.icon{ width:18px; height:18px; stroke:var(--charcoal); stroke-width:2; flex:0 0 auto; }
.icon--md{ width:20px; height:20px; }
.icon--lg{ width:22px; height:22px; }
.icon--xl{ width:26px; height:26px; }
.icon--on-lime{ stroke:var(--charcoal); }
.icon--muted{ stroke:var(--muted); }

/* ── Sections ───────────────────────────────────────────────── */
.section{ padding:80px 0 88px; }
.section--hero{ padding:64px 0 56px; }
.section--tight{ padding:32px 0 72px; }
.section--cta{ background:var(--green); padding:72px 0 80px; }

.section__head{ max-width:800px; margin-bottom:40px; }
.section__eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--surface); color:var(--charcoal);
  padding:6px 16px; border-radius:var(--r-pill);
  font-size:14px; font-weight:500; letter-spacing:.02em;
  border:1px solid var(--line); width:fit-content; margin-bottom:14px;
}
.section__title{
  margin:0 0 12px;
  font-size:var(--t-h2);
  line-height:1.18;
  letter-spacing:-0.03em;
  font-weight:600;
}
.section__title span{ display:block; color:var(--muted); }
.section__subtitle{ margin:0; font-size:16px; line-height:var(--lh); color:var(--muted); }

/* ── Header ─────────────────────────────────────────────────── */
.top-wrap{ padding:16px 0 8px; }
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:12px 16px;
}
.brand{ display:inline-flex; align-items:center; }
.brand__name{
  font-family:"Space Grotesk",sans-serif;
  font-weight:600; font-size:2.25rem; line-height:2.5rem;
  letter-spacing:-0.02em; color:var(--ink);
}

/* Nav */
.nav{ display:flex; align-items:center; gap:4px; }
.nav a{
  font-size:16px; font-weight:500; color:var(--ink);
  padding:8px 12px; border-radius:var(--r-lg);
  transition:background .12s ease;
}
.nav a:hover{ background:var(--surface); }
.header-ctas{ display:inline-flex; align-items:center; gap:10px; }

.mobile-toggle{
  display:none;
  width:44px; height:44px; border-radius:14px;
  border:1px solid var(--line); background:var(--white);
  cursor:pointer; align-items:center; justify-content:center;
}
.mobile-menu{ display:contents; }

/* ── Buttons ────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px; padding:13px 22px; border-radius:var(--r-pill);
  font-weight:600; font-size:15px; line-height:1; cursor:pointer;
  border:1px solid var(--line); background:var(--white); color:var(--ink);
  transition:background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.btn:hover{ background:var(--surface); border-color:rgba(26,26,24,.22); }
.btn--primary{ background:var(--green); border-color:transparent; color:var(--ink); }
.btn--primary:hover{ background:var(--green-dark); border-color:transparent; }
.btn--ghost{ background:transparent; border-color:transparent; }
.btn--ghost:hover{ background:var(--surface); border-color:transparent; }
.btn--dark{ background:var(--ink); border-color:transparent; color:var(--white); }
.btn--dark:hover{ background:var(--charcoal); border-color:transparent; }
.btn--lg{ padding:15px 28px; font-size:16px; }
.btn--xl{ padding:18px 36px; font-size:16px; }
.btn[aria-disabled="true"],
.btn.is-disabled{ pointer-events:none; opacity:.55; cursor:default; }

/* ── Pricing Hero ───────────────────────────────────────────── */
.pricing-hero {
  background-color: #f5f5eb;
}
.pricing-hero__notice{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px; border-radius:var(--r-pill);
  background:var(--surface); border:1px solid var(--line);
  font-size:14px; font-weight:500; color:var(--charcoal);
  margin-bottom:18px;
}
.pricing-hero__grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:56px; align-items:center;
}
.pricing-hero__title{
  font-size:var(--t-hero); line-height:1.16;
  letter-spacing:-0.03em; font-weight:600;
  margin:0 0 16px;
}
.pricing-hero__subtitle{
  font-size:16px; line-height:var(--lh);
  color:var(--muted); margin:0 0 24px; max-width:600px;
}
.pricing-hero__bullets{
  list-style:none; padding:0; margin:0 0 32px; display:grid; gap:12px;
}
.pricing-hero__bullets li{
  display:flex; align-items:center; gap:10px;
  font-size:16px; font-weight:500; color:var(--ink);
}
.pricing-hero__actions{ display:flex; gap:12px; flex-wrap:wrap; }

.pricing-hero__media-card{
  border-radius:var(--r-2xl); overflow:hidden;
  border:1px solid var(--line); background:var(--green);
}
.pricing-hero__media-card img{ width:100%; height:auto; display:block; }

/* ── Pricing Plans ──────────────────────────────────────────── */
.pricing-plans__head{ text-align:left; }

.pricing-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px; align-items:stretch;
}

.pricing-card{
  background:var(--white); border:1.5px solid var(--line);
  border-radius:var(--r-2xl); padding:24px 22px 22px;
  display:flex; flex-direction:column; gap:14px;
  position:relative; transition:border-color .14s ease;
}
.pricing-card:hover{ border-color:rgba(26,26,24,.22); }

.pricing-card--featured{
  border-color:var(--green);
}
.pricing-card--featured:hover{ border-color:var(--green); }

.pricing-card--soon{ opacity:.85; }

.pricing-card__badge{
  position:absolute; top:-13px; left:20px;
  padding:5px 12px; border-radius:var(--r-pill);
  font-size:12px; font-weight:600; letter-spacing:.04em;
  background:var(--charcoal); color:var(--white);
}

.pricing-card__top{ display:flex; align-items:center; gap:12px; padding-top:4px; }
.pricing-card__icon{
  width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  background:var(--surface); border-radius:var(--r-md); flex:0 0 auto;
}
.pricing-card__title{ margin:0; font-size:20px; font-weight:600; letter-spacing:-0.02em; }

.pricing-card__price{ display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; }
.pricing-card__currency{ font-size:17px; font-weight:600; }
.pricing-card__amount{ font-size:38px; font-weight:600; letter-spacing:-0.03em; line-height:1; }
.pricing-card__period{ font-size:14px; color:var(--muted); font-weight:500; }

.pricing-card__description{ margin:0; font-size:14px; color:var(--muted); line-height:1.55; }

.pricing-card__features{ list-style:none; padding:0; margin:8px 0 0; display:grid; gap:10px; }
.pricing-card__features li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:14px; line-height:1.5; color:var(--ink);
}
.pricing-card__features li.is-unavailable{ opacity:.5; }

.pricing-card__footer{ margin-top:auto; padding-top:16px; }
.pricing-card__footer .btn{ width:100%; justify-content:center; }

.pricing-plans__note{
  margin-top:16px; font-size:13px; color:var(--muted); text-align:center;
}

/* ── Final CTA ──────────────────────────────────────────────── */
.pricing-cta__box{ max-width:680px; }
.pricing-cta__title{ margin:0 0 14px; font-size:var(--t-h2); font-weight:600; letter-spacing:-0.03em; line-height:1.18; }
.pricing-cta__subtitle{ margin:0 0 24px; font-size:16px; line-height:var(--lh); color:rgba(26,26,24,.72); max-width:56ch; }
.pricing-cta__actions{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.pricing-cta__note{ margin:10px 0 0; font-size:14px; font-weight:500; color:rgba(26,26,24,.68); }

/* ── Footer — dark ──────────────────────────────────────────── */
.listio-footer{ background:var(--ink); color:var(--white); }
.listio-footer__inner{ padding:56px 0 32px; display:grid; gap:32px; }
.listio-footer__top{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:32px; align-items:start;
}
.listio-footer__brand{ display:grid; gap:12px; }
.listio-footer__logo{
  font-family:"Space Grotesk",sans-serif;
  font-weight:600; font-size:24px; letter-spacing:-0.02em; color:var(--white);
}
.listio-footer__desc{
  margin:0; font-size:14px; line-height:1.6;
  color:rgba(255,255,255,.58); max-width:48ch;
}
.listio-footer__pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 18px; border-radius:var(--r-pill);
  background:var(--green); color:var(--ink);
  font-size:14px; font-weight:600;
  transition:background .12s ease;
}
.listio-footer__pill:hover{ background:var(--green-dark); }
.listio-footer__col{ display:grid; gap:10px; align-content:start; }
.listio-footer__title{
  font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em;
  color:rgba(255,255,255,.4); margin-bottom:4px;
}
.listio-footer__link{
  font-size:14px; font-weight:500;
  color:rgba(255,255,255,.68); padding:3px 0;
  transition:color .1s ease;
}
.listio-footer__link:hover{ color:var(--white); }
.listio-footer__bottom{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
  padding-top:24px; border-top:1px solid rgba(255,255,255,.10);
}
.listio-footer__copy{ font-size:13px; color:rgba(255,255,255,.4); }
.listio-footer__mini-links{ display:flex; gap:16px; }
.listio-footer__mini-links a{ font-size:13px; color:rgba(255,255,255,.4); transition:color .1s; }
.listio-footer__mini-links a:hover{ color:var(--white); }

/* ── Cookie banner / modal ──────────────────────────────────── */
.lp-btn{
  appearance:none; border:1px solid var(--line); background:var(--white);
  color:var(--ink); border-radius:var(--r-pill); padding:10px 14px;
  font-size:14px; font-weight:600; cursor:pointer; line-height:1;
}
.lp-btn:hover{ background:var(--surface); border-color:rgba(26,26,24,.22); }
.lp-btn--primary{ background:var(--lime); border-color:transparent; color:var(--charcoal); }
.lp-btn--primary:hover{ background:var(--green-dark); border-color:transparent; }
.lp-btn--ghost{ background:transparent; border-color:transparent; }
.lp-btn--ghost:hover{ background:var(--surface); border-color:transparent; }

.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; padding:12px;
  background:rgba(244,244,244,.95); border-top:1px solid var(--line);
  display:none; z-index:9999;
}
.cookie-banner.is-open{ display:block; }
.cookie-banner__card{
  width:min(var(--container), calc(100% - 24px)); margin-inline:auto;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--r-xl); padding:14px; display:grid; gap:10px;
}
.cookie-banner__row{
  display:flex; gap:12px; align-items:flex-start;
  justify-content:space-between; flex-wrap:wrap;
}
.cookie-banner__text{ max-width:72ch; }
.cookie-banner__title{ margin:0 0 6px; font-size:14px; font-weight:600; color:var(--ink); }
.cookie-banner__p{ margin:0; font-size:14px; line-height:1.55; color:var(--muted); }
.cookie-banner__actions{
  display:inline-flex; gap:10px; flex-wrap:wrap;
  align-items:center; justify-content:flex-end;
}

.cookie-modal{
  position:fixed; inset:0; display:none;
  background:rgba(26,26,24,.4); z-index:10000; padding:14px;
}
.cookie-modal.is-open{ display:grid; place-items:center; }
.cookie-modal__card{
  width:min(640px,100%); background:var(--white); border:1px solid var(--line);
  border-radius:var(--r-2xl); padding:20px; display:grid; gap:14px;
}
.cookie-modal__head{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.cookie-modal__head h3{ margin:0; font-size:18px; font-weight:600; letter-spacing:-0.02em; }
.cookie-modal__close{
  width:40px; height:40px; border-radius:var(--r-md);
  border:1px solid var(--line); background:var(--white);
  cursor:pointer; font-size:18px; font-weight:600;
}
.cookie-modal__close:hover{ background:var(--surface); }
.cookie-modal__desc{ margin:0; font-size:15px; line-height:1.6; color:var(--muted); }
.cookie-prefs{
  display:grid; gap:10px; padding:12px;
  border:1px solid var(--line); border-radius:var(--r-lg); background:var(--canvas);
}
.cookie-toggle{ display:flex; gap:10px; align-items:flex-start; justify-content:space-between; }
.cookie-toggle__text{ display:grid; gap:2px; }
.cookie-toggle__text b{ font-size:14px; font-weight:600; color:var(--ink); }
.cookie-toggle__text span{ font-size:14px; color:var(--muted); line-height:1.4; }
.switch{ position:relative; width:48px; height:28px; flex:0 0 auto; }
.switch input{ display:none; }
.switch span{
  position:absolute; inset:0; border-radius:var(--r-pill);
  border:1px solid var(--line); background:var(--surface);
  cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.switch span::after{
  content:""; position:absolute; top:3px; left:3px;
  width:22px; height:22px; border-radius:var(--r-pill);
  background:var(--charcoal); transition:transform .15s ease;
}
.switch input:checked + span{ background:var(--lime); border-color:transparent; }
.switch input:checked + span::after{ transform:translateX(20px); }
.cookie-modal__actions{
  display:flex; gap:10px; flex-wrap:wrap;
  justify-content:flex-end; padding-top:6px;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:979px){
  .mobile-toggle{ display:inline-flex !important; }
  .nav, .header-ctas, .lang-switcher{ display:none !important; }

  .pricing-hero__grid{ grid-template-columns:1fr; gap:36px; }
  .pricing-hero__media{ order:-1; }
  .section--hero{ padding:32px 0 40px; }
  .section{ padding:52px 0 60px; }
  .section--cta{ padding:56px 0 64px; }
  .pricing-cards{ grid-template-columns:1fr; }

  .listio-footer__top{ grid-template-columns:1fr 1fr; gap:24px; }
  .listio-footer__brand{ grid-column:1/-1; }
}
@media(max-width:599px){
  .listio-footer__top{ grid-template-columns:1fr; }
  .listio-footer__bottom{ flex-direction:column; align-items:flex-start; gap:8px; }
}
