:root {
  --lcp-sticky-top: 0px;
  --lcp-sticky-top2: 0px;
}

/* PROVISIONAL */

.dokan-store-wrap,
.dokan-single-store,
.store-page-wrap,
#dokan-content {
  overflow: visible !important;
  transform: none !important;
}

.lcp-py-nav-wrap {
  position: -webkit-sticky;
  position: sticky;
  top: var(--lcp-sticky-top);
  z-index: 4; /* ↑ para ir por encima del header sticky */
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  left: 0;
  right: 0;
  width: 100%;
}

.lcp-py-nav {
  display: flex;
  gap: .75rem;
  overflow-x: auto;
  padding: .75rem 1rem;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.lcp-py-nav::-webkit-scrollbar { display: none; }

.lcp-py-tab {
  flex: 0 0 auto;
  scroll-snap-align: start;
  font-weight: 600;
  padding: .5rem .9rem;
  border-radius: 999px;
  background: #f5f5f7;
  text-decoration: none;
  color: inherit;
  white-space: nowrap;
  transition: background .2s ease, transform .2s ease;
}
.lcp-py-tab.is-active,
.lcp-py-tab.is-active:hover {
  background: #111;
  color: #fff;
  transform: translateY(-1px);
}

.lcp-py-sticky-title {
  position: -webkit-sticky;
  position: sticky;
  top: var(--lcp-sticky-top2);
  z-index: 1001;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.3;
  padding: .6rem 1rem;
  display: none !important;
}

/* Contenido */
.lcp-py-content { padding: 1rem 0; }
.lcp-py-section { margin-bottom: 2rem; scroll-margin-top: calc(var(--lcp-sticky-top2) + 8px); }
.lcp-py-section-title { font-size: 1.25rem; line-height: 1.2; margin: 1rem 1rem .5rem; font-weight: 700; }

ul.products { padding: 0 1rem; }

body.store-pide-ya .lcp-py-content ul.products {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0 1rem;
}
body.store-pide-ya .lcp-py-content ul.products::before,
body.store-pide-ya .lcp-py-content ul.products::after { display: none !important; }

body.store-pide-ya .lcp-py-content ul.products li.product {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
}

body.store-pide-ya li.product.lcp-py-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #eee !important;
}

body.store-pide-ya .lcp-py-thumb {
  flex: 0 0 96px !important;
  width: 96px !important;
  height: 96px !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: #fafafa !important;
}
body.store-pide-ya .lcp-py-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 12px !important;
}

body.store-pide-ya .lcp-py-info { flex: 1 1 auto !important; min-width: 0 !important; }

body.store-pide-ya .lcp-py-title {
  font-size: 1rem !important;
  line-height: 1.25 !important;
  margin: 0 0 .35rem !important;
  font-weight: 700 !important;
}
body.store-pide-ya .lcp-py-title a { color: inherit !important; text-decoration: none !important; }

body.store-pide-ya .lcp-py-desc {
  margin: .15rem 0 .5rem !important;
  font-size: .92rem !important;
  line-height: 1.35 !important;
  color: #555 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.store-pide-ya .lcp-py-meta { display: flex !important; align-items: center !important; gap: .75rem !important; }
body.store-pide-ya .lcp-py-price { font-weight: 700 !important; font-size: 1rem !important; }
body.store-pide-ya .lcp-py-add { margin-left: auto !important; }

body.store-pide-ya .lcp-py-nav-wrap {
  position: -webkit-sticky;
  position: sticky;
  top: var(--lcp-sticky-top) !important;
  z-index: 4 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
  left: 0; right: 0; width: 100%;
}
body.store-pide-ya .lcp-py-sticky-title {
  position: -webkit-sticky; position: sticky;
  top: var(--lcp-sticky-top2) !important;
  z-index: 1001 !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(0, 0, 0, .06) !important;
  font-weight: 700 !important; font-size: 1.1rem !important; line-height: 1.3 !important; padding: .6rem 1rem !important;
}

body.store-pide-ya .dokan-store-tabs,
body.store-pide-ya .dokan-store-products-filter-area,
body.store-pide-ya .dokan-store-rating,
body.store-pide-ya .store-social-wrapper { display: none !important; }

body.store-pide-ya .dokan-store-wrap,
body.store-pide-ya .dokan-single-store,
body.store-pide-ya .store-page-wrap,
body.store-pide-ya #dokan-content {
  overflow: visible !important; transform: none !important; margin: 0 !important; width: 100% !important;
}

/* ===============================
   DOKAN — STORE HEADER CUSTOM (FULL)
   =============================== */

:root {
  /* Espaciados */
  --dkn-gap-xxs: 6px;
  --dkn-gap-xs: 8px;
  --dkn-gap-sm: 12px;
  --dkn-gap-md: 16px;
  --dkn-gap-lg: 24px;

  /* Dimensiones */
  --dkn-banner-h: 260px;
  --dkn-logo-size: 88px;

  /* Radios y sombras */
  --dkn-radius-sm: 10px;
  --dkn-radius-md: 16px;
  --dkn-radius-pill: 9999px;
  --dkn-shadow: 0 0px 30px rgba(0, 0, 0, .2);

  /* Tipografía y colores base */
  --dkn-title-size: 1.5rem;
  --dkn-text: #222;
  --dkn-muted: #222;
  --dkn-muted-2: #777;

  /* Estados */
  --dkn-open-bg: #e7f9f0;
  --dkn-open-fg: #0a8f5a;
  --dkn-open-br: #b9ebd5;
  --dkn-closed-bg: #fdeeee;
  --dkn-closed-fg: #c0392b;
  --dkn-closed-br: #f6c1bd;

  /* Botón */
  --dkn-btn-bg: #2b6cb0;
  --dkn-btn-fg: #fff;
  --dkn-focus: #2563eb;

  /* Card/fondo claro */
  --dkn-card-bg: #fff;
  --dkn-logo-border: 3px solid #fff;
}

