/* ==========================================================================
   WooCommerce skin — maps WooCommerce's markup onto the site design.
   (WooCommerce's own "general" stylesheet is dequeued; its layout CSS stays.)
   ========================================================================== */
[hidden]{display:none!important}
.skip{position:absolute;left:1rem;top:-100px;z-index:200;padding:.7rem 1.1rem;background:var(--ink);color:var(--paper);border-radius:4px}
.skip:focus{top:1rem}
.screen-reader-text,.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.woocommerce,.woocommerce-page{color:var(--ink)}

/* ---------- buttons ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .checkout-button,.woocommerce #place_order,.woocommerce .single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:1.05em 2.1em;border-radius:100px;
  font:inherit;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;
  background:var(--ink);color:var(--paper)!important;border:1px solid var(--ink);cursor:pointer;transition:all .45s var(--ease);text-decoration:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .checkout-button:hover,.woocommerce #place_order:hover,
.woocommerce .single_add_to_cart_button:hover{background:var(--magenta);border-color:var(--magenta);color:#fff!important}
.woocommerce button.button:disabled,.woocommerce button.button.disabled,.woocommerce a.button.disabled{opacity:.45;cursor:not-allowed}
.woocommerce .btn-ghost.button{background:none;color:var(--ink)!important;border-color:var(--ink)}
.woocommerce .btn-ghost.button:hover{background:var(--ink);color:var(--paper)!important}
.woocommerce a.added_to_cart{display:inline-block;margin-left:1rem;font-size:.85rem;border-bottom:1px solid var(--magenta)}

/* ---------- notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  list-style:none;margin:0 0 1.6rem;padding:1rem 1.3rem;background:var(--magenta-wash);border-left:3px solid var(--magenta);
  font-size:.92rem;color:var(--ink-soft);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem}
.woocommerce-error{background:#fdeef1;border-left-color:#c0264a;flex-direction:column;align-items:flex-start}
.woocommerce-error li{margin:0}
.woocommerce-message .button,.woocommerce-info .button{order:2;padding:.7em 1.3em}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none}

/* ---------- shop listing ---------- */
.pill{display:inline-flex;align-items:center;text-decoration:none}
.pill[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.toolbar .woocommerce-ordering{margin:0}
.toolbar .woocommerce-ordering select{font:inherit;font-size:.82rem;padding:.55em 2.1em .55em .85em;border:1px solid var(--line);
  border-radius:100px;background:var(--white);color:var(--ink);cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236f6877' fill='none' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9em center}
.toolbar .woocommerce-result-count{margin:0;font-size:.8rem;color:var(--muted)}
.shop-grid{padding-top:0}
.grid.products{margin:0;padding:0}
.grid.products::before,.grid.products::after{content:none}
.pcard .price del{opacity:.5;margin-right:.4em;font-size:.85em}
.pcard .price ins{text-decoration:none}
.badge.sale{background:var(--magenta);color:#fff}
.woocommerce-pagination{margin-top:3rem;text-align:center}
.woocommerce-pagination ul.page-numbers{display:inline-flex;gap:.4rem;list-style:none;padding:0;margin:0;border:0}
.woocommerce-pagination ul.page-numbers li{border:0;float:none}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:grid;place-items:center;min-width:40px;height:40px;
  padding:0 .7rem;border:1px solid var(--line);border-radius:100px;font-size:.85rem;background:var(--white)}
.woocommerce-pagination .page-numbers .current{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- product page ---------- */
/* WooCommerce gives div.summary a 48% float, and the bag's .summary panel style would also apply. */
.woocommerce div.product .pdp-info.summary,.pdp-info.summary{float:none!important;width:auto!important;background:none;border:0;padding:0;margin:0}
.woocommerce div.product{position:static}
.buybox .fkwcs_express_checkout_wrap,.buybox [class*="express-checkout"]{width:100%}
.fkwcs_or_separator,[class*="or_separator"],[class*="or-separator"]{font-size:.72rem;letter-spacing:.14em;color:var(--muted);margin:.8rem 0}
.pdp-wrap{padding-top:clamp(20px,2.6vw,36px)}
.gal-main img{width:100%;height:100%;object-fit:cover}
.brandline a{color:inherit}
.brandline a:hover{color:var(--magenta)}
.pdp-price .price{font-family:'Instrument Serif',serif;font-size:2.05rem;line-height:1}
.pdp-price .price del{opacity:.5;font-size:.7em;margin-right:.4em}
.pdp-price .price ins{text-decoration:none}
.pdp-blurb{color:var(--ink-soft);margin:0 0 1.9rem;max-width:50ch}
.pdp-blurb p{margin:0 0 .8rem}
.buybox form.cart{display:flex;gap:.7rem;flex-wrap:wrap;align-items:stretch;margin:0 0 1rem;width:100%}
.buybox form.cart::before,.buybox form.cart::after{content:none}
.buybox .single_add_to_cart_button{flex:1;min-width:190px}
.buybox .stock{display:none}
.quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;background:var(--white);float:none!important;margin:0!important}
.quantity input.qty{width:42px;border:0;background:none;text-align:center;font:inherit;font-size:.95rem;color:var(--ink);padding:.7rem 0;-moz-appearance:textfield}
.quantity input.qty::-webkit-outer-spin-button,.quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-step{width:40px;min-height:44px;border:0;background:none;font:inherit;font-size:1.1rem;color:var(--ink);cursor:pointer}
.qty-step:hover{color:var(--magenta-deep)}
.pdp-info .acc{margin-top:1.4rem}
.more{padding-top:clamp(40px,5vw,72px)}
.related.products,.upsells.products,.cross-sells{margin-bottom:clamp(36px,4vw,60px)}
.related.products>h2,.upsells.products>h2,.cross-sells>h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);
  line-height:1.08;margin:0 0 1.6rem;letter-spacing:-.01em}

