/* Paleta México: verde (#006847), blanco (#ffffff), rojo (#CE1126) */
:root, html {
  --bg:#fff6f6;
  --card:#fff;
  --text:#111827;
  --muted:#6b7280;
  --primary:#006847;  /* verde bandera de México */
  --accent:#CE1126;   /* rojo bandera de México */
  --border:#8F9092;
}
:root.dark, html.dark, html[data-theme="dark"]{
  --bg:#2a2a2a;
  --card:#141414;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --primary:#006847;
  --accent:#CE1126;
}

*{box-sizing:border-box}
html,body{
  margin:0; padding:0;
  background:var(--bg); color:var(--text);
  font-family:"Inter","Montserrat","Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,Arial,sans-serif;
}
a{color:inherit; text-decoration:none}
img{padding: 5px;max-width:100%; display:block}

/* Fondo orgánico en tonos MX */
.bg-ornament{position:fixed; inset:0; z-index:-1; overflow:hidden; filter:blur(30px) saturate(1.1)}
.blob{position:absolute; border-radius:50%; opacity:.42; mix-blend-mode:multiply; animation:float 30s ease-in-out infinite}
.blob.b1{width:520px;height:520px;background:radial-gradient(circle at 30% 30%, #059669, transparent 60%);top:-120px;left:-120px;animation-delay:-4s}  /* verde */
.blob.b2{width:600px;height:600px;background:radial-gradient(circle at 70% 40%, #ef4444, transparent 60%);bottom:-160px;right:-140px;animation-delay:-10s} /* rojo */
.blob.b3{width:420px;height:420px;background:radial-gradient(circle at 40% 70%, #16a34a, transparent 60%);top:40%;left:60%;animation-delay:-16s} /* verde claro */
@keyframes float{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.04)}}

.container{max-width:1100px; margin:0 auto; padding:16px}

.header{display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.logo{display:flex; align-items:center; gap:10px; font-weight:800; font-size:22px}
.logo img{height:52px; width:auto; filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}
.actions{display:flex; align-items:center; gap:12px}

.btn{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px; border:1px solid var(--border); background:var(--card); color:var(--text); box-shadow:0 2px 8px rgba(0,0,0,.04); cursor:pointer; transition:transform .15s ease, box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(90deg,var(--primary),var(--accent)); color:#fff; border:none}

.theme-pill{width:44px; height:38px; border-radius:12px; background:var(--card); border:1px solid var(--border); display:grid; place-items:center; box-shadow:0 4px 14px rgba(0,0,0,.08)}
.theme-pill .dot{width:16px; height:16px; border-radius:50%; background:radial-gradient(circle at 30% 30%, var(--accent), var(--primary))}

h1{font-size:26px; margin:10px 0 18px}

/* АДАПТИВНАЯ СЕТКА ДЛЯ КАРТОЧЕК */
.grid{display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

/* Карточка оффера */
.card{margin: 5px 0 5px 0; transition: all 0.3s ease; background:var(--card); border:1px solid var(--border); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 8px 20px rgb(0 0 0 / 28%)}
.card:hover {  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);}
.card .top{display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid var(--border);
    flex-direction: row;
    flex-wrap: wrap;}
.card .top .logo-wrap{width:120px; height:50px; border-radius:10px; overflow:hidden; display:grid; place-items:center; background:#fff}
.card .body{padding:14px; display:flex; flex-direction:column; gap:10px}
.card .title{font-weight:800}

/* highlight mode */
.card.highlight{outline:2px solid var(--hl-bg); box-shadow:0 10px 30px rgba(0,0,0,.08)}
.card.highlight .top{background:color-mix(in srgb, var(--hl-bg) 55%, transparent)}
.card.highlight .title{color:var(--hl-text)}
.card .badge{padding:4px 8px; border-radius:999px; border:1px solid var(--border); font-size:12px; color:var(--muted); background:rgba(255,255,255,.4)}
.badge.sale{display:none;font-weight:800}

/* specs (label/value) */
.specs{display:grid; gap:10px}
.specs .row{display:grid; grid-template-columns:80px 1fr; column-gap:14px; align-items:baseline}
.specs .k{font-size:13px; color:var(--muted)}
.specs .v{text-align:right; font-weight:600; font-size:14px}

.cta{display:flex; gap:10px; margin-top:6px}
.cta .apply{
  transition: all 0.3s ease;
  flex:1; text-align:center; border-radius:12px; padding:10px 14px;
  background:linear-gradient(90deg, var(--primary), var(--accent)); color:#fff; font-weight:800; border:none; cursor:pointer
}
.apply:hover {
  box-shadow: rgba(22, 43, 119, 0.36) 3px 3px 5px 0px;
  background: linear-gradient(90deg, #055c39, #b30e1b); /* darken del hover */
}
.cta 
.details {
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  cursor: pointer;
  width: 30%;
  height: 50px;
  background-image: linear-gradient(to top, #D8D9DB 0%, #fff 80%, #FDFDFD 100%);
  border-radius: 30px;
  border: 1px solid #8F9092;
  transition: all 0.2s ease;
  font-family: "Source Sans Pro", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #606060;
  text-shadow: 0 1px #fff;
}

.details:hover {
  box-shadow: 0 4px 3px 1px #FCFCFC, 0 6px 8px #D6D7D9, 0 -4px 4px #CECFD1, 0 -6px 4px #FEFEFE, inset 0 0 3px 3px #CECFD1;
}

.details:active {
  box-shadow: 0 4px 3px 1px #FCFCFC, 0 6px 8px #D6D7D9, 0 -4px 4px #CECFD1, 0 -6px 4px #FEFEFE, inset 0 0 5px 3px #999, inset 0 0 30px #aaa;
}

.details:focus {
  box-shadow: 0 4px 3px 1px #FCFCFC, 0 6px 8px #D6D7D9, 0 -4px 4px #CECFD1, 0 -6px 4px #FEFEFE, inset 0 0 5px 3px #999, inset 0 0 30px #aaa;
}

.small{font-size:12px; color:var(--muted)}
.details-panel{display:none; padding:12px; border-top:1px dashed var(--border); font-size:14px}
.card.open .details-panel{display:block}

.section-title{margin:28px 0 10px; font-weight:800; font-size:18px; letter-spacing:.2px}

.footer{margin:20px 0 40px; padding-top:14px; border-top:1px solid var(--border); color:var(--muted); font-size:13px}
.footer .disclaimer{margin-top:4px}

.ads-block{background:var(--card); border:1px dashed var(--border); border-radius:12px; padding:10px; text-align:center}

/* SEO / Аккордеон */
.seo-content{margin-top:18px}
.seo-content h2{font-size:22px; margin:0 0 10px}
.accordion{display:grid; gap:10px; margin-top:10px}
.acc-item{background:var(--card); border:1px solid var(--border); border-radius:12px; overflow:hidden}
.acc-head{width:100%; text-align:left; padding:12px 14px; background:transparent; color:var(--text); border:0; cursor:pointer; font-weight:700; display:flex; align-items:center; justify-content:space-between}
.acc-head:after{content:"▾"; opacity:.6}
.acc-item.open .acc-head:after{content:"▴"}
.acc-body{display:none; padding:0 14px 14px; color:var(--text)}
.acc-item.open .acc-body{display:block}
.accordion .muted{color:var(--muted); font-size:13px}

/* Telegram */
.tg-dot{margin:0 10px 0 10px; width:16px; height:16px; border-radius:50%; background:linear-gradient(135deg,#37aee2,#1e96c8); display:inline-block}
.tg-btn{width:120px; height:38px; border-radius:12px; background:var(--card); border:1px solid var(--border); display:flex; place-items:center; box-shadow:0 4px 14px rgba(0,0,0,.08)}

/* Footer nav */
.footer .footer-nav{display:grid; gap:14px; margin-bottom:12px}
@media (min-width:720px){.footer .footer-nav{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.footer .footer-nav{grid-template-columns:repeat(3,1fr)}}
.footer .col-title{font-weight:800; font-size:14px; margin-bottom:6px}
.footer .footer-nav ul{list-style:none; margin:0; padding:0; display:grid; gap:6px}
.footer .footer-nav a{color:var(--muted); transition:color .15s ease}
.footer .footer-nav a:hover{color:var(--text)}
.footer .copy{display:flex; flex-direction:column; gap:6px; color:var(--muted); font-size:13px}
@media (min-width:640px){.footer .copy{flex-direction:row; justify-content:space-between; align-items:center}}

/* Sun–Moon theme switch */
.switch-wrapper-sun-moon input[type="checkbox"] { visibility:hidden; display:none; }
.switch-wrapper-sun-moon *, .switch-wrapper-sun-moon ::after, .switch-wrapper-sun-moon ::before { box-sizing:border-box; }
.switch-wrapper-sun-moon .switch-sun-moon {
  --width-of-switch: 3.5em;
  --height-of-switch: 2em;
  --size-of-icon: 1.4em;
  --slider-offset: 0.3em;
  position: relative; width: var(--width-of-switch); height: var(--height-of-switch); display: inline-block;
}
.switch-wrapper-sun-moon .slider-sun-moon {
    box-shadow: inset 0px 0px 5px 0px rgb(0 0 0 / 28%);
  position: absolute; cursor: pointer; inset: 0;
  background-color: #f4f4f5; transition: .4s; border-radius: 30px;
}
.switch-wrapper-sun-moon .slider-sun-moon:before {
  position: absolute; content: ""; height: var(--size-of-icon); width: var(--size-of-icon); border-radius: 20px;
  left: var(--slider-offset); top: 50%; transform: translateY(-50%);
  background: linear-gradient(40deg, #ffbc00, #ee9a1e 70%); transition: .4s;
}
.switch-wrapper-sun-moon input:checked + .slider-sun-moon { background-color: #303136; }
.switch-wrapper-sun-moon input:checked + .slider-sun-moon:before {
  left: calc(100% - (var(--size-of-icon) + var(--slider-offset)));
  background: #303136; box-shadow: inset -3px -2px 5px -2px #0aa696, inset -10px -4px 0 0 #0dd6c1;
}

/* Старая плашка темы скрыта */
.theme-pill { display:none !important; }

/* Promo badge в стиле MX */
.badge.promo{
  background:#006847;
  color:#ffffff;
  border:1px solid rgba(0,0,0,.08)
}

/* From Uiverse.io by lenfear23 */ 
button {
display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
    cursor: pointer;
    width: 70%;
    height: 50px;
    background-image: linear-gradient(to top, #5cb977 0% 0%, #b3ffd1 80% 80%, #FDFDFD 100% 100%);
    border-radius: 30px;
    border: 1px solid #8F9092;
    transition: all 0.2s ease;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #575757;
    text-shadow: 0 1px #fff;
}

button:hover {
  box-shadow: 0 4px 3px 1px #FCFCFC, 0 6px 8px #D6D7D9, 0 -4px 4px #CECFD1, 0 -6px 4px #FEFEFE, inset 0 0 3px 3px #CECFD1;
}

button:active {
  box-shadow: 0 4px 3px 1px #FCFCFC, 0 6px 8px #D6D7D9, 0 -4px 4px #CECFD1, 0 -6px 4px #FEFEFE, inset 0 0 5px 3px #999, inset 0 0 30px #aaa;
}

button:focus {
  box-shadow: 0 4px 3px 1px #FCFCFC, 0 6px 8px #D6D7D9, 0 -4px 4px #CECFD1, 0 -6px 4px #FEFEFE, inset 0 0 5px 3px #999, inset 0 0 30px #aaa;
}


/* ===== Dark theme: плавные и красивые CTA-кнопки ===== */
/* Общие токены для анимации в тёмной теме */
:root.dark .cta,
html.dark .cta,
html[data-theme="dark"] .cta{
  --ease: cubic-bezier(.2,.7,.2,1);
  --t-fast: .16s var(--ease);
  --t: .24s var(--ease);
  --shadow: 0 2px 6px rgba(0,0,0,.55), 0 12px 22px rgba(0,0,0,.35);
  --shadow-hover: 0 6px 10px rgba(0,0,0,.6), 0 18px 28px rgba(0,0,0,.45);
  --shadow-active: 0 3px 6px rgba(0,0,0,.7), inset 0 2px 8px rgba(0,0,0,.55);
}

/* PRIMARY: .button */
:root.dark .cta .button,
html.dark .cta .button,
html[data-theme="dark"] .cta .button{
  border:1px solid color-mix(in srgb, var(--primary) 55%, #000 45%);
  /* мягкий объёмный фон с «бликом» */
  background:
    radial-gradient(120% 140% at 100% 0%,
      color-mix(in srgb, var(--primary) 25%, #0b0b0b 75%) 0%, transparent 60%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--primary) 60%, #0b0b0b 40%) 0%,
      color-mix(in srgb, var(--primary) 22%, #0b0b0b 78%) 100%);
  background-size: 200% 200%, 100% 100%;
  background-position: 80% 0%, 0% 0%;
  color:#eafaf0;
  text-shadow: 0 1px rgba(0,0,0,.55);
  box-shadow: var(--shadow);
  transition:
    transform var(--t-fast),
    box-shadow var(--t),
    background-position var(--t),
    filter var(--t),
    border-color var(--t);
  will-change: transform, box-shadow, background-position, filter;
}
:root.dark .cta .button:hover,
html.dark .cta .button:hover,
html[data-theme="dark"] .cta .button:hover{
  background-position: 60% -10%, 0% 0%;
  filter: brightness(1.05);
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}
:root.dark .cta .button:active,
html.dark .cta .button:active,
html[data-theme="dark"] .cta .button:active{
  transform: translateY(0);
  box-shadow: var(--shadow-active);
  filter: brightness(.98) contrast(1.05);
}
:root.dark .cta .button:focus-visible,
html.dark .cta .button:focus-visible,
html[data-theme="dark"] .cta .button:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--accent) 80%, white 20%);
  outline-offset: 2px;
}

/* SECONDARY: .details */
:root.dark .cta .details,
html.dark .cta .details,
html[data-theme="dark"] .cta .details{
  border:1px solid #2f2f30;
  color: var(--text);  /* #e5e7eb */
  background: linear-gradient(180deg, #1b2330 0%, #121821 100%);
  text-shadow: 0 1px rgba(0,0,0,.6);
  box-shadow: 0 1px 2px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
  transition:
    transform var(--t-fast),
    box-shadow var(--t),
    filter var(--t),
    border-color var(--t),
    background var(--t);
  will-change: transform, box-shadow, filter;
}
:root.dark .cta .details:hover,
html.dark .cta .details:hover,
html[data-theme="dark"] .cta .details:hover{
  box-shadow: 0 6px 12px rgba(0,0,0,.45), inset 0 0 3px rgba(255,255,255,.06);
  filter: brightness(1.03);
  transform: translateY(-1px);
}
:root.dark .cta .details:active,
html.dark .cta .details:active,
html[data-theme="dark"] .cta .details:active{
  transform: translateY(0);
  box-shadow: 0 3px 6px rgba(0,0,0,.65), inset 0 3px 8px rgba(0,0,0,.45);
}
:root.dark .cta .details:focus-visible,
html.dark .cta .details:focus-visible,
html[data-theme="dark"] .cta .details:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--accent) 70%, white 30%);
  outline-offset: 2px;
}

/* если пользователь просит меньше анимации */
@media (prefers-reduced-motion: reduce){
  :root.dark .cta .button,
  html.dark .cta .button,
  html[data-theme="dark"] .cta .button,
  :root.dark .cta .details,
  html.dark .cta .details,
  html[data-theme="dark"] .cta .details{ transition:none }
}



