/* ==========================================================================
   The Freckled Flower & Co. - theme styles
   Tokens come from theme.json (--wp--preset--color--*). Sympathy pages
   (body.is-sympathy) swap the warm cinnamon accent for calm evergreen.
   ========================================================================== */

:root {
	--fff-accent: var(--wp--preset--color--cinnamon);
	--fff-accent-deep: var(--wp--preset--color--cinnamon-deep);
	--fff-accent-soft: var(--wp--preset--color--blush-soft);
	--fff-radius: 14px;
	--fff-radius-sm: 8px;
	--fff-shadow: 0 1px 2px rgba(47, 42, 40, .06), 0 8px 24px rgba(47, 42, 40, .06);
	--fff-freckles: radial-gradient(circle at 20% 30%, rgba(154, 86, 52, .16) 0 2px, transparent 2.5px),
		radial-gradient(circle at 70% 60%, rgba(154, 86, 52, .12) 0 1.5px, transparent 2px),
		radial-gradient(circle at 45% 85%, rgba(154, 86, 52, .10) 0 1.2px, transparent 1.7px);
}
body.is-sympathy {
	--fff-accent: var(--wp--preset--color--evergreen);
	--fff-accent-deep: #1f332a;
	--fff-accent-soft: var(--wp--preset--color--sage-soft);
	--fff-freckles: radial-gradient(circle at 25% 35%, rgba(47, 74, 62, .10) 0 1.6px, transparent 2px),
		radial-gradient(circle at 75% 70%, rgba(47, 74, 62, .08) 0 1.2px, transparent 1.6px);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; max-width: 100%; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--fff-accent); outline-offset: 2px; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
.is-sympathy a:where(:not(.wp-element-button):not(.fff-btn):not(.button)) { color: var(--fff-accent); }

/* Buttons follow the accent */
.wp-element-button, .wp-block-button__link, .fff-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce .button.alt,
.woocommerce #respond input#submit, .woocommerce-page .button, .wc-block-components-button:not(.is-link) {
	background: var(--fff-accent) !important; color: #fff !important; border-radius: 999px !important; border: 0 !important;
	font-weight: 700; text-decoration: none !important; padding: .72rem 1.35rem; line-height: 1.2; cursor: pointer;
}
.wp-element-button:hover, .wp-block-button__link:hover, .fff-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--fff-accent-deep) !important; }
.is-style-outline .wp-block-button__link, .fff-btn--ghost { background: transparent !important; color: var(--fff-accent) !important; box-shadow: inset 0 0 0 2px var(--fff-accent); }
.is-style-outline .wp-block-button__link:hover, .fff-btn--ghost:hover { background: var(--fff-accent-soft) !important; }

/* ---------- Header ---------- */
.fff-bar { background: var(--wp--preset--color--ink); }
.fff-utility { background: var(--wp--preset--color--paper); border-bottom: 1px solid var(--wp--preset--color--line); font-size: .9rem; }
.fff-utility__row { padding-block: .45rem; gap: .5rem 1.5rem; }
.fff-utility .fff-zip { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.fff-utility .fff-zip label { margin: 0; font-weight: 700; font-size: .9rem; }
.fff-utility .fff-zip__row { max-width: 15rem; }
.fff-utility .fff-zip__row input, .fff-utility .fff-zip__row button { padding: .35rem .6rem; font-size: .9rem; }
.fff-utility .fff-zip__result { margin: 0; flex-basis: 100%; }
.fff-utility .fff-zip__result:empty { display: none; }
.fff-utility__contact { margin: 0; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.fff-utility__contact a { font-weight: 700; color: var(--wp--preset--color--ink); text-decoration: none; }
.fff-utility__contact .fff-call-us--icon { color: var(--fff-accent); }
.fff-header { background: var(--wp--preset--color--linen); position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--wp--preset--color--line); }
.admin-bar .fff-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .fff-header { top: 0; position: relative; } }
.fff-header__row { padding-block: .75rem; gap: 1rem; }
.fff-brand { gap: .6rem; }
.fff-brand__mark img { display: block; width: auto; height: 76px; }
.fff-brand .wp-block-site-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.fff-header__nav { gap: 1rem; }
.fff-header .wp-block-navigation a { text-decoration: none; }
.fff-header .wp-block-navigation-item__content:hover { color: var(--fff-accent); }
.fff-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--linen); padding: 1.5rem; }
.fff-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; }
@media (max-width: 600px) {
	.fff-brand .wp-block-site-title { font-size: 1.1rem; }
	.fff-brand__mark img { width: auto; height: 56px; }
	.fff-utility .fff-zip label { flex-basis: 100%; }
}

