/*
 * 120to90 WooCommerce brand skin.
 * Twenty Twenty Five renders the store on a light base. These rules repaint the product,
 * cart, checkout and order received pages in the brand dark theme with Barlow fonts and
 * the orange action button. Scoped to WooCommerce body classes so the rest of the site
 * is untouched. Loaded only on store pages from functions.php.
 */

:root{
	--bg:#101113;--surface:#191b1e;--raised:#1f2226;--border:#2c3036;
	--text:#e8e6e1;--muted:#989b9f;--orange:#ff6b2c;--lime:#c8f64a;
}

/* page base */
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.single-product,
body.woocommerce-order-received{
	background:var(--bg);
	color:var(--text);
	font-family:'Barlow',system-ui,-apple-system,sans-serif;
}
body.woocommerce-page .wp-site-blocks,
body.single-product .wp-site-blocks{background:var(--bg)}

/* site header and footer template parts, keep them on brand */
body.woocommerce-page header.wp-block-template-part,
body.woocommerce-page footer.wp-block-template-part,
body.single-product header.wp-block-template-part,
body.single-product footer.wp-block-template-part{background:var(--bg);border-color:var(--border)}

/* headings and text */
body.woocommerce-page h1,body.woocommerce-page h2,body.woocommerce-page h3,
body.single-product h1,body.single-product h2,body.single-product h3,
body.woocommerce-checkout h1,body.woocommerce-checkout h3,body.woocommerce-cart h1{
	font-family:'Barlow Condensed',sans-serif;font-weight:800;color:var(--text);line-height:1.06
}
.woocommerce p,.woocommerce li,.woocommerce td,.woocommerce th,.woocommerce label,
.woocommerce-page p,.woocommerce-page label{color:var(--text)}
.woocommerce a:not(.button):not(.wp-block-button__link){color:var(--orange)}

/* single product layout */
.single-product div.product .product_title{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:.2em}
.single-product div.product p.price,
.single-product div.product span.price,
.woocommerce div.product p.price ins{color:var(--lime);font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:2rem}
.woocommerce div.product p.price{font-size:2rem}
.single-product .woocommerce-product-details__short-description{color:var(--muted);font-size:1.05rem}
.single-product .woocommerce-product-gallery{background:var(--raised);border:1px solid var(--border);border-radius:12px}

/* the orange action buttons everywhere */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .wp-block-button__link,
.woocommerce #place_order,
.woocommerce button.button.alt,
.woocommerce a.button.alt{
	background:var(--orange);color:#101113;
	font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;
	border:none;border-radius:6px;padding:14px 24px;font-size:1.1rem;min-height:52px;cursor:pointer;
	transition:background .15s ease
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover,
.woocommerce button.button.alt:hover{background:#ff7d44;color:#101113}

/* quantity, inputs, selects */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input,
.woocommerce table.cart input,
.woocommerce #order_review input,
.woocommerce select,
.select2-container--default .select2-selection--single{
	background:var(--surface)!important;color:var(--text)!important;
	border:1px solid var(--border)!important;border-radius:8px!important;
	min-height:48px;padding:10px 12px
}
.woocommerce form .form-row input.input-text::placeholder{color:var(--muted)}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);line-height:46px}
.select2-dropdown{background:var(--surface);border:1px solid var(--border);color:var(--text)}
.select2-results__option--highlighted{background:var(--orange)!important;color:#101113!important}

/* tables, cart and order review */
.woocommerce table.shop_table,
.woocommerce table.cart,
.woocommerce-checkout #order_review,
.woocommerce .cart_totals table{
	background:var(--surface);border:1px solid var(--border);border-radius:12px;border-collapse:separate;overflow:hidden
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td{border-color:var(--border);color:var(--text)}
.woocommerce table.shop_table tfoot th,
.woocommerce-checkout #order_review .order-total .amount{color:var(--lime)}

/* coupon, totals labels */
.woocommerce-checkout #order_review_heading,
.woocommerce .cart-collaterals h2{font-family:'Barlow Condensed',sans-serif}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
	background:var(--surface);border-top:3px solid var(--orange);color:var(--text);border-radius:8px
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--orange)}

/* order received, the access confirmation */
.woocommerce-order .woocommerce-thankyou-order-received{
	font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.8rem;color:var(--text)
}
.t90-access{
	background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--lime);
	border-radius:10px;padding:18px 20px;margin:18px 0
}
.t90-access b{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;display:block;margin-bottom:4px}
.t90-access a{color:var(--orange);word-break:break-word}

/* hide shipping leftovers for a digital product, defensive */
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-cart .shipping{display:none}

/* focus states for accessibility */
.woocommerce a:focus-visible,.woocommerce button:focus-visible,
.woocommerce input:focus-visible,.woocommerce select:focus-visible{outline:3px solid var(--lime);outline-offset:2px}

/* stronger overrides for notices, payment box and table headers that Woo and the
   parent theme paint light by default */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce form.checkout_coupon,
