/* =========================================================
   MEXA CAPS - DESIGN SYSTEM
========================================================= */

:root{
  --bg-main:#f2f4f7;
  --bg-hero:#0d1f2f;
  --bg-card:#ffffff;
  --line-soft:rgba(15,35,55,.14);

  --brand-dark:#0f5132;
  --brand-main:#198754;
  --brand-light:#28c76f;
  --accent:#ff8a00;

  --text-main:#101828;
  --text-soft:#475467;
  --text-on-dark:#f8fafc;

  --danger:#d92d20;
  --danger-soft:#fef3f2;
  --success:#067647;
  --success-soft:#ecfdf3;

  --radius-xl:28px;
  --radius-lg:18px;
  --radius-md:14px;
  --radius-sm:10px;

  --shadow-sm:0 8px 20px rgba(16,24,40,.08);
  --shadow-md:0 16px 35px rgba(16,24,40,.12);
  --shadow-lg:0 28px 55px rgba(16,24,40,.16);
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:"Manrope","Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
  background:var(--bg-main);
  color:var(--text-main);
  padding-top:92px;
}

img{
  max-width:100%;
  display:block;
}

a{
  color:inherit;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ================= COMMON BUTTONS ================= */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:none;
  border-radius:999px;
  padding:11px 18px;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  background:var(--brand-main);
  color:#fff;
  transition:.24s ease;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm);
}

.btn-secondary{
  background:#fff;
  color:var(--text-main);
  border:1px solid var(--line-soft);
}

.btn-secondary:hover{
  background:#f8fafc;
}

/* ================= HEADER ================= */

.top-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  min-height:80px;
  background:rgba(7,18,29,.88);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px clamp(18px,4vw,46px);
  z-index:1000;
  border-bottom:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
}

.top-header--home{
  background:linear-gradient(100deg,rgba(7,18,29,.92),rgba(9,42,30,.87));
}

.logo-area{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:180px;
}

.brand-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:inherit;
  text-decoration:none;
}

.logo-area img{
  width:44px;
  height:44px;
  object-fit:contain;
}

.logo-area h1{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:20px;
  font-weight:700;
  line-height:1.1;
}

.brand-copy{
  display:flex;
  flex-direction:column;
}

.brand-copy span{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.75;
}

.home-nav{
  display:flex;
  align-items:center;
  gap:16px;
}

.home-nav a{
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  opacity:.88;
  transition:.2s;
}

.home-nav a:hover{
  opacity:1;
}

.search{
  flex:1;
  max-width:320px;
}

.search input{
  width:100%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.1);
  color:#fff;
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  outline:none;
}

.search input::placeholder{
  color:rgba(255,255,255,.72);
}

.search input:focus{
  border-color:rgba(255,255,255,.45);
}

.user-menu{
  display:flex;
  align-items:center;
  gap:12px;
}

.user-info{
  position:relative;
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}

.user-info > span{
  font-size:13px;
  font-weight:700;
  max-width:120px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.avatar{
  width:34px;
  height:34px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(255,255,255,.3);
}

.avatar-letter{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#0d1f2f;
  font-weight:800;
}


.dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:170px;
  background:#fff;
  color:var(--text-main);
  border:1px solid #e4e7ec;
  border-radius:14px;
  box-shadow:var(--shadow-sm);
  padding:8px;
  display:none;
}

.dropdown a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.dropdown a:hover{
  background:#f2f4f7;
}

.user-info:hover .dropdown{
  display:block;
}

.cart-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  min-width:46px;
  height:46px;
  text-decoration:none;
  background:#fff;
  color:#0d1f2f;
  font-weight:800;
  border:1px solid rgba(16,24,40,.12);
}

.fav-btn-link{
  background:#fff5f7;
  border-color:#fecdd3;
  color:#9f1239;
}

.fav-badge{
  background:#e11d48;
}

.cart-icon{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.cart-badge{
  position:absolute;
  top:-6px;
  right:-5px;
  min-width:20px;
  height:20px;
  border-radius:50%;
  padding:0 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  color:#fff;
  background:var(--accent);
}

.header-right{
  display:flex;
  align-items:center;
  gap:12px;
}

.btn-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  font-weight:700;
  transition:.25s ease;
}

.btn-back:hover{
  background:#fff;
  color:#0d1f2f;
}

/* ================= HOME ================= */

.home-page{
  background:linear-gradient(180deg,#f6f8fb 0%,#eef2f6 100%);
}

main{
  width:min(1180px,94vw);
  margin:0 auto;
}

.home-hero{
  position:relative;
  overflow:hidden;
  margin-top:24px;
  border-radius:34px;
  padding:clamp(28px,4vw,46px);
  background:linear-gradient(118deg,#0f1622 0%,#1a2433 46%,#26374d 100%);
  color:var(--text-on-dark);
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:28px;
  min-height:560px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 65px rgba(7,12,24,.34);
}

.hero-bg-shape{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
  opacity:.65;
  pointer-events:none;
}

.hero-bg-shape--one{
  width:320px;
  height:320px;
  left:-102px;
  bottom:-152px;
  background:rgba(56,189,248,.28);
}

.hero-bg-shape--two{
  width:240px;
  height:240px;
  right:-84px;
  top:-84px;
  background:rgba(250,204,21,.26);
}

.hero-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-right:10px;
}

.hero-kicker{
  font-size:13px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#a5d8ff;
  margin-bottom:12px;
}

.hero-content h2{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(40px,4.8vw,72px);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.01em;
  max-width:12ch;
}

.hero-subtitle{
  margin-top:18px;
  max-width:520px;
  color:rgba(232,237,245,.88);
  font-size:clamp(16px,1.35vw,22px);
  line-height:1.65;
}

.hero-note{
  margin-top:12px;
  max-width:560px;
  color:rgba(216,226,236,.86);
  font-size:15px;
  line-height:1.7;
}

.hero-actions{
  margin-top:30px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  text-decoration:none;
  padding:12px 24px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid transparent;
  background:#f8fafc;
  color:#0f172a;
  transition:.28s ease;
}

.hero-btn:hover{
  transform:translateY(-2px) scale(1.01);
}

.hero-btn--ghost{
  background:transparent;
  border-color:rgba(255,255,255,.4);
  color:#f8fafc;
}

.hero-btn--ghost:hover{
  background:rgba(255,255,255,.14);
}

.hero-metrics{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.hero-metrics article{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:13px 15px;
  backdrop-filter:blur(7px);
}

.hero-metrics strong{
  display:block;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:24px;
  color:#fff;
}

.hero-metrics span{
  font-size:12px;
  color:#dbe6f2;
}

.hero-stage{
  position:relative;
  z-index:2;
  display:flex;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.18);
  background:#0b1524;
  overflow:hidden;
  min-height:470px;
  box-shadow:0 26px 54px rgba(4,10,22,.4);
}

.hero-slider-window{
  position:relative;
  flex:1;
  min-height:inherit;
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.05) translateX(20px);
  transition:opacity .7s ease, transform .95s cubic-bezier(.2,.75,.2,1);
  pointer-events:none;
}

.hero-slide.is-active{
  opacity:1;
  transform:scale(1) translateX(0);
  z-index:2;
  pointer-events:auto;
}

.hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(8,13,24,.64) 8%,rgba(8,13,24,.2) 52%,rgba(8,13,24,.58) 100%),
    linear-gradient(0deg,rgba(8,13,24,.7),transparent 45%);
  z-index:1;
}

.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-slide-copy{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:2;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(7,14,24,.46);
  backdrop-filter:blur(8px);
}

.hero-slide-copy span{
  display:inline-flex;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#93c5fd;
}

.hero-slide-copy h3{
  margin-top:10px;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:34px;
  line-height:1.05;
  color:#f8fafc;
}

.hero-slide-copy p{
  margin-top:10px;
  font-size:28px;
  font-weight:800;
  color:#dbeafe;
}

.hero-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(8,15,25,.45);
  color:#f8fafc;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:5;
  backdrop-filter:blur(8px);
  transition:transform .24s ease, background-color .24s ease;
}

.hero-control span{
  font-size:20px;
  line-height:1;
}

.hero-control:hover{
  transform:translateY(-50%) scale(1.06);
  background:rgba(8,15,25,.72);
}

.hero-control:focus-visible,
.hero-dot:focus-visible{
  outline:2px solid #f8fafc;
  outline-offset:2px;
}

.hero-control--prev{
  left:16px;
}

.hero-control--next{
  right:16px;
}

.hero-pagination{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:6;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(8,15,25,.38);
  backdrop-filter:blur(8px);
}

.hero-dot{
  width:24px;
  height:6px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.36);
  cursor:pointer;
  transition:width .28s ease, background-color .28s ease;
}

.hero-dot.is-active{
  width:40px;
  background:#f8fafc;
}

.hero-dot:hover{
  background:rgba(248,250,252,.82);
}

.hero-empty{
  margin:auto;
  text-align:center;
  color:#e2e8f0;
}

.hero-empty h3{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:30px;
}

.hero-empty p{
  margin-top:10px;
  color:#cbd5e1;
}

.home-products{
  padding:54px 0 20px;
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}

.section-kicker{
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#667085;
  font-weight:800;
}

.section-title{
  margin-top:8px;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(30px,3vw,44px);
  line-height:1.1;
}

.section-link{
  font-size:14px;
  color:var(--brand-main);
  text-decoration:none;
  font-weight:700;
}

.section-link:hover{
  text-decoration:underline;
}

.productos{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.card{
  position:relative;
  border-radius:20px;
  background:#fff;
  border:1px solid #e4e7ec;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.product-card{
  display:flex;
  flex-direction:column;
}

.btn-fav{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid #d0d5dd;
  background:rgba(255,255,255,.95);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.2s ease;
}

.btn-fav svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#344054;
  stroke-width:1.8;
}

.btn-fav:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
}

.btn-fav.is-active{
  background:#ffe4e8;
  border-color:#fda4af;
}

.btn-fav.is-active svg{
  fill:#e11d48;
  stroke:#e11d48;
}

/* ================= PENDING ORDER FIXES ================= */

.btn-secondary,
.btn.btn-secondary{
  background:#ffffff;
  color:#1f6b52;
  border:1px solid rgba(31,107,82,.34);
}

.btn-secondary:hover,
.btn.btn-secondary:hover{
  background:#f0f8f3;
  color:#1b5d47;
}

.pending-order-card{
  margin-top:14px;
}

.pending-order-title{
  font-weight:800;
  color:#0f172a;
}

.pending-order-description{
  margin-top:6px;
  color:#475467;
}

.pending-order-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.pending-order-total{
  color:#0f172a;
}

.pending-order-error{
  margin-top:8px;
  color:#b42318;
  font-weight:600;
}

.pending-order-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-top:14px;
}

.pending-order-form{
  margin:0;
}

.pending-order-form--primary{
  min-width:0;
}

.pending-order-pay-btn{
  width:100%;
}

.pending-order-form--cancel{
  justify-self:end;
}

.btn-order-cancel{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  min-height:52px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid #f7beca;
  background:#fff1f4;
  color:#be123c;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;
}

.btn-order-cancel:hover{
  transform:translateY(-2px);
  background:#ffe6eb;
  border-color:#f59ab0;
  box-shadow:0 10px 22px rgba(190,18,60,.18);
}

.btn-order-cancel:active{
  transform:translateY(0);
}

.btn-order-cancel:focus-visible{
  outline:2px solid rgba(190,18,60,.45);
  outline-offset:2px;
}

@media (max-width:820px){
  .pending-order-actions{
    grid-template-columns:1fr;
  }

  .pending-order-form--cancel{
    justify-self:stretch;
  }

  .btn-order-cancel{
    width:100%;
    min-width:0;
  }
}

/* ================= VISUAL POLISH: DEPTH + MICROINTERACTIONS ================= */

:root{
  --shadow-elegant-sm:0 10px 24px rgba(11,18,32,.14),0 2px 8px rgba(11,18,32,.08);
  --shadow-elegant-md:0 20px 46px rgba(11,18,32,.18),0 6px 18px rgba(11,18,32,.1);
  --shadow-elegant-lg:0 34px 70px rgba(11,18,32,.24),0 10px 26px rgba(11,18,32,.12);
}

/* 1) Sombras más profundas y elegantes */
.card,
.favorite-card,
.cart-item-pro,
.admin-card,
.admin-metric,
.product-image,
.product-info,
.cart-summary-pro,
.admin-section,
.admin-table-wrap,
.login-card{
  box-shadow:var(--shadow-elegant-md);
}

.card:hover,
.favorite-card:hover,
.cart-item-pro:hover,
.admin-card:hover,
.admin-metric:hover{
  box-shadow:var(--shadow-elegant-lg);
}

/* 2) Microanimaciones en botones */
.btn,
.btn-login,
.btn-checkout,
.btn-back,
.hero-btn,
.btn-add,
.btn-secondary,
.btn-google,
.cart-btn-action{
  transition:
    transform .22s cubic-bezier(.22,.61,.36,1),
    box-shadow .22s cubic-bezier(.22,.61,.36,1),
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease;
  will-change:transform,box-shadow;
}

.btn:hover,
.btn-login:hover,
.btn-checkout:hover,
.btn-back:hover,
.hero-btn:hover,
.btn-add:hover,
.btn-secondary:hover,
.btn-google:hover,
.cart-btn-action:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-elegant-sm);
}

.btn:active,
.btn-login:active,
.btn-checkout:active,
.btn-back:active,
.hero-btn:active,
.btn-add:active,
.btn-secondary:active,
.btn-google:active,
.cart-btn-action:active{
  transform:translateY(-1px) scale(.99);
}

/* 3) Mejor contraste del texto secundario en hero */
.hero-subtitle{
  color:#f2f6fb;
  text-shadow:0 1px 1px rgba(5,11,20,.4);
}

.hero-note{
  color:#d9e4ee;
  text-shadow:0 1px 1px rgba(5,11,20,.35);
}

/* 4) Glassmorphism sutil en navbar */
.top-header,
.top-header--home,
.home-page .top-header--home,
.home-page .top-header--home.is-scrolled{
  background:
    linear-gradient(110deg,rgba(13,18,26,.72),rgba(24,54,43,.62));
  border-bottom:1px solid rgba(255,255,255,.22);
  box-shadow:0 14px 34px rgba(7,12,20,.28);
  backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
}

.search input,
.user-info{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.26);
}

/* 5) Login más profesional: focus en inputs */
.login-card{
  box-shadow:var(--shadow-elegant-lg);
}

.login-form input,
.password-field input{
  border:1px solid #cfd7e3;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease,
    background-color .2s ease;
}

.login-form input:hover,
.password-field input:hover{
  border-color:#afbccd;
}

.login-form input:focus,
.password-field input:focus{
  border-color:#2b7a5f;
  background:#ffffff;
  box-shadow:
    0 0 0 4px rgba(43,122,95,.16),
    0 8px 20px rgba(17,24,39,.12);
  transform:translateY(-1px);
}

.password-field:focus-within .password-toggle{
  color:#1f6b52;
  background:rgba(31,107,82,.08);
}

/* ================= URBANO MX PRO FINAL ================= */

:root{
  --brand-dark:#13161c;
  --brand-main:#1f6b52;
  --brand-light:#4aa875;
  --accent:#b96a39;
  --line-soft:rgba(31,107,82,.2);
}

