/* ==========================================================================
   Eyrio theme styles.
   theme.json carries fonts, spacing and element defaults. Colours come from
   the semantic colour tokens (--color-*) that inc/colors/ prints for light
   and dark mode; use those here, never hex values (white text on photos and
   black photo shadows aside). This file adds what theme.json can't express:
   the component look from the approved v2 mockup (hero, search pill, cards,
   offers, newsletter, article layout), icon classes and responsive rules.
   Loaded on the front end and in the editor.
   ========================================================================== */
:root {
	--r-sm: 8px; --r-md: 14px; --r-lg: 20px; --r-xl: 32px; --r-full: 9999px;
	--shadow: var(--wp--preset--shadow--card);
	--shadow-lg: var(--wp--preset--shadow--float);
	--font-display: var(--wp--preset--font-family--display);
	--nav-h: 80px;
	--admin-bar: 0px;
}
.admin-bar { --admin-bar: 32px; }
@media (max-width: 782px) { .admin-bar { --admin-bar: 46px; } }
@media (max-width: 600px) { .admin-bar { --admin-bar: 0px; } }

html { scroll-padding-top: calc(var(--nav-h) + 16px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { text-wrap: balance; }
img { height: auto; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* -------- icons --------
   Any block can carry an icon: add the class "is-icon-<name>" under
   Advanced → Additional CSS class(es). Names match files in assets/icons. */
[class*="is-icon-"]::before {
	content: ""; flex: none; display: inline-block; width: 20px; height: 20px;
	background: currentColor; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
.is-icon-arrow-right { --icon: url(../icons/arrow-right.svg); }
.is-icon-calendar-check { --icon: url(../icons/calendar-check.svg); }
.is-icon-check { --icon: url(../icons/check.svg); }
.is-icon-clock { --icon: url(../icons/clock.svg); }
.is-icon-credit-card { --icon: url(../icons/credit-card.svg); }
.is-icon-headset { --icon: url(../icons/headset.svg); }
.is-icon-euro { --icon: url(../icons/euro.svg); }
.is-icon-siren { --icon: url(../icons/siren.svg); }
.is-icon-globe { --icon: url(../icons/globe.svg); }
.is-icon-gift { --icon: url(../icons/gift.svg); }
.is-icon-heart { --icon: url(../icons/heart.svg); }
.is-icon-bed-double { --icon: url(../icons/bed-double.svg); }
.is-icon-bath { --icon: url(../icons/bath.svg); }
.is-icon-house { --icon: url(../icons/house.svg); }
.is-icon-languages { --icon: url(../icons/languages.svg); }
.is-icon-mail { --icon: url(../icons/mail.svg); }
.is-icon-mail-check { --icon: url(../icons/mail-check.svg); }
.is-icon-map { --icon: url(../icons/map.svg); }
.is-icon-map-pin { --icon: url(../icons/map-pin.svg); }
.is-icon-message-circle { --icon: url(../icons/message-circle.svg); }
.is-icon-phone { --icon: url(../icons/phone.svg); }
.is-icon-plane { --icon: url(../icons/plane.svg); }
.is-icon-plus { --icon: url(../icons/plus.svg); }
.is-icon-search { --icon: url(../icons/search.svg); }
.is-icon-shield-check { --icon: url(../icons/shield-check.svg); }
.is-icon-sliders-horizontal { --icon: url(../icons/sliders-horizontal.svg); }
.is-icon-sparkles { --icon: url(../icons/sparkles.svg); }
.is-icon-star { --icon: url(../icons/star.svg); }
.is-icon-sun { --icon: url(../icons/sun.svg); }
.is-icon-thermometer-sun { --icon: url(../icons/thermometer-sun.svg); }
.is-icon-users { --icon: url(../icons/users.svg); }
.is-icon-waves { --icon: url(../icons/waves.svg); }
.is-icon-user { --icon: url(../icons/user.svg); }
.is-icon-log-out { --icon: url(../icons/log-out.svg); }
.is-icon-ticket { --icon: url(../icons/ticket.svg); }
p[class*="is-icon-"], h3[class*="is-icon-"], li[class*="is-icon-"] { display: flex; align-items: center; gap: 10px; }
.wp-block-button[class*="is-icon-"]::before { display: none; }
.wp-block-button[class*="is-icon-"] .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.wp-block-button[class*="is-icon-"] .wp-block-button__link::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }

/* -------- block style variations -------- */
.is-style-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-primary-text); }
.is-style-lede { font-size: clamp(19px, 1.6vw, 21px); line-height: 1.55; color: var(--color-text-primary); }
.is-style-chip { display: inline-flex !important; width: fit-content; align-items: center; gap: 8px; padding: 8px 14px; border-radius: var(--r-full); background: rgba(255,255,255,.18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.25); font-size: 14px; font-weight: 600; }
.is-style-chip::before { width: 16px !important; height: 16px !important; }
.wp-block-button.is-style-dark .wp-block-button__link { background: var(--color-neutral); color: var(--color-neutral-content); }
.wp-block-button.is-style-dark .wp-block-button__link:hover { background: var(--color-neutral-hover); }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--color-surface); color: var(--color-text-primary); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--color-surface-alt); color: var(--color-text-primary); }
.wp-block-button.is-style-pill .wp-block-button__link { border-radius: var(--r-full); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--color-text-primary); border: 1px solid var(--color-text-primary); padding: 12px 23px; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--color-surface-alt); color: var(--color-text-primary); }
.wp-block-button.is-style-text-link .wp-block-button__link { background: none; color: var(--color-text-primary); padding: 0; text-decoration: underline; text-underline-offset: 3px; font-size: 15px; display: inline-flex; align-items: center; gap: 6px; }
.wp-block-button.is-style-text-link .wp-block-button__link::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat; mask: url(../icons/arrow-right.svg) center / contain no-repeat; }
.wp-block-button.is-style-text-link .wp-block-button__link:hover { color: var(--color-primary-text); background: none; }
.wp-element-button:active, .wp-block-button__link:active { transform: scale(.98); }
.wp-block-group.is-style-card { border: 1px solid var(--color-border); border-radius: var(--r-lg); padding: clamp(20px, 3vw, 32px); background: var(--color-surface); }
.wp-block-group.is-style-soft { background: var(--color-surface-alt); border-radius: var(--r-lg); padding: clamp(20px, 3vw, 32px); }
.wp-block-group.is-style-floating { border: 1px solid var(--color-border); border-radius: var(--r-xl); padding: clamp(24px, 4vw, 44px); box-shadow: var(--shadow-lg); background: var(--color-surface); }
.wp-block-list.is-style-checks { list-style: none; padding-left: 0; display: flex; flex-direction: column; gap: 12px; }
.wp-block-list.is-style-checks li { display: flex; gap: 12px; align-items: flex-start; }
.wp-block-list.is-style-checks li::before { content: ""; flex: none; width: 20px; height: 20px; margin-top: .2em; background: var(--color-accent); -webkit-mask: url(../icons/check.svg) center / contain no-repeat; mask: url(../icons/check.svg) center / contain no-repeat; }
.wp-block-image.is-style-soft-corners img { border-radius: var(--r-lg); }
.wp-block-cover.is-style-rounded { border-radius: var(--r-xl); overflow: hidden; }

