/* LaBotanería Theme — Main Stylesheet */
/* Uses CSS custom properties sourced from theme.json */

/* ── Reset & base ──────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--text);
  background: var(--wp--preset--color--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a  { color: var(--wp--preset--color--primary); text-decoration: none; }
a:hover { color: var(--wp--preset--color--primary-hover); }

/* ── Announcement bar ──────────────────────────────────────────────────────── */
.lbt-announcement-bar {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--text-on-primary);
  text-align: center;
  padding: 8px 16px;
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 500;
}
.lbt-announcement-text { margin: 0; font-size: inherit; }

/* ── Header ────────────────────────────────────────────────────────────────── */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.lbt-header {
  background: var(--wp--preset--color--bg-dark);
  color: var(--wp--preset--color--text-on-primary);
}
.lbt-header-inner {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.lbt-site-title {
  font-family: var(--wp--preset--font-family--heading) !important;
  font-size: var(--wp--preset--font-size--xl) !important;
  font-weight: 200 !important;
  color: #fff !important;
  text-decoration: none;
}
.lbt-nav .wp-block-navigation__container {
  display: flex; gap: 24px; align-items: center;
}
.lbt-nav a {
  color: rgba(255,255,255,.8);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 500;
  transition: color .2s;
}
.lbt-nav a:hover { color: #fff; }

/* ── Header actions ─────────────────────────────────────────────────────────── */
.lbt-header-actions { display: flex; align-items: center; gap: 16px; }
.lbt-cart-icon {
  position: relative;
  color: rgba(255,255,255,.8);
  display: flex; align-items: center;
  transition: color .2s;
}
.lbt-cart-icon:hover { color: #fff; }
.lbt-cart-count {
  position: absolute;
  top: -6px; right: -8px;
  background: var(--wp--preset--color--primary);
  color: #fff;
  font-size: 10px; font-weight: 700;
  width: 18px; height: 18px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.lbt-btn-login {
  background: var(--wp--preset--color--primary);
  color: #fff !important;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 600;
  transition: background .2s;
}
.lbt-btn-login:hover { background: var(--wp--preset--color--primary-hover); }

/* ── Buttons ────────────────────────────────────────────────────────────────── */
.lbt-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--wp--custom--button-radius, 8px);
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: background .2s, transform .1s;
  text-decoration: none;
}
.lbt-btn:hover { transform: translateY(-1px); }
.lbt-btn--primary {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--text-on-primary);
}
.lbt-btn--primary:hover { background: var(--wp--preset--color--primary-hover); color: #fff; }
.lbt-btn--outline {
  background: transparent;
  color: var(--wp--preset--color--primary);
  border: 2px solid var(--wp--preset--color--primary);
}
.lbt-btn--outline:hover { background: var(--wp--preset--color--primary); color: #fff; }
.lbt-btn--ghost {
  background: rgba(255,255,255,.15);
  color: #fff;
  backdrop-filter: blur(8px);
}
.lbt-btn--ghost:hover { background: rgba(255,255,255,.25); color: #fff; }

/* ── Hero section ───────────────────────────────────────────────────────────── */
.lbt-hero {
  min-height: 85vh;
  position: relative;
  display: flex; align-items: center;
  overflow: hidden;
}
.lbt-hero__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background-image: linear-gradient(135deg, rgba(124,58,237,.85) 0%, rgba(30,27,46,.9) 100%),
                    url('../images/hero-bg.jpg');
  z-index: 0;
}
.lbt-hero__content {
  position: relative; z-index: 1;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding: 80px 24px;
  color: #fff;
}
.lbt-hero__eyebrow {
  font-family: var(--wp--preset--font-family--script);
  font-size: var(--wp--preset--font-size--2xl);
  color: var(--wp--preset--color--accent);
  margin-bottom: 12px;
}
.lbt-hero__title {
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 200;
  line-height: 1.05;
  color: #fff;
  margin-bottom: 20px;
}
.lbt-hero__title em { font-style: italic; color: var(--wp--preset--color--accent); }
.lbt-hero__desc {
  font-size: var(--wp--preset--font-size--lg);
  color: rgba(255,255,255,.85);
  max-width: 540px;
  margin-bottom: 32px;
  line-height: 1.6;
}
.lbt-hero__actions { display: flex; gap: 16px; flex-wrap: wrap; }
.lbt-hero__badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px);
  color: rgba(255,255,255,.9);
  padding: 8px 16px;
  border-radius: 100px;
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 500;
  margin-top: 24px;
}

/* ── Product card ────────────────────────────────────────────────────────────── */
.lbt-card {
  background: var(--wp--preset--color--bg);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow .25s, transform .25s;
  display: flex; flex-direction: column;
}
.lbt-card:hover {
  box-shadow: 0 12px 32px rgba(124,58,237,.12);
  transform: translateY(-4px);
}
.lbt-card__img-wrap {
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--wp--preset--color--bg-alt);
}
.lbt-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.lbt-card:hover .lbt-card__img-wrap img { transform: scale(1.04); }
.lbt-card__body {
  padding: 16px;
  display: flex; flex-direction: column; flex: 1;
}
.lbt-card__title {
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 200;
  color: var(--wp--preset--color--text);
  margin-bottom: 6px;
}
.lbt-card__desc {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--text-muted);
  flex: 1;
  margin-bottom: 12px;
}
.lbt-card__footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: auto;
}
.lbt-card__price {
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 700;
  color: var(--wp--preset--color--primary);
}
.lbt-card-cta {
  background: var(--wp--preset--color--primary);
  color: #fff !important;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 600;
  transition: background .2s;
}
.lbt-card-cta:hover { background: var(--wp--preset--color--primary-hover); }

