/*
Theme Name: Grimfjord Child
Template: blocksy
Version: 1.0.0
*/
:root{
  --gj-bg:#141414; --gj-panel:#23262B; --gj-ink:#E8E4DC; --gj-muted:#98948C;
  --gj-ember:#C25E36; --gj-line:#33373D; --gj-radius:0px;
}
body{background:var(--gj-bg);color:var(--gj-ink);font-family:'Barlow',sans-serif;}
h1,h2,h3,.gj-caps{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em;}
html body h1,html body h2,html body h3,html body h4{font-family:'Oswald',sans-serif!important;}
html body{background:var(--gj-bg);}
.gj-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.gj-section{padding:86px 0;}
.gj-eyebrow{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gj-ember);margin:0 0 14px;}
.gj-h2{font-size:clamp(30px,4vw,52px);margin:0 0 16px;text-transform:uppercase;}
/* hide blocksy footer */
footer.ct-footer{display:none!important;}
/* hero */
.gj-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;border-bottom:2px solid var(--gj-ember);overflow:hidden;}
.gj-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05);}
.gj-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,20,20,.25) 0%, rgba(20,20,20,.94) 82%);}
.gj-hero .inner{position:relative;z-index:2;padding:0 0 84px;}
.gj-hero h1{font-size:clamp(48px,7vw,96px);line-height:.98;margin:12px 0 20px;text-transform:uppercase;color:#E8E4DC;}
.gj-hero h1 em{font-style:normal;color:var(--gj-ember);}
.gj-hero p{color:#C9C4BA;max-width:52ch;font-size:16px;line-height:1.75;}
.gj-hero .gj-eyebrow{color:#D97B4F;}
/* dark header for blocksy - inner rows carry their own background from the customizer */
header.ct-header{background:#141414!important;border-bottom:1px solid var(--gj-line);}
header.ct-header div,header.ct-header .ct-container,header.ct-header .ct-container-full{background-color:transparent!important;}
header.ct-header a,header.ct-header .site-title,header.ct-header button,header.ct-header span,header.ct-header [data-id]{color:#E8E4DC!important;}
header.ct-header svg{fill:#E8E4DC!important;}
header.ct-header .ct-header-text{color:#B8B2A8!important;}
.gj-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;}
.gj-btn{display:inline-block;padding:17px 44px;background:var(--gj-ember);color:#141414!important;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gj-ember);}
.gj-btn:hover{background:transparent;color:var(--gj-ember)!important;}
.gj-btn.ghost{background:transparent;color:var(--gj-ink)!important;border-color:var(--gj-line);}
.gj-btn.ghost:hover{border-color:var(--gj-ember);color:var(--gj-ember)!important;}
/* mantra strip */
.gj-mantra{background:var(--gj-ember);color:#141414;}
.gj-mantra .row{display:flex;gap:60px;justify-content:center;padding:20px 0;flex-wrap:wrap;}
.gj-mantra span{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;}
/* big tiles */
.gj-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--gj-line);}
.gj-tile{position:relative;display:block;text-decoration:none;color:var(--gj-ink);overflow:hidden;aspect-ratio:3/4;border-right:1px solid var(--gj-line);}
.gj-tile:last-child{border-right:0;}
.gj-tile img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4);transition:.45s;}
.gj-tile:hover img{filter:grayscale(0);transform:scale(1.04);}
.gj-tile .cap{position:absolute;left:0;right:0;bottom:0;padding:20px;background:linear-gradient(transparent, rgba(20,20,20,.95));}
.gj-tile h3{font-size:24px;margin:0;color:var(--gj-ink);}
.gj-tile span{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.26em;color:var(--gj-ember);text-transform:uppercase;}
/* grid */
.gj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gj-line);border:1px solid var(--gj-line);}
.gj-card{background:var(--gj-bg);text-decoration:none;color:var(--gj-ink);display:block;padding:20px 20px 26px;}
.gj-card img{width:100%;aspect-ratio:3/4;object-fit:cover;margin-bottom:18px;}
.gj-card h3{font-size:20px;margin:0 0 8px;}
.gj-card .price{color:var(--gj-muted);font-size:14px;letter-spacing:.05em;}
.gj-card .price s{opacity:.45;margin-right:8px;}
.gj-card .stamp{display:inline-block;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gj-ember);border:1px solid var(--gj-ember);padding:4px 10px;margin-bottom:14px;}
/* forge story */
.gj-story{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--gj-line);}
.gj-story img{width:100%;height:100%;min-height:420px;object-fit:cover;filter:grayscale(.25);}
.gj-story .txt{padding:64px 56px;background:var(--gj-panel);}
.gj-story p{color:var(--gj-muted);line-height:1.85;margin-bottom:18px;}
/* guarantee */
.gj-guar{border-top:2px solid var(--gj-ember);border-bottom:2px solid var(--gj-ember);}
.gj-guar .row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center;padding:56px 0;}
.gj-guar h3{font-size:17px;margin:10px 0 6px;}
.gj-guar p{color:var(--gj-muted);font-size:13.5px;line-height:1.7;}
.gj-guar .ico{font-size:26px;color:var(--gj-ember);}
/* reviews */
.gj-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.gj-rev{background:var(--gj-panel);border-left:3px solid var(--gj-ember);padding:28px;}
.gj-rev .stars{color:var(--gj-ember);letter-spacing:.2em;font-size:12px;}
.gj-rev p{line-height:1.75;margin:12px 0 14px;font-size:15px;}
.gj-rev .who{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gj-muted);}
/* faq */
.gj-faq{max-width:780px;margin:0 auto;}
.gj-faq details{border:1px solid var(--gj-line);margin-bottom:10px;background:var(--gj-panel);}
.gj-faq summary{cursor:pointer;font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:.06em;text-transform:uppercase;list-style:none;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;}
.gj-faq summary::after{content:"+";color:var(--gj-ember);font-size:20px;}
.gj-faq details[open] summary::after{content:"\2013";}
.gj-faq p{color:var(--gj-muted);line-height:1.75;padding:0 22px 20px;margin:0;}
/* footer */
.gj-footer{background:#0E0E0E;border-top:1px solid var(--gj-line);padding:60px 0 36px;color:var(--gj-muted);font-size:14px;}
.gj-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
.gj-footer h4{color:var(--gj-ink);font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.26em;text-transform:uppercase;margin:0 0 16px;font-weight:500;}
.gj-footer a{color:var(--gj-muted);text-decoration:none;line-height:2.15;display:inline-block;}
.gj-footer a:hover{color:var(--gj-ember);}
.gj-footer .brand{font-family:'Oswald',sans-serif;font-size:28px;letter-spacing:.08em;color:var(--gj-ink);text-transform:uppercase;}
.gj-footer .base{border-top:1px solid var(--gj-line);margin-top:42px;padding-top:20px;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
@media(max-width:960px){.gj-tiles{grid-template-columns:1fr 1fr;}.gj-grid{grid-template-columns:1fr;}.gj-story{grid-template-columns:1fr;}.gj-reviews{grid-template-columns:1fr;}.gj-guar .row{grid-template-columns:1fr 1fr;}.gj-footer .cols{grid-template-columns:1fr 1fr;}}

/* --- brand buttons (woo) --- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.single_add_to_cart_button,
.wc-block-components-button,body .woocommerce-message .button{
  background:var(--gj-ember)!important;color:#141414!important;border:1px solid var(--gj-ember)!important;border-radius:0!important;
  font-family:'Oswald',sans-serif!important;font-size:13px!important;letter-spacing:.22em!important;text-transform:uppercase!important;padding:17px 40px!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.single_add_to_cart_button:hover,
.wc-block-components-button:hover{background:transparent!important;color:var(--gj-ember)!important;}
.woocommerce .quantity input{background:#23262B!important;color:#E8E4DC!important;border:1px solid var(--gj-line)!important;border-radius:0!important;}

/* --- woocommerce pages in the forge world (theme defaults are dark ink on dark bg) --- */
.woocommerce div.product .product_title,.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce div.product p.price ins,.woocommerce div.product p.price del,
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-product-details__short-description p,
.woocommerce div.product .woocommerce-tabs .panel,.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .product_meta,.woocommerce div.product .product_meta a,
.woocommerce-breadcrumb,.woocommerce-breadcrumb a,
.woocommerce div.product form.cart .variations label,.woocommerce div.product form.cart .variations td.label,
.woocommerce .woocommerce-result-count,.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price del,.woocommerce-page h1.page-title,.woocommerce h1.entry-title,
.woocommerce .cart_totals h2,.woocommerce table.shop_table,.woocommerce table.shop_table td,
.woocommerce table.shop_table th,.woocommerce-cart .cart-empty,.woocommerce-info,.woocommerce-message,
.woocommerce form.checkout h3,.woocommerce .woocommerce-checkout h3,
.woocommerce .woocommerce-additional-fields h3,.woocommerce ul.order_details li,
.woocommerce .woocommerce-order p,.woocommerce .woocommerce-order h2,
.woocommerce form.login label,.woocommerce form.register label,
.woocommerce-account .woocommerce-MyAccount-navigation a,.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce .woocommerce-customer-details address,.woocommerce-column__title,
.woocommerce div.product .stock,.woocommerce div.product .woocommerce-variation-price{color:var(--gj-ink)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--gj-ember)!important;}
.woocommerce div.product form.cart .variations select,.woocommerce .quantity input,
.woocommerce .woocommerce-ordering select,.woocommerce form.checkout input[type=text],
.woocommerce form.checkout input[type=email],.woocommerce form.checkout input[type=tel],
.woocommerce form.checkout input[type=password],.woocommerce form.checkout textarea,
.woocommerce form.checkout select,.woocommerce form.login input[type=text],
.woocommerce form.login input[type=password],.woocommerce-EditAccountForm input,
.woocommerce .select2-container .select2-selection,.woocommerce .select2-dropdown
{background:var(--gj-panel)!important;color:var(--gj-ink)!important;border:1px solid var(--gj-line)!important;}
.woocommerce table.shop_table,.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--gj-line)!important;}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--gj-panel)!important;}
.woocommerce-info::before,.woocommerce-message::before{color:var(--gj-ember)!important;}
.woocommerce span.onsale{background:var(--gj-ember)!important;color:#141414!important;font-weight:600!important;}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:var(--gj-ember)!important;}

/* archive / shop title band: the theme renders a light banner that fights the dark world */
.entry-hero-container-inner,.entry-hero,.hero-container,.page-hero,.site-content .page-header,
.woocommerce-products-header,.woocommerce-products-header .page-title,
.ct-container-full[data-content] > .page-title,.ct-page-title,
.woocommerce-page .entry-header,.archive .entry-header{background-color:var(--gj-bg)!important;}
.entry-hero-container-inner h1,.entry-hero h1,.page-hero h1,.woocommerce-products-header h1,
.wp-block-woocommerce-product-categories + h1,.ct-page-title h1,.page-title.archive-title,
h1.page-title,header.entry-header h1{
  color:var(--gj-ink)!important;font-family:'Oswald',serif!important;
}
.woocommerce-products-header .term-description,.term-description,.archive-description{color:var(--gj-muted)!important;}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering select{background:var(--gj-panel)!important;}

/* hero-section + blocksy hero rows carry their own light background */
.hero-section,.ct-hero-section,.hero-section .ct-container,.ct-container-full .hero-section,
.hero-section-inner,.ct-hero,.page-hero-section{background-color:var(--gj-bg)!important;}
.hero-section h1,.hero-section .page-title{color:var(--gj-ink)!important;}
.hero-section .entry-meta,.hero-section .term-description{color:var(--gj-muted)!important;}
.hero-section::before,.hero-section::after{display:none!important;}

/* --- woocommerce BLOCKS (cart / checkout / product grid) in the dark world --- */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wp-block-woocommerce-cart-cross-sells,
.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar,.wc-block-cart,.wc-block-checkout,
.wp-block-heading,.wc-block-components-title,.wc-block-cart__empty-cart__title,
.wc-block-grid__product-title,.wc-block-grid__product-title a,
.wc-block-grid__product-price,.wc-block-grid__product-price .amount,
.wc-block-grid__product-price ins,.wc-block-grid__product-price del,
.wc-block-components-product-name,.wc-block-components-product-price,
.wc-block-components-product-price__value,.wc-block-components-product-details,
.wc-block-cart-item__prices,.wc-block-cart-item__total,.wc-block-cart-item__total-price-and-sale-badge,
.wc-block-components-totals-item,.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,.wc-block-components-totals-footer-item,
.wc-block-components-order-summary-item__description,.wc-block-components-order-summary-item__total-price,
.wc-block-components-panel__button,.wc-block-components-review-list-item__text,
.wc-block-components-notice-banner,.wc-block-components-notice-banner__content,
.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-shipping-rates-control__package,.wc-block-components-radio-control__option,
.wc-block-components-radio-control__label,.wc-block-components-checkbox__label,
.wc-block-components-validation-error,.wc-block-cart__submit-button__text,
.wc-block-checkout__sidebar .wc-block-components-totals-item,
.wc-block-components-order-summary__content,.wc-block-components-order-summary-item__quantity{color:var(--gj-ink)!important;}
.wc-block-components-title,.wc-block-cart__empty-cart__title,.wp-block-heading{font-family:'Oswald',sans-serif!important;}
.wc-block-grid__product-price del,.wc-block-components-product-price del{color:var(--gj-muted)!important;}
.wc-block-components-product-sale-badge,.wc-block-grid__product-onsale{background:var(--gj-ember)!important;color:#141414!important;border:0!important;}
.wc-block-components-text-input input,.wc-block-components-text-input textarea,
.wc-block-components-select select,.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-quantity-selector,.wc-block-components-quantity-selector input,
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-address-form input,.wc-block-components-address-form select,
.wc-block-cart .wc-block-components-quantity-selector__input{background:var(--gj-panel)!important;color:var(--gj-ink)!important;border:1px solid var(--gj-line)!important;}
.wc-block-components-quantity-selector__button{color:var(--gj-ink)!important;}
.wc-block-components-notice-banner{background:var(--gj-panel)!important;border-color:var(--gj-line)!important;}
.wc-block-cart-items,.wc-block-cart-items td,.wc-block-cart-items th,
.wc-block-components-order-summary,.wc-block-components-totals-item{border-color:var(--gj-line)!important;}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{background:var(--gj-panel)!important;}
.wc-block-components-button:not(.is-link){color:#141414!important;}
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{filter:invert(.85);}
