/* Product pages only. Colours inherit the current CannaMart theme.
   The title uses a div so global navigation header heights/borders never apply. */
.product-view{--product-line:var(--cm-border,#ffffff24);--product-panel:var(--cm-surface,#151518);--product-muted:var(--cm-muted,#bab8b1);min-width:0}
.product-view .product-breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--product-muted);font-size:.875rem;line-height:1.5;margin:0 0 16px;overflow-wrap:anywhere}
.product-view .back-link{font-size:.875rem;margin-bottom:28px;min-height:32px}
.product-view .product-overview-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);grid-template-areas:"photos heading" "photos purchase" "reviews description";gap:10px clamp(28px,5vw,80px);align-items:start}
.product-view .product-page-heading{grid-area:heading;min-width:0;border-bottom:0;padding-bottom:0;align-self:end;display:flex;flex-direction:column;align-items:flex-start;container-type:inline-size}
.product-view .product-page-heading h1{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(1.7rem,2.5vw,2.5rem);font-weight:600;line-height:1.2;letter-spacing:-.025em;margin:12px 0 0;overflow-wrap:anywhere}
.product-view .product-page-heading .eyebrow{font-size:.875rem;line-height:1.5}
.product-view .product-page-heading[data-cm-product="mango-cheesecake"] h1{font-size:min(2.5rem,5.8cqi);white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal}
.product-view .product-page-heading[data-cm-product="mango-cheesecake"] .eyebrow{font-size:min(.875rem,3.8cqi);letter-spacing:.04em;white-space:nowrap;text-wrap:nowrap}
.product-view .product-reviews-jump{color:var(--gold,#d2b56b);font-size:.875rem;text-underline-offset:4px;text-decoration:underline;display:inline-block;min-height:24px}
.product-view .product-gallery{grid-area:photos;min-width:0}
/* Limit both axes together: a height cap alone makes wide tablet photos rectangular. */
.product-view #full-product-photo{display:block;box-sizing:border-box;width:100%;max-width:486px;margin-inline:auto;border:1px solid var(--product-line);border-radius:12px;padding:12px;background:var(--product-panel)}
.product-view .product-detail-image{display:block;width:100%;height:auto;aspect-ratio:1/1;max-height:none;object-fit:contain;object-position:center;border:0;border-radius:6px;background:transparent}
.product-view .gallery-thumbs{gap:8px;margin-top:12px;justify-content:center}
.product-view .gallery-thumbs button{width:64px;height:64px;border-radius:6px;cursor:pointer}
.product-view .gallery-thumbs img{object-fit:contain}
.product-view .product-photo-note{font-size:.875rem;line-height:1.6;color:var(--product-muted);margin:14px 0 20px}
.product-view .product-gallery-meta{margin:0;border-block:1px solid var(--product-line);padding:16px 0;font-size:.875rem}
.product-view .product-gallery-meta>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:6px 0}
.product-view .product-gallery-meta dt{color:var(--product-muted)}
.product-view .product-gallery-meta dd{margin:0;overflow-wrap:anywhere}
.product-view .product-purchase-panel{grid-area:purchase;padding:0;min-width:0}
.product-view .product-price-status{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.product-view .large-price{font-size:1.8rem;margin:0;white-space:nowrap}
.product-view .status-label{position:static;font-size:.875rem}
.product-view .spec-list{margin:18px 0}
.product-view .spec-list>div{padding:12px 0;gap:14px}
.product-view .spec-list dt,.product-view .spec-list dd{font-size:.875rem;overflow-wrap:anywhere}
.product-view .product-options{padding:0;background:transparent;border:0;margin:24px 0}
.product-view .product-options fieldset{margin:0;padding:0;border:0;min-width:0}
.product-view .product-options legend{font-size:1.1rem;font-weight:600;margin-bottom:16px;padding:0}
.product-view .product-option-labels{display:flex;justify-content:space-between;padding:0 16px 10px;font-size:.875rem;color:var(--product-muted)}
.product-view .product-option-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border:1px solid var(--product-line);margin-top:-1px;min-height:76px;cursor:pointer;background:var(--product-panel)}
.product-view .product-option-row:nth-of-type(even){background:#ffffff04}
.product-view .product-option-row:has(input:checked){border-color:var(--gold,#d2b56b);background:#cbaa5710;position:relative}
.product-view .product-option-row:has(input:focus-visible){outline:2px solid var(--gold,#d2b56b);outline-offset:3px}
.product-view .product-option-row:has(input:disabled){cursor:default;opacity:.65}
.product-view .product-option-row input{margin:0;width:18px;height:18px;accent-color:var(--gold,#d2b56b)}
.product-view .product-option-name{min-width:0;overflow-wrap:anywhere}
.product-view .product-option-name strong{font-size:1rem;font-weight:500;display:block;line-height:1.5}
.product-view .product-option-name small{font-size:.875rem;display:block;margin-top:3px;color:var(--product-muted);line-height:1.5}
.product-view .product-option-price{font-size:1.1rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.product-view .product-basket-actions{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:end;margin:24px 0 12px}
.product-view .product-basket-actions label{font-size:.875rem;display:grid;gap:8px}
.product-view .product-basket-actions input{width:100%;min-width:0;box-sizing:border-box;font-size:1rem;height:50px;padding:10px;border:1px solid var(--product-line);border-radius:6px;background:var(--product-panel);color:inherit}
.product-view .product-basket-actions button{height:auto;min-height:50px;font-size:1rem;white-space:normal;padding:12px 16px}
.product-view .product-basket-actions button:disabled{cursor:not-allowed}
.product-view .quantity-deal-total{font-size:.9375rem;line-height:1.6;color:var(--gold,#d2b56b)}
.product-view .product-enquiry{margin:18px 0}
.product-view .product-enquiry .button{font-size:.875rem;white-space:normal;overflow-wrap:anywhere}
.product-view .inline-note{font-size:.875rem;line-height:1.6}
.product-view .product-delivery-link{display:inline-block;font-size:.875rem;line-height:1.6;margin:10px 0 16px;color:var(--gold,#d2b56b)}
.product-view .product-description-column{grid-area:description;margin:12px 0 0;min-width:0}
.product-view .product-description-panel{margin:0 0 20px;padding:clamp(20px,3vw,32px);border:1px solid var(--product-line);border-radius:10px;background:var(--product-panel);max-width:none;overflow-wrap:anywhere}
.product-view .product-description-panel h2{font:600 1.25rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:0;margin:0 0 16px}
.product-view .product-description-panel p,.product-view .product-description-panel li{font-size:1rem;line-height:1.8}
.product-view .product-review-column{grid-area:reviews;min-width:0;margin-top:12px}
.product-view .product-reviews{scroll-margin-top:110px;border-top:2px solid var(--gold,#d2b56b);padding-top:24px}
.product-view .product-review-heading .eyebrow{font-size:.875rem}
.product-view .product-review-heading h2{font:600 1.65rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:-.02em;margin:10px 0 22px}
.product-view .product-rating-summary strong{display:block;font-size:1.125rem;margin-bottom:8px}
.product-view .product-rating-summary span{font-size:.875rem;line-height:1.6;color:var(--product-muted);display:block}
.product-view .product-rating-bars{margin:20px 0 24px;display:grid;gap:12px}
.product-view .product-rating-row{display:grid;grid-template-columns:96px minmax(0,1fr) 20px;align-items:center;gap:16px;font-size:.875rem;color:var(--product-muted)}
.product-view .product-rating-stars{font-size:1.125rem;letter-spacing:2px;color:var(--gold,#d2b56b);white-space:nowrap}
.product-view .product-rating-track{height:10px;background:#ffffff10;border-radius:3px}
.product-view .product-reviews h3{font:600 1rem/1.5 'DM Sans',Arial,sans-serif;margin:24px 0 0}
.product-view .product-community-review{border-top:1px solid var(--product-line);border-bottom:0;padding:20px 0}
.product-view .product-review-title{font-size:1rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere;color:var(--gold,#d2b56b)}
.product-view .product-community-review p,.product-view .product-reviews-empty{font-size:1rem;line-height:1.75;overflow-wrap:anywhere}
.product-view .product-community-review small{font-size:.875rem;line-height:1.6;color:var(--product-muted);display:block}
.product-view .product-review-read{display:inline-block;margin-top:12px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;color:var(--gold,#d2b56b)}
.product-view .product-review-action{font-size:.875rem;white-space:normal;line-height:1.5;margin-top:16px}
@media(max-width:800px){
 .product-view .product-overview-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "photos" "purchase" "description" "reviews";gap:24px}
 .product-view .product-page-heading{padding-bottom:0}
 .product-view .product-page-heading h1{font-size:1.8rem}
 .product-view #full-product-photo{max-width:386px}
 .product-view .product-gallery-meta{padding:10px 0}
 .product-view .product-description-column,.product-view .product-review-column{margin-top:0}
 .product-view .product-options{margin:20px 0}
 .product-view .product-option-row{padding:12px;gap:10px}
 .product-view .product-option-price{font-size:1rem}
 .product-view .product-basket-actions{grid-template-columns:84px minmax(0,1fr);gap:12px}
}
