/* WordPress / WooCommerce glue. Loaded last. Keeps the original look when block-theme wrappers sit in between. */

/* template-part wrappers must not become the sticky header's containing block */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part{display:contents}
.wp-site-blocks{padding:0}
.wp-site-blocks > *{margin-block-start:0}
:where(.wp-site-blocks) > *{margin-block-start:0}
.wp-block-group.is-layout-flow > *{margin-block-start:0;margin-block-end:0}

/* root padding from theme.json must not shrink full-bleed sections */
.has-global-padding{padding-left:0;padding-right:0}

/* every page fades in gently (replaces the React template transition) */
@media (prefers-reduced-motion:no-preference){
  main#main{animation:pageIn .35s var(--ease) backwards} /* not 'both': a fill-forwards transform makes <main> the containing block of the fixed filters sheet */
}
@keyframes pageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* admin bar offsets the sticky header */
.admin-bar .header{top:var(--wp-admin--admin-bar--height,32px)}

/* catalog: type tabs and chips are links now (they were buttons) */
.tab{display:inline-flex;align-items:center}
.catalog-root[aria-busy=true] .results{opacity:.55;transition:opacity .2s}
a.btn{text-decoration:none}

/* ---------- Contact Form 7 ---------- */
.wpcf7 .wpcf7-form-control-wrap{display:block}
.wpcf7 form .field input,.wpcf7 form .field textarea{width:100%}
.wpcf7-not-valid-tip{display:block;margin-top:.35rem;font-size:.875rem;color:#a3263f}
.wpcf7 .wpcf7-not-valid{border-color:#a3263f!important;box-shadow:0 0 0 1px #a3263f}
.wpcf7 form .wpcf7-response-output{margin:1.2rem 0 0;padding:.95rem 1.1rem;border:1px solid var(--accent);background:#edf4f0;font-size:.9375rem}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:#a3263f;background:#fbeff1;color:#7d1a2e}
.wpcf7-spinner{display:none}
.wpcf7 input[type=submit].btn{width:100%;cursor:pointer}

/* ---------- WooCommerce notices (login errors, "added to cart" etc.) ---------- */
.woocommerce-error,.woocommerce-message,.woocommerce-info{list-style:none;margin:0 0 1.3rem;padding:.95rem 1.1rem;border:1px solid var(--accent);background:#edf4f0;font-size:.9375rem}
.woocommerce-error{border-color:#a3263f;background:#fbeff1;color:#7d1a2e}
.woocommerce-error li+li{margin-top:.3rem}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{text-decoration:underline;text-underline-offset:4px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- auth screens ---------- */
.check--inline{margin:-.2rem 0 1rem}
.auth .woocommerce-form .field__row a.link-btn{font-size:.9375rem;color:var(--gold)}
.woocommerce-account:not(.logged-in) .woocommerce{max-width:none}

/* ---------- my account (signed in) ---------- */
body.logged-in.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;max-width:var(--max);margin:0 auto;padding:clamp(32px,5vw,64px) var(--gutter) clamp(56px,8vw,104px)}
.woocommerce-MyAccount-navigation ul{list-style:none;border-top:1px solid var(--line-soft)}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line-soft)}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:52px;font-size:1.0625rem}
.woocommerce-MyAccount-navigation .is-active a{font-weight:500;color:var(--accent)}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:1.75rem;margin-bottom:1rem}
.woocommerce-MyAccount-content p{margin-bottom:1rem}
.woocommerce-MyAccount-content a:not(.button):not(.btn){text-decoration:underline;text-underline-offset:4px}
.woocommerce-MyAccount-content table{width:100%;border-collapse:collapse}
.woocommerce-MyAccount-content th,.woocommerce-MyAccount-content td{text-align:left;padding:.8rem .6rem;border-bottom:1px solid var(--line-soft)}
.woocommerce form .form-row{display:grid;gap:.45rem;margin-bottom:1.15rem}
.woocommerce form .form-row label{font-size:.9375rem;font-weight:500}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;min-height:52px;padding:0 1rem;font:inherit;color:var(--ink);background:#fff;border:1px solid #aab6b0;border-radius:0}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.woocommerce .button,.woocommerce button.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 2.2rem;font-size:.8125rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;transition:background-color .3s var(--ease)}
.woocommerce .button:hover{background:var(--accent-hi);border-color:var(--accent-hi)}
@media (max-width:800px){body.logged-in.woocommerce-account .woocommerce{grid-template-columns:1fr}}

/* ---------- page titles on WooCommerce pages (cart, checkout) ---------- */
.page-top-title{padding-block:clamp(32px,5vw,64px) clamp(20px,3vw,36px);font-size:clamp(2.4rem,4.4vw,4rem)}
.woo-page{padding-bottom:clamp(56px,8vw,104px)}
.text-page{padding-block:clamp(32px,5vw,64px) clamp(56px,8vw,104px);max-width:820px}
.text-page h1{margin-bottom:1.4rem}
.text-page p{margin-bottom:1rem}

/* ---------- WooCommerce blocks (cart, checkout, order confirmation) in the Nissi look ---------- */
.wc-block-components-button:not(.is-link),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent);border-radius:0!important;min-height:52px;font-family:var(--font);font-size:.8125rem!important;font-weight:500;letter-spacing:.18em;text-transform:uppercase;transition:background-color .3s var(--ease)}
.wc-block-components-button:not(.is-link):hover{background:var(--accent-hi)!important;border-color:var(--accent-hi)}
.wc-block-components-text-input input,.wc-block-components-combobox .components-form-token-field__input-container,.wc-blocks-components-select .wc-blocks-components-select__select,.wc-block-components-textarea{border-radius:0!important;border-color:#aab6b0!important}
.wc-block-components-text-input input:focus,.wc-blocks-components-select__select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent)!important;outline:0}
.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:clamp(16px,3vw,48px)}
.wc-block-components-order-summary,.wc-block-checkout__sidebar .wc-block-components-totals-wrapper:first-child{border-radius:0}
.wc-block-cart-items th,.wc-block-cart__totals-title{font-size:.8125rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.wc-block-components-product-name{font-weight:400;font-size:1.0625rem;text-decoration:none}
.wc-block-components-quantity-selector{border-radius:0}
.wc-block-components-totals-item__value,.wc-block-components-product-price{font-variant-numeric:tabular-nums}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
.wc-block-components-radio-control__input:checked{border-color:var(--accent)}
.wc-block-components-radio-control__input:checked:before{background:var(--accent)}
.wc-block-components-notice-banner{border-radius:0}
.wc-block-components-title.wc-block-components-title,.wp-block-woocommerce-checkout h2,.wp-block-woocommerce-cart h2{font-family:var(--font);font-weight:300}

/* order confirmation */
.order-page .wp-block-woocommerce-order-confirmation-status{margin-bottom:1.6rem}
.order-page .wp-block-woocommerce-order-confirmation-status h1,.order-page .wc-block-order-confirmation-status h1{font-size:clamp(2.4rem,4.4vw,4rem);margin-bottom:.6rem}
.order-page .wc-block-order-confirmation-summary{margin:0 0 2.4rem}
.order-page .wc-block-order-confirmation-summary-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.4rem;padding:1.4rem 0;border-block:1px solid var(--line-soft)}
.order-page .wc-block-order-confirmation-summary-list-item__key{display:block;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.order-page .wc-block-order-confirmation-summary-list-item__value{display:block;font-size:1.125rem}
.order-page h2,.order-page h3{font-family:var(--font);font-weight:300;font-size:1.75rem;margin:2rem 0 1rem}
.order-page table{width:100%;border-collapse:collapse}
.order-page th,.order-page td{text-align:left;padding:.8rem .5rem;border-bottom:1px solid var(--line-soft)}
.order-page th:last-child,.order-page td:last-child{text-align:right}
.order-page address{font-style:normal;line-height:1.7}

/* the admin bar (signed-in staff) shifts the sticky header, so the mobile drawer starts lower too */
.admin-bar .drawer{padding-top:calc(var(--header-h) + 56px + var(--wp-admin--admin-bar--height,32px))}

/* ---------- block editor canvas ---------- */
/* the mobile drawer is JS-driven and invisible on the front end; in the editor it would only take space */
.editor-styles-wrapper .drawer{display:none!important}
/* template-part wrappers keep their normal box in the editor so blocks stay selectable */
.editor-styles-wrapper .wp-block-template-part{display:block}
/* Gutenberg sets heading sizes to "inherit" in the canvas; restore the theme's scale there (front end is unaffected) */
.editor-styles-wrapper.editor-styles-wrapper h1{font-size:var(--wp--preset--font-size--heading-xl)}
.editor-styles-wrapper.editor-styles-wrapper h2{font-size:var(--wp--preset--font-size--heading-l)}
.editor-styles-wrapper.editor-styles-wrapper h3{font-size:var(--wp--preset--font-size--heading-m)}
.editor-styles-wrapper.editor-styles-wrapper .footer h2,.editor-styles-wrapper.editor-styles-wrapper .mega h3{font-size:.8125rem}
/* rails are plain lists in the editor (Swiper does not run there): give the slides the gap Swiper would add */
.editor-styles-wrapper .rail .swiper-slide{margin-right:24px}

/* ======================================================================
   Classic WooCommerce: cart, checkout, order received (theme template overrides in /woocommerce)
   ====================================================================== */
/* stepper (cart quantity): [ - | 3 | + ], dividers between the cells, buttons dim at the ends */
.stepper.quantity{display:inline-grid;grid-template-columns:36px 44px 36px;align-items:stretch;border:1px solid #aab6b0;background:#fff;text-align:center}
.stepper.quantity button{height:38px;display:grid;place-items:center;color:var(--ink);background:transparent;transition:background-color .2s,color .2s}
.stepper.quantity button:hover:not(:disabled){background:var(--bg-deep);color:var(--accent)}
.stepper.quantity button:active:not(:disabled){background:#dbe4de}
.stepper.quantity button:disabled{opacity:.25;cursor:default}
.stepper.quantity button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.stepper input.qty{width:100%;height:38px;padding:0;border:0;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);border-radius:0;background:transparent;text-align:center;font:inherit;font-size:1rem;font-weight:500;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.stepper input.qty::-webkit-inner-spin-button,.stepper input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.stepper input.qty:focus{outline:2px solid var(--accent);outline-offset:-2px}
/* touch screens keep the 44px target of the other controls */
@media (max-width:640px){.stepper.quantity{grid-template-columns:40px 48px 40px}.stepper.quantity button,.stepper input.qty{height:42px}}
/* the cart is a calmer, narrower column than the catalog */
.woocommerce-cart main .container{max-width:1400px}
.woocommerce-cart-form.is-updating{opacity:.55;transition:opacity .2s}

.cart-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:1.6rem}
.cart-actions .coupon{display:flex;gap:.6rem;flex-wrap:wrap}
.cart-actions .coupon .button{white-space:nowrap}
/* WooCommerce's own coupon result: a red line under the field, the field gets a red border */
.coupon-error-notice{flex:0 0 100%;margin:.2rem 0 0;font-size:.875rem;line-height:1.4;color:#a3263f}
.woocommerce input.input-text.has-error{border-color:#a3263f}
@media (max-width:640px){.cart-actions,.cart-actions .coupon{width:100%}.cart-actions .coupon input.input-text{flex:1 1 150px;min-width:0}.cart-actions .coupon .button{flex:0 0 auto;padding:0 1.2rem}}
.cart-actions .coupon input.input-text{min-height:48px;padding:0 1rem;border:1px solid #aab6b0;border-radius:0;font:inherit;background:#fff}
.js .cart-actions .cart-update{display:none!important}

.cart_totals h2{font-size:1.75rem;margin-bottom:1.2rem}
.cart_totals table{width:100%;border-collapse:collapse}
.cart_totals th{text-align:left;font-weight:400;color:var(--muted);padding:.6rem 0;vertical-align:top}
.cart_totals td{text-align:right;padding:.6rem 0;font-variant-numeric:tabular-nums}
.cart_totals .order-total th,.cart_totals .order-total td{padding-top:1.1rem;border-top:1px solid var(--line-soft);font-size:1.25rem;color:var(--ink)}
.cart_totals .order-total td{font-weight:500}
.cart_totals ul#shipping_method{list-style:none;text-align:right}
.cart_totals .woocommerce-shipping-destination,.cart_totals .shipping-calculator-button{font-size:.875rem;color:var(--muted)}
.wc-proceed-to-checkout{margin-top:1.4rem}
.wc-proceed-to-checkout .checkout-button{display:flex;width:100%;min-height:52px}

/* checkout */
.checkout.shop-layout .checkout-fields h3,.woocommerce-additional-fields h3{font-size:1.75rem;margin-bottom:1.2rem}
.checkout-block{margin-bottom:2.2rem}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.woocommerce-billing-fields__field-wrapper .form-row-wide,.woocommerce-shipping-fields__field-wrapper .form-row-wide,.woocommerce-additional-fields__field-wrapper .form-row{grid-column:1/-1}
.woocommerce form .form-row .required{color:#a3263f;text-decoration:none}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#a3263f;box-shadow:0 0 0 1px #a3263f}
.woocommerce form .form-row textarea{min-height:120px;padding:.9rem 1rem}
.woocommerce-checkout .select2-container .select2-selection--single{height:52px;border:1px solid #aab6b0;border-radius:0}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:50px;padding-left:1rem}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.woocommerce-form-login-toggle .woocommerce-info,.woocommerce-form-coupon-toggle .woocommerce-info{margin-bottom:1rem}

.checkout .summary h2{font-size:1.75rem;margin-bottom:1.2rem}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:.7rem 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft);font-weight:400}
.woocommerce-checkout-review-order-table thead th{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table tfoot td{text-align:right;font-variant-numeric:tabular-nums}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--muted)}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:1.25rem;font-weight:500;border-bottom:0}
#payment{margin-top:1.4rem}
#payment ul.payment_methods{list-style:none;border-top:1px solid var(--line-soft)}
#payment ul.payment_methods>li{padding:.9rem 0;border-bottom:1px solid var(--line-soft)}
#payment ul.payment_methods label{font-weight:500;cursor:pointer}
#payment .payment_box{margin-top:.7rem;padding:.9rem 1rem;background:var(--bg-deep);font-size:.9375rem;color:#3d4a44}
#payment .payment_box p{margin:0}
.woocommerce-privacy-policy-text{margin:1.1rem 0;font-size:.875rem;color:var(--muted)}
.woocommerce-terms-and-conditions-wrapper .form-row{margin-bottom:.6rem}
#place_order{width:100%;min-height:56px;margin-top:.6rem}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block}

/* order received */
.woocommerce-order .woocommerce-notice--success{font-size:clamp(1.25rem,2vw,1.625rem);font-weight:300;margin-bottom:1.6rem}
.woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.4rem;padding:1.4rem 0;margin-bottom:2.4rem;border-block:1px solid var(--line-soft);font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.woocommerce-order-overview li strong{display:block;margin-top:.3rem;font-size:1.125rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink)}
.woocommerce-order h2,.woocommerce-order-details__title,.woocommerce-column__title{font-size:1.75rem;margin:2rem 0 1rem}
.woocommerce-order table.shop_table{width:100%;border-collapse:collapse}
.woocommerce-order table.shop_table th,.woocommerce-order table.shop_table td{padding:.8rem .5rem;text-align:left;border-bottom:1px solid var(--line-soft);font-weight:400}
.woocommerce-order table.shop_table td:last-child,.woocommerce-order table.shop_table tfoot td{text-align:right}
.woocommerce-order table.shop_table tfoot th{font-weight:500}
.woocommerce-customer-details address{font-style:normal;line-height:1.7;padding:1rem 1.2rem;border:1px solid var(--line-soft);background:#fff}
.woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media (max-width:700px){.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}.woocommerce-columns--addresses{grid-template-columns:1fr}}

/* ---------- catalog price slider (two thumbs) ---------- */
.prange{--lo:0%;--hi:100%;padding:.2rem 0 1rem}
.prange__vals{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.9rem;font-size:.9375rem;font-variant-numeric:tabular-nums}
.prange__vals span{color:var(--muted)}
.prange__slider{position:relative;height:28px}
.prange__track{position:absolute;left:0;right:0;top:12px;height:3px;background:var(--line-soft)}
.prange__fill{position:absolute;top:0;bottom:0;left:var(--lo);right:calc(100% - var(--hi));background:var(--accent)}
.prange input[type=range]{position:absolute;left:0;top:0;width:100%;height:28px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.prange input[type=range]::-webkit-slider-runnable-track{background:none;border:0;height:28px}
.prange input[type=range]::-moz-range-track{background:none;border:0;height:28px}
.prange input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:3px;border-radius:50%;background:#fff;border:2px solid var(--accent);cursor:grab;box-shadow:0 1px 4px rgba(11,63,51,.25)}
.prange input[type=range]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--accent);cursor:grab;box-shadow:0 1px 4px rgba(11,63,51,.25)}
.prange input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent-hi);outline-offset:3px}
.prange input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--accent-hi);outline-offset:3px}

