/* Quench theme – only what theme.json can't express. ~6 KB. */

:root {
	--q-header-h: 76px;
	--q-sticky-top: var(--q-header-h);
	--q-radius: 14px;
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--q-header-h) + 12px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3) { font-variation-settings: "SOFT" 50, "WONK" 0; text-wrap: balance; }
:where(p) { text-wrap: pretty; }
em { font-style: italic; }
h1 em, h2 em { color: var(--wp--preset--color--brass); font-weight: 450; }
::selection { background: var(--wp--preset--color--accent); color: #fff; }
:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
img { height: auto; }

/* Header */
.q-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .q-site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.admin-bar { --q-sticky-top: calc(var(--q-header-h) + var(--wp-admin--admin-bar--height, 32px)); }
.q-header { min-height: var(--q-header-h); display: flex; flex-direction: column; justify-content: center; box-shadow: 0 1px 0 rgb(255 255 255 / 6%), 0 10px 30px rgb(0 0 0 / 18%); }
.q-header > .wp-block-group { width: 100%; }
.q-logo { display: block; flex: none; line-height: 0; }
.q-logo img { width: 56px; height: auto; transition: transform .2s; }
.q-logo:hover img { transform: rotate(-3deg) scale(1.04); }
/* Account icon in the header */
.q-acct-link { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; color: var(--wp--preset--color--on-dark); border: 1.5px solid rgb(246 240 230 / 22%); transition: border-color .2s, background .2s, transform .2s; }
.q-acct-link:hover, .q-acct-link:focus-visible { border-color: #f3c969; background: rgb(255 255 255 / 6%); transform: translateY(-1px); color: #fff; }
.q-acct-link svg circle { transition: transform .25s; transform-origin: 12px 8px; }
.q-acct-link:hover svg circle { transform: scale(1.1); }
@media (max-width: 380px) { .q-acct-link { width: 38px; height: 38px; } }
.q-nav a { text-decoration: none; padding: .4em 0; position: relative; }
.q-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--wp--preset--color--brass); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.q-nav .wp-block-navigation-item__content:hover::after, .q-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
/* ---- Phone menu: colourful burger + animated full-screen menu ---- */
/* Phone-only extras (Order online / Call) never show in the desktop bar. */
.q-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .q-nav__extra { display: none !important; }

/* Burger: gradient ring, three bars (brass, terracotta, cream) that even out on hover/tap. */
.q-nav .wp-block-navigation__responsive-container-open {
	position: relative; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border-radius: 14px; cursor: pointer;
	color: var(--wp--preset--color--on-dark);
	border: 1.5px solid transparent;
	background: linear-gradient(160deg, #2c231e, #1c1714) padding-box, linear-gradient(135deg, #f3c969, #e0602f 55%, #93421f) border-box;
	box-shadow: 0 6px 18px -8px rgb(224 96 47 / 70%);
	transition: transform .2s ease, box-shadow .25s ease;
}
.q-nav .wp-block-navigation__responsive-container-open svg { display: none; }
@media (min-width: 1024px) { .q-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; } }
/* Tablets: six links don't fit beside the logo and Order button – use the menu button up to 1024px. */
@media (min-width: 600px) and (max-width: 1023px) {
	.q-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.q-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; }
	.q-nav .is-menu-open .wp-block-navigation__responsive-container-content { max-width: 560px; margin: 0 auto; }
}
.q-nav .wp-block-navigation__responsive-container-open::before {
	content: ""; width: 22px; height: 16px;
	background:
		linear-gradient(90deg, #f7d77e, #e0a93c) right top / 22px 2.5px no-repeat,
		linear-gradient(90deg, #ff9d6c, #e0602f) right center / 15px 2.5px no-repeat,
		linear-gradient(90deg, #fbf3e6, #e9dcc8) right bottom / 9px 2.5px no-repeat;
	transition: background-size .35s cubic-bezier(.3,1.4,.5,1);
	animation: q-burger-wave 1.6s ease-in-out .8s 2;
}
.q-nav .wp-block-navigation__responsive-container-open:hover,
.q-nav .wp-block-navigation__responsive-container-open:focus-visible { box-shadow: 0 8px 22px -6px rgb(224 96 47 / 85%); }
.q-nav .wp-block-navigation__responsive-container-open:hover::before,
.q-nav .wp-block-navigation__responsive-container-open:focus-visible::before { background-size: 22px 2.5px, 22px 2.5px, 22px 2.5px; }
.q-nav .wp-block-navigation__responsive-container-open:active { transform: scale(.92); }
.q-nav .wp-block-navigation__responsive-container-open:focus-visible { outline: 2px solid #f3c969; outline-offset: 3px; }
@keyframes q-burger-wave {
	0%, 100% { background-size: 22px 2.5px, 15px 2.5px, 9px 2.5px; }
	33% { background-size: 12px 2.5px, 22px 2.5px, 16px 2.5px; }
	66% { background-size: 18px 2.5px, 10px 2.5px, 22px 2.5px; }
}

/* Open menu: warm glow backdrop, numbered links that slide in one after another. */
.q-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 22px 24px calc(24px + env(safe-area-inset-bottom));
	background:
		radial-gradient(120% 60% at 100% 0%, rgb(181 86 47 / 48%) 0%, transparent 60%),
		radial-gradient(90% 50% at 0% 100%, rgb(201 164 92 / 30%) 0%, transparent 60%),
		#1c1714 !important;
	animation: q-menu-in .35s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes q-menu-in { from { opacity: 0; clip-path: circle(0% at calc(100% - 48px) 32px); } to { opacity: 1; clip-path: circle(150% at calc(100% - 48px) 32px); } }
.q-nav .is-menu-open .wp-block-navigation__responsive-container-content { position: relative; align-items: stretch !important; padding-top: 58px !important; }
.q-nav .is-menu-open .wp-block-navigation__responsive-container-content::before {
	content: "2Quench · Corrimal"; position: absolute; top: 8px; left: 0; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--brass);
}
.q-nav .is-menu-open .wp-block-navigation__container {
	counter-reset: qnav; align-items: stretch !important; width: 100%; gap: 0 !important;
	font-family: var(--wp--preset--font-family--display); font-size: clamp(1.6rem, 7vw, 2.1rem); font-weight: 500;
}
.q-nav .is-menu-open .wp-block-navigation-item { width: 100%; opacity: 0; animation: q-menu-item .5s cubic-bezier(.2,.8,.2,1) forwards; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: .08s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .13s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .18s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .23s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: .28s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: .33s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(7) { animation-delay: .42s; }
.q-nav .is-menu-open .wp-block-navigation-item:nth-child(8) { animation-delay: .48s; }
@keyframes q-menu-item { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) { border-bottom: 1px solid rgb(246 240 230 / 9%); }
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content {
	counter-increment: qnav; display: flex; align-items: baseline; gap: 14px; width: 100%; padding: 14px 2px; color: var(--wp--preset--color--on-dark);
	transition: color .2s, padding-left .25s ease;
}
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content::before {
	content: counter(qnav, decimal-leading-zero); flex: none; font-family: var(--wp--preset--font-family--body); font-size: .72rem; font-weight: 700; letter-spacing: .1em; color: var(--wp--preset--color--brass);
}
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content::after {
	content: "→"; position: static; height: auto; margin-left: auto; background: none; transform: translateX(-8px); opacity: 0; font-family: var(--wp--preset--font-family--body); font-size: 1.1rem; color: #ff9d6c; transition: opacity .2s, transform .25s ease;
}
.q-nav .is-menu-open .wp-block-navigation-item__content:focus { outline: none; }
.q-nav .is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid rgb(243 201 105 / 70%); outline-offset: 2px; border-radius: 10px; }
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content:hover,
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content:focus-visible { color: #fff; padding-left: 8px; }
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content:hover::after,
.q-nav .is-menu-open .wp-block-navigation-item:not(.q-nav__extra) .wp-block-navigation-item__content:focus-visible::after { opacity: 1; transform: none; }
.q-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.q-nav .is-menu-open [aria-current="page"] { background: linear-gradient(90deg, #f7d77e, #ff9d6c); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.q-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content::before { -webkit-text-fill-color: var(--wp--preset--color--brass); }

/* Order online + Call buttons at the bottom of the menu. */
.q-nav .is-menu-open .q-nav__cta { margin-top: 26px; }
.q-nav .is-menu-open .q-nav__call { margin-top: 10px; }
.q-nav .is-menu-open .q-nav__extra .wp-block-navigation-item__content {
	display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; box-sizing: border-box; padding: 15px 20px; border-radius: 999px;
	font-family: var(--wp--preset--font-family--body); font-size: 1rem; font-weight: 700; letter-spacing: .01em;
}
.q-nav .is-menu-open .q-nav__cta .wp-block-navigation-item__content { background: linear-gradient(135deg, #e0602f, #b5562f 55%, #93421f); color: #fff; box-shadow: 0 12px 26px -12px rgb(224 96 47 / 90%); }
.q-nav .is-menu-open .q-nav__cta .wp-block-navigation-item__content::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 7h12l-1.2 11.2a2 2 0 0 1-2 1.8H9.2a2 2 0 0 1-2-1.8z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 7V6a3 3 0 0 1 6 0v1' fill='none' stroke='black' stroke-width='1.8'/%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'%3E%3Cpath d='M6 7h12l-1.2 11.2a2 2 0 0 1-2 1.8H9.2a2 2 0 0 1-2-1.8z' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 7V6a3 3 0 0 1 6 0v1' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E") center / contain no-repeat; }
.q-nav .is-menu-open .q-nav__call .wp-block-navigation-item__content { border: 1.5px solid rgb(246 240 230 / 22%); color: var(--wp--preset--color--on-dark); background: rgb(255 255 255 / 4%); }
.q-nav .is-menu-open .q-nav__call .wp-block-navigation-item__content::before { content: ""; width: 16px; height: 16px; background: #f3c969; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z' fill='black'/%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'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat; }
.q-nav .is-menu-open .q-nav__extra .wp-block-navigation-item__content::after { display: none; }
.q-nav .is-menu-open .q-nav__extra .wp-block-navigation-item__content:active { transform: scale(.98); }

/* Close: terracotta disc, the X turns as you press it. */
.q-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 20px !important; right: 20px !important; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	background: linear-gradient(135deg, #e0602f, #93421f); color: #fff; box-shadow: 0 10px 22px -10px rgb(224 96 47 / 90%);
	transition: transform .35s cubic-bezier(.3,1.4,.5,1);
}
.q-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { fill: currentColor; }
.q-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover,
.q-nav .is-menu-open .wp-block-navigation__responsive-container-close:focus-visible { transform: rotate(90deg); }
.q-nav .is-menu-open .wp-block-navigation__responsive-container-close:focus-visible { outline: 2px solid #f3c969; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
	.q-nav .wp-block-navigation__responsive-container-open::before,
	.q-nav .wp-block-navigation__responsive-container.is-menu-open,
	.q-nav .is-menu-open .wp-block-navigation-item { animation: none; opacity: 1; }
	.q-nav .wp-block-navigation__responsive-container-open::before,
	.q-nav .is-menu-open .wp-block-navigation__responsive-container-close { transition: none; }
}
@media (max-width: 599px) {
	:root { --q-header-h: 64px; }
	.q-logo img { width: 44px; }
	.q-header__cta .wp-block-button__link { padding: .7em 1.1em; }
}

/* Eyebrow paragraph style */
.is-style-quench-eyebrow { margin-bottom: 0 !important; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--accent-dark); }
.q-dark .is-style-quench-eyebrow, .has-espresso-background-color .is-style-quench-eyebrow { color: var(--wp--preset--color--brass); }

/* Hero */
.q-hero .wp-block-cover__image-background { animation: q-zoom 18s ease-out both; }
/* Directional scrim: dark behind the copy (bottom-left), photo stays vivid on the right. */
.q-hero .wp-block-cover__background {
	opacity: 1 !important;
	background:
		linear-gradient(0deg, rgb(28 23 20 / 88%) 0%, rgb(28 23 20 / 35%) 45%, rgb(28 23 20 / 15%) 100%),
		linear-gradient(90deg, rgb(28 23 20 / 75%) 0%, rgb(28 23 20 / 30%) 55%, rgb(28 23 20 / 0%) 80%) !important;
}
.q-hero p.has-large-font-size { max-width: 34ch; }
.q-hero :where(h1, p) { text-shadow: 0 2px 24px rgb(0 0 0 / 35%); }
@keyframes q-zoom { from { transform: scale(1.08); } }
.q-hero h1 { margin-block: .15em .25em; }
.q-hero .wp-block-cover__inner-container { width: 100%; }

/* Quick action cards overlapping the hero */
.q-quick .wp-block-columns { margin-top: calc(-1 * var(--wp--preset--spacing--60)); position: relative; z-index: 2; }
.q-quick__card { background: var(--wp--preset--color--surface); border-radius: var(--q-radius); padding: clamp(18px, 2.5vw, 28px); box-shadow: var(--wp--preset--shadow--soft); border: 1px solid var(--wp--preset--color--line); transition: transform .2s, box-shadow .2s; position: relative; }
.q-quick__card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lift); }
.q-quick__card h3 { margin-top: .4rem; }
.q-quick__card h3 a { color: inherit; text-decoration: none; }
.q-quick__card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.q-quick__icon { margin: 0; font-size: 1.75rem; line-height: 1; }
@media (max-width: 781px) { .q-quick .wp-block-columns { margin-top: calc(-1 * var(--wp--preset--spacing--50)); } }

/* Media + text split */
.q-split .wp-block-media-text__media img { border-radius: 22px; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: var(--wp--preset--shadow--lift); }
.q-split .wp-block-media-text__content { padding: clamp(1.5rem, 4vw, 4rem); }
.q-split .wp-block-media-text__content > * + * { margin-top: 1rem; }
@media (max-width: 600px) { .q-split .wp-block-media-text__content { padding: 1.5rem 0 0; } }
.q-dark .wp-block-quote { border-color: var(--wp--preset--color--brass); }
.wp-block-quote cite { display: block; margin-top: .5em; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); font-style: normal; font-weight: 600; color: var(--wp--preset--color--muted); }

/* Feature columns */
.q-feature .wp-block-image { margin-bottom: 1rem; overflow: hidden; border-radius: var(--q-radius); }
.q-feature .wp-block-image img { transition: transform .5s ease; }
.q-feature:hover .wp-block-image img { transform: scale(1.04); }
.q-feature h2, .q-feature h3 { margin-top: .5rem; }

/* Cards */
.is-style-quench-card { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: var(--q-radius); padding: clamp(18px, 3vw, 28px); box-shadow: var(--wp--preset--shadow--soft); }
.is-style-quench-card + .is-style-quench-card { margin-top: 1.25rem; }
.is-style-quench-card h2:first-child { margin-top: 0; }

/* Arch image */
.is-style-quench-arch img { border-radius: 999px 999px 22px 22px !important; box-shadow: var(--wp--preset--shadow--lift); }

/* Accent band */
.q-band h2 { margin: 0; }
.q-band p { margin: 0; opacity: .92; }

/* Page hero (page.html) */
.q-page-hero .wp-block-post-title { margin-bottom: .25em; }
.q-lede { max-width: 62ch; margin-left: 0 !important; color: var(--wp--preset--color--muted); font-size: clamp(1.0625rem, 1.6vw, 1.25rem) !important; }
body { overflow-x: clip; }
.q-lede p { margin: 0; }

/* Gallery */
.wp-block-gallery.is-style-quench-masonry { display: block !important; columns: 3 260px; column-gap: 14px; }
.wp-block-gallery.is-style-quench-masonry .wp-block-image { width: 100% !important; margin: 0 0 14px !important; break-inside: avoid; }
.wp-block-gallery.is-style-quench-masonry img { height: auto !important; border-radius: 12px; }

/* Footer */
.q-footer { font-size: var(--wp--preset--font-size--small); }
.q-footer__h { font-family: var(--wp--preset--font-family--body) !important; font-size: var(--wp--preset--font-size--x-small) !important; font-weight: 700 !important; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 1rem; }
.q-logo--footer img { width: 96px; margin-bottom: 1rem; }
.q-footer__links { list-style: none; padding: 0; display: grid; gap: .45rem; }
.q-footer a { text-decoration: none; }
.q-footer a:hover { text-decoration: underline; color: var(--wp--preset--color--brass); }
.q-footer .q-hours__row { border-color: rgb(246 240 230 / 12%); }
.q-footer .q-contact__row svg { color: var(--wp--preset--color--brass); }

/* Motion safety */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Liquid-glass buttons (theme) – matches the ordering UI in quench-core/forms.css */
.wp-element-button, .wp-block-button__link {
	position: relative; overflow: hidden; isolation: isolate;
	background: linear-gradient(180deg, #c4633a 0%, #b0532d 52%, #8f401e 100%) !important;
	border: 1px solid rgb(255 255 255 / 28%) !important;
	text-shadow: 0 1px 1px rgb(80 30 10 / 35%);
	box-shadow: 0 0 0 1px rgb(120 50 20 / 45%), inset 0 1px 0 rgb(255 255 255 / 50%), inset 0 -12px 22px -12px rgb(60 20 5 / 60%), 0 12px 28px -12px rgb(181 86 47 / 70%);
	transition: transform .25s cubic-bezier(.34, 1.4, .5, 1), box-shadow .2s !important;
}
.wp-element-button::before, .wp-block-button__link::before {
	content: ""; position: absolute; inset: 1px 1px 52% 1px; z-index: -1; border-radius: inherit; pointer-events: none;
	background: linear-gradient(180deg, rgb(255 255 255 / 38%), rgb(255 255 255 / 0%));
}
.wp-element-button::after, .wp-block-button__link::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: -70%; width: 45%; pointer-events: none;
	background: linear-gradient(100deg, transparent, rgb(255 255 255 / 55%), transparent);
	transform: skewX(-20deg); transition: left .7s ease;
}
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-2px); color: #fff !important; }
.wp-element-button:hover::after, .wp-block-button__link:hover::after { left: 130%; }
.wp-element-button:active, .wp-block-button__link:active { transform: translateY(1px) scale(.985); }

/* Outline → frosted glass (on light backgrounds) */
.wp-block-button.is-style-quench-outline .wp-block-button__link {
	background: linear-gradient(180deg, rgb(255 255 255 / 82%), rgb(255 255 255 / 52%)) !important;
	color: var(--wp--preset--color--contrast) !important; text-shadow: none;
	border-color: rgb(255 255 255 / 85%) !important;
	-webkit-backdrop-filter: blur(16px) saturate(1.8); backdrop-filter: blur(16px) saturate(1.8);
	box-shadow: 0 0 0 1px rgb(28 23 20 / 12%), inset 0 1px 0 rgb(255 255 255 / 95%), inset 0 -10px 18px -14px rgb(28 23 20 / 28%), 0 8px 22px -12px rgb(28 23 20 / 35%);
}
.wp-block-button.is-style-quench-outline .wp-block-button__link::before { background: linear-gradient(180deg, rgb(255 255 255 / 60%), rgb(255 255 255 / 0%)); }
.wp-block-button.is-style-quench-outline .wp-block-button__link:hover { color: var(--wp--preset--color--contrast) !important; }

/* Light → smoked glass (on dark photos / sections) */
.wp-block-button.is-style-quench-light .wp-block-button__link {
	background: linear-gradient(180deg, rgb(255 255 255 / 22%), rgb(255 255 255 / 8%)) !important;
	color: var(--wp--preset--color--on-dark) !important;
	border-color: rgb(255 255 255 / 40%) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.6); backdrop-filter: blur(14px) saturate(1.6);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 45%), inset 0 -10px 20px -14px rgb(0 0 0 / 40%), 0 10px 26px -12px rgb(0 0 0 / 55%);
}
.wp-block-button.is-style-quench-light .wp-block-button__link:hover { color: #fff !important; background: linear-gradient(180deg, rgb(255 255 255 / 32%), rgb(255 255 255 / 12%)) !important; }

/* Animated arrow on content buttons (not the compact header CTA) */
main .wp-block-button__link::after { z-index: 1; }
main .wp-block-button__link { padding-right: 2.6em !important; }
main .wp-block-button__link > .q-arrow, main .wp-block-button__link { --arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
main .wp-block-button__link { background-image: var(--arrow), linear-gradient(180deg, #c4633a 0%, #b0532d 52%, #8f401e 100%) !important; background-repeat: no-repeat !important; background-size: 1.05em, auto !important; background-position: right 1.1em center, 0 0 !important; transition: transform .25s cubic-bezier(.34, 1.4, .5, 1), background-position .35s cubic-bezier(.34, 1.4, .5, 1), box-shadow .2s !important; }
main .wp-block-button__link:hover { background-position: right .8em center, 0 0 !important; }
main .is-style-quench-outline .wp-block-button__link { --arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A211C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); background-image: var(--arrow), linear-gradient(180deg, rgb(255 255 255 / 82%), rgb(255 255 255 / 52%)) !important; }
main .is-style-quench-light .wp-block-button__link { background-image: var(--arrow), linear-gradient(180deg, rgb(255 255 255 / 22%), rgb(255 255 255 / 8%)) !important; }

@media (prefers-reduced-motion: reduce) {
	.wp-element-button::after, .wp-block-button__link::after { display: none; }
	.wp-block-button__link { transition: none !important; }
}

/* =====================================================================
   Colour-animated icons (site-wide)
   Every line icon slowly cycles through the brand palette – terracotta,
   brass, sage – and reacts on hover. Icons on filled buttons shimmer
   between white and cream so contrast stays high.
   ===================================================================== */
@keyframes q-hue {
	0%, 100% { color: #b5562f; }
	33% { color: #c9a45c; }
	66% { color: #5f7055; }
}
@keyframes q-hue-dark { /* for dark backgrounds (footer, dark cards) */
	0%, 100% { color: #e9c77f; }
	33% { color: #f0a47e; }
	66% { color: #b7c9a8; }
}
@keyframes q-hue-light { /* icons sitting on a coloured button */
	0%, 100% { color: #fff; }
	50% { color: #ffe2cf; }
}
@keyframes q-hue-bg {
	0%, 100% { background-color: #5f7055; }
	33% { background-color: #b5562f; }
	66% { background-color: #c9a45c; }
}
.q-ico { animation: q-hue 7s ease-in-out infinite; }
.q-btn--primary .q-ico, .q-cartbar .q-ico, .q-add .q-ico, .q-chip:has(input:checked) .q-ico, .q-chip[aria-pressed=true] .q-ico,
.q-daychip:has(input:checked) .q-ico, .q-glass-dark .q-ico { animation-name: q-hue-light; }
.q-contact__row svg { animation: q-hue 7s ease-in-out infinite; transition: transform .35s cubic-bezier(.2,1.4,.4,1); }
.q-footer .q-contact__row svg { animation-name: q-hue-dark; }
.q-contact__row:hover svg { transform: scale(1.15) rotate(-6deg); }
.q-contact__row:nth-child(2) svg { animation-delay: -2.3s; }
.q-contact__row:nth-child(3) svg { animation-delay: -4.6s; }
.q-gc__perks svg { animation: q-hue-bg 7s ease-in-out infinite; }
.q-gc__perks li:nth-child(2) svg { animation-delay: -2.3s; }
.q-gc__perks li:nth-child(3) svg { animation-delay: -4.6s; }
.q-design__tick, .q-done__icon { animation: q-hue-bg 7s ease-in-out infinite; }
.wp-block-social-links .wp-social-link svg { animation: q-hue-dark 7s ease-in-out infinite; transition: transform .35s cubic-bezier(.2,1.4,.4,1); }
.wp-block-social-links .wp-social-link:hover svg { transform: scale(1.18); }
.wp-block-social-links .wp-social-link:nth-child(2) svg { animation-delay: -3s; }
.q-datepick .q-ico { animation: q-hue 7s ease-in-out infinite; }

/* ---------- Dietary icons ---------- */
.q-diet { --dc: #5f7055; --dc2: #3f6b4e; display: inline-flex; align-items: center; gap: 2px; margin-left: 3px; padding: .1em .45em .1em .3em; border-radius: 999px; background: color-mix(in srgb, var(--dc) 13%, transparent); color: var(--dc); font-size: .72rem; font-weight: 800; letter-spacing: .03em; line-height: 1.5; vertical-align: 2px; white-space: nowrap; animation: q-diet-hue 5s ease-in-out infinite; }
.q-diet .q-dico { width: 1.4em; height: 1.4em; flex: none; }
.q-diet--gf { --dc: #b07a1e; --dc2: #c9a45c; }
.q-diet--v  { --dc: #4f7a3a; --dc2: #7d9171; }
.q-diet--vg { --dc: #2f7d4f; --dc2: #5aa06b; }
.q-diet--df { --dc: #3b6fa0; --dc2: #6b9ac4; }
.q-diet--n  { --dc: #8a4b12; --dc2: #b5562f; }
@keyframes q-diet-hue { 0%, 100% { color: var(--dc); } 50% { color: var(--dc2); } }
.q-dico__sway { transform-box: fill-box; transform-origin: 50% 100%; animation: q-dico-sway 3.2s ease-in-out infinite; }
.q-dico__sway--r { animation-delay: -1.6s; }
.q-dico__slash { stroke-dasharray: 23; stroke-dashoffset: 23; animation: q-dico-slash 4s ease-in-out infinite; }
.q-dico__drip { transform-box: fill-box; transform-origin: 50% 0; animation: q-dico-drip 2.6s ease-in-out infinite; }
.q-dico__vein { stroke-dasharray: 16; animation: q-dico-vein 3.2s ease-in-out infinite; }
@keyframes q-dico-sway { 0%, 100% { transform: rotate(-5deg); } 50% { transform: rotate(5deg); } }
@keyframes q-dico-slash { 0%, 15% { stroke-dashoffset: 23; } 40%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -23; } }
@keyframes q-dico-drip { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.9) translateY(1px); } }
@keyframes q-dico-vein { 0%, 100% { stroke-dashoffset: 0; } 50% { stroke-dashoffset: 8; } }
.q-chip--diet { display: inline-flex; align-items: center; gap: 6px; }
.q-chip--diet .q-dico { width: 18px; height: 18px; color: var(--dc); animation: q-diet-hue 5s ease-in-out infinite; }
.q-chip--diet[aria-pressed=true] .q-dico { color: #fff; animation: none; }
.q-dietkey { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 26px 0 0; padding: 14px 16px; border-radius: 14px; background: color-mix(in srgb, var(--wp--preset--color--cream, #f6f0e6) 70%, transparent); font-size: .82rem; }
.q-dietkey .q-diet { margin-left: 0; }
.q-dietkey .q-muted { flex-basis: 100%; }

@media (prefers-reduced-motion: reduce) {
	.q-ico, .q-contact__row svg, .q-gc__perks svg, .q-design__tick, .q-done__icon, .wp-social-link svg, .q-diet, .q-dico *, .q-chip--diet .q-dico { animation: none !important; }
}
.q-footer__links .q-footer__sep { margin-top: .9em; padding-top: .9em; border-top: 1px solid #3a302a; }
.q-footer__credit { letter-spacing: .02em; }
.q-footer__credit a { color: var(--wp--preset--color--brass) !important; font-weight: 600; }
.q-footer__credit a:hover { color: var(--wp--preset--color--on-dark) !important; }
