/* ================================================================
   sitio.gt V5 App Pro — Design System
   Plan Maestro V30 · Colores actualizados · Compacto · App-like
   ================================================================ */

/* ── TOKENS V30 ── */
:root {
  /* Jade scale */
  --jade-900: #064838;
  --jade-700: #08785F;
  --jade:     #0AAE86;
  --jade-300: #DDF8EE;
  --jade-l:   #E8F5EF;
  --lime:     #20D66B;
  /* WhatsApp */
  --wa:       #25D366;
  --wa-d:     #128C7E;
  --wa-l:     #E7FDF0;
  --wa-m:     #DCF8C6;
  /* Alert */
  --orange:   #FF6B22;
  --orange-l: #FFF0EA;
  --achiote:  #FF493D;
  --maiz:     #FFD447;
  --maiz-l:   #FFFBEB;
  /* Neutrals */
  --ink:      #0F172A;
  --head:     #1A2235;
  --txt:      #374151;
  --muted:    #7A8495;
  --line:     #DDE6F0;
  --bdr:      #E8EAED;
  --bdr-m:    #D1D5DB;
  /* Surfaces */
  --bg:       #F4F7FB;
  --card:     #FFFFFF;
  --bg-s:     #F0F3F8;
  --bg-e:     #E8EDF5;
  /* Blue */
  --blue:     #2563EB;
  --blue-l:   #EFF6FF;
  /* Purple */
  --purple:   #7C3AED;
  --purple-l: #F5F3FF;
  /* Aliases compat */
  --p:        #0AAE86;
  --p-d:      #08785F;
  --p-v:      #20D66B;
  --p-l:      #E8F5EF;
  --a:        #FF6B22;
  --a-l:      #FFF0EA;
  --gold:     #F59E0B;
  /* Shadows */
  --sh-s: 0 1px 6px rgba(15,23,42,.06);
  --sh-m: 0 4px 18px rgba(15,23,42,.10);
  --sh-l: 0 8px 40px rgba(15,23,42,.15);
  /* Radii */
  --r-s:  8px;
  --r:    12px;
  --r-m:  14px;
  --r-l:  18px;
  --r-xl: 24px;
  /* Typography */
  --fd: "Plus Jakarta Sans","Poppins",-apple-system,BlinkMacSystemFont,sans-serif;
  --fb: "DM Sans","Inter",-apple-system,BlinkMacSystemFont,sans-serif;
  /* Layout */
  --nav-h: 68px;
  --hdr-h: 108px;
}

/* ── BASE ── */
*, *::before, *::after { box-sizing: border-box; }
body.sitio-gt {
  font-family: var(--fb);
  color: var(--txt);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0; padding: 0;
}
body.sitio-gt h1,
body.sitio-gt h2,
body.sitio-gt h3,
body.sitio-gt h4 {
  font-family: var(--fd);
  font-weight: 800;
  color: var(--head);
  line-height: 1.2;
  margin: 0;
}
body.sitio-gt a { color: var(--jade); text-decoration: none; }
button { cursor: pointer; font-family: inherit; border: none; transition: transform .15s ease, box-shadow .15s ease; }
button:active { transform: scale(.96); }

/* iOS zoom fix — CRÍTICO: font-size ≥ 16px en inputs */
body.sitio-gt input,
body.sitio-gt input[type="text"],
body.sitio-gt input[type="search"],
body.sitio-gt input[type="email"],
body.sitio-gt input[type="tel"],
body.sitio-gt input[type="number"],
body.sitio-gt input[type="password"],
body.sitio-gt select,
body.sitio-gt textarea {
  font-size: 16px !important;
  -webkit-text-size-adjust: 100%;
}
/* Scrollbar oculto */
body.sitio-gt * { scrollbar-width: none; }
body.sitio-gt *::-webkit-scrollbar { display: none; }

/* ================================================================
   V5.5 FIX: OCULTAR REHUB EN TODA LA EXPERIENCIA SITIO
   Aplicado SIEMPRE (mobile + desktop), no solo en mobile.
   El child theme tiene su propio header (#sitio-desk-hdr y #sitio-hdr).
   Antes solo se ocultaba en mobile y se colaba en cualquier viewport.
   ================================================================ */
html body.sitio-gt #site-header,
html body.sitio-gt #masthead,
html body.sitio-gt .site-header,
html body.sitio-gt header.site-header,
html body.sitio-gt .rehub_header,
html body.sitio-gt #header,
html body.sitio-gt .rh-header-wrap,
html body.sitio-gt .rehub-top-panel,
html body.sitio-gt .top-header,
html body.sitio-gt .header-wrap,
html body.sitio-gt .custom-header,
html body.sitio-gt #main-nav,
html body.sitio-gt .rh-menu-wrap,
html body.sitio-gt .header-logo-wrap,
html body.sitio-gt .header-banner-wrap,
html body.sitio-gt .elementor-location-header,
html body.sitio-gt .site-header-inner,
html body.sitio-gt .breadcrumb_wrap,
html body.sitio-gt .rehub-breadcrumb,
html body.sitio-gt #breadcrumbs,
html body.sitio-gt .woocommerce-breadcrumb,
html body.sitio-gt .wrap-navigation,
html body.sitio-gt #site-navigation,
html body.sitio-gt nav.site-navigation,
html body.sitio-gt .rh-navigation,
html body.sitio-gt footer#colophon,
html body.sitio-gt footer.site-footer,
html body.sitio-gt #colophon,
html body.sitio-gt .site-footer,
html body.sitio-gt .footer-widgets,
html body.sitio-gt .footer-bar,
html body.sitio-gt #footer,
html body.sitio-gt .colophon,
html body.sitio-gt .rh_single_sticky,
html body.sitio-gt .rehub-sticky-bar,
html body.sitio-gt .back-to-top,
html body.sitio-gt .scroll-top-btn,
html body.sitio-gt #header-banner,
html body.sitio-gt .header-toolbar,
html body.sitio-gt .top-bar,
html body.sitio-gt .top-bar-wrap,
html body.sitio-gt .mobile-menu,
html body.sitio-gt .mobile-nav,
html body.sitio-gt .rh-mobile-menu,
html body.sitio-gt .rh-mobile-header,
html body.sitio-gt #wpadminbar { display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important; }

/* Reset de contenedores nativos */
html body.sitio-gt .site-content,
html body.sitio-gt #primary,
html body.sitio-gt #content,
html body.sitio-gt .content-area,
html body.sitio-gt main,
html body.sitio-gt #main,
html body.sitio-gt .container,
html body.sitio-gt .row { margin: 0 !important; padding: 0 !important; max-width: 100% !important; width: 100% !important; float: none !important; }

html body.sitio-gt { margin-top: 0 !important; padding-top: 0 !important; }

/* ================================================================
   MOBILE ≤768px — APP LAYOUT
   ================================================================ */
@media (max-width: 768px) {
  /* (Reglas duplicadas removidas — ya están globales arriba) */

  body.sitio-gt { background: var(--bg); }
  body.sitio-gt .site-content,
  body.sitio-gt #primary,
  body.sitio-gt #content,
  body.sitio-gt .content-area,
  body.sitio-gt main,
  body.sitio-gt #main {
    margin: 0 !important; padding: 0 !important;
    width: 100% !important; max-width: 100% !important;
    float: none !important;
  }

  #sitio-app { max-width: 430px; margin: 0 auto; min-height: 100vh; overflow-x: hidden; }
  .sitio-page { padding-bottom: calc(var(--nav-h) + 16px); }

  /* ── MOBILE HEADER ── */
  #sitio-hdr {
    position: sticky; top: 0; z-index: 200;
    background: var(--card);
    padding: 9px 14px 8px;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--sh-s);
    width: 100%;
  }
  body.admin-bar #sitio-hdr { top: 46px; }
  .sitio-hdr-top {
    display: flex; align-items: center;
    justify-content: space-between; margin-bottom: 8px;
  }
  .sitio-logo {
    font-family: var(--fd); font-weight: 900;
    font-size: 21px; color: var(--head);
    text-decoration: none; display: flex; align-items: baseline; gap: 1px;
  }
  .sitio-logo .l-inf  { color: var(--jade); font-size: 24px; }
  .sitio-logo .l-name { color: var(--jade); }
  .sitio-logo .l-tld  { color: var(--muted); font-weight: 600; }
  .sitio-hdr-icons { display: flex; align-items: center; gap: 6px; }
  .sitio-icon-btn {
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--bg-s); border: 1px solid var(--line);
    font-size: 14px; display: flex; align-items: center; justify-content: center;
    position: relative; text-decoration: none; color: var(--head); cursor: pointer;
  }
  .sitio-notif { position: absolute; top: 0; right: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); border: 2px solid var(--card); }
  .sitio-userav {
    width: 34px; height: 34px; border-radius: 50%;
    background: linear-gradient(135deg, var(--jade-700), var(--lime));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-family: var(--fd); font-weight: 700; font-size: 13px;
    text-decoration: none; flex-shrink: 0;
  }
  .sitio-search-bar {
    display: flex; align-items: center; gap: 8px;
    background: var(--bg-s); border: 1.5px solid var(--bdr-m);
    border-radius: 999px; padding: 8px 14px; cursor: pointer;
    transition: border-color .2s;
  }
  .sitio-search-bar:focus-within { border-color: var(--jade); }
  .sitio-search-ph { flex: 1; font-size: 13px; color: var(--muted); }
  .sitio-search-go {
    background: var(--jade); color: #fff; border: none;
    border-radius: var(--r-s); padding: 4px 10px;
    font-size: 10px; font-weight: 700; font-family: var(--fd); cursor: pointer;
  }

  /* ── BOTTOM NAV — position:fixed estable ── */
  #sitio-nav {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 300;
    background: var(--card); border-top: 1px solid var(--line);
    box-shadow: 0 -2px 16px rgba(15,23,42,.08);
    padding-bottom: max(10px, env(safe-area-inset-bottom));
  }
  .sitio-nav-inner {
    max-width: 430px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(5, 1fr);
    padding: 6px 0 0;
  }
  .sitio-nav-it {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 3px 0; background: transparent; border: none;
    text-decoration: none; color: inherit; cursor: pointer;
  }
  .sitio-nav-pill {
    width: 40px; height: 26px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center;
    position: relative; transition: background .2s;
  }
  .sitio-nav-it.active .sitio-nav-pill { background: var(--jade-l); }
  .sitio-nav-ic { font-size: 17px; line-height: 1; }
  .sitio-nav-lbl { font-size: 9px; font-weight: 700; font-family: var(--fd); color: var(--muted); }
  .sitio-nav-it.active .sitio-nav-lbl { color: var(--jade); }
  .sitio-nav-fab-wrap {
    display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer;
  }
  .sitio-nav-fab {
    width: 44px; height: 44px; border-radius: 50%;
    background: linear-gradient(135deg, var(--jade-700), var(--lime));
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; margin-top: -12px;
    box-shadow: 0 4px 14px rgba(10,174,134,.45);
    transition: transform .2s, box-shadow .2s;
  }
  .sitio-nav-fab:active { transform: scale(.9); }
  .sitio-nav-bdg {
    position: absolute; top: -5px; right: -4px;
    background: var(--orange); color: #fff; font-size: 8px; font-weight: 700;
    min-width: 16px; height: 16px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    padding: 0 3px; font-family: var(--fd); border: 1.5px solid var(--card);
  }
  /* WA Float */
  .sitio-wa-float {
    position: fixed; bottom: calc(var(--nav-h) + 10px); right: 14px;
    width: 50px; height: 50px; border-radius: 50%;
    background: var(--wa); border: 3px solid var(--card);
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; z-index: 250;
    box-shadow: 0 4px 20px rgba(37,211,102,.5);
    text-decoration: none;
    animation: wa-pulse 2.5s ease-in-out infinite;
  }
  @keyframes wa-pulse {
    0%, 100% { box-shadow: 0 4px 20px rgba(37,211,102,.5); }
    50%       { box-shadow: 0 6px 30px rgba(37,211,102,.75); }
  }
}

/* ================================================================
   DESKTOP ≥769px
   ================================================================ */
@media (min-width: 769px) {
  #sitio-nav, .sitio-wa-float, #sitio-hdr { display: none !important; }

  #sitio-desk-hdr {
    background: var(--card); border-bottom: 1px solid var(--line);
    padding: 0 24px; display: flex; align-items: center; gap: 14px;
    height: 60px; position: sticky; top: 0; z-index: 200;
    box-shadow: var(--sh-s);
  }
  body.admin-bar #sitio-desk-hdr { top: 32px; }
  .sitio-desk-logo {
    font-family: var(--fd); font-weight: 900; font-size: 21px;
    color: var(--head); text-decoration: none;
    display: flex; align-items: baseline; gap: 1px; flex-shrink: 0;
  }
  .sitio-desk-logo .l-inf  { color: var(--jade); font-size: 24px; }
  .sitio-desk-logo .l-name { color: var(--jade); }
  .sitio-desk-logo .l-tld  { color: var(--muted); }
  .sitio-desk-search {
    flex: 1; max-width: 480px;
    background: var(--bg-s); border: 1.5px solid var(--bdr-m);
    border-radius: 999px; display: flex; align-items: center;
    gap: 8px; padding: 7px 14px; cursor: pointer; transition: border-color .2s;
  }
  .sitio-desk-search:focus-within { border-color: var(--jade); }
  .sitio-desk-search input {
    flex: 1; border: none; background: transparent; outline: none;
    font-size: 13px; font-family: var(--fb); color: var(--head);
  }
  .sitio-desk-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
  .sitio-desk-nav a, .sitio-desk-nav button {
    display: flex; align-items: center; gap: 5px;
    padding: 7px 13px; background: transparent;
    border: 1px solid var(--line); border-radius: var(--r-s);
    font-family: var(--fd); font-weight: 600; font-size: 12px;
    color: var(--head); text-decoration: none; cursor: pointer;
    transition: all .2s; white-space: nowrap; position: relative;
  }
  .sitio-desk-nav a:hover, .sitio-desk-nav button:hover { border-color: var(--jade); color: var(--jade); }
  .sitio-desk-nav .d-primary { background: var(--jade); color: #fff !important; border-color: var(--jade); }
  .sitio-desk-nav .d-primary:hover { background: var(--jade-700); }
  .sitio-desk-nav .d-av {
    width: 32px; height: 32px; border-radius: 50%;
    background: linear-gradient(135deg, var(--jade-700), var(--lime));
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 700; font-size: 12px; font-family: var(--fd);
  }

  #sitio-app { max-width: 1280px; margin: 0 auto; padding: 20px 24px 40px; }
  .sitio-page { padding-bottom: 0; }
  .sitio-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .sitio-grid-4 { grid-template-columns: repeat(4, 1fr); }
  .sitio-carousel > .gt-card { width: 210px; }
  .sitio-hero { min-height: 280px; }
  .sitio-hero-slide { min-height: 280px; }
}

/* ================================================================
   SHARED COMPONENTS
   ================================================================ */

/* Grids */
.sitio-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 10px; padding: 10px 12px 14px;
}