/* Dark mode automático */
@media (prefers-color-scheme: dark) {
  :root {
    --dkn-text: #f3f4f6;
    --dkn-muted: #d1d5db;
    --dkn-muted-2: #9ca3af;

    --dkn-open-bg: #0d2c20;
    --dkn-open-fg: #7de2b8;
    --dkn-open-br: #174b34;

    --dkn-closed-bg: #351717;
    --dkn-closed-fg: #ef9a95;
    --dkn-closed-br: #5a2625;

    --dkn-card-bg: #0f172a;
    --dkn-shadow: 0 8px 20px rgba(0, 0, 0, .4);
    --dkn-logo-border: 3px solid #0f172a;
  }
}

/* ---- Wrapper principal ---- */
.custom-centered-header {
  position: relative;
  text-align: center;
  margin-bottom: var(--dkn-gap-lg);
  color: var(--dkn-text);
}

/* ---- Banner ---- */
.store-banner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: var(--dkn-banner-h);
  background-size: cover;
  background-position: center;
  border-radius: var(--dkn-radius-md);
  overflow: hidden;
}
.store-banner::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to bottom,
      rgba(0,0,0,.06) 0%,
      rgba(0,0,0,0) 50%,
      rgba(0,0,0,.06) 100%);
  pointer-events: none;
}

/* ---- Logo centrado ---- */
.store-logo-over { position: relative; z-index: 2; width: 100%; height: 0; }
.store-logo-over a {
  position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%);
  display: inline-flex; border-radius: var(--dkn-radius-pill); outline: none;
}
.store-logo-over a:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--dkn-focus) 40%, transparent); }
.store-logo-over__img {
  width: var(--dkn-logo-size); height: var(--dkn-logo-size);
  border-radius: var(--dkn-radius-pill); box-shadow: var(--dkn-shadow);
  object-fit: cover; background: var(--dkn-card-bg); display: block;
}

/* ---- Contenido inferior ---- */
.store-info-centered { margin-top: calc(var(--dkn-logo-size) * 0.5 + 14px); }
.store-title { font-size: var(--dkn-title-size); font-weight: 700; margin: 0 0 var(--dkn-gap-xs) 0; line-height: 1.25; }
.store-address { color: var(--dkn-muted); font-size: .95rem; margin-bottom: var(--dkn-gap-sm); line-height: 1.4; }

/* ---- Estado abierto/cerrado ---- */
.store-status { margin: var(--dkn-gap-xxs) 0 var(--dkn-gap-sm) 0; }
.badge { display: inline-block; padding: 6px 10px; border-radius: var(--dkn-radius-pill); font-size: .85rem; font-weight: 600; line-height: 1; user-select: none; vertical-align: middle; }
.badge-open { background: var(--dkn-open-bg); color: var(--dkn-open-fg); border: 1px solid var(--dkn-open-br); }
.badge-closed { background: var(--dkn-closed-bg); color: var(--dkn-closed-fg); border: 1px solid var(--dkn-closed-br); }

/* ---- Botón carta de alérgenos ---- */
.store-allergen { margin-top: var(--dkn-gap-sm); }
.btn-allergen { text-decoration: none; font-weight: 600; outline: none; border: none; }

/* ---- Ajustes por si Dokan añade wrappers ---- */
.custom-centered-header .dokan-store-wrap,
.custom-centered-header .profile-info,
.custom-centered-header .dokan-profile-layout { text-align: inherit; }

.added_to_cart.wc-forward { display: none !important; }

/* ---- Responsive ---- */
@media (max-width: 1024px) { :root { --dkn-banner-h: 240px; } }
@media (max-width: 640px) {
  :root { --dkn-banner-h: 200px; --dkn-logo-size: 78px; --dkn-title-size: 1.35rem; }
}

/* ---- RTL básico ---- */
html[dir="rtl"] .store-address { direction: rtl; text-align: center; }

/* ---- Print ---- */
@media print {
  .store-banner { height: 160px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .btn-allergen { border: 1px solid #333; background: #fff; color: #000 !important; box-shadow: none; }
}

/* ===============================
   AÑADIDOS: rendimiento & skeleton
   =============================== */
.lcp-py-section { content-visibility: auto; contain-intrinsic-size: 1px 1600px; }
.lcp-py-item    { content-visibility: auto; contain-intrinsic-size: 120px 1px; }

.lcp-py-skel{
  display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start
}
.skel-thumb{width:96px;height:96px;background:#eee;border-radius:12px}
.skel-lines{display:grid;gap:8px}
.skel-line{height:14px;background:#eee;border-radius:6px}
.skel-line.short{width:60%}
.skel-price{width:80px;height:16px;background:#eee;border-radius:6px;margin-top:6px}
.skel-btn{width:120px;height:36px;background:#eee;border-radius:999px;margin-top:8px}