/* ---------- Sections & shared components ---------- */
.fff-main { padding-bottom: var(--wp--preset--spacing--60); }
.fff-page__head { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--30); }
.fff-page__head h1 { margin: 0; }
.fff-section { padding-block: var(--wp--preset--spacing--50); }
.fff-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.fff-section-head h2 { margin: 0; }
.fff-more { font-weight: 700; }
.fff-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 800; color: var(--fff-accent); margin-bottom: .4rem; }
.fff-lede { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); max-width: 38rem; }
.fff-freckled { background-image: var(--fff-freckles); background-size: 38px 38px, 53px 53px, 29px 29px; }
.fff-band { background: var(--fff-accent-soft); border-radius: var(--fff-radius); padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); }
.fff-band--sage { background: var(--wp--preset--color--sage-soft); }
.fff-band--ink { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--linen); }
.fff-band--ink h2, .fff-band--ink h3 { color: var(--wp--preset--color--linen); }
.fff-band--ink a:not(.fff-btn) { color: var(--wp--preset--color--blush); }

/* Hero */
.fff-hero { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.fff-hero .wp-block-columns { align-items: center; gap: clamp(1.5rem, 5vw, 4rem); }
.fff-hero h1 { font-size: clamp(2.3rem, 5.2vw, 3.6rem); font-weight: 520; margin: .2rem 0 1rem; }
.fff-hero h1 em { font-style: italic; color: var(--fff-accent); font-weight: 480; }
.fff-hero__media figure { margin: 0 22px 22px 0; position: relative; isolation: isolate; max-width: 460px; margin-inline: auto; }
.fff-hero__media img { border-radius: 220px 220px var(--fff-radius) var(--fff-radius); background: #fff; aspect-ratio: 4 / 5; object-fit: contain; padding: 8% 6% 4%; width: 100%; box-shadow: var(--fff-shadow); }
.fff-hero__media figure::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: 220px 220px var(--fff-radius) var(--fff-radius); background-color: var(--wp--preset--color--blush); background-image: var(--fff-freckles); background-size: 26px 26px, 37px 37px, 21px 21px; z-index: -1; }
.fff-hero .wp-block-buttons { gap: .75rem; }
.fff-trust { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-size: .92rem; color: var(--wp--preset--color--muted); }
.fff-trust li::before { content: "•"; color: var(--fff-accent); margin-right: .45rem; }

/* Category cards */
.fff-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(.75rem, 2vw, 1.25rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .fff-cards--2 { grid-template-columns: repeat(2, 1fr); } .fff-cards--3 { grid-template-columns: repeat(3, 1fr); } .fff-cards--4 { grid-template-columns: repeat(4, 1fr); } .fff-cards--6 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .fff-cards--6 { grid-template-columns: repeat(6, 1fr); } }
.fff-card a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--paper); border-radius: var(--fff-radius); overflow: hidden; box-shadow: var(--fff-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.fff-card a:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(47,42,40,.08), 0 14px 32px rgba(47,42,40,.10); }
.fff-card__img { display: block; aspect-ratio: 1 / 1; background: #fff; }
.fff-card__img img { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
.fff-card__label { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.08rem; padding: .8rem 1rem 0; line-height: 1.25; }
.fff-card__count { font-size: .85rem; color: var(--wp--preset--color--muted); padding: .2rem 1rem .9rem; }

/* Chips & swatches */
.fff-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fff-chips a { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .95rem; border-radius: 999px; background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line); text-decoration: none; color: var(--wp--preset--color--ink); font-weight: 600; font-size: .95rem; }
.fff-chips a:hover { border-color: var(--fff-accent); color: var(--fff-accent); }
.fff-swatch { width: 1.05rem; height: 1.05rem; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }

/* Steps (a real sequence: how ordering for a service works) */
.fff-steps { counter-reset: step; list-style: none; padding: 0; display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 780px) { .fff-steps { grid-template-columns: repeat(3, 1fr); } }
.fff-steps li { counter-increment: step; background: var(--wp--preset--color--paper); border-radius: var(--fff-radius); padding: 1.25rem 1.25rem 1.25rem 3.6rem; position: relative; box-shadow: var(--fff-shadow); }
.fff-steps li::before { content: counter(step); position: absolute; left: 1.1rem; top: 1.1rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--fff-accent); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: .9rem; }
.fff-steps strong { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; margin-bottom: .25rem; }