/* ── GT CARD ── */
.gt-card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r-m); overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: var(--sh-s); transition: transform .2s, box-shadow .2s;
  text-decoration: none; color: inherit; position: relative;
}
.gt-card:hover { transform: translateY(-2px); box-shadow: var(--sh-m); }
.gt-card-img {
  height: 132px; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg-e); flex-shrink: 0;
}
.gt-card-img img { width: 100%; height: 100%; object-fit: cover; }
.gt-card-body { padding: 9px 10px 11px; display: flex; flex-direction: column; flex: 1; }
.gt-card-store { font-size: 9px; color: var(--muted); margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gt-card-title { font-size: 12px; font-weight: 600; line-height: 1.35; margin-bottom: 3px; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gt-card-price { font-family: var(--fd); font-weight: 800; font-size: 15px; color: var(--jade); margin: 3px 0 7px; }
.gt-card-price del { font-size: 10px; color: var(--muted); margin-left: 4px; font-weight: 400; }
.gt-save-btn {
  position: absolute; top: 7px; right: 7px; z-index: 2;
  background: rgba(255,255,255,.92); border: none;
  width: 28px; height: 28px; border-radius: 50%; font-size: 13px;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--sh-s); cursor: pointer;
}
.gt-stock-low {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(255,73,61,.88); text-align: center;
  font-size: 9px; font-weight: 700; font-family: var(--fd);
  color: #fff; padding: 3px;
}
.gt-badge {
  display: inline-flex; align-items: center; gap: 2px;
  font-size: 9px; font-weight: 700; font-family: var(--fd);
  padding: 2px 7px; border-radius: 999px; white-space: nowrap;
}
.gt-badge-tl { position: absolute; top: 7px; left: 7px; z-index: 1; }

/* ── BUTTONS ── */
.btn-wa {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  background: linear-gradient(90deg, var(--wa-d), var(--wa));
  color: #fff !important; font-family: var(--fd) !important;
  font-weight: 800; font-size: 12px; padding: 11px;
  border: none; border-radius: var(--r); width: 100%;
  box-shadow: 0 3px 12px rgba(37,211,102,.28);
  transition: all .2s; text-decoration: none; cursor: pointer;
}
.btn-wa:hover { transform: translateY(-1px); box-shadow: 0 5px 18px rgba(37,211,102,.42); color: #fff !important; }
.btn-wa.lg { font-size: 14px; padding: 14px; }
.btn-wa.sm { font-size: 11px; padding: 9px; }
.btn-consult {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  background: var(--wa-l); color: var(--wa-d) !important;
  font-family: var(--fd); font-weight: 700; font-size: 11px;
  padding: 8px; border: 1.5px solid var(--wa); border-radius: var(--r);
  width: 100%; transition: all .2s; cursor: pointer;
}
.btn-consult:hover { background: var(--wa); color: #fff !important; }
.btn-primary {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  background: var(--jade); color: #fff !important;
  font-family: var(--fd); font-weight: 700; font-size: 13px;
  padding: 12px 18px; border: none; border-radius: var(--r);
  transition: all .2s; text-decoration: none; cursor: pointer; width: 100%;
}
.btn-primary:hover { background: var(--jade-700); color: #fff !important; }
.btn-outline {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  background: transparent; color: var(--head);
  font-family: var(--fd); font-weight: 600; font-size: 12px;
  padding: 9px 14px; border: 1.5px solid var(--bdr-m);
  border-radius: var(--r); transition: all .2s; cursor: pointer; width: 100%;
}
.btn-outline:hover { border-color: var(--jade); color: var(--jade); }
.btn-cart {
  display: flex; align-items: center; justify-content: center; gap: 4px;
  background: var(--bg-e); color: var(--txt);
  font-family: var(--fd); font-weight: 600; font-size: 10px;
  padding: 8px; border: 1px solid var(--bdr-m); border-radius: var(--r);
  width: 100%; transition: all .2s; cursor: pointer;
}
.btn-cart.in-cart { background: var(--jade-l); color: var(--jade); border-color: var(--jade); }

/* ── SECTION ── */
.sitio-sec { background: var(--card); margin-top: 8px; }
.sitio-sec-pad { padding: 14px 14px 8px; }
.sitio-sec-hdr { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.sitio-sec-title { font-family: var(--fd); font-weight: 800; font-size: 15px; color: var(--head); }
.sitio-sec-sub { font-size: 10px; color: var(--muted); margin-top: 1px; }
.sitio-see-all { font-size: 12px; color: var(--jade); font-weight: 700; font-family: var(--fd); text-decoration: none; white-space: nowrap; flex-shrink: 0; }

/* ── STORIES ── */
.sitio-stories { background: var(--card); border-bottom: 1px solid var(--line); }
.sitio-stories-row { display: flex; gap: 11px; overflow-x: auto; padding: 10px 12px; }
.sitio-story { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; cursor: pointer; text-decoration: none; }
.sitio-story-av {
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-family: var(--fd); font-weight: 800; font-size: 18px;
  overflow: hidden; flex-shrink: 0;
}
.sitio-story-av img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.sitio-story-av.ring-jade { box-shadow: 0 0 0 2.5px var(--jade), 0 0 0 4px var(--jade-l); }
.sitio-story-av.ring-none { box-shadow: 0 0 0 2px var(--line); }
.sitio-story-av.ring-flash { box-shadow: 0 0 0 2.5px var(--orange); }
.sitio-story-lbl { font-size: 9px; font-weight: 600; font-family: var(--fd); color: var(--head); max-width: 54px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── HERO CAROUSEL ── */
.sitio-hero { border-radius: var(--r-xl); overflow: hidden; margin: 8px 12px 0; position: relative; min-height: 190px; }
.sitio-hero-slide { display: none; flex-direction: column; justify-content: flex-end; min-height: 190px; padding: 16px; position: relative; }
.sitio-hero-slide.active { display: flex; }
.sitio-hero-em { position: absolute; right: 12px; top: 10px; font-size: 64px; opacity: .88; filter: drop-shadow(0 4px 10px rgba(0,0,0,.3)); pointer-events: none; }
.sitio-hero-tag { background: rgba(255,255,255,.18); color: #fff; font-size: 9px; font-weight: 700; font-family: var(--fd); padding: 2px 9px; border-radius: 999px; width: fit-content; margin-bottom: 5px; backdrop-filter: blur(4px); }
.sitio-hero-h { font-family: var(--fd); font-weight: 800; font-size: 17px; color: #fff; line-height: 1.2; margin-bottom: 3px; max-width: 70%; text-shadow: 0 1px 5px rgba(0,0,0,.25); }
.sitio-hero-p { font-size: 11px; color: rgba(255,255,255,.78); margin-bottom: 10px; }
.sitio-hero-btn { background: #fff; border: none; border-radius: 999px; padding: 7px 15px; font-family: var(--fd); font-weight: 700; font-size: 11px; cursor: pointer; width: fit-content; box-shadow: 0 2px 10px rgba(0,0,0,.18); transition: transform .2s; }
.sitio-hero-btn:hover { transform: scale(1.03); }
.sitio-dots { display: flex; gap: 5px; justify-content: center; padding: 7px 0 2px; }
.sitio-dot { width: 6px; height: 6px; border-radius: 3px; background: var(--bdr-m); cursor: pointer; transition: all .3s; }
.sitio-dot.active { width: 20px; background: var(--jade); }

/* ── FLASH SALE ── */
.sitio-flash { background: var(--card); border-radius: var(--r-l); overflow: hidden; border: 1px solid var(--line); margin: 8px 12px 0; box-shadow: var(--sh-s); }
.sitio-flash-hdr { background: linear-gradient(90deg, #C2410C, var(--orange)); padding: 9px 12px; display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.sitio-flash-ttl { font-family: var(--fd); font-weight: 800; font-size: 14px; color: #fff; }
.sitio-cd-wrap { display: flex; gap: 3px; align-items: center; }
.sitio-cd { background: rgba(0,0,0,.55); color: #fff; font-family: var(--fd); font-weight: 800; font-size: 13px; width: 26px; height: 26px; border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.sitio-cd-sep { color: #fff; font-weight: 800; font-size: 13px; }
.sitio-flash-items { display: flex; gap: 8px; overflow-x: auto; padding: 10px 12px; }
.sitio-flash-card { flex-shrink: 0; width: 108px; cursor: pointer; text-decoration: none; color: inherit; }
.sitio-flash-thumb { height: 78px; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; font-size: 32px; background: var(--bg-e); margin-bottom: 5px; position: relative; }
.sitio-flash-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sitio-flash-name { font-size: 10px; font-weight: 600; font-family: var(--fd); line-height: 1.2; color: var(--head); margin-bottom: 2px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sitio-flash-price { font-family: var(--fd); font-weight: 800; font-size: 13px; color: var(--orange); }
.sitio-flash-old { font-size: 9px; color: var(--muted); text-decoration: line-through; }

/* ── TRUST ── */
.sitio-trust { display: flex; gap: 7px; overflow-x: auto; padding: 8px 12px; }
.sitio-trust-pill { flex-shrink: 0; background: var(--card); border: 1px solid var(--line); border-radius: 999px; padding: 5px 11px; font-size: 11px; color: var(--txt); white-space: nowrap; display: flex; align-items: center; gap: 4px; box-shadow: var(--sh-s); }

/* ── STORES ROW ── */
.sitio-stores-row { display: flex; gap: 7px; overflow-x: auto; padding: 0 0 4px; }
.sitio-store-sm {
  flex-shrink: 0; width: 84px; background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r-m); padding: 10px 6px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  cursor: pointer; box-shadow: var(--sh-s); text-decoration: none; transition: transform .2s;
}
.sitio-store-sm:hover { transform: translateY(-2px); }

/* ── AV ── */
.sitio-av { border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--fd); font-weight: 800; overflow: hidden; flex-shrink: 0; }
.sitio-av img { width: 100%; height: 100%; object-fit: cover; }
.sitio-av-sm  { width: 36px;  height: 36px;  font-size: 14px; }
.sitio-av-md  { width: 48px;  height: 48px;  font-size: 18px; }
.sitio-av-lg  { width: 64px;  height: 64px;  font-size: 24px; border-radius: 16px; }
.sitio-av-xl  { width: 72px;  height: 72px;  font-size: 28px; border-radius: 20px; }

/* ── CAROUSEL ── */
.sitio-carousel-wrap { position: relative; overflow: hidden; }
.sitio-carousel { display: flex; gap: 9px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 12px 4px; }
.sitio-carousel > .gt-card { flex-shrink: 0; width: 150px; scroll-snap-align: start; }

/* ── RECENTLY VIEWED ── */
.sitio-rv-row { display: flex; gap: 9px; overflow-x: auto; padding: 0 0 4px; }
.sitio-rv-item { flex-shrink: 0; width: 98px; cursor: pointer; text-decoration: none; color: inherit; }
.sitio-rv-thumb { height: 72px; border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--bg-e); margin-bottom: 4px; }
.sitio-rv-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sitio-rv-name { font-size: 10px; font-weight: 600; color: var(--head); line-height: 1.3; margin-bottom: 1px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sitio-rv-price { font-family: var(--fd); font-weight: 700; font-size: 11px; color: var(--jade); }

/* ── MODE/FILTERS ── */
.sitio-mode-bar { background: var(--card); padding: 10px 12px 0; border-bottom: 1px solid var(--line); position: sticky; top: 108px; z-index: 10; }
.sitio-mode-toggle { display: flex; background: var(--bg-s); border-radius: 11px; padding: 3px; gap: 3px; margin-bottom: 8px; }
.sitio-mode-btn { flex: 1; padding: 7px; background: transparent; border: none; border-radius: 8px; font-family: var(--fd); font-weight: 700; font-size: 11px; color: var(--muted); cursor: pointer; transition: all .2s; }
.sitio-mode-btn.active { background: var(--card); color: var(--jade); box-shadow: var(--sh-s); }
.sitio-sort-row { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 9px; }
.sitio-sort-chip { flex-shrink: 0; background: transparent; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: 5px 10px; font-family: var(--fd); font-weight: 600; font-size: 10px; cursor: pointer; transition: all .2s; }
.sitio-sort-chip.active { background: var(--jade-l); color: var(--jade); border-color: var(--jade); }
.sitio-cat-row { display: flex; gap: 5px; overflow-x: auto; padding-bottom: 9px; }
.sitio-cat-chip { flex-shrink: 0; border-radius: 999px; padding: 5px 12px; font-family: var(--fd); font-weight: 700; font-size: 10px; cursor: pointer; transition: all .2s; border: 1.5px solid var(--line); background: var(--bg-s); color: var(--txt); }
.sitio-cat-chip.active { color: #fff; border-color: transparent; }
.sitio-filter-btn { display: flex; align-items: center; gap: 4px; background: var(--bg-e); border: 1.5px solid var(--bdr-m); border-radius: var(--r-s); padding: 5px 10px; font-family: var(--fd); font-weight: 600; font-size: 10px; color: var(--txt); cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.sitio-filter-cnt { background: var(--jade); color: #fff; border-radius: 999px; padding: 0 5px; font-size: 9px; }

/* ── FILTER DRAWER ── */
#sitio-drawer { display: none; position: fixed; inset: 0; z-index: 500; }
#sitio-drawer.open { display: block; }
.sitio-drawer-ov { position: absolute; inset: 0; background: rgba(15,23,42,.45); backdrop-filter: blur(3px); }
.sitio-drawer-sheet {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: 520px; background: var(--card);
  border-radius: var(--r-xl) var(--r-xl) 0 0; max-height: 84vh; overflow-y: auto;
  box-shadow: var(--sh-l); animation: slide-up .26s ease;
}
@keyframes slide-up { from { transform: translateX(-50%) translateY(100%); } to { transform: translateX(-50%) translateY(0); } }
.sitio-drawer-handle { width: 36px; height: 4px; border-radius: 2px; background: var(--bdr-m); margin: 10px auto 0; }
.sitio-drawer-hdr { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--card); z-index: 1; }
.sitio-drawer-ttl { font-family: var(--fd); font-weight: 800; font-size: 17px; }
.sitio-f-section { margin-bottom: 16px; }
.sitio-f-lbl { font-family: var(--fd); font-weight: 700; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px; }
.sitio-f-chips { display: flex; gap: 5px; flex-wrap: wrap; }
.sitio-fchip { background: var(--bg-s); color: var(--txt); border: 1.5px solid var(--line); border-radius: 999px; padding: 5px 12px; font-family: var(--fd); font-weight: 700; font-size: 11px; cursor: pointer; transition: all .2s; }
.sitio-fchip.active { background: var(--jade); color: #fff; border-color: var(--jade); }
.sitio-drawer-foot { display: grid; grid-template-columns: 1fr 2fr; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); position: sticky; bottom: 0; background: var(--card); }

/* ── BRIDGE / WA MODAL ── */
#sitio-bridge { display: none; position: fixed; inset: 0; z-index: 600; flex-direction: column; justify-content: flex-end; max-width: 520px; margin: 0 auto; left: 50%; transform: translateX(-50%); width: 100%; }
#sitio-bridge.open { display: flex; }
.sitio-bridge-ov { flex: 1; background: rgba(15,23,42,.55); backdrop-filter: blur(4px); }
.sitio-bridge-sheet { background: var(--card); border-radius: var(--r-xl) var(--r-xl) 0 0; max-height: 90vh; overflow-y: auto; box-shadow: var(--sh-l); padding-bottom: 28px; animation: bridge-up .26s ease; }
@keyframes bridge-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
.sitio-bridge-handle { width: 36px; height: 4px; border-radius: 2px; background: var(--bdr-m); margin: 10px auto 0; }
.sitio-bridge-body { padding: 14px 16px; }
.sitio-bridge-why { background: var(--wa-l); border: 1.5px solid rgba(37,211,102,.25); border-radius: var(--r-m); padding: 10px 12px; margin-bottom: 12px; display: flex; gap: 9px; align-items: flex-start; }
.sitio-wa-preview { background: #E5DDD5; border-radius: var(--r-m); padding: 10px; margin-bottom: 11px; }
.sitio-wa-lbl { font-size: 9px; font-weight: 700; font-family: var(--fd); color: var(--muted); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 7px; }
.sitio-wa-bubble { background: var(--wa-m); border-radius: 12px 12px 2px 12px; padding: 9px 11px; max-width: 92%; margin-left: auto; box-shadow: 0 1px 2px rgba(0,0,0,.1); }
.sitio-wa-txt { font-size: 12px; color: var(--head); line-height: 1.55; white-space: pre-wrap; }
.sitio-bridge-perks { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 14px; }
.sitio-bridge-perk { background: var(--bg-s); border: 1px solid var(--line); border-radius: 10px; padding: 9px; }
.sitio-bridge-sent { padding: 36px 24px; text-align: center; }
.sitio-sent-icon { width: 86px; height: 86px; border-radius: 50%; background: var(--wa-l); border: 3px solid var(--wa); display: flex; align-items: center; justify-content: center; font-size: 36px; margin: 0 auto 14px; animation: pop-in .4s ease; }
@keyframes pop-in { 0% { transform: scale(.4); opacity: 0; } 80% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }

/* ── SEARCH OVERLAY ── */
#sitio-search { display: none; position: fixed; inset: 0; z-index: 600; background: var(--card); flex-direction: column; }
#sitio-search.open { display: flex; }
.sitio-search-hdr { display: flex; gap: 9px; align-items: center; padding: 11px 14px; border-bottom: 1px solid var(--line); }
.sitio-search-inp-wrap { flex: 1; background: var(--bg-s); border: 1.5px solid var(--jade); border-radius: 999px; display: flex; align-items: center; gap: 7px; padding: 8px 13px; }
.sitio-search-inp-wrap input { flex: 1; border: none; background: transparent; font-size: 16px !important; font-family: var(--fb); color: var(--head); outline: none; }
.sitio-search-back { background: var(--bg-e); border: none; width: 34px; height: 34px; border-radius: 50%; font-size: 15px; flex-shrink: 0; cursor: pointer; }
.sitio-search-body { overflow-y: auto; flex: 1; padding: 14px; }

/* ── ONBOARDING ── */
.sitio-onboarding { display: none; position: fixed; inset: 0; z-index: 9999; background: var(--jade-900); flex-direction: column; align-items: center; justify-content: center; }
.sitio-onboarding.open { display: flex; }
.sitio-ob-slide { display: none; text-align: center; padding: 32px 28px; width: 100%; max-width: 400px; }
.sitio-ob-slide.active { display: block; }
.sitio-ob-icon { font-size: 72px; margin-bottom: 20px; display: block; }
.sitio-ob-h { font-family: var(--fd); font-weight: 800; font-size: 24px; color: #fff; margin-bottom: 10px; }
.sitio-ob-p { font-size: 14px; color: rgba(255,255,255,.78); line-height: 1.6; max-width: 280px; margin: 0 auto; }
.sitio-ob-dots { display: flex; gap: 7px; justify-content: center; margin: 28px 0 18px; }
.sitio-ob-dot { width: 8px; height: 8px; border-radius: 4px; background: rgba(255,255,255,.35); transition: all .3s; }
.sitio-ob-dot.active { width: 22px; background: #fff; }
.sitio-ob-next {
  background: #fff; color: var(--jade-900); border: none; border-radius: 999px;
  padding: 14px 36px; font-family: var(--fd); font-weight: 800; font-size: 15px;
  cursor: pointer; width: calc(100% - 56px); max-width: 320px;
  display: block; margin: 0 auto;
  pointer-events: auto !important; position: relative; z-index: 10000;
}
.sitio-ob-skip {
  background: none; border: none; color: rgba(255,255,255,.55); font-size: 13px;
  margin-top: 12px; cursor: pointer; font-family: var(--fd);
  display: block; pointer-events: auto !important; position: relative; z-index: 10000; padding: 8px 20px;
}

/* ── PRODUCT SINGLE ── */
.sitio-ph-back, .sitio-ph-save {
  position: absolute; z-index: 5; background: rgba(255,255,255,.92);
  border: none; width: 36px; height: 36px; border-radius: 50%;
  font-size: 15px; cursor: pointer; box-shadow: var(--sh-m);
  display: flex; align-items: center; justify-content: center; text-decoration: none;
}
.sitio-ph-back { top: 12px; left: 12px; }
.sitio-ph-save { top: 12px; right: 12px; }
.sitio-product-price { font-family: var(--fd); font-weight: 800; font-size: 28px; color: var(--jade); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 9px 0 7px; }
.sitio-product-price del { font-size: 14px; color: var(--muted); font-weight: 400; }
.sitio-tabs { display: flex; border-bottom: 1px solid var(--line); margin-bottom: 11px; }
.sitio-tab-btn { flex: 1; padding: 9px 0; background: transparent; border: none; border-bottom: 2.5px solid transparent; font-family: var(--fd); font-weight: 700; font-size: 11px; color: var(--muted); cursor: pointer; }
.sitio-tab-btn.active { border-bottom-color: var(--jade); color: var(--jade); }
.sitio-tab-pane { display: none; }
.sitio-tab-pane.active { display: block; }
.sitio-vendor-chip { display: flex; align-items: center; gap: 10px; background: var(--bg-s); border: 1px solid var(--line); border-radius: var(--r-m); padding: 11px; cursor: pointer; text-decoration: none; color: inherit; transition: border-color .2s; }
.sitio-vendor-chip:hover { border-color: var(--jade); }
.sitio-sticky-cta { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 520px; background: var(--card); border-top: 1px solid var(--line); padding: 10px 14px; padding-bottom: max(12px, env(safe-area-inset-bottom)); box-shadow: 0 -4px 20px rgba(0,0,0,.09); z-index: 100; }

/* ── STORE PAGE ── */
.sitio-store-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); overflow: hidden; }
.sitio-store-stat { background: var(--card); padding: 10px 4px; text-align: center; }
.sitio-stat-num { font-family: var(--fd); font-weight: 800; font-size: 14px; line-height: 1; }
.sitio-stat-lbl { font-size: 9px; color: var(--muted); text-transform: uppercase; letter-spacing: .3px; margin-top: 2px; }
.sitio-store-actions { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; padding: 11px 12px; background: var(--card); }
.sitio-store-search { margin: 8px 12px; background: var(--bg-s); border: 1.5px solid var(--bdr-m); border-radius: 999px; display: flex; align-items: center; gap: 7px; padding: 8px 12px; }
.sitio-store-search input { flex: 1; border: none; background: transparent; font-size: 16px !important; font-family: var(--fb); color: var(--head); outline: none; }
.sitio-store-tabs { display: flex; background: var(--card); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.sitio-store-tab { flex: 1; padding: 10px 0; background: transparent; border: none; border-bottom: 2.5px solid transparent; font-family: var(--fd); font-weight: 700; font-size: 11px; color: var(--muted); cursor: pointer; }
.sitio-store-tab.active { border-bottom-color: var(--jade); color: var(--jade); }
.sitio-store-cats { display: flex; gap: 6px; overflow-x: auto; padding: 9px 12px; background: var(--card); border-bottom: 1px solid var(--line); }
.sitio-store-cat-chip { flex-shrink: 0; border-radius: 999px; padding: 5px 12px; font-family: var(--fd); font-weight: 700; font-size: 10px; cursor: pointer; transition: all .2s; border: 1.5px solid var(--line); background: var(--bg-s); color: var(--txt); }
.sitio-store-cat-chip.active { background: var(--jade); color: #fff; border-color: var(--jade); }

/* ── SHIPPING ── */
.sitio-ship-list { display: flex; flex-direction: column; gap: 6px; }
.sitio-ship-opt { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border-radius: var(--r); border: 1.5px solid var(--line); background: var(--card); cursor: pointer; transition: all .2s; }
.sitio-ship-opt.selected { background: var(--jade-l); border-color: var(--jade); }
.sitio-free-bar { background: var(--bg-e); border: 1px solid var(--line); border-radius: var(--r); padding: 9px 11px; }
.sitio-free-bar.ok { background: var(--jade-l); border-color: var(--jade); }

/* ── CART ── */
.sitio-cart-item { background: var(--card); border-radius: var(--r-m); border: 1px solid var(--line); padding: 11px; margin-bottom: 9px; display: flex; gap: 10px; box-shadow: var(--sh-s); }
.sitio-cart-thumb { width: 66px; height: 66px; border-radius: 10px; flex-shrink: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--bg-e); }
.sitio-cart-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* ── ACCOUNT ── */
.sitio-menu-item { display: flex; align-items: center; gap: 11px; padding: 13px 16px; border-bottom: 1px solid var(--line); cursor: pointer; text-decoration: none; color: inherit; transition: background .15s; }
.sitio-menu-item:hover { background: var(--bg-s); }
.sitio-menu-icon { width: 34px; height: 34px; border-radius: 10px; background: var(--bg-e); display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; }

/* ── CHECKOUT ── */
.sitio-checkout-sec { background: var(--card); border-radius: var(--r-m); border: 1px solid var(--line); padding: 14px; margin-bottom: 12px; box-shadow: var(--sh-s); }
.sitio-checkout-ttl { font-family: var(--fd); font-weight: 700; font-size: 14px; margin-bottom: 12px; }
.sitio-form-group { margin-bottom: 10px; }
.sitio-form-label { font-size: 11px; font-weight: 700; color: var(--txt); margin-bottom: 4px; display: block; font-family: var(--fd); }
.sitio-form-input { width: 100%; background: var(--bg-s); border: 1.5px solid var(--line); border-radius: var(--r); padding: 10px 13px; font-size: 16px !important; font-family: var(--fb); color: var(--head); outline: none; transition: border .2s; }
.sitio-form-input:focus { border-color: var(--jade); }
.sitio-form-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }

/* ── SERVICES ── */
.sitio-svc-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-m); overflow: hidden; box-shadow: var(--sh-s); transition: transform .2s; }
.sitio-svc-card:hover { transform: translateY(-2px); box-shadow: var(--sh-m); }
.sitio-svc-img { height: 140px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--bg-e); position: relative; }
.sitio-svc-img img { width: 100%; height: 100%; object-fit: cover; }
.sitio-svc-body { padding: 12px; }
.sitio-svc-cat { font-size: 9px; font-weight: 700; font-family: var(--fd); color: var(--jade); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }
.sitio-svc-title { font-family: var(--fd); font-weight: 700; font-size: 14px; margin-bottom: 5px; color: var(--head); }

/* ── PWA PROMPT ── */
#sitio-pwa-prompt {
  position: fixed; bottom: calc(var(--nav-h) + 10px); left: 12px; right: 12px;
  z-index: 400; background: var(--card);
  border-radius: var(--r-l); padding: 14px;
  box-shadow: var(--sh-l); border: 1px solid var(--line);
  display: none; animation: slide-up-pwa .3s ease;
  max-width: 400px; margin: 0 auto;
}
#sitio-pwa-prompt.show { display: flex; gap: 12px; align-items: center; }
@keyframes slide-up-pwa { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* ── ANALYTICS VENDOR ── */
.sitio-analytics-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-m); padding: 14px; box-shadow: var(--sh-s); }
.sitio-stat-big { font-family: var(--fd); font-weight: 800; font-size: 28px; color: var(--jade); line-height: 1; }

/* ── TOAST ── */
#sitio-toast { position: fixed; bottom: calc(var(--nav-h) + 12px); left: 50%; transform: translateX(-50%); background: rgba(15,23,42,.92); color: #fff; font-family: var(--fd); font-weight: 700; font-size: 12px; padding: 10px 20px; border-radius: 999px; white-space: nowrap; z-index: 800; box-shadow: var(--sh-m); display: none; backdrop-filter: blur(8px); }

/* ── SKELETON ── */
.sk { background: var(--bg-e); border-radius: var(--r-s); position: relative; overflow: hidden; }
.sk::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); animation: shimmer 1.3s infinite; }
@keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* ── WC OVERRIDES ── */
body.sitio-gt .woocommerce ul.products li.product .button.add_to_cart_button { display: none !important; }
body.sitio-gt .woocommerce span.onsale { background: var(--orange) !important; color: #fff !important; font-family: var(--fd) !important; font-weight: 700 !important; border-radius: 999px !important; padding: 3px 9px !important; font-size: 10px !important; min-height: auto !important; min-width: auto !important; }
body.sitio-gt .woocommerce .price { color: var(--jade) !important; font-family: var(--fd) !important; font-weight: 800 !important; }
body.sitio-gt .woocommerce button.button, body.sitio-gt .woocommerce input.button { background: var(--jade) !important; color: #fff !important; font-family: var(--fd) !important; font-weight: 700 !important; border-radius: var(--r) !important; border: none !important; }
body.sitio-gt .woocommerce form .form-row input.input-text,
body.sitio-gt .woocommerce form .form-row select { border: 1.5px solid var(--line) !important; border-radius: var(--r) !important; font-size: 16px !important; padding: 10px 13px !important; }
body.sitio-gt .woocommerce form .form-row input.input-text:focus { border-color: var(--jade) !important; outline: none !important; }
body.sitio-gt .woocommerce-message { border-top-color: var(--jade) !important; background: var(--jade-l) !important; }
body.sitio-gt .yith-wcwl-add-to-wishlist { margin: 0 !important; }
body.sitio-gt .yith-wcwl-add-button a { background: none !important; border: none !important; padding: 0 !important; }

/* ── PWA STANDALONE ── */
@media (display-mode: standalone) {
  #sitio-nav { padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  #sitio-hdr { padding-top: max(10px, env(safe-area-inset-top)); }
}

/* ── HIDE REHUB ACCOUNT HEADER ── */
body.sitio-myaccount .rh-page-title-wrap,
body.sitio-myaccount .rh-account-banner,
body.sitio-myaccount .rehub-account-header,
body.sitio-myaccount h1.entry-title,
body.sitio-myaccount .entry-header,
body.sitio-myaccount .page-header,
body.sitio-myaccount #page-title,
body.sitio-myaccount .site-breadcrumb-wrap { display: none !important; }

/* Remove "SITIO" purple text (Rehub page title) */
body.sitio-myaccount .woocommerce-MyAccount-content > h2:first-child,
body.sitio-myaccount .page-title,
body.sitio-myaccount h2.woocommerce-column__title { display: none !important; }

/* ═══════════════════════════════════════════════════
   V5.1 FIXES — overrides para problemas detectados
   ═══════════════════════════════════════════════════ */

/* FIX: Email del usuario logueado visible en header desktop de Rehub */
@media (min-width: 769px) {
  /* Ocultar info de cuenta de Rehub que muestra email */
  body.sitio-gt .rh-account-link,
  body.sitio-gt .rh-account-wrap,
  body.sitio-gt .top-account-wrap,
  body.sitio-gt .user-email-display,
  body.sitio-gt .top-bar-user-email,
  body.sitio-gt .header-account-email,
  body.sitio-gt #rh_login_form_top,
  body.sitio-gt .login-link-wrap .user-email,
  body.sitio-gt .top-account-text { display: none !important; }
}

/* FIX: Fondo arcoíris/holográfico — anular cualquier background del padre */
body.sitio-gt {
  background: var(--bg) !important;
  background-image: none !important;
  background-attachment: scroll !important;
}
body.sitio-gt #page,
body.sitio-gt .site,
body.sitio-gt .site-content-contain,
body.sitio-gt #content {
  background: transparent !important;
  background-image: none !important;
}

/* FIX: DOS botones flotantes WA — ocultar el de plugins de Rehub */
body.sitio-gt .rh-whatsapp-btn,
body.sitio-gt .whatsapp-share-button,
body.sitio-gt .floating-whatsapp-button,
body.sitio-gt #wa_floating_btn,
body.sitio-gt .rh_floating_chat,
body.sitio-gt .rehub-floating-wa,
body.sitio-gt .rh-floating-chat,
body.sitio-gt #ht-ctc-chat,
body.sitio-gt .ht-ctc-chat,
body.sitio-gt .click-to-chat,
body.sitio-gt #click-to-chat { display: none !important; }

/* FIX: Hero banner — mejor contraste de texto */
.sitio-hero-slide {
  background-position: center !important;
  background-size: cover !important;
}
.sitio-hero-slide::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 100%);
  z-index: 0;
  pointer-events: none;
}
.sitio-hero-slide > * { position: relative; z-index: 1; }
.sitio-hero-h { text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.sitio-hero-p { text-shadow: 0 1px 6px rgba(0,0,0,.4); }

/* FIX: Card buttons — ahora que no usan stopPropagation, asegurar pointer-events */
.gt-card a[href] { display: block; text-decoration: none; color: inherit; }
.gt-card button, .gt-card a.btn-consult { pointer-events: auto; }
.gt-card .gt-save-btn { z-index: 5; }

/* FIX: Tienda — banner darkening overlay para mejor contraste */
[style*="store-hero"] { position: relative; }

/* FIX: Make sure modal/bridge is above everything */
#sitio-bridge { z-index: 999999 !important; }
#sitio-drawer { z-index: 999998 !important; }
#sitio-search { z-index: 999997 !important; }

/* FIX: Loop products page — make sure jade buttons are styled consistently */
body.sitio-gt .woocommerce ul.products li.product {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 14px !important;
}
body.sitio-gt .woocommerce ul.products li.product .gt-card {
  margin: 0;
}

/* FIX: Rehub legacy elements that conflict */
body.sitio-gt .rh-container,
body.sitio-gt .rh-wrap,
body.sitio-gt .rehub-main-bg { background: transparent !important; }

/* FIX: Account page Rehub purple SITIO header */
body.sitio-myaccount .rh-page-title-wrap,
body.sitio-myaccount .rh-account-banner,
body.sitio-myaccount .rehub-account-header,
body.sitio-myaccount h1.entry-title,
body.sitio-myaccount .entry-header,
body.sitio-myaccount .page-header,
body.sitio-myaccount #page-title,
body.sitio-myaccount .site-breadcrumb-wrap,
body.woocommerce-account .page-title,
body.woocommerce-account .entry-title,
body.woocommerce-account h1:first-of-type { display: none !important; }

/* ════════════════════════════════════════════════
   V5.2 FIXES — escritorio, tiendas, carrito, producto
   ════════════════════════════════════════════════ */

/* FIX 1: Desktop 4 productos por fila */
@media (min-width: 769px) {
  .sitio-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 14px !important;
  }
  /* Si solo hay 3 productos, mantén 4 columnas pero se ajustan */
  body.sitio-gt .woocommerce ul.products,
  body.sitio-gt ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 14px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.sitio-gt .woocommerce ul.products li.product,
  body.sitio-gt ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
}

@media (min-width: 1100px) {
  .sitio-grid { grid-template-columns: repeat(4, 1fr) !important; }
}

/* FIX 2: Imagen de producto NO recortada en desktop single */
@media (min-width: 769px) {
  .sitio-product-gallery,
  .sitio-product-main-img,
  body.single-product .woocommerce-product-gallery__image img {
    max-height: 500px !important;
    object-fit: contain !important;
    background: var(--bg-s) !important;
  }
}

/* FIX 3: Botón Comprar mobile NO tapado por nav */
@media (max-width: 768px) {
  body.single-product #sitio-app .sitio-page,
  body.single-product .sitio-page {
    padding-bottom: calc(var(--nav-h) + 80px) !important;
  }
  .sitio-sticky-cta {
    bottom: var(--nav-h) !important;
    z-index: 250 !important;
  }
}

/* FIX 4: Header móvil bien proporcionado en producto single */
@media (max-width: 768px) {
  body.single-product #sitio-hdr {
    padding: 8px 14px 6px !important;
  }
  body.single-product .sitio-search-bar {
    padding: 6px 12px !important;
  }
}

/* ════ TIENDA V5.2 — Hero mejorado ════ */
.sitio-store-hero-v52 {
  min-height: 200px;
  padding: 14px 14px 18px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.sitio-store-back {
  position: absolute; top: 12px; left: 12px;
  background: rgba(255,255,255,.22); color: #fff;
  border: none; width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px; cursor: pointer; text-decoration: none;
  backdrop-filter: blur(6px); z-index: 2;
}
.sitio-store-hero-content {
  display: flex; align-items: flex-end; gap: 12px;
  margin-top: 36px;
}
.sitio-store-hero-info { flex: 1; min-width: 0; }
.sitio-store-hero-badges {
  display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 4px;
}
.sitio-store-hero-badges span {
  font-size: 9px; font-weight: 700; font-family: var(--fd);
  padding: 2px 8px; border-radius: 999px;
  backdrop-filter: blur(4px);
}
.badge-verified { background: rgba(255,255,255,.22); color: #fff; }
.sitio-store-hero-name {
  font-family: var(--fd); font-weight: 800; font-size: 19px;
  color: #fff; line-height: 1.1; margin: 0 0 2px;
  text-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.sitio-store-hero-loc {
  font-size: 11px; color: rgba(255,255,255,.78);
  text-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.sitio-store-hero-meta {
  display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px;
}
.sitio-store-hero-meta span {
  background: rgba(255,255,255,.18);
  color: rgba(255,255,255,.95);
  font-size: 10px; font-weight: 600; font-family: var(--fd);
  padding: 3px 9px; border-radius: 999px;
  backdrop-filter: blur(4px);
}

@media (min-width: 769px) {
  .sitio-store-hero-v52 {
    min-height: 260px;
    padding: 24px 32px 28px;
    border-radius: 0;
  }
  .sitio-store-hero-content { gap: 20px; }
  .sitio-store-hero-name { font-size: 28px; }
  .sitio-store-hero-loc { font-size: 13px; }
  .sitio-av.sitio-av-xl { width: 96px; height: 96px; font-size: 32px; }
}

/* ════ MINI CARD (carruseles tienda) ════ */
.gt-card-mini {
  flex-shrink: 0; width: 138px;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r); overflow: hidden;
  text-decoration: none; color: inherit;
  display: flex; flex-direction: column;
  scroll-snap-align: start;
  transition: transform .2s, box-shadow .2s;
}
.gt-card-mini:hover { transform: translateY(-2px); box-shadow: var(--sh-m); }
.gt-card-mini-img {
  height: 100px; position: relative;
  background: var(--bg-e); overflow: hidden;
}
.gt-card-mini-img img { width: 100%; height: 100%; object-fit: cover; }
.gt-card-mini-body { padding: 7px 9px 9px; }
.gt-card-mini-title {
  font-size: 11px; font-weight: 600; line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 4px; min-height: 28px;
}
.gt-card-mini-price {
  font-family: var(--fd); font-weight: 800; font-size: 13px; color: var(--jade);
}
.badge-pct {
  position: absolute; top: 5px; left: 5px;
  background: var(--orange); color: #fff;
  font-size: 9px; font-weight: 700; font-family: var(--fd);
  padding: 2px 6px; border-radius: 6px;
}
.badge-new {
  position: absolute; top: 5px; left: 5px;
  background: var(--blue); color: #fff;
  font-size: 9px; font-weight: 700; font-family: var(--fd);
  padding: 2px 6px; border-radius: 6px;
}

@media (min-width: 769px) {
  .gt-card-mini { width: 180px; }
  .gt-card-mini-img { height: 140px; }
}

/* ════ CART V5.2 ════ */
.sitio-cart-page-v52 {
  padding: 12px;
  max-width: 1000px;
  margin: 0 auto;
}
.sitio-cart-header {
  background: linear-gradient(135deg, var(--jade-900), var(--jade-700));
  border-radius: var(--r-l);
  padding: 16px 18px;
  display: flex; align-items: center; gap: 12px;
  color: #fff;
  margin-bottom: 14px;
}
.sitio-cart-icon { font-size: 28px; }
.sitio-cart-header h1 {
  color: #fff; font-family: var(--fd); font-weight: 800; font-size: 18px;
  margin: 0 0 2px;
}
.sitio-cart-header p {
  margin: 0; font-size: 11px; color: rgba(255,255,255,.78);
}
.sitio-cart-group {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: var(--sh-s);
}
.sitio-cart-vendor-hdr {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 13px;
  background: var(--bg-s);
  border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit;
}
.sitio-cart-vendor-hdr .vname {
  flex: 1;
  font-family: var(--fd); font-weight: 700; font-size: 13px;
}
.sitio-cart-vendor-hdr .vtotal {
  font-family: var(--fd); font-weight: 800; font-size: 13px;
  color: var(--jade);
}
.sitio-cart-item {
  display: flex; gap: 11px; padding: 12px 13px;
  border-bottom: 1px solid var(--line);
}
.sitio-cart-item:last-of-type { border-bottom: none; }
.sitio-cart-item-body { flex: 1; min-width: 0; }
.sitio-cart-item-name {
  font-size: 12px; font-weight: 600;
  text-decoration: none; color: var(--head);
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 4px;
}
.sitio-cart-item-price {
  font-family: var(--fd); font-weight: 700; font-size: 13px;
  color: var(--jade); margin-bottom: 6px;
}
.sitio-cart-item-controls {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; margin-top: 6px;
}
.sitio-qty-control {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--bg-s); border-radius: var(--r);
  padding: 3px 6px;
}
.qty-remove {
  background: transparent; border: none;
  font-size: 14px; cursor: pointer;
  text-decoration: none;
}
.qty-val { font-family: var(--fd); font-weight: 700; font-size: 12px; }
.sitio-cart-item-subtotal {
  font-family: var(--fd); font-weight: 800; font-size: 13px;
}
.sitio-cart-group-actions {
  padding: 10px 13px;
  background: var(--bg-s);
  border-top: 1px solid var(--line);
}
.sitio-cart-total {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 14px;
  box-shadow: var(--sh-s);
  margin-top: 14px;
}
.sitio-cart-total .row {
  display: flex; justify-content: space-between;
  padding: 6px 0;
  font-size: 13px;
}
.sitio-cart-total .row.total {
  border-top: 1px solid var(--line);
  margin-top: 6px; padding-top: 12px;
  font-family: var(--fd); font-weight: 800; font-size: 17px;
}
.sitio-cart-total .row.total span:last-child { color: var(--jade); }
.cart-note {
  font-size: 10px; color: var(--muted);
  margin: 8px 0 0; line-height: 1.5;
}

@media (min-width: 769px) {
  .sitio-cart-page-v52 {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 20px;
    align-items: start;
    padding: 20px;
  }
  .sitio-cart-header { grid-column: 1 / -1; }
  .sitio-cart-total {
    position: sticky;
    top: 80px;
    margin-top: 0;
  }
}

/* ════ SHIPPING LOGO BLOCKS ════ */
.sitio-ship-logo {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; flex-shrink: 0;
}

/* ════ DESKTOP HEADER — ocultar email expuesto ════ */
@media (min-width: 769px) {
  .sitio-desk-nav a span.user-email,
  body.sitio-gt .top-bar-email,
  body.sitio-gt .login-info-email,
  body.sitio-gt .header-account-email-text { display: none !important; }
}

/* ════════════════════════════════════════════════
   V5.2 — DIRECTORIO DE TIENDAS
   ════════════════════════════════════════════════ */
.sitio-dir-hero {
  background: linear-gradient(135deg, var(--jade-900), var(--jade-700));
  padding: 22px 16px 18px;
  text-align: center;
  color: #fff;
}
.sitio-dir-hero h1 {
  color: #fff; font-family: var(--fd); font-weight: 800; font-size: 22px;
  margin: 0 0 4px;
}
.sitio-dir-hero p {
  margin: 0; font-size: 12px; color: rgba(255,255,255,.78);
}
.sitio-dir-filters {
  padding: 12px;
  background: var(--card);
  border-bottom: 1px solid var(--line);
}
.sitio-dir-search {
  background: var(--bg-s);
  border: 1.5px solid var(--bdr-m);
  border-radius: 999px;
  padding: 8px 13px;
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 12px;
}
.sitio-dir-search input {
  flex: 1; border: none; background: transparent;
  outline: none; font-size: 16px !important;
  font-family: var(--fb);
}
.sitio-dir-search .btn-mini {
  background: var(--jade); color: #fff; border: none;
  font-family: var(--fd); font-weight: 700; font-size: 11px;
  border-radius: 999px; padding: 5px 12px;
  cursor: pointer;
}
.sitio-dir-chips {
  margin-bottom: 10px;
}
.sitio-dir-chips::before {
  content: attr(data-label);
  display: block;
  font-family: var(--fd); font-weight: 700; font-size: 10px;
  color: var(--muted);
  text-transform: uppercase; letter-spacing: .5px;
  margin-bottom: 6px;
}
.sitio-dir-chips {
  display: flex; flex-wrap: nowrap; gap: 5px;
  overflow-x: auto; padding-bottom: 4px;
}
.sitio-dir-chips::before { width: 100%; flex-basis: 100%; }
.sitio-dir-chips .chip {
  flex-shrink: 0;
  background: var(--bg-s);
  border: 1.5px solid var(--line);
  border-radius: 999px;
  padding: 6px 13px;
  font-family: var(--fd); font-weight: 600; font-size: 11px;
  color: var(--txt);
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.sitio-dir-chips .chip.active {
  background: var(--jade); color: #fff; border-color: var(--jade);
}
.sitio-dir-chips .chip-gold.active {
  background: linear-gradient(135deg, #F59E0B, #D97706); border-color: #D97706;
}
.sitio-dir-chips .chip-silver.active {
  background: linear-gradient(135deg, #94A3B8, #64748B); border-color: #64748B;
}

/* Grid */
.sitio-dir-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 12px;
}
@media (min-width: 600px) { .sitio-dir-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .sitio-dir-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 20px; } }
@media (min-width: 1200px) { .sitio-dir-grid { grid-template-columns: repeat(5, 1fr); } }

.sitio-dir-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-m);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: transform .2s, box-shadow .2s;
}
.sitio-dir-card:hover { transform: translateY(-3px); box-shadow: var(--sh-m); }
.sitio-dir-card-banner {
  height: 60px;
  background-size: cover;
  background-position: center;
}
.sitio-dir-card-logo {
  margin: -22px 0 0 12px;
  border: 3px solid var(--card);
  z-index: 2;
  position: relative;
}
.sitio-dir-card-body {
  padding: 6px 12px 12px;
  position: relative;
}
.sitio-dir-card-badges {
  position: absolute; top: 8px; right: 10px;
  display: flex; gap: 3px;
}
.badge-mini {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 999px;
  font-weight: 700;
  font-family: var(--fd);
}
.badge-mini-jade { background: var(--jade-l); color: var(--jade); }
.badge-mini-gold { background: #FFF7C2; color: #92400E; }
.badge-mini-silver { background: #F1F5F9; color: #475569; }

.sitio-dir-card h3 {
  font-family: var(--fd); font-weight: 700; font-size: 13px;
  margin: 0 0 3px;
  display: -webkit-box; -webkit-line-clamp: 1;
  -webkit-box-orient: vertical; overflow: hidden;
}
.sitio-dir-card-meta {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.4;
  margin-bottom: 1px;
}
.sitio-dir-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 20px;
  color: var(--muted);
}
.sitio-dir-empty h3 {
  font-family: var(--fd); font-weight: 700; font-size: 16px;
  margin: 0 0 4px; color: var(--head);
}
.sitio-dir-empty p { font-size: 12px; margin: 0; }

/* ════════════════════════════════════════════════
   V5.2 — PRODUCTO SINGLE
   ════════════════════════════════════════════════ */
.sitio-product-page {
  padding-bottom: 120px; /* space for sticky CTA */
}

@media (max-width: 768px) {
  .sitio-product-page {
    padding-bottom: calc(var(--nav-h) + 90px) !important;
  }
}

/* Gallery responsive */
.sitio-product-hero {
  position: relative;
  height: 320px;
  background: var(--bg-s);
  overflow: hidden;
}
@media (min-width: 769px) {
  .sitio-product-hero {
    height: 500px;
    max-width: 600px;
    margin: 0 auto;
    border-radius: var(--r-l);
    margin-top: 16px;
  }
}
.sitio-product-hero img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain !important;
  background: var(--bg-s);
}
.sitio-product-hero-fade {
  display: none; /* Removed gradient overlay that darkened image */
}

/* Desktop product layout — 2 col */
@media (min-width: 769px) {
  .sitio-product-body {
    max-width: 1100px;
    margin: 20px auto 0;
    padding: 0 24px;
  }
}

/* Sticky CTA full width on mobile */
.sitio-sticky-cta {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  max-width: 520px;
  background: var(--card);
  border-top: 1px solid var(--line);
  padding: 10px 14px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  box-shadow: 0 -4px 20px rgba(0,0,0,.09);
  z-index: 250;
}
@media (max-width: 768px) {
  .sitio-sticky-cta {
    bottom: var(--nav-h);
  }
}
@media (min-width: 769px) {
  .sitio-sticky-cta {
    max-width: 100%;
    left: 0;
    transform: none;
    padding: 14px 32px;
  }
  .sitio-sticky-cta > div {
    max-width: 1100px;
    margin: 0 auto;
  }
}

/* ════════════════════════════════════════════════
   V5.2 — MI CUENTA — App-like en desktop
   ════════════════════════════════════════════════ */
@media (min-width: 769px) {
  body.woocommerce-account .woocommerce {
    max-width: 1100px !important;
    margin: 20px auto !important;
    padding: 0 24px !important;
  }
  body.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
    display: none !important; /* Hide WC sidebar */
  }
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: transparent !important;
  }
  body.woocommerce-account #sitio-app {
    max-width: 1100px;
  }
}

/* Account page on mobile - app-like */
@media (max-width: 768px) {
  body.woocommerce-account .woocommerce {
    margin: 0 !important;
    padding: 0 !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    display: none !important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ════ CHECKOUT improvements ════ */
@media (min-width: 769px) {
  body.woocommerce-checkout #sitio-app {
    max-width: 1100px;
    margin: 0 auto;
  }
  body.woocommerce-checkout .sitio-page > form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 380px;
    gap: 20px;
    padding: 20px;
    align-items: start;
  }
  body.woocommerce-checkout .sitio-checkout-sec {
    margin-bottom: 0;
  }
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    position: sticky;
    top: 80px;
  }
}

/* ════════════════════════════════════════════════
   V5.2 — DESKTOP COMPACT — Plan Maestro V30 
   "Desktop como app, no móvil estirado"
   Container 1180-1280px, cards compactas
   ════════════════════════════════════════════════ */
@media (min-width: 769px) {
  /* Container principal acotado */
  body.sitio-gt #sitio-app {
    max-width: 1280px;
    margin: 0 auto;
  }
  body.sitio-gt #sitio-app .sitio-page {
    max-width: 100%;
    padding: 0 24px 40px;
  }
  
  /* Cards más compactas: no gigantes */
  body.sitio-gt .gt-card {
    max-width: 100% !important;
  }
  body.sitio-gt .gt-card-img,
  body.sitio-gt .gt-card-image {
    height: 200px !important; /* No más de 200px en desktop */
  }
  
  /* Carruseles más anchos pero cards menores */
  body.sitio-gt .sitio-carousel {
    gap: 14px;
    padding: 0 0 10px;
  }
  body.sitio-gt .sitio-carousel .gt-card {
    flex-shrink: 0;
    width: 240px; /* No 300+ */
  }
  
  /* Hero del home más razonable */
  body.sitio-gt .sitio-hero {
    max-height: 380px !important;
    border-radius: 16px;
    margin-top: 12px;
  }
  
  /* Botones no estirados */
  body.sitio-gt .btn-wa,
  body.sitio-gt .btn-primary,
  body.sitio-gt .btn-consult,
  body.sitio-gt .btn-outline {
    max-width: 100%;
  }
  
  /* Grid producto: max 4 cols, no 6 */
  body.sitio-gt .sitio-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    max-width: 1280px;
    margin: 0 auto;
  }
  
  /* Nav inferior NO se muestra en desktop */
  body.sitio-gt .sitio-bottom-nav {
    display: none !important;
  }
  body.sitio-gt {
    --nav-h: 0px;
  }
  
  /* Header desktop tipo app */
  body.sitio-gt #sitio-hdr {
    max-width: 1280px;
    margin: 0 auto;
    border-radius: 0 0 16px 16px;
  }
}

