/* Optional Kassevalg composition; never loaded for the two existing layouts. */
.winecellar-product-layout--collection { font-family:var(--wc-sans,Arial,sans-serif); background:var(--wc-theme-surface); color:var(--wc-theme-charcoal); }
.winecellar-product-layout--collection .wcm-header { font-family:Arial,sans-serif; }
.winecellar-product-layout--collection .wcc-hero { grid-template-columns:minmax(0,.92fr) minmax(0,1.25fr); gap:38px; margin:12px 0 48px; }
.winecellar-product-layout--collection .wcm-hero--no-gallery { grid-template-columns:1fr; }
.winecellar-product-layout--collection .wcc-stage { position:relative; background:var(--wc-theme-cream); border-radius:12px; overflow:hidden; }
.winecellar-product-layout--collection .wcm-main-image { height:570px; border-radius:12px; background:radial-gradient(ellipse at 65% 30%,var(--wc-theme-surface),var(--wc-theme-border)); }
.winecellar-product-layout--collection .wcm-main-image img { object-fit:contain; height:100%; width:100%; }
.winecellar-product-layout--collection .wcc-awards { position:absolute; top:20px; left:16px; display:grid; gap:10px; color:var(--wc-theme-white); text-decoration:none; }
.wcc-awards > span { width:86px; min-height:86px; border-radius:50%; background:var(--wc-theme-burgundy); border:2px solid var(--wc-theme-gold); box-shadow:0 2px 8px color-mix(in srgb, var(--wc-theme-black) 13.3%, transparent); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:9px; text-align:center; }
.wcc-awards b { font:700 28px/1.1 Georgia,serif; }.wcc-awards small { font:12px Arial,sans-serif; }.wcc-awards em { font:10px/1.3 Arial,sans-serif; margin-top:4px; overflow-wrap:anywhere; }
.winecellar-product-layout--collection .wcc-thumbnails { height:auto; flex-direction:row; overflow:auto; padding:12px 0; }
.winecellar-product-layout--collection .wcc-thumbnails .wcm-thumbnail { width:66px; height:72px; flex:none; }
.winecellar-product-layout--collection .wcc-origin { margin:0 0 10px; font-size:12px; font-weight:700; color:var(--wc-theme-muted); letter-spacing:.07em; text-transform:uppercase; }
.winecellar-product-layout--collection .wcm-title { margin:0 0 16px; font:600 clamp(26px,2.4vw,36px)/1.16 Georgia,serif; letter-spacing:-.02em; }
.wcc-rating { display:flex; gap:8px; align-items:center; font:14px/1.4 Arial,sans-serif; color:var(--wc-theme-muted); }.wcc-rating .wcm-icon { color:var(--wc-theme-gold); width:18px; }.wcc-rating span { padding-left:10px; border-left:1px solid var(--wc-theme-border); }
.wcc-price-row { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:14px; }
.winecellar-product-layout--collection .wcm-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin:0; }
.winecellar-product-layout--collection .wcm-price strong { font:700 clamp(38px,4vw,54px)/1.15 Arial,sans-serif; color:var(--wc-theme-burgundy); }
.winecellar-product-layout--collection .wcm-price > span { font:13px/1.5 Arial,sans-serif; }
.wcc-stock p { margin:0; font-size:12px; font-weight:700; }.wcc-stock .in-stock { color:var(--wc-theme-success-dark); border:1px solid var(--wc-theme-gold-light); padding:6px 10px; border-radius:3px; }.wcc-stock .available-on-backorder { color:var(--wc-theme-gold-dark); }
.wcc-normal { font-size:14px; color:var(--wc-theme-muted); margin:8px 0 22px; }
.winecellar-product-layout--collection .wcm-cart-form { display:block; margin:0; }
.winecellar-product-layout--collection .winecellar-mix-match { margin:0 0 11px; padding:9px 12px; border-color:var(--wc-theme-border); border-radius:8px; background:linear-gradient(110deg,var(--wc-theme-paper),var(--wc-theme-white) 72%); box-shadow:none; }
.winecellar-product-layout--collection .winecellar-mix-match:before { margin-bottom:5px; }
.winecellar-product-layout--collection .winecellar-mix-match__choice strong { font-size:14px; }
.winecellar-product-layout--collection .winecellar-mix-match__choice small { font-size:12px; }
.winecellar-product-layout--collection .winecellar-mix-match__progress { margin-top:6px; }
.wcc-options { margin:0 0 16px; }.wcc-options-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; margin:0 0 12px; }.wcc-options-heading h2 { font:600 16px/1.4 Arial,sans-serif; margin:0; }.wcc-options-heading > span { font-size:12px; color:var(--wc-theme-muted); }
.wcc-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.winecellar-product-layout--collection .wcc-case { display:flex; flex-direction:column; align-items:stretch; justify-content:initial; min-width:0; min-height:155px; border:1px solid var(--wc-theme-border); border-radius:9px; padding:0; gap:0; overflow:hidden; background:var(--wc-theme-white); color:var(--wc-theme-charcoal); cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.wcc-case:hover { border-color:var(--wc-theme-burgundy); }.winecellar-product-layout--collection .wcc-case.is-selected { border:2px solid var(--wc-theme-burgundy); background:var(--wc-theme-white); box-shadow:0 0 0 3px color-mix(in srgb, var(--wc-theme-burgundy) 4.31%, transparent); }
.wcc-case:focus-visible, .wcc-more summary:focus-visible { outline:3px solid var(--wc-theme-gold); outline-offset:3px; }.wcc-case:disabled { opacity:.45; cursor:not-allowed; }
.wcc-case-art { position:relative; height:92px; display:flex; justify-content:center; align-items:center; padding:8px 6px; background:linear-gradient(var(--wc-theme-surface),var(--wc-theme-surface-warm)); overflow:hidden; }
.wcc-case-art img { display:block; width:25%; max-width:45px; min-width:0; height:80px; object-fit:contain; margin-inline:-4px; }.wcc-case-art img:only-of-type { width:68px; max-width:68px; margin:0; }.wcc-case-art em { position:absolute; right:5px; bottom:6px; padding:3px 5px; border-radius:3px; background:var(--wc-theme-gold-light); color:var(--wc-theme-burgundy-dark); font:bold 11px Arial,sans-serif; }
.wcc-case-label { border-top:1px solid var(--wc-theme-burgundy-pale); padding:7px 2px 3px; font:700 15px/1.3 Arial,sans-serif; }.wcc-case-price { padding:0 2px 7px; font:600 13px/1.3 Arial,sans-serif; }.wcc-case-price small { font-weight:400; font-size:11px; }
.wcc-case.is-selected .wcc-case-label,.wcc-case.is-selected .wcc-case-price { background:var(--wc-theme-burgundy); color:var(--wc-theme-white); }
.wcc-more { margin-top:10px; }.wcc-more summary { cursor:pointer; font:13px/1.5 Arial,sans-serif; color:var(--wc-theme-burgundy); }.wcc-more .wcc-cases { margin-top:10px; }
.wcc-cart-row { display:grid; grid-template-columns:142px minmax(0,1fr) 50px; gap:12px; align-items:stretch; }
.winecellar-product-layout--collection .wcc-cart-row .wcm-buy-button { grid-column:auto; }
.winecellar-product-layout--collection .wcm-quantity { width:100%; height:52px; grid-template-columns:36px minmax(0,1fr) 36px; background:var(--wc-theme-surface-warm); border-radius:4px; border:1px solid var(--wc-theme-border); }
.winecellar-product-layout--collection .wcm-quantity button { width:100%; min-width:0; font:22px Arial,sans-serif; }.winecellar-product-layout--collection .wcm-quantity input { min-width:0; width:100%; font:16px Arial,sans-serif; }
.winecellar-product-layout--collection .wcm-buy-button { height:52px; min-height:52px; border-radius:4px; font:700 17px Arial,sans-serif; letter-spacing:0; gap:10px; padding:10px; }.winecellar-product-layout--collection .wcm-buy-button .wcm-icon { width:22px; }
.winecellar-product-layout--collection .wcm-save-product { display:flex; align-items:center; justify-content:center; margin:0; padding:0; border:1px solid var(--wc-theme-border); border-radius:4px; color:var(--wc-theme-burgundy); background:transparent; width:50px; cursor:pointer; }.winecellar-product-layout--collection .wcm-save-product[aria-pressed=true] { background:var(--wc-theme-burgundy-pale); }
.wcc-order-value { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:13px 0; font:14px/1.5 Arial,sans-serif; border-bottom:1px solid var(--wc-theme-burgundy-pale); }.wcc-order-value span:last-child { color:var(--wc-theme-success-dark); }.wcc-order-value b { margin-left:5px; }
.wcc-member { display:block; margin:16px 0 0; padding:14px 16px; border-left:3px solid var(--wc-theme-gold); background:var(--wc-theme-cream); border-radius:0 5px 5px 0; color:var(--wc-theme-burgundy-dark); text-decoration:none; font:13px/1.6 Arial,sans-serif; }.wcc-member > span { display:block; }.wcc-member > span:first-child { display:flex; gap:8px; align-items:center; margin-bottom:3px; }.wcc-member .wcm-icon { width:19px; height:19px; color:var(--wc-theme-gold-dark); }.wcc-member em { display:block; color:var(--wc-theme-burgundy); font-weight:700; font-style:normal; }
.winecellar-product-layout--collection .wcm-assurances { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0 0; font:12px/1.45 Arial,sans-serif; }.winecellar-product-layout--collection .wcm-assurances > div { gap:8px; }.winecellar-product-layout--collection .wcm-assurances .wcm-icon { width:22px; height:22px; }
.wcc-sku { color:var(--wc-theme-soft-text); font-size:11px; margin:14px 0 0; }
.winecellar-product-layout--collection .wcc-case { text-align:center; }
.winecellar-product-layout--collection .wcc-case:last-child { border-bottom:1px solid var(--wc-theme-border); }
.winecellar-product-layout--collection .wcc-case.is-selected:last-child { border-bottom:2px solid var(--wc-theme-burgundy); }
.winecellar-product-layout--collection .wcm-save-product,
.winecellar-product-layout--collection .wcm-save-product:focus { position:static; width:100%; max-width:50px; min-width:0; height:52px; margin:0; overflow:visible; clip-path:none; }
.winecellar-product-layout--collection .wcm-save-product .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); var(--wc-theme-white)-space:nowrap; border:0; }
.winecellar-product-layout--collection .wcm-info-card h2,.winecellar-product-layout--collection .wcm-expert-title h2 { font-family:Georgia,serif; }.winecellar-product-layout--collection .wcm-info-card p { font:16px/1.6 Arial,sans-serif; }
@media(max-width:1000px) { .winecellar-product-layout--collection .wcc-hero { gap:24px; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); }.winecellar-product-layout--collection .wcm-main-image { height:490px; }.wcc-cases { gap:8px; }.wcc-cart-row { grid-template-columns:115px minmax(0,1fr) 44px; gap:8px; }.winecellar-product-layout--collection .wcm-save-product { width:44px; }.winecellar-product-layout--collection .wcm-buy-button { font-size:15px; }.winecellar-product-layout--collection .wcm-assurances { grid-template-columns:1fr; gap:10px; } }
@media(max-width:760px) { .winecellar-product-layout--collection .wcc-hero { grid-template-columns:1fr; gap:22px; }.winecellar-product-layout--collection .wcm-main-image { height:420px; }.winecellar-product-layout--collection .wcm-title { font-size:29px; }.wcc-cart-row { grid-template-columns:110px minmax(0,1fr) 44px; }.winecellar-product-layout--collection .wcm-assurances { grid-template-columns:repeat(3,minmax(0,1fr)); font-size:11px; }.winecellar-product-layout--collection .wcm-assurances > div { flex-direction:column; align-items:flex-start; }.wcc-awards > span { width:72px; min-height:72px; }.wcc-awards b { font-size:24px; }.wcc-awards em { font-size:9px; } }
@media(max-width:380px) { .wcc-cart-row { grid-template-columns:100px minmax(0,1fr); }.winecellar-product-layout--collection .wcm-save-product { width:40px; height:40px; grid-column:2; justify-self:end; }.winecellar-product-layout--collection .wcm-buy-button .wcm-icon { display:none; }.winecellar-product-layout--collection .wcm-main-image { height:350px; }.wcc-case-label { font-size:13px; }.wcc-case-price { font-size:11px; } }