/* ── Product grid ────────────────────────────────────────────────────────────── */
.lbt-product-grid ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0; margin: 0;
}
@media (max-width: 1024px) { .lbt-product-grid ul { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .lbt-product-grid ul { grid-template-columns: 1fr; } }

/* ── Categories section ─────────────────────────────────────────────────────── */
.lbt-categories {
  padding: 80px 24px;
  background: var(--wp--preset--color--bg-alt);
}
.lbt-categories__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
}
.lbt-cat-card {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/5;
  position: relative;
  cursor: pointer;
  text-decoration: none;
}
.lbt-cat-card img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s;
}
.lbt-cat-card:hover img { transform: scale(1.06); }
.lbt-cat-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(30,27,46,.8) 0%, transparent 60%);
  display: flex; align-items: flex-end; padding: 20px;
}
.lbt-cat-card__name {
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 200;
  color: #fff;
}

/* ── Section titles ─────────────────────────────────────────────────────────── */
.lbt-section-title {
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 200;
  line-height: 1.1;
  color: var(--wp--preset--color--text);
}
.lbt-section-title em { font-style: italic; color: var(--wp--preset--color--primary); }
.lbt-section-eyebrow {
  font-family: var(--wp--preset--font-family--script);
  font-size: var(--wp--preset--font-size--xl);
  color: var(--wp--preset--color--primary);
  margin-bottom: 8px;
}

