:root{
  --bg: #0b0b0f;
  --surface: #12121a;
  --surface-2: #171722;

  --text: #f7f7fb;
  --muted: rgba(247,247,251,.75);
  --muted2: rgba(247,247,251,.60);

  --red: #e1062c;
  --red-2: #ff2d55;

  --wa: #25D366;
  --wa-2: #1ebe5d;

  --line: rgba(255,255,255,.10);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 18px;

  --container: 1120px;
}

/* Light Mode */
html[data-theme="light"]{
  --bg: #f7f7fb;
  --surface: #ffffff;
  --surface-2: #f0f0f7;

  --text: #0b0b0f;
  --muted: rgba(11,11,15,.72);
  --muted2: rgba(11,11,15,.58);

  --line: rgba(11,11,15,.12);
  --shadow: 0 12px 28px rgba(0,0,0,.12);
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1000px 700px at 70% 0%, rgba(225,6,44,.14), transparent 55%),
    radial-gradient(900px 600px at 10% 10%, rgba(255,255,255,.10), transparent 60%),
    var(--bg);
  color: var(--text);
  line-height: 1.55;
}

a{ color: inherit; text-decoration: none; }
.container{ width: min(var(--container), calc(100% - 40px)); margin: 0 auto; }

.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;
}

.inline-link{ text-decoration: underline; text-underline-offset: 3px; }
.inline-link:hover{ opacity: .9; }

/* Topbar */
.topbar{
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 75%, transparent);
  backdrop-filter: blur(10px);
}
.topbar__inner{
  display:flex; justify-content: space-between; align-items:center;
  padding: 10px 0; gap: 16px;
}
.topbar__left, .topbar__right{ display:flex; align-items:center; gap: 10px; flex-wrap: wrap; }
.topbar__link{ color: var(--muted); font-weight: 700; font-size: 13px; }
.topbar__link:hover{ color: var(--text); }
.topbar__sep{ color: var(--line); }

.pill{
  display:inline-flex; align-items:center;
  padding: 6px 10px; border-radius: 999px;
  background: rgba(225,6,44,.14);
  border: 1px solid rgba(225,6,44,.28);
  font-weight: 900; font-size: 12px; letter-spacing: .02em;
}
.pill--ghost{
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  color: var(--muted);
}

/* Header */
.header{
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--surface) 72%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.header__inner{
  display:flex; align-items:center; justify-content: space-between;
  padding: 12px 0; gap: 16px;
}

.brand{ display:flex; align-items:center; gap: 14px; }
.brand__logo{
  width: 64px; height: 64px;
  object-fit: contain;
  display:block;
}
@media (max-width: 820px){
  .brand__logo{ width: 54px; height: 54px; }
}
.brand__text{ display:flex; flex-direction: column; }
.brand__name{ font-weight: 900; letter-spacing: .04em; }
.brand__tag{ font-size: 12px; color: var(--muted); margin-top: 2px; }

/* Nav */
.nav{ display:flex; align-items:center; position: relative; }
.nav__toggle{
  display:none;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 65%, transparent);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  cursor:pointer;
}
.nav__toggle-lines{
  width: 18px; height: 12px; display:inline-block; position:relative;
}
.nav__toggle-lines::before,
.nav__toggle-lines::after{
  content:""; position:absolute; left:0; right:0; height:2px;
  background: var(--text); border-radius: 2px;
}
.nav__toggle-lines::before{ top:0; }
.nav__toggle-lines::after{ bottom:0; }

.nav__menu{
  display:flex; align-items:center; gap: 14px;
  list-style:none; padding:0; margin:0;
}
.nav__link{
  font-weight: 900; font-size: 14px;
  color: var(--muted);
  padding: 10px 10px;
  border-radius: 12px;
}
.nav__link:hover{ color: var(--text); background: color-mix(in srgb, var(--surface) 60%, transparent); }
.nav__link--cta{
  color: #fff;
  background: linear-gradient(135deg, var(--red), var(--red-2));
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 20px rgba(225,6,44,.18);
}
.nav__link--cta:hover{ filter: brightness(1.05); }

/* Theme Toggle */
.theme-toggle{
  display:inline-flex; align-items:center; gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 65%, transparent);
  color: var(--text);
  font-weight: 900;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease;
}
.theme-toggle:hover{ transform: translateY(-1px); }
.theme-toggle__icon{
  width: 18px; height: 18px; border-radius: 8px;
  background: linear-gradient(135deg, var(--red), rgba(255,255,255,.10));
  border: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
}
.theme-toggle__text{ font-size: 13px; }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 900;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  color: var(--text);
  cursor:pointer;
  transition: transform .15s ease, filter .15s ease, background .15s ease;
}
.btn:hover{ transform: translateY(-1px); background: color-mix(in srgb, var(--surface) 70%, transparent); }
.btn--primary{
  color: #fff;
  background: linear-gradient(135deg, var(--red), var(--red-2));
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 14px 30px rgba(225,6,44,.18);
}
.btn--primary:hover{ filter: brightness(1.05); }
.btn--secondary{ background: color-mix(in srgb, var(--surface) 55%, transparent); }
.btn--full{ width: 100%; }