/* ---------- forms (checkout, account, login) ---------- */
.woocommerce form .form-row{margin:0 0 1.15rem;padding:0;display:flex;flex-direction:column;gap:.45rem}
.woocommerce form .form-row label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);line-height:1.4}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{
  text-transform:none;letter-spacing:0;font-size:.92rem;display:flex;gap:.6rem;align-items:center;cursor:pointer}
.woocommerce form .form-row .required{color:var(--magenta-deep);text-decoration:none;border:0}
.woocommerce form .form-row .optional{text-transform:none;letter-spacing:0;color:var(--muted)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce form input.input-text,.coupon input.input-text{
  font:inherit;font-size:.98rem;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:.85rem .95rem;width:100%;transition:border-color .3s,box-shadow .3s;box-shadow:none}
.woocommerce form .form-row textarea{min-height:110px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--magenta-wash)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#c0264a}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--line)}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - .6rem)}
.woocommerce form .form-row-first{float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce-input-wrapper{display:block;width:100%}
.select2-container .select2-selection--single{height:auto;border:1px solid var(--line);border-radius:4px;padding:.65rem .55rem;background:var(--white)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;right:.5rem}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.5;color:var(--ink)}
.select2-dropdown{border-color:var(--line)}
.select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ink)}

/* ---------- bag ---------- */
.woocommerce-cart .ck{padding-top:0}
.woocommerce-cart-form .lines{border-top:1px solid var(--line)}
.line-img img{width:104px;height:104px;object-fit:cover;background:var(--paper-2)}
.line .product-name a.line-name{color:var(--ink)}
.line .variation{margin:.2rem 0;font-size:.82rem;color:var(--muted)}
.line .line-total .amount{font-family:'Instrument Serif',serif;font-size:1.4rem}
.line-rm{border:0;border-bottom:1px solid var(--line);background:none;font-size:.8rem;color:var(--muted)!important;text-decoration:none;
  width:auto!important;height:auto!important;line-height:1.4!important;border-radius:0!important;font-weight:400!important}
