/* Gurgen Tour — Local Brand Product Detail */

.lbp-page {
  --lbp-bg: #f7f4ef;
  --lbp-surface: #ffffff;
  --lbp-surface-2: #f0ebe3;
  --lbp-text: #1a1410;
  --lbp-muted: #6b5f54;
  --lbp-accent: #b45309;
  --lbp-accent-2: #0f766e;
  --lbp-border: rgba(26, 20, 16, 0.08);
  --lbp-shadow: 0 24px 60px rgba(26, 20, 16, 0.1);
  --lbp-radius: 24px;
  --lbp-wrap: min(1160px, calc(100% - 32px));
  background: var(--lbp-bg);
  color: var(--lbp-text);
  padding-bottom: 72px;
}

@media (prefers-color-scheme: dark) {
  .lbp-page {
    --lbp-bg: #0c0a09;
    --lbp-surface: #171412;
    --lbp-surface-2: #221d19;
    --lbp-text: #faf7f2;
    --lbp-muted: #a8a29e;
    --lbp-border: rgba(250, 247, 242, 0.08);
    --lbp-shadow: 0 28px 70px rgba(0, 0, 0, 0.45);
  }
}

.lbp-wrap { width: var(--lbp-wrap); margin-inline: auto; }

.lbp-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 20px 0 0;
  font-size: 0.85rem;
  color: var(--lbp-muted);
}

.lbp-breadcrumb a { color: var(--lbp-accent-2); text-decoration: none; }

/* Hero */
.lbp-hero {
  padding: 24px 0 40px;
}

.lbp-hero__grid {
  display: grid;
  gap: 32px;
}

@media (min-width: 900px) {
  .lbp-hero__grid {
    grid-template-columns: 1.05fr 0.95fr;
    align-items: start;
  }
}

.lbp-hero__main {
  background: var(--lbp-surface);
  border-radius: var(--lbp-radius);
  overflow: hidden;
  box-shadow: var(--lbp-shadow);
  aspect-ratio: 1;
}

.lbp-hero__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lbp-hero__thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.lbp-hero__thumb {
  flex: 0 0 72px;
  border: 2px solid transparent;
  border-radius: 14px;
  overflow: hidden;
  padding: 0;
  background: none;
  cursor: pointer;
}

.lbp-hero__thumb.is-active { border-color: var(--lbp-accent); }
.lbp-hero__thumb img { width: 72px; height: 72px; object-fit: cover; display: block; }

.lbp-eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lbp-accent-2);
  margin-bottom: 8px;
}

.lbp-title {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  line-height: 1.15;
  margin: 0 0 16px;
  font-weight: 700;
}

.lbp-brand-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.lbp-brand-logo {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  object-fit: cover;
  background: var(--lbp-surface-2);
}

.lbp-brand-name { font-weight: 600; color: var(--lbp-muted); }