/* HERO VIDEO */
.hero--video{
  position: relative;
  min-height: calc(100vh - 52px);
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
}
.hero__video{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  filter: contrast(1.05) saturate(1.05);
}
.hero__overlay{
  position: absolute; inset: 0;
  background:
    radial-gradient(900px 600px at 70% 20%, rgba(225,6,44,.28), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.68), rgba(0,0,0,.55));
  border-bottom: 1px solid rgba(255,255,255,.10);
}
html[data-theme="light"] .hero__overlay{
  background:
    radial-gradient(900px 600px at 70% 20%, rgba(225,6,44,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55));
  border-bottom: 1px solid var(--line);
}
.hero__content{ position: relative; z-index: 2; }
.hero__content--center{ padding: 110px 0 56px; text-align: left; }

.kicker{
  display:inline-flex;
  font-weight: 900;
  color: color-mix(in srgb, var(--text) 92%, transparent);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  padding: 8px 12px;
  border-radius: 999px;
  letter-spacing: .02em;
  margin: 0 0 14px;
}
html[data-theme="light"] .kicker{
  background: rgba(11,11,15,.06);
  border: 1px solid rgba(11,11,15,.10);
}

.hero__title{
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.05;
  margin: 0 0 14px;
  font-weight: 900;
}
.accent{ color: var(--red); }

.hero__subtitle{
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 16px;
  max-width: 72ch;
}
.hero__actions{ display:flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }

.hero__metrics{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: 760px;
}
.metric{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  padding: 14px;
  backdrop-filter: blur(10px);
}
html[data-theme="light"] .metric{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(11,11,15,.10);
}
.metric__value{ font-weight: 900; font-size: 18px; }
.metric__label{ color: var(--muted2); font-size: 12px; margin-top: 2px; }

.nap{
  margin-top: 16px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 900px;
}
.nap__item{
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.30);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  font-weight: 800;
  font-size: 12px;
}
html[data-theme="light"] .nap__item{
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(11,11,15,.10);
  color: rgba(11,11,15,.88);
}

.hero__scroll{
  position: absolute; z-index: 2;
  left: 50%; bottom: 16px; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 999px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.9);
  backdrop-filter: blur(10px);
}
html[data-theme="light"] .hero__scroll{
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(11,11,15,.10);
  color: rgba(11,11,15,.9);
}
.hero__scroll-dot{
  width: 8px; height: 8px; border-radius: 999px;
  background: var(--red);
  box-shadow: 0 0 0 6px rgba(225,6,44,.20);
  animation: pulse 1.6s ease-in-out infinite;
}
.hero__scroll-text{ font-weight: 900; font-size: 12px; letter-spacing: .02em; opacity: .9; }
@keyframes pulse{
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.25); opacity: .75; }
}

