/*
Theme Name: For You
Theme URI: https://foryou-bizuteria.pl/
Author: Łukasz Pintera
Description: Lekki motyw blokowy dla For You — biżuteria sztuczna. Strona informacyjno-prawna: reklamacje, zgłoszenia bezpieczeństwa (GPSR), stoisko w Centrum Hurtowym PTAK.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: foryou
*/

/* ---------- Tokens ---------- */
:root {
	--fy-ivory: #F4EFE6;
	--fy-paper: #FBF8F2;
	--fy-ink: #1A1712;
	--fy-graphite: #5B5448;
	--fy-stone: #6E6657;
	--fy-brass: #7C5B22;
	--fy-champagne: #C9A66B;
	--fy-line: #DCD3C2;
	--fy-field: #8A806F;
	--fy-ink-muted: #B8AE9C;
	--fy-ink-line: #3A352C;
	--fy-ink-text: #E6DFD2;
	--fy-error: #8A2A1F;
	--fy-serif: 'Instrument Serif', 'Iowan Old Style', Georgia, serif;
	--fy-sans: 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
	--fy-gutter: clamp(20px, 5.5vw, 80px);
	--fy-max: 1440px;
	--fy-radius: 2px;
	--fy-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
body { background: var(--fy-ivory); color: var(--fy-ink); font-family: var(--fy-sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
[class*="fy-"] > * { margin-block: 0; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1 0 auto; }
.wp-site-blocks > * + * { margin-block-start: 0; }
img, svg { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--fy-ink); outline-offset: 3px; }
.fy-dark :focus-visible, .fy-stall :focus-visible, .fy-card--dark :focus-visible { outline-color: var(--fy-ivory); }
::selection { background: var(--fy-champagne); color: var(--fy-ink); }

.fy-wrap { width: 100%; max-width: var(--fy-max); margin-inline: auto; padding-inline: var(--fy-gutter); box-sizing: border-box; }

/* Type helpers */
.fy-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--fy-brass); }
.fy-label { font-family: var(--fy-sans) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .2em; text-transform: uppercase; color: var(--fy-graphite); line-height: 1.4 !important; }
.fy-display { font-family: var(--fy-serif); font-weight: 400; font-size: clamp(3.25rem, 7.2vw, 6.5rem); line-height: .96; letter-spacing: -.02em; text-wrap: balance; }
.fy-h2 { font-size: clamp(2.5rem, 4.6vw, 4rem); line-height: 1; }
.fy-lead { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); line-height: 1.55; color: var(--fy-graphite); max-width: 36em; text-wrap: pretty; }
.fy-muted { color: var(--fy-graphite); font-size: 15px; }
.fy-num { font-family: var(--fy-serif); font-style: italic; font-size: 28px; line-height: 1; color: var(--fy-brass); }

/* Buttons */
.wp-block-button__link { border-radius: var(--fy-radius); font-weight: 600; transition: background-color .15s ease, color .15s ease; }
.fy-btn-arrow .wp-block-button__link { display: inline-flex; align-items: center; gap: 12px; }
.fy-btn-arrow .wp-block-button__link::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--fy-arrow) center/contain no-repeat; mask: var(--fy-arrow) center/contain no-repeat; }
.fy-btn-light .wp-block-button__link { background: var(--fy-ivory); color: var(--fy-ink); }
.fy-btn-light .wp-block-button__link:hover { background: var(--fy-champagne); color: var(--fy-ink); }
.fy-btn-ghost .wp-block-button__link { background: transparent; color: var(--fy-ivory); box-shadow: inset 0 0 0 1px var(--fy-graphite); }
.fy-btn-ghost .wp-block-button__link:hover { background: var(--fy-ink-line); color: var(--fy-ivory); }
.fy-btn-outline .wp-block-button__link { background: transparent; color: var(--fy-ink); box-shadow: inset 0 0 0 1px var(--fy-field); }
.fy-btn-outline .wp-block-button__link:hover { background: var(--fy-paper); color: var(--fy-ink); }
.fy-link a { font-weight: 600; text-underline-offset: 6px; text-decoration-thickness: 1px; }