.lbp-rating {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.lbp-stars { display: inline-flex; gap: 2px; color: #d6d3d1; }
.lbp-stars__star.is-filled { color: #f59e0b; }
.lbp-rating__count { color: var(--lbp-muted); text-decoration: none; font-size: 0.9rem; }

.lbp-meta-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: grid;
  gap: 8px;
  color: var(--lbp-muted);
}

.lbp-status {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
}

.lbp-status--available { background: rgba(15, 118, 110, 0.12); color: #0f766e; }
.lbp-status--unavailable { background: rgba(185, 28, 28, 0.12); color: #b91c1c; }
.lbp-status--seasonal, .lbp-status--limited { background: rgba(180, 83, 9, 0.12); color: var(--lbp-accent); }

.lbp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.lbp-badge {
  font-size: 0.78rem;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--lbp-surface);
  border: 1px solid var(--lbp-border);
}

.lbp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lbp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.lbp-btn:hover { transform: translateY(-1px); }

.lbp-btn--primary {
  background: linear-gradient(135deg, #b45309, #d97706);
  color: #fff;
  box-shadow: 0 10px 24px rgba(180, 83, 9, 0.25);
}

.lbp-btn--ghost {
  background: var(--lbp-surface);
  color: var(--lbp-text);
  border-color: var(--lbp-border);
}

/* Sections */
.lbp-body { display: grid; gap: 48px; padding-top: 8px; }

.lbp-section__title {
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  margin: 0 0 20px;
}

.lbp-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}

.lbp-section__head .lbp-section__title { margin-bottom: 0; }

.lbp-prose {
  background: var(--lbp-surface);
  border-radius: var(--lbp-radius);
  padding: 28px;
  box-shadow: var(--lbp-shadow);
  line-height: 1.75;
}

.lbp-prose img {
  max-width: 100%;
  border-radius: 16px;
  margin: 16px 0;
}

.lbp-prose--compact { padding: 20px; box-shadow: none; background: transparent; padding-left: 0; padding-right: 0; }

/* Benefits */
.lbp-benefits {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.lbp-benefit-card {
  background: var(--lbp-surface);
  border-radius: 20px;
  padding: 22px;
  border: 1px solid var(--lbp-border);
}

.lbp-benefit-card__icon { font-size: 1.6rem; display: block; margin-bottom: 10px; }
.lbp-benefit-card h3 { margin: 0 0 6px; font-size: 1rem; }
.lbp-benefit-card p { margin: 0; color: var(--lbp-muted); font-size: 0.9rem; }

/* Masonry */
.lbp-masonry {
  columns: 2;
  column-gap: 12px;
}

@media (min-width: 700px) { .lbp-masonry { columns: 3; } }

.lbp-masonry__item {
  break-inside: avoid;
  display: block;
  width: 100%;
  margin-bottom: 12px;
  border: none;
  padding: 0;
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  background: var(--lbp-surface);
}

.lbp-masonry__item img { width: 100%; display: block; }

.lbp-masonry__caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 12px;
  background: linear-gradient(transparent, rgba(0,0,0,0.65));
  color: #fff;
  font-size: 0.82rem;
}

/* Video */
.lbp-videos { display: grid; gap: 20px; }
.lbp-video-card__frame {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 20px;
  overflow: hidden;
  background: #000;
}

.lbp-video-card__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Specs */
.lbp-spec-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--lbp-surface);
  border-radius: var(--lbp-radius);
  overflow: hidden;
  box-shadow: var(--lbp-shadow);
}

.lbp-spec-table th,
.lbp-spec-table td {
  padding: 16px 20px;
  border-bottom: 1px solid var(--lbp-border);
  text-align: left;
}

.lbp-spec-table th {
  width: 38%;
  color: var(--lbp-muted);
  font-weight: 600;
}

/* Steps */
.lbp-steps { display: grid; gap: 16px; }

.lbp-step-card {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  background: var(--lbp-surface);
  border-radius: 20px;
  padding: 20px;
  border: 1px solid var(--lbp-border);
}

.lbp-step-card__num {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--lbp-surface-2);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--lbp-accent);
}

.lbp-step-card__image {
  max-width: 240px;
  border-radius: 14px;
  margin-top: 12px;
}

.lbp-step-card__video {
  position: relative;
  aspect-ratio: 16/9;
  margin-top: 12px;
  border-radius: 14px;
  overflow: hidden;
}

.lbp-step-card__video iframe { width: 100%; height: 100%; border: 0; }

/* Health */
.lbp-health-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.lbp-health-card {
  background: var(--lbp-surface);
  border-radius: 18px;
  padding: 20px;
  border-left: 4px solid var(--lbp-accent-2);
}

