/*
Theme Name: M&G Black & Gold
Theme URI: https://example.com/
Author: M&G
Description: A black-and-gold WooCommerce storefront theme, converted from the M&G React site. Requires WooCommerce.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: mg-theme
Tags: e-commerce, dark, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root { --background: 0 0% 3%; --foreground: 40 20% 90%; --card: 0 0% 7%; --card-foreground: 40 20% 90%; --popover: 0 0% 7%; --popover-foreground: 40 20% 90%; --primary: 40 52% 62%; --primary-foreground: 0 0% 4%; --secondary: 0 0% 12%; --secondary-foreground: 40 20% 90%; --muted: 0 0% 12%; --muted-foreground: 35 6% 62%; --accent: 40 52% 62%; --accent-foreground: 0 0% 4%; --destructive: 0 65% 55%; --destructive-foreground: 0 0% 100%; --border: 35 12% 22%; --input: 35 12% 22%; --ring: 40 52% 62%; --radius: 0.125rem; --gold: #d6b16b; --ink: #080808; --paper: #eee7db; --quiet: #aaa399; }
* { box-sizing: border-box; } body { margin: 0; background: var(--ink); color: var(--paper); font-family: 'Manrope', sans-serif; overflow-x: clip; } h1,h2,h3,.main-nav { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; } button,input,select,textarea { font: inherit; } button,a { -webkit-tap-highlight-color: transparent; } a { color: inherit; text-decoration: none; } button { cursor: pointer; } button:disabled { opacity: .5; cursor: wait; } a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

/* ---------- Minimal reset (replaces Tailwind preflight) ---------- */
*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; line-height: 1.5; }
img,svg,video { display: block; max-width: 100%; }
img,video { height: auto; }
h1,h2,h3,h4,h5,h6 { font-size: inherit; font-weight: inherit; margin: 0; }
p,figure,blockquote,dl,dd { margin: 0; }
ul,ol { margin: 0; padding: 0; list-style: none; }
table { border-collapse: collapse; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal!important; }
.screen-reader-text:focus { background:var(--gold); color:var(--ink); clip:auto; clip-path:none; display:block; height:auto; left:8px; padding:12px 18px; top:8px; width:auto; z-index:100000; }