/* ---------- Header ---------- */
.fy-header { border-bottom: 1px solid var(--fy-line); }
.fy-header__inner { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fy-logo { display: flex; align-items: center; gap: 18px; color: var(--fy-ink); text-decoration: none; }
.fy-logo svg { width: 128px; height: auto; display: block; }
.fy-logo__sep { width: 1px; height: 28px; background: var(--fy-line); }
.fy-logo__tag { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--fy-graphite); white-space: nowrap; }
.fy-header__nav { display: flex; align-items: center; gap: 40px; }
.fy-nav { font-size: 15px; font-weight: 500; gap: 36px; }
.fy-nav .wp-block-navigation-item__content { text-decoration: none; }
.fy-nav .current-menu-item > .wp-block-navigation-item__content { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px; }
.fy-header__cta .wp-block-button__link { padding: 12px 22px; font-size: 15px; }
.fy-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--fy-line); border-radius: var(--fy-radius); }
@media (max-width: 599px) { .fy-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; } }
.fy-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--fy-ivory); color: var(--fy-ink); padding: 24px var(--fy-gutter); }
.fy-nav .is-menu-open .wp-block-navigation__responsive-container-content { gap: 8px; }
.fy-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--fy-serif); font-size: 34px; padding-block: 6px; }

/* ---------- Hero ---------- */
.fy-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 24px; align-items: center; padding-block: clamp(44px, 7vw, 104px) clamp(56px, 9vw, 128px); }
.fy-hero__text { display: flex; flex-direction: column; gap: 32px; }
.fy-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding-top: 8px; }
.fy-actions .wp-block-button__link { padding: 17px 28px; font-size: 16px; }

.fy-orbit { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1; container-type: inline-size; justify-self: end; }
.fy-orbit__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.fy-tag { position: absolute; left: 62.8%; top: 53.6%; width: 35.7cqw; min-width: 150px; transform: rotate(-7deg); transform-origin: 50% 8%; filter: drop-shadow(0 18px 28px rgba(26, 23, 18, .14)); }
.fy-tag__body { position: relative; aspect-ratio: 200 / 250; background: var(--fy-paper); clip-path: polygon(0 16%, 50% 0, 100% 16%, 100% 100%, 0 100%); padding: 27% 11% 10%; box-sizing: border-box; display: flex; flex-direction: column; gap: 1.1cqw; }
.fy-tag__hole { position: absolute; left: 50%; top: 4.8%; width: 9%; aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%; background: var(--fy-ivory); box-shadow: inset 0 0 0 1.5px #C9BFAE; }
.fy-tag__kicker { font-size: max(9px, 1.8cqw); font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--fy-brass); }
.fy-tag__big { font-family: var(--fy-serif); font-size: max(28px, 7.1cqw); line-height: 1; }
.fy-tag__line { font-size: max(12px, 2.5cqw); font-weight: 600; }
.fy-tag__rule { height: 1px; background: var(--fy-line); margin: 1.8cqw 0 1cqw; }
.fy-tag__small { font-size: max(10px, 2.1cqw); line-height: 1.5; color: var(--fy-graphite); }
.fy-tag__hours { font-size: max(10px, 2.1cqw); font-weight: 600; margin-top: .7cqw; }

/* ---------- Sections ---------- */
.fy-section { padding-block: clamp(64px, 9vw, 128px); }
.fy-sechead { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; border-top: 1px solid var(--fy-ink); padding-top: 28px; margin-bottom: 48px !important; }
.fy-sechead h2 { font-size: clamp(2.375rem, 4vw, 3.5rem); line-height: 1.02; }

/* Help tiles */
.fy-help { padding-block: 0 clamp(64px, 9vw, 128px); }
.fy-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fy-tile { position: relative; min-height: 340px; padding: 36px; background: var(--fy-paper); border: 1px solid var(--fy-line); border-radius: var(--fy-radius); display: flex; flex-direction: column; gap: 16px; transition: border-color .15s ease, transform .15s ease; }
.fy-tile:hover { border-color: var(--fy-ink); }
.fy-tile h3 { font-size: 38px; line-height: 1.05; }
.fy-tile p:not(.fy-num):not(.fy-tile__cta) { font-size: 16px; line-height: 1.6; color: var(--fy-graphite); }
.fy-tile__cta { margin-top: auto !important; padding-top: 20px; border-top: 1px solid var(--fy-line); font-size: 15px; font-weight: 600; }
.fy-tile__cta a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; color: inherit; }
.fy-tile__cta a::before { content: ""; position: absolute; inset: 0; }
.fy-tile__cta a::after { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--fy-arrow) center/contain no-repeat; mask: var(--fy-arrow) center/contain no-repeat; }
.fy-tile.is-dark { background: var(--fy-ink); border-color: var(--fy-ink); color: var(--fy-ivory); }
.fy-tile.is-dark .fy-num { color: var(--fy-champagne); }
.fy-tile.is-dark p:not(.fy-num):not(.fy-tile__cta) { color: var(--fy-ink-muted); }
.fy-tile.is-dark .fy-tile__cta { border-top-color: var(--fy-ink-line); }
.fy-tile.is-dark :focus-visible { outline-color: var(--fy-ivory); }