/* Sections */
.section{ padding: 56px 0; }
.section--contrast{
  background: linear-gradient(180deg, rgba(225,6,44,.16), rgba(0,0,0,.00));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
html[data-theme="light"] .section--contrast{
  background: linear-gradient(180deg, rgba(225,6,44,.10), rgba(255,255,255,.00));
}
.section--soft{
  background: color-mix(in srgb, var(--surface) 75%, transparent);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.section__head{ margin-bottom: 22px; }
.section__title{
  margin: 0 0 10px;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: .01em;
}
.section__title--light{ color: color-mix(in srgb, var(--text) 92%, transparent); }
.section__lead{ margin: 0; color: var(--muted); max-width: 75ch; }

.grid-3{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.split{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }

.card{
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
}
.card__title{ margin: 0 0 8px; font-weight: 900; }
.card__text{ margin: 0; color: var(--muted); }

.quote{
  margin: 0; padding: 18px;
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

/* Accordion */
.accordion{ display:grid; gap: 12px; }
.acc-item{
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow:hidden;
}
.acc-btn{
  width: 100%;
  display:grid;
  grid-template-columns: 1fr auto 24px;
  gap: 12px;
  align-items:center;
  padding: 16px 16px;
  background: transparent;
  border: 0;
  color: var(--text);
  cursor:pointer;
  text-align:left;
}
.acc-title{ font-weight: 900; }
.acc-meta{ color: var(--muted2); font-weight: 900; font-size: 12px; }
.acc-chevron{
  width: 10px; height: 10px;
  border-right: 2px solid color-mix(in srgb, var(--text) 80%, transparent);
  border-bottom: 2px solid color-mix(in srgb, var(--text) 80%, transparent);
  transform: rotate(45deg);
  transition: transform .18s ease;
  justify-self:end;
}
.acc-item[data-open="true"] .acc-chevron{ transform: rotate(-135deg); }
.acc-panel{
  padding: 0 16px 16px;
  border-top: 1px solid var(--line);
}
.list{ margin: 14px 0 0; padding-left: 18px; color: var(--muted); }
.list li{ margin: 8px 0; }
.list strong{ color: color-mix(in srgb, var(--text) 92%, transparent); }

/* CTA */
.cta{
  margin-top: 18px;
  display:flex; align-items:center; justify-content: space-between; gap: 14px;
  background: linear-gradient(135deg, rgba(225,6,44,.18), color-mix(in srgb, var(--surface) 70%, transparent));
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 18px;
}
.cta__title{ margin: 0 0 6px; font-weight: 900; }
.cta__text{ margin: 0; color: var(--muted); max-width: 70ch; }

/* ===== CAROUSEL (NUEVO) ===== */
.carousel{
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 14px;
  box-shadow: var(--shadow);
}
.carousel__top{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.carousel__hint{
  color: var(--muted);
  font-weight: 800;
  font-size: 12px;
}
.carousel__controls{
  display:flex;
  gap: 10px;
}
.carousel__viewport{
  overflow:hidden;
  border-radius: 18px;
  outline: none;
}
.carousel__viewport:focus{
  box-shadow: 0 0 0 4px rgba(225,6,44,.18);
}
.carousel__track{
  display:flex;
  gap: 12px;
  will-change: transform;
  transform: translate3d(0,0,0);
  transition: transform .35s ease;
  padding-bottom: 6px;
}
.carousel__dots{
  display:flex;
  justify-content:center;
  gap: 8px;
  margin-top: 10px;
}
.dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 70%, transparent);
  cursor:pointer;
}
.dot.is-active{
  background: rgba(225,6,44,.85);
  border-color: rgba(225,6,44,.85);
  box-shadow: 0 0 0 5px rgba(225,6,44,.18);
}

/* Gallery Card */
.gcard{
  margin:0;
  flex: 0 0 auto;
  width: clamp(220px, 28vw, 320px);
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 70%, transparent);
}
.gcard img{
  width:100%;
  height: 220px;
  object-fit: cover;
  display:block;
}
.gcard figcaption{
  padding: 10px 12px;
  font-weight: 900;
  font-size: 13px;
  color: color-mix(in srgb, var(--text) 90%, transparent);
}

/* Testimonial Card */
.tcard{
  flex: 0 0 auto;
  width: clamp(260px, 38vw, 520px);
  border-radius: 18px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 70%, transparent);
  padding: 16px;
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.tcard__stars{
  letter-spacing: .12em;
  color: rgba(225,6,44,.95);
  font-weight: 900;
}
.tcard__text{
  margin: 0;
  color: var(--muted);
  font-weight: 600;
}
.tcard__meta{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  color: color-mix(in srgb, var(--text) 88%, transparent);
  font-weight: 900;
  font-size: 13px;
}
.tcard__meta span{
  color: var(--muted2);
  font-weight: 800;
  font-size: 12px;
}

/* Icon button (reused) */
.icon-btn{
  background: color-mix(in srgb, var(--surface) 65%, transparent);
  border: 1px solid var(--line);
  color: var(--text);
  border-radius: 14px;
  width: 40px; height: 40px;
  cursor:pointer;
  font-weight: 900;
}

/* Contact */
.contact{ display:grid; grid-template-columns: 1.05fr .95fr; gap: 18px; align-items: start; }
.contact__cards{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }

.mini{
  background: color-mix(in srgb, var(--surface) 60%, transparent);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
}
.mini__label{ font-size: 12px; color: var(--muted2); font-weight: 900; }
.mini__value{ font-weight: 900; margin-top: 2px; }

.note{
  padding: 14px;
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  color: var(--muted);
}
.note strong{ color: color-mix(in srgb, var(--text) 92%, transparent); }

/* Map */
.map-card{
  margin-top: 14px;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.map-card__head{
  padding: 14px 14px 10px;
  display:flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  border-bottom: 1px solid var(--line);
}
.map-card__title{ font-weight: 900; }
.map-card__sub{ color: var(--muted2); font-weight: 800; font-size: 12px; }
.map-embed{ width: 100%; height: 320px; background: color-mix(in srgb, var(--surface) 70%, transparent); }
.map-embed iframe{ width: 100%; height: 100%; border: 0; display:block; filter: saturate(1.05) contrast(1.05); }
html[data-theme="dark"] .map-embed iframe{ filter: saturate(1.05) contrast(1.05) brightness(.92); }
.map-card__foot{ padding: 12px 14px 14px; border-top: 1px solid var(--line); display:flex; justify-content:flex-end; }

/* Form */
.form{
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 16px;
  box-shadow: var(--shadow);
}
.form__row{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.field{ display:block; margin-bottom: 12px; }
.field__label{
  display:block; font-size: 12px; font-weight: 900;
  color: color-mix(in srgb, var(--text) 92%, transparent);
  margin: 0 0 6px;
}
.field__input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 65%, transparent);
  color: var(--text);
  outline: none;
}
.field__input::placeholder{ color: color-mix(in srgb, var(--text) 45%, transparent); }
.field__input:focus{
  border-color: rgba(225,6,44,.55);
  box-shadow: 0 0 0 4px rgba(225,6,44,.18);
}
.field__input--area{ min-height: 110px; resize: vertical; }
.form__fineprint{ margin: 10px 0 0; color: var(--muted2); font-size: 12px; }
.toast{
  margin-top: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 65%, transparent);
  color: color-mix(in srgb, var(--text) 92%, transparent);
}

/* Footer */
.footer{
  border-top: 1px solid var(--line);
  padding: 22px 0;
  background: color-mix(in srgb, var(--surface) 75%, transparent);
}
.footer__inner{
  display:flex; align-items:center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap;
}
.footer__brandBlock{ display:flex; align-items:center; gap: 12px; }
.footer__logo{
  width: 56px; height: 56px;
  object-fit: contain;
  display:block;
}
.footer__brand{ font-weight: 900; letter-spacing: .06em; }
.footer__meta{ color: var(--muted2); font-size: 12px; margin-top: 2px; }
.footer__links{ display:flex; gap: 14px; flex-wrap: wrap; }
.footer__links a{ color: var(--muted); font-weight: 900; font-size: 13px; }
.footer__links a:hover{ color: var(--text); }
.footer__copy{ color: var(--muted2); font-size: 12px; }

/* Back to top */
.to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 44px; height: 44px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  color: var(--text);
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(8px);
  pointer-events:none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 60;
}
.to-top.is-visible{ opacity: 1; transform: translateY(0); pointer-events:auto; }