/* Compact purchase steps inside a padded canvas; desktop columns share their height. */
.winecellar-product-layout--collection .site-main>.woocommerce{padding:clamp(20px,2.5vw,36px);border-radius:12px}
.winecellar-product-layout--collection .wcc-hero{align-items:stretch;gap:clamp(24px,3vw,44px);margin-top:12px;margin-bottom:40px;min-height:0}
.winecellar-product-layout--collection .wcc-gallery{display:flex;flex-direction:column;min-width:0}
.winecellar-product-layout--collection .wcc-stage{display:flex;flex:1;min-height:560px}
.winecellar-product-layout--collection .wcm-main-image{display:block;position:relative;flex:1;width:100%;height:auto;min-height:0}
.winecellar-product-layout--collection .wcm-main-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.winecellar-product-layout--collection .wcc-origin{line-height:1.5;margin-bottom:8px}
.winecellar-product-layout--collection .wcm-title{line-height:1.16;margin-bottom:8px;font-size:clamp(25px,2.3vw,34px)}
.winecellar-product-layout--collection .wcc-price-row{margin-top:10px;gap:12px}
.winecellar-product-layout--collection .wcm-price strong{font-size:clamp(36px,3.5vw,48px)}
.winecellar-product-layout--collection .wcc-normal{margin:6px 0 16px;line-height:1.5}
.winecellar-product-layout--collection .wcc-options{margin-bottom:10px}
.wcc-options-heading{margin-bottom:10px;gap:8px}
.wcc-options-heading h2{font-size:16px;line-height:1.4}
.wcc-cases{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.winecellar-product-layout--collection .wcc-case{display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-rows:1fr 1fr;column-gap:10px;min-height:88px;padding:8px;text-align:left}
.winecellar-product-layout--collection .wcc-case-art{grid-column:1;grid-row:1/-1;height:68px;min-height:68px;padding:2px;flex:none;border-radius:4px}
.winecellar-product-layout--collection .wcc-case-art img{flex:1;min-width:0;width:0;max-width:none;height:64px;object-fit:cover;object-position:center;margin:0}
.winecellar-product-layout--collection .wcc-case-art img:only-of-type{flex:none;width:58px;max-width:58px;margin:0}
.winecellar-product-layout--collection .wcc-case-label{grid-column:2;grid-row:1;align-self:end;border:0;padding:0;font-size:14px}
.winecellar-product-layout--collection .wcc-case-price{grid-column:2;grid-row:2;align-self:start;padding:2px 0 0;font-size:13px}
.winecellar-product-layout--collection .wcc-case.is-selected{background:var(--wc-theme-burgundy);color:var(--wc-theme-white)}
.wcc-member-tile{grid-column:1/-1;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:12px 14px;border:1px solid var(--wc-theme-gold);border-radius:8px;background:var(--wc-theme-cream);color:var(--wc-theme-burgundy);text-align:left;font:14px/1.45 var(--wc-sans,Arial,sans-serif);min-width:0}
.wcc-member-tile>.wcm-icon{grid-column:1;grid-row:1/3;width:24px;height:24px;color:var(--wc-theme-gold-dark)}
.wcc-member-tile__title{grid-column:2;grid-row:1;font-size:16px}
.wcc-member-tile__benefits{grid-column:2;grid-row:2}
.wcc-member-tile__price{grid-column:3;grid-row:1;font-size:18px;text-align:right}
.wcc-member-tile__price small{font-size:12px;font-weight:400}
.winecellar-product-layout--collection .wcc-member-tile :is(a,.wcc-add-membership){grid-column:3;grid-row:2;display:inline-flex;justify-content:center;align-items:center;width:auto;min-height:44px;padding:8px 12px;margin:0;border:0;border-radius:6px;background:var(--wc-theme-burgundy);color:var(--wc-theme-white);font:700 13px/1.4 var(--wc-sans,Arial,sans-serif);text-decoration:none;cursor:pointer}
.wcc-member-tile [aria-disabled=true]{opacity:.6;pointer-events:none}
.wcc-member-tile :is(a,button):focus-visible{outline:3px solid var(--wc-theme-gold);outline-offset:3px}
.wcc-member-tile [data-wcc-membership-status]{grid-column:2/-1;grid-row:3;color:var(--wc-theme-burgundy);font-size:13px}
.wcc-member-tile [data-wcc-membership-status]:empty{display:none}
.wcc-case-rule{margin:10px 0 0;font:13px/1.5 var(--wc-sans,Arial,sans-serif);color:var(--wc-theme-muted)}
/* Keep the fee sentence inline even when WooCommerce wraps its price in spans. */
.winecellar-product-layout--collection .winecellar-mix-match-note{display:block;position:relative;padding-left:17px;margin:10px 0 12px;font-size:13px;line-height:1.5}
.winecellar-product-layout--collection .winecellar-mix-match-note:before{position:absolute;left:0;top:.5em;margin:0}
.winecellar-product-layout--collection .wcc-order-value{margin-top:8px;padding-block:10px;line-height:1.5}
.winecellar-product-layout--collection .wcm-assurances{margin-top:12px;padding-top:0;gap:12px}
.winecellar-product-layout--collection .wcm-assurances>div{font-size:13px;line-height:1.45;gap:8px}
.winecellar-product-layout--collection .wcc-sku{margin-top:10px;margin-bottom:0}
@media(min-width:761px) and (max-width:1100px){.winecellar-product-layout--collection .wcc-case{grid-template-columns:92px minmax(0,1fr)}.winecellar-product-layout--collection .wcc-case-art img:not(:only-of-type){height:56px}}
@media(max-width:760px){
 .winecellar-product-layout--collection .site-main>.woocommerce{padding:16px}
 .winecellar-product-layout--collection .wcc-hero{margin-top:8px;gap:24px}
 .winecellar-product-layout--collection .wcc-gallery,.winecellar-product-layout--collection .wcc-stage{display:block;min-height:0}
 .winecellar-product-layout--collection .wcm-main-image{height:380px;min-height:0}
 .winecellar-product-layout--collection .wcm-title{font-size:28px;line-height:1.2}
 .winecellar-product-layout--collection .wcc-case{display:flex;flex-direction:column;min-height:140px;padding:0;text-align:center}
 .winecellar-product-layout--collection .wcc-case-art{width:100%;min-height:80px;flex:1}
 .winecellar-product-layout--collection .wcc-case-art img{max-width:none;height:72px}
 .winecellar-product-layout--collection .wcc-case-art img:only-of-type{width:64px;max-width:64px}
 .winecellar-product-layout--collection .wcc-case-label{align-self:stretch;padding:6px 2px 2px}
 .winecellar-product-layout--collection .wcc-case-price{align-self:stretch;padding:0 2px 6px}
 .wcc-member-tile{padding:16px;grid-template-columns:24px minmax(0,1fr)}
 .wcc-member-tile>.wcm-icon{grid-row:1}
 .wcc-member-tile__title{grid-column:2;grid-row:1}
 .wcc-member-tile__benefits{grid-column:1/-1;grid-row:2}
 .wcc-member-tile__price{grid-column:1/-1;grid-row:3;text-align:left}
 .winecellar-product-layout--collection .wcc-member-tile :is(a,.wcc-add-membership){grid-column:1/-1;grid-row:4}
 .wcc-member-tile [data-wcc-membership-status]{grid-column:1/-1;grid-row:5}
}
@media(max-width:380px){.winecellar-product-layout--collection .wcm-main-image{height:320px}}
