/* WooCommerce pages (shop, product, cart, checkout, account) in the Forge & Time style */
.page-main{background:var(--light);color:var(--text);padding:48px 0 80px;min-height:60vh;font-family:var(--sans)}
.page-wrap{max-width:1100px}
.wc-page .page-wrap{max-width:1180px}
.page-title{font-family:var(--serif);font-size:clamp(30px,4vw,44px);line-height:1.1;margin:0 0 28px;color:var(--text)}
.entry{line-height:1.7}
.entry a,.woocommerce a{color:#8a6d3b}
.page-main h2,.page-main h3{font-family:var(--serif);color:var(--text);line-height:1.2}
.page-main h3{font-size:22px;margin:0 0 18px}

/* ---------- Buttons ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,
.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link){background:var(--ink)!important;color:#fff!important;border-radius:999px!important;font-weight:800!important;padding:12px 22px!important;border:0!important;line-height:1.2!important;font-family:var(--sans)!important}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce #place_order,.wc-block-components-checkout-place-order-button,.woocommerce .checkout-button{background:var(--brass)!important;color:#171310!important}
.woocommerce .button:hover{opacity:.9}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-error,.woocommerce-info,.woocommerce-message{list-style:none;margin:0 0 20px!important;padding:14px 18px 14px 46px!important;border:1px solid #e7e1d2!important;border-left:4px solid var(--brass)!important;border-radius:12px;background:#fff!important;color:var(--text)!important;font-size:14px;line-height:1.5;position:relative}
.woocommerce-error{border-left-color:#b4542a!important}
.woocommerce-error::before,.woocommerce-info::before,.woocommerce-message::before{left:16px!important;top:14px!important;color:var(--brass)!important}
.woocommerce-error::before{color:#b4542a!important}
.woocommerce-error li{margin:0}
.woocommerce-info .button,.woocommerce-message .button{float:right;padding:6px 14px!important;font-size:13px!important}

/* ---------- Form fields (checkout, account, cart) ---------- */
.woocommerce form .form-row{padding:0!important;margin:0 0 16px!important}
.woocommerce form .form-row label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:#7d7766;margin:0 0 6px;line-height:1.4}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:var(--text);display:flex;gap:8px;align-items:center}
.woocommerce form .form-row .required{color:#b4542a;text-decoration:none;border:0}
.woocommerce form .form-row .optional{text-transform:none;letter-spacing:0;font-weight:500}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,.woocommerce .select2-container .select2-selection--single{width:100%;box-sizing:border-box;border:1.5px solid #e2dccd!important;border-radius:10px!important;background:#fff!important;padding:11px 12px;font-size:15px;font-family:var(--sans);color:var(--text);line-height:1.4;min-height:46px;box-shadow:none}
.woocommerce form .form-row textarea{min-height:96px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:none;border-color:#8a6d3b!important}
.woocommerce .select2-container .select2-selection--single{height:46px;display:flex;align-items:center;padding:0 12px}
.woocommerce .select2-container .select2-selection__rendered{padding:0!important;line-height:1.4!important;color:var(--text)}
.woocommerce .select2-container .select2-selection__arrow{height:44px!important;right:8px!important}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48.5%!important}
.woocommerce form .form-row-wide{clear:both}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#b4542a!important}
@media(max-width:560px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%!important;float:none!important}}

/* ---------- Checkout layout: details left, order + payment right ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);column-gap:28px;align-items:start}
.woocommerce-checkout form.checkout > *{grid-column:1}
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1;grid-row:1}
.woocommerce-checkout form.checkout > #customer_details{grid-row:2 / span 2}
.woocommerce-checkout form.checkout > #order_review_heading{grid-column:2;grid-row:2;margin:0;padding:24px 26px 0;background:#fff;border:1px solid #e7e1d2;border-bottom:0;border-radius:18px 18px 0 0;font-size:22px}
.woocommerce-checkout form.checkout > #order_review{grid-column:2;grid-row:3;background:#fff;border:1px solid #e7e1d2;border-top:0;border-radius:0 0 18px 18px;padding:14px 26px 26px}
@media(min-width:901px){.woocommerce-checkout form.checkout{grid-template-rows:auto auto 1fr}.woocommerce-checkout form.checkout > #order_review{align-self:start}}
#customer_details{background:#fff;border:1px solid #e7e1d2;border-radius:18px;padding:24px 26px 10px}
#customer_details.col2-set .col-1,#customer_details.col2-set .col-2{float:none!important;width:100%!important;max-width:none}
#customer_details .col-2{margin-top:8px}
#customer_details h3{font-size:22px;margin:0 0 18px}
#customer_details .woocommerce-billing-fields__field-wrapper::after,#customer_details .woocommerce-shipping-fields__field-wrapper::after{content:"";display:table;clear:both}
#ship-to-different-address{font-family:var(--sans);font-size:15px;margin:0 0 14px}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout > #customer_details,.woocommerce-checkout form.checkout > #order_review_heading,.woocommerce-checkout form.checkout > #order_review{grid-column:1;grid-row:auto}
  .woocommerce-checkout form.checkout > #order_review_heading{margin-top:24px}
  #customer_details,.woocommerce-checkout form.checkout > #order_review_heading,.woocommerce-checkout form.checkout > #order_review{padding-left:18px;padding-right:18px}
}

/* Order summary table */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table{border:0!important;border-collapse:collapse!important;margin:0 0 22px!important;width:100%;border-radius:0!important;background:transparent!important}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th,.woocommerce table.shop_table.woocommerce-checkout-review-order-table td{padding:12px 0!important;border:0!important;border-top:1px solid #eee8da!important;background:transparent!important;font-size:15px;line-height:1.45;vertical-align:top}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th{border-top:0!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7d7766;font-weight:800;padding-top:4px!important}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-total,.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot td,.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th:last-child{text-align:right!important}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name{padding-right:12px!important}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-quantity{font-weight:700;color:#7d7766}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .wc-item-meta,.woocommerce table.shop_table.woocommerce-checkout-review-order-table dl.variation{font-size:13px;color:var(--text-2);margin:6px 0 0}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table dl.variation dt,.woocommerce table.shop_table.woocommerce-checkout-review-order-table dl.variation dd{display:inline;margin:0;float:none}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table dl.variation dd p{display:inline;margin:0}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot th{font-weight:600;color:var(--text-2)}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total th,.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total td{border-top:2px solid var(--ink)!important;font-size:18px;font-weight:800;color:var(--text);padding-top:14px!important}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .includes_tax{display:block;font-size:12px;font-weight:500;color:#7d7766}

/* Payment */
.woocommerce-checkout #payment{background:transparent!important;border-radius:0!important;border:0!important;padding:0!important}
.woocommerce-checkout #payment ul.payment_methods{padding:0!important;margin:0 0 18px!important;border:0!important;list-style:none}
.woocommerce-checkout #payment ul.payment_methods::before,.woocommerce-checkout #payment ul.payment_methods::after{display:none!important}
.woocommerce-checkout #payment ul.payment_methods li{border:1.5px solid #e2dccd;border-radius:12px;padding:14px 16px!important;margin:0 0 10px!important;background:#fff;line-height:1.4;list-style:none;text-align:left}
.woocommerce-checkout #payment ul.payment_methods li:has(> input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.woocommerce-checkout #payment ul.payment_methods li > input{margin:0 8px 0 0!important;vertical-align:middle;accent-color:var(--ink);width:16px;height:16px}
.woocommerce-checkout #payment ul.payment_methods li > label{display:inline!important;font-weight:700;font-size:15px;cursor:pointer;color:var(--text);margin:0}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:22px;display:inline-block;vertical-align:middle;margin:0 0 0 6px!important;float:none!important}
.woocommerce-checkout #payment div.payment_box{background:var(--light)!important;color:var(--text-2)!important;border-radius:10px!important;margin:12px 0 0!important;padding:14px 16px!important;font-size:14px;line-height:1.55;width:auto!important}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment div.payment_box p{margin:0 0 8px}
.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}
.woocommerce-checkout #payment div.payment_box fieldset{border:0;padding:0;margin:0}
.woocommerce-checkout #payment div.form-row,.woocommerce-checkout #payment .place-order{padding:0!important;margin:0!important;background:none!important}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{font-size:13px;line-height:1.55;color:var(--text-2);margin:0 0 14px}
.woocommerce-privacy-policy-text p{margin:0}
.woocommerce #place_order{width:100%;float:none!important;padding:16px 22px!important;font-size:16px!important;margin-top:4px}

/* ---------- Order received (thank-you) ---------- */
.woocommerce-order{background:#fff;border:1px solid #e7e1d2;border-radius:18px;padding:26px}
.woocommerce-thankyou-order-received{font-family:var(--serif);font-size:24px;color:var(--text);margin:0 0 18px}
ul.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0!important;margin:0 0 24px!important;list-style:none}
ul.woocommerce-order-overview li{border:0!important;padding:0!important;margin:0!important;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7d7766}
ul.woocommerce-order-overview li strong{display:block;font-size:15px;text-transform:none;letter-spacing:0;color:var(--text);margin-top:4px}

/* ---------- Cart ---------- */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:28px;align-items:start}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce-cart .cart-collaterals{width:100%!important}
.woocommerce-cart .cart-collaterals .cart_totals{float:none!important;width:100%!important;background:#fff;border:1px solid #e7e1d2;border-radius:18px;padding:24px 26px}
@media(max-width:900px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}}
.woocommerce table.shop_table{border:1px solid #e7e1d2!important;border-radius:18px!important;background:#fff;border-collapse:separate!important;overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 16px!important;border-top:1px solid #eee8da!important;font-size:15px}
.woocommerce table.shop_table thead th{border-top:0!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#7d7766}
.woocommerce table.cart img{width:64px!important;border-radius:8px}
.woocommerce table.cart td.actions .coupon .input-text{width:160px!important;border:1.5px solid #e2dccd!important;border-radius:999px!important;padding:10px 14px!important}
.woocommerce a.remove{color:#b4542a!important}
.cart_totals .shop_table{border:0!important}
.cart_totals .shop_table th,.cart_totals .shop_table td{padding:12px 0!important}
.wc-proceed-to-checkout .checkout-button{display:block!important;text-align:center;width:100%;font-size:16px!important;padding:16px!important}
.cart-empty.woocommerce-info{font-size:16px}
.return-to-shop .button{margin-top:6px}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:760px}
.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{float:none!important;width:100%!important}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;background:#fff;border:1px solid #e7e1d2;border-radius:18px}
.woocommerce-MyAccount-navigation li a{display:block;padding:10px 14px;border-radius:10px;text-decoration:none;color:var(--text)!important;font-weight:600}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--ink);color:#fff!important}
.woocommerce-MyAccount-content{background:#fff;border:1px solid #e7e1d2;border-radius:18px;padding:24px 26px}
.woocommerce form.login,.woocommerce form.register{border:1px solid #e7e1d2!important;border-radius:18px!important;background:#fff;padding:24px 26px!important;margin:0 0 20px!important}
.woocommerce .u-columns.col2-set .col-1,.woocommerce .u-columns.col2-set .col-2{width:100%!important;float:none!important}
.woocommerce .u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:800px){.woocommerce-account .woocommerce,.woocommerce .u-columns.col2-set{grid-template-columns:1fr}}

/* ---------- Shop / product ---------- */
.woocommerce div.product .product_title{font-family:var(--serif);font-size:clamp(28px,4vw,40px)}
.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:#8a6d3b;font-weight:700}
.woocommerce ul.products li.product{background:#fff;border:1px solid #e7e1d2;border-radius:14px;padding:12px}
.woocommerce ul.products li.product img{border-radius:10px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px}
.woocommerce div.product form.cart .variations select{border:1.5px solid #e2dccd!important;border-radius:10px!important;background:#fff!important;padding:10px 12px}
.woocommerce span.onsale{background:var(--brass);color:#171310}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:#fff}
.woocommerce-cart .woocommerce:has(.wc-empty-cart-message),.woocommerce-cart .woocommerce:has(.cart-empty){display:block}

/* Order summary sits inside its card: no second box */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table{border:0!important;border-radius:0!important;overflow:visible}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th,.woocommerce table.shop_table.woocommerce-checkout-review-order-table td{padding:12px 0!important}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .product-name img{border-radius:8px;margin-right:10px;vertical-align:middle}
.woocommerce-shipping-totals ul#shipping_method{list-style:none;margin:0;padding:0;text-align:right}
.woocommerce-shipping-totals ul#shipping_method li{margin:0 0 6px}

/* Shipping choices (10Web's layout: a "Shipping" title row, then one row per option) */
.woocommerce table.shop_table tr.twbb-shipping-totals-title th,.woocommerce table.shop_table tr.twbb-shipping-totals-title td{padding-bottom:4px!important}
.woocommerce table.shop_table tr.twbb-shipping-totals-items th,.woocommerce table.shop_table tr.twbb-shipping-totals-items td{border-top:0!important;padding:7px 0!important;vertical-align:middle;font-size:15px;font-weight:500;color:var(--text-2)}
.woocommerce table.shop_table tr.twbb-shipping-totals-items.twbb-shipping-last th,.woocommerce table.shop_table tr.twbb-shipping-totals-items.twbb-shipping-last td{padding-bottom:14px!important}
.woocommerce table.shop_table tr.twbb-shipping-totals-items td{text-align:right}
.twbb-shipping-totals-items .shipping-method-label,.twbb-shipping-totals-items bdi{opacity:1!important}
.twbb-shipping-totals-items label{display:inline;vertical-align:middle;cursor:pointer;margin:0;white-space:normal}
.twbb-shipping-totals-items input[type=radio],.woocommerce-shipping-totals ul#shipping_method input[type=radio]{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0 10px 0 0!important;vertical-align:middle;position:relative;top:-1px;border:1.5px solid #cfc7b4;border-radius:50%;background:#fff;cursor:pointer;flex:none}
.twbb-shipping-totals-items input[type=radio]:checked,.woocommerce-shipping-totals ul#shipping_method input[type=radio]:checked{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 4px #fff}
.twbb-shipping-totals-items input[type=radio]:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.woocommerce table.shop_table tr.twbb-shipping-totals-items:has(input:checked) th,.woocommerce table.shop_table tr.twbb-shipping-totals-items:has(input:checked) td{color:var(--text);font-weight:700}
