/* Shared four-product marketplace layout; no horizontal card carousel. */
.cart-drawer { z-index:100001; }
.cart-overlay { z-index:100000; }
.shop-grid, .cs-shop-page ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-flow:row; grid-auto-columns:auto; gap:20px; overflow:visible; scroll-snap-type:none; }
.shop-product-card, .cs-shop-page ul.products li.product { min-width:0; display:flex; flex-direction:column; background:#fff; border:1px solid #dce7f2; border-radius:20px; overflow:hidden; padding:0; margin:0; width:auto; }
.cs-shop-page ul.products::before,.cs-shop-page ul.products::after { display:none; }
.cs-shop-page ul.products .cs-market-card { list-style:none; }
.cs-shop-page .cs-shop-catalog { max-width:1180px; margin-inline:auto; }
.shop-product-media { min-height:0; height:280px; padding:22px 16px 14px; gap:12px; }
.shop-product-tag { font-size:10px; line-height:1.4; background:#fff; }
.shop-product-bottles { height:220px; padding:0; gap:10px; align-items:center; }
.shop-product-bottles img, .shop-product-bottles[data-count] img { height:220px; min-width:0; width:auto; object-fit:contain; filter:none; box-shadow:none; }
.shop-product-media > img { height:220px; width:100%; object-fit:contain; filter:none; box-shadow:none; }
.shop-product-copy { display:flex; flex:1; flex-direction:column; padding:16px; }
.shop-product-copy h3 { font-size:19px; line-height:1.3; overflow-wrap:anywhere; }
.shop-product-copy > p, .cs-market-description { font-size:14px; line-height:1.5; margin:10px 0; color:#596b81; }
.shop-product-meta { flex-wrap:wrap; gap:4px 8px; }
.shop-price { margin-top:auto; padding-top:14px; font-size:23px; }
.shop-add { margin-top:8px; }
.cs-shop-page ul.products li.product > a.woocommerce-LoopProduct-link { display:flex; flex:1; flex-direction:column; padding:16px; }
.cs-shop-page ul.products li.product a .cs-loop-bottles { height:244px; margin:0 0 16px; padding:12px 0; align-items:center; gap:10px; }
.cs-shop-page ul.products li.product a .cs-loop-bottles img, .cs-shop-page ul.products li.product a .cs-loop-bottles[data-count] img { height:220px; min-width:0; width:auto; object-fit:contain; filter:none; box-shadow:none; }
.cs-shop-page ul.products li.product a > img { height:244px; width:100%; object-fit:contain; padding:12px; margin-bottom:16px; filter:none; box-shadow:none; background:#fff; }
.cs-shop-page ul.products li.product .woocommerce-loop-product__title { font-size:19px; line-height:1.3; }
.cs-shop-page ul.products li.product .price { font-size:23px; color:#062b59; }
.cs-shop-page ul.products li.product > .button { margin:0 16px 16px; width:auto; text-align:center; }
.reviews-section { display:block; background:#fff; color:#0a2346; padding:80px 0; }
.reviews-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.review-card { background:#fff; min-width:0; }
.review-card blockquote { font-size:16px; line-height:1.75; }
.cs-preview-note { border-left:3px solid #247bf1; padding:12px; background:#f4f8ff; }
.hero-media-overlay { background:linear-gradient(90deg,rgba(3,25,53,.61),rgba(4,31,65,.40) 65%,rgba(5,35,72,.10)); }
.offer-bottles[data-count="1"] .hero-bottle { height:253px; }
.offer-bottles[data-count="2"] .hero-bottle { height:242px; }
.offer-bottles[data-count="3"] .hero-bottle { height:231px; }
.cs-shop-hero { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; background:#f2f7fc; overflow:hidden; }
.cs-catalog-intro { padding:clamp(24px,4vw,64px); display:flex; flex-direction:column; justify-content:center; }
.cs-shop-heading { display:block; }
.cs-shop-heading h1 { font-size:clamp(32px,4.5vw,64px); line-height:1.08; }
.cs-shop-heading p { margin-top:24px; max-width:40ch; }
.cs-catalog-slider { min-width:0; position:relative; aspect-ratio:1.46; background:#edf0f3; touch-action:pan-y; }
.cs-catalog-slides { position:absolute; inset:0; overflow:hidden; }
.cs-catalog-slides img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity .65s ease; }
.cs-catalog-slides img.is-active { opacity:1; }
.cs-catalog-controls { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; padding:4px 8px; border-radius:30px; background:rgba(255,255,255,.94); color:#062b59; }
.cs-catalog-controls button { width:44px; height:44px; border:0; background:transparent; color:inherit; cursor:pointer; }
.cs-catalog-controls span { white-space:nowrap; font-size:13px; }
@media(max-width:1000px) {
 .shop-grid,.cs-shop-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:901px) and (max-width:1100px) {
 .hero-copy { align-items:start; }
 .hero-content { align-self:stretch; }
}
@media(max-width:680px) {
 .shop-grid,.cs-shop-page ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; }
 .shop-product-media { height:208px; padding:12px 8px; gap:8px; }
 .shop-product-bottles,.shop-product-bottles img,.shop-product-bottles[data-count] img,.shop-product-media > img { height:166px; }
 .shop-product-bottles { gap:5px; }
 .shop-product-copy { padding:12px; }
 .shop-product-copy h3,.cs-shop-page ul.products li.product .woocommerce-loop-product__title { font-size:15px; line-height:1.4; }
 .shop-product-copy > p,.cs-market-description { font-size:13px; }
 .shop-product-tag { font-size:9px; }
 .shop-product-meta { font-size:11px; }
 .shop-price,.cs-shop-page ul.products li.product .price { font-size:20px; }
 .shop-add,.cs-shop-page ul.products li.product .button { font-size:12px; padding:10px 7px; min-height:48px; }
 .cs-shop-page ul.products li.product > a.woocommerce-LoopProduct-link { padding:12px; }
 .cs-shop-page ul.products li.product a .cs-loop-bottles,.cs-shop-page ul.products li.product a > img { height:184px; padding:8px 0; gap:5px; }
 .cs-shop-page ul.products li.product a .cs-loop-bottles img,.cs-shop-page ul.products li.product a .cs-loop-bottles[data-count] img { height:166px; }
 .cs-shop-page ul.products li.product > .button { margin:0 12px 12px; }
 .reviews-grid { grid-template-columns:1fr; }
 .reviews-section { padding:56px 0; }
 .cs-shop-hero { grid-template-columns:1fr; }
 .cs-catalog-intro { padding:28px 20px; }
 .cs-catalog-slider { aspect-ratio:1.46; }
 .hero-media-overlay { background:linear-gradient(90deg,rgba(3,25,53,.64),rgba(4,31,65,.32)); }
}
@media(prefers-reduced-motion:reduce) { .cs-catalog-slides img { transition:none; } }