/* -------- header -------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--admin-bar); z-index: 50; }
.eyrio-header { background: color-mix(in srgb, var(--color-background) 96%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid color-mix(in srgb, var(--color-border) 60%, var(--color-background)); }
.eyrio-header__row { min-height: var(--nav-h); gap: 24px; }
.eyrio-brand { gap: 10px; }
.eyrio-brand .wp-block-site-logo img { max-height: 40px; width: auto; }
.eyrio-brand .wp-block-site-title { text-transform: lowercase; line-height: 1; }
.eyrio-brand .wp-block-site-title a { position: relative; display: inline-block; padding-left: 46px; color: var(--color-text-primary); }
.eyrio-brand .wp-block-site-title a::before {
	content: ""; position: absolute; left: 0; top: 50%; translate: 0 -50%; width: 36px; height: 36px; border-radius: 11px;
	background: var(--color-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='9.5' r='3.6' fill='%23fff' stroke='none'/%3E%3Cpath d='M3.5 16.5c2.2-1.6 4.4-1.6 6.6 0s4.4 1.6 6.6 0 2.6-1.2 3.8-.8'/%3E%3C/svg%3E") center / 22px no-repeat;
}
.eyrio-brand .wp-block-site-logo + .wp-block-site-title a { padding-left: 0; }
.eyrio-brand .wp-block-site-logo + .wp-block-site-title a::before { display: none; }
.eyrio-brand .wp-block-site-title a::after { content: "."; color: var(--color-accent); }
.eyrio-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--color-text-muted); padding: 10px 14px; border-radius: var(--r-full); transition: color .15s, background .15s; text-decoration: none; }
.eyrio-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.eyrio-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { color: var(--color-text-primary); background: var(--color-surface-alt); }
.eyrio-header .wp-block-navigation__container { gap: 4px; }
.eyrio-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 20px; color: var(--color-text-primary); padding: 12px 4px; }
.eyrio-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; border: 1px solid var(--color-border); border-radius: var(--r-full); place-items: center; }
@media (max-width: 599px) { .eyrio-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; } }
.eyrio-tools { gap: 8px; }
.eyrio-tool { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border-radius: var(--r-full); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text-primary); font-size: 14px; font-weight: 600; margin: 0; white-space: nowrap; }
.eyrio-tool::before { width: 16px !important; height: 16px !important; }
.eyrio-tool a { text-decoration: none; color: inherit; }
.eyrio-tool:hover { box-shadow: var(--shadow); }

/* -------- section heads -------- */
.eyrio-sec-head { gap: 24px; align-items: flex-end !important; }
.eyrio-sec-head h2 { margin-top: 8px; }
.eyrio-sec-head p:not(.is-style-eyebrow) { color: var(--color-text-muted); max-width: 56ch; margin-top: 8px; }
.eyrio-sec-head > .wp-block-group > * { margin: 0; }

/* -------- hero -------- */
.eyrio-hero.wp-block-cover { border-radius: var(--r-xl); overflow: hidden; padding: 0; align-items: flex-end; min-height: clamp(520px, 72vh, 720px); }
.eyrio-hero .wp-block-cover__image-background { animation: eyrioHeroZoom 18s ease-out both; }
@keyframes eyrioHeroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.eyrio-hero .wp-block-cover__inner-container { width: 100%; padding: 96px clamp(16px, 4vw, 48px) clamp(16px, 4vw, 40px); }
.eyrio-hero__copy { max-width: 980px; padding-inline: clamp(4px, 1vw, 16px); }
.eyrio-hero__copy h1 { font-size: var(--wp--preset--font-size--display); letter-spacing: -.028em; line-height: 1; text-shadow: 0 2px 24px rgba(0,0,0,.18); color: #fff; }
.eyrio-hero__copy p:not(.is-style-chip) { font-size: clamp(16px, 1.5vw, 19px); max-width: 52ch; opacity: .95; }
.eyrio-hero .eyrio-search { margin-top: 32px; }

/* search pill (static form until eyrio-core adds its live search block) */
.eyrio-search { max-width: 980px; color: var(--color-text-primary); }
.eyrio-search__tabs { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.eyrio-search__tabs span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: var(--r-full); background: rgba(255,255,255,.18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; font-size: 14px; font-weight: 600; }
.eyrio-search__tabs span.is-on { background: var(--color-surface); color: var(--color-text-primary); }
.eyrio-search__tabs small { font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: var(--r-full); background: rgba(255,255,255,.3); }
.eyrio-search form { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr auto; align-items: center; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--r-full); box-shadow: var(--shadow-lg); padding: 8px; margin: 0; }
.eyrio-search .seg { position: relative; padding: 8px 20px; display: flex; flex-direction: column; gap: 2px; min-width: 0; border-radius: var(--r-full); margin: 0; }
.eyrio-search .seg:hover, .eyrio-search .seg:focus-within { background: var(--color-surface-alt); }
.eyrio-search .seg + .seg::before { content: ""; position: absolute; left: 0; top: 22%; height: 56%; width: 1px; background: var(--color-border); }
.eyrio-search label { font-size: 12px; font-weight: 700; color: var(--color-text-primary); }
.eyrio-search input, .eyrio-search select { border: 0; padding: 0; background: transparent; font: inherit; font-size: 14px; color: var(--color-text-secondary); width: 100%; min-width: 0; outline: none; appearance: none; }
.eyrio-search select { cursor: pointer; }
.eyrio-search button[type=submit] { height: 52px; min-width: 52px; padding: 0 22px 0 18px; border-radius: var(--r-full); background: var(--color-primary); border: 0; color: var(--color-primary-content); display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; transition: background .15s; }
.eyrio-search button[type=submit]:hover { background: var(--color-primary-hover); }
.eyrio-search button[type=submit]::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: url(../icons/search.svg) center / contain no-repeat; mask: url(../icons/search.svg) center / contain no-repeat; }