/* WhatsApp Float */
.wa-float{
  position: fixed;
  right: 18px;
  bottom: 76px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--wa), var(--wa-2));
  border: 1px solid rgba(255,255,255,.20);
  color: #fff;
  box-shadow: var(--shadow);
  transition: transform .15s ease, filter .15s ease;
}
.wa-float:hover{ transform: translateY(-2px); filter: brightness(1.03); }
.wa-float__icon{
  width: 34px; height: 34px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.22);
  position: relative;
}
.wa-float__icon::before{
  content:"";
  position:absolute; inset: 7px;
  background: #fff;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M19.11 17.36c-.27-.14-1.6-.79-1.84-.88-.25-.09-.43-.14-.61.14-.18.27-.7.88-.86 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.2-1.34-.82-.73-1.37-1.63-1.53-1.9-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.61-1.48-.84-2.03-.22-.52-.45-.45-.61-.46-.16-.01-.34-.01-.52-.01-.18 0-.48.07-.73.34-.25.27-.95.93-.95 2.27 0 1.34.98 2.64 1.11 2.82.14.18 1.93 2.95 4.68 4.13.65.28 1.16.45 1.55.57.65.21 1.24.18 1.71.11.52-.08 1.6-.66 1.83-1.3.23-.64.23-1.19.16-1.3-.07-.11-.25-.18-.52-.32zM16 3C8.83 3 3 8.83 3 16c0 2.31.61 4.56 1.77 6.54L3.6 28.4l6-1.13A12.94 12.94 0 0 0 16 29c7.17 0 13-5.83 13-13S23.17 3 16 3zm0 23.62c-2.12 0-4.2-.57-6.02-1.64l-.43-.25-3.56.67.68-3.47-.28-.45A10.64 10.64 0 0 1 5.38 16C5.38 10.15 10.15 5.38 16 5.38S26.62 10.15 26.62 16 21.85 26.62 16 26.62z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M19.11 17.36c-.27-.14-1.6-.79-1.84-.88-.25-.09-.43-.14-.61.14-.18.27-.7.88-.86 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.2-1.34-.82-.73-1.37-1.63-1.53-1.9-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.61-1.48-.84-2.03-.22-.52-.45-.45-.61-.46-.16-.01-.34-.01-.52-.01-.18 0-.48.07-.73.34-.25.27-.95.93-.95 2.27 0 1.34.98 2.64 1.11 2.82.14.18 1.93 2.95 4.68 4.13.65.28 1.16.45 1.55.57.65.21 1.24.18 1.71.11.52-.08 1.6-.66 1.83-1.3.23-.64.23-1.19.16-1.3-.07-.11-.25-.18-.52-.32zM16 3C8.83 3 3 8.83 3 16c0 2.31.61 4.56 1.77 6.54L3.6 28.4l6-1.13A12.94 12.94 0 0 0 16 29c7.17 0 13-5.83 13-13S23.17 3 16 3zm0 23.62c-2.12 0-4.2-.57-6.02-1.64l-.43-.25-3.56.67.68-3.47-.28-.45A10.64 10.64 0 0 1 5.38 16C5.38 10.15 10.15 5.38 16 5.38S26.62 10.15 26.62 16 21.85 26.62 16 26.62z"/></svg>') center/contain no-repeat;
}
.wa-float__text{ font-weight: 900; font-size: 13px; letter-spacing: .01em; }

