/*
Theme Name: Luxflo
Theme URI: https://theluxflo.com
Author: Auronix Web Studio
Author URI: https://auronixwebstudio.com/
Description: Custom WooCommerce theme for Luxflo Flowers & Chocolates.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: luxflo
WC requires at least: 9.0
*/

:root {
	--ink: #00553a;
	--ink-deep: #003324;
	--cream: #f7f4ee;
	--sand: #ece5da;
	--rose: #b98a7e;
	--text: #1d2422;
	--muted: #6d7572;
	--line: #e6e1d8;
	--white: #fff;
	--r: 8px;
	/* Widths keep the 1440px proportions (90% / 97%) on bigger or scaled screens; capped for ultra-wide. */
	--wrap: min(max(1296px, 90vw), 2000px);
	--hero: min(max(1400px, 97vw), 2160px);
	--gap: 16px;
	--section: 80px;
	--serif: "Cormorant Garamond", Georgia, serif;
	--sans: "DM Sans", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 16px/24px var(--sans); color: var(--text); background: var(--white); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; margin: 0 0 .4em; color: var(--ink); }
h1 { font-size: 44px; line-height: 52px; }
h2 { font-size: 40px; line-height: 48px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wrap { max-width: calc(var(--wrap) + 40px); margin-inline: auto; padding-inline: 20px; }
.site-main { min-height: 50vh; padding-bottom: var(--section); }
.page-pad { padding-top: 32px; }

/* Buttons + pill */
.btn, .button, button.button, input.button, #place_order, .single_add_to_cart_button, .checkout-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; text-decoration: none; cursor: pointer;
	background: linear-gradient(135deg, #0a6a4a 0%, var(--ink) 45%, var(--ink-deep) 100%); color: var(--white) !important;
	font-weight: 700; font-size: 15px; letter-spacing: .03em;
	box-shadow: inset 0 0 0 1px rgba(214,178,160,.55), 0 4px 12px rgba(0,51,36,.18);
	transition: background .25s, color .25s, box-shadow .25s, transform .25s;
}
.btn:hover, .button:hover, .single_add_to_cart_button:hover, #place_order:hover { background: linear-gradient(135deg, var(--ink) 0%, var(--ink-deep) 100%); box-shadow: inset 0 0 0 1px rgba(214,178,160,.9), 0 8px 20px rgba(0,51,36,.26); transform: translateY(-1px); }
.btn:active, .button:active { transform: translateY(0) scale(.98); }
.btn:focus-visible, .button:focus-visible, #place_order:focus-visible { outline: 2px solid var(--rose); outline-offset: 3px; }
.button:disabled, .button.disabled { opacity: .5; cursor: default; transform: none; }
.btn--white { background: var(--white); color: var(--ink) !important; min-height: 44px; padding: 0 24px; font-size: 14px; box-shadow: 0 4px 14px rgba(0,0,0,.12); }
.btn--white:hover { background: var(--cream); color: var(--ink) !important; box-shadow: inset 0 0 0 1px rgba(185,138,126,.5), 0 6px 16px rgba(0,0,0,.14); }
/* Secondary: ivory with a green hairline, fills green on hover. */
.btn--outline, .woocommerce-cart-form .button, .coupon .button, .woocommerce-form-coupon .button, .return-to-shop .button, .woocommerce-message .button, .woocommerce-info .button {
	background: linear-gradient(180deg, #fff, var(--cream)); color: var(--ink) !important; border: 0; box-shadow: inset 0 0 0 1px rgba(0,85,58,.55), 0 1px 2px rgba(0,51,36,.06); }
.btn--outline:hover, .woocommerce-cart-form .button:hover, .coupon .button:hover, .woocommerce-form-coupon .button:hover, .return-to-shop .button:hover, .woocommerce-message .button:hover, .woocommerce-info .button:hover {
	background: var(--ink); color: #fff !important; box-shadow: inset 0 0 0 1px var(--ink), 0 6px 16px rgba(0,51,36,.18); }
.pill { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: 13.5px; background: var(--cream); color: var(--ink); font-weight: 600; font-size: 16px; line-height: 16px; white-space: nowrap; }
.pill:hover { background: var(--sand); }
.button.loading { opacity: .6; }
.added_to_cart { display: none !important; }

/* Utility bar (48px) */
.lang-switch { height: 30px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--cream); color: var(--ink); cursor: pointer; font: 600 13px/1 var(--sans); box-shadow: inset 0 0 0 1px rgba(185,138,126,.45); }
.lang-switch[lang="ar"] { font-family: "Noto Kufi Arabic", Tahoma, sans-serif; }
.gt_float_switcher, .gt_float_wrapper, #gt_float_wrapper { display: none !important; } /* language pill in the top bar replaces it */

/* Header (73px) */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--line); }
.site-header .wrap { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 120px; gap: 16px; }
.hdr-left, .hdr-right { display: flex; align-items: center; gap: 32px; color: var(--ink); font-size: 14px; line-height: 20px; }
.hdr-right { justify-content: flex-end; }
.hdr-btn { position: relative; display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 6px 0; cursor: pointer; color: var(--ink); font-weight: 500; }
.hdr-btn svg { width: 22px; height: 22px; }
.hdr-count { position: absolute; top: -2px; inset-inline-start: 13px; min-width: 17px; height: 17px; padding-inline: 4px; border-radius: 9px; background: var(--rose); color: #fff; font-size: 10.5px; line-height: 17px; text-align: center; }
.hdr-count[data-count="0"] { display: none; }
.site-logo { font-family: var(--serif); font-size: 34px; letter-spacing: .06em; color: var(--ink); }
.site-logo img { max-height: 48px; width: auto; }

/* Overlays: Explore menu + search */
.overlay { position: fixed; inset: 0; z-index: 100; visibility: hidden; }
.overlay.is-open { visibility: visible; }
.overlay__bg { position: absolute; inset: 0; background: rgba(0, 30, 20, .35); opacity: 0; transition: opacity .25s; }
.overlay.is-open .overlay__bg { opacity: 1; }
.explore { position: absolute; inset-block: 0; inset-inline-start: 0; width: min(575px, 100vw); background: var(--white); overflow-y: auto; padding: 0 60px 48px; transform: translateX(-100%); transition: transform .3s; }
[dir="rtl"] .explore { transform: translateX(100%); }
.overlay.is-open .explore { transform: none; }
.explore__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-end; min-height: 115px; padding-bottom: 31px; background: var(--white); }
.explore__head h2 { margin: 0; font-size: 28px; line-height: 28px; font-weight: 400; }
.round-btn { width: 32px; height: 32px; border-radius: 50%; border: 0; background: var(--white); box-shadow: 0 1px 6px rgba(0,0,0,.12); display: grid; place-items: center; cursor: pointer; font-size: 18px; color: var(--ink); }
.explore__close { position: absolute; top: 30px; inset-inline-end: -14px; }
.tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin: 0 0 30px; }
.tile { position: relative; display: block; aspect-ratio: 220 / 256; border-radius: var(--r); overflow: hidden; background: var(--cream); }
.tile img { width: 100%; height: 100%; object-fit: cover; }
.tiles:not(.tiles--below) .tile::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.5)); }
.tiles:not(.tiles--below) .tile span { position: absolute; z-index: 1; inset: auto 0 31px; text-align: center; font-family: var(--serif); font-size: 20px; line-height: 24px; color: #fff; text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.tiles--below { margin: 38px 0 0; }
.tile-wrap { display: block; }
.tile-label { display: block; text-align: center; font-family: var(--serif); font-size: 20px; line-height: 24px; color: var(--ink); margin-top: 12px; }
.cardlink { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 101px; padding: 0 13px 0 30px; margin-bottom: 6px; border: 1px solid var(--line); border-radius: var(--r); background: #f6f5f1; }
.cardlink span { font-family: var(--serif); font-size: 22px; line-height: 26px; color: var(--ink); }
.cardlink span::after { content: " →"; font-family: var(--sans); font-size: 12px; margin-inline-start: 6px; }
.cardlink img, .cardlink .circle-ph { width: 77px; height: 77px; object-fit: contain; mix-blend-mode: multiply; }
.explore__group { margin-top: 56px; }
.explore__group h3 { font-size: 22px; line-height: 22px; font-weight: 400; margin: 0 0 14px; }
.explore__list { list-style: none; margin: 0; padding: 0; }
.explore__list a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--ink); }
.search-sheet { position: absolute; inset-inline: 0; top: 0; background: var(--white); padding: 34px 20px; transform: translateY(-100%); transition: transform .25s; }
.overlay.is-open .search-sheet { transform: none; }
.search-sheet form { max-width: 760px; margin: 0 auto; display: flex; gap: 10px; }
.search-sheet input[type=search] { flex: 1; height: 54px; border: 1px solid var(--line); border-radius: var(--r); padding: 0 18px; font-size: 18px; }

