/* Collab theme: WooCommerce styles. Loaded after WooCommerce's own layout styles. */

.shop-main{padding-block:clamp(24px,4vw,48px)}
.woocommerce-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:18px}
.woocommerce-breadcrumb a:hover{color:var(--ink)}
.woocommerce-products-header__title.page-title{margin-bottom:10px}
.term-description,.woocommerce-products-header .page-description{color:var(--muted);max-width:640px}

/* Toolbar */
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px 20px;flex-wrap:wrap;padding-block:14px;border-block:1px solid var(--line);margin:18px 0 24px}
.shop-toolbar__sort{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-width:0;max-width:100%}
.shop-toolbar .chips{min-width:0;max-width:100%}
.woocommerce .shop-toolbar .woocommerce-result-count,.woocommerce .shop-toolbar .woocommerce-ordering{float:none;margin:0;font-size:13px;color:var(--muted)}
.woocommerce-ordering select{font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:8px 10px;border-radius:6px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap}
.chip:hover{border-color:var(--ink)}
.chip[aria-current="page"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* Product grid */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 12px;margin:0 0 32px;padding:0}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.woocommerce ul.products.columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto;float:none;margin:0;padding:0;display:flex;flex-direction:column;position:relative}
/* Beat woocommerce-smallscreen.css (width:48%, floats) so grid items fill their column on phones and tablets. */
.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n),.woocommerce-page ul.products[class*="columns-"] li.product:nth-child(2n){width:auto;float:none;clear:none;margin:0}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;gap:4px;position:relative}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;background:var(--soft);margin:0 0 8px;transition:opacity .2s}
.woocommerce ul.products li.product a:hover img{opacity:.9}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--sans);font-size:15px;font-weight:600;padding:0;margin:0;line-height:1.35}
.woocommerce ul.products li.product .price{color:var(--ink);font-size:15px;font-weight:400;margin:0}
.woocommerce ul.products li.product .star-rating{margin:2px 0}
.woocommerce ul.products li.product .button{margin-top:10px;align-self:flex-start}
.woocommerce ul.products li.product .added_to_cart{display:inline-block;margin-top:6px;font-size:13px;text-decoration:underline}
.woocommerce .price del{color:var(--muted);opacity:1;margin-right:6px}
.woocommerce .price ins{text-decoration:none;color:var(--sale);font-weight:600}

/* Badges */
.woocommerce span.onsale,.badge{position:absolute;top:10px;left:10px;right:auto;z-index:2;min-width:0;min-height:0;margin:0;border-radius:0;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.4;background:var(--sale);color:#fff}
.badge--new{background:var(--bg);color:var(--ink)}
.woocommerce ul.products li.product .onsale{top:10px;left:10px;right:auto;margin:0}

/* Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.wc-block-components-button:not(.is-link){background:var(--ink);color:var(--bg);border:1px solid var(--ink);border-radius:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px 20px;line-height:1.2;transition:opacity .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.wc-block-components-button:not(.is-link):hover{background:var(--ink);color:var(--bg);opacity:.85}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt.disabled{background:var(--ink);color:var(--bg);opacity:.4}
.woocommerce a.button.loading::after,.woocommerce button.button.loading::after{top:auto}
.woocommerce ul.products li.product .button{padding:11px 16px}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{border-top-color:var(--ink);background:var(--soft);color:var(--ink)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ink)}
.woocommerce-error{border-top-color:var(--sale)}
.woocommerce-error::before{color:var(--sale)}
.woocommerce-message .button,.woocommerce-info .button{float:right}

/* Forms */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .quantity .qty,.woocommerce-cart table.cart td.actions .coupon .input-text{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:11px 12px;border-radius:0}
.woocommerce .quantity .qty{width:4.2em;padding:11px 6px}
.woocommerce form .form-row label{font-size:13px;font-weight:600}
.select2-container .select2-selection--single{height:44px;border-color:var(--line);border-radius:0}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:42px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:42px}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce div.product::before,.woocommerce div.product::after{display:none}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:auto;margin:0}
.woocommerce div.product div.images img{background:var(--soft)}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a > img{aspect-ratio:4/5;object-fit:cover;width:100%}
.woocommerce div.product .woocommerce-product-gallery__trigger{background:var(--bg)}
.woocommerce div.product .product_title{font:400 clamp(34px,4vw,48px)/1.05 var(--serif);margin:0 0 12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-size:20px}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted)}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:24px 0}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce div.product form.cart .button{float:none;flex:1;min-width:180px}
.woocommerce div.product form.variations_form{display:block}
.woocommerce div.product form.cart .variations{margin-bottom:16px;width:100%;table-layout:fixed}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;line-height:1.4;text-align:left}
.woocommerce div.product form.cart .variations th label{font-size:13px;font-weight:600}
.woocommerce div.product form.cart .variations td{margin:6px 0 14px}
.woocommerce div.product form.cart .variations select{width:100%;max-width:360px;border:1px solid var(--line);background:var(--bg);padding:11px 12px;margin:0}
.woocommerce div.product form.cart .reset_variations{font-size:13px;margin-left:8px}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce div.product .product_meta{font-size:13px;color:var(--muted);display:grid;gap:4px}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 18px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 0;font-weight:600;color:var(--muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:760px}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{font:400 28px/1.1 var(--serif)}
.related > h2,.upsells > h2,.cross-sells > h2{font:400 clamp(30px,3vw,40px)/1 var(--serif);margin:48px 0 20px}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-color:var(--line);border-radius:0}

