/* Product sheet v2 — loaded only when body has .sg-pdp-v2. Phone rules are at the end. */

/* ---- Buy column -------------------------------------------------------------------------------------- */
body.sg-pdp-v2 .sg-pdp-head { display: none; }
/* Gallery + buy column sit in .sg-pdp-top; everything else stacks full width below it. */
body.sg-pdp-v2 div.product { display: block; }
body.sg-pdp-v2 .sg-pdp-top { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 0 clamp(28px, 4.5vw, 72px); align-items: start; }
body.sg-pdp-v2 .sg-pdp-top > .woocommerce-product-gallery, body.sg-pdp-v2 .sg-pdp-top > .summary { float: none !important; width: auto !important; margin: 0 !important; }
body.sg-pdp-v2 .sg-pdp-top > .sg-pdp-head { grid-column: 1 / -1; }
body.sg-pdp-v2 div.product > .sg-pdp-sections, body.sg-pdp-v2 div.product > .related { clear: both; }
body.sg-pdp-v2 div.product .related ul.products { display: grid; }
body.sg-pdp-v2 div.product .related ul.products::before, body.sg-pdp-v2 div.product .related ul.products::after { display: none; }
body.sg-pdp-v2 div.product .related ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
body.sg-pdp-v2 div.product .woocommerce-product-gallery { position: sticky !important; top: 136px; align-self: start; }
body.sg-pdp-v2 .summary { padding-top: 6px; }
body.sg-pdp-v2 .summary .product_title { font: 500 clamp(34px, 3.3vw, 50px) / 1.02 var(--serif) !important; letter-spacing: -.045em; }
body.sg-pdp-v2 .summary .price { margin: 14px 0 12px !important; }
body.sg-pdp-v2 .summary .sg-rating-line { margin: 0 0 14px; }
body.sg-pdp-v2 .summary .woocommerce-product-details__short-description { margin: 0 0 16px !important; font-size: 15.5px; line-height: 1.6; }
body.sg-pdp-v2 .summary .woocommerce-product-details__short-description p { margin: 0; }