/* ── Footer ─────────────────────────────────────────────────────────────────── */
.lbt-footer {
  background: var(--wp--preset--color--bg-dark);
  color: var(--wp--preset--color--border);
}
.lbt-footer-inner {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding: 60px 24px 40px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
@media (max-width: 768px) {
  .lbt-footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .lbt-footer-inner { grid-template-columns: 1fr; }
}
.lbt-footer-heading {
  color: #fff;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 16px;
}
.lbt-footer-nav a, .lbt-footer-links a {
  color: var(--wp--preset--color--border);
  font-size: var(--wp--preset--font-size--sm);
  display: block;
  margin-bottom: 10px;
  transition: color .2s;
}
.lbt-footer-nav a:hover { color: var(--wp--preset--color--accent); }
.lbt-footer-desc { font-size: var(--wp--preset--font-size--sm); line-height: 1.6; margin-bottom: 20px; }
.lbt-footer-divider { border-color: rgba(255,255,255,.1); margin: 0; }
.lbt-footer-bottom {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding: 20px 24px;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
}
.lbt-footer-copy { font-size: var(--wp--preset--font-size--xs); color: rgba(255,255,255,.4); margin: 0; }
.lbt-social-link {
  color: rgba(255,255,255,.5);
  transition: color .2s;
}
.lbt-social-link:hover { color: var(--wp--preset--color--accent); }
.lbt-footer-social { display: flex; gap: 12px; }

/* ── Cart drawer ────────────────────────────────────────────────────────────── */
.lbt-cart-drawer {
  position: fixed; inset: 0;
  z-index: 9999;
  pointer-events: none;
  visibility: hidden;
  transition: visibility 0s linear .35s;
}
.lbt-cart-drawer--open {
  visibility: visible;
  transition-delay: 0s;
}
.lbt-cart-drawer__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.4);
  opacity: 0; pointer-events: none;
  transition: opacity .35s;
}
.lbt-cart-drawer--open .lbt-cart-drawer__overlay,
.lbt-cart-drawer__overlay--visible { opacity: 1; pointer-events: auto; }
.lbt-cart-drawer__panel {
  position: absolute;
  top: 0; right: 0;
  width: 420px; max-width: 100vw;
  height: 100%;
  background: #fff;
  display: flex; flex-direction: column;
  box-shadow: -8px 0 32px rgba(0,0,0,.15);
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  pointer-events: auto;
}
.lbt-cart-drawer--open .lbt-cart-drawer__panel { transform: translateX(0); }
.lbt-cart-drawer__body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
.lbt-cart-drawer__header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--wp--preset--color--border);
  display: flex; align-items: center; justify-content: space-between;
}
.lbt-cart-drawer__title {
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--2xl);
  font-weight: 200;
}
.lbt-cart-drawer__close {
  background: none; border: none; cursor: pointer;
  color: var(--wp--preset--color--text-muted);
  font-size: 22px; padding: 4px;
  transition: color .2s;
}
.lbt-cart-drawer__close:hover { color: var(--wp--preset--color--text); }
.lbt-cart-drawer__items { flex: 1; overflow-y: auto; padding: 16px 24px; }
.lbt-cart-drawer__item {
  display: flex; gap: 14px; padding: 14px 0;
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.lbt-cart-drawer__item-img {
  width: 72px; height: 72px; flex-shrink: 0;
  border-radius: 8px; overflow: hidden;
  background: var(--wp--preset--color--bg-alt);
}
.lbt-cart-drawer__item-img img { width: 100%; height: 100%; object-fit: cover; }
.lbt-cart-drawer__item-info { flex: 1; min-width: 0; }
.lbt-cart-drawer__item-name { font-size: var(--wp--preset--font-size--sm); font-weight: 600; margin-bottom: 4px; }
.lbt-cart-drawer__mods { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-muted); }
.lbt-cart-drawer__item-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 8px;
}
.lbt-cart-drawer__price { font-weight: 700; color: var(--wp--preset--color--primary); }
.lbt-cart-drawer__footer {
  padding: 20px 24px;
  border-top: 1px solid var(--wp--preset--color--border);
}
.lbt-cart-drawer__total {
  display: flex; justify-content: space-between; align-items: center;
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 700;
  margin-bottom: 16px;
}
.lbt-cart-drawer__checkout-btn {
  display: block; width: 100%;
  background: var(--wp--preset--color--primary);
  color: #fff;
  text-align: center;
  padding: 16px;
  border-radius: 12px;
  font-weight: 700;
  font-size: var(--wp--preset--font-size--base);
  border: none; cursor: pointer;
  transition: background .2s;
  text-decoration: none;
}
.lbt-cart-drawer__checkout-btn:hover { background: var(--wp--preset--color--primary-hover); color: #fff; }
.lbt-cart-drawer__subtotal {
  display: flex; justify-content: space-between; align-items: center;
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 700;
  margin-bottom: 6px;
}
.lbt-cart-drawer__note {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--text-muted);
  margin: 0 0 14px;
}
.lbt-cart-drawer__view-cart {
  display: block; text-align: center;
  margin-top: 10px;
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--text-muted);
  text-decoration: underline;
}
.lbt-cart-drawer__view-cart:hover { color: var(--wp--preset--color--text); }
.lbt-cart-drawer__items { list-style: none; margin: 0; }
.lbt-cart-drawer__items--busy { opacity: .5; pointer-events: none; }
.lbt-cart-drawer__mod-line { display: block; }
.lbt-cart-drawer__qty {
  display: inline-flex; align-items: center; gap: 10px;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 999px;
  padding: 2px 8px;
}
.lbt-cart-drawer__qty-btn {
  background: none; border: none; cursor: pointer;
  font-size: 16px; line-height: 1;
  padding: 4px 6px;
  color: var(--wp--preset--color--text);
}
.lbt-cart-drawer__qty-btn:hover { color: var(--wp--preset--color--primary); }
.lbt-cart-drawer__qty-num { min-width: 16px; text-align: center; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.lbt-cart-drawer__remove {
  background: none; border: none; cursor: pointer;
  margin-top: 6px; padding: 0;
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--text-muted);
  text-decoration: underline;
}
.lbt-cart-drawer__remove:hover { color: #dc2626; }
.lbt-cart-drawer__empty {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding: 56px 0; text-align: center;
  color: var(--wp--preset--color--text-muted);
}

/* ── Modifier popup ─────────────────────────────────────────────────────────── */
#lbt-overlay {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(0,0,0,.5);
  display: none; align-items: center; justify-content: center;
  padding: 16px;
}
#lbt-overlay.lbt-open { display: flex; }
#lbt-modal {
  background: #fff;
  border-radius: 20px;
  width: 100%; max-width: 520px;
  max-height: 90vh;
  display: flex; flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.2);
}
#lbt-modal-img img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
#lbt-modal-body { display: flex; flex-direction: column; flex: 1; overflow: hidden; }
#lbt-modal-scroll { flex: 1; overflow-y: auto; padding: 24px; }
.lbt-close {
  position: absolute; top: 16px; right: 16px;
  background: none; border: none; cursor: pointer;
  font-size: 20px; color: var(--wp--preset--color--text-muted);
}
.lbt-product-name {
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--2xl);
  font-weight: 200;
  margin-bottom: 20px;
}
.lbt-group { margin-bottom: 24px; }
.lbt-group-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
}
.lbt-group-name { font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.lbt-group-sub  { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-muted); }
.lbt-badge {
  font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
  padding: 3px 10px; border-radius: 100px;
}
.lbt-badge-required { background: #FEE2E2; color: #DC2626; }
.lbt-badge-optional  { background: #F3F4F6; color: var(--wp--preset--color--text-muted); }
.lbt-mod-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 14px;
  border: none;
  border-radius: 0px;
  margin-bottom: 8px;
  transition: border-color .2s, background .2s;
}
.lbt-mod-row:hover { border-color: #7C3AED66; background: var(--wp--preset--color--bg-alt); }
.lbt-mod-label { font-size: var(--wp--preset--font-size--sm); }
.lbt-mod-price { color: var(--wp--preset--color--primary); font-weight: 600; }
.lbt-qty-ctrl { display: flex; align-items: center; gap: 10px; }
.lbt-qty-btn {
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1px solid var(--wp--preset--color--border);
  background: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  transition: background .2s, border-color .2s;
}
.lbt-qty-btn:hover:not(:disabled) { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; }
.lbt-qty-btn:disabled { opacity: .35; cursor: not-allowed; }
.lbt-qty-num { min-width: 20px; text-align: center; font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.lbt-radio {
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 2px solid var(--wp--preset--color--border);
  display: flex; align-items: center; justify-content: center;
  transition: border-color .2s;
}
.lbt-radio.selected { border-color: var(--wp--preset--color--primary); }
.lbt-radio-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--primary); }
#lbt-modal-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--wp--preset--color--border);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.lbt-qty-main { display: flex; align-items: center; gap: 12px; }
#lbt-add-btn {
  flex: 1;
  background: var(--wp--preset--color--primary);
  color: #fff;
  border: none; cursor: pointer;
  padding: 14px 20px;
  border-radius: 12px;
  font-weight: 700; font-size: var(--wp--preset--font-size--sm);
  display: flex; align-items: center; justify-content: space-between;
  transition: background .2s;
}
#lbt-add-btn:disabled { background: var(--wp--preset--color--border); cursor: not-allowed; color: var(--wp--preset--color--text-muted); }
#lbt-add-btn:not(:disabled):hover { background: var(--wp--preset--color--primary-hover); }
.lbt-instructions { width: 100%; border: 1px solid var(--wp--preset--color--border); border-radius: 10px; padding: 10px 14px; font-size: var(--wp--preset--font-size--sm); resize: vertical; }
.lbt-instructions-label { font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--wp--preset--color--text-muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }

/* ── Breadcrumb ──────────────────────────────────────────────────────────────── */
.lbt-breadcrumb { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-muted); padding: 12px 0; }
.lbt-breadcrumb a { color: var(--wp--preset--color--text-muted); }
.lbt-breadcrumb a:hover { color: var(--wp--preset--color--primary); }

/* ── Catalog page ────────────────────────────────────────────────────────────── */
.lbt-catalog { padding: 48px 24px; }
.lbt-catalog-title { font-family: var(--wp--preset--font-family--heading); font-weight: 200; }

/* ── Cart page ───────────────────────────────────────────────────────────────── */
.lbt-cart-page { padding: 48px 24px; }
.lbt-cart-modifiers { margin: 4px 0 0 0; padding: 0 0 0 16px; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--text-muted); }

/* ── My Account ──────────────────────────────────────────────────────────────── */
.lbt-account-page { padding: 48px 24px; }
.lbt-order-delivery { margin-top: 24px; }
.lbt-order-delivery h2 { font-family: var(--wp--preset--font-family--heading); font-weight: 200; margin-bottom: 12px; }
.lbt-order-delivery table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); }
.lbt-order-delivery th, .lbt-order-delivery td { padding: 8px 12px; border: 1px solid var(--wp--preset--color--border); text-align: left; }
.lbt-order-delivery th { font-weight: 600; background: var(--wp--preset--color--bg-alt); }