/* Cart, checkout, account (classic templates) */
.woocommerce table.shop_table{border-color:var(--line);border-radius:0}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--line)}
.woocommerce-cart .cart-collaterals .cart_totals h2,.woocommerce-checkout h3,.woocommerce-account h2{font:400 28px/1.1 var(--serif)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{font-weight:700}
.woocommerce-checkout #payment,.woocommerce-checkout #payment div.payment_box{background:var(--soft);border-radius:0}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--soft)}

/* Slide-out cart */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--bg);z-index:50;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.is-open{transform:none}
.admin-bar .drawer{top:32px}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer__head h2{font:400 28px/1 var(--serif);margin:0}
.drawer__body{flex:1;overflow:auto;padding:0 20px 20px;display:flex;flex-direction:column}
.drawer .widget_shopping_cart_content{flex:1;display:flex;flex-direction:column}
.drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0;flex:1}
.drawer .woocommerce-mini-cart-item{position:relative;min-height:128px;padding:16px 28px 16px 92px;border-bottom:1px solid var(--line);font-size:14px}
.drawer .woocommerce-mini-cart-item a:not(.remove){font-weight:600;display:block}
.drawer .woocommerce-mini-cart-item img{position:absolute;left:0;top:16px;width:76px;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--soft);margin:0;float:none}
.drawer .woocommerce-mini-cart-item .quantity{display:block;color:var(--muted);margin-top:4px}
.drawer .woocommerce-mini-cart-item dl.variation{margin:4px 0 0;padding:0;border:0;font-size:13px;color:var(--muted)}
.drawer .woocommerce-mini-cart-item dl.variation dt,.drawer .woocommerce-mini-cart-item dl.variation dd{display:inline;margin:0;float:none}
.drawer .woocommerce-mini-cart-item dl.variation dd p{display:inline;margin:0}
.drawer a.remove{position:absolute;top:14px;right:0;width:24px;height:24px;line-height:22px;text-align:center;border-radius:50%;color:var(--muted)!important;font-size:18px;text-decoration:none}
.drawer a.remove:hover{background:var(--soft);color:var(--ink)!important}
.drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-size:17px;font-weight:700;padding:18px 0 6px;margin:0;border-top:1px solid var(--line)}
.drawer .woocommerce-mini-cart__buttons{display:grid;gap:10px;margin:12px 0 0}
.drawer .woocommerce-mini-cart__buttons .button{display:block;text-align:center;margin:0;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:15px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.drawer .woocommerce-mini-cart__buttons .button:not(.checkout){background:transparent;color:var(--ink)}
.drawer .woocommerce-mini-cart__empty-message{text-align:center;color:var(--muted);padding:48px 0}
.wc-block-grid__product-title,.wc-block-grid__product-price{font-size:14px}

/* Responsive */
/* Cart block rows on phones: let the product column flex so prices stay inside the page margin. */
@media (max-width:699px){
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:80px minmax(0,1fr) auto}
}
@media (min-width:1440px){
  .archive.woocommerce ul.products.columns-4{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:980px){
  .woocommerce ul.products,.woocommerce-page ul.products,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:782px){
  .admin-bar .drawer{top:46px}
}
@media (max-width:768px){
  .woocommerce div.product{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .woocommerce div.product .woocommerce-tabs ul.tabs li{flex:none}
  .woocommerce ul.products,.woocommerce-page ul.products,.woocommerce ul.products[class*="columns-"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce ul.products li.product .button{padding:10px 12px;font-size:11px}
  .shop-toolbar{flex-direction:column;align-items:stretch}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .shop-toolbar__sort{flex-direction:column;align-items:stretch;gap:10px;min-width:0}
  .woocommerce .shop-toolbar .woocommerce-ordering{width:100%}
  .woocommerce-ordering select{width:100%;max-width:100%}
  .woocommerce-message .button,.woocommerce-info .button{float:none;display:block;margin-top:10px;text-align:center}
}