.woocommerce-checkout #payment,
.woocommerce-checkout #payment .woocommerce-info{
	background:#191b1e !important;color:#e8e6e1 !important;border-radius:10px
}
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a{color:#ff6b2c !important}
.woocommerce-checkout #payment{border:1px solid #2c3036;padding:6px 16px}
.woocommerce-checkout #payment .payment_methods li{color:#e8e6e1}
.woocommerce table.shop_table thead th,
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td{background:#1f2226 !important;color:#e8e6e1}
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tbody th{background:transparent}
.woocommerce-checkout #payment .place-order{background:transparent}

/* block based notice banners, used by Woo 10 for cart and checkout messages */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-warning{
	background:#191b1e !important;color:#e8e6e1 !important;border-radius:10px
}
.wc-block-components-notice-banner.is-success{border-left:3px solid #c8f64a}
.wc-block-components-notice-banner.is-error{border-left:3px solid #ff6b2c}
.wc-block-components-notice-banner.is-info{border-left:3px solid #ff6b2c}
.wc-block-components-notice-banner__content,
.wc-block-components-notice-banner p{color:#e8e6e1 !important}
.wc-block-components-notice-banner a{color:#ff6b2c !important}
.wc-block-components-notice-banner > svg{fill:#c8f64a;background:transparent}

/* minimal branded chrome, replace the parent theme header nav and demo footer */
body.woocommerce-page header.wp-block-template-part,
body.woocommerce-page footer.wp-block-template-part,
body.single-product header.wp-block-template-part,
body.single-product footer.wp-block-template-part{display:none !important}

.t90-store-bar{border-bottom:1px solid var(--border);background:var(--bg)}
/* match the store content column to the page templates (720px), and align the chrome to it */
body.woocommerce-page,
body.single-product{
	--wp--style--global--content-size:720px;
	--wp--style--global--wide-size:720px;
}

.t90-store-bar .t90-store-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
	max-width:720px;margin:0 auto;padding:14px 20px}
.t90-store-brand{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:1px;
	color:var(--text);text-decoration:none}
.t90-store-brand span{color:var(--orange)}
.t90-store-cart{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;
	font-size:.95rem;color:var(--orange);text-decoration:none}
.t90-store-brand:focus-visible,.t90-store-cart:focus-visible{outline:3px solid var(--lime);outline-offset:2px}

.t90-store-foot{border-top:1px solid var(--border);background:var(--bg);margin-top:48px}
.t90-store-foot .t90-store-wrap{max-width:720px;margin:0 auto;padding:24px 20px 36px}
.t90-store-foot nav a{color:var(--muted);margin-right:18px;font-size:.9rem;text-decoration:none}
.t90-store-foot nav a:hover{color:var(--text)}
.t90-store-foot p{color:var(--muted);font-size:.85rem;margin:.8em 0 0}

/* single digital item, so use one full width checkout column instead of the two col split,
   and drop the now empty additional information section (order notes were removed) */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
	width:100%;float:none;margin:0 0 1em
}
.woocommerce-additional-fields:not(:has(.form-row)){display:none}

/* my-account: the account .woocommerce wrapper carries its own max-width and ignores the
   layout content-size, so constrain it to the brand column and centre it like the rest. */
body.woocommerce-account .woocommerce,
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register{
	max-width:720px !important;
	margin-left:auto !important;
	margin-right:auto !important;
}
/* the block template page title sits in a wider padded group, so pull it into the same
   720px column as the store content. Excludes the single product, which has its own title. */
body.woocommerce-page:not(.single-product) h1.wp-block-post-title{
	max-width:720px !important;
	margin-left:auto !important;
	margin-right:auto !important;
}

/* ===========================================================================
   Order received, the branded receipt (template woocommerce/checkout/thankyou.php)
   =========================================================================== */
.t90-receipt{max-width:600px;margin-left:auto;margin-right:auto}

/* headline */
.t90-receipt .woocommerce-thankyou-order-received{
	font-family:'Barlow Condensed',sans-serif;font-weight:800;
	font-size:clamp(1.7rem,5vw,2.2rem);line-height:1.05;color:#e8e6e1;
	text-align:center;margin:4px 0 22px;padding:0;background:none;border:none
}

/* access panel, the main next step */
.t90-receipt-access{
	background:#191b1e;border:1px solid #2c3036;border-left:3px solid #c8f64a;
	border-radius:12px;padding:26px 24px;margin:0 0 26px;text-align:center
}
.t90-receipt-access .t90-paid{
	display:inline-block;border:1px solid #c8f64a;color:#c8f64a;
	font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
	letter-spacing:2px;font-size:.7rem;padding:4px 12px;border-radius:20px
}
.t90-receipt-access h2{
	font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:2rem;
	color:#e8e6e1;margin:12px 0 8px;line-height:1
}
.t90-receipt-access p{color:#989b9f;margin:0 0 18px;font-size:1rem;line-height:1.55}
.t90-app-btn{
	display:block;width:100%;background:#ff6b2c;color:#101113;
	font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
	letter-spacing:1px;font-size:1.2rem;border-radius:6px;padding:15px 22px;min-height:54px;
	text-decoration:none
}
.t90-app-btn:hover{background:#ff7d44;color:#101113}
.t90-guide-line{margin:16px 0 0 !important;font-size:.92rem}
.t90-guide-line a{color:#ff6b2c}

/* the order summary as a clean receipt list */
.t90-receipt ul.woocommerce-order-overview{
	display:block;list-style:none;margin:0 0 26px;padding:0;
	border:1px solid #2c3036;border-radius:12px;overflow:hidden;background:#191b1e
}
.t90-receipt ul.woocommerce-order-overview li{
	display:flex;justify-content:space-between;align-items:baseline;gap:16px;
	float:none;width:auto;border:none;border-bottom:1px solid #2c3036;
	margin:0;padding:13px 18px;text-transform:uppercase;letter-spacing:1px;
	font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;color:#989b9f
}
.t90-receipt ul.woocommerce-order-overview li:last-child{border-bottom:none}
.t90-receipt ul.woocommerce-order-overview li strong{
	color:#e8e6e1;font-family:'Barlow',sans-serif;font-weight:600;
	text-transform:none;letter-spacing:0;font-size:1rem;text-align:right
}

/* hide the order-again button, this is a one off digital product */
.t90-receipt .order-again{display:none}

/* ===========================================================================
   Order received, the block Order Confirmation skinned as the brand receipt.
   WooCommerce renders this with wc-block-order-confirmation-* blocks on a block theme.
   =========================================================================== */
.wc-block-order-confirmation-status,
.wc-block-order-confirmation-summary,
.wc-block-order-confirmation-totals-wrapper,
.wc-block-order-confirmation-downloads-wrapper,
.wc-block-order-confirmation-downloads,
.wc-block-order-confirmation-address-wrapper,
.wc-block-order-confirmation-additional-information,
.wc-block-order-confirmation-create-account{
	max-width:600px !important;margin-left:auto;margin-right:auto;float:none
}

/* the status block holds the headline, intro text and our access card as direct children.
   Make it a flex column and push the card below the headline with order. */
.wc-block-order-confirmation-status{display:flex;flex-direction:column}
.wc-block-order-confirmation-status > h1,
.wc-block-order-confirmation-status > h2{
	order:0;font-family:'Barlow Condensed',sans-serif;font-weight:800;
	font-size:clamp(2rem,6vw,2.8rem);line-height:1.04;color:#e8e6e1;margin:0 0 .25em;text-align:center
}
.wc-block-order-confirmation-status > p{
	order:0;color:#989b9f;text-align:center;margin:0 0 6px;font-size:1.05rem;line-height:1.55
}
.wc-block-order-confirmation-status .t90-receipt-access{order:1;margin-top:20px}

/* the access card reuses the .t90-receipt-access styles defined above */

/* order summary list (number, date, email, payment) */
.wc-block-order-confirmation-summary-list{
	display:block;list-style:none;margin:0;padding:0;
	border:1px solid #2c3036;border-radius:12px;overflow:hidden;background:#191b1e
}
.wc-block-order-confirmation-summary-list-item{
	display:flex;justify-content:space-between;align-items:baseline;gap:16px;
	margin:0;padding:13px 18px;border:none;border-bottom:1px solid #2c3036;
	text-transform:uppercase;letter-spacing:1px;font-family:'Barlow Condensed',sans-serif;
	font-weight:700;font-size:.78rem;color:#989b9f
}
.wc-block-order-confirmation-summary-list-item:last-child{border-bottom:none}
.wc-block-order-confirmation-summary-list-item__value{
	color:#e8e6e1;font-family:'Barlow',sans-serif;font-weight:600;
	text-transform:none;letter-spacing:0;font-size:1rem;text-align:right
}

/* totals + downloads tables */
.wc-block-order-confirmation-totals table,
.wc-block-order-confirmation-downloads table{
	width:100%;border-collapse:separate;border-spacing:0;
	border:1px solid #2c3036;border-radius:12px;overflow:hidden;background:#191b1e;color:#e8e6e1
}
.wc-block-order-confirmation-totals th,
.wc-block-order-confirmation-totals td,
.wc-block-order-confirmation-downloads th,
.wc-block-order-confirmation-downloads td{
	border:none;border-bottom:1px solid #2c3036;padding:12px 16px;color:#e8e6e1;text-align:left
}
.wc-block-order-confirmation-totals tfoot th,
.wc-block-order-confirmation-totals tfoot td{color:#c8f64a;font-weight:700}
.wc-block-order-confirmation-totals a,
.wc-block-order-confirmation-downloads a{color:#ff6b2c}
.wc-block-order-confirmation-totals h3,
.wc-block-order-confirmation-downloads h3,
.wc-block-order-confirmation-address-wrapper h3{
	font-family:'Barlow Condensed',sans-serif;font-weight:800;color:#e8e6e1;
	font-size:1.2rem;margin:22px 0 10px
}

/* billing address block */
.wc-block-order-confirmation-address-wrapper address,
.wc-block-order-confirmation-address{color:#989b9f;font-style:normal;line-height:1.6}
