/* Product content supplied by WooCommerce and its native breadcrumb trail. */
/* Hero ratings follow the facts; card stars still align at their card's edge. */
.product-summary .rating { flex-wrap:wrap; justify-content:flex-start; }
.product-summary .rating > .stars { flex:none; margin-inline-start:0; }
.product-summary .professional-summary { margin-top:0; }
.professional-summary .review-badges{flex-wrap:wrap}
.professional-summary .review-badges>a{max-width:100%;overflow-wrap:anywhere}
.twc-professional-review.review-empty{border-radius:16px;padding:16px;margin-bottom:16px;scroll-margin-top:160px;overflow-wrap:anywhere}
.twc-professional-review header{display:flex;align-items:center;gap:16px}
.twc-professional-review .twc-professional-score{display:flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;max-width:45%;box-sizing:border-box;padding:8px;border-radius:8px;background:#160c04;color:#e3d7ce;font-size:24px;line-height:1.2}
.twc-professional-review header h3{margin:0;color:#160c04;font-family:Urbanist,sans-serif;font-size:24px;font-weight:600;line-height:1.3}
.twc-professional-review p{margin:16px 0 0;color:#555;font-size:18px;line-height:1.35}
@media(max-width:760px){.twc-professional-review.review-empty{scroll-margin-top:100px}.twc-professional-review header h3{font-size:20px}.twc-professional-review p{font-size:16px}}
/* Figma places the producer photograph 8px below its heading row. */
.product-content .producer-section .home-heading { margin-bottom:8px; }
.product-page .producer-banner .button.outline-light { border:1px solid var(--twc-button-edge); }
.product-top .product-visual img.product-bottle.twc-product-placeholder { width:min(260px,70vw); }
.product-page .twc-product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-bottom: 20px;
  color: #76665c;
  font: 400 max(13px,var(--twc-mobile-text-min,0px))/1.5 Urbanist, sans-serif;
  overflow-wrap: anywhere;
}
.product-page .twc-product-breadcrumb a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.product-page .twc-product-breadcrumb a:focus-visible {
  outline: 2px solid #160c04;
  outline-offset: 3px;
}
.product-page .content-section > h3 {
  margin: 24px 0 12px;
  font: 600 22px/1.4 Urbanist, sans-serif;
}
.product-page .content-section > p {
  overflow-wrap: anywhere;
}
/* Figma section titles have a rule alongside them, without an underline. */
.product-content .content-section .home-heading { min-width:0; }
.product-content .content-section .home-heading h2 {
  flex:0 1 auto;
  min-width:0;
  font:400 40px/1.6 'DM Serif Display',Georgia,serif;
  color:#160c04;
  border:0;
  padding:0;
  margin:0;
  text-decoration:none;
}
.product-content .content-section .home-heading>span { min-width:20px; }
/* A single vintage is a value, not an interactive selector. */
.product-page .purchase-option-value { display:grid; place-items:center; width:100%; min-width:0; max-width:100%; min-height:50px; margin-bottom:24px; padding:8px 16px; border:1px solid #e3d7ce; border-radius:8px; background:#e3d7ce; color:#555; font:400 16px/1.25 Urbanist,Arial,sans-serif; overflow-wrap:anywhere; }
/* Preserve native, editor-visible facts in the Figma label/value composition. */
.product-page .product-additional-info dl { display:flex; flex-direction:column; gap:24px; margin:0; }
.product-page .product-additional-info dl>div { display:block; border:0; padding:0; margin:0; }
.product-page .product-additional-info dt { font:400 24px/1.35 Prata,Georgia,serif; margin:0 0 8px; color:#160c04; }
.product-page .product-additional-info dd { font:400 20px/1.25 Urbanist,Arial,sans-serif; margin:0; color:#555; overflow-wrap:anywhere; }
@media(min-width:761px) {
  .product-page .product-purchase-rail .purchase-wrap {
    top:var(--twc-purchase-top,calc(178px + var(--wp-admin--admin-bar--height,0px)));
    max-height:none;
    overflow:visible;
  }
}
/* Keep the complete bottle and summary in a shorter desktop hero. Tall screens
   retain the approved 850px composition; tablet/phone artwork keeps its crop. */
@media(min-width:1001px) {
  .product-page {
    --twc-product-hero-height:clamp(560px,calc(100dvh - 128px - var(--wp-admin--admin-bar--height,0px)),850px);
  }
  .product-page .product-top { min-height:var(--twc-product-hero-height); }
  .product-top .product-visual img.product-bottle { height:calc(var(--twc-product-hero-height) - 70px); }
}
@media(min-width:1501px) {
  .product-top .product-visual img.normalized-bottle {
    --visible-bottle-height:calc((var(--twc-product-hero-height) - 70px)*.8333333333);
    --visible-bottle-top:calc((var(--twc-product-hero-height) - 70px)*.1294871795);
    height:calc(var(--visible-bottle-height)/var(--bottle-visible-ratio));
  }
}
@media(min-width:761px) and (max-width:1500px) {
  .product-content .content-section .home-heading h2 { font-size:32px; }
}
/* Leave room for the quantity stepper beside the purchase rail on tablets. */
@media (min-width: 761px) and (max-width: 1024px) {
  .product-content .wine-track > .product-card {
    flex-basis: calc((100% - 16px) / 2);
  }
  .product-content .wine-track .twc-wine-card .card-buy {
    gap: 8px;
  }
  .product-content .wine-track .twc-wine-card .card-buy > button {
    width: 44px;
    flex-basis: 44px;
  }
}
@media (max-width: 760px) {
  .product-summary .rating { justify-content:center; }
  .product-page .product-summary h1 { font-size:24px; }
  .product-page .purchase-option-value { width:100%; min-width:0; min-height:40px; margin-bottom:0; padding:8px; border-radius:6px; font-size:max(12px,var(--twc-mobile-text-min,0px)); }
  .product-page .twc-product-breadcrumb { font-size: max(12px,var(--twc-mobile-text-min,0px)); margin-bottom: 16px; }
  .product-page .content-section > h3 { font-size: 18px; }
  .product-content .content-section .home-heading h2 { font-size:24px; }
  .product-page .product-additional-info dl { gap:16px; }
  .product-page .product-additional-info dt { font-size:18px; margin-bottom:4px; }
  .product-page .product-additional-info dd { font-size:14px; }
}
.product-badges .twc-wine-marks{flex-direction:row;flex-wrap:wrap;width:auto;gap:8px}
.product-badges .twc-wine-mark{padding:0;background:transparent;width:32px;height:32px;border-radius:4px}
.twc-customer-reviews{scroll-margin-top:100px}
.twc-customer-reviews>p{margin-bottom:16px}
.twc-customer-review,.twc-review-form{padding:24px;border:1px solid #ddd5ce;border-radius:16px;margin-top:16px;overflow-wrap:anywhere}
.twc-customer-review header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.twc-customer-review time{font-size:14px;color:#555}
.product-page .twc-customer-review .twc-review-stars{color:#805500;margin-bottom:12px}
.twc-review-form summary{cursor:pointer;font-weight:600;min-height:44px;align-content:center}
.twc-review-form form{display:grid;gap:20px;margin-top:16px}
.twc-review-form fieldset{min-width:0;border:0;padding:0;margin:0}
.twc-review-form legend{margin-bottom:8px}
.twc-review-rating{display:flex;gap:4px;width:max-content;max-width:100%;user-select:none}
.twc-review-rating label{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;color:#e3d7ce;font-size:34px;line-height:1;cursor:pointer}
.twc-review-rating input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.twc-review-rating label:where(:has(input:checked),:has(~label input:checked)){color:#f2bb00}
.twc-review-rating label:has(input:focus-visible){outline:2px solid #805500;outline-offset:2px;border-radius:4px}
.twc-review-rating:has(input:focus-visible) label{color:#e3d7ce}
.twc-review-rating:has(input:focus-visible) label:where(:has(input:focus-visible),:has(~label input:focus-visible)){color:#f2bb00}
@media(hover:hover) and (pointer:fine){
  .twc-review-rating:has(label:hover) label{color:#e3d7ce}
  .twc-review-rating:has(label:hover) label:where(:hover,:has(~label:hover)){color:#f2bb00}
}
.twc-review-form textarea{display:block;width:100%;margin-top:8px;min-height:130px;padding:12px;border:1px solid #ddd5ce;border-radius:8px;font:inherit;resize:vertical}
.twc-review-form button{justify-self:start;white-space:normal}
.twc-customer-reviews nav{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
@media(max-width:760px){.twc-customer-review,.twc-review-form{padding:16px}.twc-customer-reviews{scroll-margin-top:80px}}
