/* WooCommerce markup in the Dremvale look. This is the baseline for Stage 1: every default
   WooCommerce screen is usable and on-brand. The product page, shop grid, cart drawer and checkout
   get their own templates in the next steps. */

/* Buttons WooCommerce prints */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.wc-block-components-button,
.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);padding:0 22px;border-radius:var(--r-pill);border:1px solid var(--gold);background:transparent;color:var(--ink);font-weight:600;font-size:var(--fs-md);line-height:1;cursor:pointer;transition:background var(--t-fast) ease,color var(--t-fast) ease}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--gold);color:var(--gold-ink)}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce .single_add_to_cart_button,.woocommerce .checkout-button,.woocommerce #place_order{background:var(--gold);color:var(--gold-ink);min-height:56px;padding:0 28px;font-size:var(--fs-base)}
.woocommerce .button.alt:hover,.woocommerce .single_add_to_cart_button:hover,.woocommerce .checkout-button:hover,.woocommerce #place_order:hover{background:var(--gold-hover)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.45;cursor:not-allowed}
.woocommerce .button.loading{opacity:.6}
.woocommerce a.added_to_cart{display:inline-flex;align-items:center;min-height:var(--tap);margin-left:12px;font-size:var(--fs-md)}

/* Notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{list-style:none;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:0 0 24px;padding:14px 18px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--info);font-size:15px;color:var(--ink)}
.woocommerce-message{border-left-color:var(--ok)}
.woocommerce-error{border-left-color:var(--error);flex-direction:column;align-items:flex-start}
.woocommerce-message .button,.woocommerce-info .button{order:2}

/* Shop header + toolbar */
.woocommerce-products-header{padding-bottom:var(--s-6)}
.woocommerce-products-header__title{font-size:clamp(40px,5vw,60px)}
.term-description{max-width:60ch;font-size:var(--fs-lg);color:var(--ink-2);margin-top:12px}
.woocommerce-result-count{margin:0;font-size:var(--fs-md);color:var(--ink-3)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{min-height:var(--tap);border-radius:var(--r-pill);padding:0 40px 0 16px;font-size:var(--fs-md);width:auto}
.wc-shop .woocommerce-result-count,.wc-shop .woocommerce-ordering{display:inline-flex;align-items:center;padding-block:12px}
.wc-shop .woocommerce-ordering{float:right}
.wc-shop .woocommerce-result-count{border-top:1px solid var(--line)}

/* Product grid: kit cards (woocommerce/content-product.php) */
ul.products{clear:both;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
ul.products::before,ul.products::after{display:none}
ul.products li.product{display:flex;flex-direction:column;gap:14px;min-width:0;margin:0;width:auto;float:none}
.kit-card .pic{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:var(--stage)}
.kit-card .pic img{position:absolute;left:50%;top:52%;width:auto;height:76%;max-width:86%;object-fit:contain;transform:translate(-50%,-50%);transition:transform var(--t-slow) var(--ease);filter:var(--shadow-kit)}
.kit-card .pic:hover img{transform:translate(-50%,-52%) rotate(-2deg) scale(1.04)}
.kit-card .feats{position:absolute;right:14px;top:14px;display:flex;gap:6px;z-index:1}
.kit-card .feats i{width:30px;height:30px;border-radius:15px;background:rgba(8,13,21,.72);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.kit-card .feats .icon{width:16px;height:16px}
.kit-card .woocommerce-loop-product__title{font-family:var(--display);font-size:var(--fs-xl);font-weight:500;line-height:1.25;margin:0}
.kit-card .woocommerce-loop-product__title a{color:var(--ink)}
.kit-card .woocommerce-loop-product__title a:hover{color:var(--gold)}
.kit-card .line{margin:0;font-size:var(--fs-md);line-height:1.5;color:var(--ink-3)}
.kit-card .card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font-size:var(--fs-sm);color:var(--ink-2)}
.kit-card .card-meta span:empty{display:none}
.kit-card .card-meta>span+span::before{content:"·";margin-right:12px;color:var(--ink-3)}
.kit-card .row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:auto}
.kit-card .price{font-family:var(--display);font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums;display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.kit-card .price .badge{font-family:var(--body)}
.kit-card .row .button{height:44px;min-height:44px;padding:0 18px;border-radius:22px;border:1px solid var(--gold);background:transparent;color:var(--ink);font-weight:600;font-size:var(--fs-md);white-space:nowrap;display:inline-flex;align-items:center}
.kit-card .row .button:hover{background:var(--gold);color:var(--gold-ink)}
.kit-card .row .button.loading{opacity:.6}
ul.products li.product .star-rating{display:none}
@media (max-width:1100px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  ul.products{gap:16px 12px}
  .kit-card .woocommerce-loop-product__title{font-size:17px}
  .kit-card .line,.kit-card .feats{display:none}
  .kit-card .card-meta{font-size:var(--fs-xs)}
  .kit-card .row{flex-direction:column;align-items:stretch;gap:10px}
  .kit-card .price{font-size:19px}
  .kit-card .row .button{justify-content:center}
}
.woocommerce-pagination ul{list-style:none;display:flex;justify-content:center;gap:8px;padding:0;margin:48px 0 0}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);height:var(--tap);border-radius:50%;border:1px solid var(--line-strong);color:var(--ink)}
.woocommerce-pagination .current{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}

