/* ==========================================================================
   Live Fortunate — WordPress / WooCommerce additions to site.css
   Only markup that WordPress or WooCommerce generates itself is styled here;
   everything the theme prints already carries the classes from site.css.
   ========================================================================== */

/* ---- header: search button + overlay --------------------------------- */
.icons .search-open{display:grid;place-items:center;width:24px;height:24px}
.icons .search-open svg{width:22px;height:22px}
/* the overlay is #search: WordPress puts class "search" on <body> on result pages */
#search{position:fixed;inset:0;z-index:44;visibility:hidden;opacity:0;transition:opacity .2s,visibility 0s .2s}
#search.open{visibility:visible;opacity:1;transition:opacity .2s}
.search-bg{position:absolute;inset:0;background:rgba(15,15,15,.5)}
.search-form{position:relative;background:var(--paper);display:flex;gap:12px;align-items:center;padding-top:22px;padding-bottom:22px;transform:translateY(-12px);transition:transform .25s}
#search.open .search-form{transform:none}
.search-form input[type=search]{flex:1;font:inherit;height:52px;padding:0 14px;border:1px solid rgba(15,15,15,.3);background:#fff;border-radius:2px;min-width:0}
.search-form input[type=search]:focus{outline:2px solid var(--ink);outline-offset:-2px}
.search-form .caps{font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:640px){.search-form{flex-wrap:wrap}.search-form input[type=search]{flex-basis:100%}}

/* ---- WooCommerce notices in the design's voice ----------------------- */
.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-notice,
.wc-block-components-notice-banner{list-style:none;margin:0 0 24px;padding:14px 18px;border:1px solid var(--line);background:#fff;border-left:3px solid var(--ink);font-size:15px}
.woocommerce-error{border-left-color:var(--red)}
.woocommerce-error li+li,.woocommerce-message li+li{margin-top:6px}
.woocommerce-message a.button,.woocommerce-info a.button{text-decoration:underline;margin-left:8px}
.woocommerce-NoticeGroup{grid-column:1/-1}
.form-error{color:var(--red);font-weight:600;margin-bottom:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- Instagram tiles from the API: play badge on videos -------------- */
.ig .tiles a.is-video{position:relative}
.ig .tiles a.is-video::after{content:"";position:absolute;left:50%;top:calc(50% - 16px);width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(15,15,15,.75) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 7v10l8-5z'/%3E%3C/svg%3E") center/22px no-repeat;pointer-events:none}

/* ---- cart lines while an ajax call is running ------------------------- */
.line.busy{opacity:.5;pointer-events:none}
.summary .rm,.co-sum .rm{color:var(--mute);margin-left:6px;font-weight:600}
.summary .rm:hover,.co-sum .rm:hover{color:var(--red)}
.sizes label.off span{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.hint.soldout{margin-top:28px}
.pr del{color:var(--mute);font-weight:400;margin-right:6px}
.pr ins{text-decoration:none}
.buy .price del{color:var(--mute);font-weight:400;margin-right:8px}
.buy .price ins{text-decoration:none}

/* ---- WordPress accessibility text: read by screen readers, never shown ---- */
.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}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;margin:0;padding:10px 14px;background:#fff;color:var(--ink);z-index:100}

/* ---- pagination (category pages, search): same look as the filter chips ---- */
.shop-pages{margin-top:56px;display:flex;justify-content:center}
.shop-pages .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.shop-pages .page-numbers{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--line);background:#fff;color:var(--mute);transition:color .2s,border-color .2s}
.shop-pages a.page-numbers:hover{color:var(--ink)}
.shop-pages .page-numbers.current{color:var(--ink);border-color:var(--ink)}
.shop-pages .page-numbers.dots{border-color:transparent;background:transparent}

/* ---- checkout: WooCommerce form rows styled as .field ----------------- */
.co-form p.form-row{display:grid;gap:6px;margin:0}
.co-form p.form-row label{font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.co-form p.form-row label .required{display:none}
.co-form .woocommerce-input-wrapper{display:block}
.co-form p.form-row input.input-text,.co-form p.form-row select,.co-form p.form-row textarea{font:inherit;width:100%;height:52px;padding:0 14px;border:1px solid rgba(15,15,15,.3);background:#fff;border-radius:2px;color:var(--ink)}
.co-form p.form-row textarea{height:auto;min-height:120px;padding:12px 14px}
.co-form p.form-row input.input-text:focus,.co-form p.form-row select:focus,.co-form p.form-row textarea:focus{outline:2px solid var(--ink);outline-offset:-2px;border-color:var(--ink)}
.co-form p.form-row.woocommerce-invalid input.input-text,.co-form p.form-row.woocommerce-invalid select{border-color:var(--red)}
.co-form .fgrid p.form-row{grid-column:1/-1}
.co-form .fgrid p.form-row-first,.co-form .fgrid p.form-row-last{grid-column:auto}
.co-form .fgrid p.form-row.csz{grid-column:auto}
.co-form .fgrid{grid-template-columns:1fr 1fr}
.co-form .fgrid p#billing_city_field,.co-form .fgrid p#shipping_city_field{grid-column:1/2}
.co-form .fgrid p#billing_state_field,.co-form .fgrid p#shipping_state_field{grid-column:2/3}
.co-form .fgrid p#billing_postcode_field,.co-form .fgrid p#shipping_postcode_field{grid-column:1/-1}
@media (min-width:900px){
  .co-form .fgrid{grid-template-columns:1.4fr 1fr 1fr}
  .co-form .fgrid p.form-row{grid-column:1/-1}
  .co-form .fgrid p.form-row-first{grid-column:1/3}
  .co-form .fgrid p.form-row-last{grid-column:3/4}
  .co-form .fgrid p#billing_first_name_field,.co-form .fgrid p#shipping_first_name_field{grid-column:1/3}
  .co-form .fgrid p#billing_last_name_field,.co-form .fgrid p#shipping_last_name_field{grid-column:3/4}
  .co-form .fgrid p#billing_city_field,.co-form .fgrid p#shipping_city_field{grid-column:1/2}
  .co-form .fgrid p#billing_state_field,.co-form .fgrid p#shipping_state_field{grid-column:2/3}
  .co-form .fgrid p#billing_postcode_field,.co-form .fgrid p#shipping_postcode_field{grid-column:3/4}
}
.co-form .woocommerce-billing-fields section:first-child p.form-row{margin-bottom:0}
.co-form .shipping_address{margin-top:16px}
.co-form .woocommerce-shipping-fields .check{margin-top:0}
.co-form .woocommerce-shipping-fields,.co-form .woocommerce-additional-fields{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.co-form .woocommerce-additional-fields:not(:has(p,label,div)){display:none}
.co-form .woocommerce-shipping-fields:not(:has(label,p)){display:none}
.co-form .woocommerce-account-fields{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.co-payment{border-bottom:0!important}

/* payment methods list → .radio rows; place order → .btn.red.place */
.woocommerce-checkout-payment .wc_payment_methods{list-style:none;display:grid;gap:10px}
.woocommerce-checkout-payment .wc_payment_method{border:1px solid rgba(15,15,15,.3);background:#fff;border-radius:2px}
.woocommerce-checkout-payment .wc_payment_method:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.woocommerce-checkout-payment .wc_payment_method>label{display:flex;gap:14px;align-items:center;padding:16px;cursor:pointer;font-weight:600}
.woocommerce-checkout-payment .wc_payment_method>input{position:absolute;opacity:0;pointer-events:none}
.woocommerce-checkout-payment .wc_payment_method>label::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--ink);flex:none;background:#fff}
.woocommerce-checkout-payment .wc_payment_method:has(input:checked)>label::before{background:radial-gradient(var(--ink) 45%,#fff 50%)}
.woocommerce-checkout-payment .wc_payment_method>label img{height:24px;width:auto;margin-left:auto}
.woocommerce-checkout-payment .payment_box{padding:0 16px 16px 48px;color:var(--mute);font-size:15px}
.woocommerce-checkout-payment .payment_box p+p{margin-top:8px}
.woocommerce-checkout-payment .payment_box fieldset{border:0;display:grid;gap:12px}
.woocommerce-checkout-payment .payment_box .form-row{margin:0}
.woocommerce-checkout-payment .payment_box input.input-text{font:inherit;width:100%;height:48px;padding:0 12px;border:1px solid rgba(15,15,15,.3);background:#fff;border-radius:2px}
.woocommerce-checkout-payment .place-order{margin-top:24px}
.woocommerce-checkout-payment .place-order noscript{display:block;color:var(--mute);font-size:13px;margin-bottom:12px}
.woocommerce-checkout-payment #place_order{display:inline-flex;align-items:center;justify-content:center;gap:.6em;width:100%;height:60px;padding:0 28px;border-radius:2px;font:inherit;font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;background:var(--red);color:#fff;border:2px solid transparent;transition:background-color .2s;cursor:pointer}
.woocommerce-checkout-payment #place_order:hover{background:#B81B17}
.woocommerce-checkout-payment #place_order:disabled{opacity:.6;cursor:wait}
.woocommerce-terms-and-conditions-wrapper{margin:0 0 20px;color:var(--mute);font-size:13px}
.woocommerce-terms-and-conditions-wrapper a{text-decoration:underline}
.woocommerce-terms-and-conditions-wrapper .form-row{margin:10px 0 0}
.woocommerce-privacy-policy-text p{margin:0}
.co-form .woocommerce-checkout-payment .wc_payment_methods li>.woocommerce-notice,.co-form .woocommerce-checkout-payment .wc_payment_methods li>.woocommerce-info{margin:0;border:0;padding:14px 16px}

/* summary: shipping options */
.co-sum .ship-rows .row{align-items:center}
.co-sum .ship-list{display:grid;gap:8px;margin-top:4px}
.co-sum .ship-list .radio{padding:12px 14px}
.co-sum .ship-list .radio span>b{display:block}
.co-sum .ship-list .radio+.radio{margin-top:0}
.co-sum .code{margin:4px 0}
.co-sum .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important}
.co-sum .row.cart-discount .mute{text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.co-sum .woocommerce-shipping-totals .row .mute{font-size:13px;text-align:right}
.co-grid .woocommerce-NoticeGroup-checkout{grid-column:1/-1;order:-1}
body.co .woocommerce-form-login-toggle,body.co .woocommerce-form-coupon-toggle{display:none}
.co-sum .lines:empty{display:none}

/* thank-you extras WooCommerce prints (bank details, gateway notes) */
.done .order-extra:empty{display:none}
.done .order-extra{margin-top:32px;color:var(--mute);font-size:15px}
.done .order-extra h2{font-family:var(--display);text-transform:uppercase;font-size:24px;color:var(--ink);margin-top:24px}
.done .order-extra ul{list-style:none}
.done .mute{color:var(--mute);font-size:13px}

/* ---- My account (not in the design; readable and on-brand) ------------ */
.account{padding-top:48px;padding-bottom:88px}
.account h1{font-size:clamp(44px,5.6vw,80px);margin-bottom:32px}
.account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.account .woocommerce-MyAccount-navigation ul{list-style:none;display:grid;border-left:1px solid var(--line)}
.account .woocommerce-MyAccount-navigation a{display:block;padding:10px 0 10px 18px;margin-left:-1px;border-left:2px solid transparent;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.account .woocommerce-MyAccount-navigation li.is-active a,.account .woocommerce-MyAccount-navigation a:hover{color:var(--ink);border-left-color:var(--red)}
.account .woocommerce-MyAccount-content{max-width:720px}
.account .woocommerce-MyAccount-content p+p,.account .woocommerce-MyAccount-content h3{margin-top:14px}
.account .woocommerce-MyAccount-content a:not(.button){text-decoration:underline;text-underline-offset:3px}
.account .woocommerce-MyAccount-content .button,.account .woocommerce-form .button,.account .woocommerce-Button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:16px 24px;border-radius:2px;font:inherit;font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;background:var(--ink);color:#fff;border:2px solid transparent;cursor:pointer}
.account .woocommerce-MyAccount-content .button:hover,.account .woocommerce-form .button:hover{background:#333}
.account .woocommerce-form p.form-row{display:grid;gap:6px;margin:0 0 14px}
.account .woocommerce-form p.form-row label{font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.account .woocommerce-form p.form-row input.input-text,.account .woocommerce-form p.form-row select{font:inherit;width:100%;height:52px;padding:0 14px;border:1px solid rgba(15,15,15,.3);background:#fff;border-radius:2px}
.account .woocommerce-form p.form-row input.input-text:focus{outline:2px solid var(--ink);outline-offset:-2px}
.account .woocommerce-form.login,.account .woocommerce-form.register{background:var(--panel);border:1px solid var(--line);padding:28px;max-width:480px}
.account .woocommerce-form .lost_password{margin-top:14px;font-size:13px}
.account .woocommerce-form .woocommerce-form-login__rememberme{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.account table.shop_table{width:100%;border-collapse:collapse}
.account table.shop_table th,.account table.shop_table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.account table.shop_table th{font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.account .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}
.account address{font-style:normal;color:var(--mute)}
.account .woocommerce-password-strength{font-size:13px;color:var(--mute);margin-top:6px}
.account .woocommerce-password-hint{font-size:13px;color:var(--mute)}
.account .woocommerce-pagination{margin-top:24px}
.account .woocommerce-orders-table__cell-order-actions .button+.button{margin-left:8px}
.account fieldset{border:0;margin-top:24px}
.account legend{font-weight:600;margin-bottom:12px}
@media (max-width:900px){.account .woocommerce{grid-template-columns:1fr;gap:32px}.account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr 1fr;border:0;gap:4px}.account .u-columns,.account .woocommerce-Addresses{grid-template-columns:1fr}}

/* ---- generic editor content (pages without a template) ---------------- */
.prose h3{font-weight:600;margin-top:28px}
.prose ol{margin-top:14px;padding-left:20px}
.prose img{height:auto}
.prose blockquote{margin-top:14px;padding-left:16px;border-left:2px solid var(--red);color:var(--mute)}
.prose table{width:100%;border-collapse:collapse;margin-top:14px}
.prose th,.prose td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left}

/* ---- admin bar offset for the fixed header ---------------------------- */
body.admin-bar .hdr{top:32px}
@media (max-width:782px){body.admin-bar .hdr{top:46px}}
body.admin-bar .mnav,body.admin-bar #search{top:32px}
@media (max-width:782px){body.admin-bar .mnav,body.admin-bar #search{top:46px}}

/* ---- grids: a card with many swatches must not widen its column ------- */
.grid4>*,.grid3>*{min-width:0}
.card .sw{flex-wrap:wrap}

/* account: on the 12-column grid (menu 1–3, content 5–12) */
@media (min-width:901px){
  .account .woocommerce{grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap)}
  .account .woocommerce-MyAccount-navigation{grid-column:1/4}
  .account .woocommerce-MyAccount-content{grid-column:5/13}
}

/* express checkout (Square Apple Pay / Google Pay), moved into the form column by site.js */
.co-express{margin:0 0 32px}
.co-express .eyebrow{margin-bottom:12px}
.co-express #wc-square-digital-wallet{max-width:none;margin:0;padding:0;text-align:left}
.co-express #wc-square-digital-wallet:not([style*="none"]){display:grid !important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px}
.co-express #wc-square-wallet-divider{display:none !important}
/* both buttons by id: Square gives the class only to Apple Pay; Google draws its button inside #wc-square-google-pay */
.co-express #apple-pay-button,.co-express #wc-square-google-pay{margin:0 !important;height:52px;min-height:52px;max-height:52px;width:100%;min-width:0;border-radius:2px;overflow:hidden}
.co-express #wc-square-google-pay > div,.co-express #wc-square-google-pay button{width:100% !important;height:52px !important;min-height:52px}
.co-express #wc-square-google-pay button{border-radius:2px !important;box-shadow:none !important;outline-offset:2px}
.co-or{display:flex;align-items:center;gap:16px;margin-top:28px;font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.co-or::before,.co-or::after{content:"";flex:1;height:1px;background:var(--line)}
@media (max-width:640px){.co-express #wc-square-digital-wallet:not([style*="none"]){grid-auto-flow:row}}

/* Card logos: Square prints each one at a fixed 40×25 (inline style), seven in a row — wider than a phone,
   which pushed the whole page sideways. On phones they move to their own line under "Credit Card" and shrink to fit. */
.woocommerce-checkout-payment .wc_payment_method>label{flex-wrap:wrap}
@media (max-width:640px){
  .woocommerce-checkout-payment .wc_payment_method>label{column-gap:6px;row-gap:0}
  .woocommerce-checkout-payment .wc_payment_method>label::before{margin-right:8px}
  .woocommerce-checkout-payment .wc_payment_method>label::after{content:"";flex-basis:100%;order:1}
  .woocommerce-checkout-payment .wc_payment_method>label img{order:2;margin:10px 0 0;width:min(36px,calc((100% - 68px) / 7)) !important;height:auto !important}
  .woocommerce-checkout-payment .wc_payment_method>label img:first-of-type{margin-left:32px}
}

/* Square's card form: its empty "clear" divs each took a grid gap (blank space under the card fields);
   "Save card" (logged-in customers only) is a checkbox row like "Ship to a different address", not a field label. */
.woocommerce-checkout-payment .payment_box .clear{display:none}
.co-form .payment_box p.form-row:has(> input[type=checkbox]){display:flex;align-items:center;gap:10px;margin-top:4px}
.co-form .payment_box p.form-row > input[type=checkbox]{width:18px !important;height:18px;margin:0;flex:none;accent-color:var(--ink);cursor:pointer}
.co-form .payment_box p.form-row > input[type=checkbox] + label{font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}