/* Stall (dark) */
.fy-stall { background: var(--fy-ink); color: var(--fy-ivory); padding-block: clamp(64px, 8.5vw, 120px); }
.fy-stall a { color: var(--fy-ivory); }
.fy-stall .fy-eyebrow, .fy-stall .fy-label { color: var(--fy-champagne); }
.fy-stall__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: clamp(32px, 8vw, 140px); row-gap: 48px; }
.fy-stall__intro { display: flex; flex-direction: column; gap: 28px; }
.fy-stall__intro h2 { font-size: clamp(2.75rem, 4.6vw, 4rem); line-height: 1; }
.fy-stall__addr { font-size: 18px; line-height: 1.6; color: var(--fy-ink-muted); }
.fy-stall__intro .wp-block-buttons { gap: 12px 16px; padding-top: 12px; }
.fy-stall__intro .wp-block-button__link { padding: 15px 24px; font-size: 15px; }
.fy-stall__info { display: flex; flex-direction: column; gap: 20px; }
.fy-stall__info .fy-label:not(:first-child) { margin-top: 36px !important; }
.fy-row { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--fy-line); font-size: 18px; }
.fy-row strong { font-weight: 600; text-align: right; }
.fy-stall .fy-row { border-bottom-color: var(--fy-ink-line); }
.fy-rows { display: flex; flex-direction: column; margin-top: -8px !important; }
.fy-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fy-step { display: flex; flex-direction: column; gap: 10px; font-size: 16px; line-height: 1.55; color: var(--fy-ink-text); }
.fy-step__n { font-family: var(--fy-serif); font-style: italic; font-size: 26px; line-height: 1; color: var(--fy-champagne); }

/* GPSR */
.fy-gpsr__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: clamp(32px, 8vw, 140px); row-gap: 56px; }
.fy-gpsr__intro { display: flex; flex-direction: column; gap: 28px; }
.fy-gpsr__intro > p:not(.fy-eyebrow) { max-width: 35em; font-size: 18px; line-height: 1.6; color: var(--fy-graphite); text-wrap: pretty; }
.fy-alerts { margin-top: 8px !important; }
.fy-alerts .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.fy-status { display: flex; align-items: center; gap: 20px; padding: 24px 28px; background: var(--fy-paper); border: 1px solid var(--fy-line); border-radius: var(--fy-radius); }
.fy-status::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--fy-ink); flex-shrink: 0; }
.fy-status.is-alert { border-color: var(--fy-ink); }
.fy-status.is-alert::before { background: var(--fy-error); }
.fy-status p { font-size: 16px; line-height: 1.45; }
.fy-status p span, .fy-status .wp-block-post-date { font-size: 14px; color: var(--fy-stone); font-weight: 400; }
.fy-status .wp-block-post-title { font-family: var(--fy-sans); font-size: 16px; font-weight: 600; line-height: 1.4; }
.fy-status .wp-block-post-title a { text-decoration: none; }
.fy-status__text { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.fy-status__more { font-size: 14px; font-weight: 600; }
.fy-entity { align-self: start; border-top: 1px solid var(--fy-ink); }
.fy-entity .fy-label { padding-top: 24px; padding-bottom: 8px; }
.fy-entity .fy-row { font-size: 16px; line-height: 1.5; padding: 16px 0; justify-content: flex-start; }
.fy-entity .fy-row span { width: 120px; flex-shrink: 0; color: var(--fy-stone); }
.fy-entity .fy-row strong, .fy-entity .fy-row em { text-align: left; font-style: normal; }
.fy-entity .fy-row em { font-weight: 400; }

/* Care */
.fy-care { padding-bottom: clamp(64px, 9vw, 128px); }
.fy-care h3 { font-size: 40px; margin-bottom: 32px !important; }
.fy-care__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.fy-care__item { padding-top: 20px; border-top: 1px solid var(--fy-line); display: flex; flex-direction: column; gap: 10px; }
.fy-care__item p:first-child { font-size: 17px; font-weight: 600; }
.fy-care__item p + p { font-size: 15px; line-height: 1.6; color: var(--fy-graphite); }

/* ---------- Footer ---------- */
.fy-footer { border-top: 1px solid var(--fy-line); padding-block: 72px 40px; }
.fy-footer__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 3fr) minmax(0, 1fr) minmax(0, 3fr); }
.fy-footer__brand { grid-column: 1; display: flex; flex-direction: column; gap: 16px; }
.fy-footer__brand svg { width: 150px; height: auto; color: var(--fy-ink); }
.fy-footer__brand p { font-size: 15px; line-height: 1.6; color: var(--fy-graphite); max-width: 300px; }
.fy-footer__col { display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.5; }
.fy-footer__col:nth-child(2) { grid-column: 3; }
.fy-footer__col:nth-child(3) { grid-column: 5; }
.fy-footer__col .fy-label { font-size: 12px !important; color: var(--fy-stone); padding-bottom: 6px; }
.fy-footer__col.is-links a { text-decoration: none; }
.fy-footer__col.is-links a:hover { text-decoration: underline; }
.fy-footer__bottom { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 56px !important; padding-top: 24px; border-top: 1px solid var(--fy-line); font-size: 13px; color: var(--fy-stone); }

