/* 420express: WordPress + WooCommerce parts on top of base.css (the reference design). */

.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!important;width:1px;word-wrap:normal!important}
@media(min-width:721px){.slide .wrap{padding:0 72px}}
.slide .h1{font-size:clamp(38px,7vw,76px);font-weight:800;max-width:14ch;margin-bottom:16px;line-height:1.1}
.ptitle{font-size:clamp(32px,5vw,48px)}
.entry>*+*{margin-top:12px}.entry ul,.entry ol{padding-left:22px}.entry a{color:var(--brand);font-weight:700}
.empty a{color:var(--brand);font-weight:700}

/* product cards & pages */
.card .add{display:inline-block;text-align:center}
.card .add.busy,.pdx .add.busy{opacity:.6;pointer-events:none}
.oos{font:700 13px var(--f-body);color:#a12622;background:#fdecea;border-radius:99px;padding:6px 12px}
.ph img.pimg,.pdi img.pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pdi{position:relative;overflow:hidden}
.pdp{flex-wrap:wrap;gap:14px}
.qt input{width:46px;border:0;text-align:center;font:700 15px var(--f-body);background:var(--surface);color:var(--ink);-moz-appearance:textfield;appearance:textfield}
.qt input::-webkit-outer-spin-button,.qt input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.st a{color:inherit}.st small a{border-bottom:1px dotted var(--muted)}
.rel{margin-top:56px;padding-top:30px;border-top:1px solid var(--line)}
.rf p{margin:0}.rf .form-submit{margin-top:14px}.rf .comment-form-cookies-consent{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:14px}.rf .comment-form-cookies-consent input{width:auto}
.rf h3 small{font-size:14px;margin-left:8px}
.pager .nav-links{display:flex;gap:6px;justify-content:center;margin-top:28px}.pager .page-numbers{border:1.5px solid var(--line);background:var(--surface);border-radius:99px;padding:8px 14px;font-weight:700}.pager .current{background:var(--brand);border-color:var(--brand);color:#fff}

/* notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;padding:12px 16px;border-radius:10px;margin:0 0 16px;font-weight:600;background:#e6f2e9;color:#1f5a38;border-left:5px solid var(--brand);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.woocommerce-info{background:#f1f7f2}
.woocommerce-error{background:#fdecea;color:#a12622;border-left-color:#a12622;display:block}
.woocommerce-error li{margin:2px 0}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.woocommerce-message a:not(.button),.woocommerce-info a:not(.button){text-decoration:underline}

/* generic WooCommerce buttons */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.wc-forward{display:inline-block;background:var(--brand);color:#fff;font:700 15px var(--f-body);padding:11px 22px;border-radius:999px;border:0;cursor:pointer;text-align:center}
.woocommerce .button:hover{filter:brightness(1.1)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}

/* forms */
.woocommerce form .form-row{margin:0 0 12px;display:flex;flex-direction:column}
.woocommerce form .form-row label{font-weight:700;font-size:14px;margin:0 0 4px;display:block}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{display:flex;gap:8px;align-items:center;font-weight:500}
.woocommerce form .form-row .required{color:#a12622;text-decoration:none;border:0}
.woocommerce form .form-row .optional{font-weight:400;color:var(--muted)}
.woocommerce form .input-text,.woocommerce form select,.woocommerce form textarea,.woocommerce-cart-form .coupon input{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:15px var(--f-body)}
.woocommerce form .input-text:focus,.woocommerce form select:focus{outline:2px solid var(--brand);outline-offset:1px}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:#a12622}
.woocommerce form .woocommerce-input-wrapper{display:block}
.woocommerce form .woocommerce-input-wrapper strong{display:block;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg)}
.woocommerce form fieldset{border:0;padding:0}
.woocommerce form .password-input{position:relative;display:block}.woocommerce .show-password-input{position:absolute;right:10px;top:10px;border:0;background:none;cursor:pointer}
.woocommerce .show-password-input::after{content:"\1F441"}
.select2-container .select2-selection--single{height:46px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:12px;color:var(--ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.select2-dropdown{border:1.5px solid var(--line);border-radius:10px}

/* cart */
.cact{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:14px}
.cact .coupon{display:flex;gap:8px;flex:1 1 260px;max-width:380px}
.tbl a{font-weight:700}.tbl td:first-child{width:40px}
.tbl .rm{display:inline-block;text-decoration:none;line-height:1}
.ckb .woocommerce-Price-amount{white-space:nowrap}
.rwn{display:flex;gap:10px;align-items:center;background:#fff8e6;border:1px solid #f3dc9f;border-radius:10px;padding:10px 14px;margin:14px 0 4px;font-size:14px;cursor:pointer}
.rwn svg{width:22px;height:22px;stroke:#b8860b;fill:none;stroke-width:1.8;flex:none}
.rwn a{color:var(--brand);font-weight:700;text-decoration:underline}
.rwn input{width:18px;height:18px;accent-color:var(--brand)}

/* checkout */
#ckf h3{font-size:32px;margin-bottom:6px}
#ckf .woocommerce-billing-fields__field-wrapper,#ckf .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
#ckf .form-row-wide,#ckf .notes,#ckf #billing_address_1_field,#ckf #billing_email_field{grid-column:1/-1}
#ckf .woocommerce-additional-fields h3{font-size:24px;margin-top:20px}
#ckf .woocommerce-account-fields{margin-top:10px}
#ckf .create-account{margin-top:6px}
.ckb table.shop_table{width:100%;border-collapse:collapse}
.ckb table.shop_table th,.ckb table.shop_table td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.ckb table.shop_table td:last-child,.ckb table.shop_table thead th:last-child{text-align:right}
.ckb table.shop_table .order-total th,.ckb table.shop_table .order-total td{font-size:20px;border:0;font-family:var(--f-head)}
.ckb table.shop_table .product-quantity{font-weight:400;color:var(--muted)}
.ckb table.shop_table dl.variation{display:flex;gap:4px;margin:2px 0 0;font-size:13px;color:var(--muted)}.ckb dl.variation dd{margin:0}.ckb dl.variation p{margin:0}
ul#shipping_method,.woocommerce-shipping-methods{list-style:none;padding:0;margin:0;text-align:left}
ul#shipping_method li{display:flex;gap:6px;align-items:flex-start;margin:0 0 6px;font-size:14px}
ul#shipping_method li label{flex:1}
#payment{margin-top:16px}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 12px}
#payment ul.payment_methods li{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 10px;background:var(--bg)}
#payment ul.payment_methods li>label{font-weight:700;cursor:pointer;margin-left:6px}
#payment ul.payment_methods li img{display:none}
#payment .payment_box{font-size:14px;color:var(--muted);margin-top:8px}
#payment .payment_box p{margin:0}
#payment .place-order{padding:0;margin:0}
#payment #place_order{width:100%;display:block;padding:15px 24px;font-size:16px;margin-top:10px}
.woocommerce-privacy-policy-text{font-size:13px;color:var(--muted)}
.woocommerce-terms-and-conditions-wrapper{margin-top:10px}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{display:block}
form.checkout_coupon,form.woocommerce-form-login.login{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin:0 0 18px}
form.checkout_coupon{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}form.checkout_coupon p{margin:0}form.checkout_coupon .form-row-first{flex:1 1 220px}
.blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}

/* order received / order details */
.woocommerce-order-details,.woocommerce-customer-details{max-width:860px;margin:30px auto 0}
.woocommerce-order-details h2,.woocommerce-customer-details h2,.woocommerce-column__title{font-size:26px;margin-bottom:10px}
table.shop_table.order_details,table.woocommerce-table,.woocommerce-orders-table,.woocommerce-MyAccount-content table.shop_table{width:100%;border-collapse:collapse}
table.order_details th,table.order_details td,.woocommerce-orders-table th,.woocommerce-orders-table td,.woocommerce-MyAccount-content table.shop_table th,.woocommerce-MyAccount-content table.shop_table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.woocommerce-customer-details address{font-style:normal;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}
.woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pcard{margin-bottom:10px}.pcard td:first-child{color:var(--muted);width:120px}
.woocommerce-bacs-bank-details:empty,.wc-bacs-bank-details-heading{display:none}

/* my account */
.woocommerce-account .entry>.woocommerce{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px;align-items:flex-start}
.woocommerce-MyAccount-navigation{flex:0 0 220px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:600}
.woocommerce-MyAccount-navigation .is-active a{background:var(--brand);color:#fff;border-color:transparent}
.woocommerce-MyAccount-content{flex:1 1 380px;min-width:0}
.woocommerce-MyAccount-content>p:first-child{margin-bottom:6px}
.woocommerce-MyAccount-content a:not(.button){color:var(--brand);font-weight:700}
.woocommerce-MyAccount-content h2{font-size:28px;margin-bottom:14px}
.woocommerce-MyAccount-content .two2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.woocommerce-MyAccount-content .box,.gd .box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}
.box h3{font-size:20px;margin-bottom:6px}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.woocommerce-Address{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.woocommerce-Address address{font-style:normal}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.woocommerce-Address-title h2{font-size:22px;margin:0}
.u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%}
.u-columns .woocommerce-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;margin-top:10px}
.u-columns h2,#customer_login h2{font-size:28px}
.woocommerce-form-login__rememberme{display:flex!important;gap:8px;align-items:center;margin:8px 0 12px;font-weight:500!important}
.woocommerce-LostPassword{margin-top:12px}.woocommerce-LostPassword a{color:var(--brand);font-weight:700}
.woocommerce-account:not(.logged-in) .entry>.woocommerce{display:block}
.woocommerce-password-strength{font-size:13px;margin-top:6px;padding:6px 10px;border-radius:8px;background:var(--bg)}
.woocommerce-password-strength.strong{background:#e6f2e9}.woocommerce-password-strength.short,.woocommerce-password-strength.bad{background:#fdecea}
.woocommerce-EditAccountForm fieldset{margin-top:20px}.woocommerce-EditAccountForm legend{font:800 22px var(--f-head);margin-bottom:10px}
.woocommerce-pagination{margin-top:16px;display:flex;gap:10px}

/* rewards float button + toast */
.rwb{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:6px;background:var(--brand);color:#fff;font:700 14px var(--f-body);padding:10px 16px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.rwb svg{width:18px;height:18px;stroke:var(--gold);fill:var(--gold);stroke-width:1.5}
.rwb:hover{filter:brightness(1.1)}
#le-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;z-index:80;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 32px)}
#le-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
#le-toast a{color:var(--gold);text-decoration:underline;margin-left:6px}

@media(max-width:720px){
	#ckf .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
	.woocommerce-columns--addresses,.woocommerce-Addresses,.u-columns.col2-set,.woocommerce-MyAccount-content .two2{grid-template-columns:1fr}
	.woocommerce-MyAccount-navigation{flex:1 1 100%}
	.woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap}
	.rwb span{display:none}.rwb{padding:12px}
	.tbl{min-width:0}.tbl th:nth-child(3),.tbl td:nth-child(3){display:none}
}