.sg-offer { margin: 0 0 18px; padding: 11px 14px; border: 1px solid #f3c7e4; border-radius: 6px; background: #fff3fb; color: var(--ink); font: 500 13px/1.45 var(--sans); }
.sg-offer--placeholder { border: 1.5px dashed #b9a7c9; background: #faf7fd; color: #5a4d6e; }
.sg-offer strong { display: inline-block; margin-right: 6px; font: 700 10px var(--label); letter-spacing: .1em; text-transform: uppercase; }

/* Options: label above, tiles below; the native select stays for assistive tech and WooCommerce. */
body.sg-pdp-v2 div.product form.variations_form { margin: 0 0 6px; }
body.sg-pdp-v2 div.product table.variations,
body.sg-pdp-v2 div.product table.variations tbody,
body.sg-pdp-v2 div.product table.variations tr,
body.sg-pdp-v2 div.product table.variations th,
body.sg-pdp-v2 div.product table.variations td { display: block; width: 100%; padding: 0; text-align: left; }
body.sg-pdp-v2 div.product table.variations { margin: 0 0 4px; border: 0; }
body.sg-pdp-v2 div.product table.variations tr { margin: 0 0 14px; }
body.sg-pdp-v2 div.product table.variations th.label { margin: 0 0 8px; }
body.sg-pdp-v2 div.product table.variations th.label label { margin: 0; color: var(--ink); font: 700 11px var(--label); letter-spacing: .1em; text-transform: uppercase; }
body.sg-pdp-v2 select.sg-tiles-source { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
body.sg-pdp-v2 .reset_variations { display: inline-block; margin-top: 6px; font: 500 11px var(--label); color: #7a8399; }
body.sg-pdp-v2 div.product table.variations tr.sg-single-option { display: none; }
.sg-tiles { display: flex; flex-wrap: wrap; gap: 8px; }
.sg-tile { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); font: 500 13px/1.25 var(--sans); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.sg-tile:hover { border-color: var(--ink); }
.sg-tile.is-selected { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); font-weight: 700; }
.sg-tile:disabled { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.sg-tiles--photo { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); }
.sg-tiles--photo .sg-tile { flex-direction: column; align-items: stretch; gap: 6px; padding: 5px 5px 8px; text-align: center; font-size: 11.5px; }
.sg-tiles--photo .sg-tile img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; background: #f3f0ee; }
.sg-nudge .sg-tiles { animation: sg-nudge .45s ease 2; }
@keyframes sg-nudge { 50% { transform: translateX(5px); } }

body.sg-pdp-v2 .summary form.cart:not(.variations_form), body.sg-pdp-v2 .summary .woocommerce-variation-add-to-cart { margin: 14px 0 6px !important; }
body.sg-pdp-v2 .woocommerce-variation-price { margin: 0 0 10px; }
body.sg-pdp-v2 .sg-trust-row { margin: 12px 0 2px; }

.sg-delivery-cost { margin: 6px 0 0; color: #42516d; font: 500 12px var(--label); letter-spacing: .03em; }
.sg-delivery-cost .woocommerce-Price-amount { font-weight: 700; color: var(--ink); }

/* Stone card */
body.sg-pdp-v2 .sg-stone-slot { margin: 20px 0 0; }
.sg-stone-slot.is-following .sg-stone-lore__grid { display: block; }
.sg-stone-slot.is-following .sg-stone-lore__card { display: none; }
.sg-stone-slot__hint { margin: 0; padding: 12px 14px; border: 1px dashed var(--line); border-radius: 6px; color: #6b7690; font: 400 13px var(--sans); }
.sg-stone-slot.has-choice .sg-stone-slot__hint { display: none; }
.sg-stone-slot:not(.has-choice).is-following .sg-stone-lore__note { display: none; }
.sg-stone-lore__card--more { display: none; }
.sg-stone-slot.is-expanded .sg-stone-lore__card--more { display: block; }
.sg-stone-slot__more { margin: 10px 0 0; padding: 0; border: 0; background: none; color: var(--ink); font: 600 11px var(--label); letter-spacing: .08em; text-transform: uppercase; text-decoration: underline; cursor: pointer; }

/* ---- Sections below the buy area ---------------------------------------------------------------- */
body.sg-pdp-v2 .sg-pdp-sections { margin-top: 46px; border-top: 1px solid var(--line); }
.sg-pdp-section { border-bottom: 1px solid var(--line); }
.sg-pdp-section > summary { display: flex; align-items: center; gap: 14px; padding: 20px 2px; list-style: none; cursor: pointer; color: var(--ink); font: 500 24px var(--serif); letter-spacing: -.03em; }
.sg-pdp-section > summary::-webkit-details-marker { display: none; }
.sg-pdp-section > summary::after { content: '+'; margin-left: auto; font: 400 26px/1 var(--sans); color: #7a8399; }
.sg-pdp-section[open] > summary::after { content: '–'; }
.sg-pdp-section__proof { font: 600 12px var(--label); letter-spacing: .02em; color: #42516d; }
.sg-pdp-section__proof .stars { color: #f4bd37; font-size: 14px; letter-spacing: 2px; }
.sg-pdp-section__body { max-width: 820px; padding: 0 2px 26px; color: #394966; font: 400 15.5px/1.7 var(--sans); }
.sg-pdp-section__body h2 { margin: 22px 0 8px; color: var(--ink); font: 500 20px var(--serif); letter-spacing: -.02em; }
.sg-pdp-section__body h2:first-child { margin-top: 0; }
.sg-pdp-section__body p { margin: 0 0 12px; }
.sg-pdp-section__body .product-specs { margin: 0; }
.sg-pdp-list { margin: 0 0 12px; padding-left: 20px; }
.sg-pdp-list li { margin: 0 0 6px; }
.sg-pdp-links a { margin-right: 18px; color: var(--ink); font: 600 11px var(--label); letter-spacing: .08em; text-transform: uppercase; }
.sg-pdp-qa { margin: 0 0 16px; }
.sg-pdp-qa h3 { margin: 0 0 4px; color: var(--ink); font: 700 14.5px var(--sans); }
.sg-pdp-qa p { margin: 0; }
.sg-pdp-section--reviews .sg-pdp-section__body { max-width: none; }
.sg-pdp-section--reviews .sg-reviews { margin: 0; }
.sg-pdp-section--reviews .sg-reviews__head { display: none; }
.sg-pdp-section--reviews .sg-reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 44px; }
.sg-pdp-section--reviews .sg-review:last-of-type { border-bottom: 1px solid var(--line); }
.sg-pdp-section--reviews .sg-review-form { grid-column: 1 / -1; }
.sg-pdp-section--reviews .sg-review__photo { width: 84px; }

/* ---- Related ---------------------------------------------------------------------------------------- */
body.sg-pdp-v2 div.product .related { margin-top: 54px; }
body.sg-pdp-v2 div.product .related > h2 { margin: 0 0 22px; font-size: 32px; letter-spacing: -.04em; }
body.sg-pdp-v2 div.product .related ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; }
body.sg-pdp-v2 .related .sg-card-rating { flex-wrap: wrap; gap: 4px 6px; font-size: 11px !important; }
body.sg-pdp-v2 .related .sg-card-rating .stars { font-size: 14px !important; letter-spacing: 1.5px; }
body.sg-pdp-v2 .related .woocommerce-loop-product__title { font-size: 18px; line-height: 1.2; }

/* ---- Phones ----------------------------------------------------------------------------------------- */
@media (max-width: 720px) {
  /* One slim header: the promo bar and the free-delivery meter give way to the product. */
  body.sg-pdp-v2 .sg-welcome-bar, body.sg-pdp-v2 .sg-ship-bar { display: none !important; }
  body.sg-pdp-v2.single-product #site-content { padding: 12px 16px 110px; }
  body.sg-pdp-v2 .sg-pdp-top { grid-template-columns: minmax(0, 1fr); gap: 14px 0; }
  body.sg-pdp-v2 .woocommerce-breadcrumb { margin: 0 0 2px; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

  body.sg-pdp-v2 .sg-pdp-head { display: block; }
  .sg-pdp-head__title { margin: 0 0 6px; color: var(--ink); font: 500 27px/1.08 var(--serif); letter-spacing: -.04em; }
  .sg-pdp-head .sg-rating-line { margin: 0 0 6px; font-size: 12px; }
  .sg-pdp-head__price { margin: 0; color: #142453; font: 700 19px var(--sans); }
  .sg-pdp-head__price .screen-reader-text { display: none; }
  body.sg-pdp-v2 .summary .product_title, body.sg-pdp-v2 .summary > .price, body.sg-pdp-v2 .summary > .sg-rating-line {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0);
  }

  body.sg-pdp-v2 div.product .woocommerce-product-gallery { position: relative !important; top: auto; }
  body.sg-pdp-v2 .woocommerce-product-gallery .flex-control-thumbs { display: flex !important; flex-wrap: nowrap; gap: 6px; margin: 8px 0 0 !important; padding: 0 0 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body.sg-pdp-v2 .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 54px; width: 54px !important; margin: 0 !important; float: none !important; }
  body.sg-pdp-v2 .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: 4px; }

  body.sg-pdp-v2 .summary .woocommerce-product-details__short-description { font-size: 15px; }
  .sg-tiles--photo { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  body.sg-pdp-v2 .sg-pdp-sections { margin-top: 26px; }
  .sg-pdp-section > summary { padding: 16px 0; font-size: 20px; }
  .sg-pdp-section__body { padding-bottom: 20px; font-size: 15px; }
  .sg-pdp-section--reviews .sg-reviews { display: block; }

  /* Related: a row you swipe, with cards wide enough to read. */
  body.sg-pdp-v2 div.product .related { margin-top: 34px; }
  body.sg-pdp-v2 div.product .related > h2 { font-size: 25px; }
  body.sg-pdp-v2 div.product .related ul.products { display: flex !important; grid-template-columns: none !important; gap: 12px !important; margin: 0 -16px !important; padding: 0 16px 8px !important; width: auto !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  body.sg-pdp-v2 div.product .related ul.products li.product { flex: 0 0 64%; max-width: 250px; scroll-snap-align: start; }
  body.sg-pdp-v2 .related .product-image { height: 190px !important; }
}

/* 2026-10-09 — the offer is good news: green, larger, with a sparkle inside the sentence. */
.sg-offer { padding: 13px 16px; border: 1px solid #a9dfbd; border-left: 4px solid #1f9d55; background: #eafaf0; color: #0f3d24; font: 600 15px/1.5 var(--sans); }
.sg-offer strong { display: none; }