/* ---------- Pages ---------- */
.fy-page { padding-block: clamp(32px, 4vw, 56px) 0; display: flex; flex-direction: column; gap: 24px; }
.fy-crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--fy-stone); }
.fy-crumbs a { color: var(--fy-graphite); }
.fy-crumbs .wp-block-post-title { font: inherit; }
.fy-page-title { font-size: clamp(3rem, 6vw, 5rem); line-height: 1; letter-spacing: -.01em; }
.fy-page .wp-block-post-excerpt__excerpt { font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.55; color: var(--fy-graphite); max-width: 40em; margin: 0; }
.fy-content { padding-block: clamp(40px, 5vw, 56px) 0; }
.fy-content > :not(section):not(.alignfull) { max-width: 760px; margin-inline: auto; padding-inline: var(--fy-gutter); box-sizing: content-box; }
.fy-content > :not(section) + :not(section) { margin-top: 1.25em; }
.fy-content > h2 { font-size: clamp(2rem, 3vw, 2.75rem); margin-top: 1.6em !important; }
.fy-content > h3 { font-size: 1.75rem; margin-top: 1.4em !important; }
.fy-content p, .fy-content li { line-height: 1.65; }
.fy-content > section:last-child { margin-bottom: 0; }
.fy-page--post .fy-content { padding-bottom: clamp(64px, 8vw, 120px); }

/* Form page */
.fy-formpage { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(32px, 8vw, 150px); row-gap: 48px; padding-block: 16px clamp(72px, 8vw, 120px); align-items: start; }
.fy-aside { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 32px; }
.fy-card { padding: 36px; background: var(--fy-paper); border: 1px solid var(--fy-line); border-radius: var(--fy-radius); display: flex; flex-direction: column; gap: 14px; }
.fy-card h2 { font-size: 32px; }
.fy-card.is-plain { background: transparent; }
.fy-card--dark { background: var(--fy-ink); border-color: var(--fy-ink); color: var(--fy-ivory); padding: 28px 36px; }
.fy-card--dark a { color: var(--fy-ivory); font-weight: 600; text-underline-offset: 5px; }
.fy-card--dark p:not(:first-child):not(:last-child) { color: var(--fy-ink-muted); font-size: 15px; line-height: 1.55; }
.fy-card--dark p:first-child { font-weight: 600; }
.fy-steps-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 22px; counter-reset: fy; }
.fy-steps-list li { counter-increment: fy; display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 12px; font-size: 15px; line-height: 1.55; }
.fy-steps-list li::before { content: counter(fy); font-family: var(--fy-serif); font-style: italic; font-size: 22px; line-height: 1.1; color: var(--fy-brass); }
.fy-phone { font-family: var(--fy-serif); font-size: 30px; line-height: 1.1; }
.fy-phone a { text-decoration: none; }
.fy-card .fy-small { font-size: 14px; color: var(--fy-stone); }
.fy-form-missing { padding: 24px; border: 1px dashed var(--fy-field); background: var(--fy-paper); font-size: 15px; }

