.woocommerce-page-wrap{ padding: 30px var(--gutter) 100px; }
.shop-head{ margin-bottom: 40px; }
.shop-title{ font-size: clamp(1.8rem, 3vw, var(--fs-xl)); }
.woocommerce-columns{ display:block; }
.woocommerce-columns.has-sidebar{ display:grid; grid-template-columns: 1fr 280px; gap: 50px; align-items:start; }
.v-shop-toolbar{
display:flex; align-items:center; justify-content:space-between;
padding-bottom: 20px; margin-bottom: 30px; border-bottom: 1px solid var(--v-line);
font-size: var(--fs-sm); color: var(--v-ink-soft);
}
.v-shop-toolbar select{
border:1px solid var(--v-line); border-radius: var(--radius-sm); padding: 8px 12px;
background: var(--v-white); color: var(--v-ink);
} ul.products{
display:grid !important;
grid-template-columns: repeat(3, 1fr);
gap: 30px 26px;
list-style:none; margin:0; padding:0;
}
ul.products li.product{
position:relative; list-style:none;
}
ul.products li.product a.woocommerce-LoopProduct-link{ display:block; }
ul.products li.product .v-thumb-wrap{ position:relative; overflow:hidden; border-radius: var(--radius-md); background: var(--v-cream-deep); aspect-ratio: 3/4; }
ul.products li.product img{ width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease); }
ul.products li.product:hover img{ transform: scale(1.06); }
.v-badge{
position:absolute; top:14px; left:14px; z-index:2;
font-size: 11px; font-weight:700; letter-spacing:0.04em;
padding: 5px 10px; border-radius: var(--radius-lg); color: var(--v-white);
}
.v-badge-sale{ background: var(--v-error); }
.v-badge-new{ background: var(--v-sage-deep); left: auto; top:14px; }
.v-badge-new ~ .v-badge-sale{ top: 46px; }
.v-product-title{ font-size: var(--fs-md); margin: 16px 0 6px; }
.woocommerce ul.products li.product .price{
font-family: var(--f-body); font-size: var(--fs-sm); color: var(--v-ink-soft); font-weight:600;
}
.woocommerce ul.products li.product .price del{ color: #9AA093; opacity:1; margin-right:8px; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; color: var(--v-error); }
.woocommerce ul.products li.product .star-rating{ margin: 4px 0; font-size: 13px; color: var(--v-gold); }
.v-loop-actions{ margin-top: 14px; }
.v-loop-actions a.button, .v-loop-actions a.added_to_cart{
display:inline-flex; align-items:center; gap:8px;
font-size: var(--fs-xs); font-weight:600; letter-spacing:0.03em;
padding: 10px 18px; border-radius: var(--radius-lg);
border: 1px solid var(--v-ink); background:transparent; color: var(--v-ink);
transition: all .3s var(--ease);
}
.v-loop-actions a.button:hover{ background: var(--v-ink); color: var(--v-cream); }
.v-loop-actions a.loading{ opacity:0.6; } .woocommerce-sidebar .widget{ margin-bottom: 40px; }
.woocommerce-sidebar ul{ list-style:none; padding:0; margin:0; }
.woocommerce-sidebar ul li{ margin-bottom:10px; }
.woocommerce-sidebar a{ font-size: var(--fs-sm); }
.woocommerce-sidebar a:hover{ color: var(--v-sage-deep); }
.price_slider_amount .button{ float:right; } .woocommerce-pagination ul{ display:flex; gap:10px; list-style:none; padding:0; margin-top: 50px; justify-content:center; }
.woocommerce-pagination a, .woocommerce-pagination span{ display:inline-flex; padding:8px 14px; border:1px solid var(--v-line); border-radius: var(--radius-sm); }
.woocommerce-pagination .current{ background: var(--v-ink); color: var(--v-cream); } .single-product .woocommerce-main{ max-width: 1180px; margin: 0 auto; }
div.product{ display:grid; grid-template-columns: 1.1fr 1fr; gap: 60px; }
div.product .woocommerce-product-gallery{ position:relative; }
div.product .woocommerce-product-gallery__wrapper{ border-radius: var(--radius-md); overflow:hidden; }
div.product .flex-control-thumbs{ display:flex; gap:10px; margin-top:12px; list-style:none; padding:0; }
div.product .flex-control-thumbs li{ width:70px; }
div.product .flex-control-thumbs img{ border-radius: var(--radius-sm); opacity:0.6; cursor:pointer; }
div.product .flex-control-thumbs img.flex-active{ opacity:1; outline: 1px solid var(--v-ink); }
.product_title{ font-size: clamp(1.8rem, 3vw, var(--fs-2xl)); margin-bottom: 10px; }
.woocommerce-product-details__short-description{ color: var(--v-ink-soft); margin: 18px 0; }
p.price{ font-family: var(--f-display); font-size: var(--fs-lg); color: var(--v-ink); }
p.price del{ color: var(--v-ink-soft); font-size: 0.7em; margin-right: 10px; opacity:0.7; }
p.price ins{ text-decoration:none; color: var(--v-error); }
.woocommerce-product-rating{ display:flex; align-items:center; gap:10px; margin-bottom: 16px; }
.woocommerce-product-rating .star-rating{ color: var(--v-gold); }
form.cart{ display:flex; align-items:center; gap:16px; margin: 26px 0; flex-wrap:wrap; }
.quantity{ display:flex; align-items:center; border:1px solid var(--v-line); border-radius: var(--radius-lg); overflow:hidden; }
.quantity .qty{ width:56px; border:none; text-align:center; padding:12px 0; background:transparent; }
form.cart .single_add_to_cart_button{
background: var(--v-ink); color: var(--v-cream); border:none;
padding: 15px 40px; border-radius: var(--radius-lg); font-weight:600; letter-spacing:0.03em;
transition: all .3s var(--ease);
}
form.cart .single_add_to_cart_button:hover{ background: var(--v-sage-deep); }
.v-trust-row{ display:flex; flex-wrap:wrap; gap: 10px 22px; margin: 24px 0; padding-top:20px; border-top:1px solid var(--v-line); }
.v-trust-row li{ font-size: var(--fs-xs); color: var(--v-ink-soft); position:relative; padding-left:18px; }
.v-trust-row li::before{ content:"✓"; position:absolute; left:0; color: var(--v-sage-deep); font-weight:700; }
.woocommerce-tabs{ margin-top: 60px; grid-column: 1 / -1; }
.woocommerce-tabs ul.tabs{ display:flex; gap: 30px; border-bottom:1px solid var(--v-line); list-style:none; padding:0; margin-bottom: 30px; }
.woocommerce-tabs ul.tabs li a{ display:inline-block; padding: 10px 0; font-weight:600; color: var(--v-ink-soft); }
.woocommerce-tabs ul.tabs li.active a{ color: var(--v-ink); border-bottom: 2px solid var(--v-gold); }
.woocommerce-tabs .panel{ max-width: 760px; color: var(--v-ink-soft); }
.related.products, .up-sells.upsells{ grid-column: 1/-1; margin-top: 80px; }
.related.products > h2, .upsells.upsells > h2{ font-family: var(--f-display); font-size: var(--fs-xl); margin-bottom: 30px; }
.related.products ul.products, .upsells ul.products{ grid-template-columns: repeat(4,1fr); } .widget_shopping_cart_content ul.woocommerce-mini-cart{ list-style:none; padding:0; margin:0; }
.woocommerce-mini-cart-item{ display:flex; gap:14px; padding: 16px 0; border-bottom:1px solid var(--v-line); position:relative; }
.woocommerce-mini-cart-item img{ width:64px; height:78px; object-fit:cover; border-radius: var(--radius-sm); }
.woocommerce-mini-cart-item a.remove{
position:absolute; top:16px; right:0; width:20px; height:20px;
display:flex; align-items:center; justify-content:center; color: var(--v-ink-soft) !important;
}
.woocommerce-mini-cart__total{ display:flex; justify-content:space-between; padding: 20px 0; font-weight:600; }
.woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:10px; }
.woocommerce-mini-cart__buttons a{
text-align:center; padding: 13px; border-radius: var(--radius-lg); font-weight:600; font-size: var(--fs-sm);
}
.woocommerce-mini-cart__buttons a.wc-forward{ border:1px solid var(--v-ink); }
.woocommerce-mini-cart__buttons a.checkout{ background: var(--v-ink); color: var(--v-cream); }
.woocommerce-mini-cart__empty-message{ color: var(--v-ink-soft); text-align:center; padding: 40px 0; } table.shop_table{ width:100%; border-collapse:collapse; margin-bottom: 30px; }
table.shop_table th{ text-align:left; padding: 14px 10px; border-bottom:1px solid var(--v-line); font-size: var(--fs-xs); text-transform:uppercase; letter-spacing:0.05em; color: var(--v-ink-soft); }
table.shop_table td{ padding: 18px 10px; border-bottom:1px solid var(--v-line); vertical-align:middle; }
table.shop_table img{ width:70px; border-radius: var(--radius-sm); }
.cart_totals{ max-width: 420px; margin-left:auto; }
.cart_totals table{ width:100%; }
.cart_totals th, .cart_totals td{ padding:12px 0; border-bottom:1px solid var(--v-line); }
.wc-proceed-to-checkout .checkout-button{
display:block; text-align:center; background: var(--v-ink); color: var(--v-cream);
padding: 16px; border-radius: var(--radius-lg); font-weight:600; margin-top:20px;
}
.coupon{ display:flex; gap:10px; }
.coupon input{ flex:1; } .woocommerce form .form-row label{ font-size: var(--fs-sm); margin-bottom:6px; display:block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce-checkout textarea,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"]{
width:100%; padding: 13px 16px; border:1px solid var(--v-line); border-radius: var(--radius-sm);
background: var(--v-white); color: var(--v-ink);
}
.woocommerce-checkout #payment{ background: var(--v-cream-deep); border-radius: var(--radius-md); padding: 24px; margin-top: 20px; }
.woocommerce-checkout #payment ul.payment_methods{ list-style:none; padding:0; }
#place_order{
background: var(--v-ink); color: var(--v-cream); border:none; padding: 16px 34px;
border-radius: var(--radius-lg); font-weight:600; width:100%; margin-top:16px;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
list-style:none; padding: 16px 20px; border-radius: var(--radius-sm);
background: var(--v-cream-deep); border-left: 3px solid var(--v-sage-deep); margin-bottom: 20px;
}
.woocommerce-error{ border-color: var(--v-error); } .woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; }
.woocommerce-MyAccount-navigation li{ margin-bottom:10px; }
.woocommerce-MyAccount-navigation li.is-active a{ color: var(--v-sage-deep); font-weight:600; }
.woocommerce-account .woocommerce{ display:grid; grid-template-columns: 220px 1fr; gap:50px; } @media (max-width: 1024px){
div.product{ grid-template-columns:1fr; }
.woocommerce-columns.has-sidebar{ grid-template-columns:1fr; }
ul.products{ grid-template-columns: repeat(2,1fr); }
.related.products ul.products, .upsells ul.products{ grid-template-columns: repeat(2,1fr); }
.woocommerce-account .woocommerce{ grid-template-columns:1fr; }
}
@media (max-width: 600px){
form.cart{ flex-direction:column; align-items:flex-start; }
.coupon{ flex-direction:column; }
table.shop_table thead{ display:none; }
table.shop_table tr{ display:block; border-bottom:2px solid var(--v-line); padding: 10px 0; }
table.shop_table td{ display:flex; justify-content:space-between; border-bottom:none; }
}