/* Store-only refinement. Homepage styles and layout are intentionally untouched. */
body.shop-page .catalog-intro { padding: 38px 32px 24px; max-width:1280px; margin:auto; }
body.shop-page .catalog-intro h1 { font-size:clamp(34px,4vw,54px); line-height:1.1; margin:10px 0 14px; }
body.shop-page .catalog-intro > p:last-child { font-size:16px; max-width:660px; }
body.shop-page .shop-catalog { padding-top:8px; }
body.shop-page .section-shell { max-width:1280px; padding-inline:32px; }
body.shop-page .catalog-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e8dfd2;
}
body.shop-page .filter-row {
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
}
body.shop-page .catalog-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}
body.shop-page .form-guide {
  margin: 0 0 20px;
  border: 1px solid #ebe1d4;
  background: #fcf9f4;
  border-radius: 12px;
  padding: 12px 18px;
}
body.shop-page .form-guide summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: #775a3e;
  outline: none;
  display: list-item;
  list-style-position: inside;
  transition: color .15s;
}
body.shop-page .form-guide summary:hover {
  color: #21130b;
}
body.shop-page .form-guide-lead { margin: 14px 0 16px; font-size: 14px; color: #5a493c; }
body.shop-page .form-guide:not([open]) > :not(summary) { display:none; }
body.shop-page .form-tile.is-active { background:#fffaf2; color:#26170f; border:2px solid #60452b; }
body.shop-page .form-tile:hover { transform: none !important; }
body.shop-page .form-tile.is-active :is(.form-tile-note,.form-tile-meta) { color:#60452b; }
body.shop-page .form-tile-media { background:white; }
body.shop-page .products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 22px; align-items:stretch; }
body.shop-page #products-grid .product-card {
  transform: none;
  grid-column: auto;
  border: 1px solid rgba(60, 38, 20, 0.08) !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 18px rgba(45, 25, 12, 0.035) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
@media (hover: hover) and (pointer: fine) {
  body.shop-page #products-grid .product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 28px rgba(45, 25, 12, 0.07) !important;
    border-color: rgba(60, 38, 20, 0.16) !important;
  }
}
body.shop-page #products-grid .product-visual {
  aspect-ratio: 1;
  height: auto;
  min-height: 0;
  background: #ffffff;
  border: 0 !important;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  position: relative;
}
body.shop-page #products-grid .product-card-image { width:100%; height:100%; object-fit:contain; padding:18px; }
body.shop-page #products-grid .product-card-image-alt {
 display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;
 margin:0;padding:18px;object-fit:contain;background:#fff;opacity:0;
 transform:none;z-index:3;pointer-events:none;transition:opacity .2s ease;
}
@media (hover:hover) and (pointer:fine) {
 body.shop-page #products-grid .product-card-image-link:hover .product-card-image-alt.is-loaded {opacity:1;}
}
body.shop-page #products-grid .product-card-image-link:focus-visible .product-card-image-alt.is-loaded {opacity:1;}
body.shop-page .product-card:hover .product-card-image { opacity:1; transform:none; }
body.shop-page .product-info {
  padding: 14px 18px 18px 18px !important;
  display: flex;
  flex: 1;
  flex-direction: column;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}
body.shop-page #products-grid .product-card::before,
body.shop-page #products-grid .product-card::after,
body.shop-page #products-grid .product-visual::before,
body.shop-page #products-grid .product-visual::after,
body.shop-page .product-info::before,
body.shop-page .product-info::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
}
body.shop-page .product-card-kicker,
body.shop-page .catalog-intro .page-kicker,
.product-page .product-detail-copy > .page-kicker,
.related-card-kicker,
body.shop-page .card-variant-chips,
body.shop-page #products-grid .card-pack-label {
  display: none !important;
}
body.shop-page .product-card-title {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
  font-size: 19px;
  font-weight: 500;
  line-height: 1.25;
  min-height: 2.5em;
  margin: 0 0 6px;
  color: #21130b;
  letter-spacing: -0.01em;
}
body.shop-page .product-card-title a {
  color: inherit;
  text-decoration: none;
}
body.shop-page .product-card-desc {
  font-family: var(--sans, 'DM Sans', sans-serif);
  font-size: 13px;
  line-height: 1.45;
  min-height: 2.9em;
  margin: 0 0 12px;
  color: #64584b;
  display: block;
  -webkit-line-clamp: unset;
}
body.shop-page .product-badges { inset:10px 10px auto; }
body.shop-page .badge-sticker { font-size:10px; background:#faf6ed; border:0; padding:6px 9px; border-radius:6px; }
body.shop-page .quickview-btn { display:none; }

body.shop-page #products-grid .product-card-purchase {
  margin-top: auto;
  padding-top: 10px;
  width: 100%;
}
body.shop-page #products-grid .product-price {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  text-align: left;
  margin: 0 0 10px !important;
  padding: 0;
  gap: 8px;
}
body.shop-page #products-grid .product-price b {
  font-size: 21px !important;
  line-height: 1 !important;
  color: #21130b;
  white-space: nowrap;
  font-variant-numeric: lining-nums tabular-nums;
}
body.shop-page #products-grid .product-price > span {
  display: inline-block !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
  font-size: 12px !important;
  color: #775a3e !important;
  white-space: nowrap;
}
body.shop-page #products-grid .product-card-buy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  margin: 0;
}
body.shop-page .product-card-buy .button {
  display: flex;
  height: 40px !important;
  min-height: 40px !important;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 0 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  text-decoration: none;
}
.product-page .product-page-main { max-width:1280px; margin:auto; padding-inline:32px; }
.product-page .product-detail { gap:48px; align-items:start; margin-top:28px; }
.product-page .product-detail-copy h1 { font-size:clamp(34px,3.7vw,50px); line-height:1.08; margin:14px 0 18px; }
.product-page .product-detail-description { font-size:16px; line-height:1.7; }
.product-page .product-detail-gallery {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  position: sticky;
  top: 110px;
  min-height: 400px;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.product-page [data-gallery-main] {
  width: 100%;
  height: 440px;
  object-fit: contain;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 14px 28px rgba(45, 25, 12, 0.07));
  transition: transform 0.3s ease, filter 0.3s ease;
}
.product-page [data-gallery-caption] {
  margin-top: 14px !important;
  font-size: 13px !important;
  color: #8c7866 !important;
}
.product-page .product-detail-purchase { margin-top:24px; }
.product-page .product-contact-note { display: none !important; }