/* Ultra-wide: 1440+ */
@media (min-width: 1440px) {
  body.sitio-gt #sitio-app {
    max-width: 1280px; /* No más, pa que se sienta web app, no enorme */
  }
}

/* ════════════════════════════════════════════════
   V5.2 — Animaciones suaves tipo app
   ════════════════════════════════════════════════ */
.gt-card,
.gt-card-mini,
.sitio-dir-card,
.btn-wa,
.btn-primary,
.sitio-cart-group {
  transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow .25s cubic-bezier(0.4, 0, 0.2, 1);
}

.gt-card:active,
.gt-card-mini:active {
  transform: scale(0.98);
}

/* Páginas con transición suave al cargar */
.sitio-page {
  animation: sitioFadeIn .35s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes sitioFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Botón WA con micro-animación */
.btn-wa {
  position: relative;
  overflow: hidden;
}
.btn-wa::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.25), transparent);
  transform: translateX(-100%);
  transition: transform .6s;
}
.btn-wa:hover::after { transform: translateX(100%); }

/* ════════════════════════════════════════════════════
   V5.3 — CART APP PRO
   ════════════════════════════════════════════════════ */
.sitio-cart-page-v53 {
  padding: 12px;
  max-width: 1100px;
  margin: 0 auto;
}
.sitio-cart-header {
  background: linear-gradient(135deg, var(--jade-900), var(--jade-700));
  border-radius: var(--r-l);
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  margin-bottom: 14px;
}
.sitio-cart-header-left { display: flex; align-items: center; gap: 12px; }
.sitio-cart-header h1 {
  color: #fff; font-family: var(--fd); font-weight: 800; font-size: 19px;
  margin: 0 0 2px;
}
.sitio-cart-header p { margin: 0; font-size: 11px; color: rgba(255,255,255,.78); }
.sitio-cart-icon { font-size: 32px; }
.sitio-cart-continue {
  color: rgba(255,255,255,.92); text-decoration: none;
  font-size: 12px; font-family: var(--fd); font-weight: 600;
  padding: 7px 12px; background: rgba(255,255,255,.15);
  border-radius: 999px; backdrop-filter: blur(4px);
}