/* -------- trust strip / features -------- */
.eyrio-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-block: 40px; border-bottom: 1px solid color-mix(in srgb, var(--color-border) 60%, var(--color-background)); }
.eyrio-trust > * { margin: 0 !important; }
.eyrio-feature { display: flex; gap: 14px; align-items: flex-start; }
.eyrio-feature::before { width: 26px !important; height: 26px !important; color: var(--color-accent); margin-top: 2px; background: var(--color-accent) !important; }
.eyrio-feature > .wp-block-group > * { margin: 0; }
.eyrio-feature strong, .eyrio-feature .eyrio-feature__title { display: block; font-size: 15px; font-weight: 700; }
.eyrio-feature p:not(.eyrio-feature__title) { font-size: 14px; color: var(--color-text-muted); }

/* -------- stay cards (static demo; eyrio-core replaces with live cards) -------- */
.eyrio-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }
.eyrio-cards > * { margin: 0 !important; }
.eyrio-stay { display: flex; flex-direction: column; gap: 12px; min-width: 0; position: relative; }
.eyrio-stay > * { margin: 0 !important; }
.eyrio-stay .wp-block-image { position: relative; }
.eyrio-stay .wp-block-image img { aspect-ratio: 20 / 19; object-fit: cover; width: 100%; border-radius: var(--r-md); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.eyrio-stay .wp-block-image { overflow: hidden; border-radius: var(--r-md); }
.eyrio-stay:hover .wp-block-image img { transform: scale(1.03); }
.eyrio-stay__badge { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--color-surface); color: var(--color-text-primary); border-radius: var(--r-full); padding: 6px 11px; font-size: 12px; font-weight: 700; box-shadow: var(--shadow); margin: 0 !important; }
.eyrio-stay__meta { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.43; }
.eyrio-stay__meta > * { margin: 0 !important; }
.eyrio-stay__meta h3 { font-family: inherit; font-size: 15px; font-weight: 700; letter-spacing: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eyrio-stay__meta h3 a { text-decoration: none; }
.eyrio-stay__meta h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.eyrio-stay__sub { color: var(--color-text-muted); }
.eyrio-stay__price { margin-top: 4px !important; }

/* -------- map band -------- */
.eyrio-mapband { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); border-radius: var(--r-xl); overflow: hidden; background: var(--color-surface-alt); }
.eyrio-mapband > * { margin: 0 !important; }
.eyrio-mapband__copy { padding: clamp(28px, 4vw, 56px); display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.eyrio-mapband__copy > * { margin: 0 !important; }
.eyrio-mapband__copy p:not(.is-style-eyebrow) { color: var(--color-text-secondary); max-width: 44ch; }
.eyrio-mapband__copy ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.eyrio-mapband__copy li { display: flex; gap: 10px; align-items: center; font-size: 15px; }
.eyrio-mapband__copy li::before { color: var(--color-accent); background: var(--color-accent) !important; }
.eyrio-mapband__map { position: relative; min-height: 420px; }
.eyrio-mapband__map img, .eyrio-mapband__map.wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }

/* -------- destinations -------- */
.eyrio-dest-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; height: clamp(420px, 46vw, 600px); }
.eyrio-dest-grid > * { margin: 0 !important; }
.eyrio-dest.wp-block-cover { border-radius: var(--r-lg); overflow: hidden; min-height: 0 !important; height: 100%; padding: 24px; align-items: flex-end; justify-content: flex-start; }
.eyrio-dest .wp-block-cover__image-background { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.eyrio-dest:hover .wp-block-cover__image-background { transform: scale(1.04); }
.eyrio-dest .wp-block-cover__inner-container { width: 100%; }
.eyrio-dest .wp-block-cover__inner-container > * { margin: 0; }
.eyrio-dest h3 { font-size: 28px; color: #fff; }
.eyrio-dest h3 a { text-decoration: none; color: inherit; }
.eyrio-dest h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.eyrio-dest p { font-size: 14px; opacity: .92; margin-top: 4px !important; }
.eyrio-dest.is-big { grid-row: span 2; padding: 36px; }
.eyrio-dest.is-big h3 { font-size: clamp(36px, 4.4vw, 64px); }
.eyrio-dest__facts { display: flex; gap: 18px; margin-top: 14px !important; flex-wrap: wrap; font-size: 14px; font-weight: 600; }
.eyrio-dest__facts > * { margin: 0 !important; display: inline-flex; align-items: center; gap: 6px; opacity: 1 !important; }
.eyrio-dest__facts > *::before { width: 16px !important; height: 16px !important; }
.eyrio-soon { position: absolute; top: 18px; left: 18px; background: var(--color-surface); color: var(--color-text-primary); border-radius: var(--r-full); padding: 6px 12px; font-size: 12px !important; font-weight: 700; opacity: 1 !important; margin: 0 !important; }
.eyrio-dest.is-soon .wp-block-cover__image-background { filter: saturate(.6); }

/* -------- offers -------- */
.eyrio-offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.eyrio-offer-grid > * { margin: 0 !important; }
.eyrio-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--color-border); background: var(--color-surface); min-height: 260px; transition: box-shadow .2s; }
.eyrio-offer:hover { box-shadow: var(--shadow-lg); }
.eyrio-offer > * { margin: 0 !important; }
.eyrio-offer__pic.wp-block-cover { min-height: 220px !important; padding: 14px; align-items: flex-start; justify-content: flex-start; }
.eyrio-offer__off { display: inline-block; background: var(--color-primary); color: var(--color-primary-content); font-weight: 800; font-size: 15px; padding: 6px 12px; border-radius: var(--r-full); margin: 0; }
.eyrio-offer__body { padding: 24px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.eyrio-offer__body > * { margin: 0 !important; }
.eyrio-offer__body h3 { font-size: 24px; letter-spacing: -.025em; line-height: 1.1; }
.eyrio-offer__body p:not(.is-style-eyebrow):not(.eyrio-offer__terms) { color: var(--color-text-secondary); font-size: 15px; }
.eyrio-offer__terms { color: var(--color-text-muted); font-size: 13px; }
.eyrio-offer__body .wp-block-buttons { margin-top: auto !important; padding-top: 8px; }

/* -------- steps -------- */
.eyrio-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: eyrio-step; }
.eyrio-steps > * { margin: 0 !important; }
.eyrio-step { padding: 28px; border-radius: var(--r-lg); background: var(--color-surface-alt); display: flex; flex-direction: column; gap: 10px; counter-increment: eyrio-step; }
.eyrio-step > * { margin: 0 !important; }
.eyrio-step::before { content: counter(eyrio-step); font-family: var(--font-display); font-weight: 700; font-size: 15px; width: 36px; height: 36px; border-radius: var(--r-full); background: var(--color-neutral); color: var(--color-neutral-content); display: grid; place-items: center; margin-bottom: 8px; }
.eyrio-step h3 { font-family: inherit; font-size: 19px; letter-spacing: 0; }
.eyrio-step p { color: var(--color-text-muted); font-size: 15px; }