/* ---------- Contact Form 7 ---------- */
.fy-formcol .wpcf7 form { display: flex; flex-direction: column; gap: 56px; }
.fy-formcol .wpcf7 form > p { margin: 0; }
.fy-formcol br { display: none; }
.fy-fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.fy-fieldset legend { padding: 0 0 24px; display: flex; align-items: baseline; gap: 14px; font-family: var(--fy-serif); font-size: 32px; line-height: 1.1; }
.fy-fieldset legend span { font-style: italic; font-size: 22px; color: var(--fy-brass); }
.fy-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.fy-field { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 600; }
.fy-field small { font-size: 13px; font-weight: 400; color: var(--fy-stone); margin-top: -6px; }
.fy-hint { font-size: 14px; font-weight: 400; color: var(--fy-stone); }
.fy-formcol .wpcf7-form-control-wrap { display: block; }
.fy-formcol input[type="text"], .fy-formcol input[type="email"], .fy-formcol input[type="tel"], .fy-formcol input[type="date"], .fy-formcol textarea, .fy-formcol select {
	width: 100%; box-sizing: border-box; min-height: 52px; padding: 0 16px; background: var(--fy-paper); border: 1px solid var(--fy-field); border-radius: var(--fy-radius);
	font: 400 16px/1.5 var(--fy-sans); color: var(--fy-ink); appearance: none;
}
.fy-formcol textarea { padding: 14px 16px; min-height: 160px; resize: vertical; }
.fy-formcol input::placeholder, .fy-formcol textarea::placeholder { color: var(--fy-stone); }
.fy-formcol input:focus, .fy-formcol textarea:focus { border-color: var(--fy-ink); outline: 2px solid var(--fy-ink); outline-offset: 1px; }
.fy-formcol input[type="file"] { width: 100%; box-sizing: border-box; padding: 12px; background: var(--fy-paper); border: 1px dashed var(--fy-field); border-radius: var(--fy-radius); font: 400 15px var(--fy-sans); color: var(--fy-graphite); }
.fy-formcol input[type="file"]::file-selector-button { margin-right: 14px; padding: 10px 16px; border: 0; border-radius: var(--fy-radius); background: var(--fy-ink); color: var(--fy-ivory); font: 600 14px var(--fy-sans); cursor: pointer; }
.fy-files { display: flex; flex-direction: column; gap: 10px; }
.fy-choice-label { font-size: 15px; font-weight: 600; }
.fy-formcol .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.fy-formcol .wpcf7-radio .wpcf7-list-item { margin: 0; }
.fy-formcol .wpcf7-radio label { min-height: 48px; padding: 0 18px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--fy-field); background: var(--fy-paper); border-radius: var(--fy-radius); font-size: 15px; font-weight: 500; cursor: pointer; }
.fy-formcol .wpcf7-radio input { accent-color: var(--fy-ink); margin: 0; width: 16px; height: 16px; }
.fy-formcol .wpcf7-radio label:has(input:checked) { background: var(--fy-ink); border-color: var(--fy-ink); color: var(--fy-ivory); }
.fy-formcol .wpcf7-radio label:has(input:checked) input { accent-color: var(--fy-champagne); }
.fy-formcol .wpcf7-radio label:has(input:focus-visible) { outline: 2px solid var(--fy-ink); outline-offset: 2px; }
.fy-consent { display: flex; flex-direction: column; gap: 20px; padding-top: 32px; border-top: 1px solid var(--fy-line); }
.fy-privacy { font-size: 13px; line-height: 1.6; color: var(--fy-graphite); }
.fy-formcol .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.fy-formcol .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 14px; font-size: 15px; line-height: 1.55; cursor: pointer; }
.fy-formcol .wpcf7-acceptance input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--fy-ink); flex-shrink: 0; }
.fy-submit-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 28px; }
.fy-formcol .wpcf7-submit { min-height: 56px; padding: 0 32px; background: var(--fy-ink); color: var(--fy-ivory); border: 0; border-radius: var(--fy-radius); font: 600 16px var(--fy-sans); cursor: pointer; transition: background-color .15s ease; }
.fy-formcol .wpcf7-submit:hover { background: var(--fy-brass); }
.fy-formcol .wpcf7-submit:disabled { opacity: .55; cursor: not-allowed; }
.fy-req { font-size: 14px; color: var(--fy-stone); }
.fy-formcol .wpcf7-not-valid { border-color: var(--fy-error) !important; }
.fy-formcol .wpcf7-not-valid-tip { color: var(--fy-error); font-size: 14px; font-weight: 500; margin-top: 6px; }
.fy-formcol .wpcf7 form .wpcf7-response-output { margin: 0; padding: 18px 22px; border: 1px solid var(--fy-ink); border-radius: var(--fy-radius); background: var(--fy-paper); font-size: 15px; }
.fy-formcol .wpcf7 form.invalid .wpcf7-response-output, .fy-formcol .wpcf7 form.unaccepted .wpcf7-response-output, .fy-formcol .wpcf7 form.failed .wpcf7-response-output { border-color: var(--fy-error); color: var(--fy-error); }
.fy-formcol .wpcf7 form.sent .wpcf7-response-output { border-color: var(--fy-ink); background: var(--fy-ink); color: var(--fy-ivory); }