.sitio-cart-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 769px) {
  .sitio-cart-grid {
    grid-template-columns: 1fr 360px;
    align-items: start;
  }
}

.sitio-cart-group {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  margin-bottom: 12px;
  overflow: hidden;
  box-shadow: var(--sh-s);
}
.sitio-cart-vendor-hdr {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  background: var(--bg-s);
  border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit;
}
.sitio-cart-vendor-info { flex: 1; min-width: 0; }
.sitio-cart-vendor-info .vname {
  display: block;
  font-family: var(--fd); font-weight: 700; font-size: 13px;
}
.sitio-cart-vendor-info .vresponse {
  display: block;
  font-size: 10px; color: var(--muted); margin-top: 1px;
}
.vtotal { font-family: var(--fd); font-weight: 800; font-size: 14px; color: var(--jade); }
.badge-verified-mini {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px;
  background: var(--jade-l); color: var(--jade);
  font-size: 9px; font-weight: 700;
  border-radius: 50%; margin-left: 2px;
}

.sitio-cart-free-bar {
  padding: 9px 14px;
  background: var(--maiz)20;
  border-bottom: 1px solid var(--line);
  font-size: 11px; color: var(--head);
  font-family: var(--fd); font-weight: 600;
}
.sitio-cart-free-bar.unlocked {
  background: var(--jade-l);
  color: var(--jade);
}
.sitio-cart-free-progress {
  height: 4px; background: rgba(0,0,0,.06); border-radius: 999px;
  margin-top: 5px; overflow: hidden;
}
.sitio-cart-free-progress > div {
  height: 100%; background: linear-gradient(90deg, var(--jade), var(--lime));
  border-radius: 999px; transition: width .4s;
}

.sitio-cart-item {
  display: flex; gap: 11px; padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}
.sitio-cart-item:last-of-type { border-bottom: none; }
.sitio-cart-thumb {
  width: 80px; height: 80px;
  border-radius: var(--r); overflow: hidden;
  background: var(--bg-e); flex-shrink: 0;
}
.sitio-cart-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sitio-cart-item-body { flex: 1; min-width: 0; }
.sitio-cart-item-name {
  display: block;
  font-size: 13px; font-weight: 600;
  text-decoration: none; color: var(--head);
  margin-bottom: 4px;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.sitio-cart-item-price {
  font-family: var(--fd); font-weight: 600; font-size: 12px;
  color: var(--muted); margin-bottom: 4px;
}
.sitio-cart-stock-warn {
  font-size: 10px; color: var(--orange); font-weight: 700;
  margin-bottom: 6px;
}
.sitio-cart-item-controls {
  display: flex; align-items: center; gap: 10px;
}
.sitio-qty-control-v53 {
  display: inline-flex; align-items: center;
  background: var(--bg-s); border: 1px solid var(--line);
  border-radius: var(--r); overflow: hidden;
}
.sitio-qty-control-v53 .qty-btn {
  width: 28px; height: 28px;
  background: transparent; border: none;
  font-size: 16px; font-weight: 700; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--head);
}
.sitio-qty-control-v53 .qty-btn:disabled { opacity: .3; cursor: not-allowed; }
.sitio-qty-control-v53 .qty-btn:not(:disabled):hover { background: var(--jade-l); color: var(--jade); }
.sitio-qty-control-v53 .qty-input {
  width: 36px; height: 28px;
  border: none; background: transparent;
  text-align: center; font-family: var(--fd); font-weight: 700;
  font-size: 13px; -moz-appearance: textfield;
}
.sitio-qty-control-v53 .qty-input::-webkit-outer-spin-button,
.sitio-qty-control-v53 .qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0;
}
.sitio-cart-item-subtotal {
  flex: 1; text-align: right;
  font-family: var(--fd); font-weight: 800; font-size: 14px;
}
.qty-remove-v53 {
  background: transparent; border: none;
  font-size: 16px; cursor: pointer;
  padding: 4px; opacity: .5;
}
.qty-remove-v53:hover { opacity: 1; }

.sitio-cart-shipping-est {
  padding: 10px 14px;
  background: var(--bg-s);
  border-top: 1px solid var(--line);
}
.ship-est-row {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 6px;
}
.ship-est-lbl { font-size: 11px; font-weight: 600; color: var(--muted); }
.ship-est-val { font-family: var(--fd); font-weight: 700; font-size: 12px; }
.ship-free { color: var(--jade); }
.ship-est-providers {
  display: flex; flex-wrap: wrap; gap: 4px;
}
.ship-est-prov {
  font-size: 9px; font-weight: 700; padding: 3px 7px;
  border-radius: 999px;
  font-family: var(--fd);
}

.sitio-cart-group-actions {
  padding: 10px 14px;
  background: var(--bg-s);
  border-top: 1px solid var(--line);
}

.sitio-cart-aside {
  display: flex; flex-direction: column; gap: 12px;
}
@media (min-width: 769px) {
  .sitio-cart-aside { position: sticky; top: 80px; }
}

.sitio-cart-coupon {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 12px;
}
.coupon-label {
  font-family: var(--fd); font-weight: 700; font-size: 12px;
  margin-bottom: 7px;
}
.coupon-form {
  display: flex; gap: 5px;
}
.coupon-form input {
  flex: 1; padding: 8px 10px;
  border: 1.5px solid var(--bdr); border-radius: var(--r);
  font-size: 14px; outline: none;
}
.coupon-form input:focus { border-color: var(--jade); }
.coupon-form button {
  padding: 8px 14px;
  background: var(--jade); color: #fff;
  border: none; border-radius: var(--r);
  font-family: var(--fd); font-weight: 700; font-size: 11px;
  cursor: pointer;
}
.coupon-applied {
  margin-top: 7px;
  padding: 6px 10px;
  background: var(--jade-l); color: var(--jade);
  border-radius: var(--r);
  font-size: 11px; font-weight: 700;
  display: flex; justify-content: space-between; align-items: center;
}
.coupon-remove {
  text-decoration: none; color: var(--jade);
  font-size: 14px; font-weight: 700;
}

.sitio-cart-trust {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 10px;
}
.trust-pill {
  font-size: 10px; font-weight: 600;
  padding: 5px 8px; background: var(--bg-s);
  border-radius: var(--r);
  text-align: center;
  font-family: var(--fd);
}

.sitio-cart-total-v53 {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 14px;
  box-shadow: var(--sh-s);
}
.sitio-cart-total-v53 .row {
  display: flex; justify-content: space-between;
  padding: 5px 0; font-size: 13px;
}
.sitio-cart-total-v53 .row.total {
  border-top: 1px solid var(--line);
  margin-top: 6px; padding-top: 12px;
  font-family: var(--fd); font-weight: 800; font-size: 18px;
}
.sitio-cart-total-v53 .row.total span:last-child { color: var(--jade); }
.cart-note {
  font-size: 10px; color: var(--muted);
  margin: 8px 0 0; line-height: 1.5;
}
.btn-checkout {
  margin-top: 12px;
  background: linear-gradient(135deg, var(--jade-700), var(--jade));
  font-size: 14px;
}

.sitio-cart-empty {
  padding: 20px;
}
.sitio-cart-empty-hero {
  text-align: center;
  padding: 50px 20px;
  background: var(--card);
  border-radius: var(--r-xl);
  border: 1px solid var(--line);
  margin-bottom: 18px;
}
.sitio-cart-empty-icon { font-size: 72px; margin-bottom: 14px; }
.sitio-cart-empty-hero h2 {
  font-family: var(--fd); font-weight: 800; font-size: 20px;
  margin: 0 0 8px;
}
.sitio-cart-empty-hero p {
  font-size: 13px; color: var(--muted);
  margin: 0 0 20px;
}
.sitio-cart-empty-hero a {
  display: inline-flex; max-width: 280px;
  margin: 0 auto;
}

/* ════════════════════════════════════════════════════
   V5.3 — CHECKOUT APP PRO
   ════════════════════════════════════════════════════ */
.sitio-checkout-v53 {
  padding-bottom: 30px;
}
.sitio-checkout-hero {
  background: linear-gradient(135deg, var(--jade-900), var(--jade-700));
  padding: 22px 16px;
  color: #fff;
}
.sitio-checkout-hero-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex; align-items: center; gap: 14px;
}
.ch-icon { font-size: 34px; }
.sitio-checkout-hero h1 {
  color: #fff; font-family: var(--fd); font-weight: 800; font-size: 20px;
  margin: 0 0 3px;
}
.sitio-checkout-hero p { margin: 0; font-size: 12px; color: rgba(255,255,255,.85); }

.sitio-checkout-grid {
  max-width: 1100px;
  margin: 16px auto 0;
  padding: 0 14px;
  display: grid; gap: 16px;
  grid-template-columns: 1fr;
}
@media (min-width: 769px) {
  .sitio-checkout-grid {
    grid-template-columns: 1fr 380px;
    padding: 0 20px;
    align-items: start;
  }
}

.sitio-checkout-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 18px;
  box-shadow: var(--sh-s);
}
.ch-card-hdr {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 16px;
}
.ch-step {
  width: 28px; height: 28px;
  background: var(--jade); color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd); font-weight: 800; font-size: 13px;
}
.ch-card-hdr h3 {
  margin: 0; font-family: var(--fd); font-weight: 700; font-size: 15px;
}
.ch-card-intro {
  font-size: 12px; color: var(--muted);
  margin: -10px 0 14px;
}
.ch-form-row2 {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 10px; margin-bottom: 12px;
}
.ch-input-group {
  margin-bottom: 12px;
}
.ch-input-group label {
  display: block;
  font-family: var(--fd); font-weight: 600; font-size: 11px;
  margin-bottom: 4px; color: var(--head);
}
.ch-input-group input,
.ch-input-group select,
.ch-input-group textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--bdr);
  border-radius: var(--r);
  font-size: 16px;
  font-family: var(--fb);
  outline: none;
  background: #fff;
  transition: border-color .15s;
}
.ch-input-group input:focus,
.ch-input-group select:focus,
.ch-input-group textarea:focus {
  border-color: var(--jade);
}
.ch-input-group small {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-top: 4px;
}

.ch-vendor-ship-block {
  background: var(--bg-s);
  border-radius: var(--r-m);
  padding: 12px;
  margin-bottom: 10px;
}
.ch-vendor-ship-hdr {
  display: flex; justify-content: space-between;
  margin-bottom: 8px;
  font-family: var(--fd); font-weight: 700; font-size: 13px;
}

.ch-payment-info {
  display: flex; align-items: flex-start; gap: 12px;
  background: var(--wa)10 !important;
  border-color: var(--wa)40 !important;
}
.ch-payment-icon { font-size: 32px; }
.ch-payment-info h4 {
  margin: 0 0 4px;
  font-family: var(--fd); font-weight: 700; font-size: 14px;
  color: var(--wa-d);
}
.ch-payment-info p {
  margin: 0; font-size: 12px; line-height: 1.5;
}

.sitio-checkout-summary {
  position: relative;
}
@media (min-width: 769px) {
  .sitio-checkout-summary { position: sticky; top: 70px; }
}
.ch-summary-inner {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 16px;
  box-shadow: var(--sh-m);
}
.ch-summary-inner h3 {
  margin: 0 0 12px;
  font-family: var(--fd); font-weight: 800; font-size: 16px;
}
.ch-summary-vendor {
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.ch-summary-vendor:last-of-type { border-bottom: none; padding-bottom: 0; }
.ch-summary-vendor-hdr {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 8px;
  font-family: var(--fd); font-weight: 700; font-size: 12px;
}
.sitio-av.sitio-av-xs { width: 22px; height: 22px; font-size: 10px; }
.ch-summary-item {
  display: flex; gap: 8px;
  margin-bottom: 7px;
}
.ch-summary-thumb {
  position: relative;
  width: 46px; height: 46px;
  border-radius: 6px; overflow: hidden;
  background: var(--bg-e);
  flex-shrink: 0;
}
.ch-summary-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ch-summary-qty {
  position: absolute; top: -4px; right: -4px;
  background: var(--jade); color: #fff;
  font-size: 9px; font-weight: 800;
  width: 18px; height: 18px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd);
}
.ch-summary-item-info { flex: 1; min-width: 0; }
.ch-summary-item-name {
  font-size: 11px; font-weight: 600;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
  line-height: 1.3;
}
.ch-summary-item-price {
  font-family: var(--fd); font-weight: 700; font-size: 11px;
  color: var(--jade); margin-top: 2px;
}

.ch-summary-totals {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.ch-summary-totals .row {
  display: flex; justify-content: space-between;
  padding: 4px 0; font-size: 12px;
}
.ch-summary-totals .row.jade { color: var(--jade); }
.ch-summary-totals .row.total {
  margin-top: 6px; padding-top: 8px;
  border-top: 1px solid var(--line);
  font-family: var(--fd); font-weight: 800; font-size: 16px;
}
.ch-summary-totals .row.total span:last-child { color: var(--jade); }

.btn-confirm-order {
  margin-top: 14px;
  background: linear-gradient(135deg, var(--wa), var(--wa-d));
  font-size: 14px;
  padding: 14px;
}
.ch-trust-row {
  display: flex; justify-content: space-around;
  margin-top: 12px;
  font-size: 10px; color: var(--muted);
  font-family: var(--fd); font-weight: 600;
}

.sitio-checkout-empty {
  text-align: center;
  padding: 80px 20px;
}
.sitio-checkout-empty h2 {
  font-family: var(--fd); font-weight: 800; font-size: 22px;
  margin: 14px 0;
}
.sitio-checkout-empty a {
  display: inline-flex;
  max-width: 280px;
  margin: 16px auto 0;
}

/* ════════════════════════════════════════════════════
   V5.3 — SINGLE PRODUCT APP PRO
   ════════════════════════════════════════════════════ */
.sitio-product-page-v53 {
  padding-bottom: 120px;
  background: var(--bg);
}
@media (max-width: 768px) {
  .sitio-product-page-v53 {
    padding-bottom: calc(var(--nav-h) + 90px);
  }
}

/* Vendor bar prominente arriba */
.sp-vendor-bar {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(90deg, var(--card) 0%, var(--bg-s) 100%);
  border-bottom: 1px solid var(--line);
  padding: 11px 16px;
  text-decoration: none;
  color: inherit;
  transition: background .2s;
}
.sp-vendor-bar:hover { background: var(--jade-l); }
.sp-vendor-logo { flex-shrink: 0; }
.sp-vendor-info { flex: 1; min-width: 0; }
.sp-vendor-name {
  font-family: var(--fd); font-weight: 700; font-size: 14px;
  display: flex; align-items: center; gap: 5px;
  line-height: 1.2;
}
.sp-badge-verified {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px;
  background: var(--jade); color: #fff;
  border-radius: 50%; font-size: 9px; font-weight: 700;
}
.sp-vendor-meta {
  display: flex; gap: 10px; flex-wrap: wrap;
  font-size: 11px; color: var(--muted);
  margin-top: 2px;
}
.sp-vendor-cta {
  font-family: var(--fd); font-weight: 700; font-size: 11px;
  color: var(--jade);
  padding: 6px 11px;
  background: var(--jade-l);
  border-radius: 999px;
  flex-shrink: 0;
}

/* Grid principal */
.sp-grid {
  padding: 0;
}
@media (min-width: 769px) {
  .sp-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 28px;
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
  }
}

/* Galería */
.sp-gallery {
  background: var(--card);
}
@media (min-width: 769px) {
  .sp-gallery {
    border-radius: var(--r-xl);
    overflow: hidden;
    box-shadow: var(--sh-m);
  }
}
.sp-gallery-main {
  position: relative;
  width: 100%;
  height: 340px;
  background: var(--bg-s);
  overflow: hidden;
  user-select: none;
}
@media (min-width: 769px) {
  .sp-gallery-main { height: 520px; }
}
.sp-gallery-main img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
}
.sp-no-img {
  display: flex; align-items: center; justify-content: center;
  font-size: 72px; height: 100%;
  color: var(--muted);
}

.sp-back, .sp-save, .sp-img-zoom, .sp-img-prev, .sp-img-next {
  position: absolute;
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(8px);
  border: none;
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  color: var(--head);
  box-shadow: var(--sh-s);
  transition: transform .15s, background .15s;
  z-index: 5;
}
.sp-back:hover, .sp-save:hover, .sp-img-zoom:hover { transform: scale(1.05); }
.sp-back { top: 12px; left: 12px; }
.sp-save { top: 12px; right: 12px; }
.sp-img-zoom { bottom: 12px; right: 12px; }
.sp-img-prev { top: 50%; left: 8px; transform: translateY(-50%); }
.sp-img-next { top: 50%; right: 8px; transform: translateY(-50%); }
.sp-discount-badge {
  position: absolute; top: 12px; left: 60px;
  background: var(--orange); color: #fff;
  font-family: var(--fd); font-weight: 800; font-size: 13px;
  padding: 5px 12px;
  border-radius: 999px;
  z-index: 5;
}

.sp-thumbs {
  display: flex; gap: 6px;
  padding: 10px 12px;
  overflow-x: auto;
  background: var(--card);
  scrollbar-width: thin;
}
.sp-thumb {
  width: 56px; height: 56px;
  border: 2px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: transparent; padding: 0;
  flex-shrink: 0;
  transition: border-color .15s;
}
.sp-thumb.active { border-color: var(--jade); }
.sp-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* Info side */
.sp-info {
  padding: 16px;
}
@media (min-width: 769px) {
  .sp-info {
    padding: 0;
  }
}

.sp-sale-banner {
  background: linear-gradient(135deg, var(--orange), var(--achiote));
  color: #fff;
  border-radius: var(--r-m);
  padding: 10px 14px;
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 14px;
}
.sp-sale-icon { font-size: 22px; }
.sp-sale-banner strong {
  display: block;
  font-family: var(--fd); font-weight: 800; font-size: 13px;
}
.sp-sale-banner small {
  display: block;
  font-size: 10px; opacity: .85;
}
.sp-sale-pct {
  margin-left: auto;
  font-family: var(--fd); font-weight: 800; font-size: 18px;
  background: rgba(255,255,255,.25);
  padding: 5px 10px;
  border-radius: 8px;
  backdrop-filter: blur(4px);
}

.sp-title {
  font-family: var(--fd); font-weight: 800; font-size: 22px;
  line-height: 1.2;
  margin: 0 0 8px;
  color: var(--head);
}
@media (min-width: 769px) { .sp-title { font-size: 26px; } }

.sp-meta-row {
  display: flex; gap: 10px; flex-wrap: wrap;
  margin-bottom: 12px;
  font-size: 12px;
}
.sp-views { color: var(--muted); }
.sp-low-stock { color: var(--orange); font-weight: 700; }
.sp-in-stock { color: var(--jade); font-weight: 700; }
.sp-out-stock { color: var(--orange); font-weight: 700; }

.sp-price-block {
  margin-bottom: 18px;
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
}
.sp-price-main {
  font-family: var(--fd); font-weight: 800;
  font-size: 32px;
  color: var(--jade);
}
.sp-price-old {
  font-family: var(--fd); font-weight: 600;
  font-size: 17px;
  color: var(--muted);
  text-decoration: line-through;
}
.sp-savings {
  font-family: var(--fd); font-weight: 700;
  font-size: 12px;
  color: var(--jade);
  background: var(--jade-l);
  padding: 3px 9px;
  border-radius: 999px;
}

.sp-actions-desktop {
  display: none;
  margin-bottom: 18px;
}
@media (min-width: 769px) {
  .sp-actions-desktop { display: block; }
}
.sp-qty-row {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 12px;
}
.sp-qty-row label {
  font-family: var(--fd); font-weight: 600; font-size: 13px;
}
.sp-qty-control {
  display: inline-flex; align-items: center;
  background: var(--bg-s); border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
}
.sp-qty-control button {
  width: 32px; height: 36px;
  background: transparent; border: none;
  font-size: 17px; font-weight: 700; cursor: pointer;
}
.sp-qty-control input {
  width: 44px; height: 36px;
  border: none; background: transparent;
  text-align: center;
  font-family: var(--fd); font-weight: 700;
  font-size: 15px;
  -moz-appearance: textfield;
}
.sp-qty-control input::-webkit-outer-spin-button,
.sp-qty-control input::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0;
}
.sp-qty-stock {
  font-size: 11px; color: var(--muted); margin-left: 6px;
}
.sp-cta-main {
  width: 100%;
  padding: 14px;
  font-size: 14px;
}
.sp-cta-row {
  display: grid; grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 8px;
}