/* Cart */
.woocommerce-cart-form{margin-bottom:var(--s-10)}
table.shop_table{border:1px solid var(--line);border-radius:var(--r-lg);border-collapse:separate;border-spacing:0;overflow:hidden;font-size:15px}
table.shop_table th{font-weight:600;font-size:var(--fs-sm);color:var(--ink-3);text-align:left;padding:14px 16px;background:var(--panel)}
table.shop_table td{padding:16px;border-top:1px solid var(--line);vertical-align:middle}
table.shop_table .product-thumbnail img{width:72px;height:72px;object-fit:contain;padding:6px;border-radius:12px;background:var(--stage)}
table.shop_table .product-name a{font-family:var(--display);font-size:18px;color:var(--ink)}
table.shop_table .product-remove a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--ink-3);font-size:20px}
table.shop_table .product-remove a:hover{background:var(--panel-2);color:var(--ink)}
table.shop_table .quantity input{width:80px;text-align:center}
table.shop_table td.actions .coupon{display:inline-flex;gap:8px;align-items:center}
table.shop_table td.actions .coupon input{width:200px}
table.shop_table td.actions>.button{float:right}
.cart-collaterals{display:flex;justify-content:flex-end}
.cart_totals{width:min(440px,100%)}
.cart_totals h2{font-size:28px;margin-bottom:16px}
.wc-proceed-to-checkout .checkout-button{display:flex;width:100%;margin-top:16px}
.cart-empty{font-size:var(--fs-lg)}
.return-to-shop{margin-top:16px}
@media (max-width:768px){
  table.shop_table_responsive thead{display:none}
  table.shop_table_responsive tr{display:grid;grid-template-columns:72px 1fr;gap:4px 16px;padding:16px;border-top:1px solid var(--line)}
  table.shop_table_responsive td{border:0;padding:2px 0;display:block}
  table.shop_table_responsive td.product-thumbnail{grid-row:span 4}
  table.shop_table_responsive td::before{content:attr(data-title) ": ";font-size:var(--fs-sm);color:var(--ink-3)}
  table.shop_table_responsive td.product-name::before,table.shop_table_responsive td.product-remove::before,table.shop_table_responsive td.product-thumbnail::before,table.shop_table_responsive td.actions::before{display:none}
  table.shop_table_responsive td.actions{grid-column:1/-1}
  table.shop_table td.actions .coupon{display:flex;margin-bottom:12px}
  table.shop_table td.actions .coupon input{flex:1;width:auto}
  table.shop_table td.actions>.button{float:none;width:100%}
}

/* Checkout + account forms */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.woocommerce form .form-row label{font-size:var(--fs-md);font-weight:500;color:var(--ink-2)}
.woocommerce form .form-row .required{color:var(--gold);text-decoration:none}
.woocommerce form .form-row.woocommerce-invalid input{border-color:var(--error)}
.woocommerce-checkout .col2-set,.woocommerce-account .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.woocommerce-checkout h3,#order_review_heading{font-size:26px;margin:0 0 16px}
#order_review{padding:24px;border-radius:var(--r-lg);background:var(--panel)}
#order_review table.shop_table{border:0;background:none}
#payment{margin-top:24px}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}
#payment ul.payment_methods li{padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--line-strong)}
#payment .payment_box{margin-top:10px;font-size:var(--fs-md);color:var(--ink-2)}
.woocommerce-terms-and-conditions-wrapper{font-size:var(--fs-sm);color:var(--ink-3)}
.select2-container .select2-selection--single{height:48px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--night-2)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px;color:var(--ink);padding-left:16px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:10px}
.select2-dropdown{background:var(--panel);border-color:var(--line-strong);color:var(--ink)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--gold);color:var(--gold-ink)}
@media (max-width:820px){.woocommerce-checkout .col2-set,.woocommerce-account .col2-set{grid-template-columns:minmax(0,1fr)}}