.lbp-health-card--warning { border-left-color: #dc2626; }
.lbp-health-card--storage { border-left-color: #2563eb; }

/* QR */
.lbp-qr__grid {
  display: grid;
  gap: 24px;
  align-items: center;
  background: var(--lbp-surface);
  border-radius: var(--lbp-radius);
  padding: 28px;
  box-shadow: var(--lbp-shadow);
}

@media (min-width: 700px) {
  .lbp-qr__grid { grid-template-columns: auto 1fr; }
}

.lbp-qr__code img { border-radius: 16px; background: #fff; padding: 8px; }

.lbp-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: grid;
  gap: 10px;
}

.lbp-checklist a { color: var(--lbp-accent-2); }

/* Distributors */
.lbp-view-toggle {
  display: inline-flex;
  background: var(--lbp-surface);
  border-radius: 999px;
  padding: 4px;
  border: 1px solid var(--lbp-border);
}

.lbp-view-toggle button {
  border: none;
  background: transparent;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  color: var(--lbp-muted);
}

.lbp-view-toggle button.is-active {
  background: var(--lbp-accent);
  color: #fff;
}

.lbp-distributors {
  display: grid;
  gap: 14px;
}

.lbp-distributor-card {
  background: var(--lbp-surface);
  border-radius: 18px;
  padding: 20px;
  border: 1px solid var(--lbp-border);
}

.lbp-distributor-card__pin { font-weight: 700; margin-bottom: 8px; }
.lbp-link { color: var(--lbp-accent-2); font-weight: 600; text-decoration: none; }

.lbp-map { height: 420px; border-radius: 20px; overflow: hidden; }

/* Brand story */
.lbp-brand-story {
  display: grid;
  gap: 20px;
  background: var(--lbp-surface);
  border-radius: var(--lbp-radius);
  padding: 28px;
  box-shadow: var(--lbp-shadow);
}

@media (min-width: 700px) {
  .lbp-brand-story { grid-template-columns: auto 1fr; }
}

.lbp-brand-story__logo { border-radius: 18px; object-fit: cover; }

.lbp-brand-facts {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.lbp-brand-facts div {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 8px;
}

.lbp-brand-facts dt { color: var(--lbp-muted); }
.lbp-brand-facts dd { margin: 0; font-weight: 600; }

.lbp-chip-list { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.lbp-chip {
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--lbp-surface-2);
  font-size: 0.85rem;
}

/* Reviews */
.lbp-reviews-summary {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 20px;
}

.lbp-reviews-summary__score { font-size: 2rem; }

.lbp-reviews { display: grid; gap: 14px; }

.lbp-review-card {
  background: var(--lbp-surface);
  border-radius: 18px;
  padding: 20px;
  border: 1px solid var(--lbp-border);
}

.lbp-review-card header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.lbp-review-images {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.lbp-review-images img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
}

/* Carousel */
.lbp-carousel {
  position: relative;
}

.lbp-carousel__track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 40px;
}

.lbp-carousel__track::-webkit-scrollbar { display: none; }

.lbp-related-card {
  flex: 0 0 180px;
  scroll-snap-align: start;
  text-decoration: none;
  color: inherit;
  background: var(--lbp-surface);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--lbp-border);
}

.lbp-related-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.lbp-related-card h3 { font-size: 0.92rem; padding: 12px; margin: 0; }
.lbp-related-card__rating { display: block; padding: 0 12px 12px; color: #f59e0b; font-size: 0.85rem; }

.lbp-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--lbp-border);
  background: var(--lbp-surface);
  cursor: pointer;
  z-index: 2;
}

.lbp-carousel__nav--prev { left: 0; }
.lbp-carousel__nav--next { right: 0; }

/* Contact */
.lbp-contact-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.lbp-contact-item {
  display: block;
  padding: 14px 16px;
  background: var(--lbp-surface);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--lbp-border);
}

.lbp-contact-map { margin-top: 16px; border-radius: 18px; overflow: hidden; }
.lbp-contact-map iframe { width: 100%; min-height: 280px; border: 0; }

.lbp-muted { color: var(--lbp-muted); }

/* Provider AI */
.lbp-provider {
  border: 1px dashed var(--lbp-border);
  border-radius: var(--lbp-radius);
  padding: 24px;
  background: var(--lbp-surface);
}

.lbp-ai-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Lightbox */
.lbp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.92);
  display: grid;
  place-items: center;
}

.lbp-lightbox[hidden] { display: none !important; }

.lbp-lightbox img {
  max-width: min(92vw, 1100px);
  max-height: 86vh;
  object-fit: contain;
}

.lbp-lightbox__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  color: #fff;
  font-size: 1.6rem;
  cursor: pointer;
}

.lbp-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
}

.lbp-lightbox__nav--prev { left: 16px; }
.lbp-lightbox__nav--next { right: 16px; }

/* Verify page */
.lbp-verify { padding-top: 24px; }

.lbp-verify-card {
  background: var(--lbp-surface);
  border-radius: var(--lbp-radius);
  padding: 32px;
  box-shadow: var(--lbp-shadow);
  max-width: 720px;
  margin: 0 auto;
}

.lbp-verify-card__badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(15, 118, 110, 0.12);
  color: #0f766e;
  font-weight: 700;
  margin-bottom: 12px;
}

.lbp-verify-grid {
  display: grid;
  gap: 16px;
  align-items: center;
  margin: 24px 0;
}

@media (min-width: 600px) {
  .lbp-verify-grid { grid-template-columns: auto 1fr auto; }
}

.lbp-verify-grid__image { border-radius: 16px; object-fit: cover; }

.lbp-verify-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Store listing cards */
.lb-product-card__media { display: block; text-decoration: none; }
.lb-product-card__title { color: inherit; text-decoration: none; }
.lb-product-card__title:hover { color: var(--lbp-accent); }
.lb-product-card__rating { display: block; color: #f59e0b; font-size: 0.85rem; margin: 4px 0 8px; }
.lb-product-card__cta { width: 100%; margin-top: 8px; font-size: 0.82rem; padding: 10px 14px; }
.lb-store .lbp-btn--ghost { background: #fff; }