/* -------- post cards (query loop) -------- */
.eyrio-posts .wp-block-post-template { gap: 40px 24px; }
.eyrio-post-card { display: flex; flex-direction: column; gap: 14px; height: 100%; }
.eyrio-post-card > * { margin: 0 !important; }
.eyrio-post-card .wp-block-post-featured-image { overflow: hidden; border-radius: var(--r-md); }
.eyrio-post-card .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.eyrio-post-card:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.eyrio-post-card .wp-block-post-title { font-size: 22px; letter-spacing: -.02em; line-height: 1.15; }
.eyrio-post-card .wp-block-post-title a:hover { color: var(--color-primary-text); }
.eyrio-post-card .wp-block-post-excerpt__excerpt { margin: 0; }
.eyrio-post-card .wp-block-post-excerpt__more-text { display: none; }
.eyrio-post-meta { gap: 10px; font-size: 13px; color: var(--color-text-muted); }
.eyrio-post-meta > * { margin: 0 !important; }
.eyrio-feature-post { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: center; }
.eyrio-feature-post > * { margin: 0 !important; }
.eyrio-feature-post .wp-block-post-featured-image { border-radius: var(--r-lg); overflow: hidden; }
.eyrio-feature-post .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.eyrio-feature-post .wp-block-post-title { font-size: clamp(30px, 3.4vw, 48px); letter-spacing: -.035em; line-height: 1.05; }
.eyrio-feature-post .wp-block-post-excerpt { font-size: 17px; color: var(--color-text-secondary); }
.eyrio-feature-post__text { display: flex; flex-direction: column; gap: 12px; }
.eyrio-feature-post__text > * { margin: 0 !important; }
.wp-block-query-pagination { gap: 8px; font-weight: 600; }
.wp-block-query-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; border-radius: var(--r-full); text-decoration: none; }
.wp-block-query-pagination .page-numbers.current { background: var(--color-neutral); color: var(--color-neutral-content); }