/* My account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:var(--tap);padding:0 14px;border-radius:12px;color:var(--ink-2)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--panel);color:var(--ink)}
@media (max-width:820px){.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:24px}.woocommerce-MyAccount-navigation ul{flex-direction:row;overflow-x:auto}}

/* Star ratings use the gold, WooCommerce's icon font is not loaded */
.star-rating{color:var(--gold);font-size:var(--fs-md)}

/* Block cart and checkout (WooCommerce's default since 8.3). Same dark fields as the rest of the site. */
.wc-block-components-text-input input[type],.wc-block-components-textarea,.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{background:var(--night-2)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;border-radius:var(--r-md)!important;box-shadow:none!important}
.wc-block-components-text-input input[type]:focus,.wc-blocks-components-select .wc-blocks-components-select__select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(236,196,128,.18)!important}
.wc-block-components-text-input label,.wc-blocks-components-select .wc-blocks-components-select__label,.wc-block-components-combobox .wc-block-components-combobox-control label{color:var(--ink-3)!important}
.wc-blocks-components-select .wc-blocks-components-select__container{background:var(--night-2);border-radius:var(--r-md)}
.wc-blocks-components-select .wc-blocks-components-select__expand{fill:var(--ink-3)}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:var(--night-2);border-color:var(--line-strong)}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--gold)}
.wc-block-components-radio-control__input{background:var(--night-2)!important;border-color:var(--line-strong)!important}
.wc-block-components-radio-control__input:checked::before{background:var(--gold)!important}
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,.wc-block-components-totals-wrapper,.wp-block-woocommerce-checkout-order-summary-block{border-color:var(--line)!important}
.wp-block-woocommerce-checkout-order-summary-block{background:var(--panel);border-radius:var(--r-lg)}
.wc-block-components-title.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--display)!important;font-weight:400!important}
.wc-block-components-checkout-step__description,.wc-block-checkout__guest-checkout-notice{color:var(--ink-3)}
.wc-block-components-button:not(.is-link).contained,.wc-block-components-checkout-place-order-button,.wc-block-cart__submit-button{background:var(--gold)!important;color:var(--gold-ink)!important;border:0!important;border-radius:var(--r-pill)!important;min-height:56px;font-weight:600}
.wc-block-components-button:not(.is-link).contained:hover{background:var(--gold-hover)!important}
.wc-block-components-button.outlined{border:1px solid var(--gold)!important;color:var(--ink)!important;border-radius:var(--r-pill)!important}
.wc-block-components-notice-banner.is-error{background:var(--panel)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:3px solid var(--error)!important}
.wc-block-components-notice-banner.is-error>svg{fill:var(--error);background:none}
.wc-block-components-notice-banner.is-info,.wc-block-components-notice-banner.is-success,.wc-block-components-notice-banner.is-warning{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--line)!important}
.wc-block-components-product-metadata,.wc-block-components-product-details{color:var(--ink-3)}
.wc-block-components-order-summary-item__image img,.wc-block-cart-item__image img{border-radius:12px;background:var(--stage)}
.wc-block-components-quantity-selector{border-color:var(--line-strong)!important;border-radius:var(--r-pill)!important}
.wc-block-components-quantity-selector input,.wc-block-components-quantity-selector button{color:var(--ink)!important;background:none!important}
.wc-block-cart-items th,.wc-block-cart-items td{border-color:var(--line)!important}
.wc-block-components-product-name{font-family:var(--display);font-size:18px;color:var(--ink)!important}
.wc-block-components-panel__button{color:var(--ink)!important}
.wc-block-components-loading-mask .wc-block-components-loading-mask__children{opacity:.5}