/* Reveal */
.reveal{ opacity: 0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible{ opacity: 1; transform: translateY(0); }

/* Store */
.store__toolbar{ display:flex; align-items:center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.store__hint{ color: var(--muted); font-weight: 700; }
.badge-count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 26px; height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(225,6,44,.14);
  border: 1px solid rgba(225,6,44,.28);
  margin-left: 8px;
  font-weight: 900;
}
.products{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.product{
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: var(--shadow);
  display:flex;
  flex-direction: column;
}
.product__media{
  height: 180px;
  background:
    radial-gradient(600px 220px at 60% 20%, rgba(225,6,44,.18), transparent 60%),
    linear-gradient(135deg, color-mix(in srgb, var(--surface) 70%, transparent), transparent);
  border-bottom: 1px solid var(--line);
  position: relative;
}
.product__badge{
  position:absolute; left: 12px; top: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  font-weight: 900;
  font-size: 12px;
}

.product__image{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
html[data-theme="light"] .product__badge{
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(11,11,15,.10);
  color: rgba(11,11,15,.90);
}
.product__body{ padding: 14px; display:flex; flex-direction: column; gap: 10px; }
.product__title{ margin: 0; font-weight: 900; font-size: 16px; }
.product__desc{ margin: 0; color: var(--muted); font-weight: 600; font-size: 13px; }
.product__meta{ display:flex; justify-content: space-between; align-items:center; gap: 10px; }
.product__price{ font-weight: 900; }
.product__actions{ display:flex; gap: 10px; }
.product__actions .btn{ padding: 10px 12px; border-radius: 14px; }
.product__count{
  position:absolute; right: 12px; bottom: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.95);
  font-weight: 900;
  font-size: 12px;
}
.product__thumbs{ display:flex; gap:8px; flex-wrap:wrap; }
.product__thumb{
  width:52px; height:52px; padding:0;
  border-radius:12px; border:1px solid var(--line);
  overflow:hidden; background:transparent; cursor:pointer;
  opacity:.78; transition:opacity .2s ease, transform .2s ease, border-color .2s ease;
}
.product__thumb:hover,
.product__thumb.is-active{ opacity:1; transform:translateY(-1px); border-color:rgba(225,6,44,.35); }
.product__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.product-modal{ position: fixed; inset: 0; z-index: 95; display:none; }
.product-modal.is-open{ display:block; }
.product-modal__backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.58); }
.product-modal__panel{
  position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
  width:min(980px, calc(100vw - 28px)); max-height:min(88vh, 900px); overflow:auto;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  border:1px solid var(--line); border-radius:28px; box-shadow:var(--shadow);
}
.product-modal__header{
  padding:18px 20px; border-bottom:1px solid var(--line);
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
}
.product-modal__title{ font-weight:900; font-size:20px; }
.product-modal__subtitle{ color:var(--muted); font-weight:700; font-size:13px; margin-top:3px; }
.product-modal__body{
  padding:20px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:22px; align-items:start;
}
.product-modal__gallery{ display:grid; gap:12px; }
.product-modal__mainWrap{
  border:1px solid var(--line); border-radius:24px; overflow:hidden;
  background: color-mix(in srgb, var(--surface) 70%, transparent); aspect-ratio:1/1;
}
.product-modal__main{ width:100%; height:100%; object-fit:cover; display:block; }
.product-modal__thumbs{ display:flex; gap:10px; flex-wrap:wrap; }
.product-modal__thumb{
  width:96px; padding:0; border-radius:16px; border:1px solid var(--line);
  overflow:hidden; background:transparent; cursor:pointer; opacity:.8;
  transition:opacity .2s ease, transform .2s ease, border-color .2s ease;
  display:grid; grid-template-rows:78px auto;
}
.product-modal__thumb:hover,
.product-modal__thumb.is-active{ opacity:1; transform:translateY(-1px); border-color:rgba(225,6,44,.35); }
.product-modal__thumb img{ width:100%; height:78px; object-fit:cover; display:block; }
.product-modal__thumb span{
  display:block; padding:7px 8px; font-size:11px; font-weight:800; line-height:1.25;
  color:var(--muted); background: color-mix(in srgb, var(--surface) 84%, transparent);
}
.product-modal__content{ display:grid; gap:14px; }
.product-modal__badge{
  display:inline-flex; align-items:center; width:max-content; padding:7px 12px;
  border-radius:999px; background:rgba(225,6,44,.14); border:1px solid rgba(225,6,44,.25);
  font-weight:900; color:var(--text);
}
.product-modal__price{ font-size:30px; font-weight:900; line-height:1; }
.product-modal__sku{ font-weight:800; color:var(--muted); }
.product-modal__infoCard{
  display:grid; gap:10px; padding:16px 18px; border:1px solid var(--line);
  border-radius:22px; background: color-mix(in srgb, var(--surface) 80%, transparent);
}
.product-modal__infoTitle{
  font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
}
.product-modal__summary,
.product-modal__variationText,
.product-modal__desc{ margin:0; color:var(--muted); font-weight:600; line-height:1.6; }
.product-modal__summary{ color:var(--text); font-weight:800; }
.product-modal__actions{ display:flex; gap:10px; flex-wrap:wrap; }
.product-modal__actions .btn{ min-width:180px; }