/* -------- newsletter -------- */
.eyrio-news.wp-block-cover { border-radius: var(--r-xl); overflow: hidden; padding: clamp(36px, 6vw, 80px); }
.eyrio-news .wp-block-cover__inner-container { width: 100%; }
.eyrio-news__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.eyrio-news__inner > * { margin: 0 !important; }
.eyrio-news h2 { font-size: clamp(30px, 3.6vw, 52px); color: #fff; line-height: 1.02; }
.eyrio-news p { opacity: .92; max-width: 42ch; margin-top: 12px; }
.eyrio-news-form { display: flex; gap: 8px; background: var(--color-surface); color: var(--color-text-primary); padding: 6px; border-radius: var(--r-full); }
.eyrio-news-form input { flex: 1; min-width: 0; border: 0; padding: 0 18px; font: inherit; font-size: 16px; outline: none; color: var(--color-text-primary); background: transparent; }
.eyrio-news-form .wp-element-button { border-radius: var(--r-full); }
.eyrio-news-done { background: var(--color-surface); color: var(--color-text-primary) !important; opacity: 1 !important; padding: 14px 20px; border-radius: var(--r-full); font-weight: 600; display: flex; gap: 10px; align-items: center; max-width: none !important; margin: 0 !important; }
.eyrio-news-done::before { content: ""; width: 20px; height: 20px; background: var(--color-success); -webkit-mask: url(../icons/check.svg) center / contain no-repeat; mask: url(../icons/check.svg) center / contain no-repeat; }
.eyrio-news-error { font-size: 14px; margin-top: 8px !important; }

/* -------- page hero, facts, areas -------- */
.eyrio-page-hero.wp-block-cover { border-radius: var(--r-xl); overflow: hidden; min-height: 440px; padding: clamp(24px, 5vw, 64px); align-items: flex-end; }
.eyrio-page-hero .wp-block-cover__inner-container { width: 100%; }
.eyrio-page-hero h1 { font-size: clamp(44px, 7vw, 96px); letter-spacing: -.03em; line-height: 1; color: #fff; }
.eyrio-page-hero p { max-width: 56ch; margin-top: 14px; font-size: 17px; opacity: .95; }
.eyrio-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.eyrio-facts > * { margin: 0 !important; }
.eyrio-fact { padding: 20px; border: 1px solid var(--color-border); border-radius: var(--r-md); display: flex; gap: 14px; align-items: center; }
.eyrio-fact::before { width: 28px !important; height: 28px !important; background: var(--color-accent) !important; }
.eyrio-fact > .wp-block-group > * { margin: 0; }
.eyrio-fact .eyrio-fact__value { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.eyrio-fact p:not(.eyrio-fact__value) { font-size: 13px; color: var(--color-text-muted); }
.eyrio-areas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.eyrio-areas > * { margin: 0 !important; }
.eyrio-area { border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--color-border); background: var(--color-surface); display: flex; flex-direction: column; transition: box-shadow .2s; position: relative; }
.eyrio-area:hover { box-shadow: var(--shadow-lg); }
.eyrio-area > * { margin: 0 !important; }
.eyrio-area .wp-block-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.eyrio-area__in { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 6px; }
.eyrio-area__in > * { margin: 0 !important; }
.eyrio-area h3 { font-size: 18px; letter-spacing: -.02em; }
.eyrio-area h3 a { text-decoration: none; }
.eyrio-area h3 a::after { content: ""; position: absolute; inset: 0; }
.eyrio-area p { font-size: 14px; color: var(--color-text-muted); }
.eyrio-area .eyrio-area__count { font-size: 13px; font-weight: 700; color: var(--color-text-primary); margin-top: 4px !important; }

/* -------- page title (plain pages, archives) -------- */
.eyrio-page-title { padding-top: 48px; }
.eyrio-page-title h1 { font-size: clamp(40px, 5.4vw, 72px); letter-spacing: -.045em; line-height: 1; }
.eyrio-page-title p:not(.is-style-eyebrow) { color: var(--color-text-secondary); font-size: 18px; max-width: 60ch; }

/* -------- article -------- */
.eyrio-article-hero { text-align: center; padding-top: 40px; }
.eyrio-article-hero h1 { font-size: clamp(36px, 5vw, 64px); letter-spacing: -.04em; line-height: 1.02; }
.eyrio-article-hero .eyrio-post-meta { justify-content: center; font-size: 14px; }
.eyrio-article-cover img { aspect-ratio: 21 / 9; object-fit: cover; width: 100%; border-radius: var(--r-xl); }
.eyrio-prose { font-size: 18px; line-height: 1.7; color: var(--color-text-secondary); }
.eyrio-prose > * + * { margin-top: 22px; }
.eyrio-prose h2 { font-size: 30px; letter-spacing: -.025em; line-height: 1.15; margin-top: 48px; }
.eyrio-prose h3 { margin-top: 36px; }
.eyrio-prose .wp-block-quote { margin-block: 40px; }
.eyrio-prose .wp-block-quote p { color: var(--color-text-primary); }
.eyrio-prose ul:not(.is-style-checks) { padding-left: 1.2em; }
.eyrio-prose a { color: var(--color-primary-text); }
.eyrio-share-row { padding-top: 24px; border-top: 1px solid var(--color-border); gap: 16px; }
.eyrio-author { gap: 12px; font-size: 14px; }
.eyrio-author .wp-block-avatar img { border-radius: 50%; }
.eyrio-author .wp-block-post-author-name { font-weight: 700; }

/* -------- contact -------- */
.eyrio-contact-card { display: flex; gap: 16px; padding: 20px; border: 1px solid var(--color-border); border-radius: var(--r-md); align-items: center; }
.eyrio-contact-card::before { width: 48px !important; height: 48px !important; border-radius: var(--r-md); background: var(--color-primary-subtle) !important; -webkit-mask: none !important; mask: none !important; }
.eyrio-contact-card { --icon-color: var(--color-accent); }
.eyrio-contact-card { position: relative; }
.eyrio-contact-card::after { content: ""; position: absolute; left: 32px; top: 50%; translate: 0 -50%; width: 24px; height: 24px; background: var(--color-accent); -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.eyrio-contact-card > .wp-block-group > * { margin: 0; }
.eyrio-contact-card strong { display: block; font-size: 15px; }
.eyrio-contact-card p { font-size: 15px; color: var(--color-text-secondary); }
.eyrio-contact-card .eyrio-small { font-size: 13px; color: var(--color-text-muted); }
.eyrio-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.eyrio-form .is-full { grid-column: 1 / -1; }
.eyrio-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; border: 0; padding: 0; }
.eyrio-field label, .eyrio-field legend { font-size: 14px; font-weight: 600; padding: 0; margin-bottom: 6px; }
.eyrio-field label small { color: var(--color-text-muted); font-weight: 400; }
.eyrio-field input, .eyrio-field select, .eyrio-field textarea { min-height: 56px; border: 1px solid var(--color-border-strong); border-radius: var(--r-sm); padding: 14px; font: inherit; font-size: 16px; background: var(--color-surface); width: 100%; color: var(--color-text-primary); }
.eyrio-field textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.eyrio-field input:focus, .eyrio-field textarea:focus { outline: none; border-color: var(--color-text-primary); box-shadow: inset 0 0 0 1px var(--color-text-primary); }
.eyrio-field .wp-element-button { width: 100%; height: 52px; padding: 0 24px; cursor: pointer; }
.eyrio-topics { display: flex; gap: 8px; flex-wrap: wrap; }
.eyrio-chip-radio { position: relative; margin: 0 !important; font-weight: 600 !important; }
.eyrio-chip-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.eyrio-chip-radio span { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: var(--r-full); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text-primary); font-size: 14px; cursor: pointer; }
.eyrio-chip-radio span:hover { border-color: var(--color-text-primary); }
.eyrio-chip-radio input:checked + span { background: var(--color-neutral); border-color: var(--color-neutral); color: var(--color-neutral-content); }
.eyrio-chip-radio input:focus-visible + span { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.eyrio-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.eyrio-form-error { grid-column: 1 / -1; color: var(--color-error); font-size: 14px; margin: 0; }
.eyrio-form-sent { text-align: center; padding: 40px 8px; }
.eyrio-form-sent h2 { font-size: 26px; margin-top: 18px; }
.eyrio-form-sent p { color: var(--color-text-secondary); margin-top: 8px; }
.eyrio-tick { width: 64px; height: 64px; border-radius: 50%; background: var(--color-success); display: inline-grid; place-items: center; position: relative; }
.eyrio-tick::after { content: ""; width: 32px; height: 32px; background: var(--color-success-content); -webkit-mask: url(../icons/check.svg) center / contain no-repeat; mask: url(../icons/check.svg) center / contain no-repeat; }

/* -------- FAQ (Details block) -------- */
.eyrio-faq .wp-block-details { border-bottom: 1px solid var(--color-border); padding-block: 0; margin: 0 !important; }
.eyrio-faq .wp-block-details summary { list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 22px 0; font-size: 18px; font-weight: 600; cursor: pointer; }
.eyrio-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.eyrio-faq .wp-block-details summary::after { content: ""; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: url(../icons/plus.svg) center / contain no-repeat; mask: url(../icons/plus.svg) center / contain no-repeat; transition: transform .2s; }
.eyrio-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.eyrio-faq .wp-block-details > p { padding: 0 0 22px; color: var(--color-text-secondary); max-width: 68ch; margin: 0; }

/* -------- footer -------- */
.eyrio-footer { border-top: 1px solid color-mix(in srgb, var(--color-border) 60%, var(--color-background)); }
.eyrio-footer .eyrio-foot-cols { gap: 32px; }
.eyrio-footer h2, .eyrio-footer h4 { font-family: inherit; font-size: 14px; font-weight: 700; letter-spacing: 0; margin-bottom: 14px; }
.eyrio-footer .wp-block-navigation { font-size: 14px; font-weight: 400; }
.eyrio-footer .wp-block-navigation__container { gap: 10px; }
.eyrio-footer .wp-block-navigation-item__content { color: var(--color-text-primary); text-decoration: none; padding: 0; }
.eyrio-footer .wp-block-navigation-item__content:hover { text-decoration: underline; color: var(--color-text-primary); }
.eyrio-footer .eyrio-about > p { color: var(--color-text-muted); font-size: 14px; max-width: 34ch; }
.eyrio-footer .eyrio-contact-list a { text-decoration: none; }
.eyrio-footer .eyrio-contact-list a:hover { text-decoration: underline; color: var(--color-text-primary); }
.eyrio-footer .eyrio-contact-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; margin: 0; }
.eyrio-footer .eyrio-contact-list li::before { width: 16px; height: 16px; }
.eyrio-footer .eyrio-contact-list a { color: inherit; text-decoration: none; }
.eyrio-social { display: flex; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.eyrio-social a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--color-border); border-radius: var(--r-full); background: var(--color-surface); color: var(--color-text-primary); }
.eyrio-social a:hover { color: var(--color-primary-text); box-shadow: var(--shadow); }
.eyrio-legal { border-top: 1px solid var(--color-border); padding-block: 22px; gap: 16px; color: var(--color-text-muted); font-size: 13px; }
.eyrio-legal a { text-decoration: none; color: inherit; }
.eyrio-legal a:hover { text-decoration: underline; }
.eyrio-legal > * { margin: 0; }
.eyrio-pay-icons { display: flex; gap: 6px; align-items: center; }
.eyrio-pay-icons span { border: 1px solid var(--color-border); background: var(--color-surface); border-radius: 5px; padding: 3px 7px; font-size: 10px; font-weight: 800; letter-spacing: .03em; color: var(--color-text-secondary); }