/* the sticky filter column must end inside the viewport (also with the admin bar), so the last group, the price slider, is reachable */
@media (min-width:1001px){.filters{max-height:calc(100svh - var(--header-h) - 150px)}}

/* preloader already played in this visit (settings: Customizer > Nissi > Preloader) */
.no-preloader .preloader{display:none!important}

/* mega menu column titles (paragraphs, so the page's h1 stays the first heading) */
.mega .mega__title{margin:0 0 .8rem;font-family:var(--font);font-size:.8125rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
/* honeypot of the contact form */
.nissi-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* product page: short description under the price */
.info__desc{margin:.2rem 0 1.4rem;max-width:52ch;color:#3d4a44;font-size:1.0625rem;line-height:1.65}
.info__desc p{margin:0}

/* About: the founder photo stays in view while a longer text scrolls next to it.
   The photo is only aligned to the top of its grid area (the text keeps its vertical centering), so the look is unchanged while the text is the shorter column.
   The photo is never taller than the screen, so its caption stays visible while it sticks. */
@media (min-width:1001px){
	.about-founder__photo{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;max-height:calc(100svh - var(--header-h) - 48px)}
	.admin-bar .about-founder__photo{top:calc(var(--header-h) + 24px + var(--wp-admin--admin-bar--height,32px));max-height:calc(100svh - var(--header-h) - 48px - var(--wp-admin--admin-bar--height,32px))}
}

/* About: "Our mission & values" is one tinted band: title, the mission as a light introduction, the values in three columns */
.about-mv{background:var(--bg-deep);border-block:1px solid var(--line);padding-block:clamp(64px,9vw,128px);text-align:center}
.about-mv h2{margin-bottom:1.4rem}
.about-mv__intro p{max-width:60ch;margin:0 auto 1.1rem;font-size:1.25rem;line-height:1.7;font-weight:300}
.about-mv__values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(40px,5vw,72px);text-align:left;list-style:none}
.about-mv__values li{padding-top:1.4rem;border-top:1px solid var(--gold)}
.about-mv__values h3{font-size:1.75rem;margin-bottom:.7rem}
.about-mv__values p{color:#3d4a44;max-width:36ch}
@media (max-width:800px){.about-mv__values{grid-template-columns:minmax(0,1fr)}}

/* About, tablet and phone: the founder block is one column (the original rule shrank the whole container to 480px and kept two columns) */
@media (max-width:1000px){
	.about-founder{max-width:none;grid-template-columns:minmax(0,1fr);gap:clamp(24px,5vw,40px);padding-block:clamp(40px,8vw,72px)}
	.about-founder__photo{width:100%;max-width:520px;margin-inline:auto}
	.about-founder>div:last-child{max-width:640px;margin-inline:auto}
}

/* Home hero, tablet and phone: the photo fills the hero, the title, text and the two buttons sit on it over a dark fade at the bottom.
   No arrow / pause controls here: swipe or tap a segment of the progress line along the top. Desktop keeps its own layout. */
.hero__segs,.hero__go{display:none}
@media (max-width:1000px){
	.hero{display:block;position:relative;height:clamp(520px,calc(100svh - var(--header-h) - 42px),780px);overflow:hidden}
	.hero::after{display:block;content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(8,22,17,.9) 0%,rgba(8,22,17,.62) 34%,rgba(8,22,17,.12) 62%,rgba(8,22,17,0) 78%)}
	.hero__media{position:absolute;inset:0;display:block;aspect-ratio:auto}
	.hero__swiper{position:absolute;inset:0;width:100%;height:auto;max-height:none}
	.hero__go,.hero__dots{display:none}
	.hero__segs{display:flex;gap:6px;position:absolute;z-index:5;top:8px;left:var(--gutter);right:var(--gutter)}
	.hero__seg{flex:1;height:24px;padding:10px 0;background:none;border:0;cursor:pointer}
	.hero__seg i{display:block;height:3px;background:rgba(255,255,255,.45);position:relative;overflow:hidden}
	.hero__seg i::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(0)}
	.hero__seg.is-done i::after{transform:scaleX(1)}
	.hero__seg.is-on i::after{transform:scaleX(var(--p,0))}
	.hero__copy{position:absolute;z-index:2;left:0;right:0;bottom:0;width:auto;height:auto;gap:.9rem;padding:0 var(--gutter) 26px;justify-content:flex-end;color:#fff}
	.hero__copy h1{color:#fff;font-size:clamp(2.2rem,9.5vw,3.4rem)}
	.hero__copy p{color:rgba(255,255,255,.92);font-size:1rem;max-width:34ch}
	.hero__cap-link{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;padding:0 .6rem;border:1px solid rgba(255,255,255,.75);color:#fff;text-decoration:none;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.25}
	.hero__cta{flex-wrap:nowrap;gap:.6rem;width:100%;margin-top:.3rem}
	.hero__cta .btn,.hero__cta .textlink{flex:1 1 0;min-width:0;width:auto;min-height:48px;padding:0 .6rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;line-height:1.25;text-decoration:none}
	.hero__cta .btn--solid{background:#fff;border-color:#fff;color:var(--ink)}
	.hero__cta .textlink{order:0;margin:0;border:1px solid rgba(255,255,255,.75);color:#fff;background:transparent}
}
@media (max-width:420px){.hero__cta .btn,.hero__cta .textlink{letter-spacing:.06em;font-size:.6875rem}}
@media (prefers-reduced-motion:reduce){.hero__seg.is-on i::after{transform:scaleX(1)}}

/* Catalog cards on phones: the round cart button sits in the photo's bottom corner (the card is a size container, so 100cqw is the photo's height), the price row stays free */
@media (max-width:640px){
	.product .add{top:calc(100cqw - 46px);bottom:auto;right:.5rem;width:38px;height:38px;border-color:transparent;background:rgba(255,255,255,.94)}
	.product__price{font-size:1rem;padding-right:.9rem;white-space:nowrap}
}
@media (max-width:380px){.product__price{font-size:.9375rem}}
/* WordPress makes the admin bar non-sticky under 600px: keep the sticky header at the top then (logged-in view only) */
@media (max-width:600px){.admin-bar .header{top:0}}