/* Tabs */
.sp-tabs {
  display: flex; gap: 6px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.sp-tab {
  background: transparent;
  border: none;
  padding: 10px 14px;
  font-family: var(--fd); font-weight: 700; font-size: 12px;
  color: var(--muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color .15s, border-color .15s;
}
.sp-tab.active {
  color: var(--jade);
  border-bottom-color: var(--jade);
}

.sp-tab-content {
  padding: 6px 0;
}
.sp-description {
  font-size: 13px;
  line-height: 1.7;
  color: var(--txt);
}
.sp-description p { margin: 0 0 10px; }

.sp-attrs {
  margin-top: 14px;
  background: var(--bg-s);
  border-radius: var(--r);
  overflow: hidden;
}
.sp-attr-row {
  display: flex; gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.sp-attr-row:last-child { border-bottom: none; }
.sp-attr-row strong {
  font-family: var(--fd); font-weight: 700;
  min-width: 100px;
}

.sp-vendor-card {
  display: flex; align-items: center; gap: 12px;
  padding: 14px;
  background: var(--bg-s);
  border-radius: var(--r-m);
  text-decoration: none; color: inherit;
  margin-bottom: 12px;
}
.sp-vc-name {
  font-family: var(--fd); font-weight: 700; font-size: 14px;
}
.sp-vc-meta { font-size: 11px; color: var(--muted); margin-top: 2px; }
.sp-vc-rating { font-size: 11px; color: var(--gold); font-weight: 700; margin-top: 2px; }
.sp-vc-arrow {
  margin-left: auto;
  font-size: 18px; color: var(--jade);
}
.sp-vendor-actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
}

.sp-reviews-section {
  background: var(--card);
  border-radius: var(--r-l);
  margin-top: 14px;
  padding: 14px;
}

/* Zoom modal */
.sp-zoom-modal {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  cursor: zoom-out;
}
.sp-zoom-modal img {
  max-width: 100%; max-height: 100%;
  object-fit: contain;
}
.sp-zoom-close {
  position: absolute; top: 20px; right: 20px;
  background: rgba(255,255,255,.2);
  color: #fff;
  border: none;
  width: 44px; height: 44px;
  border-radius: 50%;
  font-size: 22px;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

/* ════════════════════════════════════════════════════
   V5.3 — VENDOR LANDING PAGE
   ════════════════════════════════════════════════════ */
.sitio-vendor-landing-v53 {
  background: var(--bg);
}
.sitio-vendor-landing-v53 .vl-sec {
  padding: 40px 16px;
  max-width: 1100px;
  margin: 0 auto;
}
.sitio-vendor-landing-v53 .vl-sec-header {
  text-align: center;
  margin-bottom: 28px;
}
.sitio-vendor-landing-v53 .vl-sec-header h2 {
  font-family: var(--fd); font-weight: 800;
  font-size: 24px; margin: 0 0 8px;
  color: var(--head);
}
@media (min-width: 769px) {
  .sitio-vendor-landing-v53 .vl-sec-header h2 { font-size: 32px; }
}
.sitio-vendor-landing-v53 .vl-sec-header p {
  font-size: 14px; color: var(--muted);
  margin: 0;
}

/* Hero */
.vl-hero {
  background: linear-gradient(135deg, var(--jade-900) 0%, var(--jade-700) 60%, var(--jade) 100%);
  color: #fff;
  padding: 50px 18px 60px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.vl-hero::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(255,212,71,.15) 0%, transparent 70%);
  pointer-events: none;
}
.vl-hero-content {
  max-width: 720px; margin: 0 auto;
  position: relative;
}
.vl-hero-badge {
  display: inline-block;
  background: rgba(255,255,255,.15);
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--fd); font-weight: 700; font-size: 12px;
  margin-bottom: 18px;
  backdrop-filter: blur(8px);
}
.vl-hero h1 {
  font-family: var(--fd); font-weight: 800;
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 14px;
  color: #fff;
}
@media (min-width: 769px) {
  .vl-hero h1 { font-size: 44px; }
}
.vl-hero p {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,.92);
  margin: 0 0 26px;
}
.vl-hero-cta {
  display: flex; gap: 10px; flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 36px;
}
.vl-cta-main {
  padding: 14px 28px;
  font-size: 14px;
  background: var(--maiz);
  color: var(--head);
  box-shadow: 0 8px 24px rgba(255,212,71,.3);
}
.vl-cta-main:hover { background: #FFC824; }
.vl-cta-secondary {
  padding: 14px 22px;
  background: rgba(255,255,255,.15);
  color: #fff;
  backdrop-filter: blur(8px);
}
.vl-cta-secondary:hover { background: rgba(255,255,255,.22); }

.vl-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 540px;
  margin: 0 auto;
}
.vl-stat {
  background: rgba(255,255,255,.1);
  padding: 14px 8px;
  border-radius: var(--r-m);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.15);
}
.vl-stat-num {
  font-family: var(--fd); font-weight: 800;
  font-size: 26px;
  color: var(--maiz);
  margin-bottom: 3px;
}
.vl-stat-lbl {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: rgba(255,255,255,.85);
}

/* Razones grid */
.vl-reasons-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 600px) {
  .vl-reasons-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .vl-reasons-grid { grid-template-columns: repeat(3, 1fr); }
}
.vl-reason {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 22px;
  transition: transform .2s, box-shadow .2s;
}
.vl-reason:hover {
  transform: translateY(-3px);
  box-shadow: var(--sh-m);
  border-color: var(--jade);
}
.vl-reason-icon {
  font-size: 38px;
  margin-bottom: 12px;
}
.vl-reason h3 {
  margin: 0 0 8px;
  font-family: var(--fd); font-weight: 700; font-size: 16px;
}
.vl-reason p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
}

/* Proceso steps */
.vl-process-steps {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}
@media (min-width: 900px) {
  .vl-process-steps {
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
  }
}
.vl-process-step {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 22px;
  text-align: center;
  flex: 1;
  position: relative;
  max-width: 320px;
  width: 100%;
}
.vl-step-number {
  position: absolute;
  top: -14px; left: 50%;
  transform: translateX(-50%);
  width: 32px; height: 32px;
  background: var(--jade);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd); font-weight: 800; font-size: 14px;
  box-shadow: 0 4px 12px rgba(10,174,134,.3);
}
.vl-step-icon { font-size: 42px; margin: 10px 0 14px; }
.vl-process-step h3 {
  margin: 0 0 8px;
  font-family: var(--fd); font-weight: 700; font-size: 16px;
}
.vl-process-step p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
}
.vl-process-arrow {
  display: none;
  font-size: 26px;
  color: var(--jade);
  align-self: center;
}
@media (min-width: 900px) { .vl-process-arrow { display: block; } }

/* Calculadora */
.vl-calc-card {
  background: linear-gradient(135deg, var(--jade-l) 0%, #fff 100%);
  border: 1.5px solid var(--jade);
  border-radius: var(--r-xl);
  padding: 24px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media (min-width: 769px) {
  .vl-calc-card {
    grid-template-columns: 1.2fr 1fr;
    align-items: center;
    padding: 32px;
  }
}
.vl-calc-input {
  margin-bottom: 18px;
}
.vl-calc-input label {
  display: block;
  font-family: var(--fd); font-weight: 700; font-size: 13px;
  margin-bottom: 8px;
  color: var(--head);
}
.vl-calc-slider {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vl-calc-slider input[type="range"] {
  width: 100%;
  -webkit-appearance: none;
  height: 6px;
  background: linear-gradient(90deg, var(--jade) 50%, var(--line) 50%);
  border-radius: 999px;
  outline: none;
}
.vl-calc-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 22px; height: 22px;
  background: var(--jade);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(10,174,134,.4);
  border: 3px solid #fff;
}
.vl-calc-slider input[type="range"]::-moz-range-thumb {
  width: 22px; height: 22px;
  background: var(--jade);
  border-radius: 50%;
  cursor: pointer;
  border: 3px solid #fff;
}
.vl-calc-value {
  font-family: var(--fd); font-weight: 700; font-size: 14px;
  color: var(--jade);
}
.vl-calc-result {
  background: var(--jade);
  color: #fff;
  padding: 22px;
  border-radius: var(--r-l);
  text-align: center;
  box-shadow: 0 10px 30px rgba(10,174,134,.25);
}
.vl-calc-result-lbl {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: .9;
  margin-bottom: 6px;
}
.vl-calc-result-val {
  font-family: var(--fd); font-weight: 800;
  font-size: 38px;
  margin-bottom: 6px;
}
.vl-calc-result-extra {
  font-size: 13px;
  opacity: .9;
  margin-bottom: 12px;
}
.vl-calc-note {
  font-size: 10px;
  opacity: .75;
  margin: 0;
  line-height: 1.5;
}

/* Testimoniales */
.vl-success-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
@media (min-width: 769px) {
  .vl-success-grid { grid-template-columns: repeat(3, 1fr); }
}
.vl-success-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-l);
  padding: 20px;
}
.vl-success-stars {
  color: var(--gold);
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.vl-success-card p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--txt);
  font-style: italic;
  margin: 0 0 16px;
}
.vl-success-author {
  display: flex; align-items: center; gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 12px;
}
.vl-success-author strong {
  font-family: var(--fd); font-weight: 700;
}
.vl-success-author small { color: var(--muted); font-size: 11px; }

/* FAQ Accordion */
.vl-faq-list {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vl-faq-item {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-m);
  overflow: hidden;
  transition: border-color .2s;
}
.vl-faq-item[open] { border-color: var(--jade); }
.vl-faq-item summary {
  padding: 16px 18px;
  font-family: var(--fd); font-weight: 700; font-size: 14px;
  cursor: pointer;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px;
  user-select: none;
}
.vl-faq-item summary::-webkit-details-marker { display: none; }
.vl-faq-icon {
  width: 24px; height: 24px;
  background: var(--bg-s);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--jade);
  flex-shrink: 0;
  transition: transform .2s, background .2s;
}
.vl-faq-item[open] .vl-faq-icon {
  transform: rotate(45deg);
  background: var(--jade);
  color: #fff;
}
.vl-faq-item p {
  padding: 0 18px 18px;
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

/* CTA final */
.vl-final-cta {
  padding: 60px 16px;
}
.vl-final-cta-card {
  background: linear-gradient(135deg, var(--jade-900), var(--jade-700));
  color: #fff;
  border-radius: var(--r-xl);
  padding: 40px 24px;
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.vl-final-cta-card::before {
  content: '';
  position: absolute;
  top: -50%; right: -30%;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(255,212,71,.15) 0%, transparent 70%);
}
.vl-final-cta-card h2 {
  color: #fff;
  font-family: var(--fd); font-weight: 800;
  font-size: 28px;
  margin: 0 0 12px;
  position: relative;
}
.vl-final-cta-card p {
  font-size: 14px;
  margin: 0 0 24px;
  color: rgba(255,255,255,.92);
  position: relative;
}
.vl-final-cta-buttons {
  display: flex; gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 16px;
  position: relative;
}
.vl-final-cta-note {
  font-size: 11px !important;
  opacity: .75;
  margin: 0 !important;
}


/* ════════════════════════════════════════════════════
   V5.3 — LIVE SEARCH MODAL
   ════════════════════════════════════════════════════ */
.sitio-ls-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 20px 12px;
}
.sitio-ls-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.sitio-ls-panel {
  position: relative;
  width: 100%;
  max-width: 700px;
  max-height: calc(100vh - 40px);
  background: var(--card);
  border-radius: var(--r-l);
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: lsSlide .25s ease-out;
}
@keyframes lsSlide {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}
.sitio-ls-search {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--card);
}
.sitio-ls-search > span:first-child {
  font-size: 20px;
  opacity: .6;
}
.sitio-ls-search input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 17px;
  font-family: var(--fb);
  background: transparent;
  padding: 6px 0;
}
.sitio-ls-search input::placeholder {
  color: var(--muted);
}
.sitio-ls-close {
  background: var(--bg-s);
  border: none;
  width: 32px; height: 32px;
  border-radius: 50%;
  font-size: 14px;
  cursor: pointer;
  font-weight: 700;
  color: var(--muted);
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s;
}
.sitio-ls-close:hover {
  background: var(--achiote);
  color: #fff;
}
.sitio-ls-results {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  background: var(--bg-s);
}
.sitio-ls-empty {
  text-align: center;
  padding: 50px 20px;
  color: var(--muted);
  font-size: 14px;
}
.sitio-ls-loading {
  text-align: center;
  padding: 40px 20px;
  color: var(--muted);
  font-size: 14px;
  font-family: var(--fd); font-weight: 600;
}

.sitio-ls-group {
  margin-bottom: 16px;
}
.sitio-ls-group:last-child { margin-bottom: 0; }
.sitio-ls-group-title {
  font-family: var(--fd); font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: var(--muted);
  padding: 4px 8px 8px;
}

.sitio-ls-item {
  display: flex; align-items: center; gap: 12px;
  background: var(--card);
  border-radius: var(--r);
  padding: 10px 12px;
  margin-bottom: 6px;
  text-decoration: none;
  color: var(--head);
  transition: background .12s, transform .12s;
  border: 1px solid transparent;
}
.sitio-ls-item:hover {
  background: var(--jade-l);
  border-color: var(--jade);
}
.sitio-ls-item img {
  width: 44px; height: 44px;
  border-radius: 8px;
  object-fit: cover;
  background: var(--bg-e);
  flex-shrink: 0;
}
.sitio-ls-item-body {
  flex: 1;
  min-width: 0;
}
.sitio-ls-item-name {
  font-family: var(--fd); font-weight: 700; font-size: 13px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 2px;
}
.sitio-ls-item-price {
  font-size: 12px;
  color: var(--jade);
  font-weight: 700;
}
.sitio-ls-item-meta {
  font-size: 11px;
  color: var(--muted);
}
.sitio-ls-arrow {
  font-size: 18px;
  color: var(--jade);
  flex-shrink: 0;
}
.sitio-ls-store-logo {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--jade);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.sitio-ls-store-logo img {
  width: 100%; height: 100%;
  border-radius: 50%;
}
.sitio-ls-store-letter {
  font-family: var(--fd); font-weight: 800;
  font-size: 18px;
}

.sitio-ls-cat {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--card);
  border-radius: var(--r);
  padding: 10px 14px;
  text-decoration: none;
  color: var(--head);
  margin-bottom: 6px;
  border: 1px solid transparent;
  transition: background .12s, border-color .12s;
}
.sitio-ls-cat:hover {
  background: var(--jade-l);
  border-color: var(--jade);
}
.sitio-ls-cat span {
  font-family: var(--fd); font-weight: 700; font-size: 13px;
}
.sitio-ls-cat small {
  font-size: 11px;
  color: var(--muted);
  font-family: var(--fd); font-weight: 600;
}

/* ════════════════════════════════════════════════════
   V5.3 — SKELETON LOADERS (perceived performance)
   ════════════════════════════════════════════════════ */
.skeleton {
  background: linear-gradient(
    90deg,
    var(--bg-e) 0%,
    var(--bg-s) 50%,
    var(--bg-e) 100%
  );
  background-size: 200% 100%;
  animation: skeletonShimmer 1.4s infinite;
  border-radius: var(--r);
}
@keyframes skeletonShimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.skeleton-text {
  height: 12px;
  margin-bottom: 6px;
}
.skeleton-text-lg {
  height: 18px;
  margin-bottom: 8px;
}
.skeleton-image {
  width: 100%;
  aspect-ratio: 1;
}
.skeleton-circle {
  border-radius: 50%;
}

/* ════════════════════════════════════════════════════
   V5.3 — MINI CARDS para cross-sells / related
   ════════════════════════════════════════════════════ */
.gt-card-mini {
  display: block;
  flex-shrink: 0;
  width: 150px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r-m);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .2s, box-shadow .2s;
}
.gt-card-mini:hover {
  transform: translateY(-2px);
  box-shadow: var(--sh-m);
}
.gt-card-mini-img {
  position: relative;
  aspect-ratio: 1;
  background: var(--bg-e);
  overflow: hidden;
}
.gt-card-mini-img img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.gt-card-mini-img .badge-pct {
  position: absolute;
  top: 6px; left: 6px;
  background: var(--orange);
  color: #fff;
  font-family: var(--fd); font-weight: 800; font-size: 10px;
  padding: 2px 7px;
  border-radius: 999px;
}
.gt-card-mini-body {
  padding: 8px 10px 10px;
}
.gt-card-mini-title {
  font-size: 11px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 28px;
  margin-bottom: 4px;
  color: var(--head);
  font-weight: 600;
}
.gt-card-mini-price {
  font-family: var(--fd); font-weight: 800; font-size: 13px;
  color: var(--jade);
}


/* ═══════════════════════════════════════════════════════
   sitio.gt V5.4 — Componentes nuevos
   - Timeline de pedidos
   - Cards de "Mis pedidos" con filtros
   - Página /dejar-resena/
   - Refinement de checkout payment card
   - Mobile-first, cross-browser (Chrome, Safari, Firefox, Edge)
═══════════════════════════════════════════════════════ */