/* -------- photo credits (shortcode) -------- */
.eyrio-credits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 0; }
.eyrio-credits li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; font-size: 13px; color: var(--color-text-muted); }
.eyrio-credits img { width: 72px; height: 54px; object-fit: cover; border-radius: 6px; }
.eyrio-credits b { color: var(--color-text-primary); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* -------- WooCommerce (checkout, cart, account) -------- */
.woocommerce .wc-block-components-button:not(.is-link),
.woocommerce a.button, .woocommerce button.button { background: var(--color-primary); color: var(--color-primary-content); border-radius: var(--r-sm); font-weight: 600; }
.woocommerce .wc-block-components-button:not(.is-link):hover,
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--color-primary-hover); color: var(--color-primary-content); }
.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-blocks-components-select select { border-radius: var(--r-sm) !important; border-color: var(--color-border-strong) !important; }
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper, .wp-block-woocommerce-checkout-order-summary-block { border-radius: var(--r-lg); }
.wp-block-woocommerce-checkout-order-summary-block { border: 1px solid var(--color-border); padding: 8px 4px; }
.wc-block-components-checkout-place-order-button { height: 56px; font-size: 16px; }

/* Guest's view of a conversation with Eyrio ([eyrio_conversation]). */
.eyrio-convo-page { max-width: 720px; }
.eyrio-convo-page__topic { margin: 0 0 16px; color: var(--color-text-muted); font-weight: 600; }
.eyrio-convo { margin: 0 0 24px; padding: 0; list-style: none; display: grid; gap: 12px; }
.eyrio-convo__item { max-width: 85%; padding: 14px 18px; border-radius: var(--r-md); background: var(--color-surface-alt); }
.eyrio-convo__item.is-staff { justify-self: end; background: var(--color-primary-subtle); }
.eyrio-convo__meta { margin: 0 0 6px; color: var(--color-text-muted); font-size: 13px; }
.eyrio-convo__meta strong { color: var(--color-text-primary); }
.eyrio-convo__text p { margin: 0 0 8px; }
.eyrio-convo__text p:last-child { margin-bottom: 0; }
.eyrio-convo-page__closed, .eyrio-form-sent-inline { padding: 12px 16px; border-radius: var(--r-sm); background: var(--color-surface-alt); }
.eyrio-form-sent-inline { background: var(--color-success-subtle); color: var(--color-success-subtle-content); font-weight: 600; }

/* Header: WooCommerce account and cart icons sit with the language pill. */
.eyrio-tools .wc-block-customer-account a,
.eyrio-tools .wc-block-mini-cart__button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--color-border); border-radius: var(--r-full); background: var(--color-surface); color: var(--color-text-primary); }
.eyrio-tools .wc-block-customer-account a:hover,
.eyrio-tools .wc-block-mini-cart__button:hover { box-shadow: var(--shadow); }
.eyrio-tools .wc-block-customer-account svg { width: 20px; height: 20px; }
.eyrio-tools .wc-block-mini-cart__quantity-badge { position: relative; }
.eyrio-tools .wc-block-mini-cart__badge { background: var(--color-primary); color: var(--color-primary-content); }