/* Refined Product Benefit Chips */
.product-page .product-detail-highlights {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
  list-style: none !important;
}
.product-page .product-detail-highlights li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 13px !important;
  background: rgba(255, 255, 255, 0.65) !important;
  border: 1px solid #e5dccb !important;
  border-radius: 999px !important;
  font-family: var(--sans, 'DM Sans', sans-serif) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #382517 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 1px 3px rgba(45, 25, 12, 0.03) !important;
  margin: 0 !important;
}
.product-page .product-detail-highlights li::before {
  display: none !important;
  content: none !important;
}
.product-page .product-detail-highlights .pdp-check-icon {
  width: 13px;
  height: 13px;
  color: #557940;
  flex-shrink: 0;
}

/* Polished Trust / Free Shipping Micro-Card */
.product-page .purchase-service-note {
  margin-top: 16px !important;
  padding-top: 0 !important;
  border-top: none !important;
}
.product-page .pdp-shipping-card {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 11px 15px;
  background: #fbf7ee;
  border: 1px solid #e7ded0;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(45, 25, 12, 0.025);
}
.product-page .pdp-shipping-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #efe4d3;
  color: #5c4128;
  flex-shrink: 0;
}
.product-page .pdp-shipping-icon svg {
  width: 19px;
  height: 19px;
}
.product-page .pdp-shipping-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.35;
}
.product-page .pdp-shipping-title {
  font-size: 13.5px;
  font-weight: 500;
  color: #21130b;
}
.product-page .pdp-shipping-title strong {
  font-weight: 600;
}
.product-page .pdp-shipping-sub {
  font-size: 12px;
  color: #775a3e;
}
.product-page .pdp-shipping-sub a {
  color: #775a3e;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.product-page .pdp-shipping-sub a:hover {
  color: #21130b;
}