/* ─── TIMELINE ────────────────────────────────────────── */
.sitio-timeline{
  display:flex;align-items:flex-start;gap:6px;
  padding:14px 4px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.sitio-timeline::-webkit-scrollbar{display:none;}
.sitio-tl-step{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  flex:0 0 80px;text-align:center;
}
.sitio-tl-dot{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease;
  -webkit-transition:transform .2s ease,box-shadow .2s ease;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.sitio-tl-active .sitio-tl-dot{
  transform:scale(1.08);-webkit-transform:scale(1.08);
  box-shadow:0 4px 14px rgba(10,174,134,.25);
}
.sitio-tl-pending .sitio-tl-dot{opacity:.55;}
.sitio-tl-label{
  font-size:11px;font-weight:700;font-family:var(--fd,'Poppins',sans-serif);
  color:var(--head,#1f2937);line-height:1.2;
}
.sitio-tl-pending .sitio-tl-label{color:#9ca3af;font-weight:600;}
.sitio-tl-short{font-size:9px;color:var(--muted,#6b7280);line-height:1.2;max-width:74px;}
.sitio-tl-line{
  flex:1;height:3px;background:#e5e7eb;border-radius:2px;
  margin-top:18px;min-width:12px;
}
.sitio-tl-line.is-done{background:#10B981;}
.sitio-tl-cancelled{
  display:flex;align-items:center;gap:10px;padding:6px;
  background:#FEF2F2;border-radius:10px;width:100%;
}
.sitio-tl-cancelled .sitio-tl-dot{width:34px;height:34px;}

/* ─── ORDERS PAGE ──────────────────────────────────────── */
.sitio-orders-page{padding-bottom:80px;}
.sitio-orders-hero{
  background:linear-gradient(135deg,var(--jade-700,#064838),var(--jade,#0AAE86));
  padding:18px 14px 22px;color:#fff;
}
.sitio-orders-hero-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:20px;
  letter-spacing:-.01em;
}
.sitio-orders-hero-sub{font-size:11px;opacity:.85;margin-top:2px;}

.sitio-orders-filters{
  display:flex;gap:8px;padding:12px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  position:-webkit-sticky;position:sticky;top:0;
  background:var(--bg,#fff);z-index:5;
  border-bottom:1px solid var(--bdr,#e5e7eb);
}
.sitio-orders-filters::-webkit-scrollbar{display:none;}
.sitio-filter-tab{
  flex-shrink:0;
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 13px;border-radius:99px;
  background:#f3f4f6;color:var(--head,#1f2937);
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12px;
  text-decoration:none;
  border:1.5px solid transparent;
  white-space:nowrap;
  min-height:36px;
  transition:background .15s ease,border-color .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.sitio-filter-tab .ct{
  background:rgba(0,0,0,.08);color:inherit;
  padding:1px 7px;border-radius:99px;font-size:10px;font-weight:800;
}
.sitio-filter-tab.is-active{
  background:var(--filter-color,var(--jade,#0AAE86));
  color:#fff;border-color:var(--filter-color,var(--jade,#0AAE86));
}
.sitio-filter-tab.is-active .ct{background:rgba(255,255,255,.25);color:#fff;}

.sitio-orders-list{padding:12px;}

.sitio-order-card{
  background:var(--bg,#fff);
  border:1px solid var(--bdr,#e5e7eb);
  border-radius:14px;
  margin-bottom:10px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.sitio-order-card-top{display:flex;gap:11px;padding:12px;align-items:flex-start;}
.sitio-order-thumb{
  width:54px;height:54px;border-radius:11px;
  background:var(--bg-e,#f3f4f6);
  flex-shrink:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;
}
.sitio-order-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.sitio-order-info{flex:1;min-width:0;}
.sitio-order-row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px;}
.sitio-order-code{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:12px;
  color:var(--jade,#0AAE86);letter-spacing:.01em;
}
.sitio-order-badge{
  padding:2px 8px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:9.5px;
  letter-spacing:.02em;white-space:nowrap;
}
.sitio-order-title{
  font-weight:700;font-size:13.5px;color:var(--head,#1f2937);
  line-height:1.3;margin-bottom:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.sitio-order-vendor{font-size:11px;color:var(--muted,#6b7280);margin-bottom:5px;}
.sitio-order-meta{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  font-size:11px;color:var(--muted,#6b7280);
}
.sitio-order-total{
  margin-left:auto;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:14px;
  color:var(--jade,#0AAE86);
}

.sitio-order-status-bar{
  width:100%;
  display:flex;align-items:center;gap:9px;
  padding:11px 14px;
  background:color-mix(in srgb, var(--status-color,#F59E0B) 10%, transparent);
  border:none;border-top:1px solid var(--bdr,#e5e7eb);
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12.5px;
  color:var(--status-color,#F59E0B);
  cursor:pointer;
  text-align:left;
  min-height:44px;
  -webkit-tap-highlight-color:transparent;
  transition:background .15s ease;
}
/* Fallback para navegadores sin color-mix (Safari <16.4): bg gris claro */
@supports not (background:color-mix(in srgb, red 10%, transparent)){
  .sitio-order-status-bar{background:#f9fafb;}
}
.sitio-order-status-bar:hover{filter:brightness(.97);}
.sitio-order-status-dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--status-color,#F59E0B);flex-shrink:0;
  box-shadow:0 0 0 4px color-mix(in srgb, var(--status-color,#F59E0B) 20%, transparent);
}
.sitio-order-status-label{flex:1;}
.sitio-order-status-toggle{
  font-size:14px;transition:transform .2s ease;-webkit-transition:transform .2s ease;
  display:inline-block;
}
.sitio-order-status-bar[aria-expanded="true"] .sitio-order-status-toggle{
  transform:rotate(180deg);-webkit-transform:rotate(180deg);
}

.sitio-order-timeline-wrap{
  padding:8px 12px 14px;border-top:1px dashed var(--bdr,#e5e7eb);
  background:#fbfbfb;
}
.sitio-order-timeline-wrap[hidden]{display:none;}

.sitio-order-actions{
  display:flex;gap:8px;flex-wrap:wrap;
  padding-top:10px;
}
.sitio-order-btn{
  padding:10px 14px;border-radius:9px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12.5px;
  border:none;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
  min-height:40px;
  -webkit-tap-highlight-color:transparent;
  transition:transform .1s ease,box-shadow .15s ease;
}
.sitio-order-btn:active{transform:scale(.97);-webkit-transform:scale(.97);}
.sitio-order-btn-wa{background:#25D366;color:#fff;}
.sitio-order-btn-wa:hover{background:#1FB857;}
.sitio-order-btn-primary{background:var(--jade,#0AAE86);color:#fff;}
.sitio-order-btn-primary:hover{background:#089970;}
.sitio-order-btn-ghost{background:transparent;color:var(--head,#1f2937);border:1.5px solid var(--bdr,#e5e7eb);}
.sitio-order-btn-ghost:hover{background:#f9fafb;}
.sitio-order-btn-danger{background:#FEE2E2;color:#DC2626;}
.sitio-order-btn-danger:hover{background:#FECACA;}

.sitio-orders-empty{
  text-align:center;padding:60px 20px;
}
.sitio-orders-empty-icon{font-size:56px;margin-bottom:12px;}
.sitio-orders-empty-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:18px;
  margin-bottom:6px;color:var(--head,#1f2937);
}
.sitio-orders-empty p{font-size:13px;color:var(--muted,#6b7280);margin-bottom:20px;}

/* ─── REVIEW PAGE ─────────────────────────────────────── */
.sitio-review-page{padding-bottom:60px;background:#fafafa;}
.sitio-review-hero{
  background:linear-gradient(135deg,#FFD447,#F59E0B);
  padding:30px 16px 36px;color:#fff;text-align:center;
}
.sitio-review-hero-inner{max-width:480px;margin:0 auto;}
.sitio-review-hero-icon{font-size:54px;margin-bottom:6px;line-height:1;}
.sitio-review-hero-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:24px;
  margin:0;letter-spacing:-.01em;
}
.sitio-review-hero-p{font-size:13px;opacity:.9;margin-top:6px;}

.sitio-review-wrap{padding:16px;max-width:540px;margin:-20px auto 0;}
.sitio-review-card{
  background:#fff;border-radius:18px;padding:20px;
  box-shadow:0 6px 20px rgba(0,0,0,.06);
  border:1px solid var(--bdr,#e5e7eb);
}
.sitio-review-empty{text-align:center;}
.sitio-review-empty-icon{font-size:54px;margin-bottom:10px;}
.sitio-review-empty h2{font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:20px;margin:0 0 6px;}
.sitio-review-empty p{font-size:13px;color:var(--muted,#6b7280);margin-bottom:18px;}

.sitio-review-vendor{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.sitio-review-vendor-logo{
  width:54px;height:54px;border-radius:50%;
  border:2px solid var(--jade,#0AAE86);object-fit:cover;flex-shrink:0;
  background:#f3f4f6;
}
.sitio-review-vendor-name{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:16px;
  color:var(--head,#1f2937);
}
.sitio-review-vendor-loc{font-size:12px;color:var(--muted,#6b7280);}
.sitio-review-order{font-size:11px;color:var(--muted,#6b7280);margin-top:2px;}
.sitio-review-order code{
  background:#f3f4f6;padding:2px 7px;border-radius:4px;font-size:11px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

.sitio-review-q{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:15px;
  text-align:center;margin:18px 0 10px;
}
.sitio-stars{
  display:flex;justify-content:center;gap:6px;
  padding:6px 0 4px;
}
.sitio-star{
  background:transparent;border:none;cursor:pointer;
  color:#e5e7eb;padding:6px;
  line-height:0;
  transition:transform .15s ease,color .15s ease;
  -webkit-transition:transform .15s ease,color .15s ease;
  -webkit-tap-highlight-color:transparent;
  min-width:44px;min-height:44px;
  display:flex;align-items:center;justify-content:center;
}
.sitio-star:hover{transform:scale(1.1);-webkit-transform:scale(1.1);}
.sitio-star:active{transform:scale(.95);-webkit-transform:scale(.95);}
.sitio-star.is-on{color:#FFD447;}
.sitio-rating-label{
  text-align:center;font-size:12px;color:var(--muted,#6b7280);
  font-weight:600;margin:4px 0 16px;
  min-height:18px;
}
.sitio-rating-label.is-set{color:var(--jade,#0AAE86);font-weight:700;}

.sitio-review-label{
  display:block;font-size:13px;font-weight:700;font-family:var(--fd,'Poppins',sans-serif);
  margin-bottom:6px;color:var(--head,#1f2937);
}
.sitio-review-form textarea{
  width:100%;padding:12px;border:1.5px solid var(--bdr,#e5e7eb);
  border-radius:10px;font-family:inherit;font-size:16px; /* 16px previene zoom en iOS */
  line-height:1.4;resize:vertical;min-height:110px;
  -webkit-appearance:none;
  transition:border-color .15s ease;
}
.sitio-review-form textarea:focus{
  outline:none;border-color:var(--jade,#0AAE86);
  box-shadow:0 0 0 3px rgba(10,174,134,.15);
}
.sitio-review-counter{
  text-align:right;font-size:11px;color:var(--muted,#6b7280);margin-top:4px;
  margin-bottom:14px;
}
.sitio-review-msg{
  margin-top:12px;text-align:center;font-size:13px;font-weight:600;min-height:18px;
}
.sitio-review-msg.is-ok{color:#10B981;}
.sitio-review-msg.is-error{color:#DC2626;}
.sitio-review-login-msg{
  font-size:13px;color:var(--muted,#6b7280);line-height:1.5;
  margin:14px 0 16px;text-align:center;
}
.sitio-review-note{
  text-align:center;font-size:11px;color:var(--muted,#6b7280);
  margin-top:16px;line-height:1.5;
}

/* Botón compartido para review/login */
.sitio-btn{
  padding:13px 22px;border-radius:11px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:14px;
  border:none;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:48px;
  -webkit-tap-highlight-color:transparent;
  transition:transform .1s ease,filter .15s ease;
}
.sitio-btn:active{transform:scale(.98);-webkit-transform:scale(.98);}
.sitio-btn-block{width:100%;}
.sitio-btn-primary{background:var(--jade,#0AAE86);color:#fff;}
.sitio-btn-primary:hover{background:#089970;}
.sitio-btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.sitio-btn-ghost{background:transparent;color:var(--head,#1f2937);border:1.5px solid var(--bdr,#e5e7eb);margin-top:8px;}
.sitio-btn-ghost:hover{background:#f9fafb;}

/* ─── CHECKOUT PAYMENT CARD REFINEMENT ────────────────── */
.ch-payment-card .ch-payment-methods{margin-top:8px;}
/* WC renderea ul.payment_methods con li por gateway */
.ch-payment-methods ul.wc_payment_methods,
.ch-payment-methods ul.payment_methods{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;
}
.ch-payment-methods ul.wc_payment_methods li,
.ch-payment-methods ul.payment_methods li{
  background:#fff;border:1.5px solid var(--bdr,#e5e7eb);border-radius:12px;
  padding:12px 14px;list-style:none;
  transition:border-color .15s ease,background .15s ease;
  margin:0;
}
.ch-payment-methods ul.wc_payment_methods li:has(input[type="radio"]:checked),
.ch-payment-methods ul.payment_methods li:has(input[type="radio"]:checked){
  border-color:var(--jade,#0AAE86);
  background:rgba(10,174,134,.04);
}
.ch-payment-methods label{
  display:flex !important;align-items:center;gap:10px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:14px;
  color:var(--head,#1f2937);cursor:pointer;
  margin:0 !important;
}
.ch-payment-methods input[type="radio"]{
  width:18px;height:18px;accent-color:var(--jade,#0AAE86);
  flex-shrink:0;cursor:pointer;
}
.ch-payment-methods .payment_box{
  margin-top:8px;padding:10px 12px;background:#f9fafb;
  border-radius:8px;font-size:12.5px;color:var(--muted,#6b7280);line-height:1.5;
}
.ch-payment-methods .payment_box p{margin:0;}
.ch-payment-methods .about_paypal{display:none;}

/* WhatsApp como #1: destacado visual */
.ch-payment-methods li.payment_method_sitio_whatsapp,
.ch-payment-methods li.wc_payment_method.payment_method_sitio_whatsapp{
  background:linear-gradient(135deg,#25D36608,#25D36603);
  border-color:#25D36640;
}

/* ─── PAY INSTRUCTIONS (thankyou) ─────────────────────── */
.sitio-pay-instructions{font-family:var(--fd,'Poppins',sans-serif);}

/* ─── CARD STUB (Tarjeta directa coming soon) ─────────── */
.sitio-card-stub{font-family:inherit;}

/* ─── MOBILE TWEAKS ───────────────────────────────────── */
@media (max-width:480px){
  .sitio-tl-step{flex:0 0 70px;}
  .sitio-tl-dot{width:34px;height:34px;font-size:16px;}
  .sitio-tl-label{font-size:10.5px;}
  .sitio-tl-short{font-size:9px;max-width:64px;}
  .sitio-orders-hero-h{font-size:18px;}
  .sitio-order-thumb{width:48px;height:48px;}
  .sitio-order-title{font-size:13px;}
  .sitio-review-hero-h{font-size:20px;}
  .sitio-review-card{padding:16px;border-radius:14px;}
  .sitio-star svg{width:36px;height:36px;}
}

/* ─── DESKTOP: timeline más amplio ─────────────────────── */
@media (min-width:768px){
  .sitio-tl-step{flex:0 0 110px;}
  .sitio-tl-dot{width:44px;height:44px;font-size:20px;}
  .sitio-tl-label{font-size:12px;}
  .sitio-tl-short{font-size:10px;max-width:100px;}
  .sitio-orders-list{max-width:780px;margin:0 auto;}
}

/* ─── REDUCED MOTION ──────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  .sitio-tl-dot,.sitio-star,.sitio-order-btn,.sitio-btn,
  .sitio-order-status-toggle,.sitio-filter-tab{
    transition:none !important;-webkit-transition:none !important;
  }
  .sitio-tl-active .sitio-tl-dot{transform:none;-webkit-transform:none;}
}

/* ─── PRINT (oculta UI interactiva en imprimir) ────────── */
@media print{
  .sitio-orders-filters,.sitio-order-actions,.sitio-order-status-toggle{display:none !important;}
  .sitio-order-timeline-wrap{display:block !important;}
  .sitio-order-card{break-inside:avoid;}
}

/* ═══════════════════════════════════════════════════════
   sitio.gt V5.4 — CARRUSELES DEL HOME (configurables Customizer)
   - Mobile: scroll-snap horizontal con swipe nativo
   - Desktop: grid compacto con flechas
═══════════════════════════════════════════════════════ */
.sitio-home-carousels-wrap{
  padding:0;
  background:transparent;
}
.sitio-home-carousel{
  position:relative;
  margin:14px 0;
  padding:0 12px;
}
.sitio-carousel-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:10px;
}
.sitio-carousel-title{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:16px;
  margin:0;color:var(--head,#1f2937);
  letter-spacing:-.01em;line-height:1.2;
  flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sitio-carousel-cta{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:11px;
  color:var(--jade,#0AAE86);text-decoration:none;
  white-space:nowrap;flex-shrink:0;
  padding:6px 10px;border-radius:99px;
  background:rgba(10,174,134,.08);
  transition:background .15s ease;
}
.sitio-carousel-cta:hover{background:rgba(10,174,134,.16);color:#089970;}

.sitio-carousel-track{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding-bottom:6px;
  margin:0 -12px;
  padding-left:12px;padding-right:12px;
  scroll-padding-left:12px;
}
.sitio-carousel-track::-webkit-scrollbar{display:none;}
.sitio-carousel-track:focus{outline:none;}
.sitio-carousel-track:focus-visible{outline:2px solid var(--jade,#0AAE86);outline-offset:2px;border-radius:8px;}

.sitio-carousel-item{
  flex:0 0 46%;
  scroll-snap-align:start;
  max-width:160px;
}
.sitio-carousel-link{
  display:block;
  background:var(--bg,#fff);
  border:1px solid var(--bdr,#e5e7eb);
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
  transition:transform .15s ease,box-shadow .15s ease;
  -webkit-tap-highlight-color:transparent;
  height:100%;
}
.sitio-carousel-link:hover{
  transform:translateY(-2px);-webkit-transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.sitio-carousel-link:active{transform:scale(.98);-webkit-transform:scale(.98);}

.sitio-carousel-img{
  position:relative;
  width:100%;aspect-ratio:1/1;
  background:var(--bg-e,#f3f4f6);
  overflow:hidden;
  /* Fallback para navegadores sin aspect-ratio (Safari <15) */
}
@supports not (aspect-ratio:1/1){
  .sitio-carousel-img{height:0;padding-bottom:100%;}
  .sitio-carousel-img img{position:absolute;inset:0;}
}
.sitio-carousel-img img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.sitio-carousel-badge{
  position:absolute;top:6px;left:6px;
  background:var(--orange,#FF6B22);color:#fff;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:9.5px;
  padding:2px 7px;border-radius:99px;
  letter-spacing:.02em;z-index:1;
  box-shadow:0 2px 5px rgba(255,107,34,.3);
}

.sitio-carousel-info{padding:8px 10px 10px;}
.sitio-carousel-name{
  font-size:11.5px;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  height:30px;
  margin-bottom:3px;
  color:var(--head,#1f2937);
  font-weight:600;
}
.sitio-carousel-vendor{
  font-size:9.5px;color:var(--muted,#6b7280);
  margin-bottom:4px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.sitio-carousel-price-row{
  display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
}
.sitio-carousel-price{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:13px;
  color:var(--jade,#0AAE86);
}
.sitio-carousel-price-old{
  font-size:10px;color:var(--muted,#6b7280);
  text-decoration:line-through;
}

/* ─── FLECHAS (desktop only) ───────────────────────── */
.sitio-carousel-arrow{
  display:none;
  position:absolute;top:55%;transform:translateY(-50%);-webkit-transform:translateY(-50%);
  width:36px;height:36px;border-radius:50%;
  background:#fff;color:var(--head,#1f2937);
  border:1px solid var(--bdr,#e5e7eb);
  font-size:22px;font-weight:700;line-height:1;
  cursor:pointer;z-index:2;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  transition:background .15s ease,transform .15s ease;
}
.sitio-carousel-arrow:hover{background:var(--jade,#0AAE86);color:#fff;}
.sitio-carousel-arrow-prev{left:-4px;}
.sitio-carousel-arrow-next{right:-4px;}
.sitio-carousel-arrow[disabled]{opacity:.4;cursor:not-allowed;}

/* ─── TABLET / DESKTOP ──────────────────────────────── */
@media (min-width:600px){
  .sitio-home-carousel{padding:0 18px;margin:18px auto;max-width:1280px;}
  .sitio-carousel-title{font-size:18px;}
  .sitio-carousel-track{margin:0;padding-left:0;padding-right:0;scroll-padding-left:0;gap:14px;}
  .sitio-carousel-item{flex:0 0 calc(33.333% - 10px);max-width:240px;}
}

@media (min-width:900px){
  .sitio-carousel-item{flex:0 0 calc(25% - 11px);max-width:240px;}
  .sitio-carousel-arrow{display:flex;align-items:center;justify-content:center;}
  /* Limpieza visual desktop */
  .sitio-carousel-track{padding-bottom:10px;}
  .sitio-carousel-name{font-size:13px;height:34px;}
  .sitio-carousel-price{font-size:15px;}
  .sitio-carousel-vendor{font-size:11px;}
}

@media (min-width:1200px){
  .sitio-carousel-item{flex:0 0 calc(20% - 12px);}
  .sitio-home-carousel{padding:0 24px;}
}

/* ─── REDUCED MOTION ────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .sitio-carousel-track{scroll-behavior:auto;}
  .sitio-carousel-link,.sitio-carousel-arrow{transition:none;-webkit-transition:none;}
  .sitio-carousel-link:hover{transform:none;-webkit-transform:none;}
}

/* ═══════════════════════════════════════════════════════
   sitio.gt V5.5 — Componentes nuevos
   - Directorio tiendas pro (.sd-*)
   - Mis Tiendas / Followed (.sf-*)
   - Servicios v55 (.ssv-* + .sitio-svc-*)
═══════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────
   1) DIRECTORIO DE TIENDAS — .sd-*
   ────────────────────────────────────────── */
.sitio-stores-directory-v55{padding-bottom:80px;background:#fafafa;min-height:100vh;}

.sd-hero{
  background:linear-gradient(135deg,#064838,#0AAE86);
  padding:24px 16px 32px;color:#fff;text-align:center;
}
.sd-hero-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:22px;
  margin:0 0 6px;letter-spacing:-.01em;
}
.sd-hero-sub{font-size:13px;opacity:.95;margin:0;}
.sd-follow-link{color:#FFD447;font-weight:700;text-decoration:none;}
.sd-follow-link:hover{text-decoration:underline;}

.sd-filters{
  background:#fff;padding:14px 12px;
  position:-webkit-sticky;position:sticky;top:0;z-index:5;
  border-bottom:1px solid var(--bdr,#e5e7eb);
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.sd-search-row{
  display:flex;align-items:center;gap:8px;
  background:#f3f4f6;border-radius:99px;padding:6px 6px 6px 14px;
  margin-bottom:10px;
}
.sd-search-icon{font-size:16px;flex-shrink:0;}
.sd-search-row input{
  flex:1;border:none;background:transparent;
  font-size:16px;outline:none;min-width:0;
  font-family:inherit;
}
.sd-search-btn{
  background:var(--jade,#0AAE86);color:#fff;
  border:none;padding:8px 16px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12px;
  cursor:pointer;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
}

.sd-active-filter{
  background:#FFD44720;color:#92400E;
  padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;
  margin-bottom:8px;text-align:center;
}
.sd-active-filter a{color:#92400E;text-decoration:underline;margin-left:8px;}

.sd-tabs{
  display:flex;gap:8px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:4px;margin-bottom:10px;
}
.sd-tabs::-webkit-scrollbar{display:none;}
.sd-tab{
  flex-shrink:0;
  background:#f3f4f6;color:var(--head,#1f2937);
  padding:8px 14px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12px;
  text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
  border:1.5px solid transparent;
  -webkit-tap-highlight-color:transparent;
  transition:background .15s;
}
.sd-tab:hover{background:#e5e7eb;}
.sd-tab.is-active{background:var(--jade,#0AAE86);color:#fff;border-color:var(--jade,#0AAE86);}
.sd-tab-ct{
  background:rgba(0,0,0,.08);padding:1px 7px;border-radius:99px;
  font-size:10px;font-weight:800;
}
.sd-tab.is-active .sd-tab-ct{background:rgba(255,255,255,.22);}

.sd-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.sd-pills-scroll{
  flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:4px;
}
.sd-pills-scroll::-webkit-scrollbar{display:none;}
.sd-pill{
  flex-shrink:0;
  background:#fff;color:var(--head,#1f2937);
  padding:5px 11px;border-radius:99px;
  font-size:11px;font-weight:600;
  text-decoration:none;white-space:nowrap;
  border:1px solid var(--bdr,#e5e7eb);
  -webkit-tap-highlight-color:transparent;
}
.sd-pill.is-active{background:var(--jade,#0AAE86);color:#fff;border-color:var(--jade,#0AAE86);}

.sd-toolbar{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding-top:6px;border-top:1px dashed var(--bdr,#e5e7eb);
}
.sd-toolbar select{
  background:#fff;border:1px solid var(--bdr,#e5e7eb);
  padding:7px 10px;border-radius:8px;font-size:13px;
  font-family:inherit;cursor:pointer;
}
.sd-toggle{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;cursor:pointer;
}
.sd-toggle input{accent-color:var(--jade,#0AAE86);}

/* GRID */
.sd-grid{
  padding:14px 12px;display:grid;gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}
@media (max-width:600px){
  .sd-grid{grid-template-columns:1fr;}
}

.sd-card{
  background:#fff;border-radius:14px;overflow:hidden;
  border:1px solid var(--bdr,#e5e7eb);
  position:relative;
  transition:transform .15s,box-shadow .2s;
}
.sd-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.sd-card-link{display:block;text-decoration:none;color:inherit;}

.sd-card-banner{
  height:80px;position:relative;
}
.sd-card-badges{
  position:absolute;top:8px;right:8px;
  display:flex;gap:4px;
}
.sd-badge{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
}
.sd-badge-jade{background:#0AAE86;color:#fff;}
.sd-badge-gold{background:#FFD447;color:#92400E;}
.sd-badge-silver{background:#94A3B8;color:#fff;}

.sd-card-logo-wrap{
  margin-top:-30px;margin-left:14px;
  position:relative;z-index:2;
  width:fit-content;
}
.sd-card-logo{
  width:58px;height:58px;border-radius:14px;
  border:3px solid #fff;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:22px;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
  overflow:hidden;
}
.sd-card-logo img{width:100%;height:100%;object-fit:cover;}

.sd-card-body{padding:8px 14px 14px;}
.sd-card-name{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:15px;
  margin:0 0 2px;color:var(--head,#1f2937);
  letter-spacing:-.01em;line-height:1.2;
}
.sd-card-loc{font-size:12px;color:var(--muted,#6b7280);margin-bottom:8px;}
.sd-card-stats{
  display:flex;gap:10px;flex-wrap:wrap;
  font-size:11.5px;color:var(--muted,#6b7280);margin-bottom:8px;
}
.sd-card-stats strong{color:var(--head,#1f2937);font-weight:700;}

.sd-card-preview{
  display:flex;gap:4px;margin-top:6px;
}
.sd-card-thumb{
  flex:1;aspect-ratio:1/1;
  background-color:#f3f4f6;background-size:cover;background-position:center;
  border-radius:6px;min-height:50px;
}
@supports not (aspect-ratio:1/1){
  .sd-card-thumb{height:0;padding-bottom:100%;position:relative;}
}
.sd-card-thumb-more{
  flex:1;aspect-ratio:1/1;
  background:linear-gradient(135deg,#0AAE8615,#0AAE8608);
  color:var(--jade,#0AAE86);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:13px;
  border-radius:6px;border:1px dashed #0AAE8640;min-height:50px;
}

.sd-card-actions{
  position:absolute;top:8px;left:8px;
  display:flex;gap:6px;
  z-index:3;
}
.sd-card-btn{
  background:#fff;border:none;
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  text-decoration:none;color:var(--head,#1f2937);
  -webkit-tap-highlight-color:transparent;
  transition:transform .12s,background .15s;
}
.sd-card-btn:hover{transform:scale(1.05);}
.sd-card-btn-wa{background:#25D366;color:#fff;}
.sd-card-btn-follow{
  width:auto;border-radius:99px;padding:0 12px;font-size:11px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;
  white-space:nowrap;
}
.sd-card-btn-follow.is-following{background:var(--jade,#0AAE86);color:#fff;}

.sd-empty{
  text-align:center;padding:60px 20px;
  background:#fff;border-radius:14px;border:1px solid var(--bdr,#e5e7eb);
}
.sd-empty-icon{font-size:54px;margin-bottom:10px;}
.sd-empty-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:18px;
  margin:0 0 6px;color:var(--head,#1f2937);
}
.sd-empty p{font-size:13px;color:var(--muted,#6b7280);margin-bottom:20px;}

/* ──────────────────────────────────────────
   2) MIS TIENDAS (FOLLOWED) — .sf-*
   ────────────────────────────────────────── */
.sitio-followed-page{padding-bottom:80px;background:#fafafa;}
.sf-hero{
  background:linear-gradient(135deg,#7C3AED,#5B21B6);
  padding:24px 16px 30px;color:#fff;text-align:center;
}
.sf-hero-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:22px;
  margin:0 0 6px;
}
.sf-hero-sub{font-size:13px;opacity:.95;margin:0;}

.sf-empty{
  text-align:center;padding:80px 20px;
  background:#fff;margin:20px;border-radius:14px;
  border:1px solid var(--bdr,#e5e7eb);
}
.sf-empty-icon{font-size:64px;margin-bottom:14px;}
.sf-empty-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:20px;
  margin:0 0 8px;
}
.sf-empty-p{font-size:14px;color:var(--muted,#6b7280);margin-bottom:24px;}

.sf-section-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 16px 10px;flex-wrap:wrap;gap:10px;
}
.sf-section-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:17px;
  margin:0;color:var(--head,#1f2937);
}
.sf-section-sub{font-size:11px;color:var(--muted,#6b7280);}
.sf-section-link{
  color:var(--jade,#0AAE86);font-weight:700;font-size:12px;text-decoration:none;
}

/* News carousel */
.sf-news-section{padding-bottom:14px;}
.sf-news-track{
  display:flex;gap:10px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding:0 16px 14px;
  scroll-snap-type:x mandatory;
}
.sf-news-track::-webkit-scrollbar{display:none;}
.sf-news-card{
  flex:0 0 160px;scroll-snap-align:start;
}
.sf-news-link{display:block;text-decoration:none;color:inherit;}
.sf-news-thumb{
  position:relative;aspect-ratio:1/1;border-radius:12px;
  overflow:hidden;background:#f3f4f6;
}
@supports not (aspect-ratio:1/1){
  .sf-news-thumb{height:0;padding-bottom:100%;}
}
.sf-news-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.sf-news-badge{
  position:absolute;top:6px;left:6px;
  background:linear-gradient(135deg,#FFD447,#F59E0B);color:#92400E;
  padding:2px 8px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:9px;
  letter-spacing:.04em;
}
.sf-news-sale{
  position:absolute;top:6px;right:6px;
  background:var(--orange,#FF6B22);color:#fff;
  padding:2px 7px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:10px;
}
.sf-news-info{padding:8px 4px 0;}
.sf-news-vendor{font-size:10px;color:var(--muted,#6b7280);margin-bottom:2px;}
.sf-news-name{
  font-size:12px;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;height:32px;margin-bottom:4px;
  color:var(--head,#1f2937);
}
.sf-news-price{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:13px;
  color:var(--jade,#0AAE86);
}

/* Stores grid */
.sf-stores-grid{
  display:grid;gap:10px;padding:0 16px 30px;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}
@media (max-width:600px){.sf-stores-grid{grid-template-columns:1fr;}}

.sf-store-card{
  background:#fff;border-radius:12px;overflow:hidden;
  border:1px solid var(--bdr,#e5e7eb);position:relative;
}
.sf-store-link{display:block;text-decoration:none;color:inherit;}
.sf-store-banner{height:60px;}
.sf-store-body{padding:10px 12px 12px;display:flex;gap:10px;margin-top:-22px;align-items:flex-end;}
.sf-store-logo{
  width:46px;height:46px;border-radius:10px;
  border:3px solid #fff;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:#fff;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;
  overflow:hidden;
}
.sf-store-logo img{width:100%;height:100%;object-fit:cover;}
.sf-store-info{flex:1;min-width:0;padding-bottom:2px;}
.sf-store-name{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:14px;
  color:var(--head,#1f2937);
  display:flex;align-items:center;gap:6px;line-height:1.2;
}
.sf-store-verified{color:#0AAE86;font-size:11px;}
.sf-store-meta{font-size:11px;color:var(--muted,#6b7280);margin-top:2px;}
.sf-store-new{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:10.5px;
  color:#F59E0B;margin-top:4px;
}
.sf-store-unfollow{
  position:absolute;top:8px;right:8px;z-index:3;
}

/* ──────────────────────────────────────────
   3) SERVICIOS V5.5 — .ssv-* + .sitio-svc-*
   ────────────────────────────────────────── */
.sitio-services-page-v55{padding-bottom:80px;background:#fafafa;min-height:100vh;}

.ssv-hero{
  background:linear-gradient(135deg,#FF6B22,#F59E0B);
  padding:24px 16px 30px;color:#fff;text-align:center;
}
.ssv-hero-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:22px;
  margin:0 0 6px;line-height:1.2;letter-spacing:-.01em;
}
.ssv-hero-sub{font-size:13px;opacity:.95;margin:0;}

.ssv-filters{
  background:#fff;padding:14px 12px;
  border-bottom:1px solid var(--bdr,#e5e7eb);
}
.ssv-search-row{
  display:flex;align-items:center;gap:8px;
  background:#f3f4f6;border-radius:99px;padding:6px 6px 6px 14px;
  margin-bottom:12px;
}
.ssv-search-row input{
  flex:1;border:none;background:transparent;
  font-size:16px;outline:none;font-family:inherit;
}
.ssv-search-btn{
  background:var(--jade,#0AAE86);color:#fff;border:none;
  padding:8px 16px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12px;
  cursor:pointer;flex-shrink:0;
}

.ssv-type-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
  margin-bottom:12px;
}
@media (max-width:480px){
  .ssv-type-tabs{grid-template-columns:repeat(2,1fr);}
}
.ssv-type-tab{
  background:#f3f4f6;color:var(--head,#1f2937);
  padding:10px 6px;border-radius:10px;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  text-decoration:none;
  border:1.5px solid transparent;
  transition:background .15s,border-color .15s;
  -webkit-tap-highlight-color:transparent;
  min-height:60px;
}
.ssv-type-tab:hover{background:#e5e7eb;}
.ssv-type-tab.is-active{background:#fff;border-color:var(--jade,#0AAE86);box-shadow:0 2px 6px rgba(10,174,134,.15);}
.ssv-type-icon{font-size:18px;line-height:1;}
.ssv-type-label{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:11.5px;
}

.ssv-cat-pills{
  display:flex;gap:6px;flex-wrap:nowrap;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:4px;
}
.ssv-cat-pills::-webkit-scrollbar{display:none;}
.ssv-cat-pill{
  flex-shrink:0;
  background:#f3f4f6;color:var(--head,#1f2937);
  padding:5px 11px;border-radius:99px;
  font-size:11px;font-weight:600;
  text-decoration:none;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.ssv-cat-pill.is-active{background:var(--jade,#0AAE86);color:#fff;}

.ssv-info-bar{
  background:#FEF3C7;color:#92400E;
  padding:12px 16px;font-size:12.5px;line-height:1.5;
  margin:0;border-bottom:1px solid #FCD34D;
}
.ssv-info-bar a{color:#92400E;font-weight:700;text-decoration:underline;}

/* Grid de servicios (.sitio-svc-grid) */
.sitio-svc-grid{
  padding:14px 12px;display:grid;gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
}
@media (max-width:480px){
  .sitio-svc-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:14px 8px;}
}

.sitio-svc-item{
  background:#fff;border-radius:12px;overflow:hidden;
  border:1px solid var(--bdr,#e5e7eb);text-decoration:none;color:inherit;
  transition:transform .15s,box-shadow .2s;
  display:flex;flex-direction:column;
}
.sitio-svc-item:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08);}

.sitio-svc-thumb{
  position:relative;aspect-ratio:1/1;background:#f3f4f6;overflow:hidden;
}
@supports not (aspect-ratio:1/1){
  .sitio-svc-thumb{height:0;padding-bottom:100%;}
}
.sitio-svc-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  position:absolute;inset:0;
}
.sitio-svc-badge{
  position:absolute;top:6px;left:6px;z-index:2;
  padding:3px 8px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:9.5px;
  letter-spacing:.02em;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}

.sitio-svc-body{padding:8px 10px 10px;flex:1;display:flex;flex-direction:column;}
.sitio-svc-vendor{font-size:9.5px;color:var(--muted,#6b7280);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sitio-svc-name{
  font-size:12px;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;height:32px;margin-bottom:4px;
  color:var(--head,#1f2937);
}
.sitio-svc-excerpt{
  font-size:10.5px;color:var(--muted,#6b7280);
  line-height:1.3;flex:1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:6px;
}
.sitio-svc-price{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:13px;
  color:var(--jade,#0AAE86);margin-top:auto;
}
.sitio-svc-price small{
  font-family:inherit;font-size:9px;font-weight:600;
  color:var(--muted,#6b7280);
}

.sitio-svc-empty{
  text-align:center;padding:60px 20px;
  background:#fff;margin:16px;border-radius:14px;
  border:1px solid var(--bdr,#e5e7eb);
}
.sitio-svc-empty-icon{font-size:54px;margin-bottom:10px;}
.sitio-svc-empty h3{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:18px;
  margin:0 0 6px;
}
.sitio-svc-empty p{font-size:13px;color:var(--muted,#6b7280);margin:0;}

/* Info card en single-product cuando es reservable / suscripción */
.sitio-svc-info-card{
  display:flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,#FFF7ED,#FFEDD5);
  border:1.5px solid #FED7AA;border-radius:12px;
  padding:14px;margin:14px 0;
}
.sitio-svc-type-subscription{
  background:linear-gradient(135deg,#FAF5FF,#F3E8FF);
  border-color:#DDD6FE;
}
.sitio-svc-type-service{
  background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
  border-color:#A7F3D0;
}
.sitio-svc-icon{font-size:28px;flex-shrink:0;}
.sitio-svc-text{flex:1;min-width:0;}
.sitio-svc-text strong{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:14px;
  display:block;margin-bottom:2px;color:var(--head,#1f2937);
}
.sitio-svc-text p{font-size:12px;color:var(--muted,#6b7280);margin:0;line-height:1.4;}
.sitio-svc-cta-wa{
  background:#25D366;color:#fff;
  padding:10px 16px;border-radius:10px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12.5px;
  text-decoration:none;flex-shrink:0;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.sitio-svc-cta-wa:hover{background:#1FB857;}

/* ──────────────────────────────────────────
   4) MEDIA QUERIES extras
   ────────────────────────────────────────── */
@media (max-width:480px){
  .sd-hero-h,.sf-hero-h,.ssv-hero-h{font-size:19px;}
  .sd-card-banner{height:70px;}
  .sd-card-logo{width:48px;height:48px;font-size:18px;}
  .sd-card-actions{top:6px;left:6px;}
  .sd-card-btn{width:30px;height:30px;font-size:12px;}
  .sd-card-btn-follow{padding:0 10px;font-size:10px;}
}

@media (min-width:900px){
  .sd-filters,.ssv-filters{padding:18px 24px;}
  .sd-grid,.sf-stores-grid{padding:18px 24px;}
  .sitio-svc-grid{padding:18px 24px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
}

@media (prefers-reduced-motion:reduce){
  .sd-card,.sf-news-card,.sitio-svc-item,.sd-card-btn,.ssv-type-tab{
    transition:none !important;-webkit-transition:none !important;
  }
}

/* V5.5 — Toast notification */
#sitio-toast{
  position:fixed;bottom:90px;left:50%;
  transform:translateX(-50%) translateY(80px);
  background:#1f2937;color:#fff;
  padding:11px 18px;border-radius:12px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:600;font-size:13px;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
  z-index:9999;max-width:320px;text-align:center;
  opacity:0;pointer-events:none;
  transition:transform .25s ease, opacity .25s ease;
}
#sitio-toast.sitio-toast-show{
  transform:translateX(-50%) translateY(0);
  opacity:1;
}
#sitio-toast.ok{background:#0AAE86;}
#sitio-toast.warn{background:#F59E0B;}
#sitio-toast.err{background:#DC2626;}
@media (min-width:769px){
  #sitio-toast{bottom:30px;}
}

/* ═══════════════════════════════════════════════════════
   sitio.gt V5.6 — Página de tienda rediseñada (.sst-*)
═══════════════════════════════════════════════════════ */
.sitio-store-v56{padding-bottom:80px;background:#fafafa;min-height:100vh;}

/* ─── HERO ─── */
.sst-hero{
  position:relative;
  min-height:200px;
  padding:20px 16px 24px;
  background-color:#0AAE86;
  background-size:cover;background-position:center;
  color:#fff;
}
.sst-back{
  position:absolute;top:16px;left:14px;
  width:38px;height:38px;border-radius:50%;
  background:rgba(0,0,0,.4);color:#fff;
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;font-size:20px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  z-index:2;
}
.sst-hero-inner{
  display:flex;gap:14px;align-items:flex-end;
  padding-top:60px;position:relative;z-index:1;
}
.sst-logo{
  width:78px;height:78px;border-radius:18px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:30px;
  overflow:hidden;
  border:3px solid #fff;
  box-shadow:0 6px 18px rgba(0,0,0,.2);
}
.sst-logo img{width:100%;height:100%;object-fit:cover;}
.sst-info{flex:1;min-width:0;padding-bottom:6px;}
.sst-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px;}
.sst-badge{
  background:#fff;color:#0AAE86;
  padding:2px 8px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:10px;
  letter-spacing:.02em;
}
.sst-badge-verified{background:#10B981;color:#fff;}
.sst-name{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:24px;
  margin:0;line-height:1.1;letter-spacing:-.02em;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}
.sst-loc{font-size:13px;opacity:.95;margin-top:3px;}
.sst-quick{
  display:flex;gap:10px;margin-top:6px;
  font-size:12px;
}
.sst-quick span{
  background:rgba(0,0,0,.25);
  padding:3px 9px;border-radius:99px;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}

/* ─── STATS ─── */
.sst-stats{
  background:#fff;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(70px, 1fr));
  border-bottom:1px solid var(--bdr,#e5e7eb);
}
.sst-stat{
  padding:14px 8px;text-align:center;
  border-right:1px solid var(--bdr,#e5e7eb);
}
.sst-stat:last-child{border-right:none;}
.sst-stat-num{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:20px;
  color:var(--head,#1f2937);line-height:1;margin-bottom:3px;
}
.sst-stat-lbl{
  font-size:10.5px;color:var(--muted,#6b7280);
  text-transform:uppercase;letter-spacing:.05em;font-weight:600;
}

/* ─── ACTIONS ─── */
.sst-actions{
  background:#fff;
  padding:12px 14px;
  display:flex;gap:8px;flex-wrap:nowrap;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  border-bottom:1px solid var(--bdr,#e5e7eb);
}
.sst-actions::-webkit-scrollbar{display:none;}
.sst-btn{
  flex-shrink:0;
  background:#fff;color:var(--head,#1f2937);
  border:1.5px solid var(--bdr,#e5e7eb);
  padding:10px 14px;border-radius:10px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:12.5px;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
  -webkit-tap-highlight-color:transparent;transition:transform .12s;
}
.sst-btn:hover{transform:translateY(-1px);}
.sst-btn-wa{background:#25D366;color:#fff;border-color:#25D366;flex:1;justify-content:center;min-width:140px;}
.sst-btn-ghost{background:#fff;}
.sst-btn-follow.is-following{background:var(--jade,#0AAE86);color:#fff;border-color:var(--jade,#0AAE86);}

/* ─── SEARCH IN STORE ─── */
.sst-search-wrap{padding:12px 14px;background:#fff;border-bottom:1px solid var(--bdr,#e5e7eb);}
.sst-search{
  display:flex;align-items:center;gap:10px;
  background:#f3f4f6;padding:11px 14px;border-radius:99px;
  cursor:pointer;font-size:14px;color:var(--muted,#6b7280);
}
.sst-search-icon{font-size:16px;}

/* ─── TABS ─── */
.sst-tabs{
  position:-webkit-sticky;position:sticky;top:0;z-index:5;
  display:flex;gap:0;
  background:#fff;
  border-bottom:1px solid var(--bdr,#e5e7eb);
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.sst-tabs::-webkit-scrollbar{display:none;}
.sst-tab{
  flex-shrink:0;
  background:transparent;border:none;border-bottom:3px solid transparent;
  padding:14px 18px;cursor:pointer;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:13.5px;
  color:var(--muted,#6b7280);white-space:nowrap;
  -webkit-tap-highlight-color:transparent;transition:all .15s;
  display:inline-flex;align-items:center;gap:6px;
}
.sst-tab:hover{color:var(--head,#1f2937);}
.sst-tab.is-active{color:var(--jade,#0AAE86);border-bottom-color:var(--jade,#0AAE86);}
.sst-tab-ct{
  background:#f3f4f6;color:var(--muted,#6b7280);
  padding:1px 7px;border-radius:99px;
  font-size:10px;font-weight:800;
}
.sst-tab.is-active .sst-tab-ct{background:#0AAE8620;color:var(--jade,#0AAE86);}

/* ─── SECTIONS ─── */
.sst-section{padding:18px 14px 14px;}
.sst-section-svc{
  background:linear-gradient(135deg,#FAF5FF20,#F3E8FF20);
  margin:0;border-top:1px solid #DDD6FE40;border-bottom:1px solid #DDD6FE40;
}
.sst-section-all{padding-bottom:30px;}
.sst-section-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:10px;
}
.sst-section-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:16px;
  margin:0;color:var(--head,#1f2937);letter-spacing:-.01em;
}
.sst-section-sub{font-size:11px;color:var(--muted,#6b7280);}

/* ─── CARRUSEL HORIZONTAL ─── */
.sst-carousel{
  display:flex;gap:10px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding-bottom:6px;
  scroll-snap-type:x mandatory;
  margin:0 -14px;padding-left:14px;padding-right:14px;
}
.sst-carousel::-webkit-scrollbar{display:none;}
.sst-mini-card{
  flex:0 0 145px;scroll-snap-align:start;
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--bdr,#e5e7eb);
  border-radius:12px;overflow:hidden;
  transition:transform .15s,box-shadow .2s;
}
.sst-mini-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08);}
.sst-mini-img{
  position:relative;aspect-ratio:1/1;background:#f3f4f6;overflow:hidden;
}
@supports not (aspect-ratio:1/1){.sst-mini-img{height:0;padding-bottom:100%;}}
.sst-mini-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  position:absolute;inset:0;
}
.sst-mini-badge{
  position:absolute;top:5px;left:5px;z-index:2;
  padding:2px 7px;border-radius:99px;
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:9.5px;
}
.sst-mini-badge-sale{background:#FF6B22;color:#fff;}
.sst-mini-badge-new{background:linear-gradient(135deg,#FFD447,#F59E0B);color:#92400E;}
.sst-mini-svc-tag{font-size:9px;padding:2px 6px;}
.sst-mini-body{padding:7px 9px 9px;flex:1;display:flex;flex-direction:column;}
.sst-mini-name{
  font-size:11.5px;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;height:30px;margin-bottom:4px;
  color:var(--head,#1f2937);
}
.sst-mini-price{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:13px;
  color:var(--jade,#0AAE86);margin-top:auto;
}

/* ─── GRID TODOS LOS PRODUCTOS ─── */
.sst-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
@media (min-width:600px){.sst-grid{grid-template-columns:repeat(3,1fr);}}
@media (min-width:900px){.sst-grid{grid-template-columns:repeat(4,1fr);}}

/* ─── EMPTY ─── */
.sst-empty{
  text-align:center;padding:60px 20px;
  background:#fff;margin:20px 14px;border-radius:14px;
  border:1px dashed var(--bdr,#e5e7eb);
}
.sst-empty-icon{font-size:54px;margin-bottom:10px;}
.sst-empty-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:18px;
  margin:0 0 6px;color:var(--head,#1f2937);
}
.sst-empty p{font-size:13px;color:var(--muted,#6b7280);margin:0;}

/* ─── TAB SOBRE ─── */
.sst-about-wrap{padding:18px 14px;}
.sst-about-block{
  background:#fff;border-radius:12px;
  padding:14px 16px;margin-bottom:14px;
  border:1px solid var(--bdr,#e5e7eb);
}
.sst-about-h{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;font-size:14px;
  margin-bottom:8px;color:var(--head,#1f2937);
  text-transform:uppercase;letter-spacing:.04em;
}
.sst-about-text{
  font-size:13.5px;line-height:1.5;color:var(--txt,#374151);
}
.sst-about-text p{margin:0 0 10px;}
.sst-about-text p:last-child{margin-bottom:0;}
.sst-about-list{
  background:#fff;border-radius:12px;
  border:1px solid var(--bdr,#e5e7eb);
  overflow:hidden;
}
.sst-about-row{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;
  border-bottom:1px solid var(--bdr,#e5e7eb);
  font-size:13px;
}
.sst-about-row:last-child{border-bottom:none;}
.sst-about-icon{font-size:18px;width:24px;flex-shrink:0;}
.sst-about-key{flex:1;color:var(--muted,#6b7280);}
.sst-about-val{font-weight:700;color:var(--head,#1f2937);}
.sst-about-actions{margin-top:14px;display:flex;justify-content:center;}
.sst-about-actions .sst-btn-wa{width:100%;max-width:280px;}

/* ─── TAB RESEÑAS ─── */
.sst-reviews-wrap{padding:18px 14px;}
.sst-review-summary{
  background:#fff;border-radius:12px;padding:24px 14px;
  text-align:center;margin-bottom:14px;
  border:1px solid var(--bdr,#e5e7eb);
}
.sst-review-big-num{
  font-family:var(--fd,'Poppins',sans-serif);font-weight:800;
  font-size:48px;line-height:1;color:var(--head,#1f2937);
  margin-bottom:6px;
}
.sst-review-stars{font-size:22px;color:#E5E7EB;margin-bottom:6px;}
.sst-review-stars span.on{color:#F59E0B;}
.sst-review-count{font-size:12.5px;color:var(--muted,#6b7280);}
.sst-review-empty{font-size:13px;color:var(--muted,#6b7280);margin-top:8px;}
.sst-review-cta{text-align:center;margin-bottom:14px;}
.sst-review-card{
  background:#fff;border-radius:10px;padding:12px 14px;
  border:1px solid var(--bdr,#e5e7eb);margin-bottom:8px;
}
.sst-review-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:4px;
}
.sst-review-head strong{font-family:var(--fd,'Poppins',sans-serif);font-weight:700;font-size:13.5px;}
.sst-review-date{font-size:11px;color:var(--muted,#6b7280);}
.sst-review-rating{color:#E5E7EB;font-size:13px;margin-bottom:4px;}
.sst-review-rating span.on{color:#F59E0B;}
.sst-review-text{font-size:13px;color:var(--txt,#374151);line-height:1.45;}

/* ─── DESKTOP refinement ─── */
@media (min-width:769px){
  .sitio-store-v56{padding-bottom:30px;}
  .sst-hero{min-height:260px;padding:30px 30px 36px;}
  .sst-hero-inner{padding-top:80px;}
  .sst-logo{width:96px;height:96px;font-size:36px;border-radius:22px;}
  .sst-name{font-size:30px;}
  .sst-section{padding:24px 24px 18px;}
  .sst-section-h{font-size:18px;}
  .sst-carousel{padding-left:24px;padding-right:24px;margin:0 -24px;}
  .sst-mini-card{flex-basis:165px;}
  .sst-about-wrap,.sst-reviews-wrap{padding:24px 24px;max-width:920px;margin:0 auto;}
  .sst-tabs{padding:0 18px;}
}

@media (max-width:380px){
  .sst-name{font-size:20px;}
  .sst-logo{width:62px;height:62px;font-size:24px;}
  .sst-stat-num{font-size:17px;}
  .sst-stat-lbl{font-size:9.5px;}
}

/* ═══════════════════════════════════════════════════════════════════
   sitio.gt V5.7 — FIXES PREMIUM
═══════════════════════════════════════════════════════════════════ */

/* V5.7 — Visibility helpers responsive (no JS) */
.sitio-only-desktop { display: flex !important; }
.sitio-only-mobile  { display: none !important; }
@media (max-width: 768px) {
  .sitio-only-desktop { display: none !important; }
  .sitio-only-mobile  { display: flex !important; }
}

/* V5.7 — MOBILE HEADER (app-style minimalista) */
#sitio-mob-hdr {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--line, #e5e7eb);
  padding: 10px 14px 12px;
  flex-direction: column;
  gap: 10px;
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  backdrop-filter: saturate(180%) blur(10px);
  background: rgba(255,255,255,.94);
}
.sitio-mob-hdr-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.sitio-mob-logo {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  text-decoration: none;
  font-family: var(--fd, 'Poppins', sans-serif);
  letter-spacing: -.02em;
}
.sitio-mob-logo-inf { color: var(--jade, #0AAE86); font-weight: 800; font-size: 26px; line-height: 1; margin-right: 1px; }
.sitio-mob-logo-name { color: var(--head, #1f2937); font-weight: 800; font-size: 19px; }
.sitio-mob-logo-tld { color: var(--jade, #0AAE86); font-weight: 700; font-size: 16px; }
.sitio-mob-hdr-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
.sitio-mob-hdr-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: #f3f4f6;
  border: none;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--head, #1f2937);
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: background .15s;
}
.sitio-mob-hdr-btn:hover, .sitio-mob-hdr-btn:active { background: #e5e7eb; }
.sitio-mob-hdr-search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f3f4f6;
  border-radius: 999px;
  padding: 10px 16px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.sitio-mob-hdr-search-ic {
  color: var(--muted, #6b7280);
  display: inline-flex;
  flex-shrink: 0;
}
.sitio-mob-hdr-search-ph {
  color: var(--muted, #6b7280);
  font-size: 13.5px;
  font-family: system-ui, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* V5.7 — Ocultar el desk header viejo si por error aparece en mobile */
@media (max-width: 768px) {
  #sitio-desk-hdr { display: none !important; }
}

/* V5.7 — Bottom nav refinado con SVG icons */
#sitio-nav {
  height: 68px;
}
#sitio-nav .sitio-nav-it,
#sitio-nav .sitio-nav-ctr {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-decoration: none;
  color: var(--muted, #6b7280);
  flex: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  padding: 6px 2px 4px;
  transition: color .15s;
}
#sitio-nav .sitio-nav-it.active { color: var(--jade, #0AAE86); }
#sitio-nav .sitio-nav-pill {
  width: auto; height: auto;
  background: transparent !important;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 4px;
  border-radius: 0;
}
#sitio-nav .sitio-nav-it.active .sitio-nav-pill {
  background: rgba(10,174,134,.10) !important;
  border-radius: 14px;
  padding: 6px 14px;
}
#sitio-nav .sitio-nav-it svg {
  display: block;
}
#sitio-nav .sitio-nav-lbl {
  font-size: 10.5px;
  font-family: var(--fd, 'Poppins', sans-serif);
  font-weight: 600;
  letter-spacing: -.005em;
}
#sitio-nav .sitio-nav-fab {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--jade, #0AAE86), var(--jade-900, #064838));
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 14px rgba(10,174,134,.35), 0 2px 4px rgba(10,174,134,.25);
  margin-top: -16px;
  transition: transform .15s;
}
#sitio-nav .sitio-nav-ctr:active .sitio-nav-fab { transform: scale(.93); }
#sitio-nav .sitio-nav-bdg {
  position: absolute;
  top: 0;
  right: 4px;
  background: var(--a, #FF493D);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  min-width: 16px; height: 16px;
  border-radius: 9px;
  padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--fd, 'Poppins', sans-serif);
  box-shadow: 0 0 0 1.5px #fff;
}

/* V5.7 — Flash Sale logo MÁS COLORIDO (gradient naranja + brillo) */
.sitio-story-av.flash {
  background: linear-gradient(135deg, #FF6B22 0%, #F59E0B 50%, #FFD447 100%) !important;
  box-shadow:
    0 0 0 2.5px #FF6B22,
    0 4px 12px rgba(255,107,34,.35),
    inset 0 -2px 6px rgba(255,165,0,.4) !important;
  position: relative;
  overflow: visible;
}
.sitio-story-av.flash::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: linear-gradient(135deg, transparent 60%, rgba(255,255,255,.35) 100%);
  pointer-events: none;
}
.sitio-story-av.flash {
  font-size: 26px;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,.25);
  animation: sitioFlashPulse 2.4s ease-in-out infinite;
}
@keyframes sitioFlashPulse {
  0%, 100% { box-shadow: 0 0 0 2.5px #FF6B22, 0 4px 12px rgba(255,107,34,.35); }
  50%      { box-shadow: 0 0 0 4px #FF6B22, 0 6px 20px rgba(255,107,34,.55); }
}

/* V5.7 — Stories row scroll mejorado (no truncar) */
.sitio-stories { padding: 12px 0 8px; }
.sitio-stories-row {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 4px 14px 8px;
  scrollbar-width: none;
}
.sitio-stories-row::-webkit-scrollbar { display: none; }
.sitio-story {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  text-decoration: none;
  min-width: 56px;
  max-width: 64px;
}
.sitio-story-av { width: 56px; height: 56px; }
.sitio-story-lbl { font-size: 10px; max-width: 64px; }

/* V5.7 — Texto visible en hero de la tienda (FIX: textos casi escondidos) */
.sst-hero, .sitio-store-v56 .sst-hero,
.gt-store-hero, .gt-vendor-hero {
  position: relative;
}
.sst-hero::before, .gt-store-hero::before, .gt-vendor-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.20) 0%,
    rgba(0,0,0,.40) 60%,
    rgba(0,0,0,.55) 100%
  );
  pointer-events: none;
  z-index: 0;
}
.sst-hero > *, .gt-store-hero > *, .gt-vendor-hero > * {
  position: relative;
  z-index: 1;
}
.sst-name, .gt-store-name, .gt-vendor-name {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
  font-weight: 800 !important;
}

/* V5.7 — Header del producto premium: spacing y readability */
.sp-vendor-bar { padding: 14px 16px; }
.sp-vendor-name { font-weight: 700; color: var(--head, #1f2937); }

/* V5.7 — Cards de producto MÁS COMPACTAS Y BONITAS */
.sitio-pcard {
  border-radius: 14px;
  background: #fff;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  transition: transform .18s, box-shadow .25s;
  overflow: hidden;
}
.sitio-pcard:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  border-color: #e5e7eb;
}
.sitio-pcard .pcard-img {
  aspect-ratio: 1/1;
  background: #fafafa;
}
.sitio-pcard .pcard-name {
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--head, #1f2937);
  height: 34px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sitio-pcard .pcard-price {
  font-family: var(--fd, 'Poppins', sans-serif);
  font-weight: 800;
  font-size: 14px;
  color: var(--jade, #0AAE86);
}
.sitio-pcard .pcard-price-old {
  font-size: 11px;
  color: var(--muted, #6b7280);
  text-decoration: line-through;
  font-weight: 500;
}

/* V5.7 — Tiendas activas (cards en home) */
.sitio-stores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
  padding: 0 14px;
}
.sitio-store-card-v7 {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f3f4f6;
  overflow: hidden;
  text-decoration: none;
  transition: transform .15s, box-shadow .2s;
}
.sitio-store-card-v7:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
}

/* V5.7 — Padding general más generoso */
@media (max-width: 768px) {
  body.sitio-gt { padding-bottom: 78px; }
  main, .site-main, .content-area {
    padding-left: 0; padding-right: 0;
  }
}

/* V5.7 — WhatsApp FAB premium (solo aparece en single-product con vendor que tiene WA) */
.sitio-wa-float {
  position: fixed;
  bottom: 88px;
  right: 14px;
  width: 54px; height: 54px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(37,211,102,.4), 0 2px 6px rgba(0,0,0,.15);
  z-index: 99;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .15s;
}
.sitio-wa-float:hover { transform: scale(1.05); }
.sitio-wa-float:active { transform: scale(.95); }

/* V5.7 — Mejorar legibilidad cards de tiendas */
.sd-card, .gt-store-card {
  border-radius: 16px !important;
  border: 1px solid #f3f4f6 !important;
  background: #fff !important;
}
.sd-name, .gt-store-name {
  color: var(--head, #1f2937) !important;
  font-weight: 700 !important;
}

/* V5.7 — Hero overlay para Guakanda y similar (texto super legible) */
.sst-hero .sst-name {
  background: linear-gradient(180deg, rgba(0,0,0,.2), transparent);
  padding: 8px 14px;
  border-radius: 8px;
  display: inline-block;
  margin: 0 0 4px;
}

/* V5.7 — Refinement: ocultar emojis decorativos en headers (look formal) */
.sitio-pro-no-emoji::before,
.sitio-pro-no-emoji::after { display: none !important; }

/* V5.7 — Section headers más serios */
.gt-section-h, .sst-section-h, .sd-section-title {
  font-family: var(--fd, 'Poppins', sans-serif);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--head, #1f2937);
}

/* ═══════════════════════════════════════════════════════════════
   ███  V6.0 OVERRIDES  ███
   Bloque aislado al final. Gana la cascada por orden + especificidad.
   No toca el CSS anterior. Iterable página por página.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1) HEADER FIJO "cabal donde comienza la pantalla" ──
   sticky dejaba un hueco arriba; fixed lo pega al top sin gap.
   El body lleva clases .sitio-gt Y .sitio-v5 → usamos ambas para
   ganar especificidad sobre el reset padding:0 de líneas 175. */

/* Desktop */
@media (min-width: 769px) {
  html body.sitio-gt #sitio-desk-hdr {
    position: fixed !important;
    top: 0; left: 0; right: 0;
    width: 100% !important;
    margin: 0 !important;
  }
  /* V6.1 — La barra de admin de WP está OCULTA en este theme (#wpadminbar display:none).
     Por eso NO sumamos su altura: si lo hiciéramos quedaría un gap vacío arriba.
     admin-bar = mismo offset que sin admin-bar. */
  html body.admin-bar.sitio-gt #sitio-desk-hdr { top: 0; }
  /* Empujar el contenido para que no quede debajo del header fijo (60px) */
  html body.sitio-gt.sitio-v5,
  html body.admin-bar.sitio-gt.sitio-v5 { padding-top: 60px !important; }
}

/* Mobile — el header tiene 2 filas (logo + buscador) ≈ 100px */
@media (max-width: 768px) {
  html body.sitio-gt #sitio-mob-hdr {
    position: fixed !important;
    top: 0; left: 0; right: 0;
    width: 100% !important;
    margin: 0 !important;
    z-index: 150;
  }
  html body.sitio-gt.sitio-v5,
  html body.admin-bar.sitio-gt.sitio-v5 { padding-top: 100px !important; }
  /* V6.1 — admin bar oculta → header fijo arriba del todo, sin gap */
  html body.admin-bar.sitio-gt #sitio-mob-hdr { top: 0; }
}

/* ── 2) AMPLIAR OCULTADO DEL HEADER PADRE REHUB ──
   El bloque "El marketplace de Guatemala 🇬🇹 / ∞sitio.gt / 🔍🛒 M / Buscar"
   se cuela en algunas plantillas. Red más amplia de selectores Rehub. */
html body.sitio-gt .rh-main-header,
html body.sitio-gt .rh-header,
html body.sitio-gt header.rh-header,
html body.sitio-gt #rh-header,
html body.sitio-gt .rehub-main-header,
html body.sitio-gt .rehub-header,
html body.sitio-gt .rehub_navbar,
html body.sitio-gt .main-header,
html body.sitio-gt .header-main,
html body.sitio-gt .rh-search-wrap,
html body.sitio-gt .rh-cart-menu,
html body.sitio-gt .rh-header-modern,
html body.sitio-gt .rh_darkheader,
html body.sitio-gt header.rh_header,
html body.sitio-gt .rh-logo-area,
html body.sitio-gt .rh-top-header,
html body.sitio-gt .rh-toolbar,
html body.sitio-gt .site-branding,
html body.sitio-gt .site-description,
html body.sitio-gt .logo-wrap,
html body.sitio-gt .header_logo,
html body.sitio-gt .rh-flex-header,
html body.sitio-gt .wpsm-header,
html body.sitio-gt p.site-description {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ── 3) OCULTAR BARRA STICKY MOBILE EN DESKTOP ──
   Esta barra (Comprar / 💬 / 🛒) es solo para mobile.
   En desktop se sobreponía con la columna de acciones (Image 8). */
@media (min-width: 769px) {
  html body.sitio-gt .sitio-sticky-cta { display: none !important; }
}

/* ── 4) PRODUCTO: ACCIONES EN UNA SOLA LÍNEA EN DESKTOP ──
   El CTA principal + Consultar + Carrito en fila para no ocupar tanto. */
@media (min-width: 769px) {
  html body.sitio-gt .sp-actions-desktop { display: block; }

  /* Fila de acciones principal en una línea */
  html body.sitio-gt .sp-actions-desktop .sp-cta-main {
    width: 100%;
    margin-bottom: 10px;
  }
  html body.sitio-gt .sp-actions-desktop .sp-cta-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: stretch;
  }
  html body.sitio-gt .sp-actions-desktop .sp-cta-row .btn-consult,
  html body.sitio-gt .sp-actions-desktop .sp-cta-row .btn-cart {
    flex: 1 1 0;
    margin: 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Qty en línea con label, compacto */
  html body.sitio-gt .sp-actions-desktop .sp-qty-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
  }
}

/* ── 5) CAMPOS CHECKOUT ──
   País oculto (default GT). NIT con placeholder transparente "CF". */
html body.sitio-gt .sitio-field-hidden,
html body.sitio-gt #billing_country_field.sitio-field-hidden {
  display: none !important;
}
html body.sitio-gt .sitio-nit-field input::placeholder {
  color: var(--muted, #9ca3af);
  opacity: .7;
  font-style: italic;
}
html body.sitio-gt .sitio-nit-field .description {
  font-size: 11.5px;
  color: var(--muted, #6b7280);
  margin-top: 4px;
}

/* ── 6) POLISH "más app / más Pro" (bajo riesgo) ──
   Sombra + blur consistente en headers, transición suave. */
html body.sitio-gt #sitio-desk-hdr,
html body.sitio-gt #sitio-mob-hdr {
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  backdrop-filter: saturate(180%) blur(12px);
  transition: box-shadow .2s ease;
}
html body.sitio-gt #sitio-desk-hdr {
  background: rgba(255,255,255,.92);
}

/* fin V6.0 OVERRIDES */

/* ═══════════════════════════════════════════════════════════════
   ███  V6.1 FIXES  ███
   ═══════════════════════════════════════════════════════════════ */

/* ── 7) HEADER DUPLICADO EN MÓVIL ──
   templates/app-header.php renderiza #sitio-hdr (tagline + logo + 🔍🛒 + buscador).
   Eso quedó como legacy: en V5.7 lo reemplazaron #sitio-mob-hdr (móvil) y
   #sitio-desk-hdr (desktop), que se renderizan fijos en TODAS las páginas.
   En desktop #sitio-hdr ya estaba oculto (línea 314); en móvil NO → duplicado.
   Lo ocultamos también en móvil. Queda 100% redundante y seguro de ocultar. */
html body.sitio-gt #sitio-hdr {
  display: none !important;
}

/* ── 8) PRODUCTO: BOTONES MÓVIL EN UNA SOLA FILA ──
   La barra sticky apilaba 3 botones full-width (se veía vacío y pobre).
   Ahora: [💬 Comprar · Qxx] grande + [💬] + [🛒] compactos, en línea. */
@media (max-width: 768px) {
  html body.sitio-gt .sitio-sticky-cta {
    display: grid;
    grid-template-columns: 1fr 52px 52px;
    gap: 8px;
    align-items: stretch;
  }
  /* El botón principal de compra ocupa toda la primera columna */
  html body.sitio-gt .sitio-sticky-cta .btn-wa.lg,
  html body.sitio-gt .sitio-sticky-cta #sitio-sticky-main {
    grid-column: 1 / 2;
    margin: 0;
    width: 100%;
    min-height: 52px;
    font-size: 15px;
  }
  /* Reservar / bookable usa toda la fila */
  html body.sitio-gt .sitio-sticky-cta .btn-wa.lg[style*="grid-column"] {
    grid-column: 1 / -1 !important;
  }
  /* Consultar (💬) y Carrito (🛒) cuadrados, ícono centrado */
  html body.sitio-gt .sitio-sticky-cta .btn-consult,
  html body.sitio-gt .sitio-sticky-cta .btn-cart {
    margin: 0;
    width: 52px;
    min-height: 52px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border-radius: 12px;
  }
}

/* ── 9) TIENDAS ACTIVAS MÁS ELEGANTES (home) ──
   Las cards quedaban con mucho espacio vacío abajo y se veían pobres.
   Card más compacta, logo redondeado prominente, nombre y badge bien juntos. */
html body.sitio-gt .sitio-stores-row {
  gap: 10px;
  padding: 2px 0 6px;
}
html body.sitio-gt .sitio-store-sm {
  width: 116px;
  padding: 14px 10px 12px;
  gap: 8px;
  border: 1px solid var(--line, #eef0f3);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(15,23,42,.05);
  justify-content: flex-start;
}
html body.sitio-gt .sitio-store-sm .sitio-av-md {
  width: 62px; height: 62px; border-radius: 16px; font-size: 22px;
  box-shadow: 0 3px 10px rgba(15,23,42,.12);
}
html body.sitio-gt .sitio-store-sm .sitio-store-nm {
  font-size: 12.5px; font-weight: 700; font-family: var(--fd, 'Poppins', sans-serif);
  color: var(--head, #1f2937); text-align: center; line-height: 1.25;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 2.5em;
}

/* ── 10) VISTOS RECIENTEMENTE: IMAGEN MÁS COMPLETA ──
   Kevin pidió ver la imagen del producto más completa (es clave: el user ya la identificó). */
html body.sitio-gt .sitio-rv-item { width: 118px; }
html body.sitio-gt .sitio-rv-thumb {
  height: 118px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line, #eef0f3);
}
html body.sitio-gt .sitio-rv-thumb img { object-fit: contain; padding: 6px; }

/* fin V6.1 FIXES */

/* ═══════════════════════════════════════════════════
   V6.2 — Nav móvil (FAB Tiendas) + Dock desktop + Botones card
   ═══════════════════════════════════════════════════ */

/* FAB central ahora es "Tiendas": label visible y alineado */
#sitio-nav .sitio-nav-fab-lbl {
  font-size: 10.5px; font-family: var(--fd, 'Poppins', sans-serif);
  font-weight: 600; color: var(--muted); letter-spacing: -.005em; margin-top: 1px;
}
#sitio-nav .sitio-nav-ctr.active .sitio-nav-fab-lbl { color: var(--jade); }
#sitio-nav .sitio-nav-ctr.active .sitio-nav-fab {
  box-shadow: 0 6px 16px rgba(10,174,134,.5), 0 0 0 4px rgba(10,174,134,.12);
}

/* ── DESKTOP DOCK flotante (app-like) ── */
#sitio-desk-dock {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%);
  z-index: 350;
  display: flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,.82);
  backdrop-filter: saturate(180%) blur(18px);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 999px;
  padding: 7px 9px;
  box-shadow: 0 10px 34px rgba(15,23,42,.16), 0 2px 8px rgba(15,23,42,.08);
}
#sitio-desk-dock .sdk-it {
  position: relative;
  display: flex; align-items: center; gap: 7px;
  padding: 9px 15px; border-radius: 999px;
  text-decoration: none; color: var(--muted);
  font-family: var(--fd); font-weight: 700; font-size: 13px;
  transition: background .16s, color .16s;
}
#sitio-desk-dock .sdk-it:hover { color: var(--head); background: rgba(15,23,42,.04); }
#sitio-desk-dock .sdk-it.active { color: #fff; background: linear-gradient(135deg, var(--jade), var(--jade-900)); }
#sitio-desk-dock .sdk-ic { display: inline-flex; align-items: center; position: relative; }
#sitio-desk-dock .sdk-lbl { line-height: 1; }
#sitio-desk-dock .sdk-bdg {
  position: absolute; top: -7px; right: -9px;
  min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
  background: var(--a); color: #fff; font-size: 9px; font-weight: 800;
  font-family: var(--fd); display: flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--card);
}
/* En desktop el dock reemplaza la navegación inferior; ocultar dock en móvil ya lo maneja .sitio-only-desktop */
@media (max-width: 1023px) and (min-width: 769px) {
  #sitio-desk-dock .sdk-lbl { display: none; }
  #sitio-desk-dock .sdk-it { padding: 11px; }
}

/* ── BOTONES DE CARD: save + carrito consistentes (V6.2) ── */
.gt-card-actions { padding: 0 10px 10px; }
.gt-card-actions .btn-wa.sm { width: 100%; margin-bottom: 6px; }
.gt-card-actions-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.gt-card-actions-row .btn-consult { font-size: 11px; padding: 8px 6px; }
.gt-card-actions-row .btn-cart {
  font-size: 11px; padding: 8px 6px;
  background: var(--jade-l); color: var(--jade-900);
  border: 1.5px solid transparent; font-weight: 700;
}
.gt-card-actions-row .btn-cart svg { flex: 0 0 auto; }
.gt-card-actions-row .btn-cart:hover { border-color: var(--jade); }
.gt-card-actions-row .btn-cart.in-cart {
  background: var(--jade); color: #fff; border-color: var(--jade);
}
.gt-card-actions-row .btn-cart.in-cart svg { stroke: #fff; }

/* Save heart con SVG (toggle por clase .is-saved) */
.gt-save-btn {
  width: 32px; height: 32px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 2px 8px rgba(15,23,42,.16);
}
.gt-save-btn svg { fill: none; stroke: var(--muted); stroke-width: 2; transition: fill .15s, stroke .15s, transform .15s; }
.gt-save-btn:active svg { transform: scale(.82); }
.gt-save-btn.is-saved svg { fill: var(--achiote, #FF493D); stroke: var(--achiote, #FF493D); }
