:root{
  --ink:#0c1014;--muted:#6a717a;--line:#e5e7eb;--soft:#f7f8fa;
  --wa:#25d366;--wa-dark:#18a94f;--ig-blue:#4a5df9;--pin:#e60023;
  --page:1080px;--product-page:1380px;--radius:18px;
}
*{box-sizing:border-box}
html{width:100%;min-height:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#fff}
body{margin:0;width:100%;min-width:0;min-height:100%;overflow-x:hidden;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{appearance:none;-webkit-appearance:none}
img,svg{max-width:100%}
a,button{touch-action:manipulation}

/* ===== PERFIL / PORTADA ===== */
.profile-shell{width:100%;max-width:var(--page);margin:0 auto;padding:32px max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left))}
.profile-main{display:grid;grid-template-columns:180px minmax(0,1fr);gap:48px;align-items:start;min-width:0}
.profile-copy{min-width:0}
.avatar-ring{width:158px;height:158px;padding:4px;border-radius:50%;background:conic-gradient(#d300c5,#ff3040,#ffb900,#d300c5);display:grid;place-items:center}
.avatar-ring img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff;border:4px solid #fff}
.profile-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.profile-title-row h1{font-size:22px;line-height:1.2;margin:4px 0;font-weight:760;overflow-wrap:anywhere}
.handle{font-size:14px;color:var(--muted)}
.profile-stats{display:flex;gap:28px;font-size:14px;margin:18px 0}
.profile-stats strong{font-weight:760}
.profile-bio{margin:0 0 16px;line-height:1.45;font-size:14px;max-width:600px}
.profile-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{min-height:44px;border:0;border-radius:11px;padding:10px 19px;font-size:14px;font-weight:760;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.btn.whatsapp{background:var(--wa);color:#fff;box-shadow:0 6px 16px rgba(37,211,102,.17)}
.btn.whatsapp:hover{background:var(--wa-dark)}
.btn.secondary{background:#eff1f4;color:#111}

/* Historias/categorías: nunca deben quedar cortadas en iOS. */
.highlights{width:100%;display:flex;align-items:flex-start;gap:20px;margin:36px 0 24px;overflow-x:auto;overflow-y:visible;padding:8px 8px 12px;scroll-padding-inline:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.highlights::-webkit-scrollbar{display:none}
.highlight{flex:0 0 78px;min-width:78px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;text-align:center;scroll-snap-align:start}
.highlight-circle{width:68px;height:68px;flex:0 0 68px;border-radius:50%;border:2px solid #dfe2e6;display:grid;place-items:center;background:#fff;font-weight:800;font-size:20px;transition:.2s}
.highlight.active .highlight-circle,.highlight:hover .highlight-circle{border-color:#111;transform:translateY(-2px)}
.highlight small{display:block;width:78px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.feed-tabs{height:54px;border-top:1px solid var(--line);display:flex;justify-content:center;gap:68px;color:#91979e;font-size:12px;letter-spacing:.8px}
.feed-tab{height:54px;min-width:150px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-top:1px solid transparent;margin-top:-1px;background:transparent;color:inherit;cursor:pointer;padding:0 12px}
.feed-tab.active{color:#111;border-color:#111}
.favorite-count{min-width:18px;height:18px;border-radius:999px;background:#f1f2f4;color:#555;display:inline-grid;place-items:center;font-size:10px;letter-spacing:0}
.feed-tab.active .favorite-count{background:#111;color:#fff}

/* ===== FEED ===== */
.feed-shell{width:100%;max-width:var(--page);margin:0 auto;padding:0 max(0px,env(safe-area-inset-right)) 0 max(0px,env(safe-area-inset-left))}
.feed-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense;gap:4px;width:100%}
.feed-card{grid-column:span 2;aspect-ratio:1/1;position:relative;overflow:hidden;background:#eee;min-width:0}
/* El checkbox "Destacado" del admin convierte la pieza en formato rectangular en escritorio. */
.feed-card.featured,.feed-card.wide-auto{grid-column:span 4;aspect-ratio:2/1}
.feed-image-link{display:block;width:100%;height:100%;position:relative;overflow:hidden}
.feed-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.feed-card:hover img{transform:scale(1.025)}
.feed-hover{position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.7));display:flex;align-items:flex-end;padding:18px;color:#fff;opacity:0;transition:.2s}
.feed-hover strong,.feed-hover span{display:block;text-shadow:0 1px 4px rgba(0,0,0,.32)}
.feed-hover strong{font-size:15px}.feed-hover span{font-size:14px;margin-top:3px}
.feed-card:hover .feed-hover,.feed-card:focus-within .feed-hover{opacity:1}
.badge,.product-badge{position:absolute;z-index:4;top:10px;left:10px;background:#ffcc34;color:#111;font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.favorite-btn{position:absolute;z-index:7;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#111;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.15)}
.favorite-btn.active{color:#e11d48}
.favorite-btn span{transform:translateY(-1px)}
.wa-fab{position:absolute;z-index:6;right:10px;bottom:10px;width:44px;height:44px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:.2s}
.wa-fab:hover{transform:scale(1.07);background:var(--wa-dark)}
.wa-fab svg{width:23px;height:23px;fill:#fff}
.wa-fab.disabled,.wa-buy.disabled{pointer-events:none;filter:grayscale(1);opacity:.45}
.mobile-price{display:none}
.empty-state{text-align:center;padding:92px 20px 120px;color:var(--muted)}
.empty-state.standalone{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.empty-icon{font-size:52px;color:#b8bdc4}.empty-state h1,.empty-state h2{color:#111;margin:14px 0 6px}.empty-state p{margin:0 0 20px}
.store-footer{width:100%;max-width:var(--page);margin:40px auto 0;padding:20px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:#969ca3;font-size:12px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}

/* ===== PRODUCTO ===== */
.product-body{background:#fff}
.topbar{height:auto;min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:env(safe-area-inset-top);padding-left:max(26px,env(safe-area-inset-left));padding-right:max(26px,env(safe-area-inset-right));position:sticky;top:0;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30}
.brand-mini{display:flex;align-items:center;gap:10px;font-weight:760;min-width:0}
.brand-mini img{width:38px;height:38px;object-fit:cover;border-radius:50%;border:1px solid var(--line);flex:0 0 auto}
.brand-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-back{font-size:14px;color:var(--muted);flex:0 0 auto}
.product-layout{width:100%;max-width:var(--product-page);margin:0 auto;padding:34px max(28px,env(safe-area-inset-right)) max(70px,calc(34px + env(safe-area-inset-bottom))) max(28px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1.55fr) minmax(350px,.7fr);gap:46px;min-width:0}
.gallery-panel{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;min-width:0;align-items:start}
.main-media-wrap{grid-column:2;grid-row:1;position:relative;min-width:0}
.thumb-rail{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;max-height:min(760px,calc(100vh - 130px));overflow:auto;scrollbar-width:none;padding:1px;-webkit-overflow-scrolling:touch}
.thumb-rail::-webkit-scrollbar{display:none}
.thumb{flex:0 0 74px;width:74px;height:74px;min-width:44px;min-height:44px;border:2px solid transparent;padding:0;border-radius:11px;overflow:hidden;background:#f3f4f6;cursor:pointer}
.thumb.active{border-color:#111}.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.main-media{display:block;border:0;padding:0;background:#f7f7f7;border-radius:18px;overflow:hidden;width:100%;aspect-ratio:1/1;cursor:zoom-in;min-height:44px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.main-media img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.gallery-arrows{position:absolute;inset:50% 12px auto;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}
.gallery-arrows button{pointer-events:auto;width:46px;height:46px;min-height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 3px 14px rgba(0,0,0,.14);font-size:31px;line-height:1;cursor:pointer;color:#111}
.buy-panel{position:sticky;top:104px;align-self:start;min-width:0}
.eyebrow{font-size:13px;font-weight:760;color:#b42318;text-transform:uppercase;letter-spacing:.04em}
.product-title-row{display:flex;align-items:flex-start;gap:12px}
.product-title-row h1{flex:1;min-width:0}
.buy-panel h1{font-size:31px;line-height:1.15;margin:9px 0 12px;letter-spacing:-.02em;overflow-wrap:anywhere}
.product-favorite{flex:0 0 48px;width:48px;height:48px;margin-top:4px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#111;font-size:27px;display:grid;place-items:center;cursor:pointer}
.product-favorite.active{color:#e11d48;border-color:#fecdd3;background:#fff7f8}
.lead{color:#505761;line-height:1.5;margin:0 0 19px}.price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.current-price{font-size:30px;font-weight:800}.compare-price{text-decoration:line-through;color:#7b8188}.discount-pill{font-size:12px;background:#e7f7ec;color:#087a31;padding:5px 8px;border-radius:999px;font-weight:800}.tax-note{font-size:12px;color:#7b8188;margin:5px 0 22px}
.wa-buy{width:100%;min-height:54px;background:var(--wa);color:#fff;border-radius:999px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;box-shadow:0 8px 18px rgba(37,211,102,.17)}
.wa-buy:hover{background:var(--wa-dark)}.wa-buy svg{width:22px;height:22px;fill:#fff}
.pin-buy{width:100%;min-height:50px;margin-top:10px;border:1px solid var(--pin);color:#b0001b;background:#fff;border-radius:999px;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;transition:.2s}
.pin-buy:hover{background:#fff3f5;border-color:#c8001f}
.preview-note{font-size:12px;color:#8b9198;text-align:center;line-height:1.45}.details-card{margin-top:28px;border-top:1px solid var(--line)}.details-card details{border-bottom:1px solid var(--line);padding:17px 0}.details-card summary{font-weight:760;cursor:pointer}.details-content{padding:13px 0 2px;color:#4d535b;line-height:1.6;font-size:14px}.detail-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.detail-row span{color:#747b83}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:1000;display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding-top:max(40px,env(safe-area-inset-top));padding-right:max(40px,env(safe-area-inset-right));padding-bottom:max(40px,env(safe-area-inset-bottom));padding-left:max(40px,env(safe-area-inset-left))}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;right:max(22px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));width:48px;height:48px;border:0;background:transparent;color:white;font-size:42px;cursor:pointer;line-height:1}

@media(max-width:900px){
  .profile-main{grid-template-columns:128px minmax(0,1fr);gap:30px}.avatar-ring{width:120px;height:120px}
  .product-layout{grid-template-columns:1fr;gap:28px;max-width:760px}.buy-panel{position:static}
  .gallery-panel{grid-template-columns:1fr;gap:14px}.main-media-wrap{grid-column:1;grid-row:1}.thumb-rail{grid-column:1;grid-row:2;flex-direction:row;max-height:none;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.thumb{scroll-snap-align:start;flex:0 0 68px;width:68px;height:68px}
  .topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
}

@media(max-width:620px){
  .profile-shell{padding:18px 0 0}
  .profile-main{grid-template-columns:78px minmax(0,1fr);gap:14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .avatar-ring{width:74px;height:74px;padding:3px}.profile-title-row h1{font-size:17px}.handle{display:none}
  .profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;font-size:11px;width:100%;margin:10px 0}.profile-stats span{min-width:0}.profile-stats strong{display:block}
  .profile-bio{font-size:12px;line-height:1.45;margin-bottom:12px}.profile-actions{width:100%;gap:7px}.profile-actions .btn{flex:1;min-width:0;padding:9px 10px;font-size:12px}
  .highlights{margin:24px 0 16px;padding-top:8px;padding-bottom:12px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));scroll-padding-left:max(16px,env(safe-area-inset-left));scroll-padding-right:max(16px,env(safe-area-inset-right));gap:14px}
  .highlight{flex-basis:72px;min-width:72px}.highlight-circle{width:64px;height:64px;flex-basis:64px}.highlight small{width:72px;font-size:11px}
  .feed-tabs{height:46px;gap:0;justify-content:space-around;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.feed-tab{height:46px;min-width:46%;font-size:10px;padding:0 4px}

  /* Igual que Instagram: tres cuadrados grandes que ocupan TODO el ancho del móvil. */
  .feed-shell{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
  .feed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;width:100%}
  .feed-card,.feed-card.featured,.feed-card.wide-auto{grid-column:span 1;aspect-ratio:1/1;min-width:0}
  .feed-hover{display:none}.badge{top:5px;left:5px;font-size:8px;padding:4px 6px;max-width:68%}
  .favorite-btn{top:5px;right:5px;width:30px;height:30px;font-size:20px;box-shadow:0 2px 8px rgba(0,0,0,.14)}
  .wa-fab{width:32px;height:32px;right:5px;bottom:5px}.wa-fab svg{width:17px;height:17px}.wa-fab:hover{transform:none}
  .mobile-price{display:block;position:absolute;left:5px;bottom:5px;max-width:calc(100% - 44px);background:rgba(0,0,0,.72);color:#fff;border-radius:6px;padding:3px 5px;font-size:8px;font-weight:800;z-index:5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .empty-state{padding:70px 18px 95px}.store-footer{margin-top:18px;justify-content:center;text-align:center}

  .topbar{min-height:60px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.brand-mini img{width:34px;height:34px}.brand-mini span{max-width:45vw}.topbar-back{font-size:0}.topbar-back:after{content:'← Catálogo';font-size:13px}
  /* La ficha sí conserva márgenes laterales en móvil; la galería ya no queda pegada al borde. */
  .product-layout{width:100%;max-width:none;padding-top:14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(54px,calc(24px + env(safe-area-inset-bottom)));gap:24px}
  .gallery-panel{width:100%;gap:12px;overflow:visible}.main-media-wrap{width:100%}.main-media{border-radius:15px;aspect-ratio:1/1;box-shadow:0 0 0 1px rgba(0,0,0,.035)}
  .thumb-rail{padding:1px 0 4px;gap:9px;scroll-padding-inline:1px}.thumb{flex-basis:64px;width:64px;height:64px;border-radius:10px}
  .buy-panel{padding:0 2px env(safe-area-inset-bottom)}.buy-panel h1{font-size:23px}.current-price{font-size:25px}.product-title-row{gap:8px}.product-favorite{width:44px;height:44px;flex-basis:44px;font-size:25px}
  .wa-buy{min-height:52px}.pin-buy{min-height:48px}.product-badge{top:8px;left:8px}.gallery-arrows{inset:50% 8px auto}.gallery-arrows button{width:44px;height:44px;font-size:28px}
  .lightbox{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left))}.lightbox-close{right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top))}
}

@media(max-width:390px){
  .profile-main{grid-template-columns:68px minmax(0,1fr);gap:11px}.avatar-ring{width:66px;height:66px}.profile-stats{font-size:10px}.feed-tab{font-size:9px}.favorite-count{min-width:16px;height:16px;font-size:9px}
  .favorite-btn{width:28px;height:28px;font-size:18px}.wa-fab{width:30px;height:30px}.mobile-price{max-width:calc(100% - 40px);font-size:7.5px}
}

@media (hover:none),(pointer:coarse){.feed-card:hover img{transform:none}.feed-card:hover .feed-hover{opacity:0}.highlight:hover .highlight-circle{transform:none;border-color:#dfe2e6}.highlight.active .highlight-circle{border-color:#111}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ===== V4: centrado de escritorio + etiquetas con imagen ===== */
.highlight-circle{overflow:hidden;padding:3px}
.highlight-circle img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#f3f4f6}
.highlight-fallback{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;background:#fff}

@media(min-width:621px){
  .profile-main{max-width:860px;margin-left:auto;margin-right:auto}
  .highlights.centered{justify-content:center}
  .feed-grid.items-1 .feed-card:not(.featured):not(.wide-auto){grid-column:3 / span 2}
  .feed-grid.items-1 .feed-card.featured,.feed-grid.items-1 .feed-card.wide-auto{grid-column:2 / span 4}
  .feed-grid.items-2 .feed-card:not(.featured):not(.wide-auto):first-child{grid-column:2 / span 2}
  .feed-grid.items-2 .feed-card:not(.featured):not(.wide-auto):nth-child(2){grid-column:4 / span 2}
}

@media(max-width:620px){
  .highlights.centered{justify-content:flex-start}
  .highlight-circle{padding:2px}
}


/* ===== V5.1 FIX: imágenes de etiquetas totalmente contenidas en el círculo ===== */
.highlight-circle{
  position:relative;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:50% !important;
  aspect-ratio:1 / 1;
  flex-shrink:0;
  isolation:isolate;
}
.highlight-circle > img{
  position:absolute !important;
  inset:3px !important;
  display:block !important;
  width:calc(100% - 6px) !important;
  height:calc(100% - 6px) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  object-fit:cover !important;
  object-position:center center !important;
  overflow:hidden !important;
  -webkit-clip-path:circle(50% at 50% 50%);
  clip-path:circle(50% at 50% 50%);
  z-index:1;
}
.highlight-circle > .highlight-fallback{
  position:absolute;
  inset:3px;
  width:auto;
  height:auto;
  border-radius:50%;
  overflow:hidden;
  z-index:1;
}
@media(max-width:620px){
  .highlight-circle > img{inset:3px !important;width:calc(100% - 6px) !important;height:calc(100% - 6px) !important}
}

/* ===== V6 FINAL: carga progresiva para miles de kits ===== */
.feed-load-controls{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px 10px}
.load-more-btn{min-width:190px;min-height:46px;border:1px solid #dfe2e6;border-radius:999px;background:#fff;color:#111;font-weight:800;padding:10px 20px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.load-more-btn:hover{background:#f7f7f8}.load-more-btn:disabled{opacity:.55;cursor:wait}
.load-status{min-height:18px;color:#777;font-size:12px;text-align:center}
.feed-sentinel{width:100%;height:2px;pointer-events:none}
#favoritesView[hidden],#catalogView[hidden]{display:none!important}

.gallery-load-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;padding:2px 0 0}
.gallery-load-more{min-height:42px;border:1px solid #dfe2e6;border-radius:999px;background:#fff;color:#111;padding:9px 16px;font-weight:750;cursor:pointer}
.gallery-load-more:hover{background:#f7f7f8}.gallery-load-more:disabled{opacity:.55;cursor:wait}
.gallery-load-controls span{font-size:12px;color:#7b8189}

@media(max-width:620px){
  .feed-load-controls{padding:20px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
  .load-more-btn{width:min(100%,280px);min-height:48px}
  .gallery-load-controls{padding:2px 0 4px;flex-wrap:wrap}
  .gallery-load-more{min-height:44px}
}