/* ---------- Posts / archive ---------- */
.fy-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fy-list > li { padding: 20px 0; border-bottom: 1px solid var(--fy-line); display: flex; flex-direction: column; gap: 4px; }
.fy-list .wp-block-post-title { font-size: 28px; }
.fy-list .wp-block-post-title a { text-decoration: none; }
.fy-list .wp-block-post-date { font-size: 14px; color: var(--fy-stone); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.fy-header__nav { gap: 20px; }
	.fy-nav { gap: 22px; }
	.fy-logo__sep, .fy-logo__tag { display: none; }
}
@media (max-width: 900px) {
	.fy-hero { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
	.fy-orbit { justify-self: center; max-width: 420px; margin-top: 8px; }
	.fy-tag { left: auto; right: 2%; min-width: 128px; }
	.fy-orbit { margin-top: -56px; margin-bottom: -40px; }
	.fy-tiles, .fy-care__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.fy-care__grid { gap: 0; }
	.fy-care__item { padding-block: 16px; }
	.fy-tile { min-height: 0; padding: 24px; gap: 10px; }
	.fy-tile h3 { font-size: 30px; }
	.fy-stall__grid, .fy-gpsr__grid, .fy-formpage { grid-template-columns: minmax(0, 1fr); }
	.fy-steps { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.fy-step { flex-direction: row; gap: 12px; font-size: 15px; }
	.fy-step__n { width: 28px; flex-shrink: 0; font-size: 22px; }
	.fy-aside { position: static; }
	.fy-footer__grid { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.fy-footer__col:nth-child(2), .fy-footer__col:nth-child(3) { grid-column: 1; }
}
@media (max-width: 600px) {
	.fy-header__inner { height: 64px; }
	.fy-logo svg { width: 100px; }
	.fy-header__cta .wp-block-button__link { padding: 11px 14px; font-size: 14px; }
	.fy-header__nav { gap: 8px; }
	.fy-actions { flex-direction: column; align-items: stretch; }
	.fy-actions .wp-block-buttons, .fy-actions .wp-block-button, .fy-actions .wp-block-button__link { width: 100%; justify-content: center; }
	.fy-actions .fy-link { text-align: center; }
	.fy-stall__intro .wp-block-buttons, .fy-stall__intro .wp-block-button { width: 100%; }
	.fy-stall__intro .wp-block-button__link { width: 100%; justify-content: center; box-sizing: border-box; }
	.fy-row { font-size: 16px; padding: 15px 0; }
	.fy-entity .fy-row { flex-direction: column; gap: 2px; padding: 13px 0; }
	.fy-entity .fy-row span { width: auto; font-size: 13px; }
	.fy-grid-2 { grid-template-columns: minmax(0, 1fr); }
	.fy-formcol .wpcf7-radio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.fy-formcol .wpcf7-radio label { padding: 0 14px; }
	.fy-formcol .wpcf7-submit { width: 100%; }
	.fy-card { padding: 24px; }
	.fy-status { padding: 18px; align-items: flex-start; gap: 14px; }
	.fy-status::before { margin-top: 6px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