/* ---------- Components (from the original index.css) ---------- */
.top-note { text-align:center; font-size:9px; letter-spacing:.24em; padding:11px 20px; background:#14120f; color:var(--gold); border-bottom:1px solid #30271b; }
.brand-row { max-width:1400px; margin:auto; padding:0 5%; height:102px; display:flex; align-items:center; justify-content:space-between; position:relative; }
.brand-caption { font-size:9px; letter-spacing:.23em; color:var(--quiet); } .logo { position:absolute; left:50%; transform:translateX(-50%); width:112px; height:100px; overflow:hidden; } .logo img { width:160px; height:160px; max-width:none; position:absolute; left:-24px; top:-29px; object-fit:cover; } .bag { display:flex; align-items:center; gap:10px; font-size:11px; margin-left:auto; min-height:44px; }
.main-nav { border-top:1px solid #252018; border-bottom:1px solid #362d1e; font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; font-size:21px; color:var(--gold); } .main-nav ul { display:flex; justify-content:center; gap:49px; list-style:none; margin:0; padding:0; } .main-nav a { padding:10px 0; position:relative; display:block; } .main-nav a:after { content:''; position:absolute; bottom:7px; left:0; width:100%; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .2s; } .main-nav a:hover:after,.main-nav .current-menu-item>a:after,.main-nav a.active:after { transform:scaleX(1); }
.hero { position:relative; min-height:calc(100dvh - 180px); height:660px; overflow:hidden; border-bottom:1px solid #423423; } .hero-image { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; } .hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.35) 45%,rgba(0,0,0,.03) 75%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 25%); } .hero-copy { position:relative; max-width:1400px; margin:auto; padding:70px 7% 90px; } .eyebrow { font-size:10px; letter-spacing:.23em; color:var(--gold); font-weight:500; } .hero h1 { font-size:clamp(48px,5.7vw,85px); line-height:.98; letter-spacing:-.025em; margin:29px 0 25px; } em { color:var(--gold); font-weight:400; } .hero-copy>p:not(.eyebrow) { color:#ccc5ba; font-size:12px; line-height:1.9; margin-bottom:28px; } .gold-button { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:17px 26px; background:var(--gold); color:var(--ink); border:1px solid var(--gold); font-size:11px; font-weight:600; letter-spacing:.05em; min-height:48px; transition:background .2s,transform .2s; } .gold-button:hover { background:#ecd197; } .gold-button:active { transform:scale(.98); } .hero-caption { position:absolute; bottom:23px; left:7%; right:7%; display:flex; justify-content:space-between; font-size:8px; color:#d1b989; letter-spacing:.2em; }
.collection { max-width:1400px; margin:auto; padding:70px 5%; } .section-heading { display:flex; align-items:end; justify-content:space-between; margin-bottom:30px; } .section-heading h2 { margin:10px 0 0; font-size:46px; } .text-link { display:inline-flex; align-items:center; gap:10px; color:var(--gold); font-size:11px; padding:12px 0; border-bottom:1px solid #6a5537; background:none; border-top:0; border-left:0; border-right:0; } .product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:23px; } .product-photo { aspect-ratio:3/4; background:#171716; overflow:hidden; position:relative; } .product-photo img { width:100%; height:100%; object-fit:cover; transition:transform .25s; } .product-card:hover img { transform:scale(1.035); } .product-photo>span { position:absolute; bottom:0; left:0; right:0; padding:16px; background:#080808db; font-size:10px; display:flex; justify-content:space-between; transform:translateY(100%); transition:transform .2s; } .product-card:hover .product-photo>span,.product-card:focus .product-photo>span { transform:translateY(0); } .product-label { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:15px; } .product-label h3 { margin:0; font-size:22px; } .product-label>span { font-size:11px; color:var(--gold); white-space:nowrap; } .product-card>p { font-size:7px; letter-spacing:.16em; color:var(--quiet); margin-top:9px; }
.manifesto { padding:75px 20px 90px; text-align:center; border-top:1px solid #2c251c; border-bottom:1px solid #2c251c; background:#100f0d; } .manifesto h2 { font-size:55px; line-height:1.12; margin:24px 0; } .manifesto>p:not(.eyebrow) { font-size:12px; line-height:1.9; color:var(--quiet); } .site-footer { padding:60px 6% 25px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; } .site-footer h2 { font-size:44px; color:var(--gold); margin:0; } .site-footer p { color:var(--quiet); font-size:11px; } .site-footer a { display:block; font-size:11px; margin-top:15px; } .footer-note { font-family:Georgia,serif; font-size:17px; line-height:1.7; color:#a38c65; align-self:center; } .site-footer small { grid-column:1/-1; border-top:1px solid #24211c; padding-top:24px; margin-top:24px; font-size:9px; color:var(--quiet); }
.shop-tools { max-width:1400px; margin:auto; padding:40px 5% 0; display:flex; justify-content:space-between; gap:20px; } .shop-tools label,.detail-copy label,.cart-line label { display:flex; flex-direction:column; gap:10px; color:var(--quiet); font-size:11px; } input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea { background:#141310; color:var(--paper); border:1px solid #443929; padding:13px; border-radius:2px; min-height:44px; } .page-rail { max-width:1100px; margin:auto; padding:70px 5%; min-height:55vh; } .page-rail h1,.detail h1 { font-size:60px; line-height:1.06; margin:20px 0 30px; } .empty { padding-top:60px; padding-bottom:90px; } .empty>p { margin-bottom:30px; color:var(--quiet); line-height:1.8; } .story { max-width:850px; } .story>p:not(.eyebrow) { font-size:15px; line-height:1.9; color:var(--quiet); max-width:600px; margin-bottom:25px; } .contact-block { margin-top:70px; padding-top:35px; border-top:1px solid #443929; } .contact-block h2 { font-size:35px; } .contact-block>p:last-child { color:var(--quiet); font-size:13px; line-height:1.8; }
.detail { max-width:1300px; margin:auto; padding:60px 5%; display:grid; grid-template-columns:1fr 1fr; gap:70px; } .detail-image { width:100%; aspect-ratio:3/4; object-fit:cover; background:#171716; } .detail-copy { padding-top:25px; } .detail-copy .price { color:var(--gold); font-size:21px; margin-bottom:30px; } .description { color:var(--quiet); line-height:1.9; font-size:14px; margin-bottom:30px; } .detail-copy label { margin-bottom:25px; } .detail-copy>.gold-button { width:100%; } .detail-copy>p[role] { min-height:24px; font-size:12px; color:var(--gold); } .detail-copy details { border-top:1px solid #342c20; padding:18px 0; font-size:12px; line-height:1.8; } .detail-copy summary { cursor:pointer; color:var(--gold); } .thumbnails { display:flex; gap:10px; margin-top:15px; } .thumbnails button { width:65px; border:1px solid #443929; background:none; padding:0; } .thumbnails img { width:100%; } .cart-line { display:grid; grid-template-columns:85px 1fr 90px 95px; gap:25px; align-items:center; padding:25px 0; border-bottom:1px solid #342c20; } .cart-thumb { display:block; width:85px; } .cart-thumb img { width:85px; height:110px; object-fit:cover; } .cart-line h2,.cart-line .cart-name { font-size:26px; margin:0; } .cart-line p { color:var(--quiet); font-size:11px; } .cart-line>.cart-sub { color:var(--gold); font-size:13px; text-align:right; } .cart-total { max-width:420px; margin:40px 0 0 auto; } .cart-total h2 { display:flex; justify-content:space-between; font-size:28px; } .cart-total p { font-size:11px; color:var(--quiet); line-height:1.8; } .cart-total button { width:100%; margin-top:15px; } .route-loading { position:fixed; z-index:20; top:0; left:0; right:0; background:var(--gold); color:var(--ink); text-align:center; font-size:10px; padding:4px; }
@media(max-width:760px) { .brand-caption { display:none; } .brand-row { height:90px; } .main-nav ul { gap:25px; } .main-nav { font-size:19px; } .hero { min-height:650px; height:calc(100dvh - 170px); } .hero-image { object-position:60%; } .hero-shade { background:linear-gradient(90deg,#000b,#0003),linear-gradient(0deg,#000b,transparent 60%); } .hero-copy { padding-top:75px; } .hero h1 { font-size:59px; } .hero-caption { font-size:7px; } .hero-caption span:last-child { display:none; } .collection { padding:45px 5%; } .section-heading h2 { font-size:38px; } .product-grid { grid-template-columns:repeat(2,1fr); gap:25px 15px; } .product-label { align-items:start; flex-direction:column; gap:4px; } .product-label h3 { font-size:21px; } .manifesto h2 { font-size:39px; } .site-footer { grid-template-columns:1fr 1fr; padding-top:40px; } .footer-note { grid-column:1/-1; } .shop-tools { flex-wrap:wrap; } .shop-tools label { flex:1; min-width:140px; } .page-rail h1,.detail h1 { font-size:44px; } .detail { grid-template-columns:1fr; gap:20px; padding-top:30px; } .detail-copy { padding-top:15px; } .cart-line { grid-template-columns:60px 1fr 65px; gap:12px; } .cart-thumb,.cart-thumb img { width:60px; } .cart-thumb img { height:85px; } .cart-line>.cart-sub { grid-column:2; text-align:left; } .cart-line h2,.cart-line .cart-name { font-size:22px; } .cart-line input { width:65px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition:none!important; scroll-behavior:auto!important; } }


/* =====================================================================
   WordPress / WooCommerce additions
   ===================================================================== */

/* Logo: the bundled monogram is cropped inside its frame; an uploaded logo just fits */
.logo:not(.logo--default) img { position:static; width:100%; height:100%; max-width:100%; object-fit:contain; left:auto; top:auto; }
.bag .mg-bag-count { display:inline; }
.bag svg,.gold-button svg,.text-link svg,.product-photo>span svg { display:inline-block; flex:none; }
.top-note,.brand-caption,.eyebrow { text-transform:uppercase; }
.main-nav .menu-item { margin:0; }

/* Notices */
.woocommerce-notices-wrapper { max-width:1300px; margin:auto; padding:0 5%; }
.woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { list-style:none; margin:20px 0; padding:14px 18px; border:1px solid #443929; border-left:3px solid var(--gold); background:#141310; font-size:12px; line-height:1.8; color:var(--paper); }
.woocommerce-error { border-left-color:hsl(var(--destructive)); }
.woocommerce-message a,.woocommerce-info a { color:var(--gold); border-bottom:1px solid #6a5537; }
.woocommerce-message .button { display:none; }

/* Buttons: every WooCommerce primary action wears the gold style */
.single_add_to_cart_button,.checkout-button,#place_order,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce-form-login__submit,.woocommerce-Button,.woocommerce a.button.wc-forward,.woocommerce-form-register__submit,.woocommerce .return-to-shop a,.wc-block-components-button:not(.is-link) {
  display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:17px 26px; background:var(--gold); color:var(--ink); border:1px solid var(--gold); font-size:11px; font-weight:600; letter-spacing:.05em; min-height:48px; transition:background .2s,transform .2s; text-transform:none; border-radius:0;
}
.single_add_to_cart_button:hover,.checkout-button:hover,#place_order:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover { background:#ecd197; color:var(--ink); }
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled { opacity:.5; cursor:not-allowed; }
.cart-actions button[name=update_cart],.cart-actions button[name=apply_coupon] { background:transparent; color:var(--gold); border:1px solid #6a5537; padding:13px 22px; min-height:44px; font-size:11px; letter-spacing:.05em; }
.cart-actions button[name=update_cart]:hover,.cart-actions button[name=apply_coupon]:hover { border-color:var(--gold); }
.cart-actions button:disabled { opacity:.4; cursor:not-allowed; }

/* Shop / archive */
.shop-tools { align-items:flex-end; }
.shop-tools label { flex:0 1 340px; }
.shop-tools .shop-sort { margin-left:auto; }
.collection .woocommerce-pagination { margin-top:50px; }
.woocommerce-pagination ul { display:flex; justify-content:center; gap:8px; }
.woocommerce-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 12px; border:1px solid #443929; font-size:12px; color:var(--quiet); }
.woocommerce-pagination .page-numbers.current,.woocommerce-pagination a.page-numbers:hover { border-color:var(--gold); color:var(--gold); }
.product-label>span del { opacity:.55; margin-right:6px; }
.product-label>span ins { text-decoration:none; }
.product-label>span .amount { white-space:nowrap; }
.mg-sale { position:absolute; top:12px; left:12px; z-index:2; background:var(--gold); color:var(--ink); font-size:9px; letter-spacing:.18em; padding:6px 10px; text-transform:uppercase; }
.product-card { display:block; }

/* Single product */
.detail-media { min-width:0; }
.detail .woocommerce-product-gallery { position:relative; margin:0; }
.detail .woocommerce-product-gallery__wrapper { margin:0; }
.detail .woocommerce-product-gallery__image a { display:block; }
.detail .woocommerce-product-gallery__image img,.detail .woocommerce-product-gallery img.wp-post-image { width:100%; aspect-ratio:3/4; object-fit:cover; background:#171716; }
.detail .woocommerce-product-gallery__trigger { position:absolute; top:12px; right:12px; z-index:5; width:40px; height:40px; background:#080808cc; border:1px solid #443929; border-radius:50%; font-size:0; text-indent:-9999px; overflow:hidden; }
.detail .woocommerce-product-gallery__trigger:before { content:'+'; text-indent:0; font-size:20px; line-height:38px; display:block; text-align:center; color:var(--gold); }
.detail .flex-control-thumbs { display:flex; gap:10px; margin-top:15px; flex-wrap:wrap; }
.detail .flex-control-thumbs li { width:65px; }
.detail .flex-control-thumbs img { width:100%; aspect-ratio:3/4; object-fit:cover; border:1px solid #443929; opacity:.6; cursor:pointer; }
.detail .flex-control-thumbs img.flex-active,.detail .flex-control-thumbs img:hover { opacity:1; border-color:var(--gold); }
.detail-copy .price { display:block; }
.detail-copy .price del { opacity:.55; margin-right:8px; }
.detail-copy .price ins { text-decoration:none; }
.detail-copy .description p { margin-bottom:1em; }
.detail-copy .description ul { list-style:disc; padding-left:1.2em; }
.detail-copy form.cart { margin:0 0 20px; }
.detail-copy form.cart .quantity { display:none; }
.detail-copy .single_add_to_cart_button { width:100%; }
.detail-copy table.variations { width:100%; margin-bottom:20px; }
.detail-copy table.variations td,.detail-copy table.variations th { display:block; padding:0; text-align:left; }
.detail-copy table.variations th.label { margin-bottom:10px; }
.detail-copy table.variations label { margin:0; }
.detail-copy table.variations select { width:100%; }
.detail-copy table.variations .reset_variations { display:inline-block; margin-top:8px; font-size:11px; color:var(--gold); }
.detail-copy .woocommerce-variation-price { margin-bottom:15px; color:var(--gold); font-size:18px; }
.detail-copy .woocommerce-variation-availability,.detail-copy .stock { font-size:12px; color:var(--gold); margin-bottom:12px; }
.detail-copy .stock.out-of-stock { color:hsl(var(--destructive)); }
.detail-copy details h2 { display:none; }
.detail-copy details table { width:100%; }
.detail-copy details th,.detail-copy details td { text-align:left; padding:6px 0; font-weight:400; }
.detail-copy details th { color:var(--quiet); width:35%; }
.detail-copy details a { color:var(--gold); }
.detail-copy .product_meta { display:none; }

/* Cart */
.cart-line { grid-template-columns:85px 1fr 90px 95px; }
.cart-line .cart-name a:hover { color:var(--gold); }
.cart-line .quantity { display:block; }
.cart-line .quantity input.qty { width:90px; }
.cart-line .remove { display:inline-block; margin-top:8px; font-size:11px; color:var(--gold); border-bottom:1px solid #6a5537; }
.cart-line dl.variation { font-size:11px; color:var(--quiet); display:flex; gap:6px; flex-wrap:wrap; }
.cart-line dl.variation dd p { display:inline; }
.cart-line .backorder_notification { font-size:11px; color:var(--gold); }
.cart-actions { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:25px 0; align-items:center; }
.cart-actions .coupon { display:flex; gap:10px; flex-wrap:wrap; }
.cart-actions .coupon input { min-width:180px; }
.cart-collaterals { margin-top:20px; }
.cart_totals { max-width:420px; margin:40px 0 0 auto; }
.cart_totals h2 { font-size:28px; margin-bottom:15px; }
.cart_totals table { width:100%; }
.cart_totals th,.cart_totals td { padding:14px 0; border-top:1px solid #342c20; font-size:13px; text-align:left; vertical-align:top; }
.cart_totals td { text-align:right; color:var(--gold); }
.cart_totals .order-total th,.cart_totals .order-total td { font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; color:var(--paper); }
.cart_totals .order-total td { color:var(--gold); }
.cart_totals ul#shipping_method { list-style:none; padding:0; }
.cart_totals .wc-proceed-to-checkout { margin-top:15px; }
.cart_totals .wc-proceed-to-checkout .checkout-button { width:100%; margin:0; }
.cart-note { font-size:11px; color:var(--quiet); line-height:1.8; }
.cross-sells { margin-top:50px; }

/* Checkout + account forms */
.woocommerce form .form-row { margin:0 0 18px; display:flex; flex-direction:column; gap:8px; }
.woocommerce form .form-row label { display:block; color:var(--quiet); font-size:11px; }
.woocommerce form .form-row .required { color:var(--gold); text-decoration:none; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { width:100%; }
.woocommerce form .form-row-first,.woocommerce form .form-row-last { width:100%; }
.woocommerce form .woocommerce-input-wrapper { display:block; width:100%; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color:hsl(var(--destructive)); }
.woocommerce input[type=checkbox],.woocommerce input[type=radio] { accent-color:var(--gold); }
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading,.woocommerce-account h2,.woocommerce-order h2,.woocommerce-order h3 { font-size:30px; margin:0 0 20px; }
.woocommerce-checkout form.checkout,form.woocommerce-checkout { display:grid; grid-template-columns:1.2fr 1fr; gap:0 60px; align-items:start; }
form.woocommerce-checkout #customer_details { grid-column:1; grid-row:1 / span 2; }
form.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; }
form.woocommerce-checkout #order_review { grid-column:2; grid-row:2; }
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2 { float:none; width:100%; }
.woocommerce-checkout .col2-set .col-2 { margin-top:30px; }
.woocommerce-checkout-review-order-table { width:100%; margin-bottom:25px; }
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td { padding:13px 0; border-top:1px solid #342c20; font-size:12px; text-align:left; vertical-align:top; }
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table tfoot td { text-align:right; color:var(--gold); }
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td { font-size:16px; }
.woocommerce-checkout-review-order-table .product-quantity { color:var(--quiet); }
#payment { background:transparent; }
#payment ul.payment_methods { list-style:none; padding:0; margin:0 0 20px; border-top:1px solid #342c20; }
#payment ul.payment_methods li { padding:14px 0; border-bottom:1px solid #342c20; font-size:12px; }
#payment ul.payment_methods li label { display:inline; color:var(--paper); }
#payment .payment_box { background:#141310; padding:14px; margin-top:12px; font-size:12px; color:var(--quiet); line-height:1.8; }
#payment .place-order { padding:0; }
#payment #place_order { width:100%; margin-top:10px; }
.woocommerce-privacy-policy-text { font-size:11px; color:var(--quiet); line-height:1.7; margin-bottom:15px; }
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-link { color:var(--gold); }
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info { margin-top:0; }
form.checkout_coupon,form.woocommerce-form-login { border:1px solid #443929; padding:20px; margin:0 0 30px; }

/* Order received */
.woocommerce-order .woocommerce-notice--success { font-size:14px; color:var(--quiet); line-height:1.8; margin-bottom:30px; }
.woocommerce-order-overview { display:flex; flex-wrap:wrap; gap:20px 40px; list-style:none; padding:25px 0; margin:0 0 35px; border-top:1px solid #342c20; border-bottom:1px solid #342c20; font-size:11px; color:var(--quiet); }
.woocommerce-order-overview li strong { display:block; margin-top:6px; font-size:13px; color:var(--paper); font-weight:500; }
.woocommerce-table--order-details,.woocommerce-table--customer-details { width:100%; margin-bottom:30px; }
.woocommerce-table--order-details th,.woocommerce-table--order-details td { padding:12px 0; border-top:1px solid #342c20; font-size:12px; text-align:left; }
.woocommerce-order-details,.woocommerce-customer-details { margin-top:30px; }
.woocommerce address { font-style:normal; font-size:12px; line-height:1.9; color:var(--quiet); }

/* Account */
.woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; gap:6px 26px; margin-bottom:35px; padding-bottom:18px; border-bottom:1px solid #342c20; }
.woocommerce-MyAccount-navigation a { font-size:12px; color:var(--quiet); }
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover { color:var(--gold); }
.woocommerce-account table.shop_table { width:100%; }
.woocommerce-account table.shop_table th,.woocommerce-account table.shop_table td { padding:12px 0; border-top:1px solid #342c20; font-size:12px; text-align:left; }
.woocommerce .u-columns .u-column1,.woocommerce .u-columns .u-column2 { float:none; width:100%; }
.woocommerce .u-columns { display:grid; grid-template-columns:1fr 1fr; gap:50px; }

/* select2 (country / state pickers) */
.select2-container--default .select2-selection--single { background:#141310; border:1px solid #443929; border-radius:2px; height:44px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color:var(--paper); line-height:42px; padding-left:13px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; }
.select2-dropdown { background:#141310; border:1px solid #443929; color:var(--paper); }
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected] { background:var(--gold); color:var(--ink); }
.select2-container--default .select2-search--dropdown .select2-search__field { background:#080808; color:var(--paper); border:1px solid #443929; }

/* Generic pages, posts, 404 */
.entry-content > * + * { margin-top:1.1em; }
.entry-content { font-size:14px; line-height:1.9; color:var(--quiet); }
.entry-content h2,.entry-content h3 { font-size:34px; color:var(--paper); margin-top:1.6em; }
.entry-content a:not(.gold-button):not(.button) { color:var(--gold); border-bottom:1px solid #6a5537; }
.entry-content ul { list-style:disc; padding-left:1.3em; }
.entry-content ol { list-style:decimal; padding-left:1.3em; }
.entry-content img { height:auto; }
.entry-content .alignwide { max-width:100%; }
.post-list article { padding:30px 0; border-bottom:1px solid #342c20; }
.post-list h2 { font-size:34px; margin:6px 0 10px; }
.post-list p { color:var(--quiet); font-size:13px; line-height:1.8; }
.page-rail .woocommerce { margin-top:0; }
.story-extra { margin-top:40px; }

@media(max-width:900px) {
  form.woocommerce-checkout { grid-template-columns:1fr; }
  form.woocommerce-checkout #customer_details,form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review { grid-column:1; grid-row:auto; }
  .woocommerce .u-columns { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .shop-tools label { flex:1 1 100%; }
  .shop-tools .shop-sort { margin-left:0; }
  .cart-line { grid-template-columns:60px 1fr 85px; }
  .cart-line .quantity input.qty { width:75px; }
  .cart_totals { max-width:none; }
}