.line-rm:hover{color:var(--magenta-deep)!important;background:none!important}
.woocommerce-cart-form .actions{padding:1.4rem 0 0;display:flex;flex-direction:column;gap:.8rem}
.woocommerce-cart-form .actions .coupon{max-width:420px}
.woocommerce-cart-form .actions .coupon label{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.woocommerce-cart-form .actions .coupon>div{display:flex;gap:.5rem}
.woocommerce-cart-form .actions .coupon .button{padding:.7em 1.3em}
.woocommerce-cart-form .update-cart{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;border:0}
.cross{margin-top:clamp(36px,4vw,56px)}
.cart-collaterals{width:100%}
.cart-collaterals .cart_totals{width:100%!important;float:none!important}
.cart_totals h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:1.75rem;margin:0 0 1.2rem}
.cart_totals table.shop_table,.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;border:0;margin:0 0 1.2rem}
.cart_totals table th,.cart_totals table td,.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  padding:.75rem 0;border:0;border-top:1px solid var(--line);text-align:left;vertical-align:top;font-weight:400;font-size:.95rem}
.cart_totals table td,.woocommerce-checkout-review-order-table td{text-align:right}
.cart_totals .order-total th,.cart_totals .order-total td,.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td{padding-top:1rem;font-size:1rem}
.cart_totals .order-total .amount,.woocommerce-checkout-review-order-table .order-total .amount{font-family:'Instrument Serif',serif;font-size:1.9rem;line-height:1}
.order-total small.includes_tax{display:block;margin-top:.3rem;font-size:.78rem;color:var(--muted)}
.order-total small.includes_tax .amount{font-family:inherit!important;font-size:inherit!important}
#shipping_method{list-style:none;margin:0;padding:0;text-align:left}
#shipping_method li{display:flex;align-items:center;gap:.55rem;justify-content:flex-end;margin:0 0 .35rem}
#shipping_method li input{accent-color:var(--magenta-deep);margin:0}
.woocommerce-shipping-destination,.woocommerce-shipping-calculator{font-size:.8rem;color:var(--muted);margin:.5rem 0 0}
.shipping-calculator-button{border-bottom:1px solid var(--line);font-size:.8rem}
.wc-proceed-to-checkout{padding:0}
.wc-proceed-to-checkout .checkout-button{display:flex!important;width:100%}

/* ---------- checkout ---------- */
.ck-form .col2-set{width:100%}
.ck-form .col2-set .col-1,.ck-form .col2-set .col-2{float:none!important;width:100%!important;max-width:none}
.ck-form .col2-set::after{content:"";display:table;clear:both}
.ck-form h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:1.85rem;line-height:1.1;margin:0 0 1.3rem}
.ck-form .woocommerce-billing-fields__field-wrapper::after,.ck-form .woocommerce-shipping-fields__field-wrapper::after{content:"";display:table;clear:both}
#ship-to-different-address{font-family:'Inter Tight',sans-serif;font-size:1rem}
#ship-to-different-address label{display:flex;gap:.6rem;align-items:center;cursor:pointer;text-transform:none;letter-spacing:0}
.ck-review h3{font-family:'Instrument Serif',serif;font-weight:400;font-size:1.75rem;margin:0 0 1.2rem}
.woocommerce-checkout-review-order-table thead th{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-top:0;padding-top:0}
.woocommerce-checkout-review-order-table .product-name{font-size:.9rem}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--muted);font-weight:400}
#payment{background:none;border-radius:0}
#payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0;border:0}
#payment ul.payment_methods li{border:1px solid var(--line);padding:.9rem 1rem;margin:0 0 .5rem;background:var(--white)}
#payment ul.payment_methods li:has(input:checked){border-color:var(--ink);background:var(--paper)}
#payment ul.payment_methods li>label{display:inline;font-weight:500;font-size:.95rem;cursor:pointer}
#payment ul.payment_methods li input{accent-color:var(--magenta-deep);margin-right:.5rem}
#payment ul.payment_methods li img{max-height:22px;width:auto;display:inline-block;vertical-align:middle;margin-left:.4rem}
#payment .payment_box{margin:.8rem 0 0;padding:0;background:none;font-size:.85rem;color:var(--muted)}
#payment .payment_box::before{content:none}
#payment .payment_box p:last-child{margin-bottom:0}
#payment .place-order{padding:0;margin:0}
#payment #place_order{width:100%;float:none}
.woocommerce-privacy-policy-text p,.woocommerce-terms-and-conditions-checkbox-text{font-size:.78rem;color:var(--muted);line-height:1.55}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-login-toggle .woocommerce-info{background:var(--paper-2);border-left-color:var(--line)}
form.checkout_coupon,form.woocommerce-form-login{border:1px solid var(--line);background:var(--white);padding:1.4rem;margin:0 0 1.6rem;border-radius:0}