/* ── Testimonials ────────────────────────────────────────────────────────────── */
.lbt-testimonials { padding: 80px 24px; background: var(--wp--preset--color--bg-alt); }
.lbt-testimonials__grid {
  max-width: var(--wp--style--global--wide-size);
  margin-inline: auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
@media (max-width: 768px) { .lbt-testimonials__grid { grid-template-columns: 1fr; } }
.lbt-testimonial-card {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.lbt-testimonial-stars { color: #F59E0B; margin-bottom: 12px; font-size: var(--wp--preset--font-size--base); }
.lbt-testimonial-text  { font-size: var(--wp--preset--font-size--sm); line-height: 1.7; margin-bottom: 16px; }
.lbt-testimonial-author { font-size: var(--wp--preset--font-size--xs); font-weight: 600; color: var(--wp--preset--color--text-muted); }

/* ── FAQ ─────────────────────────────────────────────────────────────────────── */
.lbt-faq { padding: 80px 24px; }
.lbt-faq__inner { max-width: 760px; margin-inline: auto; }
.lbt-faq-item {
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
}
.lbt-faq-item summary {
  padding: 18px 20px;
  cursor: pointer;
  font-size: var(--wp--preset--font-size--base);
  font-weight: 600;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center;
}
.lbt-faq-item summary::-webkit-details-marker { display: none; }
.lbt-faq-item[open] summary { color: var(--wp--preset--color--primary); border-bottom: 1px solid var(--wp--preset--color--border); }
.lbt-faq-item__body { padding: 16px 20px; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-muted); line-height: 1.7; }

/* ── How-to-order ────────────────────────────────────────────────────────────── */
.lbt-steps { padding: 80px 24px; }
.lbt-steps__inner { max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.lbt-steps__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 48px; }
@media (max-width: 768px) { .lbt-steps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .lbt-steps__grid { grid-template-columns: 1fr; } }
.lbt-step { text-align: center; }
.lbt-step__icon {
  width: 64px; height: 64px;
  background: var(--wp--preset--color--primary-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 16px;
  font-size: 28px;
}
.lbt-step__num { font-size: var(--wp--preset--font-size--xs); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--wp--preset--color--primary); margin-bottom: 8px; }
.lbt-step__title { font-size: var(--wp--preset--font-size--lg); font-weight: 600; margin-bottom: 8px; }
.lbt-step__desc { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-muted); line-height: 1.6; }

/* ── CTA Banner ──────────────────────────────────────────────────────────────── */
.lbt-cta-banner {
  background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #4C1D95 100%);
  color: #fff;
  padding: 80px 24px;
  text-align: center;
}
.lbt-cta-banner__title {
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 200;
  margin-bottom: 16px;
}
.lbt-cta-banner__desc { max-width: 560px; margin: 0 auto 32px; opacity: .85; }

/* ── Page width helpers ──────────────────────────────────────────────────────── */
.section-padding { padding: 80px 24px; }
.lbt-main { min-height: 60vh; }

/* ── Admin: order meta box ──────────────────────────────────────────────────── */
.lbt-order-meta-box { background: #f9f9f9; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; margin: 16px 0; }
.lbt-order-meta-box h4 { margin: 0 0 12px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: #7c3aed; }
.lbt-utm-box { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 12px 16px; margin: 12px 0; }
.lbt-utm-box h4 { margin: 0 0 8px; color: #15803d; }
.lbt-modifier-list { background: #f5f3ff; border-radius: 6px; padding: 8px 12px; margin: 8px 0; font-size: 12px; }
.lbt-modifier-list ul { margin: 4px 0 0 16px; }

/* ── Popup de modificadores (port del tema Shopify) ── */
#lbt-overlay { display:none; position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.6); align-items:center; justify-content:center; padding:1rem; }
#lbt-overlay.lbt-open { display:flex; }
#lbt-modal { position:relative; background:#fff; border-radius:1.25rem; box-shadow:0 25px 60px rgba(0,0,0,.25); width:100%; max-width:760px; max-height:92vh; display:flex; flex-direction:column; overflow:hidden; animation:lbt-fade-in .2s ease; }
@media (min-width:640px){ #lbt-modal { flex-direction:row; } }
#lbt-modal-img { flex-shrink:0; height:220px; overflow:hidden; background:#f3f4f6; }
#lbt-modal-img img { width:100%; height:100%; object-fit:cover; display:block; }
@media (min-width:640px){ #lbt-modal-img { width:42%; height:auto; } }
#lbt-modal-body { flex:1; display:flex; flex-direction:column; overflow:hidden; }
#lbt-modal-scroll { flex:1; overflow-y:auto; padding:1.5rem; }
.lbt-close { position:absolute; top:.75rem; right:.75rem; z-index:10; width:2rem; height:2rem; border-radius:50%; background:rgba(255,255,255,.85); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:#555; line-height:1; }
.lbt-close:hover { background:#fff; color:#111; }
.lbt-product-name { font-family:var(--wp--preset--font-family--body); font-size:1.2rem; font-weight:700; color:#111; margin:0 0 .25rem; }
.lbt-48h-banner { border-radius:.75rem; padding:.65rem .85rem; border:1px solid #fde047; background:#fef9c3; color:#713f12; font-size:.82rem; font-weight:500; margin-bottom:1.25rem; display:flex; align-items:flex-start; gap:.5rem; line-height:1.5; }
.lbt-48h-icon { flex-shrink:0; font-size:1rem; margin-top:.05rem; }
.lbt-48h-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: #fef9c3; color: #713f12; border: 1px solid #fde047;
  font-size: .72rem; font-weight: 600; padding: 3px 8px; border-radius: 100px;
  pointer-events: none;
}
.lbt-product-card { position: relative; }
.lbt-48h-note {
  font-size: .75rem; color: #92400e; text-align: center;
  margin: .25rem 0 .5rem;
}
.lbt-48h-banner--drawer { margin: 0 0 12px; }
.lbt-48h-banner--product { margin: 1rem 0; }
.lbt-48h-banner--cart, .lbt-48h-banner--checkout { margin: 0 0 1.25rem; }
.lbt-group { margin-bottom:1.5rem; }
.lbt-group-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem; }
.lbt-group-name { font-size:1rem; font-weight:700; color:#111; margin:0; }
.lbt-group-sub { font-size:.75rem; color:#9ca3af; margin:0; }
.lbt-badge { font-size:.7rem; font-weight:600; padding:.2rem .65rem; border-radius:99px; white-space:nowrap; }
.lbt-badge-required { background:#ede9fe; color:var(--wp--preset--color--primary,#7c3aed); }
.lbt-badge-optional { background:#f3f4f6; color:#6b7280; }
.lbt-mod-row { display:flex; align-items:center; justify-content:space-between; padding:.6rem 0; border-bottom:1px solid #f3f4f6; gap:.5rem; }
.lbt-mod-row:last-child { border-bottom:none; }
.lbt-mod-unavailable { opacity:.58; cursor:not-allowed; }
.lbt-unavailable { display:block; color:#aa2935; font-size:.84rem; font-weight:700; margin:.25rem 0; }
.lbt-shopping-context { padding:.75rem .25rem 1.25rem; }
.lbt-shopping-context h2 { font-size:clamp(1.35rem,4vw,1.7rem); line-height:1.25; margin:0 0 1rem; }
.lbt-shopping-context p { font-size:1rem; line-height:1.5; }
.lbt-context-actions { display:grid; gap:.75rem; }
.lbt-context-actions button, #lbt-context-confirm { width:100%; padding:1rem; border-radius:.75rem; border:2px solid #7137a9; background:#7137a9; color:white; font-size:1rem; font-weight:700; cursor:pointer; }
.lbt-context-actions button + button { background:white; color:#7137a9; }
.lbt-context-actions button:hover, #lbt-context-confirm:hover { filter:brightness(.92); }
.lbt-context-actions button:disabled, #lbt-context-confirm:disabled { opacity:.6; cursor:wait; }
#lbt-context-error { color:#a5202d; font-weight:600; }
.lbt-context-address .form-row { width:100%; float:none; margin-bottom:.75rem; }
.lbt-context-address input, .lbt-context-address select { width:100%; }
.pac-container { z-index:100001 !important; }
.lbt-mod-label { font-size:.875rem; color:#374151; flex:1; }
.lbt-mod-price { font-size:.75rem; color:#9ca3af; margin-left:.3rem; }
.lbt-radio { width:1.2rem; height:1.2rem; border-radius:50%; border:2px solid #d1d5db; flex-shrink:0; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .15s; }
.lbt-radio.selected { border-color:var(--wp--preset--color--primary,#7c3aed); background:var(--wp--preset--color--primary,#7c3aed); }
.lbt-radio-dot { width:.5rem; height:.5rem; border-radius:50%; background:#fff; }
.lbt-qty-ctrl { display:flex; align-items:center; gap:.4rem; }
.lbt-qty-btn { width:1.75rem; height:1.75rem; border-radius:50%; border:1px solid #d1d5db; background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1rem; color:#6b7280; line-height:1; padding:0; }
.lbt-qty-btn:hover:not(:disabled) { background:#f9fafb; }
.lbt-qty-btn:disabled { opacity:.3; cursor:default; }
.lbt-qty-num { min-width:1.25rem; text-align:center; font-size:.875rem; font-weight:600; color:#111; }
.lbt-instructions-label { font-size:.9rem; font-weight:700; color:#111; margin:0 0 .5rem; }
.lbt-instructions { width:100%; box-sizing:border-box; border-radius:.75rem; border:1px solid #e5e7eb; padding:.65rem .85rem; font-size:.85rem; resize:none; outline:none; font-family:inherit; }
.lbt-instructions:focus { border-color:var(--wp--preset--color--primary,#7c3aed); }
#lbt-modal-footer { border-top:1px solid #f3f4f6; padding:1rem 1.5rem; display:flex; align-items:center; gap:.75rem; background:#fff; }
.lbt-qty-main { display:flex; align-items:center; gap:.4rem; flex-shrink:0; }
#lbt-add-btn { flex:1; display:flex; align-items:center; justify-content:space-between; padding:.85rem 1.25rem; border-radius:.75rem; border:none; background:var(--wp--preset--color--primary,#7c3aed); color:#fff; font-size:.875rem; font-weight:700; cursor:pointer; transition:opacity .15s; }
#lbt-add-btn:hover:not(:disabled) { opacity:.9; }
#lbt-add-btn:disabled { background:#c4b5fd; cursor:not-allowed; }
.lbt-loading { text-align:center; padding:3rem 1rem; color:#9ca3af; font-size:.875rem; }
.lbt-toast { position:fixed; bottom:1.5rem; left:50%; transform:translate(-50%, 1rem); background:#111827; color:#fff; padding:.7rem 1.2rem; border-radius:.75rem; font-size:.875rem; z-index:100000; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; }
.lbt-toast--visible { opacity:1; transform:translate(-50%, 0); }
@keyframes lbt-fade-in { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:scale(1); } }

.lbt-spinner { width: 32px; height: 32px; border: 3px solid var(--wp--preset--color--border); border-top-color: var(--wp--preset--color--primary); border-radius: 50%; animation: lbt-spin .8s linear infinite; }
@keyframes lbt-spin { to { transform: rotate(360deg); } }

/* ═══════════ HOME 2.0 — réplica del theme Shopify ═══════════ */
.lbt-home .entry-title { display: none; }
.lbt-sec { padding-block: 60px; padding-inline: clamp(1rem, 4vw, 2rem); }
.lbt-anchor { position: relative; top: -80px; height: 0; margin: 0 !important; padding: 0; }
.lbt-eyebrow {
  font-size: .75rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--lbt-primary, #7c3aed);
  margin: 0 0 .75rem;
}
.lbt-eyebrow--light { color: #fff; letter-spacing: .12em; font-size: .8rem; }
.lbt-h2 {
  font-family: 'PP Editorial New', Georgia, serif;
  font-size: clamp(2rem, 4vw, 3rem); font-weight: 200;
  line-height: 1.15; color: #1e1b2e; margin: 0 0 2.5rem;
}
.lbt-h2 em { font-style: italic; }
.lbt-h2--light { color: #fff; margin-bottom: 1rem; }
.lbt-sec-cta { margin-top: 2.5rem; }
.lbt-wireframe {
  display: flex; align-items: center; justify-content: center; text-align: center;
  background: repeating-linear-gradient(45deg, #e5e7eb, #e5e7eb 12px, #f3f4f6 12px, #f3f4f6 24px);
  color: #6b7280; font-size: .8rem; font-weight: 600;
  width: 100%; height: 100%; position: absolute; inset: 0; margin: 0; padding: 1rem;
}

/* Hero */
.lbt-hero-cover { display: flex; align-items: center; }
.lbt-hero-cover .wp-block-cover__inner-container {
  width: 100%; max-width: 1280px; margin-inline: auto;
  padding: 3rem clamp(1rem, 4vw, 2rem);
}
.lbt-hero-box { max-width: 560px; }
.lbt-hero-title {
  font-family: 'PP Editorial New', Georgia, serif;
  font-size: clamp(2rem, 5vw, 60px); font-weight: 200;
  line-height: 1.15; color: #fff; margin: 0 0 1.25rem;
}
.lbt-hero-sub { color: #fff; font-size: 18px; line-height: 1.6; margin: 0 0 2rem; }
.lbt-hero-actions { gap: 1rem; }
.lbt-btn--outline-light .wp-block-button__link {
  background: transparent; border: 2px solid #fff; color: #fff; border-radius: 8px;
}
.lbt-btn--outline-light .wp-block-button__link:hover { background: rgba(255,255,255,.12); }

/* Barra de entrega */
.lbt-delivery {
  background: #ede9fe; border-block: 1px solid #ddd6fe; padding-block: .9rem;
}
.lbt-delivery-items {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2.5rem;
}
.lbt-delivery-item { color: #5b21b6; font-size: .9rem; font-weight: 600; margin: 0; }

/* Rejillas */
.lbt-grid { display: grid; gap: 1.5rem; }
.lbt-grid--cat  { grid-template-columns: repeat(5, 1fr); gap: 12px; }
.lbt-grid--occ  { grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.lbt-grid--3    { grid-template-columns: repeat(3, 1fr); }
.lbt-grid--packs{ grid-template-columns: repeat(2, 1fr); max-width: 900px; margin-inline: auto; }
@media (max-width: 1024px) {
  .lbt-grid--cat, .lbt-grid--occ { grid-template-columns: repeat(3, 1fr); }
  .lbt-grid--3 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .lbt-grid--cat, .lbt-grid--occ { grid-template-columns: repeat(2, 1fr); }
  .lbt-grid--3, .lbt-grid--packs { grid-template-columns: 1fr; }
}

/* Tarjeta de categoría */
.lbt-catcard {
  position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 1;
  background: #e9d5ff;
}
.lbt-catcard__img, .lbt-catcard__img img {
  width: 100%; height: 100%; object-fit: cover; margin: 0; display: block;
}
.lbt-catcard__img { position: absolute; inset: 0; }
.lbt-catcard__img img { transition: transform .4s ease; }
.lbt-catcard:hover .lbt-catcard__img img { transform: scale(1.05); }
.lbt-catcard__label {
  position: absolute; inset: 0; display: flex; align-items: flex-end;
  padding: 1.25rem; margin: 0;
  background: linear-gradient(to top, rgba(0,0,0,.65) 0%, transparent 55%);
}
.lbt-catcard__label a {
  color: #fff; font-size: 1.05rem; font-weight: 500; letter-spacing: .02em;
  text-decoration: none;
}
.lbt-catcard__label a::after { content: ''; position: absolute; inset: 0; }

/* Tarjeta de ocasión */
.lbt-occcard { text-align: center; }
.lbt-occcard__img { margin: 0 0 .5rem; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; }
.lbt-occcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbt-occcard__label {
  font-size: .7rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: #374151; margin: 0;
}

/* Tarjeta de beneficio */
.lbt-bencard {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 16px;
  overflow: hidden; display: flex; flex-direction: column;
}
.lbt-bencard__img { margin: 0; aspect-ratio: 4/3; }
.lbt-bencard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbt-bencard__title { font-size: 1.15rem; font-weight: 500; margin: 1.25rem 1.5rem .5rem; color: #1e1b2e; }
.lbt-bencard__desc { color: #6b7280; font-size: .9rem; line-height: 1.6; margin: 0 1.5rem 1.5rem; }

/* Testimonios */
.lbt-tstcard {
  background: #fff; border-radius: 16px; padding: 2rem;
  display: flex; flex-direction: column; gap: 1rem;
}
.lbt-tstcard__stars { color: #fbbf24; letter-spacing: .1em; margin: 0; }
.lbt-tstcard__quote { color: #6b7280; font-size: .95rem; line-height: 1.7; font-style: italic; margin: 0; }
.lbt-tstcard__who { margin-top: auto; align-items: center; gap: .75rem; }
.lbt-tstcard__avatar {
  width: 42px; height: 42px; border-radius: 50%; background: #7c3aed;
  color: #fff; font-weight: 600; display: flex; align-items: center;
  justify-content: center; margin: 0; flex-shrink: 0;
}
.lbt-tstcard__name { font-size: .9rem; color: #1e1b2e; margin: 0; }

/* Packs */
.lbt-packcard {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 16px;
  overflow: hidden; display: flex; flex-direction: column; position: relative;
}
.lbt-packcard--featured { border: 2px solid #7c3aed; box-shadow: 0 8px 30px rgba(124,58,237,.15); }
.lbt-packcard__img { margin: 0; aspect-ratio: 16/10; }
.lbt-packcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbt-packcard__chip {
  display: inline-block; align-self: flex-start; margin: 1.25rem 1.5rem 0;
  background: #ede9fe; color: #5b21b6; font-size: .75rem; font-weight: 600;
  padding: .25rem .75rem; border-radius: 999px;
}
.lbt-packcard__title { font-size: 1.35rem; font-weight: 500; color: #1e1b2e; margin: .75rem 1.5rem .25rem; }
.lbt-packcard__desc { color: #6b7280; font-size: .9rem; line-height: 1.6; margin: 0 1.5rem .75rem; }
.lbt-packcard__price { font-size: 1.25rem; font-weight: 700; color: #7c3aed; margin: 0 1.5rem .75rem; }
.lbt-packcard .wp-block-buttons { margin: 0 1.5rem 1.5rem; }

/* Pasos */
.lbt-stepcard { background: #fff; border-radius: 16px; padding: 2rem 1.5rem; text-align: center; }
.lbt-stepcard__num {
  width: 52px; height: 52px; border-radius: 50%; background: #7c3aed; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; font-weight: 600; margin: 0 auto 1.25rem; line-height: 1;
}
.lbt-stepcard__title { font-size: 1.15rem; font-weight: 500; color: #1e1b2e; margin: 0; }

/* FAQ */
.lbt-faq-cols { gap: 3rem; }
.lbt-faq-sub { color: #4b5563; font-size: .95rem; line-height: 1.7; }
.lbt-faq-link a { color: #7c3aed; font-weight: 500; }
.lbt-faq-item { border-bottom: 1px solid #e5e7eb; padding: 1.25rem 0; }
.lbt-faq-item summary {
  cursor: pointer; font-weight: 500; color: #1e1b2e; font-size: 1rem;
  list-style: none; position: relative; padding-right: 2rem;
}
.lbt-faq-item summary::-webkit-details-marker { display: none; }
.lbt-faq-item summary::after {
  content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  font-size: 1.25rem; color: #7c3aed;
}
.lbt-faq-item[open] summary::after { content: '−'; }
.lbt-faq-item p { margin: .75rem 0 0; color: #4b5563; font-size: .95rem; line-height: 1.7; }

/* CTA final */
.lbt-cta-cover { padding: 80px 1rem; }
.lbt-cta-sub { color: #fff; font-size: 1.05rem; max-width: 540px; margin: 0 auto 2rem; }

/* Portada: 4 columnas para "Los productos más pedidos" */
.lbt-sec-featured .lbt-product-grid ul { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .lbt-sec-featured .lbt-product-grid ul { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .lbt-sec-featured .lbt-product-grid ul { grid-template-columns: 1fr; } }

/* ═══════════ Página /pedir — réplica del theme Shopify ═══════════ */
.lbt-page { padding: 2rem clamp(1rem, 4vw, 2rem) 4rem; }
.lbt-page-title { font-size: 1.8rem; font-weight: 700; color: #1e1b2e; margin: 0 0 1.75rem; font-family: 'Manrope', system-ui, sans-serif; }
.lbt-pedir-layout { gap: 2.5rem; align-items: flex-start !important; }
.lbt-pedir-side { position: sticky; top: 90px; }
.lbt-pedir-nav { max-height: calc(100vh - 110px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #e5e7eb transparent; padding-right: .5rem; }
.lbt-pedir-nav__heading { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9ca3af; margin: 0 0 .6rem; padding: 0 .5rem; }
.lbt-pedir-nav__item { margin: 0; }
.lbt-pedir-nav__item a { display: block; padding: .5rem .75rem; border-radius: 6px; font-size: .875rem; font-weight: 500; color: #374151; text-decoration: none; transition: background .15s, color .15s; line-height: 1.3; }
.lbt-pedir-nav__item a:hover { background: #f3f4f6; color: #7c3aed; }
.lbt-pedir-nav__item a.is-active { background: #ede9fe; color: #7c3aed; font-weight: 600; }
.lbt-pedir-row { margin-bottom: 3rem; scroll-margin-top: 100px; }
.lbt-pedir-row__header { align-items: baseline; margin-bottom: 1.25rem; }
.lbt-pedir-row__heading { font-size: 1.5rem; letter-spacing: .5px; font-weight: 300; font-family: 'PP Editorial New', Georgia, serif; color: #1e1b2e; margin: 0; }
.lbt-pedir-row__viewall { margin: 0; }
.lbt-pedir-row__viewall a { font-size: .85rem; font-weight: 500; color: #7c3aed; text-decoration: none; }
.lbt-pedir-row__viewall a:hover { text-decoration: underline; }
.lbt-pedir-content .lbt-product-grid ul { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .lbt-pedir-content .lbt-product-grid ul { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 899px) {
  /* móvil: la barra lateral se convierte en píldoras horizontales fijas arriba */
  .lbt-pedir-layout { flex-wrap: nowrap !important; flex-direction: column; }
  .lbt-pedir-side { position: sticky; top: 0; z-index: 97; width: 100% !important; flex-basis: auto !important; background: #fff; border-bottom: 1px solid #e5e7eb; box-shadow: 0 2px 8px rgba(0,0,0,.06); margin: 0 -1rem; padding: .5rem 1rem; width: calc(100% + 2rem) !important; }
  .lbt-pedir-nav { display: flex; gap: .4rem; overflow-x: auto; max-height: none; padding: 0; scrollbar-width: none; }
  .lbt-pedir-nav::-webkit-scrollbar { display: none; }
  .lbt-pedir-nav__heading { display: none; }
  .lbt-pedir-nav__item { flex-shrink: 0; }
  .lbt-pedir-nav__item a { white-space: nowrap; padding: .42rem 1rem; border-radius: 9999px; font-size: .83rem; background: #f3f4f6; }
  .lbt-pedir-nav__item a.is-active { background: #7c3aed; color: #fff; }
}
@media (max-width: 640px) { .lbt-pedir-content .lbt-product-grid ul { grid-template-columns: repeat(2, 1fr); } }

/* móvil: 2 productos por fila en /pedir (como Shopify cols_mobile=2) */
@media (max-width: 640px) {
  .lbt-pedir-content .wc-block-product-template.is-flex-container { display: flex !important; flex-wrap: wrap; gap: 16px; }
  .lbt-pedir-content .wc-block-product-template.is-flex-container > li { width: calc(50% - 8px) !important; }
}

/* accesibilidad: foco visible en la navegación de /pedir */
.lbt-pedir-nav__item a:focus-visible { outline: 2px solid #7c3aed; outline-offset: 2px; background: #f3f4f6; }

/* ── Tarjeta de producto — paridad con Shopify product-card ── */
.lbt-product-card {
  background: #fff;
  border: 1px solid var(--wp--preset--color--border, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow .2s, transform .2s;
  height: 100%;
  cursor: pointer;
}
.lbt-product-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); transform: translateY(-2px); }
.lbt-product-card .wc-block-components-product-image,
.lbt-product-card .wp-block-woocommerce-product-image { margin: 0; overflow: hidden; }
.lbt-product-card .wp-block-woocommerce-product-image img {
  width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block;
  transition: transform .4s ease;
}
.lbt-product-card:hover .wp-block-woocommerce-product-image img { transform: scale(1.04); }
.lbt-product-card .lbt-product-card__title,
.lbt-product-card .wp-block-post-title {
  font-family: var(--wp--preset--font-family--body) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.3;
  color: var(--wp--preset--color--text, #111827);
  text-align: left !important;
  margin: 0;
  padding: 1rem 1rem 0;
}
.lbt-product-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.lbt-product-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary, #7c3aed); }
.lbt-product-card .wp-block-woocommerce-product-price {
  text-align: left !important;
  font-size: 1rem !important;
  font-weight: 700;
  color: var(--wp--preset--color--text, #111827);
  padding: 0 1rem;
  margin: .35rem 0 .75rem;
}
.lbt-product-card .wc-block-components-product-button {
  margin: auto 1rem 1rem;
  align-items: stretch !important;
}
.lbt-product-card .wc-block-components-product-button .wp-block-button__link {
  width: 100%;
  background: var(--wp--preset--color--primary, #7c3aed);
  color: #fff;
  border-radius: .6rem;
  font-size: .85rem;
  font-weight: 600;
  padding: .6rem 1rem;
  transition: opacity .15s;
}
.lbt-product-card .wc-block-components-product-button .wp-block-button__link:hover { opacity: .9; }
