.pdp-breadcrumb { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; padding:25px 5.5vw; font-size:12px; line-height:1.5; color:#655b4d; }
.pdp-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.pdp-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); align-items:start; gap:6vw; padding:12px 5.5vw 90px; }
.pdp-gallery { min-width:0; }
.pdp-main-media { display:block; width:100%; padding:0; aspect-ratio:5/6; position:relative; overflow:hidden; border-radius:14px; background:#e9deca; }
.pdp-main-media>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.product-page[data-current-product="gift"] .pdp-main-media { aspect-ratio:4/3; }
.pdp-main-media>span { position:absolute; bottom:20px; right:20px; border-radius:999px; padding:8px 17px; background:var(--ivory); font-size:11px; line-height:1.5; }
.pdp-gallery-bottom { display:flex; gap:24px; align-items:center; margin-top:18px; }
.pdp-thumbnails { display:flex; gap:10px; flex-shrink:0; }
.pdp-thumbnail { width:62px; height:74px; border-radius:8px; padding:4px; border:1px solid transparent; }
.pdp-thumbnail[aria-pressed="true"] { border-color:var(--accent); }
.pdp-thumbnail img { width:100%; height:100%; object-fit:cover; border-radius:4px; }
#pdp-image-caption,.pdp-media-note { font-size:11px; line-height:1.5; color:#6d604f; }
.pdp-media-note { margin-top:16px; }
.pdp-summary { min-width:0; padding:16px 0 0; }
.pdp-step { color:var(--accent); font-size:12px; margin-bottom:18px; }
.pdp-summary h1 { font-size:clamp(42px,4.35vw,66px); line-height:1.02; letter-spacing:-1px; max-width:16ch; }
.pdp-price { display:flex; gap:22px; align-items:baseline; flex-wrap:wrap; margin:24px 0; }
.pdp-price>p { font-size:22px; line-height:1.3; }
.pdp-price>p>span { font-size:11px; margin-left:4px; }
.pdp-price>span { font-size:12px; color:#6b5b49; }
.pdp-description { font-size:16px; line-height:1.65; max-width:50ch; }
.pdp-benefits { margin:21px 0 27px; padding-left:17px; font-size:14px; line-height:1.7; }
.pdp-benefits li { padding-left:5px; }
.pdp-benefits li::marker { color:var(--accent); font-size:10px; }
.pdp-flavors { margin:0 0 25px; padding:0; border:0; }
.pdp-flavors legend { font-size:13px; padding:0 0 12px; }
.pdp-flavors>div { display:flex; flex-wrap:wrap; gap:10px; }
.pdp-flavors label { position:relative; cursor:pointer; }
.pdp-flavors input { position:absolute; opacity:0; width:1px; height:1px; }
.pdp-flavors label>span { display:block; border:1px solid var(--line); padding:10px 18px 8px; border-radius:999px; font-size:12px; line-height:1.4; }
.pdp-flavors input:checked+span { background:#e8d9c1; border-color:var(--accent); color:#593c23; }
.pdp-flavors input:focus-visible+span { outline:2px solid var(--accent); outline-offset:4px; }
.pdp-purchase { display:grid; grid-template-columns:130px minmax(0,1fr); gap:14px; }
.pdp-purchase>.button { width:100%; min-height:54px; }
.pdp-quantity { display:flex; align-items:center; justify-content:space-between; border:1px solid #bdae99; border-radius:999px; }
.pdp-quantity>button { width:40px; min-height:50px; padding:0; font-size:19px; }
.pdp-quantity input { width:40px; padding:0; text-align:center; border:0; background:none; font-size:14px; -moz-appearance:textfield; }
.pdp-quantity input::-webkit-outer-spin-button,.pdp-quantity input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pdp-preview-note { font-size:10px; color:#70604e; margin-top:13px; }
.pdp-caution { font-size:12px; line-height:1.6; margin-top:23px; color:#64513d; }
.pdp-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:30px 0 10px; border-top:1px solid var(--line); padding-top:20px; }
.pdp-facts dt { font-size:11px; color:#71624e; margin-bottom:4px; }
.pdp-facts dd { margin:0; font-size:14px; line-height:1.5; }
.pdp-origin-link { font-size:12px; margin-top:10px; }
.pdp-ingredients { display:grid; grid-template-columns:1fr 1.1fr; gap:8vw; background:#eee6d8; }
.pdp-ingredients h2,.pdp-details h2 { font-size:clamp(40px,4vw,58px); }
.pdp-ingredients h2+p,.pdp-details-intro h2+p { margin-top:24px; font-size:15px; max-width:40ch; }
.pdp-ingredient-list { display:grid; grid-template-columns:1fr 1fr; gap:25px; padding:0; margin:0 0 30px; list-style:none; }
.pdp-ingredient-list>li { font:500 29px/1.1 var(--serif); border-bottom:1px solid #cfc0aa; padding:10px 0 20px; }
.content-placeholder { padding:17px 20px; border:1px dashed #ac9679; border-radius:8px; font-size:12px; line-height:1.7; color:#6b5840; background:rgba(247,243,235,.45); }
.content-placeholder>strong { display:block; margin-bottom:4px; font-weight:500; color:#5d462e; }
.content-pending { color:#725a3c; font-size:12px; }
.pdp-details { display:grid; grid-template-columns:1fr 1.15fr; gap:8vw; }
.pdp-usage { margin-bottom:32px; }
.pdp-usage h3 { font-size:31px; margin-bottom:18px; }
.pdp-usage>p:not(.content-placeholder) { font-size:16px; line-height:1.75; }
.pdp-usage .content-placeholder { margin-top:24px; }
.pdp-detail-content .question-list { width:100%; }
.pdp-detail-content .question-list summary { font-size:15px; }
.pdp-detail-content .question-list details>div { font-size:14px; }
.pdp-detail-content .pdp-caution { margin:0 0 15px; }
.pdp-complements { background:#f0e8da; }
.pdp-pairs { display:grid; grid-template-columns:1fr 1fr; gap:5vw; }
.pdp-pair { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:25px; align-items:center; }
.pdp-pair-photo { display:block; border-radius:10px; overflow:hidden; background:#e8dbc6; }
.pdp-pair-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.pdp-pair h3 { font-size:clamp(28px,2.5vw,36px); line-height:1.08; margin:14px 0 18px; }
.pdp-pair h3 a:hover { color:var(--accent); }
.pdp-pair p { font-size:13px; line-height:1.5; }
.pdp-pair .pdp-pair-step { font-size:11px; color:#785c3b; }
.pdp-pair .text-link { font-size:12px; margin-top:18px; }
.pdp-included { background:#eee6d8; }
.pdp-included-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.pdp-included-grid .pdp-pair { display:flex; flex-direction:column; align-items:stretch; gap:22px; }
.pdp-included-grid .pdp-pair-photo img { aspect-ratio:1/1; }
.pdp-included-grid .pdp-pair h3 { font-size:33px; min-height:74px; margin-top:12px; }
.pdp-included-grid .pdp-pair .text-link { margin-top:12px; }
.pdp-zoom { margin:0; }
.pdp-zoom img { width:100%; max-height:78vh; object-fit:contain; background:#eadfcd; }
.pdp-zoom figcaption { font-size:12px; padding:15px 25px; }
.product-page .footer { border-top:1px solid #d8cbb7; }
.product-page .review-tools { display:none; }
@media(min-width:1500px) { .pdp-hero,.pdp-breadcrumb { padding-left:max(5.5vw,calc((100vw - 1460px)/2)); padding-right:max(5.5vw,calc((100vw - 1460px)/2)); } }
@media(max-width:1100px) {
  .pdp-hero { gap:4vw; }
  .pdp-summary { padding-top:6px; }
  .pdp-summary h1 { font-size:48px; }
  .pdp-gallery-bottom { flex-wrap:wrap; gap:12px; }
  .pdp-price { margin:21px 0; gap:16px; }
  .pdp-pair { gap:18px; }
  .pdp-included-grid .pdp-pair h3 { font-size:29px; min-height:96px; }
}
@media(max-width:800px) {
  .pdp-hero { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:5px; padding-bottom:65px; }
  .pdp-gallery { max-width:600px; width:100%; margin:auto; }
  .pdp-main-media { aspect-ratio:1/1.05; }
  .pdp-summary { max-width:600px; width:100%; margin:auto; }
  .pdp-summary h1 { font-size:52px; }
  .pdp-gallery-bottom { flex-wrap:nowrap; }
  .pdp-ingredients,.pdp-details { grid-template-columns:1fr; gap:35px; }
  .pdp-ingredients h2,.pdp-details h2 { font-size:46px; }
  .pdp-ingredients h2+p,.pdp-details-intro h2+p { max-width:55ch; margin-top:18px; }
  .pdp-pairs { gap:35px; }
  .pdp-pair { grid-template-columns:1fr; gap:20px; }
  .pdp-pair h3 { font-size:31px; }
  .pdp-included-grid { gap:22px; }
  .pdp-included-grid .pdp-pair h3 { font-size:27px; min-height:115px; }
}
@media(max-width:600px) {
  .pdp-breadcrumb { padding:22px 22px; font-size:10px; gap:9px; }
  .pdp-breadcrumb>span[aria-current] { display:none; }
  .pdp-breadcrumb>span[aria-hidden]:last-of-type { display:none; }
  .pdp-hero { padding-left:22px; padding-right:22px; gap:30px; }
  .pdp-main-media { border-radius:10px; }
  .pdp-main-media>span { right:12px; bottom:12px; font-size:10px; }
  .pdp-gallery-bottom { gap:15px; }
  .pdp-thumbnail { width:48px; height:58px; padding:3px; }
  .pdp-thumbnails { gap:6px; }
  #pdp-image-caption { font-size:10px; }
  .pdp-media-note { font-size:10px; margin-top:12px; }
  .pdp-step { margin-bottom:14px; font-size:11px; }
  .pdp-summary h1 { font-size:45px; letter-spacing:-.7px; }
  .pdp-price { margin:23px 0; }
  .pdp-price>p { font-size:21px; }
  .pdp-description { font-size:15px; line-height:1.7; }
  .pdp-benefits { font-size:13px; }
  .pdp-flavors label>span { padding:10px 15px 8px; }
  .pdp-purchase { grid-template-columns:116px minmax(0,1fr); gap:12px; }
  .pdp-purchase>.button { padding-left:15px; padding-right:15px; }
  .pdp-quantity>button { width:35px; }
  .pdp-quantity input { width:34px; }
  .pdp-facts dd { font-size:13px; }
  .pdp-ingredients h2,.pdp-details h2 { font-size:41px; }
  .pdp-ingredient-list { gap:18px; }
  .pdp-ingredient-list>li { font-size:27px; }
  .content-placeholder { padding:15px 17px; font-size:11px; }
  .pdp-pairs,.pdp-included-grid { grid-template-columns:1fr; gap:35px; }
  .pdp-pair,.pdp-included-grid .pdp-pair { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:20px; align-items:center; }
  .pdp-pair h3,.pdp-included-grid .pdp-pair h3 { font-size:29px; min-height:0; margin:10px 0 14px; }
  .pdp-pair .text-link { margin-top:10px; }
  .pdp-included-grid .pdp-pair-photo img { aspect-ratio:4/5; }
}
@media(max-width:360px) {
  .pdp-summary h1 { font-size:40px; }
  .pdp-pair h3,.pdp-included-grid .pdp-pair h3 { font-size:26px; }
  .pdp-pair,.pdp-included-grid .pdp-pair { gap:16px; }
  .pdp-ingredient-list>li { font-size:25px; }
  .pdp-flavors>div { gap:7px; }
  .pdp-flavors label>span { padding-left:12px; padding-right:12px; font-size:11px; }
}