/* ---------- order received ---------- */
.woocommerce-order>p.woocommerce-thankyou-order-received,.woocommerce-notice--success{font-family:'Instrument Serif',serif;font-size:1.6rem;margin:0 0 1.4rem}
ul.woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0 0 2.4rem;padding:0;
  border:1px solid var(--line);background:var(--white)}
ul.woocommerce-order-overview li{padding:1.1rem 1.3rem;border:0;border-left:1px solid var(--line);margin:0;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);float:none}
ul.woocommerce-order-overview li:first-child{border-left:0}
ul.woocommerce-order-overview li strong{display:block;margin-top:.35rem;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400}
.woocommerce-order-details,.woocommerce-customer-details{margin-bottom:2.4rem}
.woocommerce-order-details__title,.woocommerce-column__title{font-family:'Instrument Serif',serif;font-weight:400;font-size:1.85rem;margin:0 0 1rem}
.woocommerce-table--order-details{width:100%;border-collapse:collapse}
.woocommerce-table--order-details th,.woocommerce-table--order-details td{padding:.75rem 0;border-top:1px solid var(--line);text-align:left}
.woocommerce-customer-details address{font-style:normal;line-height:1.6;border:1px solid var(--line);padding:1.2rem;background:var(--white)}

/* ---------- my account ---------- */
.woocommerce-account .ck{padding-top:0}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li a{display:block;padding:.8rem 0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--magenta-deep)}
.woocommerce-MyAccount-content{font-size:.95rem;color:var(--ink-soft)}
.woocommerce-account table.shop_table{width:100%;border-collapse:collapse}
.woocommerce-account table.shop_table th,.woocommerce-account table.shop_table td{padding:.7rem .4rem;border-top:1px solid var(--line);text-align:left}
.u-columns.col2-set h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:1.8rem;margin:0 0 1rem}

/* ---------- generic pages ---------- */
.page-body{padding-top:0}
.prose-page{max-width:72ch;font-size:1.02rem;line-height:1.75;color:var(--ink-soft)}
.prose-page h2,.prose-page h3{font-family:'Instrument Serif',serif;font-weight:400;color:var(--ink);margin:2.2rem 0 .8rem}

@media(max-width:620px){
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
  .line-img img{width:76px;height:76px}
}

/* Quantity pill: undo the generic form-field styling that also matches input.qty */
.woocommerce .quantity input.qty,.woocommerce form .quantity input.input-text.qty{width:44px;border:0;background:none;box-shadow:none;padding:.7rem 0;border-radius:0}
/* Anything a payment plugin adds to the add-to-cart form (express buttons, "OR") sits on its own row */
.buybox form.cart>*:not(.quantity):not(.single_add_to_cart_button):not(input[type=hidden]){flex-basis:100%}

/* Order review: product names read left-aligned like the rest of the panel */
.woocommerce-checkout-review-order-table th.product-name,.woocommerce-checkout-review-order-table td.product-name{text-align:left;padding-right:1rem}
.woocommerce-checkout-review-order-table th.product-total{text-align:right}
#shipping_method li label{white-space:nowrap}