/* Account pages: navigation beside the content, cards in the design system. */
a.wp-element-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.wp-element-button.is-style-outline { background: var(--color-surface); color: var(--color-text-primary); box-shadow: inset 0 0 0 1px var(--color-text-primary); }
.wp-element-button.is-style-outline:hover { background: var(--color-surface-alt); color: var(--color-text-primary); }
/* Boxed lines up with the header; full reaches the page gutters. */
.woocommerce-account .wp-block-post-content > .woocommerce { max-width: var(--wp--style--global--wide-size, 1360px); margin-inline: auto; }
.woocommerce-account.eyrio-account-full .wp-block-post-content > .woocommerce,
.woocommerce-account.eyrio-account-full main > .eyrio-page-title { max-width: none; }
.eyrio-account { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.eyrio-account__nav { position: sticky; top: calc(var(--nav-h) + var(--admin-bar) + 24px); padding: 8px; border: 1px solid var(--color-border); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.eyrio-account__nav ul { margin: 0; padding: 0; list-style: none; display: grid; align-content: start; gap: 2px; }
.woocommerce-account .eyrio-account__nav ul { margin: 0; }
.woocommerce-account .eyrio-account__nav li { display: block; margin: 0; padding: 0; }
.woocommerce-account .eyrio-account__nav li a,
.woocommerce-account .eyrio-account__nav li a:hover { text-decoration: none; }
.eyrio-account__nav a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--r-md); color: var(--color-text-secondary); font-weight: 500; text-decoration: none; }
.eyrio-account__nav a:hover { background: var(--color-surface-alt); color: var(--color-text-primary); text-decoration: none; }
.eyrio-account__nav a[aria-current="page"] { background: var(--color-surface-strong); color: var(--color-text-primary); font-weight: 700; }
.eyrio-account__nav a[aria-current="page"]::before { background: var(--color-primary-text); }
.woocommerce-account .eyrio-account__nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid color-mix(in srgb, var(--color-border) 60%, var(--color-background)); }
.eyrio-account__content > :first-child { margin-top: 0; }
.eyrio-account__hello h2 { margin: 0 0 6px; font-size: clamp(26px, 3vw, 34px); }
.eyrio-account__hello p { margin: 0 0 32px; color: var(--color-text-muted); }
.eyrio-account__section { margin-bottom: 32px; }
.eyrio-account__label { margin: 0 0 14px; font-size: 18px; }
.eyrio-account__empty { padding: 32px; border: 1px dashed var(--color-border-strong); border-radius: var(--r-lg); text-align: center; }
.eyrio-account__empty p { margin: 0 0 6px; }
.eyrio-account__empty p + p { color: var(--color-text-muted); margin-bottom: 18px; }
.eyrio-account__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.eyrio-account__tiles a { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 2px 14px; align-items: center; padding: 18px 20px; border: 1px solid var(--color-border); border-radius: var(--r-md); color: var(--color-text-primary); text-decoration: none; transition: box-shadow .15s; }
.eyrio-account__tiles a::before { grid-row: span 2; width: 24px; height: 24px; color: var(--color-primary-text); }
.eyrio-account__tiles a:hover { box-shadow: var(--shadow); }
.eyrio-account__tiles span { color: var(--color-text-muted); font-size: 14px; }
.eyrio-account__list { display: grid; gap: 16px; }
.eyrio-account__list .eyrio-trip + .eyrio-trip { margin-top: 0; }
.eyrio-account__paging { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.eyrio-account__back { margin: 0 0 20px; }
.eyrio-account__back a { color: var(--color-text-primary); font-weight: 600; text-decoration: none; }
.eyrio-account__back a:hover { text-decoration: underline; }
.eyrio-order-line { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 18px 20px; border: 1px solid var(--color-border); border-radius: var(--r-md); }
.eyrio-order-line span { display: block; color: var(--color-text-muted); font-size: 14px; }
.eyrio-order-line .eyrio-order-line__total { color: var(--color-text-primary); font-weight: 700; }
.eyrio-order-line a { color: var(--color-text-primary); font-weight: 600; }

.eyrio-account-form { display: grid; gap: 24px; max-width: 720px; }
.eyrio-account-form__card,
.eyrio-login__card { padding: 28px; border: 1px solid var(--color-border); border-radius: var(--r-lg); background: var(--color-surface); }
.eyrio-account-form__card h2,
.eyrio-login__card h2 { margin: 0 0 18px; font-size: 22px; }
.eyrio-account-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.eyrio-account-form .form-row,
.eyrio-login .form-row,
.eyrio-login__card .form-row { float: none; width: auto; margin: 0 0 16px; padding: 0; }
.eyrio-account-form__grid .form-row { margin: 0; }
.eyrio-account-form .form-row.is-full { grid-column: 1 / -1; }
.woocommerce-account .form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--color-text-primary); }
.woocommerce-account .form-row .input-text { width: 100%; height: 52px; padding: 0 14px; border: 1px solid var(--color-border-strong); border-radius: var(--r-sm); background: var(--color-surface); font: inherit; font-size: 16px; color: var(--color-text-primary); }
.woocommerce-account .form-row .input-text:focus { outline: 2px solid var(--color-text-primary); outline-offset: 0; border-color: var(--color-text-primary); }
.eyrio-account-form__help { display: block; margin: 6px 0 0; color: var(--color-text-muted); font-size: 14px; }
.eyrio-account-form__card > .eyrio-account-form__help { margin: -8px 0 18px; }
.eyrio-account-form__submit { margin: 0; }
.woocommerce-account .woocommerce button.button.wp-element-button,
.woocommerce-account .woocommerce .wp-element-button { min-height: 52px; padding: 0 28px; border: 0; border-radius: var(--r-sm); font-size: 16px; }
.woocommerce-account .woocommerce .wp-element-button.is-style-outline { background: var(--color-surface); color: var(--color-text-primary); box-shadow: inset 0 0 0 1px var(--color-text-primary); }
.woocommerce-account .woocommerce .wp-element-button.is-style-outline:hover { background: var(--color-surface-alt); color: var(--color-text-primary); }

.eyrio-login { display: grid; gap: 24px; max-width: 480px; margin-inline: auto; }
.eyrio-login.has-register { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 960px; }
.eyrio-login__card { box-shadow: var(--shadow-lg); }
.eyrio-login__card.is-narrow { max-width: 480px; margin-inline: auto; }
.eyrio-login__card .wp-element-button { width: 100%; }
.woocommerce .eyrio-login__card form.login,
.woocommerce .eyrio-login__card form.register,
.woocommerce form.eyrio-login__card.lost_reset_password { margin: 0; border: 0; border-radius: 0; padding: 0; }
.woocommerce form.eyrio-login__card.lost_reset_password { padding: 28px; border: 1px solid var(--color-border); border-radius: var(--r-lg); }
.woocommerce-account .eyrio-login__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.eyrio-login__row label { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; font-weight: 500 !important; }
.eyrio-login__lost { color: var(--color-text-primary); font-size: 14px; font-weight: 600; }
.eyrio-login__find { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 20px 24px; border-radius: var(--r-lg); background: var(--color-surface-alt); }
.eyrio-login__find > span::before { width: 28px; height: 28px; color: var(--color-primary-text); }
.eyrio-login__find p { margin: 2px 0 0; color: var(--color-text-muted); font-size: 14px; }
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info { border-radius: var(--r-md); }