/* Hero (1400×550, square corners) */
.hero.wrap { position: relative; max-width: calc(var(--hero) + 40px); margin: 0 auto 72px; }
.hero__track { display: flex; align-items: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.hero__track::-webkit-scrollbar { display: none; }
.hero__slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 1400 / 550; background: var(--sand); } /* scales with the wider hero, so the photo is never cropped harder */
.hero__slide { overflow: hidden; }
/* Photo sits behind the slide (absolute), so the slide's size comes only from its shape: no tall flash while the image loads. */
.hero__slide picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.hero__copy { position: absolute; inset-block: 0; inset-inline-end: 7%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; max-width: 500px; color: var(--ink); }
.hero__copy h2 { color: inherit; font-size: 72px; line-height: 1.05; font-weight: 400; margin-bottom: 16px; }
.hero__copy p { margin: 0 0 24px; font-size: 17px; }
.hero__nav { position: absolute; top: 50%; translate: 0 -50%; z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--ink); cursor: pointer; font-size: 18px; box-shadow: 0 6px 18px rgba(0,51,36,.14); transition: background .2s, transform .2s; }
.hero__nav:hover { background: #fff; scale: 1.06; }
.hero__nav svg { width: 24px; height: 24px; }
.hero__nav--prev { inset-inline-start: 36px; }
.hero__nav--prev svg { transform: rotate(180deg); }
.hero__nav--next { inset-inline-end: 36px; }
.hero__dots { position: absolute; bottom: 12px; inset-inline: 20px; display: flex; gap: 12px; justify-content: center; }
.hero__dots button { width: 42px; height: 24px; border: 0; padding: 10px 0; background: transparent; cursor: pointer; }
.hero__dots button::after { content: ""; display: block; height: 3px; border-radius: 2px; background: #00553a40; }
.hero__dots button[aria-current="true"]::after { background: var(--ink); }

/* Sections */
.section { margin-bottom: 136px; }
.section--circles { margin-bottom: 80px; }
.section__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; }
.section__head h2 { margin: 0; font-weight: 400; }
.section__foot { display: none; }

/* Product rows (horizontal scroll, 4.5 visible) */
ul.products.row-scroll { grid-template-columns: none; padding-inline-start: 2px; }
/* 4 cards fill the content width and the row bleeds to the viewport's right edge. */
.row-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: calc((min(100vw - 40px, var(--wrap)) - var(--gap) * 4) / 4); gap: var(--gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; margin: 0 calc(50% - 50vw) 0 0; padding: 0 calc(50vw - 50%) 0 2px; }
.row-scroll::-webkit-scrollbar { display: none; }
.row-scroll > li { scroll-snap-align: start; }

/* Circles */
.circles { display: grid; grid-auto-flow: column; grid-auto-columns: calc(100% / 6); gap: 0; padding-inline-start: 0 !important; overflow-x: auto; scrollbar-width: none; list-style: none; margin: 0; padding: 0; }
.circles { padding-bottom: 30px; }
.circles li { padding: 6px; }
.circles a { display: block; text-align: center; color: var(--ink); font-size: 18px; line-height: 24px; font-weight: 500; }
.circles .circle { width: 160px; height: 160px; margin: 0 auto 12px; border-radius: 50%; overflow: hidden; background: var(--cream); display: grid; place-items: center; }
.circles .circle img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.circles a:hover img { transform: scale(1.05); }
.circle-ph { display: block; width: 100%; height: 100%; background: var(--cream); }
.circles .label, .tiles-row .label, .squares .label { display: block; overflow-wrap: anywhere; }

/* Photo tiles (3 portrait cards, gradient + serif title + outlined pill) */
.photo-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-inline: 6px; }
.photo-tile { position: relative; display: block; aspect-ratio: 420 / 525; border-radius: var(--r); overflow: hidden; background: var(--sand); color: #fff; }
.photo-tile img, .photo-tile .circle-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.photo-tile:hover img { transform: scale(1.03); }
.photo-tile::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.55)); }
.photo-tile__copy { position: absolute; inset: auto 20px 24px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.photo-tile__title { font-family: var(--serif); font-size: 36px; line-height: 40px; color: #fff; }
.photo-tile__btn { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border: 1.5px solid #fff; border-radius: 999px; font-size: 15px; font-weight: 600; }

/* Collections (cream tiles + name, progress line) and recipients (squares + name) */
.tiles-row, .squares { display: grid; grid-auto-flow: column; gap: 12px; overflow-x: auto; scrollbar-width: none; list-style: none; margin: 0; padding: 0; }
.tiles-row { grid-auto-columns: calc((100% - 60px) / 6); padding-bottom: 28px; border-bottom: 2px solid var(--line); background: linear-gradient(var(--ink), var(--ink)) no-repeat left bottom / 18.75% 2px; }
.squares { grid-auto-columns: 204px; }
.tiles-row::-webkit-scrollbar, .squares::-webkit-scrollbar { display: none; }
.tiles-row a, .squares a { display: block; text-align: center; color: var(--ink); font-size: 16px; line-height: 24px; }
.tiles-row .thumb { display: grid; place-items: center; height: 125px; background: var(--sand); overflow: hidden; margin-bottom: 18px; }
.tiles-row .thumb img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.squares .thumb { display: block; width: 204px; height: 204px; overflow: hidden; background: var(--cream); margin-bottom: 12px; }
.squares .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.squares a:hover img { transform: scale(1.04); }
.squares .label { font-size: 18px; font-weight: 500; }

/* Recipient cards: square gift image and a separate label. */
.recipients { display: grid; grid-auto-flow: column; grid-auto-columns: calc(100% / 6); gap: 0; overflow-x: auto; list-style: none; margin: 0; padding: 0 0 30px; scroll-snap-type: x mandatory; }
.recipients li { min-width: 0; padding: 6px; scroll-snap-align: start; }
.recipients a { display: block; text-align: center; color: var(--ink); }
.recipient-photo { display: block; aspect-ratio: 1; overflow: hidden; background: var(--cream) url("assets/recipient-gifts.webp") 0 0 / 300% 200% no-repeat; }
.recipient-photo--2 { background-position: 50% 0; }
.recipient-photo--3 { background-position: 100% 0; }
.recipient-photo--4 { background-position: 0 100%; }
.recipient-photo--5 { background-position: 50% 100%; }
.recipient-photo--6 { background-position: 100% 100%; }
.recipient-photo--custom { background-image: none; }
.recipient-photo img, .recipient-photo .circle-ph { width: 100%; height: 100%; object-fit: cover; }
.recipients .label { display: block; padding-top: 12px; font: 500 18px/24px var(--sans); }
.section--recipients { margin-bottom: 0; }
.carousel { position: relative; }
.row-next { position: absolute; inset-inline-end: -20px; top: calc(37% - 20px); z-index: 3; display: grid; place-items: center; width: 40px; height: 40px; padding: 10px; border: 0; border-radius: 50%; background: #fff; color: var(--ink); box-shadow: 0 2px 8px #0002; cursor: pointer; opacity: 0; transition: opacity .2s; }
.row-next svg { width: 24px; height: 24px; }
.carousel:hover .row-next, .carousel:focus-within .row-next { opacity: 1; }
.row-next[hidden] { display: none; }
[dir="rtl"] .row-next svg { transform: rotate(180deg); }
/* Chrome 121+ ignores ::-webkit-scrollbar once scrollbar-width is set, so only Firefox gets the standard props. */
@supports not selector(::-webkit-scrollbar) { .circles, .tiles-row, .recipients { scrollbar-width: thin; scrollbar-color: var(--ink) #dededb; } }
.circles::-webkit-scrollbar, .tiles-row::-webkit-scrollbar, .recipients::-webkit-scrollbar { display: block; height: 2px; }
.circles::-webkit-scrollbar-track, .tiles-row::-webkit-scrollbar-track, .recipients::-webkit-scrollbar-track { background: #dededb; }
.circles::-webkit-scrollbar-thumb, .tiles-row::-webkit-scrollbar-thumb, .recipients::-webkit-scrollbar-thumb { background: var(--ink); }

/* Separate generated product scenes; custom Media Library replacements remain editable. */
.category-art { display: block; width: 100%; height: 100%; background-repeat: no-repeat; }
.category-art--occasions { background-image: url("assets/occasions.webp"); background-size: 500% 200%; }
.category-art--gift-types { background-image: url("assets/gift-types.webp"); background-size: 400% 200%; }
.category-art--collections { background-image: url("assets/collections-cutout.webp"); background-size: 300% 200%; }
.tiles-row .thumb .category-art { width: 125px; height: 125px; }

/* Product card */
ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px var(--gap); list-style: none; margin: 0; padding: 0; }
ul.products::before, ul.products::after { display: none !important; }
.card { position: relative; display: flex; flex-direction: column; width: auto !important; margin: 0 !important; float: none !important; }
.card__media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--r); background: var(--cream); }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.card:hover .card__media img { transform: scale(1.03); }
.badge { position: absolute; top: 8px; inset-inline-end: 8px; z-index: 1; background: var(--rose); color: #fff; font-size: 14px; line-height: 20px; padding: 4px 8px; border-radius: 4px 4px 0 4px; text-transform: capitalize; }
.badge--light { background: var(--white); color: var(--ink); border: 1px solid var(--line); }
.card__price { display: flex; align-items: baseline; gap: 4px; margin-top: 16px; line-height: 26px; color: var(--text); }
.card__price .woocommerce-Price-currencySymbol { font-size: 12px; font-weight: 500; }
.card__price .amount { font-size: 16px; font-weight: 700; }
.card__price del { color: var(--muted); }
.card__price del .amount { font-weight: 400; font-size: 13px; }
.card__price ins { text-decoration: none; }
.card__title { margin: 4px 0 0; font: 500 14px/16px var(--sans); color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 32px; }
/* Premium buttons: ivory "Add to cart" with hairline + bag icon, green gradient "Buy now" with gold-rose ring. */
.card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: auto; padding-top: 12px; }
.card__actions .button, .single-product .single_add_to_cart_button, .single-product .buy-now-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 999px; letter-spacing: .03em; font-weight: 700; white-space: nowrap; transition: background .25s, color .25s, box-shadow .25s, transform .25s; }
.card__actions .button { width: 100%; min-height: 40px; padding: 0 10px; font-size: 13px; }
.card__actions .add_to_cart_button, .card__actions .product_type_variable, .card__actions .product_type_grouped, .card__actions .product_type_external, .single-product .single_add_to_cart_button { background: linear-gradient(180deg, #fff, var(--cream)); color: var(--ink) !important; box-shadow: inset 0 0 0 1px rgba(0,85,58,.55), 0 1px 2px rgba(0,51,36,.06); }
.card__actions .add_to_cart_button::before, .single-product .single_add_to_cart_button::before { content: ""; width: 15px; height: 15px; flex: 0 0 15px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat; }
.card__actions .add_to_cart_button:hover, .card__actions .product_type_variable:hover, .single-product .single_add_to_cart_button:hover { background: var(--ink); color: #fff !important; box-shadow: inset 0 0 0 1px var(--ink), 0 6px 16px rgba(0,51,36,.18); transform: translateY(-1px); }
.card__actions .card__buy, .single-product .buy-now-button { background: linear-gradient(135deg, #0a6a4a 0%, var(--ink) 45%, var(--ink-deep) 100%); color: #fff !important; box-shadow: inset 0 0 0 1px rgba(214,178,160,.55), 0 4px 12px rgba(0,51,36,.22); }
.card__actions .card__buy:hover, .single-product .buy-now-button:hover { background: linear-gradient(135deg, var(--ink) 0%, var(--ink-deep) 100%); box-shadow: inset 0 0 0 1px rgba(214,178,160,.9), 0 8px 20px rgba(0,51,36,.3); transform: translateY(-1px); }
.card__actions .button:focus-visible, .single-product form.cart .button:focus-visible { outline: 2px solid var(--rose); outline-offset: 2px; }
.card__actions > :only-child { grid-column: 1 / -1; }
.card__actions .button.loading { opacity: .6; }
.card__actions .button.added::after { content: "✓"; }
.wl-btn { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--white); display: inline-grid; place-items: center; cursor: pointer; color: var(--ink); box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.wl-btn svg { width: 20px; height: 20px; }
.wl-btn.is-active svg { fill: #c0392b; stroke: #c0392b; }

/* Listing */
/* Shop/category listing uses the same full width as the header (no narrower box). */
.listing-head { margin: 20px 0 32px; max-width: 830px; }
.listing-head h1 { display: inline; font-family: var(--sans); font-weight: 700; font-size: 40px; line-height: 48px; color: var(--text); }
.listing-head .count { color: #616161; font-size: 14px; line-height: 20px; margin-inline-start: 8px; }
.listing-head .term-description { margin-top: 12px; font-size: 17px; }
.listing { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: start; }
.listing ul.products { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 40px 18px; }
.listing .card__price { margin-top: 21px; line-height: 24px; }
.listing .card__price .amount { font-weight: 900; }
.listing .card__title { font-size: 16px; line-height: 24px; color: var(--text); white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.filters { position: sticky; top: 140px; max-height: max(220px, calc(100dvh - 156px)); overflow: auto; overscroll-behavior: contain; scroll-padding-block-start: 66px; scrollbar-width: thin; scrollbar-color: #8a9b90 #f4f2eb; border: 1px solid #ded8cc; border-radius: 14px; font-size: 16px; background: var(--white); }
.filters__head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 60px; padding: 9px 16px; background: #f6f4ee; border-bottom: 1px solid #ded8cc; color: var(--ink); font-size: 14px; line-height: 1.35; font-weight: 700; }
.filters__head a { font-size: 13px; color: var(--ink); text-decoration: underline; }
.filters__close { display: none; }
.filters fieldset { min-inline-size: 0; border: 0; margin: 0 12px; padding: 15px 0; border-bottom: 1px solid #e6e0d5; }
.filters fieldset:last-of-type { border-bottom: 0; }
.filters legend { float: inline-start; width: 100%; padding: 0 8px; margin-bottom: 8px; color: var(--ink); font-size: 13px; font-weight: 700; }
.filters :is(label,.filters__option) { display: flex; align-items: center; gap: 10px; min-height: 39px; padding: 6px 8px; border-radius: 7px; cursor: pointer; font-size: 14px; line-height: 1.35; font-weight: 500; text-decoration: none; }
.filters :is(label,.filters__option):hover { background: #f6f4ee; }
.filters :is(label:has(:checked),.filters__option[aria-current]) { background: #e9f1ec; color: var(--ink); font-weight: 700; }
.filters input[type=radio] { flex: 0 0 16px; accent-color: var(--ink); width: 16px; height: 16px; margin: 0; }
.filters__option::before { content: ""; flex: 0 0 16px; height: 12px; background: currentColor; opacity: .65; clip-path: polygon(35% 12%, 45% 12%, 72% 50%, 45% 88%, 35% 88%, 62% 50%); }
[dir="rtl"] .filters__option::before { transform: scaleX(-1); }
.filters :is(a,input,button):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.filters-toggle { display: none; }
.is-loading { opacity: .45; pointer-events: none; transition: opacity .2s; }
/* ul also carries .page-numbers, so the button rules target a/span only. */
.woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 48px 0 0; border: 0 !important; }
.woocommerce-pagination li { border: 0 !important; }
.woocommerce-pagination a.page-numbers, .woocommerce-pagination span.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border-radius: 999px; background: var(--white); color: var(--ink); font-weight: 600; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(0,85,58,.25); transition: background .2s, color .2s; }
.woocommerce-pagination a.page-numbers:hover { background: var(--cream); }
.woocommerce-pagination span.current { background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; box-shadow: inset 0 0 0 1px rgba(214,178,160,.55); }
.woocommerce-pagination span.dots { box-shadow: none; min-width: 20px; padding: 0; }
.woocommerce-result-count, .woocommerce-ordering { display: none; }
.woocommerce-breadcrumb { font-size: 13px; color: var(--ink); margin: 20px 0; }

/* Product page */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, 1fr); gap: 0 clamp(32px, 4vw, 64px); align-items: start; }
.single-product .woocommerce-breadcrumb { margin: 14px 0 23px; font-size: 12px; line-height: 18px; }
.single-product .woocommerce-product-gallery { position: relative; width: 100% !important; float: none !important; margin: 0 !important; display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 22px; }
.single-product .woocommerce-product-gallery .flex-viewport, .single-product .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; border-radius: 15px; overflow: hidden; background: var(--cream); }
/* One photo = no thumbnail rail: the image takes the whole column instead of leaving a 120px hole. */
.single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: minmax(0, 1fr); }
.single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__wrapper { grid-column: 1; }
/* Slides sit in a row from first paint, so the slider starting up cannot make the page jump. */
.woocommerce-product-gallery__wrapper { display: flex; align-items: flex-start; }
.woocommerce-product-gallery__image { flex: none; width: 100%; }
.woocommerce-product-gallery .flex-viewport { container-type: inline-size; }
.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image { width: 100cqw; }
.woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0; margin: 0; max-height: 560px; overflow-y: auto; scrollbar-width: none; }
.woocommerce-product-gallery .flex-control-thumbs li { width: 98px; }
.woocommerce-product-gallery .flex-control-thumbs img { border-radius: var(--r); border: 2px solid transparent; cursor: pointer; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active { border-color: var(--ink); }
/* Gallery zoom / full-screen button: frosted circle, gold ring, crisp expand icon (WooCommerce's own emoji is hidden). */
.woocommerce-product-gallery__trigger { position: absolute; bottom: 14px; inset-inline-end: 14px; z-index: 5; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.88); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(185,138,126,.55), 0 6px 18px rgba(0,51,36,.16); font-size: 0; color: transparent; text-decoration: none; transition: transform .25s, box-shadow .25s, background .25s; }
.woocommerce-product-gallery__trigger > * { display: none; }
.woocommerce-product-gallery__trigger::after { content: ""; width: 19px; height: 19px; background: var(--ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s; }
.woocommerce-product-gallery__trigger:hover { background: #fff; transform: scale(1.06); box-shadow: inset 0 0 0 1.5px var(--rose), 0 10px 24px rgba(0,51,36,.22); }
.woocommerce-product-gallery__trigger:hover::after { transform: scale(1.08); }
.gallery-actions { position: absolute; top: 18px; inset-inline-end: 20px; z-index: 5; display: flex; flex-direction: column; gap: 20px; }
.gallery-actions .wl-btn { position: static; width: 44px; height: 44px; }
.single-product .summary { float: none !important; width: auto !important; }
.single-product .summary .price { display: flex; align-items: baseline; gap: 6px; margin: 0 0 19px; color: var(--text); }
.single-product .summary .price .woocommerce-Price-currencySymbol { font-size: 16px; font-weight: 500; }
.single-product .summary .price .amount { font-size: 32px; font-weight: 700; }
.single-product .summary .price del .amount { font-size: 18px; font-weight: 400; color: var(--muted); }
.single-product .summary .price ins { text-decoration: none; }
.single-product .product_title { font: 600 22px/26px var(--sans); color: var(--text); margin-bottom: 24px; }
.single-product form.cart { display: flex; gap: 10px; flex-wrap: wrap; align-items: stretch; margin: 0 0 20px; }
.single-product form.cart .quantity input { width: 72px; height: 54px; border: 1px solid var(--line); border-radius: 999px; text-align: center; font-size: 16px; }
.single-product .single_add_to_cart_button, .single-product .buy-now-button { min-height: 54px; font-size: 15px; }
.single-product .single_add_to_cart_button { flex: 1 1 0; }
.single-product .buy-now-button { flex: 1 1 100%; }
.single-product .variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.single-product table.variations { width: 100%; margin-bottom: 12px; border-collapse: collapse; }
.single-product table.variations th { text-align: start; font-weight: 600; padding: 6px 0; }
.single-product table.variations select { width: 100%; height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r); }
.pay-box { display: flex; align-items: center; gap: 18px; min-height: 60px; padding: 14px 16px 11px; border: 1px solid var(--line); border-radius: 4px; font-size: 14px; line-height: 20px; }
.pay-box span:first-child { font-weight: 700; }
.product_meta { display: none; }
.woocommerce-tabs, .related, .upsells { grid-column: 1 / -1; }
.woocommerce-tabs ul.tabs { display: flex; list-style: none; padding: 0; margin: 49px 0 0; border-bottom: 1px solid var(--line); }
.woocommerce-tabs ul.tabs li a { display: block; width: 255px; padding: 0 0 20px; text-align: center; font-size: 16px; line-height: 24px; font-weight: 600; color: #67787f; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.woocommerce-tabs ul.tabs li.active a { color: var(--text); border-color: var(--text); }
.woocommerce-tabs .panel { padding: 28px 0; max-width: 900px; }
.woocommerce-tabs .panel > h2:first-child { display: none; }
.related > h2, .upsells > h2 { margin-top: 56px; font-weight: 400; }
.related ul.products, .upsells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Cart / checkout / account */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px 10px; border-bottom: 1px solid var(--line); text-align: start; }
.woocommerce table.shop_table img { width: 72px; border-radius: var(--r); }
.woocommerce form .form-row { margin: 0 0 14px; }
.woocommerce form .form-row label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .quantity input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--r); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; padding: 14px 18px; margin: 0 0 20px; border-radius: var(--r); background: var(--cream); border-inline-start: 4px solid var(--ink); }
.woocommerce-error { border-color: #b3443b; }
.cart_totals, #order_review { background: var(--cream); border-radius: var(--r); padding: 24px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); }

/* Sign-in card (WooCommerce My Account, logged out) — same look as wp-login.php (inc/login.php) */
body.woocommerce-account:not(.logged-in) .site-main { background: var(--cream); padding-top: 100px; }
body.woocommerce-account:not(.logged-in) .site-main > .wrap > h1, body.woocommerce-account:not(.logged-in) .entry > h1 { display: none; }
body.woocommerce-account:not(.logged-in) .woocommerce { max-width: 464px; margin: 0 auto; }
body.woocommerce-account:not(.logged-in) .woocommerce > h2, body.woocommerce-account:not(.logged-in) .u-column1 > h2 { text-align: center; font-size: 34px; line-height: 40px; margin-bottom: 18px; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 32px; }
.woocommerce-form-login .button, .woocommerce-form-register .button, .woocommerce-ResetPassword .button { width: 100%; min-height: 52px; border-radius: 999px; background: var(--ink-deep); margin-top: 8px; }
.woocommerce-form-login .woocommerce-form-login__rememberme { display: block; margin: 4px 0 8px; font-size: 14px; }
.woocommerce-LostPassword { text-align: center; font-size: 14px; }
.woocommerce-LostPassword a { color: var(--ink); text-decoration: underline; }

/* Forms: WooCommerce + WPForms share one look */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 52px; border-radius: 4px; }
div.wpforms-container-full, div.wpforms-container-full .wpforms-form { font-family: var(--sans) !important; max-width: 640px; }
div.wpforms-container-full .wpforms-form .wpforms-field { padding: 0 0 18px !important; }
div.wpforms-container-full .wpforms-form .wpforms-field-label { font-size: 13px !important; font-weight: 700 !important; color: var(--ink) !important; margin-bottom: 6px !important; }
div.wpforms-container-full .wpforms-form input[type=text], div.wpforms-container-full .wpforms-form input[type=email], div.wpforms-container-full .wpforms-form input[type=tel], div.wpforms-container-full .wpforms-form input[type=number], div.wpforms-container-full .wpforms-form select {
	height: 52px !important; max-width: 100% !important; border: 1px solid var(--line) !important; border-radius: 4px !important; padding: 0 14px !important; font-size: 16px !important; box-shadow: none !important; }
div.wpforms-container-full .wpforms-form textarea { max-width: 100% !important; border: 1px solid var(--line) !important; border-radius: 4px !important; padding: 12px 14px !important; font-size: 16px !important; }
div.wpforms-container-full .wpforms-form input:focus, div.wpforms-container-full .wpforms-form textarea:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 1px var(--ink) !important; }
div.wpforms-container-full .wpforms-form button[type=submit] { min-height: 52px !important; padding: 0 40px !important; border: 0 !important; border-radius: 999px !important; background: var(--ink-deep) !important; color: #fff !important; font-size: 16px !important; font-weight: 700 !important; }
div.wpforms-container-full .wpforms-form button[type=submit]:hover { background: var(--ink) !important; }
div.wpforms-container-full .wpforms-confirmation-container-full { background: var(--cream) !important; border: 0 !important; border-radius: var(--r) !important; }

/* Empty listing / no results (reference layout) */
.empty-state { text-align: center; padding: 0 16px 40px; }
.empty-state svg { width: 96px; height: 96px; color: var(--ink); margin: 0 auto 30px; display: block; }
.empty-state h2 { font: 400 28px/36px var(--sans); color: var(--text); margin-bottom: 14px; }
.empty-state p { margin: 0 0 30px; }
.empty-state .btn { border-radius: 0; min-height: 50px; padding: 0 22px; font-weight: 500; }

/* Plain content pages (About, Policies, FAQ…) */
.entry { max-width: 860px; }
.entry h2 { font-size: 30px; line-height: 36px; margin-top: 1.4em; }
.entry h3 { font-size: 24px; line-height: 30px; margin-top: 1.2em; }
.entry p, .entry li { line-height: 1.7; }
.entry img { border-radius: var(--r); margin: 1em 0; }
.entry a { color: var(--ink); text-decoration: underline; }

/* Footer (deep, 494px; brand 650 | Explore 147 | Get to know us | Customer service) */
.site-footer { background: var(--ink-deep); color: #fff; font-size: 16px; line-height: 24px; padding: 56px 0 24px; }
.site-footer a:hover { color: var(--sand); }
.footer-grid { display: grid; grid-template-columns: minmax(300px, 1.5fr) repeat(3, minmax(0, 1fr)); column-gap: clamp(32px, 4vw, 72px); }
.footer-brand .site-logo { color: #fff; font-size: 40px; }
.footer-brand .site-logo img { filter: brightness(0) invert(1); max-height: 52px; }
.footer-brand p { max-width: 340px; margin: 18px 0 24px; color: #c9dcd3; font-size: 15px; }
.footer-contact { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; max-width: 420px; font-size: 14px; line-height: 21px; color: #c9dcd3; }
.footer-contact li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; }
.footer-contact svg { width: 18px; height: 18px; margin-top: 2px; color: #d6b2a0; }
.footer-contact a { color: #fff; }
.footer-contact a[dir="ltr"] { unicode-bidi: isolate; text-align: start; }
.footer-label { display: block; color: #8fb3a3; margin: 0 0 10px; font: 400 16px/24px var(--sans); }
.social { display: flex; gap: 10px; list-style: none; margin: 0 0 24px; padding: 0; }
.social a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.site-footer h3 { font: 400 16px/24px var(--sans); color: #8fb3a3; margin: 0 0 10px; }
.site-footer ul.menu, .site-footer .footer-links { list-style: none; margin: 0; padding: 0; }
.site-footer .menu li, .site-footer .footer-links li { padding: 0 0 12px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.15); margin-top: 40px; padding-top: 20px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 12px; color: #8fb3a3; }
.footer-bottom .pill { background: rgba(255,255,255,.08); color: #fff; font-size: 12px; font-weight: 500; height: 26px; }
.footer-bottom a { color: #fff; margin-inline-end: 16px; }
.footer-col summary { list-style: none; cursor: default; }
.footer-col summary::-webkit-details-marker { display: none; }

/* WhatsApp + toast */
.wa-float { position: fixed; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); inset-inline-end: 22px; z-index: 90; width: 56px; height: 56px; border-radius: 50%; background: #25d366; display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.wa-float svg { width: 30px; height: 30px; fill: #fff; }
.wa-float[data-pos="left"] { inset-inline-end: auto; inset-inline-start: 22px; }

.btn--wa { width: 100%; min-height: 54px; margin: -8px 0 20px; border-radius: 4px; background: #fff; color: #128c4b !important; border: 1.5px solid #25d366; font-weight: 700; }
.btn--wa:hover { background: #effbf3; }
.btn--wa svg { width: 22px; height: 22px; fill: #25d366; }
.toast { position: fixed; bottom: 24px; left: 50%; translate: -50% 0; z-index: 120; background: var(--text); color: #fff; padding: 12px 20px; border-radius: var(--r); font-size: 14px; opacity: 0; transition: opacity .25s; pointer-events: none; }
.toast.is-show { opacity: 1; }

/* Tablet */
@media (max-width: 1100px) {
	:root { --section: 64px; }
	.listing { grid-template-columns: minmax(0, 1fr); }
	.js .filters { position: fixed; inset-block: 0; inset-inline: 0 auto; z-index: 110; width: min(350px, 92vw); max-height: none; border-radius: 0; visibility: hidden; transform: translateX(-100%); }
	[dir="rtl"].js .filters { transform: translateX(100%); }
	.js .filters.is-open { visibility: visible; transform: none; }
	.js .filters__close { display: inline-grid; }
	.js .filters-toggle { display: inline-flex; margin-bottom: 20px; }
	.filters :is(label,.filters__option) { min-height: 44px; }
	html:not(.js) .filters { position: static; max-height: none; }
	.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.row-scroll { grid-auto-columns: calc((100% - var(--gap) * 3) / 3.3); }
	ul.products, .related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 32px; }
	.recipients { grid-auto-columns: 25%; }
	.footer-brand { grid-column: 1 / -1; }
	.hero__slide { min-height: 400px; }
	.hero__copy h2 { font-size: 52px; }
}

/* Mobile (390 reference) */
@media (max-width: 680px) {
	:root { --section: 56px; --gap: 12px; }
	.wrap { padding-inline: 14px; }
	h2 { font-size: 28px; line-height: 28px; }
	.explore { padding: 0 20px 40px; }
	.explore__head { justify-content: center; min-height: 80px; padding-bottom: 20px; }
	.explore__close { top: 22px; inset-inline-end: 0; }
	.cardlink { padding-inline-start: 30px; }
	.site-header .wrap { min-height: 99px; }
	.hdr-left, .hdr-right { gap: 10px; }
	.hdr-label, .hdr-left .hdr-btn[data-open="search"] { display: none; }
	.hdr-right .hdr-btn--search { display: inline-flex; }
	.site-logo { font-size: 26px; }
	.site-logo img { max-height: 36px; max-width: 130px; object-fit: contain; }
	.hero.wrap { padding-inline: 0; margin-bottom: 48px; }
	.hero__slide { height: 550px; aspect-ratio: auto; background: #f5eee4; isolation: isolate; }
	.hero__slide img { height: 100%; object-position: center; }
	.hero__slide::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, transparent 32%, rgba(0, 30, 20, .18) 53%, rgba(0, 30, 20, .76) 100%); }
	.hero__copy { inset: auto 32px 64px; z-index: 2; max-width: 300px; color: #fff; align-items: flex-start; justify-content: flex-end; }
	.hero__copy p { display: none; }
	.hero__copy .btn { min-height: 52px; min-width: 140px; max-width: 100%; padding: 12px 26px; font-size: 16px; line-height: 22px; }
	.hero__copy h2 { font-size: 44px; line-height: 1.15; font-weight: 500; margin-bottom: 24px; text-wrap: balance; text-shadow: 0 1px 5px #001e1440; }
	.hero__dots { bottom: 20px; z-index: 3; }
	.hero__dots button::after { background: #ffffff70; }
	.hero__dots button[aria-current="true"]::after { background: #fff; }
	.hero__nav { display: none; }
	.section__head .pill { display: none; }
	.section { margin-bottom: 56px; }
	.section--circles { margin-bottom: 56px; }
	.section__foot { display: block; margin: 56px -6px 0; }
	.section__foot .btn { width: 100%; min-height: 42px; font-size: 16px; }
	.row-scroll { grid-auto-columns: calc((100% - var(--gap)) / 2); margin-inline-end: 0; padding: 0; }
	ul.products.row-scroll { padding-inline-start: 0; }
	.circles { grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-auto-columns: 27%; gap: 0; padding-inline-start: 0 !important; }
	.circles .circle { width: 80px; height: 80px; margin-bottom: 8px; }
	.circles a { font-size: 14px; line-height: 20px; }
	.photo-tiles { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; scrollbar-width: none; padding-inline: 0; }
	.photo-tile__title { font-size: 28px; line-height: 32px; }
	/* Larger, complete cards replace the cramped horizontal category strips. */
	.tiles-row, .recipients { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-columns: auto; gap: 20px 12px; overflow: visible; padding: 0; border: 0; background: none; scroll-snap-type: none; }
	.tiles-row li, .recipients li { min-width: 0; padding: 0; }
	.tiles-row .thumb, .recipient-photo { width: 100%; height: auto; aspect-ratio: 1; border-radius: 8px; overflow: hidden; }
	.tiles-row .thumb { margin-bottom: 0; background: var(--cream); }
	.tiles-row .thumb .category-art { width: 100%; height: 100%; }
	.tiles-row .thumb img, .recipient-photo img { object-fit: contain; mix-blend-mode: normal; }
	.tiles-row .label, .recipients .label { padding: 10px 4px 0; min-height: 50px; font: 500 15px/20px var(--sans); overflow-wrap: normal; word-break: normal; }
	.tiles-row::-webkit-scrollbar, .recipients::-webkit-scrollbar { display: none; }
	.section--recipients { margin-bottom: 0; }
	.squares { grid-auto-columns: 132px; }
	.squares .thumb { width: 132px; height: 132px; }
	.squares .label { font-size: 14px; line-height: 20px; }
	.circles .label { font-size: 13px; }
	.row-next { display: none; }
	ul.products, .listing ul.products, .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
	.card__actions { grid-template-columns: minmax(0, 1fr); gap: 6px; }
	.card__actions .button { min-height: 38px; font-size: 12.5px; }
	.woocommerce-pagination a.page-numbers, .woocommerce-pagination span.page-numbers { min-width: 34px; height: 34px; padding: 0 6px; font-size: 14px; }
	.woocommerce-pagination ul.page-numbers { gap: 4px; margin-top: 36px; }
	.listing-head h1 { font-size: 28px; }
	.single-product .woocommerce-product-gallery { grid-template-columns: minmax(0, 1fr); }
	.single-product .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs)) { padding-bottom: 86px; }
	.woocommerce-product-gallery .flex-control-thumbs { grid-row: 2; grid-column: 1; flex-direction: row; overflow-x: auto; }
	.woocommerce-product-gallery .flex-control-thumbs li { width: 64px; flex: 0 0 64px; }
	.woocommerce-product-gallery__trigger { top: 14px; bottom: auto; inset-inline: 14px auto; width: 42px; height: 42px; }
	.single-product .summary { margin-top: 24px; }
	.single-product .woocommerce-product-gallery .flex-viewport, .single-product .woocommerce-product-gallery__wrapper { grid-column: 1; }
	.woocommerce-tabs ul.tabs li a { padding: 12px 18px; }
	.footer-grid { grid-template-columns: minmax(0, 1fr); }
	.footer-col { border-bottom: 1px solid rgba(255,255,255,.18); }
	.footer-col summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 16px 0; }
	.footer-col summary::after { content: ""; width: 8px; height: 8px; margin: -4px 4px 0 0; border: solid #fff; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); transition: transform .2s; }
	.footer-col[open] summary::after { margin-top: 4px; transform: rotate(-135deg); }
	.footer-col h3 { margin: 0; color: #fff; }
	.footer-col ul { padding-bottom: 12px !important; }
	.footer-brand { padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.18); }
	.footer-bottom { flex-direction: column-reverse; align-items: flex-start; border-top: 0; margin-top: 20px; }
}
/* Keep narrow phones from widening the viewport around the full-bleed hero. */
@media (max-width: 360px) {
	.site-header .wrap { gap: 8px; }
	.hdr-left, .hdr-right { gap: 8px; }
	.site-logo img { max-width: 110px; }
}
@media (min-width: 681px) { .hdr-right .hdr-btn--search { display: none; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }


/* Block sections: premium badges, feature cards, promo banner. */
.lx-badges ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; list-style: none; margin: 0; padding: 0; }
.lx-badges li, .lx-badges a { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; }
.lx-badges li { min-height: 44px; padding: 0 18px; border-radius: 999px; background: linear-gradient(180deg, #fff, var(--cream)); box-shadow: inset 0 0 0 1px rgba(185,138,126,.5), 0 2px 8px rgba(0,51,36,.06); font-size: 14px; font-weight: 600; }
.lx-badges svg { width: 18px; height: 18px; color: var(--rose); flex: 0 0 18px; }
.features__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: var(--gap); }
.feature { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px 24px; border-radius: 12px; background: var(--cream); box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); }
.feature--photo { padding: 0 0 24px; overflow: hidden; }
.feature--photo > :not(.feature__media) { margin-inline: 24px; }
.feature__media { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.feature__media img { width: 100%; height: 100%; object-fit: cover; }
.feature__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--white); color: var(--ink); box-shadow: inset 0 0 0 1px rgba(185,138,126,.5); }
.feature__icon svg { width: 24px; height: 24px; }
.feature h3 { margin: 4px 0 0; font: 500 24px/28px var(--serif, "Cormorant Garamond", serif); color: var(--ink); }
.feature p { margin: 0; color: var(--muted); font-size: 14px; line-height: 21px; }
.feature .btn { margin-top: auto; }
.banner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; border-radius: 16px; overflow: hidden; background: var(--cream); }
.banner--img-right .banner__media { order: 2; }
.banner--dark { background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; }
.banner__media { height: 100%; min-height: 320px; }
.banner__media img { width: 100%; height: 100%; object-fit: cover; }
.banner__copy { padding: 48px; }
.banner__copy h2 { margin: 0 0 12px; }
.banner--dark h2 { color: #fff; }
.banner__copy p { margin: 0 0 24px; font-size: 16px; line-height: 24px; color: var(--muted); }
.banner--dark p { color: #d7e6df; }
@media (max-width: 680px) {
	.lx-badges ul { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
	.lx-badges li { flex: 0 0 auto; white-space: nowrap; }
	.banner { grid-template-columns: minmax(0, 1fr); }
	.banner--img-right .banner__media { order: 0; }
	.banner__media { min-height: 220px; }
	.banner__copy { padding: 28px 22px; }
}

/* Artwork sprites wait until their section is near (luxflo.js adds .in-view); without JS they load as usual. */
.js .section--circles:not(.in-view) .category-art, .js .section--recipients:not(.in-view) .recipient-photo { background-image: none; }

/* Product page: store promises as premium badges (replaces the old top bar). */
.pdp-badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; list-style: none; margin: 0 0 20px; padding: 0; }
.pdp-badges li, .pdp-badges a { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.pdp-badges li { min-height: 52px; padding: 8px 14px; border-radius: 12px; background: linear-gradient(180deg, #fff, var(--cream)); box-shadow: inset 0 0 0 1px rgba(185,138,126,.4); font-size: 13px; font-weight: 600; line-height: 17px; }
.pdp-badges li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.pdp-badges svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--rose); }
.pdp-badges a:hover span { text-decoration: underline; }

/* Language pill: right of the header on desktop, beside the menu icon on phones (the right side is full). */
.lang-switch--mobile { display: none; }
@media (max-width: 680px) {
	.lang-switch--desktop { display: none; }
	.lang-switch--mobile { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; font-size: 12px; }
}

/* ===== Premium cart & checkout ===== */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
.woocommerce-cart .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
.woocommerce-cart .cart-collaterals { position: sticky; top: 140px; }
.woocommerce-cart-form { background: var(--white); border-radius: 16px; box-shadow: inset 0 0 0 1px var(--line), 0 6px 24px rgba(0,51,36,.05); padding: 6px 22px 18px; }
.woocommerce-cart-form table.shop_table thead th { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.woocommerce table.shop_table .product-thumbnail img { width: 84px; height: 84px; object-fit: cover; border-radius: 12px; }
.woocommerce table.shop_table .product-name a { color: var(--ink); font-weight: 600; text-decoration: none; }
.woocommerce table.shop_table a.remove { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--cream); color: var(--ink) !important; font-size: 18px; line-height: 1; text-decoration: none; transition: background .2s, color .2s; }
.woocommerce table.shop_table a.remove:hover { background: #b3443b; color: #fff !important; }
.woocommerce-cart-form .quantity input { width: 84px; min-height: 44px; border-radius: 999px; text-align: center; }
.woocommerce-cart-form td.actions { padding-top: 20px; }
.woocommerce-cart-form .coupon { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.woocommerce-cart-form .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.coupon input#coupon_code, .woocommerce-form-coupon input#coupon_code { min-height: 48px; min-width: 200px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; }
.woocommerce-cart-form button[name="update_cart"] { float: inline-end; }
.cart_totals, #order_review { background: linear-gradient(180deg, #fff, var(--cream)); border-radius: 16px; padding: 24px; box-shadow: inset 0 0 0 1px rgba(185,138,126,.35), 0 10px 30px rgba(0,51,36,.07); }
.cart_totals h2 { font-size: 30px; margin-bottom: 12px; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td, #order_review table.shop_table th, #order_review table.shop_table td { padding: 14px 0; vertical-align: top; }
.cart_totals .order-total td, #order_review .order-total td { font-size: 20px; font-weight: 700; color: var(--ink); }
.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; margin-top: 8px; font-size: 16px; }

.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; column-gap: 40px; align-items: start; }
.woocommerce-checkout form.checkout > * { grid-column: 1; }
.woocommerce-checkout form.checkout #customer_details { grid-row: 1 / span 3; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 12px; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 140px; }
.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields { background: var(--white); border-radius: 16px; padding: 24px; margin-bottom: 20px; box-shadow: inset 0 0 0 1px var(--line), 0 6px 24px rgba(0,51,36,.05); }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields h3, #order_review_heading { font-size: 28px; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .form-row select { border-radius: 12px !important; background: #fcfbf8; transition: border-color .2s, box-shadow .2s, background .2s; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { outline: 0; background: #fff; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(0,85,58,.12); }
.select2-container--default .select2-selection--single { height: 52px; border: 1px solid var(--line); border-radius: 12px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; padding-inline: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }
.woocommerce form .form-row .required { color: var(--rose); text-decoration: none; }
.woocommerce-checkout input[type="checkbox"], .woocommerce-cart input[type="checkbox"], #payment input[type="radio"] { accent-color: var(--ink); width: 18px; height: 18px; }
#payment ul.payment_methods { list-style: none; margin: 16px 0; padding: 0; }
#payment ul.payment_methods > li { padding: 14px 16px; margin-bottom: 8px; border-radius: 12px; background: var(--white); box-shadow: inset 0 0 0 1px var(--line); }
#payment .payment_box { margin-top: 10px; font-size: 14px; color: var(--muted); }
#payment .place-order { padding-top: 12px; font-size: 13px; line-height: 19px; color: var(--muted); }
body.woocommerce-checkout #payment #place_order { width: 100%; min-height: 58px; margin-top: 14px; font-size: 17px; background: linear-gradient(135deg, #0a6a4a 0%, var(--ink) 45%, var(--ink-deep) 100%) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; }
.woocommerce-form-coupon-toggle .woocommerce-info { border-radius: 12px; }
.woocommerce-form-coupon { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 16px; margin-bottom: 20px; border-radius: 12px; background: var(--cream); }
.woocommerce-form-coupon p { margin: 0; }

/* ===== Floating cart + flower animation (cart leaves the header on phones) ===== */
.cart-float { display: none; }
.fly-flower { position: fixed; left: 0; top: 0; z-index: 200; width: 42px; height: 42px; pointer-events: none; will-change: transform; }
.fly-flower svg, .petal svg { width: 100%; height: 100%; display: block; }
.petal { position: fixed; left: 0; top: 0; z-index: 200; width: 14px; height: 14px; pointer-events: none; }
.drag-ghost { position: fixed; left: 0; top: 0; z-index: 210; width: 104px; height: 104px; margin: -52px 0 0 -52px; border-radius: 50%; background: #fff center / cover no-repeat; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--rose), 0 18px 40px rgba(0,51,36,.35); pointer-events: none; }
.card__media img { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
body.is-dragging-product { overscroll-behavior: none; }

/* ===== Phone product page: sticky buy bar ===== */
.buybar { display: none; }

@media (max-width: 680px) {
	.hdr-btn--cart { display: none; }
	.cart-float { position: fixed; z-index: 91; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); inset-inline-end: 16px; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); box-shadow: inset 0 0 0 1.5px rgba(214,178,160,.75), 0 10px 26px rgba(0,51,36,.35); transition: transform .3s, box-shadow .3s, translate .3s; }
	.cart-float svg { width: 26px; height: 26px; }
	.cart-float .hdr-count { top: -4px; inset-inline-start: auto; inset-inline-end: -4px; min-width: 23px; height: 23px; border-radius: 12px; font-size: 12px; font-weight: 700; line-height: 23px; box-shadow: 0 0 0 2px #fff; }
	.cart-float.is-armed { transform: scale(1.12); box-shadow: inset 0 0 0 2px #fff, 0 0 0 6px rgba(185,138,126,.35), 0 12px 30px rgba(0,51,36,.4); }
	.cart-float.is-hot { transform: scale(1.3); box-shadow: inset 0 0 0 2px #fff, 0 0 0 10px rgba(185,138,126,.5), 0 14px 34px rgba(0,51,36,.45); }
	.cart-float ~ .wa-float:not([data-pos="left"]) { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); inset-inline-end: 21px; width: 50px; height: 50px; }
	.cart-float ~ .wa-float svg { width: 26px; height: 26px; }
	body.has-buybar .cart-float, body.has-buybar .wa-float { translate: 0 -76px; }
	.wa-float { transition: translate .3s; }

	.buybar { position: fixed; inset-inline: 0; bottom: 0; z-index: 95; display: flex; align-items: center; gap: 8px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 -8px 24px rgba(0,51,36,.12); transform: translateY(110%); transition: transform .3s; }
	body.has-buybar .buybar { transform: none; }
	.buybar__price { flex: 1 1 auto; min-width: 0; color: var(--ink); font-size: 16px; font-weight: 700; line-height: 1.15; }
	.buybar__price del { display: block; color: var(--muted); font-size: 12px; font-weight: 400; }
	.buybar__price ins { text-decoration: none; }
	.buybar .button { min-height: 46px; padding: 0 16px; font-size: 14px; white-space: nowrap; }
	.buybar .buybar__add { background: linear-gradient(180deg, #fff, var(--cream)); color: var(--ink) !important; box-shadow: inset 0 0 0 1px rgba(0,85,58,.55); }

	/* Cart: each line becomes a card */
	.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.woocommerce-cart .cart-collaterals { position: static; }
	.woocommerce-cart-form { padding: 2px 14px 14px; }
	.woocommerce-cart-form table.shop_table thead { display: none; }
	.woocommerce-cart-form table.shop_table, .woocommerce-cart-form table.shop_table tbody { display: block; }
	.woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "thumb name remove" "thumb price price" "thumb qty sub"; column-gap: 12px; row-gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--line); }
	.woocommerce-cart-form tr.cart_item td { display: block; padding: 0 !important; border: 0 !important; }
	.woocommerce-cart-form td.product-thumbnail { grid-area: thumb; }
	.woocommerce-cart-form td.product-name { grid-area: name; font-size: 15px; line-height: 20px; }
	.woocommerce-cart-form td.product-remove { grid-area: remove; }
	.woocommerce-cart-form td.product-price { grid-area: price; color: var(--muted); font-size: 13px; }
	.woocommerce-cart-form td.product-quantity { grid-area: qty; }
	.woocommerce-cart-form td.product-subtotal { grid-area: sub; align-self: center; color: var(--ink); font-weight: 700; }
	.woocommerce-cart-form tr:not(.cart_item) { display: block; }
	.woocommerce-cart-form td.actions { display: block; padding: 16px 0 0 !important; border: 0 !important; }
	.woocommerce-cart-form .coupon { display: flex; width: 100%; margin-bottom: 10px; }
	.woocommerce-cart-form .coupon input#coupon_code { flex: 1 1 0; min-width: 0; }
	.woocommerce-cart-form button[name="update_cart"] { float: none; width: 100%; }
	.cart_totals { padding: 20px; }

	/* Checkout: one column, summary after the forms */
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout form.checkout #customer_details, .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields, #order_review { padding: 18px; }

	/* Category circles: one-line labels ("Congratulations" no longer breaks) */
	.circles .label { overflow-wrap: normal; white-space: nowrap; margin-inline: -6px; font-size: 12px; letter-spacing: -.01em; }
}

/* Polish: no underlined buttons, room for totals labels, full-width pay button (payment plugins float it). */
.button, .btn, a.checkout-button, #place_order { text-decoration: none !important; }
.cart_totals table.shop_table th, #order_review table.shop_table tfoot th { padding-inline-end: 14px; white-space: nowrap; }
body.woocommerce-checkout #payment #place_order { float: none !important; display: flex !important; width: 100% !important; }
.woocommerce-cart .entry, .woocommerce-checkout .entry { max-width: none; } /* reading width is for articles, not the two-column cart/checkout */

/* ===== Floating bag v2: jewel-like (deep green, gold double ring, glass sheen) + first-visit hint ===== */
.cart-ripple { position: fixed; z-index: 90; width: 62px; height: 62px; border-radius: 50%; border: 2px solid var(--rose); pointer-events: none; }
.drag-tip { display: none; }
@media (max-width: 680px) {
	.cart-float { width: 62px; height: 62px; color: #f6e7da; background: radial-gradient(120% 120% at 30% 20%, #1d7a58 0%, var(--ink) 45%, var(--ink-deep) 100%); box-shadow: 0 0 0 2px rgba(255,255,255,.95), 0 0 0 3.5px rgba(214,178,160,.9), 0 14px 30px rgba(0,51,36,.38), inset 0 1px 0 rgba(255,255,255,.25); }
	.cart-float::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; border: 1px solid rgba(214,178,160,.5); pointer-events: none; }
	.cart-float::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(160deg, rgba(255,255,255,.3), rgba(255,255,255,0) 46%); pointer-events: none; }
	.cart-float svg { position: relative; z-index: 1; filter: drop-shadow(0 1px 1px rgba(0,0,0,.25)); }
	.cart-float .hdr-count { z-index: 2; background: linear-gradient(135deg, #d9a99a, var(--rose)); box-shadow: 0 0 0 2px #fff, 0 3px 8px rgba(0,0,0,.2); }
	.cart-float:active { transform: scale(.94); }

	.drag-tip { position: fixed; z-index: 92; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); inset-inline-end: 92px; display: flex; align-items: center; gap: 8px; max-width: 215px; padding: 10px 14px; border-radius: 16px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 600; line-height: 17px; box-shadow: 0 0 0 1px rgba(185,138,126,.45), 0 12px 30px rgba(0,51,36,.18); opacity: 0; transform: translateX(14px) scale(.96); transition: opacity .4s ease, transform .45s cubic-bezier(.2,.9,.3,1.15), translate .3s; cursor: pointer; }
	.drag-tip.is-show { opacity: 1; transform: none; }
	.drag-tip::after { content: ""; position: absolute; inset-inline-end: -6px; top: 50%; width: 12px; height: 12px; margin-top: -6px; background: #fff; transform: rotate(45deg); box-shadow: 1px -1px 0 rgba(185,138,126,.45); }
	.drag-tip__icon { font-size: 18px; animation: lx-wiggle 1.6s ease-in-out infinite; }
	body.has-buybar .drag-tip { translate: 0 -76px; }
}
@keyframes lx-wiggle { 0%, 100% { transform: rotate(-10deg); } 50% { transform: rotate(12deg) translateX(3px); } }
@media (prefers-reduced-motion: reduce) { .drag-tip__icon { animation: none; } }

/* ===== Product description: premium reading card ===== */
/* 141 descriptions were pasted from a spreadsheet wrapped in <table width="154">, squeezing the text into a
   154 px column. Let that markup flow as normal text instead of rewriting the products. */
.woocommerce-Tabs-panel--description table, .woocommerce-Tabs-panel--description tbody,
.woocommerce-Tabs-panel--description tr, .woocommerce-Tabs-panel--description td,
.woocommerce-Tabs-panel--description th { display: block; width: auto !important; max-width: 100%; height: auto !important; padding: 0; border: 0; background: none; }
.woocommerce-tabs { margin-top: 56px; padding: 6px 40px 28px; border-radius: 16px; background: linear-gradient(180deg, #fff, var(--cream)); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3), 0 10px 30px rgba(0,51,36,.05); }
.woocommerce-tabs ul.tabs { margin-top: 18px; max-width: none; gap: 6px; border-bottom: 1px solid rgba(185,138,126,.35); }
.woocommerce-tabs ul.tabs li a { width: auto; padding: 0 22px 14px; font-family: var(--serif); font-size: 24px; font-weight: 500; letter-spacing: .01em; color: var(--muted); }
.woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-color: var(--rose); }
.woocommerce-tabs .panel { max-width: 820px; margin-inline: 0; padding: 26px 22px 0; }
.woocommerce-Tabs-panel--description { font-size: 16px; line-height: 1.75; color: var(--text); overflow-wrap: anywhere; }
.woocommerce-Tabs-panel--description p { margin: 0 0 1em; }
.woocommerce-Tabs-panel--description h2, .woocommerce-Tabs-panel--description h3, .woocommerce-Tabs-panel--description h4 { margin: 1.3em 0 .45em; font-family: var(--serif); font-size: 26px; font-weight: 500; line-height: 1.2; color: var(--ink); }
.woocommerce-Tabs-panel--description h2 strong, .woocommerce-Tabs-panel--description h3 strong { font-weight: 500; }
.woocommerce-Tabs-panel--description > :first-child, .woocommerce-Tabs-panel--description table:first-child td > :first-child { margin-top: 0; }
.woocommerce-Tabs-panel--description strong { color: var(--ink); font-weight: 600; }
.woocommerce-Tabs-panel--description ul, .woocommerce-Tabs-panel--description ol { margin: 0 0 1em; padding-inline-start: 1.3em; }
.woocommerce-Tabs-panel--description li { margin-bottom: .35em; }
.woocommerce-Tabs-panel--description img { max-width: 100%; height: auto; border-radius: 12px; }
.woocommerce-Tabs-panel--description a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 680px) {
	.woocommerce-tabs { margin-top: 36px; padding: 2px 16px 18px; }
	.woocommerce-tabs ul.tabs li a { padding: 0 6px 12px; font-size: 22px; }
	.woocommerce-tabs .panel { padding: 18px 4px 0; }
	.woocommerce-Tabs-panel--description { font-size: 15px; line-height: 1.7; }
	.woocommerce-Tabs-panel--description h2, .woocommerce-Tabs-panel--description h3, .woocommerce-Tabs-panel--description h4 { font-size: 22px; }
}

/* Quantity stepper: − [qty] + in one pill (cart + product page). */
.quantity { display: inline-flex; align-items: stretch; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.quantity:has(input[type="hidden"]) { display: none; }
.quantity .qty-btn { width: 40px; min-height: 44px; border: 0; padding: 0; background: transparent; color: var(--ink); font-size: 20px; font-weight: 500; line-height: 1; cursor: pointer; transition: background .2s, color .2s; }
.quantity .qty-btn:hover { background: var(--cream); }
.quantity .qty-btn:active { background: rgba(0,85,58,.12); }
.woocommerce .quantity input.qty, .single-product form.cart .quantity input.qty, .woocommerce-cart-form .quantity input.qty { width: 42px !important; min-width: 0; height: auto; min-height: 44px; padding: 0 !important; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none; text-align: center; font-weight: 700; color: var(--ink); -moz-appearance: textfield; appearance: textfield; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.single-product form.cart .quantity { height: 54px; }
.single-product form.cart .quantity .qty-btn { width: 44px; }
.woocommerce-cart-form.processing, .woocommerce-cart-form .blockUI { cursor: progress; }
/* Gift card message on checkout + order pages */
#luxflo_card_message { min-height: 96px; }
.card-message { margin-top: 24px; padding: 20px; border-radius: 12px; background: var(--cream); }
.card-message h2 { font-size: 24px; margin-bottom: 6px; }

/* Studio switches */
.lx-static-header .site-header { position: relative; }
@media (max-width: 680px) { .lx-no-cart-float .hdr-btn--cart { display: inline-flex; } }

/* Full-bleed rows (calc(50% - 50vw)) overflowed by the scrollbar width on desktop browsers with classic scrollbars. */
html, body { overflow-x: clip; }

/* ===== Builder: "Luxflo design" classes (any block) ===== */
@media (min-width: 1025px) { .lx-hide-d { display: none !important; } }
@media (min-width: 681px) and (max-width: 1024px) { .lx-hide-t { display: none !important; } }
@media (max-width: 680px) { .lx-hide-m { display: none !important; } }
.lx-bg-cream { background: var(--cream); }
.lx-bg-white { background: #fff; box-shadow: 0 0 0 1px var(--line), 0 10px 30px rgba(0,51,36,.06); }
.lx-bg-rose { background: #f6ece8; }
.lx-bg-green { background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; }
.lx-bg-green :is(h1, h2, h3, h4, p, li, blockquote, small, strong, .label) { color: #fff; }
.lx-bg-green .btn--outline { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.7); }
.lx-p-s { padding: 16px !important; } .lx-p-m { padding: 32px !important; } .lx-p-l { padding: 56px !important; }
.lx-r-soft { border-radius: 14px; overflow: hidden; } .lx-r-round { border-radius: 28px; overflow: hidden; }
.lx-w-narrow { max-width: 760px; margin-inline: auto; }
.lx-w-wide { max-width: var(--wrap); margin-inline: auto; }
.lx-w-full { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.lx-ta-left { text-align: left; } .lx-ta-center { text-align: center; } .lx-ta-right { text-align: right; }
.lx-mt-0 { margin-top: 0 !important; } .lx-mt-s { margin-top: 16px !important; } .lx-mt-m { margin-top: 40px !important; } .lx-mt-l { margin-top: 72px !important; } .lx-mt-xl { margin-top: 112px !important; }
.lx-mb-0 { margin-bottom: 0 !important; } .lx-mb-s { margin-bottom: 16px !important; } .lx-mb-m { margin-bottom: 40px !important; } .lx-mb-l { margin-bottom: 72px !important; } .lx-mb-xl { margin-bottom: 112px !important; }
@media (max-width: 680px) { .lx-p-l { padding: 32px 20px !important; } .lx-p-m { padding: 22px 16px !important; } .lx-mt-xl { margin-top: 64px !important; } .lx-mb-xl { margin-bottom: 64px !important; } }
/* Entrance animations: hidden only while JS runs (html.js), shown when scrolled into view (.lx-in). */
.js .lx-anim { opacity: 0; transition: opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1); transition-delay: var(--lx-delay, 0ms); }
.js .lx-anim-fade-up { transform: translateY(28px); }
.js .lx-anim-zoom-in { transform: scale(.94); }
.js .lx-anim-slide-left { transform: translateX(-40px); }
.js .lx-anim-slide-right { transform: translateX(40px); }
.js .lx-anim.lx-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .lx-anim { opacity: 1; transform: none; transition: none; } }

/* Core blocks in the theme's voice */
.wp-block-button__link { display: inline-flex; align-items: center; min-height: 50px; padding: 0 30px; border-radius: 999px; background: linear-gradient(135deg, #0a6a4a 0%, var(--ink) 45%, var(--ink-deep) 100%); color: #fff; font-weight: 700; letter-spacing: .03em; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(214,178,160,.55), 0 4px 12px rgba(0,51,36,.18); transition: transform .25s, box-shadow .25s; }
.wp-block-button__link:hover { color: #fff; transform: translateY(-1px); box-shadow: inset 0 0 0 1px rgba(214,178,160,.9), 0 8px 20px rgba(0,51,36,.26); }
.wp-block-button.is-style-outline .wp-block-button__link { background: linear-gradient(180deg, #fff, var(--cream)); color: var(--ink); box-shadow: inset 0 0 0 1px rgba(0,85,58,.55); }
.entry .wp-block-image img, .entry .wp-block-gallery img { border-radius: 12px; }
.entry .wp-block-quote { margin: 24px 0; padding: 8px 0 8px 22px; border-inline-start: 3px solid var(--rose); font-family: var(--serif); font-size: 24px; line-height: 1.35; color: var(--ink); }

/* Product grid layout */
.lx-grid { display: grid; gap: 28px var(--gap); list-style: none; margin: 0; padding: 0; }
.lx-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lx-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lx-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lx-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1024px) { .lx-grid--4, .lx-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) { .lx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px 12px; } }

/* Testimonials */
.lx-tcards { list-style: none; margin: 0; padding: 0; }
.lx-tcards.row-scroll { grid-auto-columns: calc((min(100vw - 40px, var(--wrap)) - var(--gap) * 2) / 3); }
.lx-tcard { display: flex; flex-direction: column; gap: 14px; padding: 26px; border-radius: 16px; background: linear-gradient(180deg, #fff, var(--cream)); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3), 0 10px 30px rgba(0,51,36,.05); }
.lx-stars { color: #d9a441; font-size: 18px; letter-spacing: 2px; }
.lx-stars span { color: #e3ddd2; }
.lx-tcard blockquote { margin: 0; font-family: var(--serif); font-size: 21px; line-height: 1.4; color: var(--ink); }
.lx-tcard__who { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.lx-tcard__who img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.lx-tcard__who strong { display: block; color: var(--text); }
.lx-tcard__who small { color: var(--muted); }
@media (max-width: 680px) { .lx-tcards.row-scroll { grid-auto-columns: 85%; } .lx-tcards.lx-grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* FAQ */
.lx-faq__list { display: grid; gap: 10px; max-width: 860px; }
.lx-faq__item { border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.lx-faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none; font-weight: 600; color: var(--ink); }
.lx-faq__item summary::-webkit-details-marker { display: none; }
.lx-faq__item summary::after { content: "+"; display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; background: var(--cream); font-size: 18px; transition: transform .25s; }
.lx-faq__item[open] summary::after { transform: rotate(45deg); }
.lx-faq__item[open] { box-shadow: inset 0 0 0 1px rgba(185,138,126,.5), 0 8px 24px rgba(0,51,36,.06); }
.lx-faq__a { padding: 0 22px 18px; color: var(--muted); line-height: 1.7; }
.lx-faq__a p { margin: 0 0 .8em; }

/* Counters */
.lx-counters__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: var(--gap); }
.lx-counter { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 26px 16px; border-radius: 16px; background: var(--cream); text-align: center; }
.lx-counter strong { font-family: var(--serif); font-size: 46px; font-weight: 500; line-height: 1; color: var(--ink); }
.lx-counter p { margin: 0; color: var(--muted); font-weight: 600; }

/* Countdown */
.lx-countdown { display: grid; justify-items: center; gap: 14px; padding: 44px 24px; border-radius: 20px; text-align: center; }
.lx-countdown--dark { background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; }
.lx-countdown--dark h2, .lx-countdown--dark p { color: #fff; }
.lx-countdown--light { background: var(--cream); }
.lx-countdown h2 { margin: 0; }
.lx-countdown p { margin: 0; max-width: 560px; }
.lx-countdown__clock { display: flex; gap: 10px; }
.lx-countdown__clock span { display: grid; min-width: 78px; padding: 12px 8px; border-radius: 14px; background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(214,178,160,.45); }
.lx-countdown--light .lx-countdown__clock span { background: #fff; }
.lx-countdown__clock b { font-family: var(--serif); font-size: 38px; font-weight: 500; line-height: 1; }
.lx-countdown__clock small { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.lx-countdown__done { font-size: 18px; font-weight: 700; }
@media (max-width: 680px) { .lx-countdown__clock span { min-width: 64px; } .lx-countdown__clock b { font-size: 28px; } }

/* Tabs */
.lx-tabs__nav { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.lx-tabs__nav button { flex: 0 0 auto; padding: 0 18px 12px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; color: var(--muted); font-family: var(--serif); font-size: 22px; cursor: pointer; }
.lx-tabs__nav button[aria-selected="true"] { color: var(--ink); border-color: var(--rose); }
.lx-tabs__panel { animation: lx-tab-in .35s ease; }
@keyframes lx-tab-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Map, marquee, contact */
.lx-map iframe, .lx-contact iframe { display: block; width: 100%; border: 0; border-radius: 16px; background: var(--cream); }
.lx-marquee { overflow: hidden; padding: 14px 0; }
.lx-marquee--green { background: var(--ink-deep); color: #f6e7da; }
.lx-marquee--cream { background: var(--cream); color: var(--ink); }
.lx-marquee__track { display: flex; width: max-content; animation: lx-marquee var(--lx-speed, 30s) linear infinite; }
.lx-marquee__track > div { display: flex; }
.lx-marquee span { display: inline-flex; align-items: center; gap: 18px; padding-inline-end: 18px; white-space: nowrap; font-weight: 600; letter-spacing: .03em; }
.lx-marquee i { font-style: normal; color: var(--rose); }
.lx-marquee:hover .lx-marquee__track { animation-play-state: paused; }
@keyframes lx-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .lx-marquee__track { animation: none; } }
.lx-contact { display: grid; gap: var(--gap); }
.lx-contact--map { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); align-items: stretch; }
.lx-contact__card { padding: 30px; border-radius: 16px; background: linear-gradient(180deg, #fff, var(--cream)); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
.lx-contact__card .footer-contact { color: var(--text); font-size: 15px; }
.lx-contact__card .footer-contact a { color: var(--ink); }
.lx-contact iframe { min-height: 320px; height: 100%; }
@media (max-width: 680px) { .lx-contact--map { grid-template-columns: minmax(0, 1fr); } .lx-contact iframe { height: 280px; } }

/* Sold-out cards: calm, clearly not buyable */
.card.outofstock .card__media img { filter: grayscale(.35); opacity: .85; }
.card.outofstock .card__actions .button { background: #f1eee8 !important; color: var(--muted) !important; box-shadow: none !important; }
.card.outofstock .card__actions .button::before { display: none; }

/* Product description: plain reading area (no tinted box) */
.woocommerce-tabs { padding: 0; border-radius: 0; background: none; box-shadow: none; }
.woocommerce-tabs .panel { padding: 26px 0 0; }

/* ===== Premium footer ===== */
.site-footer { position: relative; overflow: hidden; padding: 72px 0 28px; background: radial-gradient(120% 140% at 85% -10%, #0d6b4c 0%, var(--ink-deep) 45%, #012219 100%); color: #e9f1ec; }
.site-footer::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(214,178,160,.75), transparent); }
.site-footer::after { content: "❀"; position: absolute; right: -40px; bottom: -70px; font-size: 360px; line-height: 1; color: rgba(214,178,160,.05); pointer-events: none; }
.site-footer .wrap { position: relative; z-index: 1; }
.footer-brand .site-logo img { max-height: 58px; }
.footer-brand p { font-family: var(--serif); font-size: 22px; line-height: 1.3; color: #f6e7da; margin: 16px 0 22px; }
.footer-contact { gap: 12px; }
.footer-contact li { grid-template-columns: 34px minmax(0, 1fr); align-items: center; }
.footer-contact svg { box-sizing: content-box; width: 16px; height: 16px; margin: 0; padding: 8px; border-radius: 50%; background: rgba(214,178,160,.12); box-shadow: inset 0 0 0 1px rgba(214,178,160,.35); }
.site-footer h3, .footer-label { font: 600 12px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: #d6b2a0; margin-bottom: 14px; }
.site-footer .menu a, .site-footer .footer-links a { color: #e9f1ec; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .3s, color .2s; }
.site-footer .menu a:hover, .site-footer .footer-links a:hover { color: #fff; background-size: 100% 1px; }
.social a { border-color: rgba(214,178,160,.5); color: #f6e7da; transition: background .2s, transform .2s; }
.social a:hover { background: rgba(214,178,160,.15); transform: translateY(-2px); }
.footer-bottom { margin-top: 52px; padding-top: 22px; border-top: 1px solid rgba(214,178,160,.25); color: #a9c3b8; }
.footer-bottom a { color: #f6e7da; }
@media (max-width: 680px) {
	.site-footer { padding-top: 52px; }
	.site-footer::after { font-size: 240px; right: -50px; bottom: -40px; }
	.footer-col { border-color: rgba(214,178,160,.2); }
	.footer-col h3 { color: #f6e7da; letter-spacing: .1em; }
	.footer-col summary::after { border-color: #d6b2a0; }
	.footer-brand { border-color: rgba(214,178,160,.2); }
}

/* Cookie banner */
.lx-consent { position: fixed; z-index: 130; inset-inline-start: 20px; bottom: 20px; max-width: 420px; padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.97); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgba(185,138,126,.45), 0 18px 44px rgba(0,51,36,.18); font-size: 14px; line-height: 1.5; color: var(--text); }
.lx-consent[hidden] { display: none; }
.lx-consent p { margin: 0 0 14px; }
.lx-consent a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.lx-consent__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lx-consent__btns .btn { min-height: 44px; padding: 0 16px; font-size: 14px; }
.lx-linkbtn { margin-inline-start: 16px; padding: 0; border: 0; background: none; color: #f6e7da; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 680px) { .lx-consent { inset-inline: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); max-width: none; } }

/* Wishlist page: full width, cards keep their shop look (page/article styles must not leak into them). */
.entry:has(> .lx-wishlist) { max-width: none; }
.lx-wishlist__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -8px 0 28px; padding: 14px 18px; border-radius: 14px; background: linear-gradient(135deg, #fbf8f3, #f4ece2); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
.lx-wishlist__bar span { font: 500 20px/1.2 var(--serif); color: var(--ink); }
.lx-wishlist__bar .btn { min-height: 42px; padding-inline: 20px; font-size: 14px; }
.lx-wishlist ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.entry .card img { margin: 0; border-radius: 0; }
.entry .card a { text-decoration: none; }
.entry .card .card__title { margin: 6px 0 0; font: 500 15px/20px var(--sans); color: var(--text); min-height: 40px; }
.entry .card .card__title a { color: inherit; }
@media (max-width: 1100px) { .lx-wishlist ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) {
	.lx-wishlist ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lx-wishlist__bar { padding: 12px 14px; margin-top: -4px; }
	.lx-wishlist__bar span { font-size: 18px; }
	.lx-wishlist__bar .btn { min-height: 38px; padding-inline: 14px; font-size: 13px; }
	.entry .card .card__title { font-size: 14px; line-height: 19px; min-height: 38px; }
}

/* Home: "Discover new ideas" photo tiles — deep-green veil, gold hairline, slow zoom. */
.photo-tiles { gap: 18px; padding-inline: 0; }
.photo-tile { border-radius: 20px; box-shadow: 0 18px 40px -22px rgba(0,51,36,.45); isolation: isolate; }
.photo-tile img { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.photo-tile:hover img { transform: scale(1.06); }
.photo-tile::after { inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(0,40,28,0) 45%, rgba(0,40,28,.35) 68%, rgba(0,32,22,.86) 100%); }
.photo-tile::before { content: ""; position: absolute; inset: 10px; z-index: 1; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(232,206,178,.55); pointer-events: none; transition: inset .4s; }
.photo-tile:hover::before { inset: 14px; }
.photo-tile__copy { inset: auto 34px 34px; z-index: 2; gap: 16px; }
.photo-tile__title { font-size: clamp(30px, 2.4vw, 42px); line-height: 1.08; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.photo-tile__btn { height: 40px; padding: 0 20px; border: 0; background: rgba(255,255,255,.94); color: var(--ink); font-size: 14px; letter-spacing: .02em; transition: background .25s, color .25s; }
.photo-tile__btn::after { content: "→"; margin-inline-start: 8px; transition: transform .25s; }
.photo-tile:hover .photo-tile__btn { background: #fff; }
.photo-tile:hover .photo-tile__btn::after { transform: translateX(4px); }

/* Home: "Collections you'll love" — large square art cards, no fake scroll bar. */
.tiles-row { gap: 18px; grid-auto-columns: calc((100% - 90px) / 6); padding-bottom: 6px; border: 0; background: none; }
.tiles-row .thumb { height: auto; aspect-ratio: 1; margin-bottom: 14px; border-radius: 18px; background: #f3ece2; box-shadow: inset 0 0 0 1px rgba(185,138,126,.28); transition: transform .35s, box-shadow .35s; }
.tiles-row .thumb .category-art { width: 100%; height: 100%; transition: transform .6s; }
.tiles-row a:hover .thumb { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(185,138,126,.5), 0 18px 30px -18px rgba(0,51,36,.4); }
.tiles-row a:hover .category-art, .tiles-row a:hover .thumb img { transform: scale(1.05); }
.tiles-row .label { font: 500 16px/22px var(--sans); color: var(--ink); }

/* Home: "Gifts for everyone" — arched window cards. */
.recipients { gap: 18px; grid-auto-columns: calc((100% - 90px) / 6); padding-bottom: 6px; }
.recipients li { padding: 0; }
.recipient-photo { border-radius: 999px 999px 18px 18px; box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); outline: 1px solid rgba(185,138,126,.35); outline-offset: 5px; transition: transform .35s, outline-offset .35s; }
.recipients a:hover .recipient-photo { transform: translateY(-4px); outline-offset: 8px; }
.recipients .label { padding-top: 16px; font: 500 24px/1.1 var(--serif); color: var(--ink); }
.recipients .label::after { content: "Shop gifts →"; display: block; margin-top: 6px; font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--rose); opacity: 0; transform: translateY(-4px); transition: opacity .25s, transform .25s; }
.recipients a:hover .label::after { opacity: 1; transform: none; }
@media (min-width: 681px) { .tiles-row::-webkit-scrollbar, .recipients::-webkit-scrollbar { display: none; } .tiles-row, .recipients { scrollbar-width: none; } }
@media (max-width: 680px) {
	.photo-tile { border-radius: 16px; }
	.photo-tile__copy { inset: auto 22px 24px; }
	.tiles-row, .recipients { gap: 18px 12px; }
	.tiles-row .thumb { border-radius: 14px; }
	.recipient-photo { outline-offset: 3px; }
	.recipients .label { font-size: 20px; padding-top: 10px; min-height: 0; }
	.recipients .label::after { display: none; }
}

/* Product page: every photo sits in the same square frame, filled edge to edge, whatever its original shape. */
.single-product .woocommerce-product-gallery__image > a > img, .single-product .woocommerce-product-gallery__image > img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; }
/* "Collections you'll love": product art only, on the page itself (transparent cut-out art, no box). */
.tiles-row .thumb { background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.tiles-row a:hover .thumb { transform: translateY(-6px); box-shadow: none; }
.tiles-row .thumb .category-art { transition: transform .6s, filter .6s; }
.tiles-row a:hover .category-art { transform: scale(1.04); filter: drop-shadow(0 14px 16px rgba(0,51,36,.14)); }
@media (max-width: 680px) { .tiles-row .thumb { background: none; border-radius: 0; } }

/* Product page on desktop: photo, price and buttons visible without scrolling, block centred.
   Photo size follows the screen height; the left rail always holds the thumbnails (a single photo shows as one small thumb). */
@media (min-width: 1101px) {
	.single-product { --pdp-img: clamp(380px, calc(100vh - 250px), 700px); --pdp-sum: 600px; --pdp-gap: 56px; }
	.single-product div.product { grid-template-columns: calc(var(--pdp-img) + 94px) minmax(360px, var(--pdp-sum)); justify-content: center; column-gap: var(--pdp-gap); }
	.single-product .woocommerce-breadcrumb { max-width: calc(var(--pdp-img) + 94px + var(--pdp-gap) + var(--pdp-sum)); margin-inline: auto; }
	.single-product .woocommerce-product-gallery, .single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) { grid-template-columns: 82px minmax(0, 1fr); gap: 12px; }
	.single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__wrapper { grid-column: 2; }
	.woocommerce-product-gallery .flex-control-thumbs { max-height: var(--pdp-img); gap: 10px; }
	.woocommerce-product-gallery .flex-control-thumbs li { width: 82px; flex: 0 0 auto; }
	.single-product .product_title { margin-bottom: 16px; }
	.single-product .summary .price { margin-bottom: 14px; }
}
@media (max-width: 1100px) { .lx-single-thumb { display: none !important; } }

/* Reviews tab (WooCommerce's own CSS is off, so stars are drawn here). */
.star-rating { position: relative; display: inline-block; width: 5.6em; height: 1.1em; overflow: hidden; font-size: 15px; line-height: 1.1; letter-spacing: .12em; color: #e3d6c7; }
.star-rating::before { content: "★★★★★"; position: absolute; inset: 0; }
.star-rating span { position: absolute; inset: 0 auto 0 0; overflow: hidden; padding-top: 1.5em; color: #c79a3c; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; }
#reviews { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 1fr); gap: 32px 56px; align-items: start; max-width: 1200px; }
#reviews .woocommerce-Reviews-title, #reviews .comment-reply-title { display: block; margin: 0 0 18px; font: 500 28px/1.15 var(--serif); color: var(--ink); }
#reviews .woocommerce-noreviews { margin: 0; padding: 22px; border-radius: 16px; background: #fbf8f3; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); color: var(--muted); }
#reviews ol.commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
#reviews li.review .comment_container { display: flex; gap: 14px; padding: 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px rgba(185,138,126,.28), 0 10px 24px -20px rgba(0,51,36,.35); }
#reviews li.review img.avatar { width: 44px; height: 44px; border-radius: 50%; flex: none; }
#reviews .comment-text { flex: 1; min-width: 0; }
#reviews .comment-text .meta { margin: 6px 0 4px; font-size: 13px; color: var(--muted); }
#reviews .comment-text .meta strong { color: var(--text); font-size: 14px; }
#reviews .comment-text .description p { margin: 6px 0 0; line-height: 1.6; }
#review_form_wrapper { position: sticky; top: 140px; padding: 26px; border-radius: 20px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
#review_form .comment-form { display: grid; gap: 14px; }
#review_form label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 14px; }
#review_form textarea { width: 100%; min-height: 130px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; font: inherit; background: #fff; resize: vertical; }
#review_form textarea:focus { outline: 2px solid rgba(0,85,58,.25); border-color: var(--ink); }
#review_form .form-submit { margin: 0; }
#review_form .form-submit input[type="submit"] { min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; font-weight: 700; cursor: pointer; }
p.stars { margin: 0; }
p.stars span { display: inline-flex; gap: 4px; }
p.stars a { position: relative; display: inline-block; width: 30px; height: 30px; font-size: 0; text-decoration: none; }
p.stars a::before { content: "★"; position: absolute; inset: 0; font-size: 28px; line-height: 30px; color: #dccfbf; transition: color .15s, transform .15s; }
p.stars:hover a::before, p.stars.selected a.active::before, p.stars.selected a:not(.active)::before { color: #c79a3c; }
p.stars a:hover ~ a::before, p.stars.selected a.active ~ a::before { color: #dccfbf; }
p.stars a:hover::before { transform: scale(1.12); }
.lx-review-login { display: grid; gap: 12px; justify-items: start; }
.lx-review-login p { margin: 0; color: var(--muted); }
.lx-review-note { margin: 0; font-size: 13px; color: var(--muted); }
.lx-review-sent { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: #e9f4ee; color: var(--ink); font-weight: 600; }
@media (max-width: 900px) { #reviews { grid-template-columns: minmax(0, 1fr); } #review_form_wrapper { position: static; padding: 20px; } }
.woocommerce-tabs #tab-reviews.panel { max-width: none; }
.listing-head h1 { font: 500 46px/1.1 var(--serif); color: var(--ink); }

/* Forms everywhere (WPForms, comments, account, contact): one premium field style.
   :where() keeps it at zero specificity so any form that already has its own styling keeps it. */
:where(.site-main, .site-footer) :where(input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number]:not(.qty), input[type=url], input[type=search], input[type=date], select, textarea) { box-sizing: border-box; width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid #ddd3c7; border-radius: 12px; background: #fff; font: inherit; color: var(--text); transition: border-color .2s, box-shadow .2s; }
:where(.site-main, .site-footer) :where(textarea) { min-height: 130px; resize: vertical; }
:where(.site-main, .site-footer) :where(input, select, textarea):focus-visible { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(0,85,58,.12); }

/* WPForms */
.wpforms-container { box-sizing: border-box; max-width: 760px; margin: 8px 0 32px !important; padding: clamp(20px, 3vw, 36px) !important; border-radius: 22px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3), 0 20px 40px -32px rgba(0,51,36,.4); }
.wpforms-container .wpforms-field { padding: 0 0 18px !important; }
.wpforms-container .wpforms-field-label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 600; color: var(--text); }
.wpforms-container .wpforms-required-label { color: var(--rose); }
.wpforms-container .wpforms-field-description, .wpforms-container .wpforms-field-sublabel { margin-top: 6px; font-size: 13px; color: var(--muted); }
.wpforms-container :is(.wpforms-field-small, .wpforms-field-medium, .wpforms-field-large) { max-width: 100% !important; }
.wpforms-container .wpforms-field-row { display: flex; gap: 12px; }
.wpforms-container .wpforms-field-row > * { flex: 1; padding: 0 !important; }
.wpforms-container ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.wpforms-container ul label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.wpforms-container input[type=checkbox], .wpforms-container input[type=radio] { accent-color: var(--ink); width: 18px; height: 18px; }
.wpforms-container .wpforms-submit-container { padding: 6px 0 0 !important; }
.wpforms-container button.wpforms-submit { min-height: 52px; padding: 0 34px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; font: 700 15px/1 var(--sans); cursor: pointer; box-shadow: 0 10px 22px -12px rgba(0,51,36,.6); transition: transform .2s, box-shadow .2s; }
.wpforms-container button.wpforms-submit:hover { transform: translateY(-1px); box-shadow: 0 14px 26px -12px rgba(0,51,36,.7); }
.wpforms-container :is(input, select, textarea).wpforms-error { border-color: #b3261e !important; }
.wpforms-container em.wpforms-error, .wpforms-container label.wpforms-error { display: block; margin-top: 6px; font-size: 13px; font-style: normal; color: #b3261e; }
.wpforms-confirmation-container-full, div[submit-success] > .wpforms-confirmation-container-full { padding: 16px 18px; border: 0 !important; border-radius: 14px; background: #e9f4ee !important; color: var(--ink); font-weight: 600; }
@media (max-width: 680px) { .wpforms-container { border-radius: 16px; } .wpforms-container .wpforms-field-row { flex-direction: column; } .wpforms-container button.wpforms-submit { width: 100%; } }

/* My Account (logged in): sticky icon menu + content card. */
body.woocommerce-account.logged-in .entry { max-width: none; }
body.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 36px; align-items: start; margin-bottom: 40px; }
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation { position: sticky; top: 140px; padding: 12px; border-radius: 22px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
.woocommerce-MyAccount-navigation ul { display: grid; gap: 4px; margin: 0; }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 0; border-radius: 14px; color: var(--text); font-weight: 600; font-size: 15px; transition: background .2s, color .2s; }
.woocommerce-MyAccount-navigation a svg { width: 20px; height: 20px; flex: none; color: var(--rose); }
.woocommerce-MyAccount-navigation a:hover { background: rgba(255,255,255,.75); }
.woocommerce-MyAccount-navigation li.is-active a { background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; box-shadow: 0 10px 20px -14px rgba(0,51,36,.7); }
.woocommerce-MyAccount-navigation li.is-active a svg { color: #f1d9c8; }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(185,138,126,.25); }
.woocommerce-MyAccount-content { min-width: 0; padding: clamp(20px, 3vw, 36px); border-radius: 22px; background: #fff; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25), 0 24px 48px -36px rgba(0,51,36,.35); }
.woocommerce-MyAccount-content > h2, .woocommerce-MyAccount-content h2.woocommerce-column__title, .woocommerce-MyAccount-content .woocommerce-Address-title h2 { font: 500 28px/1.15 var(--serif); color: var(--ink); margin: 0 0 14px; }

/* Dashboard */
.lx-acct-hello { margin-bottom: 26px; }
.entry .woocommerce-MyAccount-navigation a, .entry .lx-acct-cards a, .entry .lx-acct-orders a { text-decoration: none; }
.lx-acct-hello h2 { margin: 0 0 8px; font: 500 clamp(32px, 3vw, 44px)/1.05 var(--serif); color: var(--ink); }
.lx-acct-hello p:last-child { margin: 0; color: var(--muted); }
.lx-acct-cards { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.lx-acct-cards a { display: grid; gap: 4px; height: 100%; box-sizing: border-box; padding: 18px; border-radius: 18px; background: #fbf8f3; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); color: var(--text); transition: transform .25s, box-shadow .25s, background .25s; }
.lx-acct-cards a:hover { transform: translateY(-3px); background: #fff; box-shadow: inset 0 0 0 1px rgba(185,138,126,.45), 0 16px 28px -20px rgba(0,51,36,.45); }
.lx-acct-cards__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 8px; border-radius: 50%; background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px rgba(185,138,126,.35); }
.lx-acct-cards__icon svg { width: 20px; height: 20px; }
.lx-acct-cards strong { font-size: 16px; }
.lx-acct-cards a > span:last-child { font-size: 13px; color: var(--muted); }
.lx-acct-recent__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.lx-acct-recent__head h3 { margin: 0; font: 500 24px/1.2 var(--serif); color: var(--ink); }
.lx-acct-recent__head a { font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.lx-acct-orders { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lx-acct-orders a { display: grid; grid-template-columns: 90px 1fr auto auto; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); color: var(--text); transition: background .2s; }
.lx-acct-orders a:hover { background: #fbf8f3; }
.lx-acct-orders__no { font-weight: 700; color: var(--ink); }
.lx-acct-orders__date { color: var(--muted); font-size: 14px; }
.lx-acct-orders__total { font-weight: 700; }
.lx-acct-empty { margin: 0; padding: 18px; border-radius: 14px; background: #fbf8f3; color: var(--muted); }
.lx-acct-empty a { color: var(--ink); font-weight: 600; text-decoration: underline; }
.lx-status { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #f1ece6; color: #6d6259; white-space: nowrap; }
.lx-status--processing, .lx-status--on-hold { background: #fff4e0; color: #8a5a00; }
.lx-status--completed { background: #e6f4ec; color: #0b6b45; }
.lx-status--cancelled, .lx-status--failed, .lx-status--refunded { background: #fbe9e7; color: #a33a2c; }

/* Orders table, addresses, account form */
.woocommerce-orders-table { width: 100%; border-collapse: separate; border-spacing: 0 8px; }
.woocommerce-orders-table thead th { padding: 0 14px 4px; text-align: start; font: 600 12px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.woocommerce-orders-table tbody td, .woocommerce-orders-table tbody th { padding: 14px; background: #fbf8f3; text-align: start; }
.woocommerce-orders-table tbody tr > :first-child { border-radius: 14px 0 0 14px; }
.woocommerce-orders-table tbody tr > :last-child { border-radius: 0 14px 14px 0; }
.woocommerce-orders-table a.button, .woocommerce-MyAccount-content a.button { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px; margin: 2px; border-radius: 999px; background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1px rgba(0,85,58,.35); font-size: 13px; font-weight: 700; }
.woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.woocommerce-Address { padding: 20px; border-radius: 18px; background: #fbf8f3; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.woocommerce-Address-title a { font-weight: 600; color: var(--ink); text-decoration: underline; }
.woocommerce-Address address { font-style: normal; line-height: 1.7; color: var(--text); }
.woocommerce-EditAccountForm fieldset { margin: 18px 0; padding: 18px; border: 0; border-radius: 16px; background: #fbf8f3; }
.woocommerce-EditAccountForm legend { padding: 0 4px; font: 500 20px/1 var(--serif); color: var(--ink); }
.woocommerce-MyAccount-content form .button[type=submit], .woocommerce-MyAccount-content button.button { min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; font-weight: 700; cursor: pointer; }

@media (max-width: 900px) {
	body.woocommerce-account.logged-in .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.woocommerce-MyAccount-navigation { position: static; padding: 8px; border-radius: 16px; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation ul { display: flex; gap: 6px; width: max-content; }
	.woocommerce-MyAccount-navigation a { padding: 9px 14px; font-size: 14px; white-space: nowrap; }
	.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
	.lx-acct-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.lx-acct-cards a { padding: 14px; }
	.lx-acct-orders a { grid-template-columns: 1fr auto; gap: 6px 10px; }
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table, .woocommerce-orders-table tbody, .woocommerce-orders-table tr, .woocommerce-orders-table td, .woocommerce-orders-table th { display: block; }
	.woocommerce-orders-table tr { margin-bottom: 10px; padding: 8px 0; border-radius: 14px; background: #fbf8f3; }
	.woocommerce-orders-table tbody td, .woocommerce-orders-table tbody th { display: flex; justify-content: space-between; padding: 6px 14px; background: none; border-radius: 0 !important; }
	.woocommerce-orders-table td::before { content: attr(data-title); font-weight: 600; color: var(--muted); }
}

/* WooCommerce "show password" toggle (its own CSS is off): eye icon inside the field. */
.password-input { position: relative; display: block; }
.password-input input { padding-inline-end: 48px !important; }
.show-password-input { position: absolute; inset-inline-end: 8px; top: 50%; translate: 0 -50%; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300553a' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat; }
.show-password-input.display-password { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300553a' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E"); }
.show-password-input:hover { background-color: rgba(0,85,58,.08); }

/* Cart: tidy coupon row, no idle Update button when quantities update by themselves, trust list. */
.entry .cart_totals > h2, .cart_totals > h2 { margin-top: 0; }
.woocommerce-cart-form .coupon { flex-wrap: nowrap; align-items: center; }
.woocommerce-cart-form .coupon input#coupon_code { width: 240px; }
.js .lx-autoupdate .woocommerce-cart-form button[name="update_cart"] { display: none; }
.lx-cart-trust { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid rgba(185,138,126,.3); display: grid; gap: 10px; }
.lx-cart-trust li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--text); }
.lx-cart-trust svg { width: 18px; height: 18px; flex: none; color: var(--rose); }
.lx-cart-continue { display: block; margin-top: 16px; text-align: center; font-weight: 600; font-size: 14px; color: var(--ink); text-decoration: none !important; }
.lx-cart-continue:hover { text-decoration: underline !important; }
.woocommerce-cart-form .product-thumbnail img { border-radius: 14px; box-shadow: 0 8px 18px -12px rgba(0,51,36,.45); }
.woocommerce-cart-form .product-name a { text-decoration: none; font-weight: 600; }
@media (max-width: 680px) { .woocommerce-cart-form .coupon input#coupon_code { width: auto; flex: 1 1 0; } }

/* My Account for guests: centred two-panel welcome + Log in / Create account tabs. */
body.woocommerce-account:not(.logged-in) .site-main { padding-top: clamp(24px, 4vw, 56px); padding-bottom: 56px; }
body.woocommerce-account:not(.logged-in) article > h1 { display: none; }
body.woocommerce-account:not(.logged-in) .entry { max-width: none; }
body.woocommerce-account:not(.logged-in) .woocommerce { max-width: 1060px; margin: 0 auto; }
.lx-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: 28px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px rgba(185,138,126,.28), 0 40px 80px -48px rgba(0,51,36,.45); }
.lx-auth__brand { position: relative; display: flex; align-items: flex-end; min-height: 560px; padding: 40px; color: #fff; background: linear-gradient(180deg, rgba(0,40,28,.05) 25%, rgba(0,34,24,.82) 72%, rgba(0,30,20,.94)), url("assets/hero-mobile-1.webp") center 30% / cover no-repeat var(--ink-deep); }
.lx-auth__brand-in { position: relative; }
.lx-auth__eyebrow { margin: 0 0 10px; font: 600 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #e8cdb6; }
.lx-auth__brand h2 { margin: 0 0 10px; font: 500 clamp(34px, 3.4vw, 46px)/1.05 var(--serif); color: #fff; }
.lx-auth__brand p { margin: 0 0 22px; color: rgba(255,255,255,.85); }
.lx-auth__brand ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lx-auth__brand li { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.lx-auth__brand li svg { width: 34px; height: 34px; padding: 8px; flex: none; box-sizing: border-box; border-radius: 50%; background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(232,205,182,.45); color: #f1d9c8; }
.lx-auth__panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 52px); }
.lx-auth__tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 26px; padding: 5px; border-radius: 999px; background: #f4ede4; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); }
.lx-auth__tabs button { min-height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font: 600 15px/1 var(--sans); cursor: pointer; transition: background .25s, color .25s, box-shadow .25s; }
.lx-auth__tabs button[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 6px 16px -10px rgba(0,51,36,.5); }
.lx-auth #customer_login { display: block; }
.lx-auth #customer_login > div { width: auto; float: none; }
.js .lx-auth[data-view="login"] .u-column2, .js .lx-auth[data-view="register"] .u-column1 { display: none; }
.js .lx-auth .u-columns > div > h2 { display: none; }
.lx-auth .u-columns > div > h2 { margin: 0 0 14px; font: 500 28px/1.1 var(--serif); color: var(--ink); text-align: start; }
.lx-auth .woocommerce-form-login, .lx-auth .woocommerce-form-register { margin: 0; padding: 0; border: 0; background: none; }
.lx-auth .woocommerce-form-login .form-row, .lx-auth .woocommerce-form-register .form-row { margin-bottom: 16px; }
.lx-auth .woocommerce-form-login .button, .lx-auth .woocommerce-form-register .button { min-height: 52px; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); box-shadow: 0 12px 24px -14px rgba(0,51,36,.7); }
.lx-auth .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; }
.lx-auth .woocommerce-form-login__rememberme input { accent-color: var(--ink); width: 17px; height: 17px; margin: 0; }
.lx-auth .woocommerce-privacy-policy-text { font-size: 13px; color: var(--muted); }
.lx-auth .woocommerce-privacy-policy-text p { margin: 0 0 14px; line-height: 1.6; }
.lx-auth .woocommerce-LostPassword { margin: 14px 0 0; }
.lx-auth .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 18px; }
@media (max-width: 860px) {
	.lx-auth { grid-template-columns: minmax(0, 1fr); border-radius: 20px; }
	.lx-auth__brand { min-height: 0; padding: 26px 22px; background: linear-gradient(180deg, rgba(0,34,24,.72), rgba(0,30,20,.9)), url("assets/hero-mobile-1.webp") center 30% / cover no-repeat var(--ink-deep); }
	.lx-auth__brand h2, .lx-auth__brand p, .lx-auth__brand li { text-shadow: 0 1px 12px rgba(0,0,0,.35); }
	.lx-auth__brand h2 { font-size: 30px; }
	.lx-auth__brand p { margin-bottom: 14px; }
	.lx-auth__brand ul { grid-template-columns: 1fr 1fr; gap: 10px; }
	.lx-auth__brand li { font-size: 13px; gap: 8px; }
	.lx-auth__brand li svg { width: 28px; height: 28px; padding: 6px; }
	.lx-auth__panel { padding: 22px 18px 26px; }
}

/* Blog comments (comments.php) */
.lx-comments { max-width: 860px; margin: 48px 0 0; padding-top: 32px; border-top: 1px solid rgba(185,138,126,.3); }
.lx-comments__title { margin: 0 0 18px; font: 500 28px/1.15 var(--serif); color: var(--ink); }
.lx-comments__list, .lx-comments__list .children { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 12px; }
.lx-comments__list .children { margin: 12px 0 0 28px; }
.lx-comments__list .comment-body { padding: 18px; border-radius: 16px; background: #fbf8f3; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); }
.lx-comments__list .comment-author { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.lx-comments__list .comment-author img { border-radius: 50%; }
.lx-comments__list .comment-meta a, .lx-comments__list .reply a { font-size: 13px; color: var(--muted); }
.lx-comments__form { padding: 24px; border-radius: 20px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
.lx-comments__form .form-submit input[type=submit] { min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; font-weight: 700; cursor: pointer; }
.lx-comments .must-log-in a { color: var(--ink); font-weight: 600; }

/* Social login buttons (Google etc.) in the account panel. */
.lx-auth__social { display: grid; gap: 10px; margin-bottom: 4px; }
.lx-auth__social :is(a, button) { box-sizing: border-box; max-width: 100%; }
.lx-auth__social .nsl-container-buttons, .lx-auth__social .nsl-container-block .nsl-container-buttons { display: grid !important; gap: 10px; width: 100% !important; }
.lx-auth__social .nsl-container-buttons a, .lx-auth__social .nsl-button { width: 100% !important; margin: 0 !important; border-radius: 999px !important; }
.lx-auth__social .nsl-button { min-height: 50px; box-shadow: inset 0 0 0 1px #ddd3c7 !important; }
.lx-auth__google { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; border-radius: 999px; background: #fff; color: #1f1f1f; font-weight: 600; box-shadow: inset 0 0 0 1px #ddd3c7, 0 8px 18px -14px rgba(0,0,0,.35); text-decoration: none !important; transition: box-shadow .2s; }
.lx-auth__google:hover { box-shadow: inset 0 0 0 1px #b9a593, 0 10px 22px -14px rgba(0,0,0,.4); }
.lx-auth__or { display: flex; align-items: center; gap: 12px; margin: 18px 0 20px; color: var(--muted); font-size: 13px; }
.lx-auth__or::before, .lx-auth__or::after { content: ""; flex: 1; height: 1px; background: rgba(185,138,126,.35); }

/* Text pages (policies, about, order status, store locator, posts): header band + content card + contents list. */
.lx-doc-hero { padding: clamp(28px, 4vw, 56px) 0 clamp(70px, 8vw, 110px); background: radial-gradient(120% 140% at 85% 0%, #f4e6da 0%, transparent 55%), linear-gradient(180deg, #fbf8f3, #f4ede4); border-bottom: 1px solid rgba(185,138,126,.22); }
.lx-doc-hero .wrap { text-align: center; }
.lx-doc-hero h1 { margin: 10px auto 0; max-width: 900px; font: 500 clamp(38px, 4.4vw, 60px)/1.05 var(--serif); color: var(--ink); }
.lx-doc-hero p { max-width: 640px; margin: 14px auto 0; color: var(--muted); font-size: 17px; }
.lx-doc-hero__crumbs { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 8px; font-size: 13px; color: var(--muted); }
.lx-doc-hero__crumbs a { color: var(--ink); text-decoration: none; }
.lx-doc-hero__crumbs a:hover { text-decoration: underline; }
.lx-doc { display: grid; grid-template-columns: minmax(0, 880px); justify-content: center; gap: 40px; margin-top: clamp(-80px, -6vw, -48px); margin-bottom: 64px; }
.lx-doc--toc { grid-template-columns: 250px minmax(0, 880px); }
.lx-doc__card { min-width: 0; padding: clamp(24px, 4.5vw, 60px); border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px rgba(185,138,126,.22), 0 30px 60px -44px rgba(0,51,36,.4); }
.lx-doc__card .entry { max-width: none; font-size: 16.5px; line-height: 1.75; color: var(--text); }
.lx-doc__card .entry > :first-child { margin-top: 0; }
.lx-doc__card .entry h2 { margin: 2.1em 0 .6em; padding-top: 1.4em; border-top: 1px solid rgba(185,138,126,.22); font: 500 clamp(26px, 2.4vw, 32px)/1.2 var(--serif); color: var(--ink); scroll-margin-top: 140px; }
.lx-doc__card .entry > h2:first-child { padding-top: 0; border-top: 0; }
.lx-doc__card .entry h3 { margin: 1.6em 0 .5em; font: 600 18px/1.35 var(--sans); color: var(--text); }
.lx-doc__card .entry ul, .lx-doc__card .entry ol { padding-inline-start: 1.3em; }
.lx-doc__card .entry ul li::marker { color: var(--rose); }
.lx-doc__card .entry li + li { margin-top: 6px; }
.lx-doc__card .entry a { color: var(--ink); text-decoration-color: rgba(0,85,58,.35); text-underline-offset: 3px; }
.lx-doc__card .entry a:hover { text-decoration-color: currentColor; }
.lx-doc__card .entry table { width: 100%; margin: 1.4em 0; border-collapse: separate; border-spacing: 0; overflow: hidden; border-radius: 16px; box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); font-size: 15px; }
.lx-doc__card .entry th, .lx-doc__card .entry td { padding: 12px 14px; text-align: start; vertical-align: top; border-bottom: 1px solid rgba(185,138,126,.18); }
.lx-doc__card .entry th, .lx-doc__card .entry td { overflow-wrap: anywhere; }
@media (max-width: 680px) { .lx-doc__card .entry th, .lx-doc__card .entry td { padding: 8px; } }
.lx-doc__card .entry th { background: #f6efe6; font-weight: 600; color: var(--ink); }
.lx-doc__card .entry tr:last-child td { border-bottom: 0; }
.lx-doc__card .entry strong { color: var(--text); }
.lx-doc__toc { position: sticky; top: 140px; align-self: start; padding: 18px; border-radius: 20px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); max-height: calc(100vh - 170px); overflow: auto; }
.lx-doc__toc p { margin: 0 0 10px; font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--rose); }
.lx-doc__toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; display: grid; gap: 2px; }
.lx-doc__toc li { counter-increment: toc; }
.lx-doc__toc a { display: block; padding: 7px 10px; border-radius: 10px; font-size: 14px; line-height: 1.35; color: var(--text); text-decoration: none; }
.lx-doc__toc a:hover, .lx-doc__toc a.is-active { background: #fff; color: var(--ink); }
.lx-doc__card .woocommerce-form-track-order { padding: 22px; border-radius: 18px; background: #fbf8f3; box-shadow: inset 0 0 0 1px rgba(185,138,126,.25); }
.lx-doc__card .woocommerce-form-track-order > p:first-child { margin-top: 0; }
.lx-doc__card .woocommerce-form-track-order .button { min-height: 50px; padding: 0 30px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #0a6a4a, var(--ink-deep)); color: #fff; font-weight: 700; cursor: pointer; }
@media (max-width: 1100px) { .lx-doc--toc { grid-template-columns: minmax(0, 880px); } .lx-doc__toc { display: none; } }
@media (max-width: 680px) { .lx-doc { margin-top: -44px; } .lx-doc__card { border-radius: 18px; } .lx-doc__card .entry { font-size: 16px; } }

/* Store Locator: [luxflo_store] */
.lx-store { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 18px; margin: 8px 0 26px; }
.lx-store__card { padding: 26px; border-radius: 20px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
.lx-store__eyebrow { margin: 0 0 6px !important; font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--rose); }
.lx-doc__card .entry .lx-store__card h2 { margin: 0 0 14px; padding: 0; border: 0; font-size: 28px; }
.lx-store .footer-contact { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; color: var(--text); }
.lx-store .footer-contact li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; }
.lx-store .footer-contact svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--rose); }
.lx-store__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.lx-store__btns .btn { text-decoration: none !important; }
.lx-store__map { width: 100%; height: 100%; min-height: 360px; border: 0; border-radius: 20px; box-shadow: 0 0 0 1px rgba(185,138,126,.3); }
@media (max-width: 860px) { .lx-store { grid-template-columns: minmax(0, 1fr); } .lx-store__map { min-height: 300px; } }

/* Blog with no posts yet */
.lx-empty { max-width: 560px; margin: 24px 0 40px; padding: 32px; border-radius: 22px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); box-shadow: inset 0 0 0 1px rgba(185,138,126,.3); }
.lx-empty__title { margin: 0 0 8px; font: 500 30px/1.15 var(--serif); color: var(--ink); }
.lx-empty p { color: var(--muted); }

/* Block pages under the header band (e.g. FAQ): centred column, lifted onto the band like text pages. */
.lx-doc-hero + .lx-faq { position: relative; margin-top: clamp(-80px, -6vw, -48px); }
.lx-doc-hero + .lx-faq .lx-faq__list, .lx-doc-hero + .lx-faq .section__head { max-width: 880px; margin-inline: auto; }
.lx-doc-hero + .lx-faq .lx-faq__item { background: #fff; box-shadow: inset 0 0 0 1px rgba(185,138,126,.3), 0 14px 30px -26px rgba(0,51,36,.35); }
.lx-store__btns .btn { min-height: 44px; padding: 0 18px; font-size: 14px; }
.lx-doc__card.lx-empty { max-width: 640px; margin-inline: auto; text-align: center; }
.lx-store { grid-template-columns: minmax(0, 1fr); }
.lx-store__map { min-height: 400px; }
@media (min-width: 861px) { .lx-store__card { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 28px; align-items: end; } .lx-store__card > .lx-store__eyebrow, .lx-store__card > h2 { grid-column: 1 / -1; } .lx-store .footer-contact { margin: 0; } .lx-store__btns { flex-direction: column; } }

/* Phone: floats never sit on Buy now / Log in. WhatsApp steps aside (those pages have their own button);
   the bag steps aside only while the cart is empty, so it stays reachable and the flower still has a target. */
@media (max-width: 680px) {
	.wa-float, .cart-float { transition: translate .3s, opacity .25s; }
	body.lx-floats-yield .wa-float, body.lx-floats-yield .cart-float:has(.hdr-count[data-count="0"]) { opacity: 0; pointer-events: none; }
}

/* Language switch and "View all": plain text, same as the other header and section links. */
.lang-switch, .lang-switch--mobile { height: auto; padding: 4px 2px; border-radius: 0; background: none; box-shadow: none; color: var(--ink); font: 500 14px/1.2 var(--sans); }
.lang-switch:hover { color: var(--ink-deep); text-decoration: underline; text-underline-offset: 4px; }
.section__head .pill { height: auto; padding: 4px 0; border-radius: 0 !important; background: none; font-size: 15px; font-weight: 600; }
.section__head .pill:hover { background: none; text-decoration: underline; text-underline-offset: 4px; }
.section__head .pill::after { content: "→"; margin-inline-start: 8px; }
[dir="rtl"] .section__head .pill::after, .translated-rtl .section__head .pill::after { content: "←"; }

/* Arabic: the hero photos have their flowers on the left, so the text stays on the empty right side. */
@media (min-width: 681px) { .translated-rtl .hero__copy { inset-inline: 7% auto; } }

/* Main menu */
.overlay__bg { background: rgba(0, 28, 19, .42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.explore { width: min(500px, 100vw); padding: 0 44px 34px; box-shadow: 30px 0 70px -40px rgba(0, 28, 19, .55); transition: transform .38s cubic-bezier(.22, .8, .24, 1); }
.explore__head { align-items: center; justify-content: space-between; min-height: 92px; padding: 0; border-bottom: 1px solid rgba(185, 138, 126, .28); }
.explore__title { font: 500 30px/1 var(--serif); color: var(--ink); }
.explore__close { position: static; display: grid; place-items: center; width: 44px; height: 44px; padding: 0 0 3px; border: 0; border-radius: 50%; background: #f6f1e9; color: var(--ink); font: 400 26px/1 var(--sans); cursor: pointer; transition: background .2s, transform .3s; }
.explore__close:hover { background: #ece3d6; transform: rotate(90deg); }
.explore__types { list-style: none; margin: 10px 0 0; padding: 0; }
.explore__types li + li { border-top: 1px solid rgba(185, 138, 126, .18); }
.explore__types a { display: flex; align-items: center; gap: 16px; padding: 11px 0; color: var(--ink); transition: padding .25s; }
.explore__art { flex: none; display: block; width: 58px; height: 58px; overflow: hidden; border-radius: 50%; background: #f6f1e9; }
.explore__art img { width: 100%; height: 100%; object-fit: cover; }
.explore__art .category-art { width: 100%; height: 100%; }
.overlay:not(.is-open) .category-art { background-image: none; }
.explore__name { flex: 1; min-width: 0; font: 500 27px/1.1 var(--serif); }
.explore__go { flex: none; color: var(--rose); opacity: 0; transform: translateX(-8px); transition: opacity .25s, transform .25s; }
.explore__go svg { display: block; width: 20px; height: 20px; }
[dir="rtl"] .explore__go svg, .translated-rtl .explore__go svg { transform: rotate(180deg); }
.explore__types a:hover { padding-inline-start: 6px; }
.explore__types a:hover .explore__go { opacity: 1; transform: none; }
.explore__group { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(185, 138, 126, .28); }
.explore__group h3 { margin: 0 0 12px; color: var(--rose); font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.explore__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.explore__list a { padding: 7px 0; border: 0; color: var(--text); font-size: 15px; line-height: 1.3; }
.explore__list a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.explore__more summary { display: inline-block; margin-top: 10px; color: var(--ink); font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.explore__more summary::-webkit-details-marker { display: none; }
.explore__more summary::after { content: " +"; }
.explore__more[open] summary::after { content: " −"; }
.explore__more .explore__list { margin-top: 8px; }
.explore__foot { margin-top: 28px; padding: 20px 22px; border-radius: 18px; background: linear-gradient(160deg, #fbf8f3, #f3ebe0); }
.explore__foot ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.explore__foot li a { display: block; padding: 6px 0; color: var(--ink); font-size: 14px; font-weight: 500; }
.explore__foot li a:hover { text-decoration: underline; text-underline-offset: 4px; }
.explore__call { display: block; margin-top: 12px; padding-top: 14px; border-top: 1px solid rgba(185, 138, 126, .3); color: var(--ink); font: 500 22px/1 var(--serif); }
.overlay.is-open .explore__types li { animation: lxMenuIn .5s cubic-bezier(.22, .8, .24, 1) both; animation-delay: calc(var(--i) * 32ms + 70ms); }
@keyframes lxMenuIn { from { opacity: 0; transform: translateY(10px); } }
@media (max-width: 680px) {
	.explore { padding: 0 20px 26px; }
	.explore__head { min-height: 72px; }
	.explore__art { width: 50px; height: 50px; }
	.explore__name { font-size: 24px; }
	.explore__go { opacity: .7; transform: none; }
	.lang-switch--mobile { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .overlay.is-open .explore__types li { animation: none; } }

/* Hero arrows: a quiet pair in the bottom corner, glass with a thin line arrow. */
.hero__nav { top: auto; bottom: 22px; translate: none; width: 48px; height: 48px; background: rgba(255,255,255,.28); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.65); color: var(--ink); transition: background .25s, color .25s, box-shadow .25s; }
.hero__nav svg { width: 20px; height: 20px; stroke-width: 1.4; transition: transform .25s; }
.hero__nav:hover { background: var(--ink); color: #fff; scale: 1; box-shadow: inset 0 0 0 1px var(--ink); }
.hero__nav:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.hero__nav--next { inset-inline-end: 24px; }
.hero__nav--prev { inset-inline-start: auto; inset-inline-end: 80px; }
.hero__nav--next:hover svg { transform: translateX(3px); }
.hero__nav--prev:hover svg { transform: rotate(180deg) translateX(3px); }
