/* =====================================================================
   TramaLuz — WooCommerce styling (shop, product, cart, checkout, account)
   ===================================================================== */
.wc-page{padding:44px 0 72px}
.wc-page .wrap{max-width:1180px}
.woocommerce-breadcrumb{color:var(--muted);font-size:.86rem;margin-bottom:22px}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-products-header__title,
.wc-page h1.entry-title{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:6px}
.term-description,.woocommerce-products-header{margin-bottom:18px}

/* Toolbar */
.woocommerce-result-count{color:var(--muted);font-size:.92rem;margin-top:8px}
.woocommerce-ordering select,
.woocommerce .select2-container--default .select2-selection--single,
.wc-page select{
	border:1px solid var(--border-2);border-radius:999px;padding:10px 16px;background:#fff;color:var(--ink);font-size:.92rem
}

/* Product grid */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:0}
.woocommerce ul.products li.product{
	width:auto!important;margin:0!important;float:none;background:var(--card);
	border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
	box-shadow:var(--shadow-sm);transition:transform .2s ease, box-shadow .2s ease;
	display:flex;flex-direction:column;text-align:left;padding:0
}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{margin:0;border-radius:0;aspect-ratio:1/1;object-fit:cover;width:100%;background:var(--cream-2)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-family:var(--serif);font-size:1.14rem;font-weight:600;color:var(--ink);padding:16px 18px 4px
}
.woocommerce ul.products li.product .price{
	display:block;padding:0 18px;font-family:var(--serif);font-size:1.35rem;color:var(--ink);font-weight:600
}
.woocommerce ul.products li.product .price del{color:var(--muted);font-size:.9rem;font-weight:500;margin-right:6px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:8px 18px 0;color:var(--star);font-size:.9em}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
	margin:14px 18px 20px;background:var(--terra);color:#fff;border-radius:999px;
	padding:12px 18px;font-weight:700;font-size:.92rem;text-align:center;border:0;transition:background .18s ease
}
.woocommerce ul.products li.product .button:hover{background:var(--terra-d)}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
	background:var(--terra);color:#fff;border-radius:999px;padding:6px 12px;font-weight:800;
	font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;min-height:auto;line-height:1;
	position:absolute;top:12px;left:12px;margin:0
}
.woocommerce ul.products li.product{position:relative}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.woocommerce div.product .woocommerce-product-gallery{margin-bottom:0}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:var(--radius);border:1px solid var(--border)}
.woocommerce div.product .product_title{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:10px}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--ink);font-family:var(--serif);font-size:2rem;font-weight:600}
.woocommerce div.product p.price del{color:var(--muted);font-size:1.1rem;font-weight:500}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:14px}
.woocommerce div.product form.cart{margin:24px 0 8px}
.woocommerce div.product form.cart .quantity{display:none} /* PDFs: single copy */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce div.product form.cart .button{
	background:var(--terra);color:#fff;border-radius:999px;padding:15px 30px;font-weight:700;
	font-size:1rem;border:0;transition:transform .16s ease, background .16s ease;line-height:1
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product form.cart .button:hover{background:var(--terra-d);transform:translateY(-2px)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--terra)}
.wc-reassure{display:flex;align-items:center;gap:8px;color:var(--sage-d);font-weight:600;font-size:.92rem;margin-top:14px}
.wc-reassure svg{flex:none}
.wc-trust{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.wc-trust li{display:flex;align-items:center;gap:10px;color:#5f544b;font-weight:600;font-size:.95rem}
.wc-trust svg{color:var(--sage-d);flex:none}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:28px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px;border-bottom:2px solid var(--border)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--border)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 6px -2px 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted);font-weight:700;padding:12px 16px;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--terra-d);border-bottom:2px solid var(--terra)}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products{grid-column:1/-1;margin-top:36px}
.woocommerce div.product .related.products h2,
.woocommerce div.product .upsells.products h2{font-family:var(--serif)}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
	border-top:0;border-radius:var(--radius-sm);padding:16px 20px 16px 46px;background:#FFFDF9;
	border:1px solid var(--border);box-shadow:var(--shadow-sm)
}
.woocommerce-message::before{color:var(--sage-d)}
.woocommerce-info::before{color:var(--terra)}
.woocommerce .woocommerce-message .button,.woocommerce-info .button{padding:8px 16px;font-size:.85rem}