/* Seamless Thumbnail Buttons on Cream */
.product-page .product-thumbnails {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
}
.product-page .product-thumbnails button {
  width: 60px !important;
  height: 60px !important;
  padding: 4px !important;
  background: transparent !important;
  border: 1px solid rgba(60, 38, 20, 0.14) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(45, 25, 12, 0.03) !important;
}
.product-page .product-thumbnails button:hover {
  border-color: rgba(60, 38, 20, 0.35) !important;
  background: rgba(255, 255, 255, 0.45) !important;
  transform: translateY(-1px) !important;
}
.product-page .product-thumbnails button[aria-pressed="true"] {
  border: 2px solid #5c4128 !important;
  background: rgba(255, 255, 255, 0.75) !important;
  box-shadow: 0 2px 8px rgba(45, 25, 12, 0.08) !important;
}
.product-page .product-thumbnails button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
}
.product-page .product-reading { padding-block:48px; gap:48px; }
.product-page .product-reading h2 { font-size:30px; line-height:1.2; }
.product-page .product-reading p { font-size:16px; line-height:1.8; }
.product-page .product-source-copy { display:grid; gap:14px; }
.product-page .product-source-copy p { margin:0; }
.product-page .product-specification dl > div { display:grid; grid-template-columns:minmax(100px,1fr) 2fr; gap:18px; padding-block:16px; }
.product-page .product-specification table { width:100%; font-size:13px; border-collapse:collapse; margin-top:24px; }
.product-page .product-specification table caption { text-align:left; font-weight:600; padding:12px 0; }
.product-page .product-specification :is(th,td) { padding:10px 0; border-bottom:1px solid #e4dccf; text-align:left; }
.product-page .product-specification th { font-weight:400; }
.product-page .product-specification td { text-align:right; white-space:nowrap; }
.product-page .set-contents { padding:0; list-style:none; margin:20px 0; }
.product-page .set-contents li { padding:12px 0; border-bottom:1px solid #dfd6c8; }
body.shop-page .cart-recent,.product-page .cart-recent { display:none; }
body.shop-page .cart-status,.product-page .cart-status { font-size:13px; color:#65482c; }
:is(.shop-page,.product-page) :is(a,button,summary,select):focus-visible { outline:3px solid #946325; outline-offset:4px; }
:is(.shop-page,.product-page) .vb-reveal { opacity:1; transform:none; }
@media(min-width:1440px) { body.shop-page .products-grid {grid-template-columns:repeat(4,minmax(0,1fr));} }
@media(max-width:767px) {
 body.shop-page .catalog-intro {padding:24px 16px 18px;}
 body.shop-page .catalog-intro .page-kicker {display:none;}
 body.shop-page .catalog-intro h1 {font-size:36px;}
 body.shop-page .section-shell {padding-inline:16px;}
  body.shop-page .catalog-filter-bar {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e8dfd2 !important;
  }
  body.shop-page .filter-row {
    display: none !important;
  }
  body.shop-page .catalog-toolbar {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-left: 0 !important;
  }
 body.shop-page .form-guide { margin-bottom: 14px; }
  body.shop-page .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  body.shop-page #products-grid .product-card { border-radius: 12px !important; }
  body.shop-page #products-grid .product-visual { border-radius: 12px 12px 0 0 !important; }
  body.shop-page #products-grid .product-card-image, body.shop-page #products-grid .product-card-image-alt { padding: 10px; }
  body.shop-page .product-info { padding: 10px 12px 14px 12px !important; }
  body.shop-page .product-card-title { display: block; overflow: visible; -webkit-line-clamp: unset; font-size: 14px !important; line-height: 1.25 !important; min-height: 2.5em !important; margin: 0 0 4px !important; }
  body.shop-page .product-card-desc { font-size: 11px !important; line-height: 1.4 !important; min-height: 2.8em !important; margin: 0 0 8px !important; }
  body.shop-page .product-badges { inset: 6px 6px auto; }
  body.shop-page .badge-sticker { font-size: 8px; padding: 4px 6px; }
  body.shop-page .card-variant-chips { display: none !important; }
  body.shop-page #products-grid .product-price { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 2px !important; margin: 0 0 8px !important; }
  body.shop-page #products-grid .product-price b { font-size: 15px !important; line-height: 1.1 !important; }
  body.shop-page #products-grid .product-price > span { display: block !important; font-size: 10.5px !important; line-height: 1.2 !important; }
  body.shop-page .product-card-buy .button { height: 36px !important; min-height: 36px !important; padding: 0 12px !important; font-size: 11.5px !important; font-weight: 600 !important; border-radius: 999px !important; }
}

@media (max-width: 600px) {
  body.shop-page:not(.view-moth):not(.view-diaspora) .shop-catalog > .section-shell {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 10px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) .catalog-intro {
    padding: 18px 10px 14px !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
    width: 100% !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) #products-grid .product-card {
    border-radius: 12px !important;
    border: 1px solid rgba(60, 38, 20, 0.08) !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) #products-grid .product-visual {
    border-radius: 11px 11px 0 0 !important;
    padding: 6px !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) .product-info {
    padding: 8px 8px 11px 8px !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) .product-card-title {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    min-height: 2.5em !important;
    margin: 0 0 4px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) .product-card-desc {
    font-size: 11px !important;
    line-height: 1.35 !important;
    min-height: 2.7em !important;
    margin: 0 0 8px !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  body.shop-page:not(.view-moth):not(.view-diaspora) .product-card-buy .button {
    height: 35px !important;
    min-height: 35px !important;
    padding: 0 11px !important;
    font-size: 11px !important;
  }
  .product-page .product-page-main {padding-inline:16px;}
  .product-page .product-detail {gap:22px;margin-top:18px;}
 .product-page .product-detail-gallery { position:static !important; min-height:0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
 .product-page [data-gallery-main] { height:260px !important; background: transparent !important; border: 0 !important; filter: drop-shadow(0 8px 18px rgba(45, 25, 12, 0.06)) !important; }
 .product-page .product-detail-copy h1 {font-size:34px;margin:10px 0 14px;}
 .product-page .product-detail-description {font-size:15px;line-height:1.65;}
 .product-page .product-detail-purchase {margin-top:18px;}
 .product-page .product-reading {padding-block:32px;gap:30px;}
 .product-page .product-specification dl > div {grid-template-columns:1fr;gap:6px;}
 .product-page .product-reading h2 {font-size:27px;}
}

@media (min-width:768px) and (max-width:1023px) {
 body.shop-page .products-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.shop-page .filter-row {flex-wrap:wrap;overflow:visible;}
}

/* Quantity Stepper & Add to Cart Button (Option 1: Compact Premium Width) */
.product-page .product-detail-action-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin-top: 14px !important;
  width: 100% !important;
}

.product-page .product-detail-action-row .vb-qty-stepper {
  flex: 0 0 120px !important;
  width: 120px !important;
  height: 48px !important;
}

.product-page .product-detail-action-row .button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 220px !important;
  padding: 0 32px !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}

@media (max-width: 600px) {
  .product-page .product-detail-action-row {
    gap: 10px !important;
  }
  .product-page .product-detail-action-row .vb-qty-stepper {
    flex: 0 0 110px !important;
    width: 110px !important;
  }
  .product-page .product-detail-action-row .button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 16px !important;
  }
}
.vb-qty-stepper {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid #d8cebe;
  border-radius: 8px;
  overflow: hidden;
  height: 48px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.vb-qty-stepper .vb-qty-btn {
  width: 44px;
  height: 100%;
  background: transparent;
  border: 0;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #26170f;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background-color .15s ease, color .15s ease;
  user-select: none;
}
.vb-qty-stepper .vb-qty-btn:hover { background: #f6f0e6; }
.vb-qty-stepper .vb-qty-btn:active { background: #ebdcc8; }
.vb-qty-stepper input[type="number"] {
  width: 48px;
  height: 100%;
  border: 0;
  background: transparent;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #26170f;
  -moz-appearance: textfield;
  padding: 0;
}
.vb-qty-stepper input[type="number"]::-webkit-outer-spin-button,
.vb-qty-stepper input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Buybar Stepper */
.product-buybar-action { display: flex; align-items: center; gap: 14px; }
.vb-qty-stepper-sm { height: 38px; }
.vb-qty-stepper-sm .vb-qty-btn { width: 34px; font-size: 16px; }
.vb-qty-stepper-sm input[type="number"] { width: 36px; font-size: 14px; }

/* Catalog Sort & Reset Controls */
body.shop-page .catalog-sort {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #64584b;
}
body.shop-page .catalog-sort span {
  font-size: 13px;
  color: #8c7967;
  font-weight: 500;
}
body.shop-page .catalog-sort select {
  min-height: 38px;
  height: 38px;
  padding: 0 34px 0 14px;
  border: 1px solid #dfd5c5;
  border-radius: 20px;
  background: #fff;
  color: #21130b;
  font-family: var(--sans, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23775a3e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-position: calc(100% - 13px) center;
  background-repeat: no-repeat;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
body.shop-page .catalog-sort select:hover {
  border-color: #775a3e;
  background-color: #fffdfa;
}
body.shop-page .catalog-sort select:focus-visible {
  border-color: #775a3e;
  box-shadow: 0 0 0 3px rgba(119, 90, 62, 0.14);
}
body.shop-page .catalog-reset {
  min-height: 36px;
  height: 36px;
  padding: 0 14px;
  border: 1px dashed #c4b5a3;
  border-radius: 18px;
  background: transparent;
  color: #8c7967;
  font-family: var(--sans, 'DM Sans', sans-serif);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s ease;
}
body.shop-page .catalog-reset:hover {
  border-color: #775a3e;
  color: #21130b;
  background: #fdfaf6;
}

/* Luxury Category Filter Pills */
body.shop-page .filter-row .filter-pill {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 16px !important;
  border: 1px solid #dfd5c5 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: #3b2b1f !important;
  font-family: var(--sans, 'DM Sans', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .18s ease !important;
  box-shadow: 0 1px 2px rgba(38, 22, 13, 0.04) !important;
  text-decoration: none !important;
  user-select: none !important;
}
body.shop-page .filter-row .filter-pill::after {
  display: none !important;
}
body.shop-page .filter-row .filter-pill:hover:not(.active) {
  border-color: #aa9580 !important;
  background: #faf6f0 !important;
  color: #21130b !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 5px rgba(38, 22, 13, 0.08) !important;
}
body.shop-page .filter-row .filter-pill.active {
  background: #24140b !important;
  color: #faf6ed !important;
  border-color: #24140b !important;
  box-shadow: 0 2px 8px rgba(36, 20, 11, 0.22) !important;
  transform: none !important;
}
body.shop-page .filter-row .filter-pill .filter-pill-count {
  display: inline-block !important;
  min-width: 0 !important;
  margin-left: 5px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8c7866 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  vertical-align: baseline !important;
  line-height: 1 !important;
}
body.shop-page .filter-row .filter-pill .filter-pill-count::before {
  content: "(";
  opacity: 0.7;
}
body.shop-page .filter-row .filter-pill .filter-pill-count::after {
  content: ")";
  opacity: 0.7;
}
body.shop-page .filter-row .filter-pill.active .filter-pill-count {
  background: transparent !important;
  color: rgba(250, 246, 237, 0.75) !important;
}

.catalog-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 64px 20px;
  background: #fffdf8;
  border: 1px dashed #d8cebe;
  border-radius: 16px;
}
.catalog-empty-title { font-size: 20px; font-weight: 600; margin-bottom: 8px; }
.catalog-empty-text { font-size: 15px; color: #64584b; margin-bottom: 20px; }

/* Mobile Filter Sections */
.mobile-filter-section { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e8e0d4; }
.mobile-filter-section-title { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #775a3e; margin-bottom: 10px; }

/* Drawer Coupon Box */
.cart-coupon-box {
  margin: 16px 0 12px;
  padding: 14px;
  background: #fbf7ef;
  border: 1px solid #e5dbcb;
  border-radius: 10px;
}
.cart-coupon-input-wrap {
  display: flex;
  gap: 8px;
}
.cart-coupon-input {
  flex: 1;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #d8cebe;
  border-radius: 6px;
  background: #fff;
  font-size: 13px;
  text-transform: uppercase;
}
.cart-coupon-btn {
  padding: 0 16px;
  height: 40px;
  min-height: 40px;
  font-size: 13px;
  border-radius: 6px;
}
.cart-coupon-feedback {
  font-size: 12px;
  margin-top: 6px;
  min-height: 16px;
  color: #65482c;
}
.cart-applied-coupons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.cart-coupon-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #e8ded0;
  color: #26170f;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
}
.cart-coupon-remove {
  background: transparent;
  border: 0;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  color: #775a3e;
  padding: 0 2px;
}
.cart-coupon-remove:hover { color: #26170f; }

/* Floating chat positioning & overlap fix */
body.shop-page .vb-chat {
  right: 20px;
  bottom: 24px;
  z-index: 80;
}
body.shop-page .products-grid {
  padding-bottom: 24px;
}
@media (max-width: 767px) {
  .vb-chat {
    right: 14px;
    bottom: 14px;
  }
  .vb-chat-launcher {
    width: 48px;
    height: 48px;
  }
  .vb-chat-launcher svg {
    width: 20px;
    height: 20px;
  }
  body.has-buybar:has(.product-buybar.is-visible) .vb-chat {
    bottom: 84px;
  }
}

/* PDP Inspiration & Recipe Card */
.product-page .product-recipe-link {
  display: none !important;
}

.product-page .pdp-recipe-card {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #e7dfd1;
  border-radius: 16px;
  text-decoration: none !important;
  color: inherit;
  box-shadow: 0 2px 10px rgba(45, 25, 12, 0.03);
  transition: transform 0.22s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.22s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              border-color 0.22s ease,
              background-color 0.22s ease;
  cursor: pointer;
}

.product-page .pdp-recipe-card:hover {
  background: #ffffff;
  border-color: #d1bda2;
  box-shadow: 0 8px 24px rgba(45, 25, 12, 0.08);
  transform: translateY(-2px);
  text-decoration: none !important;
}

.product-page .pdp-recipe-media {
  width: 76px;
  height: 76px;
  border-radius: 12px;
  overflow: hidden;
  flex-shrink: 0;
  background: #f4ece0;
  box-shadow: 0 1px 4px rgba(45, 25, 12, 0.08);
}

.product-page .pdp-recipe-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.product-page .pdp-recipe-card:hover .pdp-recipe-media img {
  transform: scale(1.08);
}

.product-page .pdp-recipe-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.product-page .pdp-recipe-kicker {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9c6c38;
  line-height: 1;
  margin-bottom: 2px;
}

.product-page .pdp-recipe-kicker-icon {
  width: 13px;
  height: 13px;
  color: #9c6c38;
  flex-shrink: 0;
}

.product-page .pdp-recipe-heading {
  font-family: var(--serif, "Playfair Display", Georgia, serif);
  font-size: 17px;
  font-weight: 600;
  color: #2b180d;
  line-height: 1.3;
  margin: 0;
  transition: color 0.18s ease;
}

.product-page .pdp-recipe-card:hover .pdp-recipe-heading {
  color: #925c21;
}

.product-page .pdp-recipe-text {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #736357 !important;
  margin: 0 !important;
  max-width: 100% !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-page .pdp-recipe-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f3ece1;
  color: #5c4128;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.22s ease;
  margin-left: 4px;
}

.product-page .pdp-recipe-arrow svg {
  width: 18px;
  height: 18px;
  transition: transform 0.22s ease;
}

.product-page .pdp-recipe-card:hover .pdp-recipe-arrow {
  background: #2b180d;
  color: #ffffff;
}

.product-page .pdp-recipe-card:hover .pdp-recipe-arrow svg {
  transform: translateX(3px);
}

@media (max-width: 600px) {
  .product-page .pdp-recipe-card {
    padding: 12px 14px;
    gap: 12px;
    margin-top: 22px;
  }
  .product-page .pdp-recipe-media {
    width: 64px;
    height: 64px;
    border-radius: 10px;
  }
  .product-page .pdp-recipe-heading {
    font-size: 15px;
  }
  .product-page .pdp-recipe-text {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .product-page .pdp-recipe-arrow {
    width: 32px;
    height: 32px;
  }
  .product-page .pdp-recipe-arrow svg {
    width: 15px;
    height: 15px;
  }
}

/* Related Products Cards Polish (Doplňte svou vanilku) */
.product-page .product-related {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  padding: 0 0 clamp(64px, 7vw, 100px) !important;
}

.product-page .product-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.product-page .related-card {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border: 1px solid rgba(60, 38, 20, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 18px rgba(45, 25, 12, 0.035) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  height: 100% !important;
  min-width: 0 !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

@media (hover: hover) and (pointer: fine) {
  .product-page .related-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 28px rgba(45, 25, 12, 0.08) !important;
    border-color: rgba(60, 38, 20, 0.16) !important;
  }
  .product-page .related-card:hover img {
    transform: scale(1.04) !important;
  }
}

.product-page .related-card img {
  width: 100% !important;
  height: 180px !important;
  padding: 16px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  transition: transform 0.35s ease !important;
}

.product-page .related-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 12px 18px 18px !important;
  background: #ffffff !important;
  border-top: none !important;
  min-width: 0 !important;
}

.product-page .related-card-title {
  display: block !important;
  font-family: var(--serif, 'Playfair Display', Georgia, serif) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: #2b180d !important;
  margin: 0 0 8px 0 !important;
  transition: color 0.18s ease !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}

.product-page .related-card:hover .related-card-title {
  color: #925c21 !important;
}

.product-page .related-card-price {
  display: block !important;
  margin-top: auto !important;
  font-size: 12.5px !important;
  color: #736357 !important;
}

.product-page .related-card-price b {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #2b180d !important;
  margin-left: 2px !important;
}

@media (max-width: 1100px) {
  .product-page .product-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
  .product-page .related-card img {
    height: 150px !important;
    padding: 14px !important;
  }
  .product-page .related-card-body {
    padding: 12px 16px 16px !important;
  }
  .product-page .related-card-title {
    font-size: 16px !important;
  }
}

@media (max-width: 600px) {
  .product-page .product-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .product-page .related-card img {
    height: 130px !important;
    padding: 10px !important;
  }
  .product-page .related-card-body {
    padding: 10px 12px 12px !important;
  }
  .product-page .related-card-title {
    font-size: 14.5px !important;
  }
  .product-page .related-card-price {
    font-size: 12px !important;
  }
  .product-page .related-card-price b {
    font-size: 14.5px !important;
  }
}

/* Skrytí nadbytečného tlačítka Zpět do obchodu na konci stránky */
.product-back-link {
  display: none !important;
}

/* ================================================================== */
/* Prémiový světlý Lightbox (detail produktu)                          */
/* ================================================================== */
.vb-lightbox {
  background: rgba(250, 246, 237, 0.97) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

.vb-lightbox-bar {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.vb-lightbox-caption {
  color: #2b180d !important;
  font-family: var(--serif, 'Playfair Display', Georgia, serif) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

.vb-lightbox button {
  background: #ffffff !important;
  color: #2b180d !important;
  border: 1px solid rgba(43, 24, 13, 0.15) !important;
  box-shadow: 0 4px 14px rgba(43, 24, 13, 0.08) !important;
}

.vb-lightbox button:hover {
  background: #2b180d !important;
  color: #ffffff !important;
  border-color: #2b180d !important;
  transform: scale(1.06) !important;
}

.vb-lightbox-stage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px 0 !important;
}

.vb-lightbox-stage img {
  max-width: min(760px, 85vw) !important;
  max-height: min(72vh, 760px) !important;
  object-fit: contain !important;
  filter: drop-shadow(0 16px 36px rgba(43, 24, 13, 0.10)) !important;
}

.vb-lightbox-thumbs {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  gap: 12px !important;
}

.vb-lightbox-thumbs button {
  width: 64px !important;
  height: 64px !important;
  padding: 6px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 2px solid rgba(43, 24, 13, 0.12) !important;
  box-shadow: 0 2px 8px rgba(43, 24, 13, 0.04) !important;
  transition: all 0.2s ease !important;
}

.vb-lightbox-thumbs button:hover {
  border-color: rgba(43, 24, 13, 0.35) !important;
  background: #ffffff !important;
  color: #2b180d !important;
  transform: translateY(-2px) !important;
}

.vb-lightbox-thumbs button[aria-pressed="true"] {
  border-color: #2b180d !important;
  background: #ffffff !important;
  color: #2b180d !important;
  box-shadow: 0 4px 12px rgba(43, 24, 13, 0.16) !important;
}

/* Klasicky katalog – finalni verze (2026-09-26): oblibene, dotyk, focus. */
body.shop-page .product-badges { pointer-events: none; }
body.shop-page .product-badges > * { pointer-events: auto; }
.card-fav {
  margin-left: auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 4px rgba(47, 33, 25, .12);
  color: #2f2119;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease;
  -webkit-tap-highlight-color: transparent;
}
.card-fav svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; transition: fill .18s ease; }
.card-fav.is-saved { color: #8d3b31; }
.card-fav.is-saved svg { fill: currentColor; }
.card-fav:focus-visible { outline: 2px solid #8e5a38; outline-offset: 2px; }
@media (hover: hover) { .card-fav:hover { transform: scale(1.08); background: #fff; } }
.card-fav.is-popping svg { animation: card-fav-pop .38s cubic-bezier(.2, .8, .2, 1); }
@keyframes card-fav-pop { 0% { transform: scale(1); } 40% { transform: scale(1.3); } 100% { transform: scale(1); } }
@media (max-width: 600px) {
  .card-fav { width: 34px; height: 34px; }
  .card-fav svg { width: 17px; height: 17px; }
}
@media (prefers-reduced-motion: reduce) { .card-fav, .card-fav svg { transition: none; animation: none !important; } }

.filter-pill-fav { display: inline-flex; align-items: center; gap: 6px; }
.filter-pill-fav svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.filter-pill-fav.active svg { fill: currentColor; }

body.shop-page .product-card, body.shop-page .product-card a, body.shop-page .product-card button { -webkit-tap-highlight-color: transparent; }
@media (hover: none) {
  body.shop-page .product-card { -webkit-user-select: none; user-select: none; }
  body.shop-page .product-card:active { transform: scale(.985); }
}
body.shop-page .catalog-sort select:focus:not(:focus-visible) { outline: none; box-shadow: none; }

/* Hledani v katalogu. */
body.shop-page .catalog-toolbar { flex-wrap: wrap; }
.catalog-search { position: relative; display: flex; align-items: center; flex: 1 1 260px; max-width: 360px; min-height: 46px; padding: 0 8px 0 14px; border: 1px solid rgba(47, 33, 25, .22); border-radius: 999px; background: #fff; color: #2f2119; }
.catalog-search:focus-within { border-color: #8e5a38; box-shadow: 0 0 0 3px rgba(142, 90, 56, .15); }
.catalog-search svg { flex: 0 0 auto; opacity: .7; }
.catalog-search input { flex: 1; min-width: 0; height: 44px; padding: 0 8px; border: 0; background: transparent; font: 400 15px var(--sans); color: inherit; outline: none; }
.catalog-search input::-webkit-search-cancel-button { display: none; }
.catalog-search button { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: rgba(47, 33, 25, .08); font-size: 18px; line-height: 1; cursor: pointer; }
.catalog-search button[hidden] { display: none; }
@media (min-width: 761px) {
  body.shop-page .catalog-filter-bar { display: block; }
  body.shop-page .catalog-toolbar { width: 100%; margin: 14px 0 0; justify-content: flex-start; }
  body.shop-page .catalog-toolbar .catalog-search { flex: 0 1 360px; width: 360px; }
  body.shop-page .catalog-toolbar .catalog-sort { margin-left: auto; }
}
@media (max-width: 760px) {
  .catalog-search { order: -1; flex: 1 1 100%; max-width: none; margin-bottom: 4px; }
}

/* Jakou formu vanilky vybrat: posuvnik (prevzato z varianty MOTH, 2026-09-26). */
.form-slider { margin: 8px 0 28px; }
.form-slider[hidden] { display: none; }
.form-slider-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 14px; }
.form-slider-head h2 { margin: 0; font: 400 clamp(24px, 2.6vw, 32px)/1.15 var(--serif); letter-spacing: -.01em; }
.form-slider-head .form-guide-lead { margin: 6px 0 0; font-size: 14px; color: rgba(47, 33, 25, .66); }
.form-slider-nav { display: none; gap: 8px; }
.form-slider.is-scrollable .form-slider-nav { display: flex; }
.form-slider-nav button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(47, 33, 25, .22); border-radius: 50%; background: #fff; color: #2f2119; cursor: pointer; transition: background .2s, opacity .2s; }
.form-slider-nav button:hover:not(:disabled) { background: #2f2119; color: #fff; }
.form-slider-nav button:disabled { opacity: .35; cursor: default; }
.form-slider .form-slider-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 2px;
  scrollbar-width: none;
  padding: 2px 2px 6px;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}
.form-slider .form-slider-track::-webkit-scrollbar { display: none; }
.form-slider .form-tile {
  flex: 0 0 clamp(180px, 22%, 230px);
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
  padding: 0 0 14px;
  border: 1px solid rgba(45, 25, 12, .12);
  border-radius: 16px;
  background: #fff;
  text-align: left;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.form-slider .form-tile:hover { border-color: rgba(45, 25, 12, .35); box-shadow: 0 8px 20px rgba(51, 24, 15, .08); }
.form-slider .form-tile-media { display: block; height: 128px; margin: 0; background: #f4ede2; }
.form-slider .form-tile-media img { width: 100%; height: 100%; padding: 12px; object-fit: contain; }
.form-slider .form-tile-body { display: flex; flex-direction: column; flex: 1; gap: 4px; padding: 12px 14px 0; }
.form-slider .form-tile-title { font: 400 19px/1.2 var(--serif); color: #21130b; }
.form-slider .form-tile-note { font-size: 13px; line-height: 1.45; color: #64584b; }
.form-slider .form-tile-meta { margin-top: auto; padding-top: 8px; font: 700 11px var(--sans); letter-spacing: .03em; text-transform: uppercase; color: #934620; }
.form-slider .form-tile.is-active { border-color: #21120e; background: #21120e; }
.form-slider .form-tile.is-active .form-tile-title { color: #fff9e9; }
.form-slider .form-tile.is-active .form-tile-note { color: rgba(255, 255, 255, .72); }
.form-slider .form-tile.is-active .form-tile-meta { color: #ffd978; }
.form-slider .form-tile.is-active .form-tile-media { background: rgba(255, 255, 255, .08); }
@media (max-width: 760px) {
  .form-slider { margin: 0 0 18px; }
  .form-slider-head { margin-bottom: 10px; }
  .form-slider-head h2 { font-size: 22px; }
  .form-slider-head .form-guide-lead { font-size: 13px; }
  .form-slider .form-slider-track { margin-inline: -16px; padding-inline: 16px; scroll-padding-left: 16px; gap: 10px; }
  .form-slider .form-tile { flex-basis: 158px; border-radius: 14px; padding-bottom: 12px; }
  .form-slider .form-tile-media { height: 96px; }
  .form-slider .form-tile-body { padding: 10px 12px 0; }
  .form-slider .form-tile-title { font-size: 16px; }
  .form-slider .form-tile-note { font-size: 12px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .form-slider .form-tile-meta { font-size: 10px; }
}
@media (max-width: 760px) { .form-slider.is-scrollable .form-slider-nav { display: none; } }

/* Posuvnik forem jako zavreny panel s rozbalenim (2026-09-26). */
.form-slider { margin: 8px 0 24px; border: 1px solid rgba(45, 25, 12, .12); border-radius: 18px; background: #fffdf8; }
.form-slider-toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 16px 20px; border: 0; background: transparent; color: #21130b; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.form-slider-toggle-text { display: grid; gap: 3px; }
.form-slider-title { font: 400 clamp(20px, 2vw, 24px)/1.2 var(--serif); }
.form-slider-toggle .form-guide-lead { margin: 0; font-size: 13px; color: rgba(47, 33, 25, .62); }
.form-slider-toggle-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border: 1px solid rgba(47, 33, 25, .2); border-radius: 50%; transition: background .25s, color .25s; }
.form-slider-chevron { transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.form-slider.is-open .form-slider-chevron { transform: rotate(180deg); }
.form-slider-toggle:hover .form-slider-toggle-icon { background: #2f2119; color: #fff; }
.form-slider-toggle:focus-visible { outline: 2px solid #8e5a38; outline-offset: -2px; border-radius: 18px; }
.form-slider-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.2, .8, .2, 1); }
.form-slider.is-open .form-slider-body { grid-template-rows: 1fr; }
.form-slider-inner { position: relative; min-height: 0; overflow: hidden; padding: 0 20px; transition: padding .5s cubic-bezier(.2, .8, .2, 1); }
.form-slider.is-open .form-slider-inner { padding-bottom: 20px; }
.form-slider .form-slider-nav { position: absolute; top: -52px; right: 76px; }
.form-slider:not(.is-open) .form-slider-nav { visibility: hidden; opacity: 0; }
.form-slider .form-slider-nav { transition: opacity .3s .15s; }
.form-slider .form-tile { opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .5s cubic-bezier(.2, .8, .2, 1), border-color .2s, box-shadow .2s; }
.form-slider.is-open .form-tile { opacity: 1; transform: none; }
.form-slider.is-open .form-tile:nth-child(1) { transition-delay: .08s; }
.form-slider.is-open .form-tile:nth-child(2) { transition-delay: .14s; }
.form-slider.is-open .form-tile:nth-child(3) { transition-delay: .2s; }
.form-slider.is-open .form-tile:nth-child(4) { transition-delay: .26s; }
.form-slider.is-open .form-tile:nth-child(5) { transition-delay: .32s; }
.form-slider.is-open .form-tile:nth-child(6) { transition-delay: .38s; }
@media (max-width: 760px) {
  .form-slider { margin: 0 0 16px; border-radius: 16px; }
  .form-slider-toggle { padding: 14px 16px; }
  .form-slider-title { font-size: 19px; }
  .form-slider-inner { padding: 0 16px; }
  .form-slider.is-open .form-slider-inner { padding-bottom: 16px; }
  .form-slider .form-slider-track { margin-inline: -16px; padding-inline: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .form-slider-body, .form-slider-inner, .form-slider .form-tile, .form-slider-chevron { transition: none; }
}
.form-slider { position: relative; }
.form-slider .form-slider-nav { position: absolute; top: 22px; right: 76px; z-index: 2; }
@media (max-width: 1000px) { .form-slider .form-slider-nav { display: none !important; } }

/* Obchod nahore: kompaktni uvod a rozcestnik forem (2026-09-26). */
html body.shop-page .form-slider-toggle-icon { width: 36px; height: 36px; flex-basis: 36px; background: transparent; color: #2f2119; }
html body.shop-page .form-slider-toggle:hover .form-slider-toggle-icon { background: transparent; color: #2f2119; }
@media (hover: hover) { html body.shop-page .form-slider-toggle:hover .form-slider-toggle-icon { background: #2f2119; color: #fff; } }
html body.shop-page .form-slider .form-tile-media { background: #fff !important; border-bottom: 1px solid rgba(45, 25, 12, .08); }
html body.shop-page .form-slider .form-tile-media img { mix-blend-mode: normal !important; }
@media (max-width: 760px) {
  html body.shop-page .catalog-intro { padding: 18px 16px 12px !important; }
  html body.shop-page .catalog-intro h1 { font-size: 30px !important; margin: 0 0 6px !important; }
  html body.shop-page .catalog-intro > p:last-child { font-size: 14px !important; line-height: 1.45; margin: 0; }
  html body.shop-page .form-slider { margin: 0 0 12px; border-radius: 14px; }
  html body.shop-page .form-slider-toggle { padding: 12px 14px; min-height: 0; }
  html body.shop-page .form-slider-title { font-size: 17px; }
  html body.shop-page .form-slider-toggle .form-guide-lead { display: none; }
  html body.shop-page .form-slider-inner { padding: 0 14px; }
  html body.shop-page .form-slider.is-open .form-slider-inner { padding-bottom: 14px; }
  html body.shop-page .form-slider .form-slider-track { margin-inline: -14px; padding-inline: 14px; scroll-padding-left: 14px; gap: 8px; }
  html body.shop-page .form-slider .form-tile { flex-basis: 132px; padding-bottom: 10px; border-radius: 12px; }
  html body.shop-page .form-slider .form-tile-media { height: 72px; }
  html body.shop-page .form-slider .form-tile-media img { padding: 8px; }
  html body.shop-page .form-slider .form-tile-body { padding: 8px 10px 0; gap: 2px; }
  html body.shop-page .form-slider .form-tile-title { font-size: 15px; }
  html body.shop-page .form-slider .form-tile-note { display: none; }
  html body.shop-page .form-slider .form-tile-meta { font-size: 10.5px; padding-top: 4px; letter-spacing: .02em; }
}
@media (max-width: 760px) {
  html body.shop-page .form-slider .form-tile { flex-basis: 140px; }
  html body.shop-page .form-slider .form-tile-meta { white-space: normal; line-height: 1.3; }
}
@media (max-width: 760px) {
  html body.shop-page .form-slider .form-tile-sep { display: none; }
  html body.shop-page .form-slider .form-tile-price { display: block; }
}

/* Dlazdice forem: na mobilu kratke "k cemu" misto dlouheho popisu. */
.form-slider .form-tile-use { display: none; }
@media (max-width: 760px) {
  html body.shop-page .form-slider .form-tile { flex-basis: 150px; }
  html body.shop-page .form-slider .form-tile-media { height: 84px; }
  html body.shop-page .form-slider .form-tile-use { display: block; font-size: 12.5px; line-height: 1.35; color: #4a3a2e; margin-top: 2px; }
  html body.shop-page .form-slider .form-tile-title { font-size: 16px; }
  html body.shop-page .catalog-intro h1 { margin-bottom: 0 !important; }
}

/* ==================================================================
   Rozcestnik forem – finalni kompaktni podoba (2026-09-26)
   Zavreny: nadpis, podtitul a nahledy forem. Otevreny: vodorovne
   karticky [fotka | nazev, k cemu, cena].
   ================================================================== */
html body.shop-page .form-slider { margin: 4px 0 18px; border: 1px solid #e6d9ca; border-radius: 16px; background: #fff; }
html body.shop-page .form-slider-toggle { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
html body.shop-page .form-slider-toggle-text { flex: 1 1 auto; min-width: 0; gap: 2px; }
html body.shop-page .form-slider-title { font: 400 19px/1.2 var(--serif); color: #2f2119; }
html body.shop-page .form-slider-toggle .form-guide-lead { display: block !important; font-size: 12.5px; color: #74675c; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body.shop-page .form-slider-thumbs { display: flex; flex: 0 0 auto; padding-left: 8px; transition: opacity .2s; }
html body.shop-page .form-slider-thumbs img { width: 32px; height: 32px; margin-left: -8px; padding: 3px; object-fit: contain; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #e6d9ca; }
html body.shop-page .form-slider.is-open .form-slider-thumbs { opacity: 0; }
html body.shop-page .form-slider-toggle-icon { flex: 0 0 34px; width: 34px; height: 34px; border-color: #e6d9ca; }

html body.shop-page .form-slider .form-slider-track { gap: 10px; }
html body.shop-page .form-slider .form-tile {
  flex: 0 0 248px; display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px;
  padding: 10px 12px 10px 10px; border: 1px solid #e6d9ca; border-radius: 14px; background: #fff; text-align: left;
}
html body.shop-page .form-slider .form-tile-media { width: 64px; height: 64px !important; margin: 0; border: 0 !important; border-radius: 10px; background: #faf6ef !important; overflow: hidden; }
html body.shop-page .form-slider .form-tile-media img { width: 100%; height: 100%; padding: 6px !important; object-fit: contain; mix-blend-mode: multiply !important; }
html body.shop-page .form-slider .form-tile-body { display: grid; gap: 2px; padding: 0 !important; min-width: 0; }
html body.shop-page .form-slider .form-tile-title { font: 400 16px/1.2 var(--serif) !important; color: #2f2119; }
html body.shop-page .form-slider .form-tile-note { display: none !important; }
html body.shop-page .form-slider .form-tile-use { display: block !important; margin: 0; font-size: 12.5px !important; line-height: 1.35; color: #74675c !important; }
html body.shop-page .form-slider .form-tile-meta { display: flex !important; align-items: baseline; gap: 6px; margin: 4px 0 0; padding: 0 !important; font: 400 12px/1.2 var(--sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: #74675c !important; white-space: nowrap; }
html body.shop-page .form-slider .form-tile-price { display: inline !important; font-weight: 700; font-size: 13px; color: #2f2119; }
html body.shop-page .form-slider .form-tile-count::before { content: "\00b7"; margin-right: 6px; }
html body.shop-page .form-slider .form-tile.is-active { border-color: #2f2119; box-shadow: inset 0 0 0 1px #2f2119; background: #fff; }
html body.shop-page .form-slider .form-tile.is-active .form-tile-title,
html body.shop-page .form-slider .form-tile.is-active .form-tile-price { color: #2f2119; }
html body.shop-page .form-slider .form-tile.is-active .form-tile-use,
html body.shop-page .form-slider .form-tile.is-active .form-tile-meta { color: #74675c !important; }
html body.shop-page .form-slider .form-tile.is-active .form-tile-media { background: #faf6ef !important; }
@media (hover: hover) { html body.shop-page .form-slider .form-tile:hover { border-color: #cdbca9; box-shadow: none; } }

/* Desktop: vse najednou ve trech sloupcich, bez posuvniku. */
@media (min-width: 761px) {
  html body.shop-page .form-slider .form-slider-nav { display: none !important; }
  html body.shop-page .form-slider .form-slider-track { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; margin: 0; padding: 0 0 2px; }
  html body.shop-page .form-slider .form-tile { flex: none; }
  html body.shop-page .form-slider-toggle { padding: 16px 20px; }
  html body.shop-page .form-slider-inner { padding: 0 20px; }
  html body.shop-page .form-slider.is-open .form-slider-inner { padding-bottom: 20px; }
}
@media (max-width: 760px) {
  html body.shop-page .form-slider-toggle { padding: 12px 14px; }
  html body.shop-page .form-slider-title { font-size: 17px; }
  html body.shop-page .form-slider .form-tile { flex-basis: 236px; }
}
@media (max-width: 380px) { html body.shop-page .form-slider-thumbs { display: none; } }
@media (max-width: 760px) {
  html body.shop-page .form-slider-title { font-size: 16.5px; white-space: nowrap; }
  html body.shop-page .form-slider-thumbs img { width: 26px; height: 26px; margin-left: -7px; padding: 2px; }
  html body.shop-page .form-slider-thumbs img:nth-child(n+4) { display: none; }
  html body.shop-page .form-slider-toggle { gap: 10px; }
}
@media (max-width: 760px) { html body.shop-page .form-slider-thumbs { display: none !important; } }

/* Obchod: jedno pozadi pro celou stranku (driv dva odstiny kremove). */
html body.shop-page .shop-catalog, html body.shop-page .catalog-intro { background: transparent !important; }
/* Hlavni nadpis na mobilu na jeden radek. */
@media (max-width: 760px) {
  html body.shop-page .catalog-intro h1 { font-size: min(30px, 7.4vw) !important; white-space: nowrap; }
}
/* Produkty vzdy na bilem (originalni fotky). */
html body.shop-page .form-slider .form-tile-media,
html body.shop-page .form-slider .form-tile.is-active .form-tile-media { background: #fff !important; box-shadow: inset 0 0 0 1px #efe6d9; }
html body.shop-page .form-slider .form-tile-media img { mix-blend-mode: normal !important; }