/* Cart */
.cart{ position: fixed; inset: 0; z-index: 80; display:none; }
.cart.is-open{ display:block; }
.cart__backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.55); }
.cart__panel{
  position:absolute;
  right: 0; top: 0; bottom: 0;
  width: min(420px, 100vw);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  border-left: 1px solid var(--line);
  box-shadow: var(--shadow);
  display:flex;
  flex-direction: column;
}
.cart__header{
  padding: 14px;
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--line);
}
.cart__title{ font-weight: 900; font-size: 18px; }
.cart__subtitle{ color: var(--muted); font-weight: 700; font-size: 12px; margin-top: 2px; }
.cart__body{ padding: 14px; overflow:auto; display:flex; flex-direction: column; gap: 12px; }
.cart-item{
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 70%, transparent);
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}
.cart-item__title{ font-weight: 900; margin: 0 0 2px; }
.cart-item__sub{ color: var(--muted); font-weight: 700; font-size: 12px; margin: 0; }
.cart-item__right{ display:flex; flex-direction: column; align-items:flex-end; gap: 8px; }
.qty{
  display:inline-flex; align-items:center; gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 70%, transparent);
}
.qty button{
  width: 26px; height: 26px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  cursor:pointer;
  font-weight: 900;
}
.qty span{ min-width: 14px; text-align:center; font-weight: 900; }
.cart__footer{
  padding: 14px;
  border-top: 1px solid var(--line);
  display:flex;
  flex-direction: column;
  gap: 12px;
}
.cart__totalRow{ display:flex; justify-content: space-between; align-items:center; }
.cart__note{ color: var(--muted2); font-size: 12px; font-weight: 700; margin-top: 4px; }
.cart__actions{ display:flex; flex-direction: column; gap: 10px; }

/* Footer */
.footer{
  border-top: 1px solid var(--line);
  padding: 22px 0;
  background: color-mix(in srgb, var(--surface) 75%, transparent);
}
.footer__inner{
  display:flex; align-items:center; justify-content: space-between;
  gap: 14px; flex-wrap: wrap;
}
.footer__brandBlock{ display:flex; align-items:center; gap: 12px; }
.footer__logo{
  width: 56px; height: 56px;
  object-fit: contain;
  display:block;
}
.footer__brand{ font-weight: 900; letter-spacing: .06em; }
.footer__meta{ color: var(--muted2); font-size: 12px; margin-top: 2px; }
.footer__links{ display:flex; gap: 14px; flex-wrap: wrap; }
.footer__links a{ color: var(--muted); font-weight: 900; font-size: 13px; }
.footer__links a:hover{ color: var(--text); }
.footer__copy{ color: var(--muted2); font-size: 12px; }

/* Back to top */
.to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 44px; height: 44px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  border: 1px solid var(--line);
  color: var(--text);
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(8px);
  pointer-events:none;
  transition: opacity .2s ease, transform .2s ease;
  z-index: 60;
}
.to-top.is-visible{ opacity: 1; transform: translateY(0); pointer-events:auto; }

/* Responsive */
@media (max-width: 980px){
  .grid-3{ grid-template-columns: 1fr; }
  .split{ grid-template-columns: 1fr; }
  .contact{ grid-template-columns: 1fr; }
  .contact__cards{ grid-template-columns: 1fr; }
  .hero__metrics{ grid-template-columns: 1fr; max-width: 520px; }
  .products{ grid-template-columns: 1fr; }
  .product-modal__body{ grid-template-columns: 1fr; }
  .product-modal__panel{ width:min(100vw - 20px, 980px); }
  .map-embed{ height: 300px; }
}
@media (max-width: 820px){
  .nav__toggle{ display:inline-flex; }
  .nav__menu{
    position:absolute;
    right: 20px;
    top: 70px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: min(380px, calc(100vw - 40px));
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 10px;
    box-shadow: var(--shadow);
    display:none;
  }
  .nav__menu.is-open{ display:flex; }
  .nav__link{ padding: 12px 12px; }
  .wa-float__text{ display:none; }
  .wa-float{ padding: 10px; }
}