/* Cart */
.woocommerce table.shop_table{border:1px solid var(--border);border-radius:var(--radius);border-collapse:separate;overflow:hidden;background:#fff}
.woocommerce table.shop_table th{background:var(--cream-2);color:var(--ink);font-family:var(--sans);font-weight:700}
.woocommerce table.shop_table td{border-top:1px solid var(--border)}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm)}
.woocommerce .cart_totals h2{font-family:var(--serif)}
.woocommerce a.remove{color:var(--terra-d)!important;border:1px solid var(--border)}
.woocommerce a.remove:hover{background:var(--terra)!important;color:#fff!important}
.woocommerce-cart table.cart img{width:64px;border-radius:8px}

/* Checkout */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection{
	border:1px solid var(--border-2);border-radius:10px;padding:13px 14px;background:#fff;font-size:1rem;color:var(--ink)
}
.woocommerce-checkout #payment{background:#FFFDF9;border:1px solid var(--border);border-radius:var(--radius)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--border)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border:1px solid var(--border)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff}
#order_review_heading,.woocommerce-checkout h3{font-family:var(--serif)}
.woocommerce .col2-set,.woocommerce-page .col2-set{gap:28px}

/* My account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:36px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block;padding:12px 16px;border-radius:10px;color:var(--ink);font-weight:600;border:1px solid transparent
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#fff;border-color:var(--border)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--terra);color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:1fr;max-width:900px;margin:0 auto}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px}

/* Downloads table emphasis */
.woocommerce-MyAccount-downloads .download-file a{font-weight:700;color:var(--terra-d)}

/* Responsive WooCommerce */
@media (max-width:960px){
	.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:20px}
	.woocommerce div.product{grid-template-columns:1fr;gap:26px}
	.woocommerce-account .woocommerce{grid-template-columns:1fr}
}
@media (max-width:560px){
	.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:14px}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem}
}

/* =====================================================================
   Premium single-product page
   ===================================================================== */
.single-product .wc-page{padding:34px 0 72px}
.woocommerce div.product{gap:54px}
.woocommerce div.product .woocommerce-product-gallery{position:relative;width:100%!important;float:none;margin:0}
.woocommerce div.product .woocommerce-product-gallery img{width:100%}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-md);background:var(--cream-2)}
.woocommerce div.product .woocommerce-product-gallery__image img{border-radius:0;border:0}
@media (min-width:961px){ .woocommerce div.product .summary.entry-summary{position:sticky;top:96px} }

/* Eyebrow above title */
.wc-eyebrow{display:inline-block;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--terra-d);background:#F7E7DE;padding:6px 13px;border-radius:999px;margin-bottom:14px}
.woocommerce div.product .product_title{margin-top:0}

/* Price + save badge */
.woocommerce div.product p.price,.woocommerce div.product span.price{display:inline-flex;align-items:baseline;gap:12px;flex-wrap:wrap;color:var(--terra-d)}
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{color:var(--terra-d);text-decoration:none}
.woocommerce div.product p.price ins .woocommerce-Price-amount{color:var(--terra-d)}
.woocommerce div.product p.price del .woocommerce-Price-amount{color:var(--muted)}
.wc-save-badge{display:inline-block;background:#EAF4EE;color:#2E7D5B;font-weight:800;font-size:.82rem;padding:6px 12px;border-radius:999px;margin:0 0 10px}

/* Add to cart button — big & clear */
.woocommerce div.product form.cart{margin-top:22px}
.woocommerce div.product form.cart .button{width:100%;max-width:420px;padding:17px 30px;font-size:1.06rem}

/* Payment badges + guarantee */
.wc-pay-badges{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 6px}
.wc-pay-badges span{background:#fff;border:1px solid var(--border);border-radius:7px;padding:6px 10px;font-size:.72rem;font-weight:800;color:#6b5f54}
.wc-guarantee-box{display:flex;align-items:center;gap:12px;background:#FFFDF9;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-top:6px;max-width:460px}
.wc-guarantee-box svg{color:var(--sage-d);flex:none}
.wc-guarantee-box strong{display:block;color:var(--ink);font-size:.98rem}
.wc-guarantee-box span{color:var(--muted);font-size:.86rem}

/* Product meta cleaner */
.woocommerce div.product .product_meta{margin-top:22px;padding-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:.86rem}
.woocommerce div.product .product_meta>span{display:block;margin-bottom:4px}
.woocommerce div.product .product_meta .posted_in:not(:has(a)){display:none}