@media (max-width: 880px) {
	.eyrio-account { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.eyrio-account__nav { position: static; padding: 0; border: 0; box-shadow: none; }
	.eyrio-account__nav ul { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
	.eyrio-account__nav li { flex: none; }
	.eyrio-account__nav a { padding: 10px 16px; border: 1px solid var(--color-border); border-radius: var(--r-full); white-space: nowrap; }
	.woocommerce-account .eyrio-account__nav .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
	.eyrio-login.has-register { grid-template-columns: minmax(0, 1fr); max-width: 480px; }
}
@media (max-width: 600px) {
	.eyrio-account__tiles, .eyrio-account-form__grid { grid-template-columns: minmax(0, 1fr); }
	.eyrio-account-form__card, .eyrio-login__card { padding: 20px; }
	.eyrio-login__find { grid-template-columns: minmax(0, 1fr); }
	.eyrio-login__find > span { display: none; }
	.eyrio-order-line { grid-template-columns: minmax(0, 1fr) auto; }
}

/* -------- motion -------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1240px) {
	.eyrio-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.eyrio-header .wp-block-navigation .wp-block-navigation-item__content { padding: 10px; font-size: 14px; }
}
@media (max-width: 1080px) {
	.eyrio-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eyrio-offer-grid { grid-template-columns: minmax(0, 1fr); }
	.eyrio-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eyrio-tool.hide-md { display: none; }
}
@media (max-width: 880px) {
	.eyrio-cards, .eyrio-areas, .eyrio-steps, .eyrio-credits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eyrio-posts .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eyrio-mapband { grid-template-columns: minmax(0, 1fr); }
	.eyrio-mapband__map { min-height: 360px; }
	.eyrio-dest-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; height: auto; }
	.eyrio-dest.wp-block-cover { min-height: 260px !important; }
	.eyrio-dest.is-big { grid-column: 1 / -1; grid-row: auto; min-height: 420px !important; }
	.eyrio-feature-post, .eyrio-news__inner { grid-template-columns: minmax(0, 1fr); }
	.eyrio-footer .eyrio-foot-cols { flex-wrap: wrap !important; }
	.eyrio-footer .eyrio-foot-cols > .wp-block-column { flex-basis: 40% !important; }
}
@media (max-width: 744px) {
	:root { --nav-h: 68px; }
	.eyrio-tool.hide-sm { display: none; }
	.eyrio-search form { grid-template-columns: minmax(0, 1fr); border-radius: var(--r-lg); }
	.eyrio-search .seg { padding: 10px 14px; border-radius: var(--r-sm); }
	.eyrio-search .seg + .seg::before { left: 14px; right: 14px; top: 0; height: 1px; width: auto; }
	.eyrio-search button[type=submit] { width: 100%; border-radius: var(--r-sm); margin-top: 6px; height: 48px; }
	.eyrio-search__tabs small { display: none; }
	.eyrio-hero.wp-block-cover { min-height: 0; }
	.eyrio-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.65) 100%) !important; opacity: 1 !important; }
	.eyrio-trust { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 28px; }
	.eyrio-form { grid-template-columns: minmax(0, 1fr); }
	.eyrio-page-hero.wp-block-cover { min-height: 360px; }
	.eyrio-news-form { flex-direction: column; border-radius: var(--r-md); }
	.eyrio-news-form input { height: 48px; }
	.eyrio-footer .eyrio-foot-cols > .wp-block-column { flex-basis: 100% !important; }
}
@media (max-width: 560px) {
	.eyrio-cards, .eyrio-areas, .eyrio-steps, .eyrio-credits, .eyrio-dest-grid, .eyrio-facts { grid-template-columns: minmax(0, 1fr); }
	.eyrio-posts .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr); }
	.eyrio-offer { grid-template-columns: minmax(0, 1fr); }
}

/* consent checkbox on the contact form */
.eyrio-consent label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400 !important; font-size: 14px !important; color: var(--color-text-secondary); cursor: pointer; margin: 8px 0 0 !important; }
.eyrio-consent input { width: 20px !important; height: 20px; min-height: 0 !important; accent-color: var(--color-text-primary); margin: 2px 0 0; flex: none; padding: 0 !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border-radius: var(--r-full); padding: 9px 18px; font-size: 14px; }

/* -------- template helpers -------- */
.eyrio-hero + .eyrio-trust { margin-block-start: 0 !important; }
.eyrio-stack.is-layout-constrained > * + * { margin-block-start: var(--wp--preset--spacing--70); }
.eyrio-stack.is-layout-constrained > .eyrio-page-hero + .eyrio-facts { margin-block-start: 24px; }
.eyrio-cat-chips { list-style: none; padding: 0; margin: 8px 0 0; display: flex; gap: 8px; flex-wrap: wrap; }
.eyrio-cat-chips li { margin: 0; }
.eyrio-cat-chips a { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: var(--r-full); border: 1px solid var(--color-border); background: var(--color-surface); font-size: 14px; font-weight: 600; text-decoration: none; }
.eyrio-cat-chips a:hover { border-color: var(--color-text-primary); color: var(--color-text-primary); }
.eyrio-cat-chips .current-cat a { background: var(--color-neutral); border-color: var(--color-neutral); color: var(--color-neutral-content); }
.eyrio-page-hero .wp-block-post-title { font-size: clamp(44px, 7vw, 96px); letter-spacing: -.03em; line-height: 1; color: #fff; }
.eyrio-page-hero .wp-block-post-excerpt { font-size: 17px; max-width: 56ch; margin-top: 14px; }
.eyrio-search-inline { max-width: 560px; }
.eyrio-search-inline .wp-block-search__input { border-radius: var(--r-full); border-color: var(--color-border-strong); padding: 12px 18px; }
.eyrio-read-time { white-space: nowrap; }
.eyrio-post-meta .wp-block-post-date { display: inline-flex; }
.eyrio-form *, .eyrio-news-form *, .eyrio-search * { box-sizing: border-box; }
.eyrio-form > * { min-width: 0; }

/* -------- property pages (blocks come from the eyrio-core plugin) -------- */
.eyrio-prop-cols { max-width: 1180px; margin-inline: auto; }
.eyrio-prop-about h2, .eyrio-prop-rules h2 { font-size: clamp(19px, 2vw, 23px); margin-bottom: 4px; }
.eyrio-prop-about, .eyrio-prop-rules { padding-bottom: 28px; border-bottom: 1px solid var(--color-surface-strong); }
.eyrio-prop-about .wp-block-post-content p { margin-bottom: 16px; }
.eyrio-prop-rules h3 { font-family: var(--wp--preset--font-family--body); font-size: 15px; font-weight: 700; letter-spacing: 0; }
.eyrio-prop-rules .wp-block-columns { margin-top: 8px; gap: 24px; }
@media (max-width: 880px) {
	.eyrio-prop-cols { display: flex; flex-direction: column; }
	.eyrio-prop-cols > .wp-block-column { flex-basis: auto !important; }
}
