/* Production additions to the prototype CSS: basket side panel, WooCommerce checkout, notices, form helpers.
   Same tokens and vocabulary: 14/20 Inter, ink / 60% ink, hairline rows, taupe bar buttons. */
.lw-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;clip:auto;background:var(--p);padding:8px 12px;z-index:100;outline:1px solid var(--fg)}
a.btn{text-decoration:none}
.btn[disabled]{opacity:.6;cursor:default}
.btn[aria-busy=true]{cursor:progress}

/* basket side panel */
.drawer-bg{position:fixed;inset:0;background:rgba(17,17,17,.18);z-index:80;opacity:0;transition:opacity .25s}
body.drawer-open .drawer-bg{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--p);border-left:1px solid var(--rule);z-index:81;
  padding:40px 32px calc(32px + env(safe-area-inset-bottom,0px));overflow-y:auto;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);visibility:hidden}
body.drawer-open .drawer{transform:none;visibility:visible}
.drawer-head{border-bottom:0;padding-top:0;margin-bottom:12px}
.drawer-head .lnk{margin:0}
.drawer .rows{margin-top:20px}
@media (max-width:1024px){.drawer{padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px))}}

/* WooCommerce output inside the theme (checkout, order received, account) */
.lw-wc .woocommerce-notices-wrapper:empty{display:none}
.lw-wc .woocommerce-error,.lw-wc .woocommerce-message,.lw-wc .woocommerce-info,.woocommerce-NoticeGroup .woocommerce-error{list-style:none;margin:0 0 20px;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.lw-wc .woocommerce-error li{margin:0}
.lw-wc .woocommerce-error,.woocommerce-NoticeGroup .woocommerce-error{color:#9B2427}
.lw-wc .woocommerce-message a.button,.lw-wc .woocommerce-info a{float:right;color:var(--mute)}
.lw-wc .showcoupon{text-decoration:underline;text-decoration-color:rgba(17,17,17,.25);text-underline-offset:3px}
.lw-wc form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 56px;align-items:start}
.lw-wc form.checkout>.col2-set{grid-column:1}
.lw-wc form.checkout>#order_review_heading{grid-column:2;grid-row:1}
.lw-wc form.checkout>#order_review{grid-column:2;grid-row:2 / span 3}
.lw-wc form.checkout>.woocommerce-NoticeGroup{grid-column:1 / -1}
.lw-wc .col2-set .col-1,.lw-wc .col2-set .col-2{width:auto;float:none}
.lw-wc .col2-set .col-2{margin-top:40px}
.lw-wc h3,.lw-wc h2{font:inherit;color:var(--mute);padding:0 0 12px;border-bottom:1px solid var(--rule);margin:0 0 4px}
.lw-wc .form-row{margin:0;padding:10px 0 8px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:140px 1fr;gap:0 16px;align-items:center}
.lw-wc .form-row label{color:var(--mute);margin:0}
.lw-wc .form-row label .required{color:var(--mute);text-decoration:none;border:0}
.lw-wc .form-row .optional{color:var(--mute)}
.lw-wc .form-row input.input-text,.lw-wc .form-row textarea,.lw-wc .form-row select{border-bottom:0;padding:2px 0}
.lw-wc .form-row textarea{min-height:64px}
.lw-wc .form-row.woocommerce-invalid label{color:#9B2427}
.lw-wc .form-row .woocommerce-input-wrapper{display:block;min-width:0}
.lw-wc .form-row.create-account,.lw-wc .form-row.place-order,.lw-wc .form-row.notes,.lw-wc .woocommerce-shipping-fields .form-row.ship-to-different-address{grid-template-columns:1fr}
.lw-wc #ship-to-different-address{font:inherit;color:inherit;margin:0;padding:0 0 12px;border-bottom:1px solid var(--rule)}
.lw-wc #ship-to-different-address label{display:flex;gap:8px;align-items:center;color:var(--fg)}
.lw-wc input[type=checkbox],.lw-wc input[type=radio]{accent-color:var(--fg);margin:0 8px 0 0}
.lw-wc .select2-container .select2-selection{border:0;border-radius:0;background:transparent;height:auto}
.lw-wc .select2-container .select2-selection__rendered{padding:2px 20px 2px 0;line-height:20px;color:var(--fg)}
.select2-dropdown{border-color:var(--rule);border-radius:0;background:var(--p);font:inherit}
.select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--btn)!important;color:var(--p)!important}
.lw-wc table.shop_table{width:100%;border-collapse:collapse;border-top:1px solid var(--rule);margin:0}
.lw-wc table.shop_table th,.lw-wc table.shop_table td{font:inherit;text-align:left;padding:12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.lw-wc table.shop_table th{color:var(--mute);font-weight:inherit}
.lw-wc table.shop_table td:last-child,.lw-wc table.shop_table th:last-child{text-align:right}
.lw-wc table.shop_table thead{display:none}
.lw-wc table.shop_table .product-quantity{color:var(--mute)}
.lw-wc dl.variation{margin:4px 0 0;color:var(--mute);display:grid;grid-template-columns:auto 1fr;gap:0 6px}
.lw-wc dl.variation dt,.lw-wc dl.variation dd{margin:0}.lw-wc dl.variation dd p{margin:0}
.lw-wc #shipping_method{list-style:none;margin:0;padding:0;text-align:right}
.lw-wc .order-total td,.lw-wc .order-total th{color:var(--fg)!important}
.lw-wc .woocommerce-checkout-payment{margin-top:24px}
.lw-wc ul.payment_methods{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.lw-wc ul.payment_methods>li{padding:12px 0;border-bottom:1px solid var(--rule)}
.lw-wc ul.payment_methods>li>label{display:inline-flex;align-items:center;gap:8px}
.lw-wc ul.payment_methods img{display:inline-block;max-height:20px;width:auto;vertical-align:middle;margin-left:6px}
.lw-wc .payment_box{margin-top:12px;color:var(--mute)}
.lw-wc .payment_box p+p{margin-top:8px}
.lw-wc .wc-terms-and-conditions,.lw-wc .woocommerce-privacy-policy-text{color:var(--mute);margin-top:16px}
.lw-wc #place_order,.lw-wc button.button,.lw-wc a.button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;background:var(--btn);color:var(--p);border:0;padding:0 16px;cursor:pointer;margin-top:20px;font:inherit;border-radius:0}
.lw-wc #place_order:hover,.lw-wc button.button:hover,.lw-wc a.button:hover{background:var(--btn-h)}
.lw-wc .checkout_coupon{display:flex;gap:16px;align-items:end;margin:0 0 20px}
.lw-wc .checkout_coupon .form-row{flex:1;border:0;grid-template-columns:1fr}
.lw-wc .checkout_coupon button.button{width:auto;margin:0}
.lw-wc .blockUI.blockOverlay{background:var(--p)!important;opacity:.6!important}
.lw-wc .woocommerce-order-overview{list-style:none;margin:0 0 32px;padding:0;border-top:1px solid var(--rule)}
.lw-wc .woocommerce-order-overview li{padding:10px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;color:var(--mute)}
.lw-wc .woocommerce-order-overview li strong{font-weight:inherit;color:var(--fg)}
.lw-wc .woocommerce-thankyou-order-received{padding:0 0 20px}
.lw-wc .woocommerce-customer-details address{font-style:normal;padding-top:12px}
.lw-wc section+section{margin-top:40px}
@media (max-width:1024px){.lw-wc form.checkout{grid-template-columns:1fr}.lw-wc form.checkout>*{grid-column:1!important;grid-row:auto!important}.lw-wc form.checkout>#order_review_heading{margin-top:40px}}
@media (max-width:560px){.lw-wc .form-row{grid-template-columns:96px 1fr}}

/* WooCommerce single-product fallback (gift card) */
.wcform form.cart{margin-top:20px}
.wcform .quantity{display:none}
.wcform button.single_add_to_cart_button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;background:var(--btn);color:var(--p);border:0;cursor:pointer;margin-top:20px;font:inherit}
.wcform table{width:100%;border-collapse:collapse}.wcform td,.wcform th{text-align:left;padding:10px 0;border-bottom:1px solid var(--rule);font-weight:inherit}
@media (prefers-reduced-motion:reduce){.drawer,.drawer-bg{transition:none}}
/* The prototype renders in quirks mode (no doctype); in standards mode a wrapped colour-dot row would get a full 20px line box.
   A wrapping flex row reproduces the prototype's geometry in both cases. */
.card .sub{display:flex;flex-wrap:wrap;align-items:center}
.card .sub .dots{margin-top:0}
.lw-wc form.checkout{grid-template-rows:auto auto 1fr}
.lw-wc form.checkout>.col2-set{grid-row:1 / span 3}
.lw-wc form.checkout>#order_review_heading{margin-top:0}
input[type=tel],input[type=number],input[type=password],input[type=search]{background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:4px 0;width:100%;outline:0;color:var(--fg)}
.lw-wc .form-row input[type=tel],.lw-wc .form-row input[type=password]{border-bottom:0;padding:2px 0}
.lw-wc .form-row.validate-required.woocommerce-validated{}
.lw-wc .woocommerce-terms-and-conditions-wrapper .form-row,.lw-wc .form-row.mc4wp-checkbox,.lw-wc p.mc4wp-checkbox{grid-template-columns:1fr}
.lw-wc .woocommerce-form__label-for-checkbox{display:inline-flex;align-items:baseline;gap:0;color:var(--fg)!important}
.lw-wc label,.lw-wc .mc4wp-checkbox span{text-transform:none!important;letter-spacing:inherit}
.lw-wc .select2-container{width:100%!important}
.lw-wc .select2-container--default .select2-selection--single .select2-selection__arrow{height:24px}
.lw-wc .woocommerce-additional-fields h3{margin-top:40px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.lw-wc #pwgc-redeem-button,.lw-wc [id^=pwgc] button,.lw-wc [id^=pwgc] input[type=submit]{background:none;border:0;padding:0;color:var(--mute);cursor:pointer;font:inherit;margin-top:8px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(17,17,17,.25)}
.lw-wc [id^=pwgc] input[type=text]{border-bottom:1px solid var(--rule)}
