/* The reference composition is designed at 1435 × 1096; values below match it. */
.winecellar-product-layout--mockup { --wcm-wine:#651b2c; --wcm-gold:#b4955b; --wcm-line:#ede6dc; color:#181715; background:#fcfaf6; font:14px/1.3 "Times New Roman",Times,serif; }
.winecellar-product-layout--mockup .site-main > .woocommerce { width:var(--wc-product-width); max-width:var(--wc-product-max-width); margin:0 auto; padding:0; }
.winecellar-product-layout--mockup .site-main { background:transparent; }
.winecellar-product-layout--mockup button,.winecellar-product-layout--mockup input { font:inherit; }
.winecellar-product-layout--mockup .wcm-icon { display:block; flex:none; width:24px; height:24px; }
.winecellar-product-layout--mockup [hidden] { display:none !important; }
.winecellar-product-layout--mockup .wcm-header { width:var(--wc-product-width); max-width:var(--wc-product-max-width); margin-inline:auto; height:51px; padding:0; display:flex; gap:0; align-items:center; border-bottom:1px solid var(--wcm-line); }
.winecellar-product-layout--mockup .wcm-wordmark { flex:none; width:217px; font-size:32px; font-weight:700; letter-spacing:-1.1px; color:var(--wcm-wine); text-decoration:none; }
.winecellar-product-layout--mockup .wcm-nav { display:flex; align-items:center; gap:45px; }
.winecellar-product-layout--mockup .wcm-nav a { text-decoration:none; font-size:15px; }
.winecellar-product-layout--mockup .wcm-nav a:hover { color:var(--wcm-wine); }
.winecellar-product-layout--mockup .wcm-header-actions { display:flex; align-items:center; gap:23px; margin-left:auto; }
.winecellar-product-layout--mockup .wcm-header-actions > a,.winecellar-product-layout--mockup .wcm-header-actions > button { display:flex; align-items:center; justify-content:center; width:24px; height:32px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-search { display:flex; align-items:center; gap:7px; width:250px; height:29px; border:1px solid #e6dfd5; border-radius:30px; padding:0 9px; }
.winecellar-product-layout--mockup .wcm-search button { border:0; padding:0; background:none; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-search .wcm-icon { width:17px; height:17px; }
.winecellar-product-layout--mockup .wcm-search input { min-width:0; width:100%; border:0; outline:0; background:none; font-size:12px; }
.winecellar-product-layout--mockup .wcm-cart { position:relative; }
.winecellar-product-layout--mockup .wcm-cart .cart-count { position:absolute; top:0; right:-4px; display:grid; place-items:center; width:14px; height:14px; background:var(--wcm-wine); color:white; border-radius:50%; font:10px/1 Arial,sans-serif; }
.winecellar-product-layout--mockup .woocommerce .woocommerce-breadcrumb { margin:0; padding:0; width:100%; height:44px; display:flex; align-items:center; gap:11px; text-transform:none; letter-spacing:0; color:#42403c; font:12px/1.3 Arial,sans-serif; }
.winecellar-product-layout--mockup .woocommerce-breadcrumb a { text-decoration:none; }
.winecellar-product-layout--mockup .wcm-product { display:block; margin:0; }
.winecellar-product-layout--mockup .wcm-hero { display:grid; grid-template-columns:minmax(0,720fr) minmax(0,567fr); column-gap:52px; margin:0 0 15px; min-height:494px; }
.winecellar-product-layout--mockup .wcm-hero--no-gallery { grid-template-columns:1fr; }
.winecellar-product-layout--mockup .wcm-gallery { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; height:494px; }
.winecellar-product-layout--mockup .wcm-thumbnails { min-width:0; }
.winecellar-product-layout--mockup .wcm-thumbnail-list { display:flex; flex-direction:column; gap:8px; height:444px; overflow:auto; scrollbar-width:none; }
.winecellar-product-layout--mockup .wcm-thumbnail { position:relative; flex:none; display:block; width:90px; height:100px; padding:0; border:1px solid transparent; border-radius:4px; background:#eee8dd; overflow:hidden; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-thumbnail:first-child { height:120px; }
.winecellar-product-layout--mockup .wcm-thumbnail.is-active { border:1.5px solid var(--wcm-wine); padding:2px; background:transparent; }
.winecellar-product-layout--mockup .wcm-thumbnail img { width:100%; height:100%; object-fit:cover; border-radius:2px; }
.winecellar-product-layout--mockup .wcm-gallery-next { display:grid; place-items:center; width:32px; height:32px; border:1px solid #ddcfb9; border-radius:50%; padding:0; margin:10px auto 0; background:transparent; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-gallery-next .wcm-icon { width:18px; height:18px; }
.winecellar-product-layout--mockup .wcm-main-image { width:100%; height:494px; display:block; border:0; border-radius:6px; padding:0; overflow:hidden; background:#eee8dd; cursor:zoom-in; }
.winecellar-product-layout--mockup .wcm-main-image img { width:100%; height:100%; object-fit:contain; }
.winecellar-product-layout--mockup .wcm-purchase { min-width:0; padding-top:0; }
.winecellar-product-layout--mockup .wcm-rating-row { display:flex; align-items:center; height:22px; gap:0; }
.winecellar-product-layout--mockup .wcm-rating { display:flex; gap:9px; align-items:center; font-size:17px; }
.winecellar-product-layout--mockup .wcm-rating .wcm-icon { width:19px; height:19px; color:var(--wcm-gold); }
.winecellar-product-layout--mockup .wcm-review-count { border-left:1px solid #a89a89; margin-left:18px; padding-left:18px; color:#55514c; font-size:12px; }
.winecellar-product-layout--mockup .wcm-sku { margin-left:auto; color:#55514c; font-size:12px; }
.winecellar-product-layout--mockup .wcm-origin { display:flex; gap:12px; align-items:center; min-height:16px; margin:20px 0 15px; font-size:12px; color:#44403b; }
.winecellar-product-layout--mockup .wcm-flag { width:21px; height:14px; border:1px solid #e4ded6; background:linear-gradient(90deg,#284bb5 0 33.33%,#fff 33.33% 66.66%,#df233c 66.66%); }
.winecellar-product-layout--mockup .wcm-flag--it { background:linear-gradient(90deg,#1b9758 0 33.33%,#fff 33.33% 66.66%,#df233c 66.66%); }
.winecellar-product-layout--mockup .wcm-flag--es { background:linear-gradient(#bd2030 0 25%,#edc337 25% 75%,#bd2030 75%); }
.winecellar-product-layout--mockup .wcm-flag--de { background:linear-gradient(#222 0 33.33%,#ce2931 33.33% 66.66%,#efc337 66.66%); }
.winecellar-product-layout--mockup .wcm-grapes { border-left:1px solid #625c54; padding-left:17px; margin-left:2px; }
.winecellar-product-layout--mockup .wcm-title { margin:0 0 13px; color:#0f0e0c; font:500 39px/1.03 Georgia,serif; letter-spacing:-.1px; }
.winecellar-product-layout--mockup .wcm-intro { font:18px/1.35 Georgia,serif; color:#393631; }
.winecellar-product-layout--mockup .wcm-intro p { margin:0; }
.winecellar-product-layout--mockup .wcm-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:18px; margin:8px 0 15px; color:var(--wcm-wine); }
.winecellar-product-layout--mockup .wcm-price del { color:#93918b; font-size:26px; font-weight:600; }
.winecellar-product-layout--mockup .wcm-price strong { font-size:44px; line-height:1.25; font-weight:600; }
.winecellar-product-layout--mockup .wcm-price > span { font-size:14px; margin-left:-8px; }
.winecellar-product-layout--mockup .woocommerce-Price-amount { color:inherit; font:inherit; }
.winecellar-product-layout--mockup .wcm-buy-area { position:relative; }
.winecellar-product-layout--mockup .wcm-cart-form { display:grid; grid-template-columns:171px minmax(0,1fr); gap:17px; margin:0; }
.winecellar-product-layout--mockup .wcm-quantity { height:57px; display:grid; grid-template-columns:42px 1fr 42px; border:1px solid var(--wcm-line); border-radius:7px; overflow:hidden; background:rgba(245,241,236,.45); }
.winecellar-product-layout--mockup .wcm-quantity button { border:0; background:none; padding:0; font-size:24px; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-quantity input { width:100%; min-width:0; height:55px; padding:0; border:0; outline:0; background:transparent; font-size:26px; text-align:center; appearance:textfield; -moz-appearance:textfield; }
.winecellar-product-layout--mockup .wcm-quantity input::-webkit-inner-spin-button { -webkit-appearance:none; }
.winecellar-product-layout--mockup .wcm-buy-button { display:flex; align-items:center; justify-content:center; gap:22px; width:100%; min-height:57px; border:1px solid #60202c; border-radius:6px; padding:0 15px; color:#fff; background:linear-gradient(110deg,#6d2636,#651b2c); font-size:17px; letter-spacing:1.8px; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-buy-button .wcm-icon { width:25px; height:25px; }
.winecellar-product-layout--mockup .wcm-buy-button:hover { background:#521323; }
.winecellar-product-layout--mockup .wcm-value-strip { display:grid; grid-template-columns:1fr 1.15fr 1.15fr; align-items:center; min-height:67px; margin-top:13px; border-radius:7px; background:#f5f0e7; }
.winecellar-product-layout--mockup .wcm-value-strip > * { display:flex; flex-direction:column; align-items:center; padding:0 10px; border-right:1px solid #d4c4a7; line-height:1.25; text-align:center; text-decoration:none; }
.winecellar-product-layout--mockup .wcm-value-strip > :last-child { border:0; color:#88621f; }
.winecellar-product-layout--mockup .wcm-value-strip span { font-size:15px; }
.winecellar-product-layout--mockup .wcm-value-strip b { font-size:19px; font-weight:500; }
.winecellar-product-layout--mockup .wcm-assurances { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:8px; padding-top:23px; }
.winecellar-product-layout--mockup .wcm-assurances > div { display:flex; gap:12px; align-items:flex-start; font-size:12px; line-height:1.35; }
.winecellar-product-layout--mockup .wcm-assurances .wcm-icon { width:26px; height:26px; }
.winecellar-product-layout--mockup .wcm-assurances span { min-width:0; }
.winecellar-product-layout--mockup .wcm-save-product { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); border:0; }
.winecellar-product-layout--mockup .wcm-save-product:focus { position:static; width:auto; height:auto; clip-path:none; margin:8px 0; display:flex; gap:8px; align-items:center; background:transparent; }
.winecellar-product-layout--mockup .wcm-quantity-options { grid-column:1/-1; padding:16px; border:1px solid var(--wcm-line); border-radius:12px; background:linear-gradient(145deg,#fcfaf6,#f5f0e7); }
.winecellar-product-layout--mockup .wcm-quantity-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.winecellar-product-layout--mockup .wcm-quantity-heading h2 { margin:0; color:var(--wcm-wine); font:400 25px/1.2 Georgia,serif; }
.winecellar-product-layout--mockup .wcm-quantity-heading > span { flex:none; font:11px/1.3 Arial,sans-serif; color:#756c63; }
.winecellar-product-layout--mockup .wcm-quantity-options > p { margin:7px 0 13px; color:#756c63; font:12px/1.45 Arial,sans-serif; }
.winecellar-product-layout--mockup .wcm-tier-list { overflow:hidden; border:1px solid #e2dbd1; border-radius:9px; background:#fff; }
.winecellar-product-layout--mockup .wcm-tier { display:grid; grid-template-columns:minmax(80px,.8fr) minmax(0,1.5fr) minmax(100px,1fr); gap:8px; align-items:center; width:100%; padding:13px 12px; border:0; border-bottom:1px solid var(--wcm-line); background:#fff; text-align:left; cursor:pointer; color:#241e1a; box-shadow:inset 3px 0 transparent; }
.winecellar-product-layout--mockup .wcm-tier:last-child { border-bottom:0; }
.winecellar-product-layout--mockup .wcm-tier:hover,.winecellar-product-layout--mockup .wcm-tier.is-selected { background:#faf3e9; box-shadow:inset 3px 0 var(--wcm-wine); }
.winecellar-product-layout--mockup .wcm-tier:focus-visible,.winecellar-product-layout--mockup .wcm-buy-button:focus-visible { outline:2px solid var(--wcm-wine); outline-offset:-3px; }
.winecellar-product-layout--mockup .wcm-tier:disabled { opacity:.45; cursor:not-allowed; }
.winecellar-product-layout--mockup .wcm-tier-count b { display:block; color:var(--wcm-wine); font:600 15px/1.3 Georgia,serif; }
.winecellar-product-layout--mockup .wcm-tier-count small { display:block; margin-top:2px; color:#766d63; font:700 9px/1.3 Arial,sans-serif; text-transform:uppercase; letter-spacing:.3px; }
.winecellar-product-layout--mockup .wcm-tier-unit { display:flex; gap:4px 6px; flex-wrap:wrap; align-items:baseline; font:12px/1.4 Arial,sans-serif; }
.winecellar-product-layout--mockup .wcm-tier-unit del { color:#8c8379; font-size:10px; }
.winecellar-product-layout--mockup .wcm-tier-unit small { color:#766d63; font-size:9px; }
.winecellar-product-layout--mockup .wcm-tier-total { text-align:right; font:700 13px/1.4 Arial,sans-serif; }
.winecellar-product-layout--mockup .wcm-tier-total small { display:block; margin-top:5px; font-size:10px; color:#378b74; }
.winecellar-product-layout--mockup .wcm-unavailable { color:var(--wcm-wine); padding:15px; background:#f5f0e7; border-radius:6px; }
.winecellar-product-layout--mockup .wcm-information { display:grid; grid-template-columns:24% 26.1% 25.2% 24.7%; margin:0; padding:17px 0 0; border-top:1px solid var(--wcm-line); min-height:266px; }
.winecellar-product-layout--mockup .wcm-info-card { min-width:0; padding:0 28px 0 30px; border-right:1px solid var(--wcm-line); }
.winecellar-product-layout--mockup .wcm-info-card:last-child { border:0; }
.winecellar-product-layout--mockup .wcm-info-card { color:#403d38; }
.winecellar-product-layout--mockup .wcm-info-card h2 { display:flex; align-items:center; gap:13px; margin:0 0 11px; color:#181715; font-size:22px; font-weight:600; line-height:1.4; }
.winecellar-product-layout--mockup .wcm-info-card h2 .wcm-icon { width:29px; height:32px; color:#885e23; }
.winecellar-product-layout--mockup .wcm-info-card p { font-size:14px; line-height:1.33; margin:16px 0 0; }
.winecellar-product-layout--mockup .wcm-profile dl { display:grid; gap:10px; margin:12px 0 0; }
.winecellar-product-layout--mockup .wcm-profile dl > div { display:grid; grid-template-columns:133px 1fr; align-items:center; gap:0; font:12px/1.35 Arial,sans-serif; }
.winecellar-product-layout--mockup .wcm-profile dd { margin:0; font-size:11px; }
.winecellar-product-layout--mockup .wcm-dots { display:flex; gap:9px; }
.winecellar-product-layout--mockup .wcm-dots i { display:block; flex:none; width:10px; height:10px; border-radius:50%; background:#e8e1d7; }
.winecellar-product-layout--mockup .wcm-dots .is-filled { background:var(--wcm-wine); }
.winecellar-product-layout--mockup .wcm-profile .wcm-profile-copy { margin-top:29px; border-top:1px solid var(--wcm-line); padding-top:16px; }
.winecellar-product-layout--mockup .wcm-food-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:20px; row-gap:15px; margin-top:20px; }
.winecellar-product-layout--mockup .wcm-info-card figure { margin:0; text-align:center; }
.winecellar-product-layout--mockup .wcm-food-image { position:relative; overflow:hidden; display:block; width:75px; height:75px; border-radius:50%; margin:0 auto 5px; }
.winecellar-product-layout--mockup .wcm-reference-illustration img { position:absolute; display:block; width:1435px; height:1096px; max-width:none; }
.winecellar-product-layout--mockup .wcm-food-image--steak img { left:-391px; top:-674px; }
.winecellar-product-layout--mockup .wcm-food-image--mushroom img { left:-495px; top:-674px; }
.winecellar-product-layout--mockup .wcm-food-image--cheese img { left:-597px; top:-674px; }
.winecellar-product-layout--mockup .wcm-info-card figcaption { font-size:13px; line-height:1.3; }
.winecellar-product-layout--mockup .wcm-food-grid figcaption { max-width:75px; min-height:34px; margin:auto; overflow-wrap:anywhere; }
.winecellar-product-layout--mockup .wcm-notes-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 14px; margin-top:-5px; }
.winecellar-product-layout--mockup .wcm-info-card:nth-child(3) h2 { margin-bottom:6px; }
.winecellar-product-layout--mockup .wcm-info-card:nth-child(3) > p { margin-top:11px; }
.winecellar-product-layout--mockup .wcm-note-image { position:relative; overflow:hidden; display:block; width:64px; height:45px; margin:auto; }
.winecellar-product-layout--mockup .wcm-note-image--cherry img { left:-761px; top:-659px; }
.winecellar-product-layout--mockup .wcm-note-image--raspberry img { left:-856px; top:-659px; }
.winecellar-product-layout--mockup .wcm-note-image--violet img { left:-951px; top:-659px; }
.winecellar-product-layout--mockup .wcm-note-image--mushroom img { left:-761px; top:-731px; }
.winecellar-product-layout--mockup .wcm-note-image--cinnamon img { left:-856px; top:-731px; }
.winecellar-product-layout--mockup .wcm-note-image--mineral img { left:-951px; top:-731px; }
.winecellar-product-layout--mockup .wcm-note-image.wcm-visual-atlas { width:45px; height:45px; }
.winecellar-product-layout--mockup .wcm-visual-atlas { clip-path:inset(2px); }
.winecellar-product-layout--mockup .wcm-visual-atlas img { position:absolute; display:block; max-width:none; width:400%; height:400%; left:calc(var(--wcm-col) * -100%); top:calc(var(--wcm-row) * -100%); }
.winecellar-product-layout--mockup .wcm-food-image.wcm-visual-atlas { border-radius:0; }
.winecellar-product-layout--mockup .wcm-missing-data { grid-column:1/-1; padding:15px 0; }
.winecellar-product-layout--mockup .wcm-missing-data figcaption { max-width:none; margin-top:8px; color:#756e66; }
.winecellar-product-layout--mockup .wcm-details { padding-left:27px; padding-right:18px; }
.winecellar-product-layout--mockup .wcm-details h2 { margin-bottom:11px; }
.winecellar-product-layout--mockup .wcm-details dl { display:grid; gap:4px; margin:0; }
.winecellar-product-layout--mockup .wcm-details dl > div { display:grid; grid-template-columns:132px minmax(0,1fr); gap:10px; font-size:13px; line-height:1.3; }
.winecellar-product-layout--mockup .wcm-details dd { margin:0; overflow-wrap:anywhere; }
.winecellar-product-layout--mockup .wcm-description { margin:24px 0; }
.winecellar-product-layout--mockup .site-footer { font-family:var(--wc-sans); }
.winecellar-product-layout--mockup .site-footer .brand__name { color:#fff; }
.winecellar-product-layout--mockup .site-footer .brand__text { display:grid; }
.winecellar-product-layout--mockup .site-footer .brand__seal { display:grid; }
.winecellar-product-layout--mockup .site-footer .brand__tag { display:block; }
.winecellar-product-layout--mockup .wcm-expert { margin:16px 0 9px; min-height:70px; display:flex; align-items:center; gap:18px; padding:10px 28px; border:1px solid var(--wcm-line); border-radius:6px; }
.winecellar-product-layout--mockup .wcm-expert-seal { display:grid; place-items:center; flex:none; width:47px; height:47px; border-radius:50%; color:white; background:linear-gradient(120deg,#dec38a,#b18b4b); }
.winecellar-product-layout--mockup .wcm-expert-title { width:265px; flex:none; }
.winecellar-product-layout--mockup .wcm-expert h2 { margin:0; font-size:21px; line-height:1.25; }
.winecellar-product-layout--mockup .wcm-expert p { margin:0; color:#585149; font-size:14px; }
.winecellar-product-layout--mockup .wcm-expert-score { display:flex; flex:none; align-items:center; gap:22px; border-left:1px solid #d6c8b4; padding-left:52px; min-width:275px; }
.winecellar-product-layout--mockup .wcm-expert-score b { font-size:32px; line-height:1; font-weight:500; }
.winecellar-product-layout--mockup .wcm-expert-score small { font-size:16px; }
.winecellar-product-layout--mockup .wcm-stars { position:relative; font-size:25px; color:#e5ddce; letter-spacing:3px; white-space:nowrap; }
.winecellar-product-layout--mockup .wcm-stars::before { content:'★★★★★'; }
.winecellar-product-layout--mockup .wcm-stars > span { position:absolute; inset:0 auto 0 0; width:var(--wcm-rating); overflow:hidden; color:var(--wcm-gold); }
.winecellar-product-layout--mockup .wcm-expert blockquote { margin:0; max-width:385px; font-size:14px; line-height:1.35; font-style:italic; }
.winecellar-product-layout--mockup .wcm-expert .wcm-expert-source { margin-left:auto; text-align:right; font-size:12px; line-height:1.4; }
.winecellar-product-layout--mockup .wcm-expert--editorial { flex-wrap:wrap; }
.winecellar-product-layout--mockup .wcm-expert--editorial .wcm-expert-title { flex:1 1 200px; width:auto; }
.winecellar-product-layout--mockup .wcm-expert--editorial .wcm-expert-score { min-width:0; padding-left:20px; gap:16px; }
.winecellar-product-layout--mockup .wcm-expert--editorial blockquote { flex:2 1 280px; max-width:none; overflow-wrap:anywhere; }
.winecellar-product-layout--mockup .wcm-membership { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) 242px; gap:20px; align-items:center; min-height:111px; padding:12px 28px 12px 212px; margin:0 0 19px; border-radius:5px; color:white; background:linear-gradient(110deg,#782b3e,#661b2e); }
.winecellar-product-layout--mockup .wcm-membership-image { position:absolute; z-index:-1; inset:0 auto auto 0; width:212px; height:111px; background:url('../images/product-reference-sprite.png') -20px -965px / 1435px 1096px no-repeat; mask-image:linear-gradient(90deg,#000 40%,transparent); }
.winecellar-product-layout--mockup .wcm-membership-copy > p { color:#e0c28d; font-size:13px; letter-spacing:5px; margin:0 0 3px; }
.winecellar-product-layout--mockup .wcm-membership-copy h2 { margin:0 0 4px; font-size:36px; font-weight:500; line-height:1.1; }
.winecellar-product-layout--mockup .wcm-membership-copy > span { font-size:16px; }
.winecellar-product-layout--mockup .wcm-membership-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:center; }
.winecellar-product-layout--mockup .wcm-membership-benefits .wcm-icon { width:31px; height:31px; color:#d8bb83; margin:0 auto 9px; }
.winecellar-product-layout--mockup .wcm-membership-benefits span { font-size:14px; line-height:1.25; }
.winecellar-product-layout--mockup .wcm-membership-cta { display:grid; gap:8px; border-left:1px solid #aa7b6c; padding-left:28px; text-align:center; }
.winecellar-product-layout--mockup .wcm-membership-cta a { height:34px; display:flex; align-items:center; justify-content:center; gap:12px; border-radius:3px; color:#413118; background:linear-gradient(110deg,#b49255,#dbc18b); font-size:11px; letter-spacing:1.4px; text-decoration:none; }
.winecellar-product-layout--mockup .wcm-membership-cta .wcm-icon { width:18px; height:18px; }
.winecellar-product-layout--mockup .wcm-membership-cta strong { font-size:30px; font-weight:500; line-height:1; }
.winecellar-product-layout--mockup .wcm-reference-thumb { display:block; width:100%; height:100%; background:url('../images/product-reference-sprite.png') no-repeat; background-size:1435px 1096px; }
.winecellar-product-layout--mockup .wcm-reference-thumb--0 { background-position:-50px -97px; }
.winecellar-product-layout--mockup .wcm-reference-thumb--1 { background-position:-49px -223px; }
.winecellar-product-layout--mockup .wcm-reference-thumb--2 { background-position:-49px -332px; }
.winecellar-product-layout--mockup .wcm-reference-thumb--3 { background-position:-49px -440px; }
.winecellar-product-layout--mockup .wcm-main-image--reference { position:relative; container-type:inline-size; }
.winecellar-product-layout--mockup .wcm-main-image--reference::before { content:''; position:absolute; top:50%; left:0; width:100cqw; height:79.935275cqw; transform:translateY(-50%); background:url('../images/product-reference-sprite.png') -24.271845cqw -15.372168cqw / 232.200647cqw 177.346278cqw no-repeat; }
.winecellar-product-layout--mockup .wcm-main-image--reference > img { visibility:hidden; }
.winecellar-product-layout--mockup .wcm-lightbox,.winecellar-product-layout--mockup .wcm-favourites { border:1px solid var(--wcm-line); border-radius:8px; padding:30px; max-width:95vw; max-height:94vh; color:inherit; background:#fcfaf6; }
.winecellar-product-layout--mockup dialog::backdrop { background:#130b10b0; }
.winecellar-product-layout--mockup .wcm-lightbox img { max-width:85vw; max-height:80vh; object-fit:contain; }
.winecellar-product-layout--mockup dialog > button { position:absolute; top:5px; right:12px; background:none; border:0; font-size:28px; cursor:pointer; }
.winecellar-product-layout--mockup .wcm-favourites a { display:block; padding:12px 0; border-bottom:1px solid var(--wcm-line); }
.winecellar-product-layout--mockup :is(button,a,input):focus-visible { outline:2px solid var(--wcm-gold); outline-offset:3px; }
@media(max-width:1250px) {
  .winecellar-product-layout--mockup .wcm-wordmark { width:185px; }
  .winecellar-product-layout--mockup .wcm-nav { gap:24px; }
  .winecellar-product-layout--mockup .wcm-search { width:190px; }
  .winecellar-product-layout--mockup .wcm-hero { gap:28px; }
  .winecellar-product-layout--mockup .wcm-title { font-size:33px; }
  .winecellar-product-layout--mockup .wcm-assurances { grid-template-columns:repeat(2,1fr); gap:10px; }
  .winecellar-product-layout--mockup .wcm-info-card { padding:0 16px; }
  .winecellar-product-layout--mockup .wcm-profile dl > div { grid-template-columns:100px 1fr; }
  .winecellar-product-layout--mockup .wcm-dots { gap:6px; }
  .winecellar-product-layout--mockup .wcm-details dl > div { grid-template-columns:100px minmax(0,1fr); }
  .winecellar-product-layout--mockup .wcm-membership { padding-left:160px; grid-template-columns:1fr 1fr 200px; gap:12px; }
  .winecellar-product-layout--mockup .wcm-membership-copy h2 { font-size:28px; white-space:normal; }
  .winecellar-product-layout--mockup .wcm-membership-copy > span { font-size:13px; white-space:normal; }
  .winecellar-product-layout--mockup .wcm-membership-benefits { gap:6px; }
  .winecellar-product-layout--mockup .wcm-expert-score { min-width:200px; padding-left:24px; }
}
@media(max-width:1000px) {
  .winecellar-product-layout--mockup .wcm-nav { display:none; }
  .winecellar-product-layout--mockup .wcm-header { height:62px; }
  .winecellar-product-layout--mockup .wcm-hero { grid-template-columns:1fr 1fr; gap:24px; }
  .winecellar-product-layout--mockup .wcm-gallery { grid-template-columns:65px 1fr; height:440px; gap:9px; }
  .winecellar-product-layout--mockup .wcm-thumbnail { width:65px; height:85px; }
  .winecellar-product-layout--mockup .wcm-thumbnail:first-child { height:95px; }
  .winecellar-product-layout--mockup .wcm-thumbnail-list { height:390px; }
  .winecellar-product-layout--mockup .wcm-main-image { height:440px; }
  .winecellar-product-layout--mockup .wcm-title { font-size:29px; }
  .winecellar-product-layout--mockup .wcm-cart-form { grid-template-columns:115px 1fr; gap:10px; }
  .winecellar-product-layout--mockup .wcm-buy-button { font-size:12px; gap:8px; letter-spacing:.8px; }
  .winecellar-product-layout--mockup .wcm-tier { grid-template-columns:minmax(65px,.8fr) minmax(0,1fr); padding:12px 10px; }
  .winecellar-product-layout--mockup .wcm-tier-count { grid-row:1/3; }
  .winecellar-product-layout--mockup .wcm-tier-unit { justify-content:flex-end; }
  .winecellar-product-layout--mockup .wcm-tier-total { grid-column:2; }
  .winecellar-product-layout--mockup .wcm-price { gap:12px; }
  .winecellar-product-layout--mockup .wcm-price strong { font-size:34px; }
  .winecellar-product-layout--mockup .wcm-information { grid-template-columns:repeat(2,1fr); gap:24px 0; }
  .winecellar-product-layout--mockup .wcm-info-card:nth-child(2) { border:0; }
  .winecellar-product-layout--mockup .wcm-expert { flex-wrap:wrap; }
  .winecellar-product-layout--mockup .wcm-membership { padding-left:120px; grid-template-columns:1fr 210px; gap:16px; }
  .winecellar-product-layout--mockup .wcm-membership-benefits { grid-column:1; grid-row:2; }
  .winecellar-product-layout--mockup .wcm-membership-cta { grid-column:2; grid-row:1/3; }
}
@media(max-width:700px) {
  .winecellar-product-layout--mockup .wcm-wordmark { width:auto; font-size:28px; }
  .winecellar-product-layout--mockup .wcm-header-actions { gap:15px; }
  .winecellar-product-layout--mockup .wcm-search { display:none; }
  .winecellar-product-layout--mockup .woocommerce .woocommerce-breadcrumb { height:auto; min-height:44px; flex-wrap:wrap; }
  .winecellar-product-layout--mockup .wcm-hero { margin:0 0 24px; grid-template-columns:1fr; gap:25px; }
  .winecellar-product-layout--mockup .wcm-gallery { height:370px; grid-template-columns:64px 1fr; }
  .winecellar-product-layout--mockup .wcm-main-image { height:370px; }
  .winecellar-product-layout--mockup .wcm-thumbnail-list { height:325px; }
  .winecellar-product-layout--mockup .wcm-title { font-size:32px; }
  .winecellar-product-layout--mockup .wcm-purchase { padding:0; }
  .winecellar-product-layout--mockup .wcm-quantity-options { padding:13px; }
  .winecellar-product-layout--mockup .wcm-quantity-heading { align-items:flex-start; }
  .winecellar-product-layout--mockup .wcm-quantity-heading h2 { font-size:23px; }
  .winecellar-product-layout--mockup .wcm-cart-form { grid-template-columns:110px 1fr; }
  .winecellar-product-layout--mockup .wcm-quantity { grid-template-columns:30px 1fr 30px; }
  .winecellar-product-layout--mockup .wcm-price strong { font-size:37px; }
  .winecellar-product-layout--mockup .wcm-price del { font-size:22px; }
  .winecellar-product-layout--mockup .wcm-price > span { font-size:12px; }
  .winecellar-product-layout--mockup .wcm-assurances { grid-template-columns:repeat(2,1fr); gap:15px; }
  .winecellar-product-layout--mockup .wcm-information { grid-template-columns:1fr; gap:0; }
  .winecellar-product-layout--mockup .wcm-info-card { padding:20px 0; border-right:0; border-bottom:1px solid var(--wcm-line); }
  .winecellar-product-layout--mockup .wcm-info-card:nth-child(2) { border-bottom:1px solid var(--wcm-line); }
  .winecellar-product-layout--mockup .wcm-details dl > div { grid-template-columns:minmax(110px,.8fr) 1fr; }
  .winecellar-product-layout--mockup .wcm-expert { padding:18px; gap:12px; }
  .winecellar-product-layout--mockup .wcm-expert-title { width:calc(100% - 60px); }
  .winecellar-product-layout--mockup .wcm-expert-score { border:0; padding:0; }
  .winecellar-product-layout--mockup .wcm-expert-source { display:none; }
  .winecellar-product-layout--mockup .wcm-expert--editorial .wcm-expert-source { display:block; margin-left:0; text-align:left; width:100%; }
  .winecellar-product-layout--mockup .wcm-membership { padding:25px; grid-template-columns:1fr; gap:20px; }
  .winecellar-product-layout--mockup .wcm-membership-copy h2 { font-size:32px; }
  .winecellar-product-layout--mockup .wcm-membership-benefits,.winecellar-product-layout--mockup .wcm-membership-cta { grid-column:auto; grid-row:auto; }
  .winecellar-product-layout--mockup .wcm-membership-cta { border:0; padding:0; }
}
@media(prefers-reduced-motion:reduce) { .winecellar-product-layout--mockup * { scroll-behavior:auto; } }

/* Readability upgrade: explicit sizes also override the old mobile reductions. */
.winecellar-product-layout--mockup .wcm-standalone-visual { display:block; width:80px; height:80px; margin:0 auto 5px; overflow:visible; }
.winecellar-product-layout--mockup .wcm-standalone-visual img { position:static; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; }
.winecellar-product-layout--mockup .wcm-food-image.wcm-standalone-visual { overflow:hidden; border-radius:50%; }
.winecellar-product-layout--mockup .wcm-food-image.wcm-standalone-visual img { object-fit:cover; }
.winecellar-product-layout--mockup { font-size:17px; line-height:1.5; }
.winecellar-product-layout--mockup .woocommerce .woocommerce-breadcrumb { font-size:14px; height:auto; min-height:48px; flex-wrap:wrap; padding-block:10px; }
.winecellar-product-layout--mockup .wcm-search input { font-size:14px; }
.winecellar-product-layout--mockup .wcm-rating-row { height:auto; min-height:28px; flex-wrap:wrap; gap:6px 0; }
.winecellar-product-layout--mockup :is(.wcm-review-count,.wcm-sku,.wcm-origin) { font-size:15px; line-height:1.5; }
.winecellar-product-layout--mockup .wcm-origin { flex-wrap:wrap; }
.winecellar-product-layout--mockup .wcm-price > span { font-size:17px; }
.winecellar-product-layout--mockup .wcm-quantity-heading { flex-wrap:wrap; }
.winecellar-product-layout--mockup .wcm-quantity-heading h2 { font-size:28px; }
.winecellar-product-layout--mockup .wcm-quantity-heading > span { font-size:14px; color:#554b42; }
.winecellar-product-layout--mockup .wcm-quantity-options > p { font-size:16px; line-height:1.55; color:#554b42; }
.winecellar-product-layout--mockup .wcm-tier { padding-block:18px; }
.winecellar-product-layout--mockup .wcm-tier-count b { font-size:18px; }
.winecellar-product-layout--mockup .wcm-tier-count small { font-size:12px; color:#554b42; }
.winecellar-product-layout--mockup .wcm-tier-unit { font-size:16px; }
.winecellar-product-layout--mockup .wcm-tier-unit del { font-size:14px; color:#665c51; }
.winecellar-product-layout--mockup .wcm-tier-unit small { font-size:13px; color:#554b42; }
.winecellar-product-layout--mockup .wcm-tier-total { font-size:17px; }
.winecellar-product-layout--mockup .wcm-tier-total small { font-size:13px; color:#216953; }
.winecellar-product-layout--mockup .wcm-buy-button { font-size:18px; line-height:1.4; letter-spacing:1px; padding-block:12px; }
.winecellar-product-layout--mockup .wcm-value-strip { padding-block:14px; }
.winecellar-product-layout--mockup .wcm-value-strip span { font-size:16px; }
.winecellar-product-layout--mockup .wcm-value-strip b { font-size:21px; }
.winecellar-product-layout--mockup .wcm-assurances { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.winecellar-product-layout--mockup .wcm-assurances > div { font-size:16px; line-height:1.5; }
.winecellar-product-layout--mockup .wcm-info-card { padding-inline:20px; }
.winecellar-product-layout--mockup .wcm-info-card h2 { font-size:24px; }
.winecellar-product-layout--mockup .wcm-info-card p { font-size:18px; line-height:1.6; }
.winecellar-product-layout--mockup .wcm-profile dl > div { grid-template-columns:minmax(0,1fr) auto; gap:8px; font-size:16px; }
.winecellar-product-layout--mockup .wcm-dots { gap:7px; }
.winecellar-product-layout--mockup .wcm-info-card figcaption { font-size:16px; line-height:1.45; }
.winecellar-product-layout--mockup .wcm-food-grid figcaption { max-width:none; }
.winecellar-product-layout--mockup .wcm-details dl { gap:10px; }
.winecellar-product-layout--mockup .wcm-details dl > div { grid-template-columns:minmax(0,.85fr) minmax(0,1fr); font-size:16px; line-height:1.5; }
.winecellar-product-layout--mockup .wcm-details dt { overflow-wrap:anywhere; }
.winecellar-product-layout--mockup .wcm-expert { flex-wrap:wrap; padding-block:18px; }
.winecellar-product-layout--mockup .wcm-expert :is(p,blockquote) { font-size:17px; line-height:1.55; }
.winecellar-product-layout--mockup .wcm-expert .wcm-expert-source { font-size:15px; }
.winecellar-product-layout--mockup .wcm-membership-copy > span { font-size:18px; line-height:1.5; }
.winecellar-product-layout--mockup .wcm-membership-benefits span { font-size:16px; line-height:1.5; }
.winecellar-product-layout--mockup .wcm-membership-cta a { height:auto; min-height:46px; padding:10px; font-size:14px; letter-spacing:.5px; }
@media(max-width:1000px) {
  .winecellar-product-layout--mockup .wcm-information { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }
  .winecellar-product-layout--mockup .wcm-info-card:nth-child(2) { border-right:0; }
}
@media(max-width:700px) {
  .winecellar-product-layout--mockup .wcm-information { grid-template-columns:1fr; gap:0; }
  .winecellar-product-layout--mockup .wcm-info-card { padding-inline:0; }
  .winecellar-product-layout--mockup .wcm-tier { grid-template-columns:minmax(0,.65fr) minmax(0,1fr); }
  .winecellar-product-layout--mockup .wcm-buy-button { font-size:16px; letter-spacing:.3px; gap:10px; padding-inline:10px; }
  .winecellar-product-layout--mockup .wcm-value-strip > * { padding-inline:6px; }
  .winecellar-product-layout--mockup .wcm-value-strip span { font-size:15px; }
  .winecellar-product-layout--mockup .wcm-value-strip b { font-size:18px; }
}
