/* WooCommerce, blog and page looks on the dark Grimey theme (cart and checkout are the WooCommerce blocks) */
:root{color-scheme:dark}
body{padding-top:0}
.gwrap{padding:calc(var(--bar-h) + 2rem) var(--gutter) 0;max-width:72rem;margin:0 auto}
.gtitle{font:400 clamp(3rem,1.6rem + 6vw,7rem)/.9 var(--display);margin:.2rem 0 1.4rem}
.gbody{font-size:1.1rem;line-height:1.75;max-width:46rem}.gbody a{text-underline-offset:3px}
.gbody img{border-radius:12px;height:auto}.gbody h2,.gbody h3{font-family:var(--display);font-weight:400;line-height:1}.gbody h2{font-size:2.6rem}.gbody h3{font-size:2rem}
.gcards{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr))}
.gcard{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--hair);aspect-ratio:4/3;background:var(--surface);display:block;color:inherit;text-decoration:none;isolation:isolate}
.gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.8);transition:transform .9s var(--ease)}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,10,9,.92),rgba(12,10,9,.1) 60%);z-index:1}
.gcard-t{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;z-index:3;transition:transform .5s var(--ease)}
.gcard-t h2{margin:0 0 .3rem;font:400 clamp(1.8rem,1.2rem + 1.6vw,2.6rem)/.95 var(--display)}.gcard-t span{color:var(--ink-soft);font-size:.85rem}
.gcard-r{position:absolute;inset:auto 0 0 0;z-index:2;background:linear-gradient(180deg,color-mix(in oklab,var(--blood) 92%,#000),#2a0508);padding:1.1rem 1.3rem 1.2rem;transform:translateY(101%);transition:transform .55s var(--ease)}
.gcard-r p{margin:0 0 .6rem;font-size:.95rem;line-height:1.5}.gcard-r b{font:700 .85rem/1 var(--text);letter-spacing:.06em;text-transform:uppercase}
@media(hover:hover){.gcard:hover .gcard-r,.gcard:focus-visible .gcard-r{transform:none}.gcard:hover .gcard-t,.gcard:focus-visible .gcard-t{transform:translateY(-8.4rem)}.gcard:hover img{transform:scale(1.05)}}
.gnext{margin:2rem 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--hair2);border-radius:var(--r);padding:1.4rem;background:linear-gradient(90deg,color-mix(in oklab,var(--blood) 55%,var(--surface)),var(--surface))}
.gnext b{font:400 1.7rem/1 var(--display);display:block}.gnext span{color:var(--ink-soft);font-size:.92rem}
/* comments */
.gcomments{max-width:46rem;margin:3rem 0 0;border-top:1px solid var(--hair);padding-top:2rem}
.gc-title{font:400 clamp(2rem,1.4rem + 2vw,3rem)/1 var(--display);margin:0 0 1rem}
.gc-reply{font:400 clamp(1.6rem,1.2rem + 1.4vw,2.2rem)/1 var(--display);margin:2.2rem 0 .8rem}
.gc-notice{background:var(--surface);border:1px solid var(--hair2);border-radius:12px;padding:1rem 1.2rem;margin:0 0 1.2rem}
.gc-list,.gc-list ol{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.gc-list ol{margin:1rem 0 0 1.2rem}
.gc-item article{border:1px solid var(--hair);border-radius:var(--r);background:var(--surface);padding:1.1rem 1.3rem}
.gc-item header{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;margin-bottom:.4rem}
.gc-item header b{font-size:1.05rem}.gc-item time{color:var(--ink-soft);font-size:.85rem}
.gc-text p{margin:.4rem 0}
.gc-note{color:var(--ink-soft);font-size:.95rem;margin:0 0 1rem}
.gc-field{display:grid;gap:.35rem;margin:0 0 1rem}.gc-field label{font-weight:700;font-size:.95rem}.gc-field label span{font-weight:400;color:var(--ink-soft)}
.gc-field input,.gc-field textarea{background:var(--surface);color:var(--ink);border:1px solid var(--hair2);border-radius:12px;padding:.7rem .9rem;font:400 1rem/1.5 var(--text);width:100%;min-height:48px}
.gc-field textarea{min-height:9rem;resize:vertical}
.gc-field select{background:var(--surface);color:var(--ink);border:1px solid var(--hair2);border-radius:12px;padding:.7rem .9rem;font:400 1rem/1.5 var(--text);width:100%;min-height:48px}
.gcontact{max-width:40rem;margin-top:1.4rem}
.gpage .gbody{max-width:46rem}.gpage .gbody>p:first-of-type{font-size:1.3rem;line-height:1.55;color:var(--ink)}
.gpage .gbody blockquote,.gbody .grimey-line{border-left:3px solid var(--blood);margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;font:400 clamp(1.6rem,1.2rem + 1.6vw,2.4rem)/1.1 var(--display)}
.gc-check{margin:0 0 1.1rem}.gc-check label{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;line-height:1.45;color:var(--ink-soft)}
.gc-check input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--blood);flex:none}
.gc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.gempty{color:var(--ink-soft)}.gthumb img{border-radius:var(--r);margin-bottom:1.4rem;width:100%;height:auto}
.pagination,.nav-links{display:flex;gap:.6rem;margin:1.6rem 0}.page-numbers{border:1px solid var(--hair2);border-radius:999px;padding:.4rem .9rem;text-decoration:none}.page-numbers.current{background:var(--blood)}
/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--hair2)!important;border-radius:12px!important;padding:1rem 1.2rem;list-style:none;margin:0 0 1rem}
.woocommerce-message a.button,.woocommerce-message .wc-forward{margin-left:.6rem}
/* cart + checkout blocks */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.wc-block-cart,.wc-block-checkout{color:var(--ink)}
.wc-block-components-text-input input,.wc-block-components-text-input textarea,.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-form .wc-block-components-select select,.wc-blocks-components-select__select,.wc-block-components-textarea,.wc-block-components-address-form select{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--hair2)!important;border-radius:12px!important}
.wc-block-components-text-input label,.wc-block-components-combobox-control label{color:var(--ink-soft)!important}
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--blood)!important;color:var(--ink)!important;border:1px solid var(--hair2)!important;border-radius:999px!important;font-weight:700;min-height:48px}
.wc-block-components-button:not(.is-link):hover{border-color:color-mix(in oklab,var(--ink) 55%,transparent)!important}
.wc-block-components-totals-wrapper,.wc-block-cart__main,.wc-block-components-sidebar,.wc-block-components-order-summary,.wc-block-components-panel,.wc-block-components-radio-control__option,.wc-block-checkout__sidebar,.wc-block-components-product-name{border-color:var(--hair)!important}
.wc-block-components-radio-control__option,.wc-block-components-radio-control-accordion-option{border:1px solid var(--hair2)!important;border-radius:12px;background:transparent}
.wc-block-components-radio-control__option-checked{background:color-mix(in oklab,var(--blood) 40%,var(--surface))!important}
.wc-block-components-checkout-step__title,.wc-block-cart__totals-title{font-family:var(--display)!important;font-weight:400!important;font-size:1.8rem!important}
.wc-block-components-product-metadata,.wc-block-components-product-details,.wc-block-components-totals-item__description{color:var(--ink-soft)!important}
.wc-block-components-order-summary-item__image img,.wc-block-cart-item__image img{border-radius:10px;background:#fff}
.wc-block-components-product-price .wc-block-components-product-price__value{color:var(--ink)}
.wc-block-components-checkbox .wc-block-components-checkbox__input{background:var(--surface);border-color:var(--hair2)}
/* logged-in admin bar sits above the fixed header */
body.admin-bar .bar{top:32px}@media(max-width:782px){body.admin-bar .bar{top:46px}}
/* product buy box: variations, quantity, add to cart */
form.variations_form table.variations{width:100%;border:0;margin:0 0 1rem}
form.variations_form table.variations tr{display:block}form.variations_form table.variations th,form.variations_form table.variations td{display:block;padding:0;border:0;text-align:left}
form.variations_form table.variations label{font-weight:700;display:block;margin-bottom:.5rem}
.woocommerce-variation-add-to-cart,form.cart:not(.variations_form){display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;margin:1.2rem 0 .8rem}
.quantity input.qty{width:5.2rem;min-height:48px;text-align:center;background:var(--surface);color:var(--ink);border:1px solid var(--hair2);border-radius:999px;font:700 1rem var(--text)}
button.single_add_to_cart_button{min-height:48px;border-radius:999px;background:var(--blood);color:var(--ink);border:1px solid var(--hair2);font:700 1rem var(--text);cursor:pointer;padding:.8rem 1.6rem}
button.single_add_to_cart_button.disabled{opacity:.55;cursor:not-allowed}
.single_variation_wrap .price{display:none}
/* My account and plain WooCommerce forms */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{background:var(--surface);color:var(--ink);border:1px solid var(--hair2);border-radius:12px;min-height:48px;padding:.5rem .9rem;width:100%}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--blood);color:var(--ink);border:1px solid var(--hair2);border-radius:999px;padding:.8rem 1.4rem;font-weight:700;cursor:pointer;text-decoration:none}
.woocommerce table{width:100%;border-collapse:collapse}.woocommerce th,.woocommerce td{border-bottom:1px solid var(--hair);padding:.7rem .5rem;text-align:left}

/* Download button on the order page: stop the pill shape tearing when the label wraps. */
.woocommerce a.button.woocommerce-MyAccount-downloads-file,.woocommerce-table--order-downloads .download-file a,.woocommerce a.button.download{display:inline-block;border-radius:14px;line-height:1.25;text-align:center;white-space:normal;padding:.8rem 1.2rem}
