/* Marsha for WordPress: additions on top of base.css (WooCommerce pages, bag drawer, forms, package builder). */
.veil{animation:veilOut .01s 5s forwards}@keyframes veilOut{to{transform:translateY(-100%);visibility:hidden}}
.veil.up{visibility:hidden;transition:transform 1.2s cubic-bezier(.77,0,.18,1),visibility 0s 1.3s}
body.admin-bar .hd{top:32px}@media(max-width:782px){body.admin-bar .hd{top:46px}}
.page-body{max-width:none}.page-body>*{max-width:64ch}.page-body h2{font-size:clamp(2rem,3.4vw,3rem);margin:2.2em 0 .5em}.page-body p{color:var(--ink2);margin:0 0 1.1em;font-size:17px}.page-body strong{color:var(--ink);font-weight:500}
.page-body a{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}
.ph .lines .ln{overflow:visible}

/* bag drawer */
.dw .marsha-free{flex:none}.dw .widget_shopping_cart_content{display:flex;flex-direction:column;flex:1;min-height:0}
.dw .widget_shopping_cart_content>.lines{flex:1;overflow:auto;padding:4px 26px;overscroll-behavior:contain}
.dw .line .th img{width:100%;height:100%;object-fit:cover}.dw .cf .btn{margin-top:8px}.dw .cf .lk{color:var(--ink)}
.marsha-free .free{font-size:12.5px;color:var(--ink2);padding:0 26px 8px}