body,
.home-page,
.favorites-page,
.cart-page,
.product-page,
.admin-page{
  background:
    radial-gradient(circle at 10% -12%,rgba(74,168,117,.16),transparent 34%),
    radial-gradient(circle at 88% -10%,rgba(185,106,57,.14),transparent 36%),
    linear-gradient(180deg,#f9f4ea 0%,#efe6d8 100%);
}

.top-header,
.top-header--home,
.home-page .top-header--home,
.home-page .top-header--home.is-scrolled{
  background:linear-gradient(98deg,rgba(14,18,24,.96),rgba(30,63,50,.93));
}

.home-page .home-nav a::after{
  background:linear-gradient(90deg,#efb486,#5dbb8b);
}

.btn,
.btn-login,
.btn-checkout{
  background:linear-gradient(132deg,#1f6b52,#4aa875);
}

.btn-secondary{
  color:#1f6b52;
  border-color:rgba(31,107,82,.34);
}

.btn-secondary:hover{
  background:#f0f8f3;
}

.cart-badge{
  background:#b96a39;
  color:#fff7ed;
}

.fav-btn-link{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}

.fav-badge{
  background:#e11d48;
  color:#fff;
}

.home-hero{
  background-image:
    radial-gradient(circle at var(--mx-glow-x,50%) var(--mx-glow-y,50%),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(114deg,#14181f 0%,#1e4436 50%,#6f4328 100%);
}

.favorites-head,
.cart-intro,
.admin-hero{
  background-image:
    radial-gradient(circle at var(--mx-glow-x,50%) var(--mx-glow-y,50%),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(126deg,#14181f 0%,#1e4436 56%,#6f4328 100%);
}

.favorites-kicker,
.cart-kicker,
.admin-kicker{
  color:#f5d6ba;
}

.section-kicker,
.section-link{
  color:#1f6b52;
}

.badge.nuevo{
  background:#3fa576;
  color:#effff7;
}

.badge.oferta{
  background:#b96a39;
  color:#fff7ed;
}

.card,
.favorite-card,
.cart-item-pro,
.admin-card,
.admin-metric,
.product-image,
.product-info,
.cart-summary-pro,
.admin-section,
.admin-table-wrap,
.login-card{
  border:1px solid rgba(31,107,82,.16);
  box-shadow:0 14px 30px rgba(13,22,19,.1);
}

.login-body{
  background:
    radial-gradient(circle at 8% 12%,rgba(74,168,117,.22),transparent 34%),
    radial-gradient(circle at 88% 86%,rgba(185,106,57,.2),transparent 36%),
    linear-gradient(136deg,#14181f 0%,#1e4436 52%,#6f4328 100%);
}

.btn-fav.is-active{
  background:#ffe4e8;
  border-color:#fda4af;
}

.btn-fav.is-active svg{
  fill:#e11d48;
  stroke:#e11d48;
}

/* ================= URBANO MX PRO V2 ================= */

:root{
  --mx-obsidian:#13161c;
  --mx-jade:#1f6b52;
  --mx-nopal:#4aa875;
  --mx-terracotta:#b96a39;
  --mx-sand:#f7f1e6;
  --mx-cream:#fff9ef;
  --mx-red:#e11d48;

  --brand-dark:var(--mx-obsidian);
  --brand-main:var(--mx-jade);
  --brand-light:var(--mx-nopal);
  --accent:var(--mx-terracotta);
  --line-soft:rgba(31,107,82,.2);
}

body{
  background:
    radial-gradient(circle at 10% -12%,rgba(74,168,117,.16),transparent 34%),
    radial-gradient(circle at 88% -10%,rgba(185,106,57,.14),transparent 36%),
    linear-gradient(180deg,#f9f4ea 0%,#efe6d8 100%);
}

body::after{
  opacity:.08;
  background-image:
    repeating-linear-gradient(
      120deg,
      transparent 0 18px,
      rgba(19,22,28,.18) 18px 19px
    );
}

.scroll-progress{
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:4px;
  z-index:1400;
  pointer-events:none;
  background:rgba(255,255,255,.08);
}

.scroll-progress > span{
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--mx-red),var(--mx-terracotta),var(--mx-nopal));
  box-shadow:0 0 14px rgba(185,106,57,.42);
  transition:width .08s linear;
}

.top-header,
.top-header--home,
.home-page .top-header--home,
.home-page .top-header--home.is-scrolled{
  background:linear-gradient(98deg,rgba(14,18,24,.96),rgba(30,63,50,.93));
}

.top-header .logo-area h1{
  letter-spacing:.01em;
}

.home-nav a{
  color:#eef5f0;
}

.home-page .home-nav a::after{
  background:linear-gradient(90deg,#efb486,#5dbb8b);
}

.search input{
  border-color:rgba(255,255,255,.26);
  background:rgba(255,255,255,.12);
}

.search input:focus{
  border-color:rgba(93,187,139,.86);
  box-shadow:0 0 0 3px rgba(93,187,139,.2);
}

.btn,
.btn-login,
.btn-checkout{
  background:linear-gradient(132deg,var(--mx-jade),var(--mx-nopal));
  box-shadow:0 10px 24px rgba(31,107,82,.28);
}

.btn:hover,
.btn-login:hover,
.btn-checkout:hover{
  filter:brightness(1.04);
}

.btn-secondary{
  color:var(--mx-jade);
  border-color:rgba(31,107,82,.34);
}

.btn-secondary:hover{
  background:#f0f8f3;
}

.cart-btn{
  border-color:rgba(31,107,82,.28);
}

.fav-btn-link{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}

.fav-badge{
  background:var(--mx-red);
  color:#fff;
}

.cart-badge{
  background:var(--mx-terracotta);
  color:#fff7ed;
}

.fav-badge.is-bounce,
.cart-badge.is-bounce{
  animation:mxBadgePop .36s ease;
}

.home-page,
.favorites-page,
.cart-page,
.product-page,
.admin-page{
  background:linear-gradient(180deg,#f9f4ea 0%,#efe6d8 100%);
}

.home-hero,
.favorites-head,
.cart-intro,
.admin-hero{
  --mx-glow-x:50%;
  --mx-glow-y:50%;
}

.home-hero{
  background-image:
    radial-gradient(circle at var(--mx-glow-x) var(--mx-glow-y),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(114deg,#14181f 0%,#1e4436 50%,#6f4328 100%);
}

.favorites-head{
  background-image:
    radial-gradient(circle at var(--mx-glow-x) var(--mx-glow-y),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(126deg,#14181f 0%,#1e4436 56%,#6f4328 100%);
}

.cart-intro{
  background-image:
    radial-gradient(circle at var(--mx-glow-x) var(--mx-glow-y),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(126deg,#14181f 0%,#1e4436 56%,#6f4328 100%);
}

.admin-hero{
  background-image:
    radial-gradient(circle at var(--mx-glow-x) var(--mx-glow-y),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(126deg,#14181f 0%,#1e4436 56%,#6f4328 100%);
}

.hero-kicker,
.favorites-kicker,
.cart-kicker,
.admin-kicker{
  color:#f5d6ba;
}

.hero-slide-copy span{
  color:#f9d9be;
}

.hero-slide-copy p{
  color:#ffe9d7;
}

.hero-metrics article{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.09);
}

.hero-metrics strong{
  background:linear-gradient(180deg,#ffffff,#d9f3e4);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.section-kicker{
  color:var(--mx-jade);
}

.section-link{
  color:var(--mx-jade);
}

.card,
.favorite-card,
.cart-item-pro,
.admin-card,
.admin-metric,
.product-image,
.product-info,
.cart-summary-pro,
.admin-section,
.admin-table-wrap,
.login-card{
  border:1px solid rgba(31,107,82,.16);
  box-shadow:0 14px 30px rgba(13,22,19,.1);
}

.product-card:hover,
.favorite-card:hover,
.cart-item-pro:hover,
.admin-metric:hover,
.admin-card:hover{
  box-shadow:0 22px 42px rgba(13,22,19,.16);
}

.badge.nuevo{
  background:#3fa576;
  color:#effff7;
}

.badge.oferta{
  background:var(--mx-terracotta);
  color:#fff7ed;
}

.fav-pill{
  background:rgba(225,29,72,.18);
  border-color:rgba(254,205,211,.42);
}

.login-body{
  background:
    radial-gradient(circle at 8% 12%,rgba(74,168,117,.22),transparent 34%),
    radial-gradient(circle at 88% 86%,rgba(185,106,57,.2),transparent 36%),
    linear-gradient(136deg,#14181f 0%,#1e4436 52%,#6f4328 100%);
}

.login-links a,
.password-toggle{
  color:var(--mx-jade);
}

.btn-fav.is-active{
  background:#ffe4e8;
  border-color:#fda4af;
}

.btn-fav.is-active svg{
  fill:var(--mx-red);
  stroke:var(--mx-red);
}

@keyframes mxBadgePop{
  0%{
    transform:scale(1);
  }
  50%{
    transform:scale(1.24);
  }
  100%{
    transform:scale(1);
  }
}

@media (max-width:920px){
  .home-hero,
  .favorites-head,
  .cart-intro,
  .admin-hero{
    background-image:
      linear-gradient(126deg,#14181f 0%,#1e4436 56%,#6f4328 100%);
  }
}

@media (prefers-reduced-motion:reduce){
  .scroll-progress > span,
  .fav-badge.is-bounce,
  .cart-badge.is-bounce{
    transition:none !important;
    animation:none !important;
  }
}

.btn-fav:disabled{
  opacity:.65;
  cursor:not-allowed;
}

.btn-fav--inline{
  position:static;
  flex-shrink:0;
}

.product-media{
  position:relative;
}

.product-image-wrap{
  display:block;
  background:linear-gradient(180deg,#f8fafc,#eef3f8);
  overflow:hidden;
}

.product-image-wrap img{
  width:100%;
  height:235px;
  object-fit:cover;
  transition:transform .35s ease,opacity .28s ease,filter .28s ease;
}

.product-card:hover .product-image-wrap img{
  transform:scale(1.05);
}

.product-image-wrap img.is-gallery-switching{
  animation:productGallerySwap .34s cubic-bezier(.2,.7,.2,1);
}

@keyframes productGallerySwap{
  0%{
    opacity:.7;
    filter:saturate(1.08) contrast(1.02);
  }
  100%{
    opacity:1;
    filter:none;
  }
}

.product-gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #d0d5dd;
  background:rgba(255,255,255,.92);
  color:#0f172a;
  font-size:20px;
  line-height:1;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}

.product-gallery-arrow--prev{
  left:10px;
}

.product-gallery-arrow--next{
  right:10px;
}

.product-gallery-arrow:hover{
  transform:translateY(-50%) scale(1.05);
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.18);
}

.product-gallery-arrow:focus-visible{
  outline:2px solid rgba(31,107,82,.45);
  outline-offset:2px;
}

@media (max-width:767px){
  .product-gallery-arrow{
    width:44px;
    height:44px;
    font-size:22px;
    border-color:#cbd5e1;
    background:rgba(255,255,255,.96);
    z-index:6;
  }

  .product-gallery-arrow--prev{
    left:8px;
  }

  .product-gallery-arrow--next{
    right:8px;
  }
}

.product-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px;
}

.product-body h3{
  font-size:18px;
  line-height:1.3;
}

.product-body p{
  font-size:22px;
  font-weight:800;
  color:#0f172a;
}

.product-actions{
  margin-top:8px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.badge.nuevo{
  background:#22c55e;
  color:#04130a;
}

.badge.oferta{
  background:#f97316;
  color:#fff7ed;
}

.search-empty{
  margin-top:20px;
  border-radius:14px;
  border:1px dashed #cbd5e1;
  padding:16px;
  text-align:center;
  color:#475467;
  font-weight:600;
  background:#fff;
}

.empty-state{
  border-radius:18px;
  background:#fff;
  border:1px dashed #d0d5dd;
  padding:30px;
  text-align:center;
}

.empty-state h3{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:24px;
}

.empty-state p{
  margin-top:8px;
  color:#475467;
}

.benefits{
  margin:30px 0 54px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.benefits article{
  border-radius:18px;
  background:#fff;
  border:1px solid #e4e7ec;
  padding:22px 18px;
}

.benefits h3{
  font-size:20px;
  font-family:"Sora","Segoe UI",sans-serif;
}

.benefits p{
  margin-top:8px;
  font-size:15px;
  line-height:1.6;
  color:#475467;
}

/* ================= HOME MOTION ================= */

.home-page .top-header--home{
  transition:
    background .35s ease,
    border-color .35s ease,
    box-shadow .35s ease,
    padding .35s ease;
}

.home-page .top-header--home.is-scrolled{
  background:linear-gradient(100deg,rgba(8,22,36,.95),rgba(10,48,34,.94));
  border-color:rgba(255,255,255,.16);
  box-shadow:0 12px 30px rgba(2,8,20,.28);
}

.home-page .home-nav a{
  position:relative;
  opacity:.88;
}

.home-page .home-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#8be9b5,#f8c26d);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}

.home-page .home-nav a:hover::after{
  transform:scaleX(1);
}

.home-page .home-hero{
  isolation:isolate;
}

.home-page .home-hero::before{
  content:"";
  position:absolute;
  inset:-25% -10%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 28%,rgba(255,255,255,.11),transparent 38%),
    radial-gradient(circle at 76% 64%,rgba(139,233,181,.15),transparent 40%);
  animation:homeHeroDrift 13s ease-in-out infinite alternate;
}

.home-page .home-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.22;
  background:
    linear-gradient(115deg,rgba(255,255,255,.06),transparent 38%),
    repeating-linear-gradient(
      120deg,
      transparent 0 18px,
      rgba(255,255,255,.05) 18px 19px
    );
}

.home-page .hero-bg-shape--one{
  animation:homeBlobA 11s ease-in-out infinite;
}

.home-page .hero-bg-shape--two{
  animation:homeBlobB 10s ease-in-out infinite;
}

.home-page .hero-content > *{
  opacity:0;
  transform:translateY(22px);
  animation:homeFadeUp .72s cubic-bezier(.2,.75,.2,1) forwards;
}

.home-page .hero-content > *:nth-child(1){
  animation-delay:.14s;
}

.home-page .hero-content > *:nth-child(2){
  animation-delay:.22s;
}

.home-page .hero-content > *:nth-child(3){
  animation-delay:.32s;
}

.home-page .hero-content > *:nth-child(4){
  animation-delay:.42s;
}

.home-page .hero-content > *:nth-child(5){
  animation-delay:.54s;
}

.home-page .hero-stage{
  transform:perspective(1000px) rotateX(0deg) rotateY(0deg);
  transition:transform .4s ease, box-shadow .4s ease;
  animation:homeFadeUp .78s cubic-bezier(.2,.75,.2,1) .34s both;
  box-shadow:0 24px 52px rgba(3,11,25,.34), inset 0 1px 0 rgba(255,255,255,.12);
}

.home-page .hero-stage::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,.28) 0%,
      rgba(255,255,255,0) 34%,
      rgba(255,255,255,.2) 58%,
      rgba(255,255,255,0) 100%
    );
  mix-blend-mode:screen;
  opacity:.42;
}

.home-page .hero-slide.is-active img{
  animation:homeSlideZoom 7.2s ease forwards;
}

.home-page .hero-control,
.home-page .hero-dot{
  transition:
    transform .24s ease,
    background-color .24s ease,
    opacity .24s ease;
}

.home-page .hero-btn{
  position:relative;
  overflow:hidden;
}

.home-page .hero-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:70%;
  height:100%;
  transform:skewX(-18deg);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.4),
    rgba(255,255,255,0)
  );
  transition:left .6s ease;
}

.home-page .hero-btn:hover::before{
  left:145%;
}

.home-page .product-card{
  transition:
    transform .32s cubic-bezier(.2,.75,.2,1),
    box-shadow .32s ease,
    border-color .32s ease;
  will-change:transform;
}

.home-page .product-card:hover{
  transform:translateY(-8px);
  border-color:#d0d5dd;
  box-shadow:0 18px 38px rgba(15,23,42,.16);
}

.home-page .product-image-wrap{
  position:relative;
}

.home-page .product-image-wrap::after{
  content:"";
  position:absolute;
  inset:-5% -45%;
  background:linear-gradient(
    110deg,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,.5) 50%,
    rgba(255,255,255,0) 65%
  );
  transform:translateX(-36%) rotate(8deg);
  transition:transform .62s ease, opacity .62s ease;
  opacity:0;
  pointer-events:none;
}

.home-page .product-card:hover .product-image-wrap::after{
  transform:translateX(42%) rotate(8deg);
  opacity:.75;
}

.home-page .benefits article{
  position:relative;
  overflow:hidden;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.home-page .benefits article::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(140deg,rgba(25,135,84,.1),rgba(15,37,55,.08));
  transition:opacity .28s ease;
}

.home-page .benefits article:hover{
  transform:translateY(-4px);
  border-color:#d0d5dd;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
}

.home-page .benefits article:hover::before{
  opacity:1;
}

.home-page .btn-add{
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    background-color .24s ease,
    color .24s ease;
}

.home-page .btn-add.is-added{
  background:#0f5132;
  color:#f0fdf4;
  transform:translateY(-1px) scale(1.02);
  box-shadow:0 10px 24px rgba(15,81,50,.24);
}

.home-page .reveal{
  opacity:0;
  transform:translateY(26px) scale(.985);
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.2,.75,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}

.home-page .reveal.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

.home-page .reveal[data-reveal="left"]{
  transform:translateX(-26px) scale(.985);
}

.home-page .reveal[data-reveal="right"]{
  transform:translateX(26px) scale(.985);
}

.home-page .reveal.is-visible[data-reveal="left"],
.home-page .reveal.is-visible[data-reveal="right"]{
  transform:translateX(0) scale(1);
}

.home-page .product-card.reveal.is-visible:hover{
  transform:translateY(-8px);
}

.home-page .benefits article.reveal.is-visible:hover{
  transform:translateY(-4px);
}

@keyframes homeFadeUp{
  from{
    opacity:0;
    transform:translateY(22px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes homeBlobA{
  0%{
    transform:translate3d(0,0,0) scale(1);
  }
  50%{
    transform:translate3d(18px,-14px,0) scale(1.05);
  }
  100%{
    transform:translate3d(-8px,10px,0) scale(.98);
  }
}

@keyframes homeBlobB{
  0%{
    transform:translate3d(0,0,0) scale(1);
  }
  50%{
    transform:translate3d(-14px,12px,0) scale(1.06);
  }
  100%{
    transform:translate3d(8px,-10px,0) scale(.97);
  }
}

@keyframes homeHeroDrift{
  0%{
    transform:translate3d(-2%,0,0) scale(1);
  }
  100%{
    transform:translate3d(2%,-3%,0) scale(1.06);
  }
}

@keyframes homeSlideZoom{
  0%{
    transform:scale(1.04);
  }
  100%{
    transform:scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  .home-page .top-header--home,
  .home-page .home-nav a::after,
  .home-page .hero-bg-shape--one,
  .home-page .hero-bg-shape--two,
  .home-page .home-hero::before,
  .home-page .hero-content > *,
  .home-page .hero-stage,
  .home-page .hero-stage::after,
  .home-page .hero-slide img,
  .home-page .hero-control,
  .home-page .hero-dot,
  .home-page .hero-btn::before,
  .home-page .product-card,
  .home-page .product-image-wrap::after,
  .home-page .benefits article,
  .home-page .btn-add,
  .home-page .reveal{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }

  .home-page .reveal{
    opacity:1 !important;
  }

  .home-page .hero-content > *{
    opacity:1 !important;
  }
}

/* ================= FAVORITES ================= */

.favorites-page{
  background:linear-gradient(180deg,#f8fafc,#eff3f8);
}

.favorites-main{
  width:min(1160px,94vw);
  margin:28px auto 56px;
}

.favorites-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:24px clamp(18px,3vw,30px);
  background:linear-gradient(140deg,#4a1234,#7f1d44);
  color:#fff;
  border-radius:24px;
  box-shadow:var(--shadow-md);
}

.favorites-kicker{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  color:#fecdd3;
}

.favorites-head h2{
  margin-top:10px;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:34px;
}

.favorites-head p{
  margin-top:10px;
  color:#ffe4ec;
}

.fav-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  font-size:12px;
  font-weight:800;
}

.favorites-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.favorite-card{
  position:relative;
  border-radius:20px;
  border:1px solid #e4e7ec;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.favorite-image{
  display:block;
  background:linear-gradient(180deg,#f8fafc,#eef3f8);
}

.favorite-image img{
  width:100%;
  height:220px;
  object-fit:cover;
}

.favorite-body{
  padding:16px;
}

.favorite-body h3{
  font-size:18px;
}

.favorite-body p{
  margin-top:4px;
  font-size:22px;
  font-weight:800;
}

.favorite-actions{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.favorites-empty{
  margin-top:18px;
  background:#fff;
  border:1px dashed #d0d5dd;
  border-radius:20px;
  padding:38px;
  text-align:center;
}

.favorites-empty h3{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:30px;
}

.favorites-empty p{
  margin-top:10px;
  color:#667085;
}

.favorites-empty .btn{
  margin-top:16px;
}

.main-footer,
footer{
  margin-top:24px;
  padding:24px 16px 36px;
  text-align:center;
  color:#667085;
  font-size:13px;
}

/* ================= LOGIN ================= */

.login-body{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#0d2434,#133726);
  padding:24px;
}

.login-card{
  background:#fff;
  width:100%;
  max-width:430px;
  padding:42px 34px;
  border-radius:24px;
  text-align:center;
  box-shadow:var(--shadow-lg);
}

.login-logo{
  width:84px;
  margin:0 auto 20px;
}

.login-logo-link{
  display:inline-flex;
  text-decoration:none;
}

.login-card h2{
  margin-bottom:16px;
  color:#0f2537;
  font-family:"Sora","Segoe UI",sans-serif;
}

.login-alert{
  width:100%;
  border-radius:12px;
  padding:12px 14px;
  margin-bottom:14px;
  font-size:14px;
  font-weight:700;
  text-align:left;
}

.login-alert--error{
  background:var(--danger-soft);
  color:var(--danger);
  border:1px solid #fecaca;
}

.login-alert--success{
  background:var(--success-soft);
  color:var(--success);
  border:1px solid #bbf7d0;
}

.login-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.login-form input{
  width:100%;
  padding:13px 14px;
  border-radius:12px;
  border:1px solid #d0d5dd;
  outline:none;
  transition:.2s;
}

.login-form input:focus{
  border-color:var(--brand-light);
  box-shadow:0 0 0 3px rgba(34,197,94,.14);
}

.password-field{
  position:relative;
}

.password-field input{
  padding-right:90px;
}

.password-toggle{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:transparent;
  color:#0f5132;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  padding:6px 8px;
  border-radius:8px;
}

.password-toggle:hover{
  background:#f2f4f7;
}

.btn-login{
  width:100%;
  padding:13px;
  border:none;
  border-radius:999px;
  background:var(--brand-light);
  color:#04210f;
  font-weight:800;
  cursor:pointer;
  transition:.24s;
}

.btn-login:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm);
}

.btn-google{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  padding:13px;
  margin-top:12px;
  background:#ffffff;
  border:1px solid #dadce0;
  border-radius:999px;
  font-family:Roboto,Arial,sans-serif;
  font-size:15px;
  font-weight:500;
  color:#3c4043;
  text-decoration:none;
  transition:all .2s ease;
}

.btn-google img{
  width:20px;
  height:20px;
}

.btn-google:hover{
  background:#f8f9fa;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}

.login-links{
  margin-top:16px;
  font-size:14px;
}

.login-links a{
  color:#0f5132;
  text-decoration:none;
  font-weight:700;
}

.login-links a:hover{
  text-decoration:underline;
}

/* ================= CART ================= */

.cart-page{
  background:linear-gradient(180deg,#f7f9fc,#eef2f7);
}

.cart-main{
  width:min(1160px,94vw);
  margin:28px auto 56px;
}

.cart-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  background:linear-gradient(140deg,#0f2537,#153d2c);
  color:#f8fafc;
  border-radius:24px;
  padding:24px clamp(18px,3.2vw,30px);
  box-shadow:var(--shadow-md);
}

.cart-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#8be9b5;
}

.cart-intro h2{
  margin-top:10px;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:34px;
}

.cart-intro p{
  margin-top:10px;
  color:#d8e2ec;
}

.cart-intro-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.cart-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  font-size:12px;
  font-weight:700;
}

.empty-cart{
  margin-top:18px;
  text-align:center;
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:22px;
  padding:44px;
  box-shadow:var(--shadow-sm);
}

.empty-cart h3{
  font-size:32px;
  font-family:"Sora","Segoe UI",sans-serif;
}

.empty-cart p{
  margin-top:10px;
  color:#667085;
}

.btn-checkout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  width:100%;
  border-radius:999px;
  text-decoration:none;
  background:#101828;
  color:#fff;
  font-weight:800;
  padding:12px 16px;
}

.btn-checkout:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-sm);
}

.cart-layout-pro{
  margin-top:18px;
  display:grid;
  grid-template-columns:1fr 350px;
  gap:18px;
}

.cart-list-pro{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.cart-item-pro{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:16px;
  align-items:center;
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:20px;
  padding:14px;
  box-shadow:0 8px 20px rgba(16,24,40,.06);
}

.cart-img{
  display:block;
  border-radius:14px;
  overflow:hidden;
  background:#f8fafc;
}

.cart-img img{
  width:120px;
  height:110px;
  object-fit:cover;
  transition:transform .25s ease;
}

.cart-item-pro:hover .cart-img img{
  transform:scale(1.04);
}

.cart-info h3{
  font-size:20px;
  line-height:1.3;
}

.cart-info small{
  display:block;
  margin-top:6px;
  color:#667085;
}

.qty-box-pro{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid #d0d5dd;
  border-radius:999px;
  padding:4px 8px;
  background:#fff;
}

.qty-value{
  min-width:22px;
  text-align:center;
}

.cart-btn-action{
  border:none;
  background:#f2f4f7;
  color:#101828;
  border-radius:999px;
  min-width:32px;
  height:32px;
  cursor:pointer;
  font-weight:800;
  transition:.2s ease;
}

.cart-btn-action:hover{
  background:#dfe4ea;
}

.cart-btn-action.is-loading{
  cursor:wait;
  opacity:.7;
  pointer-events:none;
}

.cart-item-side{
  text-align:right;
  min-width:130px;
}

.cart-item-total{
  font-size:24px;
  font-weight:800;
  color:#0f172a;
}

.btn-delete{
  margin-top:8px;
  width:100%;
  background:#fff1f2;
  color:#be123c;
}

.cart-summary-pro{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:22px;
  padding:22px;
  align-self:start;
  position:sticky;
  top:102px;
  box-shadow:var(--shadow-sm);
}

.cart-summary-pro h3{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:24px;
}

.summary-note{
  margin-top:8px;
  font-size:14px;
  color:#667085;
  line-height:1.5;
}

.summary-row,
.summary-total{
  display:flex;
  justify-content:space-between;
  margin-top:12px;
  color:#344054;
}

.summary-success{
  color:#15803d;
  font-weight:800;
}

.summary-total{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e4e7ec;
  color:#101828;
  font-size:22px;
  font-weight:800;
}

.summary-continue{
  display:block;
  margin-top:12px;
  text-align:center;
  color:#475467;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}

.summary-continue:hover{
  text-decoration:underline;
}

/* ================= PRODUCT PAGE ================= */

.product-container{
  width:min(1120px,94vw);
  margin:34px auto 40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.product-image{
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  border:1px solid #e4e7ec;
  box-shadow:var(--shadow-sm);
}

.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-info{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:22px;
  padding:26px;
}

.product-info h2{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:34px;
}

.product-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.product-info h3{
  margin-top:12px;
  font-size:34px;
  color:#0f172a;
}

.product-info p{
  margin-top:12px;
  color:#475467;
  line-height:1.7;
}

.product-info label{
  display:block;
  margin-top:20px;
  margin-bottom:8px;
  font-size:14px;
  font-weight:700;
}

.product-info input[type="number"]{
  width:100%;
  max-width:120px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  padding:10px;
  margin-bottom:14px;
}

.related{
  width:min(1120px,94vw);
  margin:0 auto 54px;
}

.related h2{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:30px;
  margin-bottom:14px;
}

/* ================= ADMIN ================= */

.admin-page{
  background:linear-gradient(180deg,#f7f9fc,#eef2f7);
}

.admin-shell{
  width:min(1180px,94vw);
  margin:28px auto 56px;
}

.admin-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:24px clamp(18px,3vw,30px);
  border-radius:24px;
  color:#fff;
  background:linear-gradient(140deg,#111827,#1e3a8a 70%,#0f5132);
  box-shadow:var(--shadow-md);
}

.admin-hero h2{
  margin-top:8px;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:34px;
}

.admin-hero p{
  margin-top:8px;
  color:#dbe6f3;
}

.admin-kicker{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  color:#93c5fd;
}

.admin-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);
  font-size:12px;
  font-weight:800;
}

.admin-actions{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.admin-section{
  margin-top:18px;
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:22px;
  padding:20px;
  box-shadow:var(--shadow-sm);
}

.admin-section h3{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:24px;
}

.admin-section p{
  margin-top:8px;
  color:#667085;
}

.admin-metrics{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.admin-metric{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:18px;
  padding:16px;
}

.admin-metric strong{
  display:block;
  font-size:30px;
  font-family:"Sora","Segoe UI",sans-serif;
}

.admin-metric span{
  display:block;
  margin-top:6px;
  color:#667085;
  font-size:14px;
}

.admin-grid{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.admin-card{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:18px;
  padding:16px;
}

.admin-card h4{
  font-size:20px;
  font-family:"Sora","Segoe UI",sans-serif;
}

.admin-card p{
  margin-top:8px;
  color:#667085;
  line-height:1.6;
}

.admin-list{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.admin-list-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid #eaecf0;
  border-radius:12px;
  padding:10px 12px;
}

.admin-list-item small{
  color:#667085;
}

.admin-table-wrap{
  margin-top:14px;
  overflow:auto;
  border:1px solid #eaecf0;
  border-radius:16px;
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
}

.admin-table th,
.admin-table td{
  text-align:left;
  padding:12px 14px;
  border-bottom:1px solid #f2f4f7;
  font-size:14px;
}

.admin-table th{
  background:#f8fafc;
  color:#344054;
  font-weight:800;
}

.admin-table tr:last-child td{
  border-bottom:none;
}

.admin-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.admin-tag--ok{
  background:#dcfce7;
  color:#166534;
}

.admin-tag--warn{
  background:#fef3c7;
  color:#92400e;
}

.admin-tag--neutral{
  background:#eef2ff;
  color:#3730a3;
}

.admin-empty{
  margin-top:12px;
  border:1px dashed #d0d5dd;
  border-radius:16px;
  padding:24px;
  text-align:center;
  color:#667085;
}

/* ================= RESPONSIVE ================= */

@media (max-width:1100px){
  .home-hero{
    grid-template-columns:1fr;
    min-height:unset;
  }

  .hero-stage{
    min-height:430px;
  }

  .productos{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .favorites-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .admin-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:920px){
  body{
    padding-top:84px;
  }

  .top-header{
    flex-wrap:wrap;
    gap:10px;
    min-height:auto;
    padding:12px 14px;
  }

  .home-nav{
    order:3;
    width:100%;
    justify-content:flex-start;
    overflow:auto;
    padding-bottom:4px;
  }

  .search{
    max-width:none;
    flex:1 1 100%;
    order:4;
  }

  .hero-content h2{
    font-size:clamp(34px,7.2vw,54px);
  }

  .hero-metrics{
    grid-template-columns:1fr;
  }

  .hero-stage{
    min-height:390px;
  }

  .hero-slide-copy h3{
    font-size:28px;
  }

  .hero-slide-copy p{
    font-size:24px;
  }

  .productos{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .benefits{
    grid-template-columns:1fr;
  }

  .favorites-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .favorites-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cart-intro{
    flex-direction:column;
    align-items:flex-start;
  }

  .cart-layout-pro{
    grid-template-columns:1fr;
  }

  .cart-summary-pro{
    position:static;
  }

  .product-container{
    grid-template-columns:1fr;
  }

  .admin-hero{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px){
  main{
    width:min(96vw,560px);
  }

  .user-info > span{
    display:none;
  }

  .hero-content h2{
    font-size:32px;
  }

  .hero-subtitle{
    font-size:16px;
  }

  .hero-note{
    font-size:14px;
    line-height:1.65;
  }

  .hero-stage{
    min-height:320px;
  }

  .hero-slide-copy{
    left:12px;
    right:12px;
    bottom:12px;
    padding:14px;
  }

  .hero-slide-copy h3{
    font-size:22px;
  }

  .hero-slide-copy p{
    font-size:20px;
  }

  .hero-control{
    width:40px;
    height:40px;
  }

  .hero-control span{
    font-size:16px;
  }

  .section-title{
    font-size:30px;
  }

  .productos{
    grid-template-columns:1fr;
  }

  .product-actions{
    grid-template-columns:1fr;
  }

  .favorite-actions{
    grid-template-columns:1fr;
  }

  .favorites-grid{
    grid-template-columns:1fr;
  }

  .admin-metrics{
    grid-template-columns:1fr;
  }

  .login-card{
    padding:34px 22px;
  }

  .cart-item-pro{
    grid-template-columns:1fr;
  }

  .cart-item-side{
    text-align:left;
  }

  .cart-item-total{
    font-size:22px;
  }

  .cart-main{
    width:min(96vw,560px);
  }

  .cart-intro h2{
    font-size:28px;
  }
}

/* ================= PRO UPGRADE ================= */

:root{
  --pro-ease:cubic-bezier(.2,.75,.2,1);
  --pro-glass:rgba(255,255,255,.78);
  --pro-outline:rgba(255,255,255,.52);
}

body{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% -8%,rgba(56,189,248,.12),transparent 30%),
    radial-gradient(circle at 86% -10%,rgba(250,204,21,.12),transparent 34%),
    linear-gradient(180deg,#f6f9fc 0%,#eff3f8 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.55),transparent 34%),
    radial-gradient(circle at 90% 72%,rgba(255,255,255,.38),transparent 36%);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.1;
  background-image:repeating-linear-gradient(
    135deg,
    transparent 0 20px,
    rgba(16,24,40,.24) 20px 21px
  );
}

.top-header{
  box-shadow:0 16px 34px rgba(3,10,21,.22);
  transition:
    box-shadow .34s ease,
    transform .34s ease,
    background-color .34s ease;
}

.top-header::after{
  content:"";
  position:absolute;
  left:clamp(16px,2vw,32px);
  right:clamp(16px,2vw,32px);
  bottom:-1px;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.45),
    rgba(255,255,255,0)
  );
}

.user-info{
  transition:
    transform .28s ease,
    background-color .28s ease,
    border-color .28s ease;
  border:1px solid rgba(255,255,255,.16);
}

.user-info:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.3);
}

.dropdown{
  animation:proFloatIn .28s var(--pro-ease);
}

.cart-btn{
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    background-color .24s ease,
    border-color .24s ease;
}

.cart-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(16,24,40,.2);
}

.cart-badge{
  box-shadow:0 0 0 4px rgba(255,255,255,.75);
}

.btn,
.btn-login,
.btn-checkout,
.btn-back,
.hero-btn{
  position:relative;
  overflow:hidden;
  transition:
    transform .26s ease,
    box-shadow .26s ease,
    filter .26s ease,
    background-color .26s ease,
    color .26s ease,
    border-color .26s ease;
}

.btn::after,
.btn-login::after,
.btn-checkout::after,
.btn-back::after,
.hero-btn::after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  left:var(--mx,50%);
  top:var(--my,50%);
  transform:translate(-50%,-50%) scale(0);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.34),rgba(255,255,255,0) 72%);
  opacity:0;
  transition:transform .46s var(--pro-ease),opacity .46s var(--pro-ease);
  pointer-events:none;
}

.btn:hover::after,
.btn-login:hover::after,
.btn-checkout:hover::after,
.btn-back:hover::after,
.hero-btn:hover::after{
  opacity:1;
  transform:translate(-50%,-50%) scale(1.6);
}

.btn.is-burst,
.btn-login.is-burst,
.btn-checkout.is-burst,
.hero-btn.is-burst,
.btn-fav.is-burst,
.btn-add.is-burst{
  animation:proPulse .46s var(--pro-ease);
}

.card,
.favorite-card,
.cart-item-pro,
.cart-summary-pro,
.product-image,
.product-info,
.admin-metric,
.admin-card,
.admin-section,
.login-card{
  position:relative;
  overflow:hidden;
  background:var(--pro-glass);
  border-color:rgba(219,224,232,.95);
  backdrop-filter:blur(6px);
}

.admin-table-wrap{
  background:var(--pro-glass);
  border-color:rgba(219,224,232,.95);
  backdrop-filter:blur(6px);
}

.card::before,
.favorite-card::before,
.admin-metric::before,
.admin-card::before{
  content:"";
  position:absolute;
  inset:-1px -38%;
  pointer-events:none;
  background:linear-gradient(
    112deg,
    rgba(255,255,255,0) 33%,
    rgba(255,255,255,.52) 50%,
    rgba(255,255,255,0) 67%
  );
  transform:translateX(-64%);
  opacity:0;
  transition:transform .64s ease,opacity .64s ease;
}

.card:hover::before,
.favorite-card:hover::before,
.admin-metric:hover::before,
.admin-card:hover::before{
  transform:translateX(44%);
  opacity:.7;
}

.product-card,
.favorite-card,
.cart-item-pro,
.admin-metric,
.admin-card{
  transition:
    transform .34s var(--pro-ease),
    box-shadow .34s ease,
    border-color .34s ease;
  transform-style:preserve-3d;
}

.product-card:hover,
.favorite-card:hover,
.cart-item-pro:hover,
.admin-metric:hover,
.admin-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(16,24,40,.15);
  border-color:#d0d7e2;
}

.section-kicker,
.favorites-kicker,
.cart-kicker,
.admin-kicker{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.section-kicker::before,
.favorites-kicker::before,
.cart-kicker::before,
.admin-kicker::before{
  content:"";
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  opacity:.62;
}

.pro-reveal{
  opacity:0;
  transform:translate3d(0,28px,0) scale(.985);
  transition:
    opacity .7s ease,
    transform .7s var(--pro-ease);
  transition-delay:var(--pro-delay,0ms);
  will-change:opacity,transform;
}

.pro-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}

.pro-reveal[data-pro-reveal="left"]{
  transform:translate3d(-28px,0,0) scale(.985);
}

.pro-reveal[data-pro-reveal="right"]{
  transform:translate3d(28px,0,0) scale(.985);
}

.pro-reveal.is-visible[data-pro-reveal="left"],
.pro-reveal.is-visible[data-pro-reveal="right"]{
  transform:translate3d(0,0,0) scale(1);
}

.product-page{
  background:linear-gradient(180deg,#f8fbfd,#eef3f8);
}

.product-page .product-container{
  perspective:1200px;
}

.product-page .product-image{
  animation:proFloatIn .66s var(--pro-ease) both;
}

.product-page .product-info{
  animation:proFloatIn .66s var(--pro-ease) .12s both;
}

.product-page .related{
  animation:proFloatIn .74s var(--pro-ease) .2s both;
}

.favorites-page .favorites-head{
  position:relative;
  overflow:hidden;
  animation:proFloatIn .68s var(--pro-ease) both;
}

.favorites-page .favorites-head::after{
  content:"";
  position:absolute;
  inset:-80% auto auto -38%;
  width:72%;
  height:260%;
  transform:rotate(24deg);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.24),
    rgba(255,255,255,0)
  );
  animation:proSheen 6.4s linear infinite;
  pointer-events:none;
}

.favorites-page .favorite-card{
  animation:proFloatIn .6s var(--pro-ease) both;
}

.favorites-page .favorite-card:nth-child(1){ animation-delay:.08s; }
.favorites-page .favorite-card:nth-child(2){ animation-delay:.14s; }
.favorites-page .favorite-card:nth-child(3){ animation-delay:.2s; }
.favorites-page .favorite-card:nth-child(4){ animation-delay:.26s; }
.favorites-page .favorite-card:nth-child(n+5){ animation-delay:.32s; }

.favorite-card.is-removing{
  animation:proRemove .24s ease forwards;
  pointer-events:none;
}

.cart-page .cart-intro{
  position:relative;
  overflow:hidden;
  animation:proFloatIn .7s var(--pro-ease) both;
}

.cart-page .cart-intro::before{
  content:"";
  position:absolute;
  inset:-20% -10%;
  background:radial-gradient(circle at 18% 24%,rgba(255,255,255,.12),transparent 40%);
  pointer-events:none;
  animation:proDrift 12s ease-in-out infinite alternate;
}

.cart-page .cart-item-pro{
  animation:proFloatIn .58s var(--pro-ease) both;
}

.cart-page .cart-item-pro:nth-child(1){ animation-delay:.06s; }
.cart-page .cart-item-pro:nth-child(2){ animation-delay:.12s; }
.cart-page .cart-item-pro:nth-child(3){ animation-delay:.18s; }
.cart-page .cart-item-pro:nth-child(4){ animation-delay:.24s; }
.cart-page .cart-item-pro:nth-child(n+5){ animation-delay:.3s; }

.cart-page .cart-summary-pro{
  animation:proFloatIn .66s var(--pro-ease) .18s both;
}

.admin-page .admin-hero{
  position:relative;
  overflow:hidden;
  animation:proFloatIn .68s var(--pro-ease) both;
}

.admin-page .admin-hero::after{
  content:"";
  position:absolute;
  inset:-16% -4%;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 30%,rgba(255,255,255,.14),transparent 34%),
    radial-gradient(circle at 18% 72%,rgba(255,255,255,.08),transparent 32%);
  animation:proDrift 11.5s ease-in-out infinite alternate;
}

.admin-page .admin-metric,
.admin-page .admin-card,
.admin-page .admin-section{
  animation:proFloatIn .58s var(--pro-ease) both;
}

.admin-page .admin-metric:nth-child(1){ animation-delay:.08s; }
.admin-page .admin-metric:nth-child(2){ animation-delay:.14s; }
.admin-page .admin-metric:nth-child(3){ animation-delay:.2s; }
.admin-page .admin-metric:nth-child(4){ animation-delay:.26s; }
.admin-page .admin-card:nth-child(1){ animation-delay:.22s; }
.admin-page .admin-card:nth-child(2){ animation-delay:.3s; }
.admin-page .admin-section{ animation-delay:.34s; }

.login-body{
  position:relative;
  overflow:hidden;
}

.login-body::before{
  content:"";
  position:fixed;
  width:500px;
  height:500px;
  left:-180px;
  top:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(34,197,94,.18),rgba(34,197,94,0) 68%);
  pointer-events:none;
  animation:proDrift 11s ease-in-out infinite alternate;
}

.login-body::after{
  content:"";
  position:fixed;
  width:460px;
  height:460px;
  right:-160px;
  bottom:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.2),rgba(56,189,248,0) 68%);
  pointer-events:none;
  animation:proDrift 12.6s ease-in-out infinite alternate-reverse;
}

.login-card{
  border:1px solid var(--pro-outline);
  animation:proFloatIn .62s var(--pro-ease) both;
}

.login-form input{
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    transform .22s ease;
}

.login-form input:focus{
  transform:translateY(-1px);
}

.btn-fav.is-active svg{
  animation:proHeartBeat .5s ease;
}

.search-empty,
.empty-state,
.favorites-empty,
.empty-cart,
.admin-empty{
  border-style:solid;
  box-shadow:0 10px 26px rgba(16,24,40,.08);
}

a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:2px solid rgba(59,130,246,.75);
  outline-offset:2px;
}

@keyframes proFloatIn{
  from{
    opacity:0;
    transform:translate3d(0,28px,0) scale(.985);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }
}

@keyframes proSheen{
  0%{
    transform:translateX(-26%) rotate(24deg);
  }
  100%{
    transform:translateX(172%) rotate(24deg);
  }
}

@keyframes proPulse{
  0%{
    transform:translateY(0) scale(1);
  }
  45%{
    transform:translateY(-2px) scale(1.045);
  }
  100%{
    transform:translateY(0) scale(1);
  }
}

@keyframes proHeartBeat{
  0%{
    transform:scale(1);
  }
  35%{
    transform:scale(1.16);
  }
  100%{
    transform:scale(1);
  }
}

@keyframes proDrift{
  0%{
    transform:translate3d(0,0,0) scale(1);
  }
  100%{
    transform:translate3d(20px,-18px,0) scale(1.06);
  }
}

@keyframes proRemove{
  to{
    opacity:0;
    transform:translateY(10px) scale(.96);
  }
}

@media (max-width:620px){
  body::after{
    opacity:.07;
  }

  .product-card:hover,
  .favorite-card:hover,
  .cart-item-pro:hover,
  .admin-metric:hover,
  .admin-card:hover{
    transform:translateY(-4px);
  }
}

@media (prefers-reduced-motion:reduce){
  body::before,
  body::after,
  .top-header,
  .dropdown,
  .btn,
  .btn-login,
  .btn-checkout,
  .btn-back,
  .hero-btn,
  .card,
  .favorite-card,
  .cart-item-pro,
  .cart-summary-pro,
  .product-image,
  .product-info,
  .admin-metric,
  .admin-card,
  .admin-section,
  .login-card,
  .login-body::before,
  .login-body::after,
  .pro-reveal{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }

  .pro-reveal{
    opacity:1 !important;
  }
}

/* ================= COLOR HARMONY ================= */

:root{
  --bg-main:#f5f2ec;
  --bg-hero:#171a1f;
  --bg-card:#ffffff;
  --line-soft:rgba(25,39,31,.16);

  --brand-dark:#1b2b22;
  --brand-main:#1f6b52;
  --brand-light:#3c9d74;
  --accent:#c97532;

  --text-main:#0f172a;
  --text-soft:#4b5563;

  --danger:#be123c;
  --danger-soft:#fff1f2;
  --success:#1f7a52;
  --success-soft:#ecfdf5;

  --pro-glass:rgba(255,255,255,.86);
}

body{
  background:
    radial-gradient(circle at 12% -10%,rgba(60,157,116,.12),transparent 32%),
    radial-gradient(circle at 86% -12%,rgba(201,117,50,.11),transparent 34%),
    linear-gradient(180deg,#f8f5ef 0%,#efe9df 100%);
  color:var(--text-main);
}

body::after{
  opacity:.06;
}

.top-header{
  background:linear-gradient(96deg,rgba(14,18,24,.96),rgba(28,51,40,.93));
  border-bottom:1px solid rgba(255,255,255,.14);
}

.top-header--home{
  background:linear-gradient(96deg,rgba(14,18,24,.96),rgba(28,51,40,.93));
}

.home-page .top-header--home,
.home-page .top-header--home.is-scrolled{
  background:linear-gradient(96deg,rgba(14,18,24,.96),rgba(28,51,40,.93));
}

.top-header .logo-area h1{
  color:#f8fafc;
}

.home-nav a{
  color:#ecf3f0;
}

.home-page .home-nav a::after{
  background:linear-gradient(90deg,#e1a56e,#56b083);
}

.search input{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.14);
}

.search input:focus{
  border-color:rgba(107,195,150,.8);
  box-shadow:0 0 0 3px rgba(107,195,150,.2);
}

.btn{
  background:linear-gradient(120deg,var(--brand-main),var(--brand-light));
  color:#f8fafc;
}

.btn-secondary{
  color:var(--brand-dark);
  border-color:rgba(31,107,82,.3);
}

.btn-secondary:hover{
  background:#f1f7f3;
}

.btn-back{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.14);
}

.btn-back:hover{
  color:var(--brand-dark);
}

.cart-btn{
  border-color:rgba(31,107,82,.24);
}

.fav-btn-link{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}

.fav-badge{
  background:#e11d48;
  color:#ffffff;
}

.cart-badge{
  background:var(--accent);
  color:#fff7ed;
}

.home-page{
  background:linear-gradient(180deg,#f8f5ef 0%,#efe9df 100%);
}

.home-hero{
  background:linear-gradient(116deg,#14181f 0%,#1d3f32 46%,#6f4527 100%);
}

.hero-slide-copy span{
  color:#f4d6b4;
}

.hero-slide-copy p{
  color:#ffe7d1;
}

.section-kicker{
  color:#1f6b52;
}

.section-link{
  color:var(--brand-main);
}

.badge.nuevo{
  background:#3c9d74;
  color:#ebfff6;
}

.badge.oferta{
  background:var(--accent);
  color:#fff7ed;
}

.favorites-page{
  background:linear-gradient(180deg,#f8f5ef,#efe9df);
}

.favorites-head{
  background:linear-gradient(126deg,#14181f 0%,#1d3f32 56%,#6f4527 100%);
}

.favorites-kicker{
  color:#f6d6b2;
}

.cart-kicker{
  color:#f6d6b2;
}

.favorites-head p{
  color:#f3e9de;
}

.fav-pill{
  background:rgba(225,29,72,.2);
  border-color:rgba(254,205,211,.38);
}

.favorite-body p{
  color:#0f172a;
}

.cart-page{
  background:linear-gradient(180deg,#f8f5ef,#efe9df);
}

.cart-intro{
  background:linear-gradient(128deg,#14181f 0%,#1d3f32 56%,#6f4527 100%);
}

.summary-success{
  color:var(--success);
}

.btn-delete{
  background:var(--danger-soft);
  color:var(--danger);
}

.product-page{
  background:linear-gradient(180deg,#f8f5ef,#efe9df);
}

.admin-page{
  background:linear-gradient(180deg,#f8f5ef,#efe9df);
}

.admin-hero{
  background:linear-gradient(128deg,#14181f 0%,#1d3f32 56%,#6f4527 100%);
}

.admin-kicker{
  color:#f6d6b2;
}

.admin-tag--ok{
  background:#d1fae5;
  color:#065f46;
}

.admin-tag--warn{
  background:#fef3c7;
  color:#92400e;
}

.admin-tag--neutral{
  background:#f6eee6;
  color:#7c4b22;
}

.login-body{
  background:linear-gradient(136deg,#14181f 0%,#1d3f32 52%,#6f4527 100%);
}

.login-card h2{
  color:var(--brand-dark);
}

.btn-login{
  background:linear-gradient(120deg,var(--brand-main),var(--brand-light));
  color:#f8fafc;
}

.password-toggle{
  color:var(--brand-dark);
}

.login-links a{
  color:var(--brand-main);
}

.btn-fav.is-active{
  background:#ffe4e8;
  border-color:#fda4af;
}

.btn-fav.is-active svg{
  fill:#e11d48;
  stroke:#e11d48;
}

/* ================= URBANO MX PRO FINAL OVERRIDES ================= */

:root{
  --brand-dark:#13161c;
  --brand-main:#1f6b52;
  --brand-light:#4aa875;
  --accent:#b96a39;
  --line-soft:rgba(31,107,82,.2);
}

body,
.home-page,
.favorites-page,
.cart-page,
.product-page,
.admin-page{
  background:
    radial-gradient(circle at 10% -12%,rgba(74,168,117,.16),transparent 34%),
    radial-gradient(circle at 88% -10%,rgba(185,106,57,.14),transparent 36%),
    linear-gradient(180deg,#f9f4ea 0%,#efe6d8 100%);
}

.top-header,
.top-header--home,
.home-page .top-header--home,
.home-page .top-header--home.is-scrolled{
  background:linear-gradient(98deg,rgba(14,18,24,.96),rgba(30,63,50,.93));
}

.home-page .home-nav a::after{
  background:linear-gradient(90deg,#efb486,#5dbb8b);
}

.btn,
.btn-login,
.btn-checkout{
  background:linear-gradient(132deg,#1f6b52,#4aa875);
}

.btn-secondary{
  color:#1f6b52;
  border-color:rgba(31,107,82,.34);
}

.btn-secondary:hover{
  background:#f0f8f3;
}

.cart-badge{
  background:#b96a39;
  color:#fff7ed;
}

.fav-btn-link{
  background:#fff1f2;
  border-color:#fecdd3;
  color:#be123c;
}

.fav-badge{
  background:#e11d48;
  color:#fff;
}

.home-hero{
  background-image:
    radial-gradient(circle at var(--mx-glow-x,50%) var(--mx-glow-y,50%),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(114deg,#14181f 0%,#1e4436 50%,#6f4328 100%);
}

.favorites-head,
.cart-intro,
.admin-hero{
  background-image:
    radial-gradient(circle at var(--mx-glow-x,50%) var(--mx-glow-y,50%),rgba(255,255,255,.18),transparent 36%),
    linear-gradient(126deg,#14181f 0%,#1e4436 56%,#6f4328 100%);
}

.favorites-kicker,
.cart-kicker,
.admin-kicker{
  color:#f5d6ba;
}

.section-kicker,
.section-link{
  color:#1f6b52;
}

.badge.nuevo{
  background:#3fa576;
  color:#effff7;
}

.badge.oferta{
  background:#b96a39;
  color:#fff7ed;
}

.card,
.favorite-card,
.cart-item-pro,
.admin-card,
.admin-metric,
.product-image,
.product-info,
.cart-summary-pro,
.admin-section,
.admin-table-wrap,
.login-card{
  border:1px solid rgba(31,107,82,.16);
  box-shadow:0 14px 30px rgba(13,22,19,.1);
}

.login-body{
  background:
    radial-gradient(circle at 8% 12%,rgba(74,168,117,.22),transparent 34%),
    radial-gradient(circle at 88% 86%,rgba(185,106,57,.2),transparent 36%),
    linear-gradient(136deg,#14181f 0%,#1e4436 52%,#6f4328 100%);
}

.btn-fav.is-active{
  background:#ffe4e8;
  border-color:#fda4af;
}

.btn-fav.is-active svg{
  fill:#e11d48;
  stroke:#e11d48;
}

/* ================= FINAL CART PENDING ACTIONS (OVERRIDE) ================= */

.btn-secondary,
.btn.btn-secondary{
  background:#ffffff;
  color:#1f6b52;
  border:1px solid rgba(31,107,82,.34);
}

.btn-secondary:hover,
.btn.btn-secondary:hover{
  background:#f0f8f3;
  color:#1b5d47;
}

.pending-order-card{
  margin-top:14px;
}

.pending-order-title{
  font-weight:800;
  color:#0f172a;
}

.pending-order-description{
  margin-top:6px;
  color:#475467;
}

.pending-order-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.pending-order-total{
  color:#0f172a;
}

.pending-order-error{
  margin-top:8px;
  color:#b42318;
  font-weight:600;
}

.pending-order-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-top:14px;
}

.pending-order-form{
  margin:0;
}

.pending-order-form--primary{
  min-width:0;
}

.pending-order-pay-btn{
  width:100%;
}

.pending-order-form--cancel{
  justify-self:end;
}

.btn-order-cancel{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  min-height:52px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid #f7beca;
  background:#fff1f4;
  color:#be123c;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;
}

.btn-order-cancel:hover{
  transform:translateY(-2px);
  background:#ffe6eb;
  border-color:#f59ab0;
  box-shadow:0 10px 22px rgba(190,18,60,.18);
}

.btn-order-cancel:active{
  transform:translateY(0);
}

.btn-order-cancel:focus-visible{
  outline:2px solid rgba(190,18,60,.45);
  outline-offset:2px;
}

@media (max-width:820px){
  .pending-order-actions{
    grid-template-columns:1fr;
  }

  .pending-order-form--cancel{
    justify-self:stretch;
  }

  .btn-order-cancel{
    width:100%;
    min-width:0;
  }
}

/* ================= FINAL PENDING ACTIONS: VERIFY FLOW ================= */

.pending-order-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:14px;
}

.pending-order-subactions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.pending-order-verify-btn{
  min-width:240px;
  min-height:52px;
}

.pending-order-pay-btn.is-loading,
.pending-order-verify-btn.is-loading,
.btn-order-cancel.is-loading,
.cart-page .btn-checkout.is-loading{
  cursor:wait;
  opacity:.84;
  filter:saturate(.86);
  pointer-events:none;
}

@media (max-width:820px){
  .pending-order-subactions{
    flex-direction:column;
    align-items:stretch;
  }

  .pending-order-verify-btn,
  .btn-order-cancel{
    width:100%;
    min-width:0;
  }
}

/* ================= CART PROFESSIONAL V3 ================= */

.cart-page .cart-steps{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cart-page .cart-step{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(31,107,82,.2);
  background:rgba(255,255,255,.82);
  color:#344054;
  font-size:12px;
  font-weight:700;
}

.cart-page .cart-step strong{
  width:22px;
  height:22px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#e8f4ed;
  color:#1f6b52;
}

.cart-page .cart-step.is-active{
  border-color:rgba(31,107,82,.38);
  background:#edf8f1;
  color:#123528;
}

.cart-page .cart-alert{
  margin-top:14px;
  border-radius:14px;
  border:1px solid;
  padding:12px 14px;
  box-shadow:0 6px 16px rgba(16,24,40,.08);
}

.cart-page .cart-alert p{
  margin:0;
  font-size:14px;
  font-weight:700;
}

.cart-page .cart-alert--success{
  border-color:#86efac;
  background:#f0fdf4;
  color:#166534;
}

.cart-page .cart-alert--info{
  border-color:#bfdbfe;
  background:#eff6ff;
  color:#1d4ed8;
}

.cart-page .cart-alert--error{
  border-color:#fecdd3;
  background:#fff1f2;
  color:#9f1239;
}

.cart-page .cart-payment-blocked{
  margin-top:12px;
}

.cart-page .btn-checkout:disabled,
.cart-page .btn-checkout[aria-disabled="true"]{
  opacity:.58;
  cursor:not-allowed;
  pointer-events:none;
  transform:none;
  box-shadow:none;
}

.cart-page .cart-stock-notice{
  margin-top:14px;
}

.cart-page .cart-line-note{
  margin-top:6px;
  font-size:13px;
  color:#1f6b52;
  font-weight:700;
}

.cart-page .cart-item-side-note{
  display:block;
  margin-top:3px;
  color:#667085;
  font-size:12px;
}

.cart-page .summary-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.cart-page .summary-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#166534;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
}

.cart-page .summary-benefits{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.cart-page .summary-benefits li{
  position:relative;
  padding-left:18px;
  font-size:13px;
  color:#475467;
}

.cart-page .summary-benefits li::before{
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1f6b52;
}

.cart-page .checkout-form{
  margin-top:14px;
  display:grid;
  gap:10px;
}

.cart-page .checkout-field{
  display:grid;
  gap:6px;
}

.cart-page .checkout-field label{
  font-size:12px;
  color:#344054;
  font-weight:700;
}

.cart-page .checkout-field input,
.cart-page .checkout-field textarea{
  width:100%;
  border:1px solid #d0d5dd;
  border-radius:12px;
  background:#fff;
  color:#101828;
  padding:10px 12px;
  font-size:14px;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.cart-page .checkout-field textarea{
  resize:vertical;
  min-height:86px;
}

.cart-page .checkout-field input:focus,
.cart-page .checkout-field textarea:focus{
  border-color:#35a275;
  box-shadow:0 0 0 3px rgba(53,162,117,.18);
  outline:none;
}

.cart-page .checkout-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:12px;
  color:#475467;
  line-height:1.45;
}

.cart-page .checkout-consent input{
  margin-top:1px;
}

.cart-page .checkout-disclaimer{
  margin:0;
  font-size:12px;
  color:#667085;
}

.cart-page .summary-legal{
  margin-top:10px;
  font-size:12px;
  color:#667085;
  line-height:1.45;
}

.cart-page .cart-shipping-progress{
  margin-top:14px;
}

.cart-page .cart-shipping-progress-title{
  margin:0;
  font-size:14px;
  font-weight:700;
}

.cart-page .cart-shipping-progress-track{
  margin-top:10px;
  width:100%;
  height:10px;
  border-radius:999px;
  background:rgba(148,163,184,.25);
  overflow:hidden;
}

.cart-page .cart-shipping-progress-track span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#22c55e,#0ea5e9);
  transition:width .25s ease;
}

.cart-page .cart-shipping-progress-meta{
  margin-top:8px;
  font-size:12px;
  color:#64748b;
}

.cart-page .summary-payment-methods{
  margin-top:12px;
  border:1px solid #dce7f3;
  border-radius:12px;
  background:#f8fbff;
  padding:9px 10px;
}

.cart-page .summary-payment-methods p{
  margin:0 0 8px;
  font-size:12px;
  color:#475467;
  font-weight:700;
}

.cart-page .summary-payment-methods ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.cart-page .summary-payment-methods li{
  border-radius:999px;
  border:1px solid #d0d9e3;
  background:#ffffff;
  color:#334155;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:4px 9px;
}

.cart-page .summary-trust-policies{
  margin-top:10px;
  display:grid;
  gap:7px;
}

.cart-page .summary-trust-policies p{
  margin:0;
  font-size:12px;
  color:#475467;
  line-height:1.45;
}

.cart-page .summary-support-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  border-radius:999px;
  border:1px solid #22c55e;
  background:#ecfdf3;
  color:#166534;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  padding:0 11px;
}

.cart-page .summary-support-link:hover{
  background:#dcfce7;
}

.cart-page .cart-sticky-checkout{
  position:fixed;
  left:12px;
  right:12px;
  bottom:10px;
  z-index:1090;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(15,23,42,.14);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  box-shadow:0 14px 34px rgba(2,12,22,.24);
  padding:10px 12px;
}

.cart-page .cart-sticky-checkout-info{
  display:grid;
  gap:2px;
}

.cart-page .cart-sticky-checkout-info strong{
  font-size:14px;
  color:#0f172a;
  line-height:1.2;
}

.cart-page .cart-sticky-checkout-info small{
  font-size:12px;
  color:#64748b;
}

.cart-page .cart-sticky-checkout .btn-checkout{
  min-height:42px;
  padding:0 14px;
  margin:0;
}

@media (max-width:780px){
  .cart-page .cart-steps{
    gap:8px;
  }

  .cart-page .cart-step{
    font-size:11px;
    padding:7px 10px;
  }

  .cart-page .cart-step strong{
    width:20px;
    height:20px;
  }

  .cart-page .cart-sticky-checkout{
    display:flex;
  }

  .cart-page{
    padding-bottom:92px;
  }
}

/* ================= ADMIN DASHBOARD V2 ================= */

.dashboard-v2-page{
  background:
    radial-gradient(1100px 560px at 10% -10%, rgba(20,130,113,.10), transparent 62%),
    radial-gradient(820px 420px at 92% 2%, rgba(2,132,199,.10), transparent 62%),
    linear-gradient(180deg, #f6f9fc 0%, #eef4f8 100%);
}

.dashboard-v2{
  width:min(1240px,94vw);
  margin:26px auto 52px;
  display:grid;
  gap:16px;
}

.dashboard-v2-hero{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:stretch;
  background:linear-gradient(132deg,#0f172a,#14532d 50%,#0f766e);
  color:#f8fafc;
  border-radius:24px;
  padding:24px 26px;
  box-shadow:0 14px 32px rgba(15,23,42,.22);
}

.dashboard-v2-hero p{ color:#d7e5ee; }
.dashboard-v2-hero .admin-actions .btn{ margin-top:2px; }

.dashboard-v2-hero-meta{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:250px;
  justify-content:center;
}

.dashboard-v2-hero-meta .admin-pill{
  background:rgba(255,255,255,.13);
  color:#e9f3ff;
  border:1px solid rgba(255,255,255,.16);
}

.dashboard-v2-toolbar{
  background:#ffffff;
  border:1px solid #dce7f3;
  border-radius:18px;
  padding:14px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}

.dashboard-filter-form{
  display:grid;
  gap:12px;
}

.dashboard-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:end;
}

.dashboard-filter-field{
  display:grid;
  gap:6px;
}

.dashboard-filter-field span{
  font-size:12px;
  font-weight:700;
  color:#475467;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.dashboard-filter-field select,
.dashboard-filter-field input{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:10px 12px;
  background:#ffffff;
  color:#0f172a;
  font-size:14px;
}

.dashboard-filter-field input.is-readonly{
  background:#f8fafc;
  color:#64748b;
}

.dashboard-toolbar-actions{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.dashboard-auto-refresh{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #d0d5dd;
  border-radius:999px;
  padding:8px 11px;
  background:#f8fafc;
  font-size:12px;
  font-weight:700;
  color:#334155;
}

.dashboard-auto-refresh input{
  width:14px;
  height:14px;
}

.dashboard-filter-note{
  margin:0;
  font-size:13px;
  color:#475467;
  border-top:1px dashed #dce7f3;
  padding-top:10px;
}

.dashboard-filter-note strong{
  color:#0f172a;
}

.dashboard-v2-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.dashboard-kpi{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:18px;
  padding:16px;
  box-shadow:0 8px 20px rgba(16,24,40,.06);
  display:grid;
  gap:8px;
}

.dashboard-kpi--revenue{
  background:linear-gradient(152deg,#f0fdf4,#ecfeff);
  border-color:#bae6fd;
}

.dashboard-kpi-label{
  margin:0;
  font-size:12px;
  color:#475467;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.dashboard-kpi-value{
  font-size:28px;
  line-height:1.05;
  color:#0f172a;
  font-family:"Sora","Segoe UI",sans-serif;
}

.dashboard-kpi-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.dashboard-kpi-meta small{ color:#667085; font-size:12px; }

.dashboard-trend{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}

.dashboard-trend--up{ background:#ecfdf3; color:#15803d; }
.dashboard-trend--down{ background:#fff1f2; color:#be123c; }
.dashboard-trend--flat{ background:#eff6ff; color:#1d4ed8; }

.dashboard-v2-charts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.dashboard-chart-card{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:20px;
  padding:14px;
  box-shadow:0 8px 20px rgba(16,24,40,.06);
  min-height:320px;
  display:grid;
  gap:10px;
}

.dashboard-chart-card--wide{ grid-column:span 2; min-height:340px; }

.dashboard-chart-head h3{
  margin:0;
  font-size:19px;
  font-family:"Sora","Segoe UI",sans-serif;
  color:#111827;
}

.dashboard-chart-head p{
  margin:6px 0 0;
  color:#667085;
  font-size:13px;
}

.dashboard-chart-body{ position:relative; min-height:250px; }
.dashboard-chart-body canvas{ width:100% !important; height:100% !important; }

.dashboard-chart-fallback{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  text-align:center;
  padding:10px;
  border:1px dashed #d0d5dd;
  border-radius:12px;
  background:#f8fafc;
  color:#667085;
  font-size:13px;
}

.dashboard-chart-fallback[hidden]{
  display:none !important;
}

.dashboard-v2-panels{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.dashboard-panel-card{
  background:#fff;
  border:1px solid #e4e7ec;
  border-radius:20px;
  padding:14px;
  box-shadow:0 8px 20px rgba(16,24,40,.06);
  display:grid;
  gap:12px;
}

.dashboard-panel-card--full{ grid-column:span 3; }

.dashboard-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.dashboard-panel-head h3{
  margin:0;
  font-size:18px;
  color:#101828;
  font-family:"Sora","Segoe UI",sans-serif;
}

.dashboard-panel-badge{
  border-radius:999px;
  padding:6px 10px;
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.dashboard-panel-badge--warn{
  background:#fff7ed;
  color:#c2410c;
  border-color:#fed7aa;
}

.dashboard-link{
  color:#14532d;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}

.dashboard-link:hover{ text-decoration:underline; }

.dashboard-alert-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.dashboard-alert-item{
  border-radius:12px;
  border:1px solid #e4e7ec;
  background:#f8fafc;
  padding:10px;
  display:grid;
  gap:4px;
}

.dashboard-alert-item span{ color:#667085; font-size:12px; }
.dashboard-alert-item strong{ font-size:16px; color:#101828; }

.dashboard-list{ display:grid; gap:8px; }

.dashboard-list-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:9px 10px;
  background:#fff;
}

.dashboard-list-item strong{ font-size:14px; color:#111827; }
.dashboard-list-item small{ display:block; margin-top:2px; color:#667085; font-size:12px; }

.dashboard-mini-tag{
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:800;
  background:#f2f4f7;
  color:#344054;
  border:1px solid #d0d5dd;
  white-space:nowrap;
}

.dashboard-mini-tag--ok{ background:#ecfdf3; color:#166534; border-color:#bbf7d0; }
.dashboard-mini-tag--warn{ background:#fff1f2; color:#be123c; border-color:#fecdd3; }

.dashboard-empty{
  margin:0;
  border:1px dashed #d0d5dd;
  border-radius:12px;
  background:#f8fafc;
  color:#667085;
  font-size:13px;
  padding:14px;
}

.dashboard-table-compact th,
.dashboard-table-compact td{
  font-size:13px;
  padding:10px 12px;
}

.dashboard-v2 [data-animate]{
  opacity:0;
  transform:translateY(10px);
  animation:dashboardFade .44s ease forwards;
}

.dashboard-v2 [data-animate]:nth-child(1){ animation-delay:.05s; }
.dashboard-v2 [data-animate]:nth-child(2){ animation-delay:.11s; }
.dashboard-v2 [data-animate]:nth-child(3){ animation-delay:.17s; }
.dashboard-v2 [data-animate]:nth-child(4){ animation-delay:.23s; }

@keyframes dashboardFade{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

@media (max-width:1180px){
  .dashboard-filter-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-v2-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dashboard-v2-panels{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-panel-card--full{ grid-column:span 2; }
}

@media (max-width:820px){
  .dashboard-v2-hero{ grid-template-columns:1fr; }
  .dashboard-v2-hero-meta{ min-width:0; }
  .dashboard-filter-grid{ grid-template-columns:1fr; }
  .dashboard-toolbar-actions{ justify-content:flex-start; }
  .dashboard-v2-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-v2-charts{ grid-template-columns:1fr; }
  .dashboard-chart-card--wide{ grid-column:span 1; }
  .dashboard-v2-panels{ grid-template-columns:1fr; }
  .dashboard-panel-card--full{ grid-column:span 1; }
}

@media (max-width:560px){
  .dashboard-v2-kpis{ grid-template-columns:1fr; }
  .dashboard-alert-grid{ grid-template-columns:1fr; }
}

@media print{
  .top-header,
  .dashboard-v2-toolbar .btn,
  .dashboard-auto-refresh{
    display:none !important;
  }

  .dashboard-v2-page{
    background:#ffffff !important;
  }

  .dashboard-v2{
    width:100%;
    margin:0;
    padding:0;
    gap:10px;
  }

  .dashboard-v2-hero,
  .dashboard-kpi,
  .dashboard-chart-card,
  .dashboard-panel-card{
    box-shadow:none !important;
    break-inside:avoid;
  }
}

/* ================= HOME V3 PROFESSIONAL ================= */

.home-page .home-trust-strip{
  margin:18px 0 10px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.home-page .home-trust-strip article{
  border:1px solid #dce3ec;
  background:#ffffff;
  border-radius:16px;
  padding:13px 14px;
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}

.home-page .home-trust-strip strong{
  display:block;
  font-size:13px;
  color:#0f172a;
  letter-spacing:.02em;
}

.home-page .home-trust-strip p{
  margin-top:5px;
  font-size:12px;
  color:#64748b;
}

.home-page .section-note{
  margin-top:10px;
  max-width:56ch;
  font-size:14px;
  color:#64748b;
}

.home-page .section-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.home-page .section-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:8px 12px;
  background:#f1f5f9;
  border:1px solid #dbe2ea;
  color:#334155;
  font-size:12px;
  font-weight:800;
}

.home-page .catalog-toolbar{
  margin:0 0 18px;
  border:1px solid #dce3ec;
  border-radius:18px;
  background:#ffffff;
  padding:14px;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
  display:grid;
  gap:12px;
}

.home-page .catalog-toolbar-grid{
  display:grid;
  grid-template-columns:1.4fr repeat(5,minmax(0,1fr));
  gap:10px;
  align-items:end;
}

.home-page .catalog-field{
  display:grid;
  gap:6px;
}

.home-page .catalog-field--wide{
  grid-column:auto;
}

.home-page .catalog-field span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#475467;
  text-transform:uppercase;
}

.home-page .catalog-field input,
.home-page .catalog-field select{
  width:100%;
  border:1px solid #d0d9e3;
  border-radius:12px;
  padding:10px 12px;
  background:#fcfdff;
  color:#0f172a;
  font-size:14px;
}

.home-page .catalog-field input:focus,
.home-page .catalog-field select:focus{
  outline:none;
  border-color:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.16);
}

.home-page .catalog-actions{
  display:flex;
  gap:8px;
}

.home-page .catalog-actions .btn{
  flex:1;
}

.home-page .catalog-type-switch{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.home-page .catalog-type-switch label{
  position:relative;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
}

.home-page .catalog-type-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.home-page .catalog-type-switch span{
  border:1px solid #d0d9e3;
  background:#f8fafc;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:700;
  color:#334155;
  transition:.2s ease;
}

.home-page .catalog-type-switch input:checked + span{
  border-color:#16a34a;
  color:#166534;
  background:#ecfdf3;
}


.home-page .home-cta-band{
  margin:28px 0 34px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.32);
  background:linear-gradient(126deg,#0f172a,#14532d 52%,#0f766e);
  color:#f8fafc;
  padding:22px 24px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  box-shadow:0 20px 44px rgba(7,14,24,.24);
}

.home-page .home-cta-band h2{
  margin:8px 0 0;
  font-size:32px;
  line-height:1.08;
  font-family:"Sora","Segoe UI",sans-serif;
}

.home-page .home-cta-band p{
  margin-top:10px;
  color:#d7e5ee;
  max-width:60ch;
}

.home-page .home-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.home-page .home-cta-actions .btn{
  min-width:150px;
}

.home-page .home-sales-modules{
  margin:14px 0 18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.home-page .section-head.section-head--compact{
  margin-bottom:10px;
}

.home-page .home-sales-block{
  border:1px solid #dce3ec;
  border-radius:20px;
  background:#ffffff;
  padding:14px;
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}

.home-page .home-sales-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.home-page .home-sales-card{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:10px;
  text-decoration:none;
  border:1px solid #d8e2ee;
  border-radius:14px;
  padding:8px;
  background:linear-gradient(135deg,#ffffff,#f8fbff);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-page .home-sales-card:hover{
  transform:translateY(-2px);
  border-color:#b8d7c7;
  box-shadow:0 10px 20px rgba(15,23,42,.1);
}

.home-page .home-sales-card img{
  width:78px;
  height:78px;
  border-radius:10px;
  object-fit:cover;
}

.home-page .home-sales-card-body{
  display:grid;
  align-content:center;
  gap:4px;
}

.home-page .home-sales-card-body h3{
  margin:0;
  color:#0f172a;
  font-size:14px;
  line-height:1.3;
}

.home-page .home-sales-card-body p{
  margin:0;
  color:#14532d;
  font-size:14px;
  font-weight:800;
}

.home-page .home-sales-card-body small{
  color:#64748b;
  font-size:12px;
}

.home-page .home-sales-card--new{
  border-color:#bfdbfe;
  background:linear-gradient(135deg,#f8fbff,#eff6ff);
}

.home-page .home-sales-empty{
  margin:0;
  border:1px dashed #cdd9e7;
  border-radius:12px;
  color:#64748b;
  font-size:13px;
  padding:12px;
  grid-column:1/-1;
}

.home-page .home-team-collections{
  margin:24px 0 10px;
}

.home-page .home-team-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.home-page .home-team-card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:180px;
  display:block;
  text-decoration:none;
  border:1px solid #dbe5ef;
  box-shadow:0 14px 28px rgba(15,23,42,.12);
}

.home-page .home-team-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-page .home-team-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(7,14,24,.78),rgba(7,14,24,.08) 58%);
}

.home-page .home-team-card-copy{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:2;
}

.home-page .home-team-card-copy h3{
  margin:0;
  color:#f8fafc;
  font-size:18px;
  font-family:"Sora","Segoe UI",sans-serif;
}

.home-page .home-team-card-copy p{
  margin:6px 0 0;
  color:#dbeafe;
  font-size:13px;
}

.home-page .home-testimonials{
  margin:26px 0 12px;
}

.home-page .home-testimonials-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.home-page .home-testimonial-card{
  border:1px solid #dce3ec;
  border-radius:16px;
  background:#ffffff;
  padding:14px;
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}

.home-page .home-testimonial-stars{
  margin:0 0 8px;
  color:#f59e0b;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:800;
}

.home-page .home-testimonial-card blockquote{
  margin:0;
  color:#334155;
  line-height:1.65;
  font-size:14px;
}

.home-page .home-testimonial-author{
  margin:12px 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.home-page .home-testimonial-author strong{
  font-size:13px;
  color:#0f172a;
}

.home-page .home-testimonial-author span{
  color:#64748b;
  font-size:12px;
}

@media (max-width:1100px){
  .home-page .home-trust-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-page .catalog-toolbar-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .home-page .catalog-field--wide{
    grid-column:span 3;
  }

  .home-page .home-sales-modules{
    grid-template-columns:1fr;
  }

  .home-page .home-team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-page .home-testimonials-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:780px){
  .home-page .section-head{
    align-items:flex-start;
  }

  .home-page .section-head-actions{
    width:100%;
    justify-content:space-between;
  }

  .home-page .catalog-toolbar-grid{
    grid-template-columns:1fr 1fr;
  }

  .home-page .catalog-field--wide{
    grid-column:span 2;
  }

  .home-page .catalog-actions{
    grid-column:span 2;
  }

  .home-page .home-cta-band{
    grid-template-columns:1fr;
  }

  .home-page .home-sales-grid{
    grid-template-columns:1fr;
  }

  .home-page .home-team-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media (max-width:560px){
  .home-page .home-trust-strip{
    grid-template-columns:1fr;
  }

  .home-page .catalog-toolbar-grid{
    grid-template-columns:1fr;
  }

  .home-page .catalog-field--wide,
  .home-page .catalog-actions{
    grid-column:span 1;
  }

  .home-page .home-cta-band h2{
    font-size:26px;
  }

  .home-page .home-team-grid,
  .home-page .home-testimonials-grid{
    grid-template-columns:1fr;
  }

}

/* ================= AUTH V2 ================= */

.auth-v2.login-body{
  padding:26px;
  background:
    radial-gradient(900px 500px at 12% -12%, rgba(34,197,94,.18), transparent 60%),
    radial-gradient(900px 500px at 92% 10%, rgba(14,165,233,.18), transparent 62%),
    linear-gradient(145deg, #0c1728 0%, #12243a 52%, #0f5132 100%);
}

.auth-v2 .auth-shell{
  width:min(1080px,100%);
  display:grid;
  grid-template-columns:1fr 460px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  box-shadow:0 30px 60px rgba(3,10,21,.45);
  backdrop-filter:blur(6px);
}

.auth-v2 .auth-shell--single{
  grid-template-columns:1fr;
  width:min(540px,100%);
}

.auth-v2 .auth-side{
  position:relative;
  padding:34px 34px 28px;
  color:#f8fafc;
  display:grid;
  gap:16px;
  align-content:start;
}

.auth-v2 .auth-side::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 88%, rgba(34,197,94,.24), transparent 42%),
    radial-gradient(circle at 85% 12%, rgba(56,189,248,.24), transparent 44%);
  pointer-events:none;
}

.auth-v2 .auth-brand-link{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

.auth-v2 .auth-brand-logo{
  width:56px;
  height:56px;
  object-fit:contain;
}

.auth-v2 .auth-brand-kicker{
  margin:0;
  font-size:11px;
  letter-spacing:.2em;
  font-weight:800;
  color:#93c5fd;
}

.auth-v2 .auth-brand-title{
  margin:6px 0 0;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:30px;
  line-height:1.1;
}

.auth-v2 .auth-side-copy{
  position:relative;
  z-index:1;
  margin:2px 0 0;
  color:#dbe7f4;
  line-height:1.75;
  max-width:48ch;
}

.auth-v2 .auth-side-points{
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
}

.auth-v2 .auth-side-points article{
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  padding:12px;
  display:grid;
  gap:4px;
}

.auth-v2 .auth-side-points strong{
  font-size:14px;
  color:#ffffff;
}

.auth-v2 .auth-side-points span{
  color:#d7e5ee;
  font-size:13px;
}

.auth-v2 .auth-panel{
  background:#ffffff;
  padding:30px 28px 26px;
  display:grid;
  gap:10px;
  align-content:start;
}

.auth-v2 .auth-kicker{
  margin:0;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#16a34a;
  font-weight:800;
}

.auth-v2 .auth-panel h2{
  margin:0;
  font-size:34px;
  color:#0f172a;
  font-family:"Sora","Segoe UI",sans-serif;
}

.auth-v2 .auth-subtitle{
  margin:0 0 2px;
  color:#64748b;
  font-size:14px;
}

.auth-v2 .auth-form{
  gap:12px;
}

.auth-v2 .auth-field{
  display:grid;
  gap:6px;
  text-align:left;
}

.auth-v2 .auth-field span{
  font-size:12px;
  font-weight:800;
  color:#334155;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.auth-v2 .auth-form input{
  background:#f8fafc;
  border:1px solid #d0d9e3;
  border-radius:12px;
  padding:12px 12px;
}

.auth-v2 .auth-form input:focus{
  border-color:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,.16);
  background:#ffffff;
}

.auth-v2 .auth-password-wrap{
  position:relative;
}

.auth-v2 .auth-password-wrap input{
  padding-right:92px;
}

.auth-v2 .auth-password-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  border:1px solid #d0d9e3;
  background:#ffffff;
  color:#14532d;
  border-radius:10px;
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.auth-v2 .auth-password-toggle:hover{
  background:#f1f5f9;
}

.auth-v2 .auth-submit{
  margin-top:2px;
}

.auth-v2 .auth-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:4px 0 0;
  color:#94a3b8;
  font-size:12px;
  font-weight:700;
}

.auth-v2 .auth-divider::before,
.auth-v2 .auth-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:#e2e8f0;
}

.auth-v2 .auth-google-btn{
  margin-top:0;
  border-radius:14px;
}

.auth-v2 .auth-links{
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  justify-content:center;
}

.auth-v2 .auth-links a{
  color:#14532d;
  font-size:13px;
  font-weight:700;
}

.auth-v2 .auth-helper-text{
  margin:0;
  color:#64748b;
  font-size:14px;
  line-height:1.65;
}

@media (max-width:980px){
  .auth-v2 .auth-shell{
    grid-template-columns:1fr;
    width:min(640px,100%);
  }

  .auth-v2 .auth-side{
    padding:24px;
  }

  .auth-v2 .auth-panel{
    padding:24px 22px;
  }
}

@media (max-width:560px){
  .auth-v2.login-body{
    padding:14px;
  }

  .auth-v2 .auth-panel h2{
    font-size:28px;
  }

  .auth-v2 .auth-brand-title{
    font-size:24px;
  }
}

/* ================= HOME CATALOG UX PRO ================= */

.home-page .search.search--pro{
  flex:1;
  max-width:460px;
}

.home-page .search.search--pro .search-control{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  box-shadow:0 10px 24px rgba(7,12,20,.2);
  overflow:hidden;
}

.home-page .search.search--pro .search-icon{
  position:absolute;
  left:14px;
  width:18px;
  height:18px;
  color:rgba(255,255,255,.74);
  pointer-events:none;
}

.home-page .search.search--pro .search-icon svg{
  width:100%;
  height:100%;
  fill:currentColor;
}

.home-page .search.search--pro input{
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.14);
  border-radius:999px;
  width:100%;
  padding:11px 16px;
  color:#f8fafc;
  font-size:14px;
  box-shadow:0 10px 24px rgba(7,12,20,.2);
}

.home-page .search.search--pro input:focus{
  outline:none;
  border-color:rgba(106,204,155,.9);
  box-shadow:
    0 0 0 3px rgba(106,204,155,.2),
    0 10px 24px rgba(7,12,20,.2);
}

.home-page .search.search--pro .search-submit{
  border:0;
  border-left:1px solid rgba(255,255,255,.24);
  background:linear-gradient(125deg,rgba(31,107,82,.98),rgba(74,168,117,.94));
  color:#f8fafc;
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  padding:0 16px;
  align-self:stretch;
  cursor:pointer;
  transition:filter .2s ease;
}

.home-page .search.search--pro .search-submit:hover{
  filter:brightness(1.06);
}

.home-page .catalog-toolbar.catalog-toolbar--pro{
  margin:0 0 18px;
  border:1px solid #d6dde8;
  border-radius:20px;
  background:
    radial-gradient(140% 120% at 0% 0%,rgba(74,168,117,.06),transparent 46%),
    linear-gradient(180deg,#ffffff,#f9fbfd);
  padding:16px;
  box-shadow:0 16px 30px rgba(15,23,42,.08);
  display:grid;
  gap:14px;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #e7edf5;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-title{
  margin:0;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  color:#0f172a;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-note{
  margin:0;
  font-size:13px;
  color:#64748b;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:11px;
  align-items:end;
}

.home-page .catalog-toolbar--pro .catalog-field{
  grid-column:span 2;
  display:grid;
  gap:7px;
}

.home-page .catalog-toolbar--pro .catalog-field--wide{
  grid-column:span 4;
}

.home-page .catalog-toolbar--pro .catalog-field--price{
  grid-column:span 2;
}

.home-page .catalog-toolbar--pro .catalog-field span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#475467;
  text-transform:uppercase;
}

.home-page .catalog-toolbar--pro .catalog-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
}

.home-page .catalog-toolbar--pro .catalog-field input,
.home-page .catalog-toolbar--pro .catalog-field select{
  width:100%;
  min-height:46px;
  border:1px solid #cfd9e4;
  border-radius:13px;
  padding:11px 12px;
  background:#fcfdff;
  color:#0f172a;
  font-size:14px;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.home-page .catalog-toolbar--pro .catalog-field select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:34px;
  background-image:
    linear-gradient(45deg,transparent 50%,#64748b 50%),
    linear-gradient(135deg,#64748b 50%,transparent 50%);
  background-position:
    calc(100% - 16px) calc(50% - 2px),
    calc(100% - 11px) calc(50% - 2px);
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}

.home-page .catalog-toolbar--pro .catalog-field input:focus,
.home-page .catalog-toolbar--pro .catalog-field select:focus{
  outline:none;
  border-color:#2f8b67;
  box-shadow:0 0 0 3px rgba(47,139,103,.16);
  background:#ffffff;
}

.home-page .catalog-toolbar--pro .catalog-input-wrap--search .catalog-input-icon{
  position:absolute;
  left:12px;
  width:16px;
  height:16px;
  color:#64748b;
  pointer-events:none;
}

.home-page .catalog-toolbar--pro .catalog-input-wrap--search .catalog-input-icon svg{
  width:100%;
  height:100%;
  fill:currentColor;
}

.home-page .catalog-toolbar--pro .catalog-field--search input{
  padding-left:12px;
}

.home-page .catalog-toolbar--pro .catalog-input-wrap--price .catalog-input-prefix{
  position:absolute;
  left:12px;
  font-size:13px;
  font-weight:700;
  color:#64748b;
  pointer-events:none;
}

.home-page .catalog-toolbar--pro .catalog-field--price input{
  padding-left:28px;
}

.home-page .catalog-toolbar--pro .catalog-actions{
  grid-column:span 2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.home-page .catalog-toolbar--pro .catalog-actions .btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.home-page .catalog-toolbar--pro .catalog-field-tip{
  margin:0;
  font-size:11px;
  color:#64748b;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-error{
  margin:0;
  border:1px solid #fecaca;
  border-radius:12px;
  background:#fef2f2;
  color:#b42318;
  font-size:12px;
  font-weight:600;
  padding:9px 11px;
}

.home-page .catalog-toolbar--pro .catalog-type-switch{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding-top:2px;
}

.home-page .catalog-toolbar--pro .catalog-type-switch span{
  border:1px solid #cfd9e4;
  background:#f6f8fb;
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  font-weight:700;
  color:#334155;
  transition:all .2s ease;
}

.home-page .catalog-toolbar--pro .catalog-type-switch input:checked + span{
  border-color:#2f8b67;
  color:#14533b;
  background:#e9f8f0;
  box-shadow:0 4px 10px rgba(47,139,103,.16);
}

.home-page .catalog-active-filters{
  margin:-4px 0 14px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.home-page .catalog-active-filters-title{
  font-size:12px;
  font-weight:800;
  color:#334155;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.home-page .catalog-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #bfd6ca;
  background:#effaf4;
  color:#14532d;
  border-radius:999px;
  padding:6px 11px;
  text-decoration:none;
  font-size:12px;
  font-weight:700;
}

.home-page .catalog-filter-chip span{
  font-size:14px;
  line-height:1;
}

.home-page .catalog-filter-chip:hover{
  background:#dff3e8;
}

.home-page .catalog-filter-reset-link{
  font-size:12px;
  font-weight:700;
  color:#1f6b52;
  text-decoration:none;
}

.home-page .catalog-filter-reset-link:hover{
  text-decoration:underline;
}

@media (max-width:1100px){
  .home-page .catalog-toolbar--pro .catalog-toolbar-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }

  .home-page .catalog-toolbar--pro .catalog-field--wide{
    grid-column:span 6;
  }

  .home-page .catalog-toolbar--pro .catalog-actions{
    grid-column:span 3;
  }
}

@media (max-width:920px){
  .home-page .search.search--pro{
    max-width:none;
    flex:1 1 100%;
  }
}

@media (max-width:780px){
  .home-page .catalog-toolbar--pro .catalog-toolbar-head{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }

  .home-page .catalog-toolbar--pro .catalog-toolbar-grid{
    grid-template-columns:1fr 1fr;
  }

  .home-page .catalog-toolbar--pro .catalog-field{
    grid-column:span 1;
  }

  .home-page .catalog-toolbar--pro .catalog-field--wide,
  .home-page .catalog-toolbar--pro .catalog-actions{
    grid-column:span 2;
  }

  .home-page .catalog-active-filters{
    margin-top:-2px;
  }
}

@media (max-width:560px){
  .home-page .search.search--pro .search-submit{
    padding:0 12px;
    font-size:12px;
  }

  .home-page .catalog-toolbar--pro{
    padding:13px;
    border-radius:16px;
  }

  .home-page .catalog-toolbar--pro .catalog-toolbar-grid{
    grid-template-columns:1fr;
  }

  .home-page .catalog-toolbar--pro .catalog-field{
    grid-column:span 1;
  }

  .home-page .catalog-toolbar--pro .catalog-field--wide,
  .home-page .catalog-toolbar--pro .catalog-actions{
    grid-column:span 1;
  }
}

/* ================= HOME PRO POLISH V2 ================= */

.home-page .search.search--pro{
  max-width:520px;
}

.home-page .search.search--pro .search-control{
  border:1px solid rgba(255,255,255,.34);
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));
  box-shadow:0 10px 24px rgba(7,12,20,.24);
}

.home-page .search.search--pro .search-control:focus-within{
  border-color:rgba(120,214,165,.92);
  box-shadow:
    0 0 0 3px rgba(120,214,165,.22),
    0 10px 24px rgba(7,12,20,.24);
}

.home-page .search.search--pro .search-icon{
  display:none;
}

.home-page .search.search--pro .search-icon svg,
.home-page .catalog-toolbar--pro .catalog-input-icon svg{
  width:100%;
  height:100%;
}

.home-page .search.search--pro .search-icon svg path,
.home-page .catalog-toolbar--pro .catalog-input-icon svg path{
  fill:currentColor;
}

.home-page .search.search--pro .search-control input{
  min-height:48px;
  border:0;
  background:transparent;
  box-shadow:none;
  padding:11px 14px;
}

.home-page .search.search--pro .search-control input:focus{
  box-shadow:none;
}

.home-page .search.search--pro .search-submit{
  min-height:48px;
  min-width:52px;
  border-left:1px solid rgba(255,255,255,.22);
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
}

.home-page .search.search--pro .search-submit svg{
  width:20px;
  height:20px;
  color:#f8fafc;
}

.home-page .catalog-toolbar.catalog-toolbar--pro{
  border-color:#d5deea;
  background:
    radial-gradient(140% 120% at 0% 0%,rgba(60,157,116,.08),transparent 46%),
    linear-gradient(180deg,#ffffff,#f9fbfd);
  box-shadow:0 16px 32px rgba(15,23,42,.08);
}

.home-page .catalog-toolbar--pro .catalog-toolbar-head{
  align-items:flex-start;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-title{
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:17px;
}

.home-page .catalog-toolbar--pro .catalog-toolbar-note{
  font-size:13px;
  color:#5b687b;
}

.home-page .catalog-toolbar--pro .catalog-input-wrap--search .catalog-input-icon{
  left:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#536278;
}

.home-page .catalog-toolbar--pro .catalog-field--search input{
  padding-left:36px;
}

.home-page .catalog-toolbar--pro .catalog-actions .btn{
  font-weight:800;
}

/* ================= HOME HERO PRO REWORK ================= */

.home-page .home-hero{
  --hero-accent:#7dd3fc;
  --hero-accent-rgb:125,211,252;
  background:
    radial-gradient(120% 95% at 78% 12%,rgba(var(--hero-accent-rgb),.18),transparent 42%),
    linear-gradient(118deg,#090f18 0%,#111b2a 45%,#1b2b42 100%);
  border-color:rgba(255,255,255,.14);
}

.home-page .home-hero[data-theme="archive"]{
  --hero-accent:#7dd3fc;
  --hero-accent-rgb:125,211,252;
}

.home-page .home-hero[data-theme="league"]{
  --hero-accent:#34d399;
  --hero-accent-rgb:52,211,153;
}

.home-page .home-hero[data-theme="tech"]{
  --hero-accent:#facc15;
  --hero-accent-rgb:250,204,21;
}

.home-page .home-hero[data-theme="puma"]{
  --hero-accent:#f97316;
  --hero-accent-rgb:249,115,22;
}

.home-page .home-hero.home-hero--static{
  grid-template-columns:minmax(0,1fr);
  min-height:auto;
}

.home-page .home-hero.home-hero--static .hero-content{
  padding-right:0;
}

.home-page .hero-kicker{
  color:rgba(var(--hero-accent-rgb),.96);
}

.home-page .hero-bg-shape--one{
  background:rgba(var(--hero-accent-rgb),.3);
}

.home-page .hero-bg-shape--two{
  background:rgba(var(--hero-accent-rgb),.22);
}

.home-page .hero-btn{
  border-color:rgba(var(--hero-accent-rgb),.42);
}

.home-page .hero-btn:not(.hero-btn--ghost){
  background:
    linear-gradient(145deg,#ffffff 0%,rgba(var(--hero-accent-rgb),.34) 100%);
  color:#0b1220;
}

.home-page .hero-btn--ghost{
  border-color:rgba(var(--hero-accent-rgb),.54);
}

.home-page .hero-btn--ghost:hover{
  background:rgba(var(--hero-accent-rgb),.18);
}

.home-page .hero-stage{
  position:relative;
  display:block;
  min-height:500px;
  background:
    radial-gradient(140% 120% at 20% 12%,rgba(var(--hero-accent-rgb),.16),transparent 46%),
    linear-gradient(138deg,#060b13 0%,#0a1220 52%,#0d1524 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 32px 62px rgba(2,6,18,.48), inset 0 1px 0 rgba(255,255,255,.11);
}

.home-page .hero-slider-window{
  position:relative;
  min-height:inherit;
}

.home-page .hero-slide{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:16px;
  opacity:0;
  transform:translateX(20px) scale(1.03);
  transition:
    opacity .65s ease,
    transform .95s cubic-bezier(.2,.75,.2,1),
    filter .4s ease;
  pointer-events:none;
}

.home-page .hero-slide.is-active{
  opacity:1;
  transform:translateX(0) scale(1);
  filter:none;
  pointer-events:auto;
}

.home-page .hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(0deg,rgba(4,8,16,.72),transparent 34%),
    linear-gradient(120deg,rgba(4,8,16,.62) 5%,rgba(4,8,16,.12) 52%,rgba(4,8,16,.66) 100%);
}

.home-page .hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  background:linear-gradient(
    112deg,
    rgba(255,255,255,0) 32%,
    rgba(255,255,255,.24) 48%,
    rgba(255,255,255,0) 63%
  );
  transform:translateX(-34%);
  pointer-events:none;
}

.home-page .hero-slide.is-active::after{
  animation:heroSheen 1.1s ease-out .26s both;
}

.home-page .hero-slide-media{
  position:absolute;
  inset:14px;
  z-index:0;
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  gap:14px;
}

.home-page .hero-visual{
  position:relative;
  margin:0;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 34px rgba(2,8,20,.35);
}

.home-page .hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 28%);
  pointer-events:none;
}

.home-page .hero-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.home-page .hero-visual--main img{
  object-position:center 18%;
}

.home-page .hero-visual--detail img{
  object-position:center center;
}

.home-page .hero-slide.is-active img{
  animation:none;
}

.home-page .hero-slide.is-active .hero-visual--main img{
  animation:heroMainZoom 7.4s cubic-bezier(.2,.7,.2,1) forwards;
}

.home-page .hero-slide.is-active .hero-visual--detail img{
  animation:heroDetailFloat 7s cubic-bezier(.2,.7,.2,1) forwards;
}

.home-page .hero-slide-copy{
  position:relative;
  z-index:3;
  margin:0 0 10px 10px;
  left:auto;
  right:auto;
  bottom:auto;
  width:min(440px,66%);
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(6,12,20,.56);
  box-shadow:0 18px 38px rgba(0,0,0,.42);
  backdrop-filter:blur(10px);
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s ease .1s, transform .6s cubic-bezier(.2,.75,.2,1) .1s;
}

.home-page .hero-slide.is-active .hero-slide-copy{
  opacity:1;
  transform:translateY(0);
}

.home-page .hero-slide-copy span{
  font-size:11px;
  letter-spacing:.18em;
  color:rgba(var(--hero-accent-rgb),.92);
}

.home-page .hero-slide-copy h3{
  margin-top:8px;
  font-size:clamp(30px,2.4vw,44px);
  line-height:1.02;
}

.home-page .hero-slide-copy p{
  margin-top:10px;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  color:#f8fafc;
}

.home-page .hero-slide-copy small{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:rgba(232,238,247,.82);
}

.home-page .hero-control{
  border-color:rgba(var(--hero-accent-rgb),.42);
  background:rgba(8,12,22,.52);
}

.home-page .hero-control:hover{
  background:rgba(10,16,28,.84);
  box-shadow:0 0 0 1px rgba(var(--hero-accent-rgb),.4);
}

.home-page .hero-pagination{
  bottom:14px;
  border-color:rgba(var(--hero-accent-rgb),.32);
  background:rgba(6,12,20,.5);
}

.home-page .hero-dot{
  background:rgba(255,255,255,.32);
}

.home-page .hero-dot.is-active{
  background:rgba(var(--hero-accent-rgb),1);
  box-shadow:0 0 14px rgba(var(--hero-accent-rgb),.58);
}

.home-page .hero-progress{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  height:3px;
  z-index:7;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.24);
}

.home-page .hero-progress span{
  display:block;
  width:100%;
  height:100%;
  transform-origin:left center;
  transform:scaleX(0);
  background:linear-gradient(90deg,rgba(var(--hero-accent-rgb),.96),#ffffff);
  box-shadow:0 0 14px rgba(var(--hero-accent-rgb),.8);
}

.home-page .home-hero.is-copy-refresh [data-hero-kicker],
.home-page .home-hero.is-copy-refresh [data-hero-title],
.home-page .home-hero.is-copy-refresh [data-hero-subtitle],
.home-page .home-hero.is-copy-refresh [data-hero-note]{
  animation:heroCopyPulse .42s ease;
}

@keyframes heroMainZoom{
  0%{
    transform:scale(1.06);
  }
  100%{
    transform:scale(1);
  }
}

@keyframes heroDetailFloat{
  0%{
    transform:translate3d(0,2%,0) scale(1.06);
  }
  100%{
    transform:translate3d(0,0,0) scale(1);
  }
}

@keyframes heroSheen{
  0%{
    opacity:0;
    transform:translateX(-35%);
  }
  40%{
    opacity:.85;
  }
  100%{
    opacity:0;
    transform:translateX(38%);
  }
}

@keyframes heroCopyPulse{
  0%{
    opacity:.28;
    transform:translateY(8px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes heroProgress{
  from{
    transform:scaleX(0);
  }
  to{
    transform:scaleX(1);
  }
}

@media (max-width:1100px){
  .home-page .hero-stage{
    min-height:470px;
  }

  .home-page .hero-slide-copy{
    width:min(470px,78%);
  }
}

@media (max-width:920px){
  .home-page .hero-stage{
    min-height:430px;
  }

  .home-page .hero-slide{
    padding:12px;
  }

  .home-page .hero-slide-media{
    inset:12px;
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-page .hero-visual--detail{
    min-height:118px;
    max-height:34%;
  }

  .home-page .hero-slide-copy{
    margin:0 0 8px 8px;
    width:calc(100% - 16px);
    padding:14px 14px 12px;
  }

  .home-page .hero-slide-copy h3{
    font-size:26px;
  }

  .home-page .hero-slide-copy p{
    font-size:11px;
    letter-spacing:.14em;
  }

  .home-page .hero-progress{
    left:14px;
    right:14px;
    bottom:12px;
  }
}

@media (max-width:620px){
  .home-page .hero-stage{
    min-height:350px;
  }

  .home-page .hero-slide{
    padding:10px;
  }

  .home-page .hero-slide-media{
    inset:10px;
    gap:8px;
  }

  .home-page .hero-visual{
    border-radius:14px;
  }

  .home-page .hero-visual--detail{
    min-height:98px;
    max-height:31%;
  }

  .home-page .hero-slide-copy{
    margin:0 0 7px 7px;
    border-radius:14px;
    width:calc(100% - 14px);
  }

  .home-page .hero-slide-copy h3{
    font-size:22px;
  }

  .home-page .hero-slide-copy p{
    font-size:10px;
    letter-spacing:.12em;
  }

  .home-page .hero-slide-copy small{
    font-size:11px;
  }

  .home-page .hero-progress{
    left:10px;
    right:10px;
    bottom:9px;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-page .hero-slide,
  .home-page .hero-slide-copy,
  .home-page .hero-slide::after,
  .home-page .hero-visual img,
  .home-page .home-hero.is-copy-refresh [data-hero-kicker],
  .home-page .home-hero.is-copy-refresh [data-hero-title],
  .home-page .home-hero.is-copy-refresh [data-hero-subtitle],
  .home-page .home-hero.is-copy-refresh [data-hero-note],
  .home-page .hero-progress span{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}

/* ================= HOME HERO CLEAN SLIDER (NEW STYLE) ================= */

.home-page .home-hero[data-hero]{
  position:relative;
  display:block;
  padding:0;
  margin-top:14px;
  border-radius:0;
  min-height:540px;
  border:0;
  overflow:hidden;
  background:#111;
}

.home-page .home-hero[data-hero] .hero-bg-shape{
  display:none;
}

.home-page .home-hero[data-hero] .hero-content{
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:min(44%,620px);
  z-index:9;
  padding:clamp(26px,3.6vw,48px) clamp(20px,2.8vw,44px);
  background:linear-gradient(92deg,rgba(19,19,19,.82) 0%,rgba(29,29,29,.65) 54%,rgba(29,29,29,0) 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
  pointer-events:none;
}

.home-page .home-hero[data-hero] .hero-actions,
.home-page .home-hero[data-hero] .hero-actions *{
  pointer-events:auto;
}

.home-page .home-hero[data-hero] .hero-kicker{
  color:#f1f3f4;
  letter-spacing:.11em;
  font-size:13px;
  margin:0 0 12px;
}

.home-page .home-hero[data-hero] .hero-content h2{
  font-size:clamp(38px,5vw,66px);
  line-height:.95;
  max-width:11ch;
  margin:0;
}

.home-page .home-hero[data-hero] .hero-subtitle{
  margin-top:20px;
  max-width:44ch;
  color:rgba(247,247,247,.9);
  font-size:clamp(15px,1.55vw,22px);
  line-height:1.4;
}

.home-page .home-hero[data-hero] .hero-note{
  margin-top:10px;
  color:rgba(233,233,233,.8);
  font-size:14px;
  line-height:1.45;
}

.home-page .home-hero[data-hero] .hero-actions{
  margin-top:18px;
}

.home-page .home-hero[data-hero] .hero-metrics{
  display:none;
}

.home-page .home-hero[data-hero] .hero-stage{
  min-height:540px;
  border:0;
  border-radius:0;
  background:#141414;
  box-shadow:none;
}

.home-page .home-hero[data-hero] .hero-stage::after{
  display:none;
}

.home-page .home-hero[data-hero] .hero-slider-window{
  min-height:inherit;
}

.home-page .home-hero[data-hero] .hero-slide{
  inset:0;
  padding:0;
  opacity:0;
  transition:opacity .62s ease;
}

.home-page .home-hero[data-hero] .hero-slide.is-active{
  opacity:1;
}

.home-page .home-hero[data-hero] .hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(92deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.2) 44%,rgba(0,0,0,.08) 100%);
}

.home-page .home-hero[data-hero] .hero-slide-media{
  position:absolute;
  inset:0;
  display:block;
}

.home-page .home-hero[data-hero] .hero-visual,
.home-page .home-hero[data-hero] .hero-visual--main{
  height:100%;
  border-radius:0;
  border:0;
  box-shadow:none;
}

.home-page .home-hero[data-hero] .hero-visual--detail{
  display:none;
}

.home-page .home-hero[data-hero] .hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1);
  filter:none;
}

.home-page .home-hero[data-hero] .hero-slide-copy{
  display:none;
}

.home-page .home-hero[data-hero] .hero-control{
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(26,26,26,.42);
  backdrop-filter:blur(2px);
  z-index:12;
}

.home-page .home-hero[data-hero] .hero-control:hover{
  background:rgba(17,17,17,.68);
  box-shadow:none;
}

.home-page .home-hero[data-hero] .hero-pagination{
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(10,10,10,.45);
}

.home-page .home-hero[data-hero] .hero-dot{
  width:11px;
  height:11px;
  background:rgba(255,255,255,.6);
}

.home-page .home-hero[data-hero] .hero-dot.is-active{
  background:#ffffff;
  box-shadow:0 0 0 4px rgba(255,255,255,.2);
}

.home-page .home-hero[data-hero] .hero-progress{
  display:none;
}

.home-page .home-hero[data-hero].is-copy-refresh [data-hero-kicker],
.home-page .home-hero[data-hero].is-copy-refresh [data-hero-title],
.home-page .home-hero[data-hero].is-copy-refresh [data-hero-subtitle],
.home-page .home-hero[data-hero].is-copy-refresh [data-hero-note]{
  animation:heroCopyPulse .32s ease;
}

@media (max-width:1024px){
  .home-page .home-hero[data-hero],
  .home-page .home-hero[data-hero] .hero-stage{
    min-height:430px;
  }

  .home-page .home-hero[data-hero] .hero-content{
    width:min(50%,520px);
  }
}

@media (max-width:780px){
  .home-page .home-hero[data-hero],
  .home-page .home-hero[data-hero] .hero-stage{
    min-height:228px;
  }

  .home-page .home-hero[data-hero] .hero-content{
    width:60%;
    padding:16px 14px 14px;
    background:linear-gradient(90deg,rgba(12,12,12,.86) 0%,rgba(18,18,18,.62) 62%,rgba(18,18,18,0) 100%);
  }

  .home-page .home-hero[data-hero] .hero-slide{
    padding:8px;
  }

  .home-page .home-hero[data-hero] .hero-slide-media{
    inset:8px;
    display:grid;
    grid-template-columns:58% 42%;
    gap:6px;
  }

  .home-page .home-hero[data-hero] .hero-visual--detail{
    display:block;
  }

  .home-page .home-hero[data-hero] .hero-visual{
    border-radius:10px;
    overflow:hidden;
  }

  .home-page .home-hero[data-hero] .hero-kicker{
    margin-bottom:4px;
    font-size:9px;
    letter-spacing:.16em;
  }

  .home-page .home-hero[data-hero] .hero-content h2{
    font-size:clamp(22px,7.2vw,38px);
    max-width:11ch;
  }

  .home-page .home-hero[data-hero] .hero-subtitle{
    margin-top:6px;
    font-size:11px;
    line-height:1.3;
    max-width:36ch;
  }

  .home-page .home-hero[data-hero] .hero-note{
    display:none;
  }

  .home-page .home-hero[data-hero] .hero-actions{
    margin-top:8px;
  }

  .home-page .home-hero[data-hero] .hero-actions .hero-btn:first-child{
    display:none;
  }

  .home-page .home-hero[data-hero] .hero-btn{
    padding:8px 14px;
    font-size:11px;
    border-radius:999px;
  }

  .home-page .home-hero[data-hero] .hero-control{
    width:34px;
    height:34px;
    top:auto;
    bottom:46px;
    transform:none;
  }

  .home-page .home-hero[data-hero] .hero-control--prev{
    left:8px;
  }

  .home-page .home-hero[data-hero] .hero-control--next{
    right:8px;
  }

  .home-page .home-hero[data-hero] .hero-pagination{
    bottom:8px;
    padding:6px 11px;
  }

  .home-page .home-hero[data-hero] .hero-dot{
    width:8px;
    height:8px;
  }
}

/* ================= HOME HERO PRO REFINEMENT ================= */

.home-page .home-hero[data-hero]{
  --hero-content-max:640px;
  position:relative;
  min-height:clamp(460px,54vw,620px);
  margin-top:16px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.14);
  overflow:visible;
  background:#0f1115;
  box-shadow:0 36px 76px rgba(2,8,20,.45);
  isolation:isolate;
}

.home-page .home-hero[data-hero]::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(78% 72% at 88% 14%,rgba(var(--hero-accent-rgb),.24),transparent 72%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 24%);
}

.home-page .home-hero[data-hero] .hero-stage{
  position:absolute;
  inset:0;
  min-height:100%;
  border:0;
  border-radius:inherit;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  z-index:auto;
}

.home-page .home-hero[data-hero] .hero-slider-window{
  min-height:inherit;
  overflow:hidden;
  border-radius:inherit;
}

.home-page .home-hero[data-hero] .hero-slide{
  position:absolute;
  inset:0;
  padding:0;
  opacity:0;
  pointer-events:none;
  transform:translate3d(2.6%,0,0) scale(1.04);
  transition:
    opacity .56s ease,
    transform .88s cubic-bezier(.2,.75,.2,1),
    filter .5s ease;
  will-change:opacity,transform;
}

.home-page .home-hero[data-hero].is-reversing .hero-slide{
  transform:translate3d(-2.6%,0,0) scale(1.04);
}

.home-page .home-hero[data-hero] .hero-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0) scale(1);
  z-index:2;
}

.home-page .home-hero[data-hero] .hero-slide::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(96deg,rgba(5,9,15,.82) 0%,rgba(5,9,15,.62) 36%,rgba(5,9,15,.22) 62%,rgba(5,9,15,.68) 100%),
    linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,.48) 100%);
}

.home-page .home-hero[data-hero] .hero-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(72% 70% at 86% 20%,rgba(var(--hero-accent-rgb),.36),rgba(var(--hero-accent-rgb),0) 74%);
  transition:opacity .55s ease;
}

.home-page .home-hero[data-hero] .hero-slide.is-active::after{
  opacity:1;
}

.home-page .home-hero[data-hero] .hero-slide-media{
  position:absolute;
  inset:0;
  display:block;
}

.home-page .home-hero[data-hero] .hero-visual,
.home-page .home-hero[data-hero] .hero-visual--main{
  margin:0;
  height:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.home-page .home-hero[data-hero] .hero-visual--detail,
.home-page .home-hero[data-hero] .hero-slide-copy{
  display:none;
}

.home-page .home-hero[data-hero] .hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.03) contrast(1.02);
}

.home-page .home-hero[data-hero] .hero-content{
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  z-index:10;
  width:min(46%,var(--hero-content-max));
  padding:clamp(28px,4vw,52px) clamp(18px,3vw,46px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
  pointer-events:none;
  background:
    linear-gradient(95deg,rgba(8,11,16,.86) 0%,rgba(8,11,16,.66) 42%,rgba(8,11,16,0) 100%);
}

.home-page .home-hero[data-hero] .hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin:0 0 14px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.08);
  color:#f4f6fb;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.home-page .home-hero[data-hero] .hero-kicker::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(var(--hero-accent-rgb),1);
  box-shadow:0 0 10px rgba(var(--hero-accent-rgb),.8);
}

.home-page .home-hero[data-hero] .hero-content h2{
  margin:0;
  max-width:10.4ch;
  color:#f8fafc;
  font-size:clamp(42px,5.2vw,74px);
  line-height:.94;
  letter-spacing:-.02em;
}

.home-page .home-hero[data-hero] .hero-subtitle{
  margin-top:18px;
  max-width:42ch;
  color:rgba(243,246,252,.96);
  font-size:clamp(15px,1.6vw,22px);
  line-height:1.42;
}

.home-page .home-hero[data-hero] .hero-note{
  margin-top:10px;
  max-width:46ch;
  color:rgba(230,234,241,.82);
  font-size:14px;
  line-height:1.5;
}

.home-page .home-hero[data-hero] .hero-actions{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  pointer-events:auto;
}

.home-page .home-hero[data-hero] .hero-actions *{
  pointer-events:auto;
}

.home-page .home-hero[data-hero] .hero-btn{
  min-height:44px;
  padding:10px 20px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.32);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.home-page .home-hero[data-hero] .hero-btn:not(.hero-btn--ghost){
  background:linear-gradient(145deg,rgba(255,255,255,.95) 0%,rgba(var(--hero-accent-rgb),.62) 100%);
  color:#0a1422;
}

.home-page .home-hero[data-hero] .hero-btn--ghost{
  background:rgba(9,14,24,.26);
  color:#f8fafc;
}

.home-page .home-hero[data-hero] .hero-btn:hover{
  transform:translateY(-1px);
}

.home-page .home-hero[data-hero] .hero-metrics{
  margin-top:22px;
  max-width:min(520px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.home-page .home-hero[data-hero] .hero-metrics article{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,12,20,.44);
  backdrop-filter:blur(6px);
}

.home-page .home-hero[data-hero] .hero-metrics strong{
  display:block;
  color:#f8fafc;
  font-size:18px;
}

.home-page .home-hero[data-hero] .hero-metrics span{
  color:rgba(226,232,240,.88);
  font-size:11px;
}

.home-page .home-hero[data-hero] .hero-control{
  position:absolute;
  top:50%;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.46);
  background:linear-gradient(152deg,rgba(18,20,25,.52) 0%,rgba(9,10,13,.76) 100%);
  color:#f8fafc;
  transform:translateY(-50%);
  z-index:18;
  box-shadow:0 12px 28px rgba(0,0,0,.34);
  backdrop-filter:blur(8px);
  transition:
    transform .22s ease,
    border-color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease;
}

.home-page .home-hero[data-hero] .hero-control span{
  font-size:23px;
  line-height:1;
}

.home-page .home-hero[data-hero] .hero-control--prev{
  left:-26px;
}

.home-page .home-hero[data-hero] .hero-control--next{
  right:-26px;
}

.home-page .home-hero[data-hero] .hero-control:hover{
  transform:translateY(-50%) scale(1.08);
  border-color:rgba(var(--hero-accent-rgb),.88);
  background:linear-gradient(152deg,rgba(18,20,25,.72) 0%,rgba(9,10,13,.9) 100%);
  box-shadow:0 14px 32px rgba(0,0,0,.42),0 0 0 2px rgba(var(--hero-accent-rgb),.24);
}

.home-page .home-hero[data-hero] .hero-control:active{
  transform:translateY(-50%) scale(.96);
}

.home-page .home-hero[data-hero] .hero-pagination{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:16;
  display:flex;
  gap:8px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(7,12,20,.48);
  backdrop-filter:blur(8px);
}

.home-page .home-hero[data-hero] .hero-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:none;
  background:rgba(255,255,255,.52);
  transition:
    width .26s ease,
    background-color .26s ease,
    box-shadow .26s ease;
}

.home-page .home-hero[data-hero] .hero-dot.is-active{
  width:30px;
  background:#ffffff;
  box-shadow:0 0 0 3px rgba(var(--hero-accent-rgb),.22);
}

.home-page .home-hero[data-hero] .hero-progress{
  display:block;
  position:absolute;
  left:clamp(12px,2vw,22px);
  right:clamp(12px,2vw,22px);
  bottom:0;
  height:4px;
  z-index:15;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.2);
}

.home-page .home-hero[data-hero] .hero-progress span{
  width:100%;
  height:100%;
  display:block;
  transform-origin:left center;
  transform:scaleX(0);
  background:linear-gradient(90deg,rgba(var(--hero-accent-rgb),.98),rgba(255,255,255,.96));
  box-shadow:0 0 14px rgba(var(--hero-accent-rgb),.65);
}

@media (max-width:1160px){
  .home-page .home-hero[data-hero] .hero-content{
    width:min(52%,620px);
  }

  .home-page .home-hero[data-hero] .hero-content h2{
    font-size:clamp(38px,5.4vw,62px);
  }

  .home-page .home-hero[data-hero] .hero-control--prev{
    left:-18px;
  }

  .home-page .home-hero[data-hero] .hero-control--next{
    right:-18px;
  }
}

/* ================= HOME: CATÁLOGO POR MARCA ================= */

.home-page .home-brand-groups{
  display:grid;
  gap:24px;
}

.home-page .brand-group{
  display:grid;
  gap:14px;
}

.home-page .brand-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 2px;
}

.home-page .brand-group-head h3{
  margin:0;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(20px,2vw,28px);
  line-height:1.2;
  color:#0f172a;
  letter-spacing:.01em;
}

.home-page .brand-group-link{
  margin:0;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(20px,2vw,28px);
  line-height:1.2;
  color:#0f172a;
  letter-spacing:.01em;
  text-decoration:none;
}

.home-page .brand-group-link:hover{
  color:#1f6b52;
  text-decoration:underline;
}

.home-page .brand-group-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d4deea;
  border-radius:999px;
  padding:6px 11px;
  background:#f8fbff;
  color:#334155;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.home-page .halo-feature-block{
  position:relative;
  margin-top:34px;
  padding:clamp(16px,2.4vw,24px);
  border-radius:24px;
  border:1px solid rgba(31,107,82,.2);
  background:
    radial-gradient(circle at 10% 18%,rgba(167,243,208,.42),rgba(167,243,208,0) 42%),
    radial-gradient(circle at 88% 84%,rgba(252,211,77,.28),rgba(252,211,77,0) 48%),
    linear-gradient(136deg,#f8fbff 0%,#eef8f2 54%,#fff4ea 100%);
  box-shadow:0 20px 44px rgba(15,23,42,.14);
  overflow:hidden;
  display:grid;
  gap:14px;
}

.home-page .halo-feature-block::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,rgba(255,255,255,.48),rgba(255,255,255,0) 30%),
    radial-gradient(circle at 22% 88%,rgba(31,107,82,.12),rgba(31,107,82,0) 52%);
  opacity:.8;
}

.home-page .halo-feature-head{
  position:relative;
  z-index:1;
  display:grid;
  gap:6px;
}

.home-page .halo-feature-head h3{
  margin:0;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:clamp(24px,2.4vw,32px);
  color:#102a43;
}

.home-page .halo-feature-head p{
  margin:0;
  color:#344054;
  max-width:58ch;
}

.home-page .productos--halo{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,390px);
  justify-content:center;
}

.home-page .halo-feature-card{
  border-color:rgba(31,107,82,.24);
  box-shadow:0 18px 34px rgba(2,8,20,.14);
}

.home-page .halo-feature-card .product-image-wrap{
  background:linear-gradient(180deg,#f4f9ff,#edf7ee);
}

.home-page .home-hero[data-hero] .hero-kicker-link{
  text-decoration:none;
  pointer-events:auto;
}

.home-page .home-hero[data-hero] .hero-kicker-link:hover{
  border-color:rgba(255,255,255,.44);
  background:rgba(255,255,255,.16);
}

@media (max-width:640px){
  .home-page .brand-group-head{
    flex-wrap:wrap;
  }

  .home-page .brand-group-count{
    font-size:10px;
    letter-spacing:.05em;
  }

  .home-page .halo-feature-block{
    margin-top:22px;
    border-radius:18px;
    padding:14px;
  }

  .home-page .halo-feature-head h3{
    font-size:24px;
  }

  .home-page .productos--halo{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:920px){
  .home-page .home-hero[data-hero]{
    min-height:470px;
    border-radius:22px;
  }

  .home-page .home-hero[data-hero] .hero-content{
    width:min(60%,620px);
    padding:22px 18px;
  }

  .home-page .home-hero[data-hero] .hero-content h2{
    font-size:clamp(34px,6.4vw,54px);
  }

  .home-page .home-hero[data-hero] .hero-subtitle{
    margin-top:12px;
    font-size:15px;
  }

  .home-page .home-hero[data-hero] .hero-note{
    font-size:13px;
  }

  .home-page .home-hero[data-hero] .hero-metrics{
    display:none;
  }
}

@media (max-width:780px){
  .home-page .home-hero[data-hero]{
    min-height:430px;
    border-radius:18px;
  }

  .home-page .home-hero[data-hero] .hero-content{
    width:100%;
    align-items:flex-start;
    justify-content:flex-end;
    padding:16px 14px 78px;
    background:linear-gradient(0deg,rgba(7,10,16,.86) 0%,rgba(7,10,16,.62) 42%,rgba(7,10,16,0) 100%);
  }

  .home-page .home-hero[data-hero] .hero-kicker{
    margin-bottom:8px;
    padding:5px 10px;
    font-size:9px;
    letter-spacing:.14em;
  }

  .home-page .home-hero[data-hero] .hero-content h2{
    max-width:11ch;
    font-size:clamp(30px,10vw,44px);
  }

  .home-page .home-hero[data-hero] .hero-subtitle{
    margin-top:8px;
    font-size:13px;
    line-height:1.4;
    max-width:35ch;
  }

  .home-page .home-hero[data-hero] .hero-note{
    display:none;
  }

  .home-page .home-hero[data-hero] .hero-actions{
    margin-top:10px;
    gap:8px;
  }

  .home-page .home-hero[data-hero] .hero-btn{
    min-height:36px;
    padding:8px 12px;
    font-size:10px;
  }

  .home-page .home-hero[data-hero] .hero-btn:first-child{
    display:none;
  }

  .home-page .home-hero[data-hero] .hero-control{
    top:auto;
    bottom:54px;
    width:36px;
    height:36px;
    transform:none;
  }

  .home-page .home-hero[data-hero] .hero-control span{
    font-size:16px;
  }

  .home-page .home-hero[data-hero] .hero-control:hover{
    transform:scale(1.06);
  }

  .home-page .home-hero[data-hero] .hero-control:active{
    transform:scale(.95);
  }

  .home-page .home-hero[data-hero] .hero-control--prev{
    left:8px;
  }

  .home-page .home-hero[data-hero] .hero-control--next{
    right:8px;
  }

  .home-page .home-hero[data-hero] .hero-pagination{
    bottom:8px;
    padding:6px 10px;
  }

  .home-page .home-hero[data-hero] .hero-dot{
    width:8px;
    height:8px;
  }

  .home-page .home-hero[data-hero] .hero-dot.is-active{
    width:24px;
  }

  .home-page .home-hero[data-hero] .hero-progress{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-page .home-hero[data-hero] .hero-slide,
  .home-page .home-hero[data-hero] .hero-control,
  .home-page .home-hero[data-hero] .hero-dot{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}

/* ================= HOME SEARCH SUPER ================= */

.home-page .search.search--pro{
  position:relative;
  z-index:90;
}

.home-page .search.search--pro .search-control.search-control--smart{
  position:relative;
}

.home-page .search.search--pro .search-clear{
  position:absolute;
  right:60px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(10,16,26,.38);
  color:#f8fafc;
  font-size:18px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease;
}

.home-page .search.search--pro .search-clear:hover{
  background:rgba(10,16,26,.64);
  border-color:rgba(255,255,255,.46);
}

.home-page .search.search--pro .search-panel{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 10px);
  border-radius:18px;
  border:1px solid #d7e0ea;
  background:linear-gradient(180deg,#ffffff,#f7fafd);
  box-shadow:0 18px 34px rgba(8,14,24,.18);
  padding:11px;
  display:grid;
  gap:10px;
}

.home-page .search.search--pro .search-panel[hidden]{
  display:none !important;
}

.home-page .search.search--pro .search-panel-row{
  display:grid;
  gap:8px;
}

.home-page .search.search--pro .search-panel-row + .search-panel-row{
  border-top:1px solid #e6edf4;
  padding-top:10px;
}

.home-page .search.search--pro .search-panel-row--hint{
  gap:0;
}

.home-page .search.search--pro .search-panel-hint{
  margin:0;
  font-size:11px;
  color:#516074;
}

.home-page .search.search--pro .search-panel-hint kbd{
  border:1px solid #c9d5e3;
  border-bottom-width:2px;
  border-radius:6px;
  padding:1px 4px;
  font-family:inherit;
  font-size:10px;
  background:#f8fafd;
  color:#334155;
}

.home-page .search.search--pro .search-panel-title{
  margin:0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  color:#475467;
  text-transform:uppercase;
}

.home-page .search.search--pro .search-brand-list,
.home-page .search.search--pro .search-recent-list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}

.home-page .search.search--pro .search-brand-pill,
.home-page .search.search--pro .search-recent-pill{
  border:1px solid #c8d6e6;
  background:#f2f8ff;
  color:#1f3b57;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
}

.home-page .search.search--pro .search-brand-pill:hover,
.home-page .search.search--pro .search-recent-pill:hover{
  background:#e4f0fb;
}

.home-page .search.search--pro .search-suggestions-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
  max-height:236px;
  overflow:auto;
}

.home-page .search.search--pro .search-suggestion{
  width:100%;
  border:1px solid #d8e2ee;
  border-radius:12px;
  background:#ffffff;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-align:left;
  cursor:pointer;
}

.home-page .search.search--pro .search-suggestion:hover,
.home-page .search.search--pro .search-suggestion.is-active{
  border-color:#2f8b67;
  background:#eef8f3;
}

.home-page .search.search--pro .search-suggestion-value{
  color:#0f172a;
  font-size:13px;
  font-weight:700;
}

.home-page .search.search--pro .search-suggestion-meta{
  border:1px solid #ced9e5;
  border-radius:999px;
  background:#f8fafd;
  color:#475467;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:3px 7px;
  white-space:nowrap;
}

.home-page .search.search--pro .search-panel-empty{
  margin:0;
  font-size:12px;
  color:#64748b;
}

@media (max-width:920px){
  .home-page .search.search--pro .search-panel{
    top:calc(100% + 8px);
  }
}

@media (max-width:560px){
  .home-page .search.search--pro .search-clear{
    right:48px;
    width:24px;
    height:24px;
    font-size:16px;
  }

  .home-page .search.search--pro .search-panel{
    border-radius:14px;
    padding:9px;
  }

  .home-page .search.search--pro .search-suggestion{
    padding:7px 8px;
  }

  .home-page .search.search--pro .search-suggestion-value{
    font-size:12px;
  }
}

/* ================= ACCESSIBILITY + MOBILE POLISH ================= */

.skip-link{
  position:absolute;
  left:10px;
  top:-48px;
  z-index:2200;
  padding:10px 12px;
  border-radius:10px;
  background:#0f172a;
  color:#ffffff;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:top .2s ease;
}

.skip-link:focus{
  top:10px;
}

:focus-visible{
  outline:2px solid rgba(47,139,103,.6);
  outline-offset:2px;
}

.home-page .search.search--pro .search-panel{
  max-height:min(70vh,540px);
  overflow:auto;
}

@media (max-width:920px){
  .home-page .search.search--pro{
    width:100%;
  }

  .home-page .search.search--pro .search-panel{
    left:0;
    right:0;
  }
}

/* ================= HOME MOTION UPGRADE ================= */

.home-page .search.search--pro .search-control.search-control--smart{
  transition:
    box-shadow .24s ease,
    border-color .24s ease,
    transform .24s ease;
}

.home-page .search.search--pro .search-control.search-control--smart:focus-within{
  box-shadow:
    0 0 0 1px rgba(47,139,103,.62),
    0 14px 32px rgba(6,78,52,.28);
  animation:searchFocusAura 1.8s ease-in-out infinite;
}

.home-page .search.search--pro .search-control.search-control--smart{
  padding:2px 3px 2px 0;
}

.home-page .search.search--pro .search-control.search-control--smart input{
  padding-left:16px;
}

.home-page .search.search--pro .search-submit{
  position:relative;
  min-width:44px;
  width:44px;
  height:44px;
  align-self:center;
  margin-right:2px;
  border:1px solid rgba(140,228,180,.42);
  border-left:none;
  border-radius:999px;
  background:
    radial-gradient(120% 120% at 30% 20%,rgba(167,243,208,.34),transparent 48%),
    linear-gradient(145deg,#1f7a59 0%,#2f9e6f 55%,#3ab57e 100%);
  color:#f8fafc;
  box-shadow:
    0 8px 20px rgba(9,80,53,.36),
    inset 0 1px 0 rgba(255,255,255,.28);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.home-page .search.search--pro .search-submit svg{
  width:19px;
  height:19px;
  transition:transform .22s ease;
}

.home-page .search.search--pro .search-submit::after{
  content:"";
  position:absolute;
  inset:auto -26% -45% -26%;
  height:74%;
  background:radial-gradient(closest-side,rgba(167,243,208,.36),rgba(167,243,208,0));
  pointer-events:none;
}

.home-page .search.search--pro .search-submit:hover{
  transform:translateY(-1px) scale(1.03);
  filter:saturate(1.05) brightness(1.03);
  box-shadow:
    0 12px 24px rgba(9,80,53,.44),
    0 0 0 1px rgba(167,243,208,.26),
    inset 0 1px 0 rgba(255,255,255,.34);
}

.home-page .search.search--pro .search-submit:hover svg{
  transform:scale(1.08) rotate(-6deg);
}

.home-page .search.search--pro .search-submit:active{
  transform:translateY(0) scale(.98);
}

.home-page .search.search--pro .search-panel.is-open{
  transform-origin:top center;
  animation:searchPanelIn .28s cubic-bezier(.2,.75,.2,1) both;
}

.home-page .search.search--pro .search-suggestion{
  opacity:0;
  transform:translateY(8px) scale(.99);
  animation:searchSuggestionIn .24s cubic-bezier(.2,.75,.2,1) var(--suggestion-delay,0ms) forwards;
}

.home-page .search.search--pro .search-suggestion:hover,
.home-page .search.search--pro .search-suggestion.is-active{
  transform:translateY(-1px) scale(1.01);
}

.home-page .brand-group{
  position:relative;
}

.home-page .brand-group-head{
  position:relative;
}

.home-page .brand-group-head::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:88px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#1f6b52,rgba(31,107,82,0));
  transform:scaleX(.32);
  transform-origin:left center;
  opacity:.45;
  transition:transform .42s ease, opacity .42s ease;
}

.home-page .brand-group.reveal.is-visible .brand-group-head::after{
  transform:scaleX(1);
  opacity:.95;
}

.home-page .brand-group-count.is-updating{
  animation:brandCountPulse .38s ease;
}

.home-page .product-card.is-filter-match{
  animation:productFilterHit .44s cubic-bezier(.2,.75,.2,1) var(--filter-hit-delay,0ms) both;
}

.home-page .home-hero[data-hero] .hero-control span{
  transition:transform .24s ease;
}

.home-page .home-hero[data-hero] .hero-control:hover span{
  animation:heroArrowNudge .46s ease;
}

@keyframes searchPanelIn{
  from{
    opacity:0;
    transform:translateY(-8px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes searchSuggestionIn{
  from{
    opacity:0;
    transform:translateY(8px) scale(.99);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes searchFocusAura{
  0%,
  100%{
    box-shadow:
      0 0 0 1px rgba(47,139,103,.58),
      0 14px 32px rgba(6,78,52,.22);
  }
  50%{
    box-shadow:
      0 0 0 1px rgba(47,139,103,.82),
      0 18px 38px rgba(6,78,52,.34);
  }
}

@keyframes productFilterHit{
  0%{
    opacity:.58;
    transform:translateY(10px) scale(.975);
  }
  62%{
    opacity:1;
    transform:translateY(-4px) scale(1.01);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes brandCountPulse{
  0%{
    transform:scale(.9);
    box-shadow:0 0 0 0 rgba(31,107,82,.28);
  }
  68%{
    transform:scale(1.06);
    box-shadow:0 0 0 8px rgba(31,107,82,0);
  }
  100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(31,107,82,0);
  }
}

@keyframes heroArrowNudge{
  0%{
    transform:translateX(0);
  }
  48%{
    transform:translateX(2px);
  }
  100%{
    transform:translateX(0);
  }
}

@media (prefers-reduced-motion:reduce){
  .home-page .search.search--pro .search-control.search-control--smart:focus-within,
  .home-page .search.search--pro .search-panel.is-open,
  .home-page .search.search--pro .search-suggestion,
  .home-page .search.search--pro .search-submit,
  .home-page .search.search--pro .search-submit svg,
  .home-page .brand-group-head::after,
  .home-page .brand-group-count.is-updating,
  .home-page .product-card.is-filter-match,
  .home-page .home-hero[data-hero] .hero-control:hover span{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}

/* ================= HOME HEADER EXECUTIVE ================= */

.home-page .top-header--executive{
  gap:clamp(14px,1.8vw,26px);
  padding:14px clamp(14px,3vw,42px);
  border-bottom:1px solid rgba(185,224,206,.24);
  background:
    radial-gradient(120% 130% at 72% -36%,rgba(95,201,156,.2),transparent 48%),
    linear-gradient(112deg,rgba(10,16,24,.96),rgba(19,44,35,.94));
  box-shadow:0 14px 34px rgba(2,9,18,.36);
}

.home-page .top-header--executive .logo-area{
  min-width:max-content;
}

.home-page .top-header--executive .brand-link{
  gap:10px;
}

.home-page .top-header--executive .logo-area img{
  width:40px;
  height:40px;
  border-radius:12px;
  padding:5px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}

.home-page .top-header--executive .brand-copy h1{
  font-size:clamp(28px,2.5vw,40px);
  font-weight:800;
  line-height:1;
  letter-spacing:-.02em;
}

.home-page .top-header--executive .brand-subtitle{
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:rgba(226,240,233,.82);
}

.home-page .top-header--executive .home-nav{
  gap:10px;
}

.home-page .top-header--executive .home-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid transparent;
  color:rgba(235,245,240,.9);
  font-size:15px;
  font-weight:700;
  text-decoration:none;
  transition:all .22s ease;
}

.home-page .top-header--executive .home-nav-link:hover{
  color:#ffffff;
  border-color:rgba(145,227,186,.4);
  background:rgba(255,255,255,.08);
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle{
  flex:0 0 auto;
  max-width:54px;
  transition:max-width .28s ease, flex-basis .28s ease;
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-expanded{
  flex:1 1 min(640px,48vw);
  max-width:min(640px,48vw);
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-panel{
  display:none !important;
}

.home-page .top-header--executive .search.search--pro .search-control.search-control--smart{
  min-height:54px;
  border:1px solid rgba(205,229,218,.38);
  background:linear-gradient(138deg,rgba(255,255,255,.18),rgba(255,255,255,.09));
  box-shadow:0 12px 26px rgba(2,12,22,.3);
  transition:all .24s ease;
}

.home-page .top-header--executive .search.search--pro .search-control.search-control--smart input{
  min-height:52px;
  padding:12px 18px;
  color:#f8fdfb;
  font-size:17px;
  font-weight:600;
  transition:all .24s ease;
}

.home-page .top-header--executive .search.search--pro .search-control.search-control--smart input::placeholder{
  color:rgba(226,240,233,.8);
}

.home-page .top-header--executive .search.search--pro .search-submit{
  min-width:52px;
  width:52px;
  height:52px;
  margin-right:2px;
  padding:0;
  border:0;
  border-left:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  place-items:center;
  color:#0b4f39;
  cursor:pointer;
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-control.search-control--smart{
  width:52px;
  min-width:52px;
  min-height:52px;
  padding:0;
  border-radius:14px;
  background:transparent;
  border:0;
  box-shadow:none;
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-icon{
  display:none !important;
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-control.search-control--smart input{
  width:0;
  max-width:0;
  min-width:0;
  opacity:0;
  padding:0;
  border:0;
  pointer-events:none;
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-submit{
  margin-right:0;
  width:54px;
  min-width:54px;
  height:54px;
}

.home-page .top-header--executive .search.search--pro .search-submit::after{
  display:none;
}

.home-page .top-header--executive .search.search--pro .search-glyph{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  border:1px solid rgba(11,79,57,.44);
  color:#0b4f39;
  background:linear-gradient(160deg,#f6fff9 0%,#d8f8e8 58%,#bcefd8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 7px 14px rgba(2,12,22,.17);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-glyph{
  width:40px;
  height:40px;
  border-radius:14px;
  border-color:rgba(11,79,57,.52);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 8px 16px rgba(2,12,22,.2);
}

.home-page .top-header--executive .search.search--pro .search-glyph svg{
  width:21px;
  height:21px;
  stroke:#0b4f39 !important;
  stroke-width:2.35 !important;
  fill:none !important;
  opacity:1;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.76));
}

.home-page .top-header--executive .search.search--pro .search-glyph svg *{
  stroke:#0b4f39 !important;
  stroke-width:2.35 !important;
  fill:none !important;
}

.home-page .top-header--executive .search.search--pro .search-submit:hover .search-glyph{
  transform:translateY(-1px) scale(1.05);
  filter:saturate(1.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 10px 16px rgba(2,12,22,.2);
}

.home-page .top-header--executive .search.search--pro .search-submit:hover .search-glyph svg{
  animation:headerSearchPeek .56s ease;
}

.home-page .top-header--executive .search.search--pro .search-submit:focus-visible .search-glyph{
  transform:translateY(-1px) scale(1.05);
  box-shadow:
    0 0 0 3px rgba(74,222,128,.28),
    inset 0 1px 0 rgba(255,255,255,.92),
    0 10px 16px rgba(2,12,22,.2);
}

.home-page .top-header--executive .user-menu{
  gap:10px;
}

.home-page .top-header--executive .user-info{
  min-height:48px;
  padding:6px 12px 6px 7px;
  border-radius:16px;
  border:1px solid rgba(205,229,218,.35);
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
  box-shadow:0 10px 22px rgba(2,12,22,.22);
}

.home-page .top-header--executive .user-info::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:14px;
}

.home-page .top-header--executive .user-info::after{
  content:"";
  width:8px;
  height:8px;
  margin-left:2px;
  border-right:2px solid rgba(232,246,238,.78);
  border-bottom:2px solid rgba(232,246,238,.78);
  transform:rotate(45deg) translateY(-1px);
}

.home-page .top-header--executive .user-name{
  max-width:160px;
  font-size:14px;
  letter-spacing:.01em;
}

.home-page .top-header--executive .user-info .dropdown{
  display:block;
  top:calc(100% + 8px);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility 0s linear .2s;
}

.home-page .top-header--executive .user-info:hover .dropdown,
.home-page .top-header--executive .user-info:focus-within .dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
  transition-delay:0s;
}

.home-page .top-header--executive .cart-btn{
  min-width:auto;
  height:48px;
  padding:0 12px 0 10px;
  border-radius:16px;
  border:1px solid rgba(205,229,218,.35);
  background:rgba(246,253,249,.95);
  color:#10221d;
  box-shadow:0 10px 20px rgba(6,20,29,.18);
  overflow:visible;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background-color .22s ease;
}

.home-page .top-header--executive .cart-btn--fav{
  background:linear-gradient(180deg,#fff6f8,#ffeef3);
  border-color:rgba(253,164,175,.44);
  color:#a61f4e;
}

.home-page .top-header--executive .cart-btn--cart{
  background:linear-gradient(180deg,#f4fff9,#edfdf4);
  border-color:rgba(134,239,172,.42);
  color:#1b4332;
}

.home-page .top-header--executive .cart-icon{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:none;
  white-space:nowrap;
  line-height:1;
}

.home-page .top-header--executive .cart-glyph{
  width:28px;
  height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,24,39,.14);
  background:linear-gradient(165deg,rgba(255,255,255,.95),rgba(241,245,249,.9));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 4px 10px rgba(2,12,22,.1);
  transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.home-page .top-header--executive .cart-btn--fav .cart-glyph{
  color:#be185d;
  border-color:rgba(190,24,93,.24);
  background:linear-gradient(165deg,#fff6fa,#ffeef6);
}

.home-page .top-header--executive .cart-btn--cart .cart-glyph{
  color:#0f5132;
  border-color:rgba(15,81,50,.2);
  background:linear-gradient(165deg,#f2fff8,#ecfdf3);
}

.home-page .top-header--executive .cart-glyph svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-page .top-header--executive .cart-label{
  font-weight:800;
}

.home-page .top-header--executive .cart-badge{
  top:-7px;
  right:-7px;
  min-width:22px;
  height:22px;
  font-size:11px;
  font-weight:900;
  box-shadow:0 0 0 3px rgba(255,255,255,.95);
}

.home-page .top-header--executive .cart-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(6,20,29,.26);
}

.home-page .top-header--executive .cart-btn:hover .cart-glyph{
  transform:translateY(-1px) scale(1.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 8px 14px rgba(2,12,22,.18);
}

.home-page .top-header--executive .cart-btn--fav:hover .cart-glyph svg{
  animation:headerHeartBeat .68s ease;
}

.home-page .top-header--executive .cart-btn--cart:hover .cart-glyph svg{
  animation:headerCartRock .56s ease;
}

.home-page .top-header--executive .cart-badge.is-bounce{
  animation:headerBadgePop .5s cubic-bezier(.2,.78,.24,1.08);
}

.home-page .top-header--executive .fav-badge{
  background:linear-gradient(150deg,#e11d48,#be123c);
}

.home-page .top-header--executive .cart-btn--cart .cart-badge{
  background:linear-gradient(150deg,#d97706,#b45309);
}

@media (max-width:1200px){
  .home-page .top-header--executive .home-nav{
    display:none;
  }

  .home-page .top-header--executive .search.search--pro.search--icon-toggle.is-expanded{
    max-width:min(620px,56vw);
    flex-basis:min(620px,56vw);
  }

  .home-page .top-header--executive .user-name{
    max-width:120px;
  }
}

@media (max-width:920px){
  .home-page .top-header--executive{
    gap:10px;
    padding:12px 12px;
  }

  .home-page .top-header--executive .search.search--pro.search--icon-toggle{
    order:4;
    max-width:none;
    flex:1 1 100%;
  }

  .home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed,
  .home-page .top-header--executive .search.search--pro.search--icon-toggle.is-expanded{
    max-width:none;
    flex:1 1 100%;
  }

  .home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-control.search-control--smart{
    width:auto;
    min-width:0;
    min-height:54px;
    border:1px solid rgba(205,229,218,.38);
    background:linear-gradient(138deg,rgba(255,255,255,.18),rgba(255,255,255,.09));
    box-shadow:0 12px 26px rgba(2,12,22,.3);
  }

  .home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-control.search-control--smart input{
    width:100%;
    max-width:none;
    min-width:0;
    opacity:1;
    pointer-events:auto;
    padding:12px 18px;
  }

  .home-page .top-header--executive .search.search--pro.search--icon-toggle.is-collapsed .search-submit{
    margin-right:2px;
  }

  .home-page .top-header--executive .user-menu{
    margin-left:auto;
  }
}

@media (max-width:620px){
  .home-page .top-header--executive .brand-subtitle{
    display:none;
  }

  .home-page .top-header--executive .cart-label{
    display:none;
  }

  .home-page .top-header--executive .cart-btn{
    width:46px;
    padding:0;
    justify-content:center;
  }

  .home-page .top-header--executive .cart-icon{
    gap:0;
    width:100%;
    justify-content:center;
  }

  .home-page .top-header--executive .user-info::after{
    display:none;
  }
}

@keyframes headerHeartBeat{
  0%{ transform:scale(1); }
  30%{ transform:scale(1.12); }
  55%{ transform:scale(.95); }
  80%{ transform:scale(1.06); }
  100%{ transform:scale(1); }
}

@keyframes headerCartRock{
  0%{ transform:translateX(0) rotate(0deg); }
  26%{ transform:translateX(1px) rotate(8deg); }
  52%{ transform:translateX(-1px) rotate(-7deg); }
  78%{ transform:translateX(1px) rotate(4deg); }
  100%{ transform:translateX(0) rotate(0deg); }
}

@keyframes headerBadgePop{
  0%{ transform:scale(1); }
  45%{ transform:scale(1.25); }
  100%{ transform:scale(1); }
}

@keyframes headerSearchPeek{
  0%{ transform:translateX(0) scale(1); }
  35%{ transform:translateX(1px) scale(1.08); }
  68%{ transform:translateX(-1px) scale(.98); }
  100%{ transform:translateX(0) scale(1); }
}

@media (prefers-reduced-motion:reduce){
  .home-page .top-header--executive .cart-btn,
  .home-page .top-header--executive .cart-glyph,
  .home-page .top-header--executive .cart-glyph svg,
  .home-page .top-header--executive .cart-badge,
  .home-page .top-header--executive .search.search--pro .search-glyph,
  .home-page .top-header--executive .search.search--pro .search-glyph svg{
    transition:none !important;
    animation:none !important;
    transform:none !important;
  }
}

/* ================= PRODUCTION SHOP LAYER ================= */

.mobile-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

.mobile-menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}

.mobile-nav-backdrop{
  position:fixed;
  inset:0;
  background:rgba(2,9,18,.56);
  z-index:1090;
  backdrop-filter:blur(3px);
}

.mobile-nav-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(360px,88vw);
  height:100vh;
  background:linear-gradient(180deg,#0d1f2f,#0f2537 58%,#112e24);
  color:#f8fafc;
  z-index:1100;
  display:grid;
  align-content:start;
  gap:16px;
  padding:18px 16px 24px;
  border-left:1px solid rgba(255,255,255,.14);
  box-shadow:-18px 0 36px rgba(2,9,18,.45);
  transform:translateX(104%);
  transition:transform .28s ease;
}

.mobile-nav-drawer.is-open{
  transform:translateX(0);
}

.mobile-nav-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.mobile-nav-head .brand-link{
  color:#f8fafc;
}

.mobile-nav-head .brand-link img{
  width:38px;
  height:38px;
}

.mobile-nav-close{
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
  color:#f8fafc;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.mobile-nav-links{
  display:grid;
  gap:8px;
}

.mobile-nav-links a{
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  padding:11px 12px;
  text-decoration:none;
  font-weight:700;
  color:#eaf2ff;
  background:rgba(255,255,255,.06);
}

.mobile-nav-links a:hover{
  background:rgba(255,255,255,.12);
}

.mobile-nav-actions{
  display:grid;
  gap:8px;
}

.mobile-nav-actions .btn{
  justify-content:center;
}

body.is-mobile-menu-open{
  overflow:hidden;
}

.product-pay-logo{
  margin-top:8px;
  display:flex;
  align-items:center;
}

.product-pay-logo img{
  height:26px;
  width:auto;
}

.summary-payment-logo{
  margin-top:10px;
  height:28px;
  width:auto;
  max-width:100%;
}

.brand-footer{
  margin-top:28px;
  padding:0;
  text-align:left;
  color:#d5dfec;
  background:
    radial-gradient(1200px 520px at 0% 0%,rgba(56,189,248,.12),transparent 56%),
    radial-gradient(1000px 520px at 100% 100%,rgba(34,197,94,.12),transparent 58%),
    linear-gradient(160deg,#081221 0%,#0e2234 52%,#123227 100%);
  border-top:1px solid rgba(255,255,255,.08);
}

.brand-footer-inner{
  width:min(1180px,94vw);
  margin:0 auto;
  padding:26px 0 20px;
  display:grid;
  grid-template-columns:minmax(280px,1.8fr) repeat(3,minmax(160px,1fr));
  gap:20px;
}

.brand-footer-col{
  display:grid;
  align-content:start;
  gap:8px;
}

.brand-footer-col h3{
  margin:0;
  color:#f8fbff;
  font-family:"Sora","Segoe UI",sans-serif;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.brand-footer-col p{
  margin:0;
  color:#bdd0e5;
  font-size:14px;
  line-height:1.7;
}

.brand-footer-col a{
  text-decoration:none;
  color:#e3ecf8;
  font-size:14px;
}

.brand-footer-col a:hover{
  color:#ffffff;
}

.brand-footer-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#ffffff;
  font-family:"Sora","Segoe UI",sans-serif;
}

.brand-footer-logo img{
  width:42px;
  height:42px;
  object-fit:contain;
}

.brand-footer-payment{
  margin-top:4px;
  display:grid;
  justify-items:start;
  gap:8px;
}

.brand-footer-payment span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
  color:#f1f5f9;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  padding:0 10px;
}

.brand-footer-payment img{
  height:30px;
  width:auto;
  max-width:100%;
  display:block;
}

.brand-footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  width:min(1180px,94vw);
  margin:0 auto;
  padding:12px 0 20px;
}

.brand-footer-bottom p{
  margin:0;
  color:#b8c8dc;
  font-size:12px;
  line-height:1.6;
}

.product-page .product-info h2,
.product-page .product-info p{
  overflow-wrap:anywhere;
}

@media (max-width:1200px){
  .mobile-menu-toggle{
    display:inline-flex;
  }

  .home-page .top-header--executive .home-nav{
    display:none;
  }

  .brand-footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .brand-footer-col--brand{
    grid-column:1/-1;
  }
}

@media (max-width:920px){
  body{
    padding-top:106px;
  }

  .top-header,
  .top-header--home,
  .home-page .top-header--home,
  .home-page .top-header--home.is-scrolled{
    min-height:74px;
    padding:12px 12px;
    gap:10px;
    flex-wrap:wrap;
  }

  .top-header .logo-area{
    min-width:0;
  }

  .top-header .header-right{
    order:4;
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .top-header .user-menu{
    margin-left:auto;
  }
}

@media (max-width:780px){
  .brand-footer-inner{
    grid-template-columns:1fr;
  }

  .brand-footer-col--brand{
    grid-column:auto;
  }

  .cart-page .summary-payment-methods{
    display:grid;
    gap:10px;
  }
}

@media (max-width:620px){
  body{
    padding-top:118px;
  }

  .top-header .header-right{
    justify-content:space-between;
  }

  .top-header .btn-back{
    font-size:12px;
    padding:9px 12px;
  }

  .brand-footer{
    margin-top:22px;
  }

  .brand-footer-inner{
    padding-top:22px;
  }
}

/* ================= PREMIUM MOTION BOOST ================= */

body.is-motion-enhanced{
  --premium-ease:cubic-bezier(.2,.8,.2,1);
}

body.is-motion-enhanced .top-header{
  transition:
    background-color .42s var(--premium-ease),
    border-color .42s var(--premium-ease),
    box-shadow .42s var(--premium-ease),
    transform .42s var(--premium-ease);
}

body.is-motion-enhanced .top-header::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(120% 120% at 14% -36%,rgba(255,255,255,.18),transparent 54%),
    radial-gradient(120% 120% at 92% 140%,rgba(125,211,252,.14),transparent 58%);
  opacity:.78;
  animation:premiumHeaderDrift 9.2s ease-in-out infinite alternate;
}

body.is-motion-enhanced .top-header > *{
  position:relative;
  z-index:1;
}

body.is-motion-enhanced .btn,
body.is-motion-enhanced .btn-login,
body.is-motion-enhanced .btn-checkout,
body.is-motion-enhanced .btn-back,
body.is-motion-enhanced .hero-btn{
  position:relative;
  overflow:hidden;
  transition:
    transform .3s var(--premium-ease),
    box-shadow .3s var(--premium-ease),
    filter .3s var(--premium-ease);
}

body.is-motion-enhanced .btn::before,
body.is-motion-enhanced .btn-login::before,
body.is-motion-enhanced .btn-checkout::before,
body.is-motion-enhanced .btn-back::before,
body.is-motion-enhanced .hero-btn::before{
  content:"";
  position:absolute;
  inset:-55% -30%;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.36),rgba(255,255,255,0) 62%);
  opacity:0;
  transition:opacity .28s var(--premium-ease), transform .32s var(--premium-ease);
  transform:scale(.84);
  pointer-events:none;
}

body.is-motion-enhanced .btn.is-pointer-in::before,
body.is-motion-enhanced .btn-login.is-pointer-in::before,
body.is-motion-enhanced .btn-checkout.is-pointer-in::before,
body.is-motion-enhanced .btn-back.is-pointer-in::before,
body.is-motion-enhanced .hero-btn.is-pointer-in::before{
  opacity:1;
  transform:scale(1);
}

body.is-motion-enhanced .btn:hover,
body.is-motion-enhanced .btn-login:hover,
body.is-motion-enhanced .btn-checkout:hover,
body.is-motion-enhanced .btn-back:hover,
body.is-motion-enhanced .hero-btn:hover{
  transform:translateY(-3px) scale(1.01);
}

body.is-motion-enhanced .hero-actions .hero-btn:first-child,
body.is-motion-enhanced .cart-page .btn-checkout:not(:disabled),
body.is-motion-enhanced .pending-order-pay-btn:not(:disabled){
  animation:premiumCtaLift 3.8s ease-in-out infinite;
}

body.is-motion-enhanced .product-card,
body.is-motion-enhanced .favorite-card,
body.is-motion-enhanced .cart-item-pro,
body.is-motion-enhanced .cart-summary-pro,
body.is-motion-enhanced .home-sales-card,
body.is-motion-enhanced .home-team-card,
body.is-motion-enhanced .home-testimonial-card,
body.is-motion-enhanced .pending-order-card{
  position:relative;
  overflow:hidden;
  transition:
    transform .36s var(--premium-ease),
    box-shadow .36s var(--premium-ease),
    border-color .36s var(--premium-ease),
    filter .36s var(--premium-ease);
}

body.is-motion-enhanced .product-card::after,
body.is-motion-enhanced .favorite-card::after,
body.is-motion-enhanced .cart-item-pro::after,
body.is-motion-enhanced .cart-summary-pro::after,
body.is-motion-enhanced .home-sales-card::after,
body.is-motion-enhanced .home-team-card::after,
body.is-motion-enhanced .home-testimonial-card::after,
body.is-motion-enhanced .pending-order-card::after{
  content:"";
  position:absolute;
  inset:-35%;
  pointer-events:none;
  background:radial-gradient(circle at var(--mx-card-x,50%) var(--mx-card-y,50%),rgba(255,255,255,.34),rgba(255,255,255,0) 62%);
  opacity:0;
  transform:scale(.85);
  transition:opacity .32s var(--premium-ease), transform .32s var(--premium-ease);
}

body.is-motion-enhanced .product-card.is-pointer-in::after,
body.is-motion-enhanced .favorite-card.is-pointer-in::after,
body.is-motion-enhanced .cart-item-pro.is-pointer-in::after,
body.is-motion-enhanced .cart-summary-pro.is-pointer-in::after,
body.is-motion-enhanced .home-sales-card.is-pointer-in::after,
body.is-motion-enhanced .home-team-card.is-pointer-in::after,
body.is-motion-enhanced .home-testimonial-card.is-pointer-in::after,
body.is-motion-enhanced .pending-order-card.is-pointer-in::after{
  opacity:1;
  transform:scale(1);
}

body.is-motion-enhanced .brand-footer{
  background-size:170% 170%;
  animation:premiumFooterShift 14s ease-in-out infinite alternate;
}

body.is-motion-enhanced .brand-footer-payment img{
  animation:premiumLogoFloat 5.2s ease-in-out infinite;
  transform-origin:center center;
}

body.is-motion-enhanced .home-page .halo-feature-block{
  animation:premiumHaloGlow 8s ease-in-out infinite alternate;
}

@keyframes premiumHeaderDrift{
  0%{ transform:translate3d(0,0,0) scale(1); }
  100%{ transform:translate3d(0,6px,0) scale(1.03); }
}

@keyframes premiumCtaLift{
  0%,100%{ box-shadow:0 10px 20px rgba(9,24,38,.22); }
  50%{ box-shadow:0 16px 30px rgba(9,24,38,.34); }
}

@keyframes premiumFooterShift{
  0%{ background-position:0% 50%; }
  100%{ background-position:100% 50%; }
}

@keyframes premiumLogoFloat{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-2px) scale(1.015); }
}

@keyframes premiumHaloGlow{
  0%{
    box-shadow:0 18px 40px rgba(15,23,42,.14);
    transform:translateY(0);
  }
  100%{
    box-shadow:0 24px 48px rgba(15,23,42,.2);
    transform:translateY(-2px);
  }
}

@media (prefers-reduced-motion:reduce){
  body.is-motion-enhanced .top-header::before,
  body.is-motion-enhanced .hero-actions .hero-btn:first-child,
  body.is-motion-enhanced .cart-page .btn-checkout:not(:disabled),
  body.is-motion-enhanced .pending-order-pay-btn:not(:disabled),
  body.is-motion-enhanced .brand-footer,
  body.is-motion-enhanced .brand-footer-payment img,
  body.is-motion-enhanced .home-page .halo-feature-block{
    animation:none !important;
  }
}

/* ================= PROFESSIONAL POLISH ================= */

:root{
  --bg-main:#eef3f8;
  --line-soft:rgba(15,35,55,.16);
  --shadow-sm:0 10px 24px rgba(8,18,32,.08);
  --shadow-md:0 18px 38px rgba(8,18,32,.12);
}

body{
  line-height:1.58;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1200px 480px at 5% -12%,rgba(29,78,216,.08),transparent 58%),
    radial-gradient(900px 420px at 95% -18%,rgba(15,118,110,.08),transparent 56%),
    var(--bg-main);
}

h1,h2,h3,h4{
  letter-spacing:-0.015em;
}

.top-header{
  box-shadow:0 10px 26px rgba(7,18,29,.18);
}

.top-header--home{
  background:linear-gradient(100deg,rgba(6,16,27,.94),rgba(11,47,35,.9));
}

.btn,
.btn-login,
.btn-checkout,
.hero-btn{
  letter-spacing:.01em;
  box-shadow:0 10px 22px rgba(25,135,84,.24);
}

.btn-secondary{
  background:rgba(255,255,255,.96);
}

.btn-secondary:hover{
  background:#fff;
}

input,
select,
textarea{
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:rgba(255,255,255,.98);
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:rgba(25,135,84,.62);
  box-shadow:0 0 0 4px rgba(25,135,84,.12);
}

.product-card,
.favorite-card,
.cart-item-pro,
.cart-summary-pro,
.home-sales-card,
.home-team-card,
.home-testimonial-card,
.pending-order-card,
.catalog-toolbar,
.favorites-head,
.cart-intro,
.home-cta-band{
  border:1px solid rgba(15,35,55,.1);
  box-shadow:var(--shadow-sm);
}

.product-card:hover,
.favorite-card:hover,
.home-sales-card:hover,
.home-team-card:hover,
.home-testimonial-card:hover{
  border-color:rgba(25,135,84,.24);
  box-shadow:var(--shadow-md);
}

.section-note,
.summary-note{
  color:#344054;
}

.brand-footer{
  border-top:1px solid rgba(255,255,255,.14);
}

@media (max-width:780px){
  .btn,
  .btn-login,
  .btn-checkout,
  .hero-btn{
    width:100%;
    justify-content:center;
  }
}

/* ================= FINAL PRODUCTION PASS ================= */

:root{
  --prod-surface:#ffffff;
  --prod-surface-soft:#f7fafc;
  --prod-text:#0f172a;
  --prod-muted:#475467;
  --prod-line:rgba(15,23,42,.12);
  --prod-line-strong:rgba(15,23,42,.22);
  --prod-shadow-sm:0 12px 30px rgba(8,15,30,.1);
  --prod-shadow-md:0 20px 44px rgba(8,15,30,.14);
  --prod-shadow-lg:0 34px 64px rgba(8,15,30,.18);
  --prod-radius-xl:28px;
  --prod-radius-lg:20px;
  --prod-radius-md:14px;
  --prod-spacing-1:0.5rem;
  --prod-spacing-2:0.75rem;
  --prod-spacing-3:1rem;
  --prod-spacing-4:1.25rem;
  --prod-spacing-5:1.5rem;
  --prod-spacing-6:2rem;
  --prod-spacing-7:2.75rem;
}

html{
  overflow-x:clip;
}

body{
  min-height:100%;
  overflow-x:clip;
  color:var(--prod-text);
}

main,
section,
header,
footer{
  max-width:100%;
}

img,
svg,
video,
canvas{
  max-width:100%;
  height:auto;
}

a,
button,
input,
select,
textarea{
  -webkit-tap-highlight-color:transparent;
}

button,
a.btn,
a.btn-secondary,
.btn,
.btn-login,
.btn-google,
.btn-checkout,
.hero-btn,
.btn-back,
.mobile-menu-toggle,
.mobile-nav-close,
.search-submit,
.cart-btn,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea{
  min-height:44px;
}

input,
select,
textarea{
  font-size:16px;
}

.home-page .section-title{
  font-size:clamp(1.5rem,4vw,2.35rem);
  line-height:1.14;
}

.home-page .section-note,
.home-page .home-cta-band p,
.cart-page .cart-intro p,
.favorites-page .favorites-head p{
  color:var(--prod-muted);
  max-width:68ch;
}

.home-page main,
.cart-page main,
.favorites-page main,
.product-page main{
  width:min(1440px,100% - clamp(1rem,4vw,3.5rem));
  margin-inline:auto;
}

.home-page main{
  padding-bottom:clamp(2rem,4vw,4rem);
}

.home-page .home-hero{
  border-radius:var(--prod-radius-xl);
  box-shadow:var(--prod-shadow-md);
  border:1px solid rgba(148,163,184,.24);
  overflow:hidden;
}

.home-page .home-trust-strip,
.home-page .catalog-toolbar--pro,
.home-page .home-sales-block,
.home-page .home-team-collections,
.home-page .home-testimonials,
.home-page .home-cta-band,
.home-page .benefits{
  border-radius:var(--prod-radius-lg);
  border:1px solid var(--prod-line);
  box-shadow:var(--prod-shadow-sm);
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
}

.home-page .catalog-toolbar--pro,
.home-page .home-sales-block,
.home-page .home-team-collections,
.home-page .home-testimonials,
.home-page .home-cta-band,
.home-page .benefits{
  padding:clamp(1rem,2.3vw,2rem);
}

.home-page .productos{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(.9rem,2.8vw,1.4rem);
}

.home-page .home-sales-grid,
.home-page .home-team-grid,
.home-page .home-testimonials-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(.85rem,2.6vw,1.25rem);
}

.home-page .product-card,
.home-page .home-sales-card,
.home-page .home-team-card,
.home-page .home-testimonial-card{
  border-radius:var(--prod-radius-md);
  border:1px solid var(--prod-line);
  box-shadow:0 12px 22px rgba(8,15,30,.08);
  transition:
    transform .28s cubic-bezier(.22,.61,.36,1),
    box-shadow .28s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease;
}

.home-page .product-card:hover,
.home-page .home-sales-card:hover,
.home-page .home-team-card:hover,
.home-page .home-testimonial-card:hover{
  transform:translateY(-4px);
  border-color:rgba(22,163,74,.35);
  box-shadow:var(--prod-shadow-md);
}

.home-page .product-image-wrap,
.favorites-page .favorite-image,
.home-page .home-sales-card img,
.home-page .home-team-card img{
  aspect-ratio:1 / 1;
  object-fit:cover;
}

.home-page .brand-group,
.home-page .home-sales-block{
  content-visibility:auto;
  contain-intrinsic-size:1px 620px;
}

.home-page .top-header--executive{
  align-items:flex-start;
  gap:.65rem;
}

.home-page .top-header--executive .home-nav{
  display:none;
}

.home-page .top-header--executive .search.search--pro{
  order:4;
  width:100%;
  max-width:none;
}

.home-page .top-header--executive .user-menu{
  margin-left:auto;
}

.home-page .mobile-menu-toggle{
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.14);
  transition:background-color .24s ease,border-color .24s ease,transform .24s ease;
}

.home-page .mobile-menu-toggle:hover{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.5);
}

.home-page .mobile-menu-toggle:active{
  transform:scale(.95);
}

.home-page .mobile-menu-toggle span{
  transform-origin:center;
  transition:transform .26s ease,opacity .22s ease;
}

.home-page .mobile-menu-toggle.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.home-page .mobile-menu-toggle.is-open span:nth-child(2){
  opacity:0;
}

.home-page .mobile-menu-toggle.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.home-page .mobile-nav-backdrop{
  opacity:0;
  transition:opacity .24s ease;
}

body.is-mobile-menu-open .home-page .mobile-nav-backdrop,
body.is-mobile-menu-open .mobile-nav-backdrop{
  opacity:1;
}

.home-page .mobile-nav-drawer{
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease;
}

.home-page .mobile-nav-links a,
.home-page .mobile-nav-actions .btn{
  min-height:44px;
}

.scroll-progress{
  backdrop-filter:blur(6px);
  background:rgba(255,255,255,.58);
  border:1px solid rgba(148,163,184,.34);
}

.scroll-progress span{
  background:linear-gradient(90deg,#16a34a,#0ea5e9);
}

.reveal,
.pro-reveal{
  will-change:transform,opacity;
}

@media (min-width:320px){
  .home-page .top-header--executive .brand-link strong,
  .home-page .top-header--executive .brand-copy h1{
    font-size:clamp(1rem,4vw,1.25rem);
  }

  .home-page .hero-btn{
    min-width:min(100%,220px);
  }
}

@media (min-width:480px){
  .home-page .productos{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-page .home-sales-grid,
  .home-page .home-team-grid,
  .home-page .home-testimonials-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-page .top-header--executive{
    align-items:center;
  }

  .home-page .top-header--executive .search.search--pro{
    order:3;
  }
}

@media (min-width:768px){
  .home-page .home-hero{
    min-height:520px;
  }

  .home-page .home-sales-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .home-page .home-team-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .home-page .home-testimonials-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .cart-page .cart-shell{
    grid-template-columns:minmax(0,1fr) minmax(280px,390px);
  }
}

@media (min-width:1024px){
  .home-page .top-header--executive{
    align-items:center;
  }

  .home-page .top-header--executive .home-nav{
    display:flex;
  }

  .home-page .top-header--executive .search.search--pro{
    order:0;
    width:auto;
    max-width:360px;
  }

  .home-page .productos{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .home-page .home-team-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .home-page .home-sales-block{
    padding:clamp(1.25rem,2.1vw,2.25rem);
  }
}

@media (min-width:1440px){
  .home-page .top-header--executive .search.search--pro{
    max-width:420px;
  }

  .home-page .productos{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .home-page .home-sales-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .home-page .home-team-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  .home-page .product-card,
  .home-page .home-sales-card,
  .home-page .home-team-card,
  .home-page .home-testimonial-card,
  .home-page .mobile-menu-toggle span,
  .reveal,
  .pro-reveal{
    transition:none !important;
    animation:none !important;
    transform:none !important;
  }
}