/* Guide table (what to send) */
.fff-guide { width: 100%; border-collapse: collapse; background: var(--wp--preset--color--paper); border-radius: var(--fff-radius); overflow: hidden; }
.fff-guide th, .fff-guide td { padding: .8rem 1rem; text-align: left; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.fff-guide th { background: var(--fff-accent-soft); font-weight: 700; }
.fff-table-wrap { overflow-x: auto; }

/* Specials calendar */
.fff-cal { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.fff-cal li { background: var(--wp--preset--color--paper); border-radius: var(--fff-radius-sm); padding: 1rem 1.1rem; box-shadow: var(--fff-shadow); display: grid; gap: .3rem; align-content: start; }
.fff-cal__month { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.1rem; display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; }
.fff-cal__month em { font-family: var(--wp--preset--font-family--body); font-style: normal; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--wp--preset--color--cinnamon); border-radius: 999px; padding: .15rem .55rem; white-space: nowrap; }
.fff-cal li.is-now { outline: 2px solid var(--wp--preset--color--cinnamon); }
/* Reviews placeholder */
.fff-reviews { text-align: center; }
.fff-reviews blockquote { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.3rem; margin: 0 auto; max-width: 36rem; border: 0; padding: 0; }

/* FAQ (Rank Math FAQ block) */
/* Rank Math renders .rank-math-list-item on the front end; .rank-math-faq-item is the editor markup. */
.rank-math-faq-item, .rank-math-list-item { background: var(--wp--preset--color--paper); border-radius: var(--fff-radius-sm); padding: 1.4rem 1.6rem; margin-bottom: 1.5rem; box-shadow: var(--fff-shadow); }
.rank-math-question { font-size: 1.15rem; margin: 0 0 .6rem; }
.rank-math-answer { line-height: 1.7; }
.rank-math-answer p { margin: 0; }

/* ---------- WooCommerce: product grids (shortcode + block) ---------- */
.woocommerce ul.products, .wc-block-product-template { display: grid !important; gap: clamp(.9rem, 2vw, 1.5rem) !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin: 0 !important; padding: 0 !important; list-style: none; }
@media (min-width: 900px) { .woocommerce ul.products.columns-4, .wc-block-product-template.columns-4, .wc-block-product-template.is-flex-container.columns-4 { grid-template-columns: repeat(4, 1fr) !important; } .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 700px) and (max-width: 899px) { .woocommerce ul.products, .wc-block-product-template { grid-template-columns: repeat(3, 1fr) !important; } }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .wc-block-product-template > li { width: auto !important; margin: 0 !important; float: none !important; background: var(--wp--preset--color--paper); border-radius: var(--fff-radius); padding: 0 0 1rem !important; box-shadow: var(--fff-shadow); display: flex; flex-direction: column; text-align: left; }
.woocommerce ul.products li.product a img, .wc-block-product-template .wc-block-components-product-image img { background: #fff; aspect-ratio: 1 / 1.08; object-fit: contain !important; padding: 6%; margin: 0 0 .75rem !important; border-radius: var(--fff-radius) var(--fff-radius) 0 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-product-template h3, .wc-block-product-template .wp-block-post-title { font-family: var(--wp--preset--font-family--display) !important; font-size: 1.02rem !important; font-weight: 600; padding: 0 1rem !important; line-height: 1.3; color: var(--wp--preset--color--ink); }
.woocommerce ul.products li.product .price, .wc-block-product-template .wc-block-components-product-price { padding: 0 1rem; color: var(--wp--preset--color--ink) !important; font-weight: 700; margin-top: auto; }
.woocommerce ul.products li.product .button { margin: .75rem 1rem 0 !important; align-self: flex-start; font-size: .9rem; padding: .55rem 1rem; }
.woocommerce ul.products li.product > a { text-decoration: none; display: flex; flex-direction: column; flex: 1; }
.fff-price-pending { font-weight: 600; }

/* Single product */
.single-product .product .summary .price, .wp-block-woocommerce-product-price { font-size: 1.4rem !important; }
.single-product div.product .woocommerce-product-gallery img, .wp-block-woocommerce-product-image-gallery img { background: #fff; border-radius: var(--fff-radius); }
.single-product .wp-block-post-title { font-weight: 560; }
.woocommerce div.product form.cart .variations select, .variations select { border: 1px solid #b9ada4; border-radius: 8px; padding: .55rem .7rem; font: inherit; min-width: 12rem; }
.woocommerce-product-details__short-description { color: var(--wp--preset--color--muted); font-size: 1.05rem; }
.fff-includes { background: var(--fff-accent-soft); border-radius: var(--fff-radius-sm); padding: .75rem 1rem; }

/* Notices, forms, checkout */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: var(--fff-radius-sm) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-checkout select, .select2-container .select2-selection--single {
	border: 1px solid #b9ada4 !important; border-radius: 8px !important; padding: .6rem .75rem; background: #fff; font: inherit; min-height: 2.75rem;
}
.woocommerce form .form-row label { font-weight: 700; }
.woocommerce-checkout #ship-to-different-address label { font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; font-weight: 560; }
.woocommerce-checkout #ship-to-different-address input { display: none; }
.woocommerce-checkout h3 { font-family: var(--wp--preset--font-family--display); font-weight: 560; }
.woocommerce-checkout #order_review, .woocommerce-checkout #order_review_heading { background: var(--wp--preset--color--paper); }
.woocommerce-checkout #order_review { padding: 1rem 1.25rem; border-radius: 0 0 var(--fff-radius) var(--fff-radius); }
.woocommerce-checkout #order_review_heading { padding: 1rem 1.25rem 0; margin: 1.5rem 0 0; border-radius: var(--fff-radius) var(--fff-radius) 0 0; }
.woocommerce table.shop_table { border-radius: var(--fff-radius-sm); }
.woocommerce-cart .fff-main, .woocommerce-checkout .fff-main, .woocommerce-account .fff-main { max-width: 1200px; }

/* ---------- Footer ---------- */
.fff-footer { background: var(--wp--preset--color--ink); color: #EDE6DF; padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--40); background-image: radial-gradient(circle at 20% 30%, rgba(232,191,179,.10) 0 1.6px, transparent 2px); background-size: 34px 34px; }
.fff-footer h2, .fff-footer h3 { color: #FFF8F3; }
.fff-footer h3 { font-size: 1.05rem; font-family: var(--wp--preset--font-family--body); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fff-footer__brand { font-size: 1.6rem !important; }
.fff-footer a { color: #F3D5CB; }
.fff-footer a:hover { color: #fff; }
.fff-footer__links { list-style: none; padding: 0; }
.fff-footer__links li { padding: .2rem 0; }
.fff-footer .fff-pending { color: #CFC4BB; }
.fff-footer__legal { border-top: 1px solid rgba(255,255,255,.14); margin-top: var(--wp--preset--spacing--50); padding-top: 1rem; font-size: .88rem; color: #CFC4BB; }
.fff-footer__legal p { margin: 0; }
.fff-footer .fff-btn { background: var(--wp--preset--color--blush) !important; color: var(--wp--preset--color--ink) !important; }

/* ---------- Coming soon ---------- */
.fff-soon { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 3rem 1.25rem; background-color: var(--wp--preset--color--linen); background-image: var(--fff-freckles); background-size: 38px 38px, 53px 53px, 29px 29px; }
.fff-soon__mark { display: block; margin: 0 auto 1rem; }
.fff-soon__lede { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.5rem; color: var(--fff-accent); }
.fff-utility .fff-zip { margin: 0; }
.fff-utility__row > * { margin-block: 0 !important; }

/* Grid fix: 3 columns on tablets, 4 on desktop for every product list; images never overflow the card */
@media (min-width: 700px) { .woocommerce ul.products, .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (min-width: 1000px) { .woocommerce ul.products, .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.woocommerce ul.products li.product a img, .wc-block-product-template .wc-block-components-product-image img { box-sizing: border-box; width: 100% !important; height: auto; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { text-align: left; }
.related.products > h2, .upsells.products > h2 { margin-top: var(--wp--preset--spacing--50); }
.wc-block-product-template .wc-block-components-product-button, .wc-block-product-template .wp-block-button { padding: 0 1rem; margin-top: .75rem; }
.wc-block-product-template .wc-block-components-product-button .wp-block-button__link, .wc-block-product-template .fff-view-design { font-size: .92rem; padding: .55rem 1.1rem; width: auto; }
.wc-block-product-template .wp-block-post-title, .wc-block-product-template .wc-block-components-product-price { text-align: left !important; }
.fff-cart { position: relative; display: inline-flex; color: var(--wp--preset--color--ink); padding: .35rem; }
.fff-cart:hover { color: var(--fff-accent); }
.fff-cart__count { position: absolute; top: -2px; right: -4px; min-width: 1.15rem; height: 1.15rem; border-radius: 999px; background: var(--fff-accent); color: #fff; font-size: .72rem; font-weight: 800; display: grid; place-items: center; padding: 0 .25rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--wp--preset--color--ink) !important; }
.woocommerce-tabs ul.tabs li a, .wc-tabs li a { color: var(--wp--preset--color--ink) !important; }
.woocommerce-tabs ul.tabs li:not(.active) a, .wc-tabs li:not(.active) a { color: #5a524c !important; }
.woocommerce-tabs ul.tabs li a, .wc-tabs li a, .wp-block-woocommerce-product-details ul.tabs li a { opacity: 1 !important; }
.wp-block-woocommerce-product-details ul.tabs li:not(.active) a { color: #5a524c !important; }
.woocommerce-tabs ul.tabs li, .wc-tabs li, .wp-block-woocommerce-product-details ul.tabs li { opacity: 1 !important; }

/* Mobile: compact one-line utility bar (ZIP check + call us) */
@media (max-width: 600px) {
	.fff-utility__row { flex-wrap: nowrap !important; gap: .5rem; padding-block: .4rem; }
	.fff-utility .fff-zip { flex: 1; min-width: 0; flex-wrap: wrap; }
	.fff-utility .fff-zip label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
	.fff-utility .fff-zip__row { max-width: none; }
	.fff-utility .fff-zip__row input { width: 100%; }
	.fff-utility__contact .fff-call-us--number, .fff-utility__contact > span[aria-hidden] { display: none; }
	.fff-utility__contact { flex: none; }
	.fff-header__row { padding-block: .55rem; }
}
/* Grouped product (Service Collections) piece list */
.woocommerce-grouped-product-list { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.woocommerce-grouped-product-list td { padding: .6rem .4rem; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: middle; }
.woocommerce-grouped-product-list .button, .woocommerce-grouped-product-list .fff-view-design { white-space: nowrap; font-size: .85rem; padding: .45rem .9rem !important; }
.woocommerce-grouped-product-list-item__label { width: 55%; }
.fff-utility__row { align-items: center !important; }
.fff-utility .fff-zip, .fff-utility .fff-zip * { margin-bottom: 0; }
.fff-utility .wp-block-shortcode, .fff-utility p { margin: 0 !important; }
.fff-trust li:has(.fff-call-us)::before { display: none; }
/* Home: arrangement rows and occasion list (2026-09-28) */
.fff-row { margin-top: var(--wp--preset--spacing--50); }
.fff-row .fff-section-head h3 { margin: 0; }
.fff-chips span { display: inline-flex; align-items: center; padding: .5rem .95rem; border-radius: 999px; background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--ink); font-weight: 600; font-size: .95rem; }
.fff-occasions { margin: 1rem 0 1.25rem; }
.woocommerce ul.products li.product > a.button { flex: none; }
.wc-block-product-template > li > .fff-view-design { align-self: flex-start; flex: none; margin: .75rem 1rem 0 !important; }
/* Footer logo card (2026-09-28) */
.fff-footer__logo { display: inline-block; margin-bottom: 1rem; }
.fff-footer__logo img { display: block; width: 180px; height: auto; border-radius: 18px; }
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.fff-brand__mark { flex: none; }
/* Flower mouse cursor (mouse/trackpad only). Links and buttons keep the hand, text fields keep the I-beam. */
@media (pointer: fine) {
	html {
		cursor: url(../img/cursor-flower.png) 16 16, auto;
		cursor: -webkit-image-set(url(../img/cursor-flower.png) 1x, url(../img/cursor-flower@2x.png) 2x) 16 16, auto;
		cursor: image-set(url(../img/cursor-flower.png) 1x, url(../img/cursor-flower@2x.png) 2x) 16 16, auto;
	}
	a[href], button, [role="button"], select, summary, label[for], input[type="submit"], input[type="button"], input[type="checkbox"], input[type="radio"], input[type="date"] { cursor: pointer; }
	input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"], input[type="password"], input[type="url"], textarea, [contenteditable="true"] { cursor: text; }
	[disabled], .disabled { cursor: not-allowed; }
}