/* shop filters */
.tools .chips a.chip{text-decoration:none}.tools .woocommerce-ordering{margin:0}
.woocommerce-ordering select{min-height:38px;border:1px solid var(--hair);background:transparent;border-radius:40px;padding:0 14px;font-size:12px;color:var(--ink)}
.woocommerce-pagination,.navigation.pagination{margin-top:60px}.page-numbers{display:inline-flex;gap:8px;list-style:none;padding:0}.page-numbers a,.page-numbers span{display:inline-grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--hair);border-radius:50%}.page-numbers .current{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.woocommerce-notices-wrapper{max-width:1200px;margin:0 auto}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;padding:16px 20px;margin:0 0 24px;border:1px solid var(--hair);background:var(--paper2);display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.woocommerce-error{border-color:#b3412f;color:#7a2a1d}.woocommerce-message .button,.woocommerce-info .button{order:2}

/* product page: WooCommerce's own form, shown as chips */
.pdp .variations{border:0;margin:0 0 6px;width:100%}.pdp .variations tbody,.pdp .variations tr,.pdp .variations th,.pdp .variations td{display:block;padding:0;border:0;text-align:left}
.pdp .variations tr{margin-bottom:18px}.pdp .variations th label{display:flex;gap:10px;justify-content:space-between;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;margin-bottom:10px}
.pdp .variations th label span{color:var(--ink2);font-weight:300;letter-spacing:.08em;text-transform:none;font-size:13px}
.pdp form.mk-ready .variations select{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.pdp .reset_variations{display:none!important}.pdp .single_variation,.pdp .woocommerce-variation-description{display:none}
.pdp .variations_button{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:stretch}
.pdp .quantity{display:inline-flex;align-items:center;border:1px solid var(--hair)}.pdp .quantity input.qty{width:56px;height:52px;border:0;background:transparent;text-align:center;font-size:15px;-moz-appearance:textfield}
.single_add_to_cart_button,.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,button.checkout-button,a.checkout-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 34px;border:1px solid var(--forest);background:var(--forest);color:var(--paper);font:500 11px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;cursor:pointer;transition:background .4s,border-color .4s,color .4s;text-decoration:none;border-radius:0}
.single_add_to_cart_button:hover,.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover,a.checkout-button:hover,button.checkout-button:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
.pdp .swr span,.pdp .swr a{display:block;width:48px;height:48px;border-radius:50%;overflow:hidden;opacity:.6;transition:.3s var(--ease)}.pdp .swr img{width:100%;height:100%;object-fit:cover}.pdp .swr span.on{opacity:1;box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--forest)}.pdp .swr a:hover{opacity:1;transform:scale(1.08)}
.pdp .pdchips{display:flex;gap:8px;flex-wrap:wrap}.pdp .pdchips .opt{border:1px solid var(--hair);min-height:46px;padding:0 16px;font-size:13px;background:transparent;transition:.25s;cursor:pointer}.pdp .pdchips .opt:hover{border-color:var(--ink)}.pdp .pdchips .opt.on{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.pdp .yd{display:grid;gap:8px}.pdp .yd input{width:100%;accent-color:var(--forest)}.pdp .yd output{font-family:var(--serif);font-size:1.5rem}
.pdp .gal .g img{width:100%;height:100%;object-fit:cover}
.pdp .acc p{margin-top:12px;color:var(--ink2);font-size:14.5px}.pdp .acc p p{margin:0}

/* cart and checkout (classic shortcodes) */
.marsha-shop .page-body{max-width:1100px;margin-inline:auto}.marsha-shop .page-body>*{max-width:none}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;margin-bottom:30px}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px 10px;border-bottom:1px solid var(--hair);text-align:left;vertical-align:middle;font-size:15px}
.woocommerce table.shop_table th{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500}.woocommerce table.cart img{width:70px;height:88px;object-fit:cover}
.woocommerce a.remove{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--hair);border-radius:50%;color:var(--ink);font-size:18px;text-decoration:none}
.woocommerce .quantity input.qty{width:64px;height:44px;border:1px solid var(--hair);background:#fff;text-align:center}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end}.woocommerce .cart_totals{width:min(460px,100%)}.woocommerce .cart_totals h2{font-size:2rem;margin-bottom:12px}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;margin-top:10px}
.woocommerce form .form-row{margin:0 0 14px;display:block}.woocommerce form .form-row label{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection{width:100%;padding:13px 14px;border:1px solid var(--hair);background:#fffdf8;font:inherit;font-size:15px;border-radius:0;color:var(--ink)}
.woocommerce form .form-row input:focus,.woocommerce form .form-row textarea:focus{outline:1px solid var(--forest);outline-offset:0}
.woocommerce-checkout .col2-set{display:block}.woocommerce-checkout #customer_details{max-width:560px}.woocommerce-checkout h3{font-size:2rem;margin:0 0 16px}
.woocommerce-checkout #order_review_heading{margin-top:36px}.woocommerce-checkout #payment{background:var(--paper2);padding:20px;margin-top:20px}.woocommerce-checkout #payment ul{list-style:none;padding:0;margin:0 0 16px}.woocommerce-checkout #payment .payment_box{color:var(--ink2);font-size:14px;margin-top:6px}
.woocommerce-checkout #place_order{width:100%}.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--ink2);margin-bottom:12px}
.woocommerce-order-received .woocommerce-order{max-width:760px}.woocommerce ul.order_details{list-style:none;padding:0;display:flex;gap:30px;flex-wrap:wrap;margin:0 0 30px}.woocommerce ul.order_details li{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.woocommerce ul.order_details li strong{display:block;font-size:16px;letter-spacing:0;text-transform:none;margin-top:4px}
.woocommerce-shipping-methods{list-style:none;padding:0;margin:0}

/* build your package */
.pk-grid{display:grid;grid-template-columns:1fr 380px;gap:clamp(24px,4vw,70px);align-items:start}
.pk-row{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--hair);transition:background .4s}.pk-row:last-child{border-bottom:1px solid var(--hair)}
.pk-row.on{background:linear-gradient(90deg,rgba(184,137,59,.1),transparent)}
.pk-row .th{width:96px;height:120px;overflow:hidden;background:var(--paper2)}.pk-row .th img{width:100%;height:100%;object-fit:cover}
.pk-row h4{font-size:1.6rem}.pk-row small{display:block;color:var(--ink2);font-size:12.5px;margin:2px 0 8px}
.pk-row select{min-height:42px;max-width:100%;border:1px solid var(--hair);background:#fffdf8;padding:0 12px;font:inherit;font-size:13px}
.pk-row .dots{display:flex;gap:6px;margin-top:10px}.pk-row .dots button{width:22px;height:22px;border-radius:50%;overflow:hidden;border:1px solid var(--hair);opacity:.55;padding:0}.pk-row .dots button img{width:100%;height:100%;object-fit:cover}.pk-row .dots button.on,.pk-row .dots button:hover{opacity:1;box-shadow:0 0 0 1.5px var(--paper),0 0 0 2.5px var(--ink)}
.pk-row .end{display:grid;gap:10px;justify-items:end;text-align:right}.pk-row .pr{font-family:var(--serif);font-size:1.5rem;color:var(--gold)}
.pk-row .q{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hair);padding:2px 6px}.pk-row .q button{width:28px;height:28px;line-height:1}.pk-row .q span{min-width:20px;text-align:center}
.pk-row .tg{min-height:42px;padding:0 20px;border:1px solid var(--forest);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;transition:.3s}.pk-row .tg:hover{background:var(--forest);color:var(--paper)}.pk-row.on .tg{background:var(--forest);color:var(--paper)}
.pk-sum{position:sticky;top:110px;background:#fffdf8;border:1px solid var(--hair);padding:28px}.pk-sum h3{font-size:2.2rem;margin-bottom:10px}
.pk-sum .ln2{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dashed var(--hair);font-size:14px}.pk-sum .ln2 em{font-style:normal;color:var(--ink2);display:block;font-size:12px}
.pk-sum .empty{padding:18px 0;color:var(--ink2);text-align:left}
.pk-sum .tot{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 4px}.pk-sum .tot b{font-family:var(--serif);font-size:2.6rem;font-weight:500;line-height:1;color:var(--gold)}
.pk-sum .note{font-size:12.5px;color:var(--ink2);margin:6px 0 14px}.pk-sum .btn{margin-top:8px}
.pk-sum .save{display:inline-block;background:var(--gold);color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;margin-bottom:8px}
@media(max-width:900px){.pk-grid{grid-template-columns:1fr}.pk-sum{position:static}.pk-row{grid-template-columns:76px 1fr}.pk-row .th{width:76px;height:96px}.pk-row .end{grid-column:1/-1;grid-template-columns:auto auto 1fr;justify-items:start;align-items:center}.pk-row .tg{justify-self:end}}

#billing_country_field,.woocommerce-checkout .woocommerce-shipping-fields{display:none!important}
.woocommerce-checkout .woocommerce-billing-fields h3{margin-bottom:18px}
/* checkout field order (WooCommerce's address script reorders rows, so order them with CSS) */
.woocommerce-billing-fields__field-wrapper{display:flex;flex-direction:column}
#billing_first_name_field{order:1}#billing_phone_field{order:2}#billing_email_field{order:3}#billing_city_field{order:5}#billing_address_1_field{order:6}