/* Store + Admin additions */
.section--store{padding-top:32px;}
.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.product-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.product-card__media{aspect-ratio:1/1;background:#111;overflow:hidden;}
.product-card__media img{width:100%;height:100%;object-fit:cover;display:block;}
.product-card__body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.product-card__title{font-size:1.1rem;font-weight:800;margin:0;}
.product-card__excerpt{color:var(--muted);font-size:.95rem;line-height:1.5;flex:1;}
.product-card__price{font-size:1.35rem;font-weight:900;color:var(--red);}
.product-card__meta{display:flex;gap:10px;flex-wrap:wrap;}
.badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--surface-2) 80%, transparent);border:1px solid var(--line);font-size:.8rem;font-weight:700;color:var(--muted);}
.empty-state{padding:24px;border:1px dashed var(--line);border-radius:20px;color:var(--muted);text-align:center;}

.admin-body,.admin-login-body{background:linear-gradient(180deg,#081121 0%,#0f172a 100%);color:#e5e7eb;min-height:100vh;}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;background:transparent;color:#e5e7eb;}
.admin-sidebar{display:flex;flex-direction:column;justify-content:space-between;background:rgba(9,16,31,.96);padding:20px 16px;border-right:1px solid rgba(148,163,184,.18);backdrop-filter:blur(14px);}
.admin-brand{display:flex;flex-direction:column;gap:4px;text-decoration:none;margin-bottom:18px;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(29,78,216,.18),rgba(15,23,42,.9));border:1px solid rgba(96,165,250,.22);}
.admin-brand__eyebrow{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;font-weight:800;}
.admin-brand__name{font-size:1.25rem;font-weight:900;color:#fff;line-height:1.1;}
.admin-brand__tag{font-size:.82rem;color:#cbd5e1;line-height:1.35;}
.admin-menu{display:grid;gap:8px;}
.admin-menu a{color:#dbeafe;text-decoration:none;padding:10px 12px;border-radius:12px;background:#0f172a;border:1px solid rgba(148,163,184,.16);font-weight:700;font-size:.93rem;line-height:1.2;transition:.2s ease;}
.admin-menu a:hover,.admin-menu a.is-active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:#60a5fa;transform:translateY(-1px);}
.admin-sidebar__footer{display:grid;gap:10px;margin-top:12px;}
.admin-usercard{display:grid;gap:2px;padding:12px 14px;border-radius:16px;background:#0f172a;border:1px solid rgba(148,163,184,.14);color:#e2e8f0;}
.admin-usercard__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;font-weight:800;}
.admin-logout{justify-content:center;padding:10px 12px;border-radius:14px;font-size:.95rem;min-height:auto;}
.admin-usercard strong{font-size:.96rem;line-height:1.2;color:#fff;word-break:break-word;}
.admin-usercard span{font-size:.84rem;line-height:1.25;color:#cbd5e1;word-break:break-word;}
.admin-sidebar .btn{padding:10px 12px;border-radius:14px;font-size:.92rem;}
.admin-main{padding:24px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:20px 22px;border-radius:24px;background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.14);box-shadow:0 18px 50px rgba(2,6,23,.24);}
.admin-topbar__title{font-size:1.25rem;font-weight:900;color:#fff;margin-bottom:6px;}
.admin-topbar__text{margin:0;color:#cbd5e1;}
.admin-topbar__actions{flex-wrap:wrap;}
.admin-card{background:#fff;color:#0f172a;border-radius:24px;padding:24px;box-shadow:0 16px 50px rgba(2,6,23,.18);margin-bottom:20px;border:1px solid rgba(226,232,240,.9);}
.admin-card h1,.admin-card h2,.admin-card h3{margin:0 0 10px;color:#0f172a;}
.admin-card p{color:#334155;}
.admin-card--hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start;background:linear-gradient(135deg,#ffffff 0%,#eff6ff 100%);}
.admin-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;}
.admin-chip{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-weight:800;font-size:.8rem;margin-bottom:12px;}
.admin-quicklinks{display:grid;gap:14px;}
.admin-quicklink{display:grid;gap:4px;padding:18px;border-radius:18px;background:#0f172a;color:#fff;text-decoration:none;border:1px solid rgba(148,163,184,.12);}
.admin-quicklink span{color:#cbd5e1;}
.admin-grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start;}
.admin-grid-2--form{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);}
.admin-muted{color:#64748b;}
.kpi-grid--admin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;}
.kpi--admin{background:rgba(255,255,255,.95);border-radius:22px;padding:22px;border:1px solid rgba(226,232,240,.9);box-shadow:0 16px 45px rgba(2,6,23,.16);}
.kpi--admin .kpi__label{color:#64748b;}
.kpi--admin .kpi__value{color:#0f172a;}
.notice{padding:14px 16px;border-radius:14px;margin-bottom:16px;font-weight:700;}
.notice--success{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.notice--error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.table-wrap{overflow:auto;border-radius:18px;border:1px solid #e2e8f0;}
.table{width:100%;border-collapse:collapse;background:#fff;}
.table th,.table td{padding:14px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top;color:#0f172a;}
.table th{background:#f8fafc;font-size:.88rem;text-transform:uppercase;letter-spacing:.03em;color:#475569;position:sticky;top:0;}
.table tr:hover td{background:#f8fbff;}
.table img{width:72px;height:72px;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb;display:block;}
.product-cell{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:start;min-width:270px;}
.product-cell__media{width:72px;height:72px;}
.product-cell__placeholder,.admin-product-item__placeholder,.preview-card__placeholder{width:100%;height:100%;display:grid;place-items:center;background:#e2e8f0;color:#475569;border-radius:14px;font-size:.82rem;text-align:center;padding:10px;}
.product-cell__body{display:grid;gap:4px;}
.status-stack{display:flex;flex-wrap:wrap;gap:8px;}
.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;}
.status-pill--success{background:#dcfce7;color:#166534;}
.status-pill--muted{background:#e2e8f0;color:#475569;}
.status-pill--accent{background:#ede9fe;color:#6d28d9;}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.form-grid .full{grid-column:1/-1;}
.field{display:grid;gap:8px;}
.field--check{display:flex;align-items:center;gap:10px;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;}
.field--check input{width:18px;height:18px;accent-color:#2563eb;}
.field__label{font-weight:800;color:#334155;}
.input,.textarea,.select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid #cbd5e1;background:#fff;font:inherit;color:#0f172a;box-shadow:inset 0 1px 2px rgba(15,23,42,.04);}
.input::placeholder,.textarea::placeholder{color:#94a3b8;}
.input:focus,.textarea:focus,.select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.15);}
.textarea{min-height:150px;resize:vertical;}
.help-text{color:#64748b;font-size:.95rem;line-height:1.45;}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.actions--stack{flex-direction:column;align-items:flex-start;}
.actions--end{justify-content:flex-end;}
.admin-product-list{display:grid;gap:14px;}
.admin-product-item{display:grid;grid-template-columns:82px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;}
.admin-product-item__media{width:82px;height:82px;}
.admin-product-item__media img,.preview-card__media img{width:100%;height:100%;object-fit:cover;border-radius:16px;border:1px solid #e2e8f0;display:block;}
.admin-product-item__body{display:grid;gap:6px;}
.admin-product-item__top{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.admin-product-item__meta{color:#475569;font-weight:700;}
.admin-checklist{display:grid;gap:10px;margin:14px 0 0;padding-left:20px;color:#334155;}
.preview-card{display:grid;gap:14px;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:12px;}
.preview-card__media{width:100%;aspect-ratio:4/3;}
.preview-card__body{display:grid;gap:6px;color:#0f172a;}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#1e3a8a 0%,#081121 45%,#020617 100%);}
.login-card{width:min(100%,460px);background:#fff;border-radius:24px;padding:28px;box-shadow:0 24px 60px rgba(2,6,23,.3);color:#0f172a;border:1px solid rgba(226,232,240,.9);}
.login-card--enhanced{display:grid;gap:12px;}
.login-card__intro h1{margin:0 0 8px;color:#0f172a;}
.table--products td:last-child{min-width:120px;}
@media (max-width:1100px){.admin-shell{grid-template-columns:1fr;}.admin-sidebar{gap:20px;border-right:none;border-bottom:1px solid rgba(148,163,184,.18);}.admin-card--hero,.admin-grid-2,.admin-grid-2--form,.kpi-grid--admin{grid-template-columns:1fr;}.admin-main{padding:18px;}}
@media (max-width:720px){.admin-topbar,.admin-section-head{flex-direction:column;align-items:stretch;}.form-grid{grid-template-columns:1fr;}.product-cell{grid-template-columns:1fr;}.admin-product-item{grid-template-columns:1fr;}.table th,.table td{padding:12px 10px;}}

.preview-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:10px;margin-bottom:12px;}
.preview-gallery__item{aspect-ratio:1/1;border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;background:#fff;}
.preview-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;}


.media-manager{display:grid;gap:14px;padding:16px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc;}
.media-manager--single{grid-template-columns:minmax(140px,180px) 1fr;align-items:start;}
.media-manager--note{grid-template-columns:minmax(140px,180px) 1fr;align-items:center;}
.media-manager__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.media-manager__item{display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;}
.media-manager__thumb{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #e2e8f0;}
.media-manager__thumb--large{max-width:180px;aspect-ratio:4/3;}
.media-manager__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.media-manager__body,.media-manager__meta{display:grid;gap:6px;color:#334155;}
.media-manager__body strong,.media-manager__meta strong{color:#0f172a;}
.media-manager__action{display:flex;align-items:center;gap:8px;font-weight:700;color:#991b1b;}
.media-manager__action input{width:18px;height:18px;accent-color:#dc2626;}
.field--compact{padding:12px 14px;margin-top:8px;}
@media (max-width:720px){.media-manager--single,.media-manager--note{grid-template-columns:1fr;}.media-manager__thumb--large{max-width:none;}}
