/*
 * Editorial layer for the v2 detail pages (news, tour, offer, room).
 * Loaded after homev2.css by main_v2.php. Plain CSS on purpose: the Tailwind
 * source for homev2.css is not in the repo, so new utilities can't be built.
 * The prose rules also neutralise the inline styles the CMS editor leaves
 * behind (font-size:120%, text-align:justify, <span style="font-weight:400">).
 */

:root {
    --ed-ink: #211F1E;
    --ed-text: #3b3835;
    --ed-muted: #7a746d;
    --ed-accent: #EF4123;
    --ed-olive: #3A4125;
    --ed-paper: #FBF8F3;
    --ed-rule: #E7E1D8;
    --ed-serif: 'Noto Serif Display', 'Times New Roman', Times, serif;
    --ed-wide: 1040px;
}

.ed-page { background: var(--ed-paper); overflow-x: clip; }

/* ── Reading progress ─────────────────────────────────────────────── */
.ed-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--ed-accent); z-index: 120; transition: width .1s linear; }

/* ── Hero ─────────────────────────────────────────────────────────── */
.ed-hero { position: relative; min-height: min(84vh, 800px); display: flex; align-items: flex-end; background: var(--ed-ink); color: #fff; overflow: hidden; isolation: isolate; }
.ed-hero__media, .ed-hero__media > * { position: absolute; inset: 0; }
.ed-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ed-hero__media > img, .ed-hero__slide img { animation: ed-zoom 16s ease-out both; }
.ed-hero__slide { transition: opacity 1.2s ease; }
.ed-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(180deg, rgba(20,18,17,.55) 0%, rgba(20,18,17,0) 22%, rgba(20,18,17,0) 42%, rgba(20,18,17,.78) 82%, rgba(20,18,17,.92) 100%); }
.ed-hero__inner { position: relative; z-index: 2; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px 64px; }
.ed-hero__eyebrow { display: flex; align-items: center; gap: 14px; font-size: 12px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: #fff; margin-bottom: 22px; }
.ed-hero__eyebrow::before { content: ""; width: 44px; height: 2px; background: var(--ed-accent); flex: none; }
.ed-hero__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(2.3rem, 5.4vw, 4.8rem); line-height: 1.06; letter-spacing: -.01em; max-width: 20ch; margin: 0; text-wrap: balance; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.ed-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 26px; font-size: 13px; letter-spacing: .04em; color: rgba(255,255,255,.82); }
.ed-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }
.ed-hero__meta i { color: var(--ed-accent); font-size: 12px; }
.ed-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--ed-accent); color: #fff; }
.ed-badge--muted { background: rgba(255,255,255,.16); backdrop-filter: blur(6px); }
.ed-back { position: absolute; z-index: 3; top: 28px; left: 24px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 18px 9px 14px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; background: rgba(20,18,17,.28); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); text-decoration: none; transition: background .25s, border-color .25s; }
.ed-back:hover { background: rgba(20,18,17,.55); border-color: #fff; color: #fff; }
.ed-back i { font-size: 11px; transition: transform .25s; }
.ed-back:hover i { transform: translateX(-3px); }
.ed-scroll { position: absolute; z-index: 2; right: 32px; bottom: 36px; width: 1px; height: 64px; background: rgba(255,255,255,.28); overflow: hidden; }
.ed-scroll::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #fff; animation: ed-scroll 2.2s ease-in-out infinite; }
.ed-hero__controls { position: absolute; z-index: 3; right: 72px; bottom: 40px; display: flex; align-items: center; gap: 18px; }
.ed-hero__controls button { background: none; border: 0; padding: 0; cursor: pointer; }
.ed-hero__controls .v2-hero-prev, .ed-hero__controls .v2-hero-next { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.4) !important; border-radius: 50%; color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background .25s; }
.ed-hero__controls .v2-hero-prev:hover, .ed-hero__controls .v2-hero-next:hover { background: rgba(255,255,255,.15); }
.ed-hero__dots { display: flex; align-items: center; gap: 6px; }
.ed-hero__dots .v2-hero-dot { height: 2px; border-radius: 2px; transition: width .5s, background .5s; }

@keyframes ed-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes ed-scroll { 0% { top: -40%; } 100% { top: 100%; } }

/* ── Layout ───────────────────────────────────────────────────────── */
.ed-body { padding: 88px 24px 96px; }
.ed-column { max-width: 720px; margin: 0 auto; }
.ed-split { max-width: 1200px; margin: 0 auto; display: grid; gap: 64px; }
@media (min-width: 1024px) { .ed-split { grid-template-columns: minmax(0, 1fr) 340px; gap: 88px; } }
.ed-intro { font-family: var(--ed-serif); font-size: clamp(1.35rem, 2.2vw, 1.7rem); line-height: 1.5; color: var(--ed-ink); font-style: italic; margin: 0 0 48px; padding-bottom: 40px; border-bottom: 1px solid var(--ed-rule); }

/* ── Prose (CMS rich text) ────────────────────────────────────────── */
.ed-prose { font-size: 1.125rem; line-height: 1.85; color: var(--ed-text); font-weight: 400; overflow-wrap: break-word; }
.ed-prose > * { margin: 0; }
.ed-prose > * + * { margin-top: 1.3em; }
.ed-prose p[style], .ed-prose li[style], .ed-prose div[style] { font-size: inherit !important; text-align: left !important; font-weight: inherit !important; }
.ed-prose span[style*="font-weight"] { font-weight: inherit !important; }
.ed-prose strong, .ed-prose b { color: var(--ed-ink); font-weight: 600; }
.ed-prose a { color: var(--ed-ink); text-decoration: underline; text-decoration-color: var(--ed-accent); text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .2s; }
.ed-prose a:hover { color: var(--ed-accent); }
.ed-prose h1, .ed-prose h2 { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.65rem, 2.8vw, 2.25rem); line-height: 1.2; color: var(--ed-ink); margin-top: 2.2em; letter-spacing: -.005em; }
.ed-prose h1::before, .ed-prose h2::before { content: ""; display: block; width: 48px; height: 2px; background: var(--ed-accent); margin-bottom: .85em; }
.ed-prose h3, .ed-prose h4, .ed-prose .ed-subhead { font-family: var(--ed-serif); font-weight: 600; font-size: 1.4rem; line-height: 1.3; color: var(--ed-ink); margin-top: 2em; }
.ed-prose h2 strong, .ed-prose h3 strong, .ed-prose .ed-subhead strong { font-weight: inherit; }
.ed-prose .ed-lead { font-size: 1.28rem; line-height: 1.75; color: var(--ed-ink); }
.ed-prose .ed-lead::first-letter { font-family: var(--ed-serif); float: left; font-size: 4.4em; line-height: .8; font-weight: 600; color: var(--ed-accent); padding: .08em .12em 0 0; }
.ed-prose ul, .ed-prose ol, .ed-prose ul[style], .ed-prose ol[style] { padding: 0; list-style: none !important; }
.ed-prose li { position: relative; padding-left: 1.9em; }
.ed-prose li + li { margin-top: .55em; }
.ed-prose ul > li::before { content: ""; position: absolute; left: .2em; top: .92em; width: .9em; height: 1px; background: var(--ed-accent); }
.ed-prose ol { counter-reset: ed; }
.ed-prose ol > li { counter-increment: ed; }
.ed-prose ol > li::before { content: counter(ed, decimal-leading-zero); position: absolute; left: 0; top: .1em; font-family: var(--ed-serif); font-size: .9em; color: var(--ed-accent); font-weight: 600; }
.ed-prose blockquote { position: relative; margin: 2.2em 0; padding: .4em 0 .4em 1.4em; border-left: 2px solid var(--ed-accent); font-family: var(--ed-serif); font-style: italic; font-size: 1.45rem; line-height: 1.5; color: var(--ed-ink); }
.ed-prose hr { border: 0; height: 1px; background: var(--ed-rule); margin: 3em auto; width: 120px; }
.ed-prose sup { font-size: .6em; }
/* Images: full width of the column until the script wraps them as figures. */
.ed-prose img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.ed-figure { margin-top: 2.6em !important; margin-bottom: 2.6em !important; width: min(100vw, var(--ed-wide)); margin-left: calc(50% - min(50vw, calc(var(--ed-wide) / 2))); }
.ed-figure img, .ed-gallery img { width: 100%; height: auto; cursor: zoom-in; }
.ed-figure img { border-radius: 2px; }
.ed-caption { margin-top: .9em !important; font-size: .85rem !important; line-height: 1.5; color: var(--ed-muted); text-align: center !important; font-style: italic; }
.ed-caption a { color: inherit; }
.ed-figure + .ed-caption { margin-top: -1.6em !important; }
.ed-gallery { margin-top: 2.6em !important; margin-bottom: 2.6em !important; width: min(100vw, var(--ed-wide)); margin-left: calc(50% - min(50vw, calc(var(--ed-wide) / 2))); display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.ed-gallery > figure { margin: 0; overflow: hidden; background: #e9e4dc; aspect-ratio: 3 / 2; }
.ed-gallery > figure.ed-span { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.ed-gallery img { height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.ed-gallery > figure:hover img { transform: scale(1.04); }
/* Two-column pages (room): images stay inside the text column. */
.ed-split .ed-figure, .ed-split .ed-gallery { width: 100%; margin-left: 0; }
.ed-table { overflow-x: auto; margin-top: 1.6em; }
.ed-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.5; background: #fff; }
.ed-prose td, .ed-prose th { padding: .85em 1em; border-bottom: 1px solid var(--ed-rule); vertical-align: top; text-align: left; }
.ed-prose tr:first-child td { background: var(--ed-ink); color: #fff; }
.ed-prose tr:first-child td strong { color: #fff; }
.ed-prose td p { margin: 0 !important; }
@media (max-width: 640px) {
    .ed-prose { font-size: 1.05rem; }
    .ed-gallery { grid-template-columns: 1fr; gap: 6px; }
    .ed-gallery > figure, .ed-gallery > figure.ed-span { aspect-ratio: 3 / 2; }
}

/* ── Share / signature row ────────────────────────────────────────── */
.ed-sign { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--ed-rule); font-size: 13px; color: var(--ed-muted); letter-spacing: .04em; }
.ed-sign__logo { font-family: var(--ed-serif); font-style: italic; font-size: 1.2rem; color: var(--ed-ink); }
.ed-share { display: flex; align-items: center; gap: 10px; }
.ed-share a, .ed-share button { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--ed-rule); display: inline-flex; align-items: center; justify-content: center; color: var(--ed-ink); background: #fff; cursor: pointer; transition: all .25s; font-size: 14px; }
.ed-share a:hover, .ed-share button:hover { background: var(--ed-ink); border-color: var(--ed-ink); color: #fff; }

/* ── Call to action ───────────────────────────────────────────────── */
.ed-cta { position: relative; margin-top: 88px; padding: 64px 40px; background: var(--ed-olive); color: #fff; text-align: center; overflow: hidden; }
.ed-cta::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.18); pointer-events: none; }
.ed-cta__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.ed-cta__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.2; margin: 14px auto 28px; max-width: 22ch; text-wrap: balance; }
.ed-btn { display: inline-flex; align-items: center; gap: 12px; padding: 16px 30px; background: var(--ed-accent); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background .25s, gap .25s; border: 0; cursor: pointer; }
.ed-btn:hover { background: #d8361a; color: #fff; gap: 18px; }
.ed-btn--ghost { background: transparent; color: var(--ed-ink); border: 1px solid var(--ed-ink); }
.ed-btn--ghost:hover { background: var(--ed-ink); color: #fff; }
.ed-btn--block { width: 100%; justify-content: center; }

/* ── Sticky aside card (room detail) ──────────────────────────────── */
.ed-card { position: sticky; top: 96px; background: #fff; border: 1px solid var(--ed-rule); padding: 34px 30px; }
.ed-card__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--ed-accent); }
.ed-card__title { font-family: var(--ed-serif); font-weight: 600; font-size: 1.6rem; line-height: 1.25; color: var(--ed-ink); margin: 10px 0 22px; }
.ed-card__list { list-style: none; margin: 0 0 26px; padding: 0; border-top: 1px solid var(--ed-rule); }
.ed-card__list li { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--ed-rule); font-size: 14px; line-height: 1.5; color: var(--ed-text); }
.ed-card__list i { width: 16px; margin-top: 4px; color: var(--ed-accent); font-size: 13px; text-align: center; flex: none; }
.ed-card__list a { color: inherit; text-decoration: none; }
.ed-card__list a:hover { color: var(--ed-accent); }
.ed-card .ed-btn + .ed-btn { margin-top: 10px; }

/* ── Related cards ────────────────────────────────────────────────── */
.ed-related { background: #fff; padding: 96px 24px; border-top: 1px solid var(--ed-rule); }
.ed-related__head { max-width: 1200px; margin: 0 auto 48px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ed-related__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.9rem, 3.4vw, 2.8rem); line-height: 1.1; color: var(--ed-ink); margin: 8px 0 0; }
.ed-related__all { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ed-ink); text-decoration: none; border-bottom: 1px solid var(--ed-accent); padding-bottom: 4px; }
.ed-related__all:hover { color: var(--ed-accent); }
.ed-cards { max-width: 1200px; margin: 0 auto; display: grid; gap: 40px 28px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.ed-cardlink { display: block; text-decoration: none; color: var(--ed-ink); }
.ed-cardlink__img { aspect-ratio: 4 / 3; overflow: hidden; background: #eee; }
.ed-cardlink__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.ed-cardlink:hover .ed-cardlink__img img { transform: scale(1.06); }
.ed-cardlink__meta { margin-top: 18px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ed-accent); }
.ed-cardlink__title { font-family: var(--ed-serif); font-weight: 600; font-size: 1.3rem; line-height: 1.3; margin-top: 8px; transition: color .25s; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ed-cardlink:hover .ed-cardlink__title { color: var(--ed-accent); }

/* ── Notice (ended offer) ─────────────────────────────────────────── */
.ed-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 48px; padding: 18px 22px; background: #fff; border-left: 3px solid var(--ed-accent); font-size: 15px; color: var(--ed-text); }
.ed-notice a { font-weight: 600; color: var(--ed-accent); text-decoration: none; }

/* ── Lightbox ─────────────────────────────────────────────────────── */
.ed-lightbox { position: fixed; inset: 0; z-index: 1100; background: rgba(15,14,13,.94); display: flex; align-items: center; justify-content: center; padding: 56px 72px; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.ed-lightbox.open { opacity: 1; visibility: visible; }
.ed-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.ed-lightbox button { position: absolute; background: none; border: 1px solid rgba(255,255,255,.3); color: #fff; width: 46px; height: 46px; border-radius: 50%; cursor: pointer; font-size: 18px; display: inline-flex; align-items: center; justify-content: center; transition: background .2s; }
.ed-lightbox button:hover { background: rgba(255,255,255,.12); }
.ed-lightbox__close { top: 18px; right: 18px; }
.ed-lightbox__prev { left: 14px; top: 50%; transform: translateY(-50%); }
.ed-lightbox__next { right: 14px; top: 50%; transform: translateY(-50%); }
.ed-lightbox__count { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.6); font-size: 12px; letter-spacing: .2em; }

/* ── Reveal on scroll ─────────────────────────────────────────────── */
.ed-js .ed-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.ed-js .ed-reveal.in { opacity: 1; transform: none; }

@media (max-width: 767px) {
    .ed-hero { min-height: min(78vh, 680px); }
    .ed-hero__inner { padding-bottom: 48px; }
    .ed-back { top: 18px; left: 16px; }
    .ed-scroll, .ed-hero__controls { display: none; }
    .ed-body { padding: 56px 20px 72px; }
    .ed-cta { padding: 52px 24px; }
    .ed-related { padding: 72px 20px; }
    .ed-lightbox { padding: 56px 12px; }
    .ed-lightbox__prev, .ed-lightbox__next { top: auto; bottom: 12px; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .ed-hero__media > img, .ed-hero__slide img, .ed-scroll::after { animation: none; }
    .ed-js .ed-reveal { opacity: 1; transform: none; transition: none; }
}

/* ── Site-wide: serif display headings on every v2 page ───────────── */
.w-v2 main h1, .w-v2 main h2 { font-family: var(--ed-serif); font-weight: 600 !important; letter-spacing: -.005em; }

/* ══ List pages (news, tours, offers) ═══════════════════════════════ */

/* Page hero (_pagehero_v2.php) */
.ed-pagehero { position: relative; min-height: min(56vh, 520px); display: flex; align-items: flex-end; background: var(--ed-ink); color: #fff; overflow: hidden; isolation: isolate; }
.ed-pagehero > img, .ed-pagehero > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: ed-zoom 16s ease-out both; }
.ed-pagehero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(20,18,17,.35) 0%, rgba(20,18,17,.2) 40%, rgba(20,18,17,.85) 100%); }
.ed-pagehero__inner { position: relative; z-index: 2; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px 56px; }
.ed-pagehero__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: 1.02; letter-spacing: -.015em; margin: 0; }
.ed-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 22px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); }
.ed-crumbs a { color: rgba(255,255,255,.75); text-decoration: none; }
.ed-crumbs a:hover { color: #fff; }
.ed-crumbs .ed-crumbs__sep { width: 18px; height: 1px; background: rgba(255,255,255,.4); }

/* Section scaffolding */
.ed-section { padding: 96px 24px; }
.ed-section--paper { background: var(--ed-paper); }
.ed-section--white { background: #fff; }
.ed-wrap { max-width: 1200px; margin: 0 auto; }
.ed-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 52px; }
.ed-head__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1.1; color: var(--ed-ink); margin: 10px 0 0; }
.ed-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--ed-accent); }
.ed-eyebrow::before { content: ""; width: 32px; height: 2px; background: var(--ed-accent); }

/* Statement block: big serif line + paragraph */
.ed-statement { display: grid; gap: 32px; align-items: end; }
@media (min-width: 900px) { .ed-statement { grid-template-columns: 1.3fr 1fr; gap: 80px; } }
.ed-statement .ed-statement__big { font-family: var(--ed-serif); font-weight: 500; font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.15; color: var(--ed-ink); margin: 16px 0 0; }
.ed-statement > p { font-size: 1.08rem; line-height: 1.85; color: var(--ed-text); margin: 0; }

/* Cover story (split) */
.ed-cover { display: grid; background: #fff; text-decoration: none; color: var(--ed-ink); margin-bottom: 80px; border: 1px solid var(--ed-rule); }
@media (min-width: 900px) { .ed-cover { grid-template-columns: 1.35fr 1fr; } }
.ed-cover__img { overflow: hidden; min-height: 320px; background: #eee; }
.ed-cover__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.ed-cover:hover .ed-cover__img img { transform: scale(1.05); }
.ed-cover__body { padding: 48px 44px; display: flex; flex-direction: column; justify-content: center; }
.ed-cover__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.7rem, 2.8vw, 2.5rem); line-height: 1.18; margin: 18px 0; transition: color .25s; }
.ed-cover:hover .ed-cover__title { color: var(--ed-accent); }
.ed-cover__text { font-size: 1rem; line-height: 1.75; color: var(--ed-text); margin: 0 0 28px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ed-more { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ed-ink); }
.ed-more i { color: var(--ed-accent); transition: transform .25s; }
a:hover .ed-more i { transform: translateX(4px); }

/* Card grid with a rhythm: on desktop every 7th card (4th, 11th…) is wide */
.ed-grid { display: grid; gap: 56px 32px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
@media (min-width: 1024px) {
    .ed-grid { grid-template-columns: repeat(3, 1fr); }
    .ed-grid > .ed-cardlink:nth-child(7n + 4) { grid-column: span 2; }
    /* Twice as wide, same height as its 4:3 neighbours. */
    .ed-grid > .ed-cardlink:nth-child(7n + 4) .ed-cardlink__img { aspect-ratio: 8 / 3; }
}
.ed-cardlink__img { position: relative; }
.ed-cardlink__text { margin-top: 10px; font-size: .95rem; line-height: 1.65; color: var(--ed-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ed-cardlink__tags { position: absolute; top: 14px; left: 14px; right: 14px; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; }

/* Category chips */
.ed-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ed-chip { display: inline-flex; align-items: center; padding: 9px 18px; border: 1px solid var(--ed-rule); background: #fff; border-radius: 999px; font-size: 13px; font-weight: 500; color: var(--ed-ink); text-decoration: none; transition: all .2s; }
.ed-chip:hover, .ed-chip.is-active { background: var(--ed-ink); border-color: var(--ed-ink); color: #fff; }

/* Numbered list (hot news) */
.ed-numlist { display: grid; gap: 0 48px; counter-reset: ednum; }
@media (min-width: 900px) { .ed-numlist { grid-template-columns: repeat(2, 1fr); } }
.ed-numlist a { counter-increment: ednum; display: grid; grid-template-columns: auto 1fr 96px; gap: 22px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--ed-rule); text-decoration: none; color: var(--ed-ink); }
.ed-numlist a::before { content: counter(ednum, decimal-leading-zero); font-family: var(--ed-serif); font-size: 2.2rem; line-height: 1; color: var(--ed-accent); font-weight: 500; }
.ed-numlist__title { font-family: var(--ed-serif); font-size: 1.15rem; line-height: 1.35; font-weight: 600; transition: color .2s; }
.ed-numlist a:hover .ed-numlist__title { color: var(--ed-accent); }
.ed-numlist__date { display: block; margin-top: 6px; font-family: inherit; font-size: 12px; color: var(--ed-muted); letter-spacing: .06em; }
.ed-numlist img { width: 96px; height: 72px; object-fit: cover; }

/* Alternating feature rows (tours) */
.ed-rows { display: grid; gap: 104px; }
.ed-row { display: grid; gap: 36px; align-items: center; text-decoration: none; color: var(--ed-ink); }
@media (min-width: 900px) {
    .ed-row { grid-template-columns: 1.2fr 1fr; gap: 72px; }
    .ed-row:nth-child(even) .ed-row__img { order: 2; }
}
.ed-row__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #eee; }
.ed-row__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.ed-row:hover .ed-row__img img { transform: scale(1.05); }
.ed-row__num { font-family: var(--ed-serif); font-size: clamp(4rem, 8vw, 7rem); line-height: .8; color: transparent; -webkit-text-stroke: 1px var(--ed-accent); font-weight: 600; }
.ed-row__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.18; margin: 22px 0 16px; transition: color .25s; }
.ed-row:hover .ed-row__title { color: var(--ed-accent); }
.ed-row__text { font-size: 1.02rem; line-height: 1.8; color: var(--ed-text); margin: 0 0 28px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* Pagination */
.ed-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 72px; }
.ed-pager a { min-width: 44px; height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ed-rule); background: #fff; color: var(--ed-ink); font-family: var(--ed-serif); font-size: 1.05rem; text-decoration: none; transition: all .2s; }
.ed-pager a:hover { border-color: var(--ed-ink); }
.ed-pager a.is-active { background: var(--ed-ink); border-color: var(--ed-ink); color: #fff; }

/* Empty state */
.ed-empty { position: relative; padding: 72px 32px; text-align: center; background: #fff; border: 1px solid var(--ed-rule); }
.ed-empty::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--ed-rule); pointer-events: none; }
.ed-empty__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--ed-ink); margin: 18px 0 12px; }
.ed-empty p { position: relative; max-width: 52ch; margin: 0 auto 30px; color: var(--ed-text); line-height: 1.75; }
.ed-empty .ed-btn { position: relative; }

@media (max-width: 767px) {
    .ed-section { padding: 64px 20px; }
    .ed-pagehero { min-height: 380px; }
    .ed-pagehero__inner { padding-bottom: 40px; }
    .ed-cover__body { padding: 32px 24px; }
    .ed-rows { gap: 72px; }
    .ed-numlist a { grid-template-columns: auto 1fr; }
    .ed-numlist img { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ed-pagehero > img, .ed-pagehero > video { animation: none; } }

/* ══ Contact page (site/contact_v2.php, markup kept; inline styles overridden) ══ */
.ed-contact { background: var(--ed-paper); }
.ed-contact label { font-size: 11px !important; letter-spacing: .2em !important; color: var(--ed-muted) !important; }
.ed-contact input, .ed-contact select, .ed-contact textarea { border: 0 !important; border-bottom: 1px solid #cfc6b8 !important; background: transparent !important; padding: 12px 2px !important; font-size: 1rem !important; color: var(--ed-ink) !important; border-radius: 0; transition: border-color .2s; }
.ed-contact input:focus, .ed-contact select:focus, .ed-contact textarea:focus { border-bottom-color: var(--ed-accent) !important; }
.ed-contact form button[type=submit] { padding: 16px 30px !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em; text-transform: uppercase; transition: background .25s; }
.ed-contact form button[type=submit]:hover { background: #d8361a !important; opacity: 1 !important; }
.ed-contact h2 { line-height: 1.15 !important; }
.ed-contact div[style*="#e54d2e"] { position: relative; background: var(--ed-olive) !important; padding: 36px 32px !important; }
.ed-contact div[style*="#e54d2e"]::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255,255,255,.2); pointer-events: none; }
.ed-contact div[style*="#e54d2e"] h3 { font-family: var(--ed-serif); font-weight: 600 !important; font-size: 1.5rem !important; }
.ed-contact div[style*="background:#fafafa"] { background: #fff !important; border-color: var(--ed-rule) !important; }
.ed-contact div[style*="background:#fafafa"] h4 { font-family: var(--ed-serif); font-size: 1.1rem !important; font-weight: 600 !important; }
.ed-contact #v2ContactSent h3 { font-family: var(--ed-serif); font-size: 1.6rem !important; }

/* ══ Property pages (voucher/shop_list_v2 + layouts/_property_nav_v2) ══ */
.ed-prophero { position: relative; min-height: min(72vh, 660px); display: flex; align-items: flex-end; background: var(--ed-ink); color: #fff; overflow: hidden; isolation: isolate; }
.ed-prophero--sub { min-height: min(54vh, 480px); }
.ed-prophero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: ed-zoom 16s ease-out both; }
.ed-prophero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(20,18,17,.35) 0%, rgba(20,18,17,.15) 40%, rgba(20,18,17,.85) 100%); }
.ed-prophero .ed-pagehero__title { max-width: 18ch; text-wrap: balance; }
.ed-prophero .ed-hero__meta a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.ed-prophero .ed-hero__meta a:hover { color: #fff; }

/* Sticky section nav under the site header (64px / 72px) */
.ed-subnav { position: sticky; top: 64px; z-index: 40; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ed-rule); }
@media (min-width: 768px) { .ed-subnav { top: 72px; } }
.ed-subnav__inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; gap: 36px; overflow-x: auto; scrollbar-width: none; }
.ed-subnav__inner::-webkit-scrollbar { display: none; }
.ed-subnav a { position: relative; flex: none; padding: 20px 0 18px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; color: var(--ed-muted); text-decoration: none; transition: color .2s; }
.ed-subnav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--ed-accent); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.ed-subnav a:hover { color: var(--ed-ink); }
.ed-subnav a.is-active { color: var(--ed-ink); }
.ed-subnav a.is-active::after { transform: none; }

/* Overview intro: CMS description (smallSubtitle + h1 + paragraphs) beside the photo */
.ed-propintro { display: grid; gap: 48px; align-items: center; }
@media (min-width: 900px) { .ed-propintro { grid-template-columns: 1.05fr 1fr; gap: 80px; } }
.ed-propintro__desc { font-size: 1.05rem; line-height: 1.85; color: var(--ed-text); overflow-wrap: break-word; }
.ed-propintro__desc > * { margin: 0; }
.ed-propintro__desc > * + * { margin-top: 1em; }
.ed-propintro__desc [style] { font-size: inherit !important; text-align: left !important; }
.ed-propintro__desc .smallSubtitle { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--ed-accent); }
.ed-propintro__desc .smallSubtitle::before { content: ""; width: 32px; height: 2px; background: var(--ed-accent); }
.ed-propintro__desc h1, .ed-propintro__desc h2 { font-family: var(--ed-serif); font-weight: 500; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.12; color: var(--ed-ink); margin-top: 16px; margin-bottom: 28px; }
.ed-propintro__desc strong, .ed-propintro__desc b { color: var(--ed-ink); font-weight: 600; }
.ed-propintro__desc a { color: var(--ed-ink); text-decoration: underline; text-decoration-color: var(--ed-accent); text-underline-offset: 4px; }
.ed-propintro__desc img { max-width: 100%; height: auto; }
.ed-propintro__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.ed-propintro__img { position: relative; aspect-ratio: 4 / 5; background: #eee; }
.ed-propintro__img::before { content: ""; position: absolute; inset: 24px -24px -24px 24px; border: 1px solid var(--ed-accent); z-index: 0; }
.ed-propintro__img img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.ed-propnote { color: var(--ed-muted); font-size: 1rem; margin: 0; }

@media (min-width: 1024px) { .ed-cards--4 { grid-template-columns: repeat(4, 1fr); } }

/* Zones: dark band with tall captioned photos */
.ed-zones { background: var(--ed-ink); color: #fff; }
.ed-zones .ed-head__title { color: #fff; }
.ed-zones .ed-more { color: #fff; }
.ed-zones__grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
@media (min-width: 1024px) { .ed-zones__grid { grid-template-columns: repeat(4, 1fr); } .ed-zones__grid > :nth-child(even) { margin-top: 48px; } }
.ed-zone { position: relative; margin: 0; aspect-ratio: 3 / 4; overflow: hidden; background: #333; }
.ed-zone img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.ed-zone:hover img { transform: scale(1.05); }
.ed-zone::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(20,18,17,.88) 100%); }
.ed-zone figcaption { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 24px; }
.ed-zone__name { display: block; font-family: var(--ed-serif); font-weight: 600; font-size: 1.35rem; line-height: 1.25; }
.ed-zone__text { display: block; margin-top: 8px; font-size: .88rem; line-height: 1.6; color: rgba(255,255,255,.75); }

/* Location: info card + map */
.ed-propmap { display: grid; background: var(--ed-paper); border-top: 1px solid var(--ed-rule); }
@media (min-width: 900px) { .ed-propmap { grid-template-columns: minmax(320px, 420px) 1fr; } }
.ed-propmap__card { padding: 64px 40px; background: #fff; }
.ed-propmap__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.7rem, 2.6vw, 2.2rem); line-height: 1.2; color: var(--ed-ink); margin: 14px 0 28px; }
.ed-propmap dl { margin: 0 0 32px; }
.ed-propmap dt { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ed-muted); }
.ed-propmap dd { margin: 6px 0 20px; font-size: 1rem; line-height: 1.6; color: var(--ed-ink); }
.ed-propmap dd a { color: inherit; text-decoration: none; }
.ed-propmap dd a:hover { color: var(--ed-accent); }
.ed-propmap iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; filter: grayscale(.35); }

/* Section pages (Rooms / Zones / Offers / Guide) */
.ed-propsec { margin-bottom: 88px; padding-bottom: 56px; border-bottom: 1px solid var(--ed-rule); }
.ed-propsec__desc { font-size: 1.08rem; line-height: 1.85; color: var(--ed-text); }
.ed-propsec__desc > * { margin: 0; }
.ed-propsec__desc > * + * { margin-top: 1em; }
.ed-propsec__desc [style] { font-size: inherit !important; text-align: left !important; }
.ed-row__title a { color: inherit; text-decoration: none; }
.ed-proprows .ed-row__text { -webkit-line-clamp: 5; }
.ed-proprows__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.ed-guide + .ed-guide { margin-top: 88px; }
.ed-guide__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 18px; margin-bottom: 36px; border-bottom: 1px solid var(--ed-ink); }
.ed-guide__title { font-family: var(--ed-serif); font-weight: 600; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.2; color: var(--ed-ink); margin: 0; }
.ed-guide__count { font-family: var(--ed-serif); font-size: 1.1rem; color: var(--ed-accent); }
.ed-cards--guide { gap: 36px 24px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.ed-cards--guide .ed-cardlink__title { font-size: 1.08rem; margin-top: 14px; }
.ed-propcta .ed-cta { margin-top: 0; }
.ed-section--paper + .ed-propcta { padding-top: 0; }

@media (max-width: 767px) {
    .ed-prophero { min-height: 460px; }
    .ed-prophero--sub { min-height: 360px; }
    .ed-subnav__inner { padding: 0 20px; gap: 26px; }
    .ed-propintro__img::before { inset: 14px -10px -14px 14px; }
    .ed-propmap__card { padding: 48px 24px; }
    .ed-propmap iframe { min-height: 320px; }
    .ed-propsec { margin-bottom: 56px; padding-bottom: 40px; }
    .ed-cards--guide { grid-template-columns: repeat(2, 1fr); gap: 28px 14px; }
    .ed-cards--guide .ed-cardlink__title { font-size: .98rem; }
    /* Zones: swipe row instead of four full-height portraits */
    .ed-zones__grid { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
    .ed-zones__grid::-webkit-scrollbar { display: none; }
    .ed-zone { flex: 0 0 78%; scroll-snap-align: start; scroll-margin-left: 20px; }
}
@media (prefers-reduced-motion: reduce) { .ed-prophero > img { animation: none; } }

/* ══ Homepage (site/index_v2.php) ══ */
.ed-home__hero { min-height: min(92vh, 860px); }
.ed-home__sub { max-width: 46ch; margin: 22px 0 0; font-size: 1.1rem; line-height: 1.7; color: rgba(255,255,255,.82); }
.ed-home__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.ed-home__actions--center { justify-content: center; margin-top: 48px; }
.ed-btn--light { background: transparent; border: 1px solid rgba(255,255,255,.6); color: #fff; }
.ed-btn--light:hover { background: #fff; color: var(--ed-ink); }
.ed-bk-wrap { position: relative; z-index: 5; max-width: 1200px; margin: -48px auto 0; padding: 0 24px; }
.ed-bk { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #fff; border: 1px solid var(--ed-rule); box-shadow: 0 24px 48px rgba(33,31,30,.12); }
.ed-bk__field { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px; border-right: 1px solid var(--ed-rule); cursor: pointer; }
.ed-bk__field span { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--ed-muted); }
.ed-bk__field select, .ed-bk__field input { border: 0; padding: 0; background: transparent; font-family: var(--ed-serif); font-size: 1.15rem; font-weight: 600; color: var(--ed-ink); outline: none; width: 100%; min-width: 0; }
.ed-bk__field:focus-within { box-shadow: inset 0 -2px 0 var(--ed-accent); }
.ed-bk__property, .ed-bk__submit { grid-column: 1 / -1; }
.ed-bk__submit { justify-content: center; }
@media (min-width: 1024px) { .ed-bk { grid-template-columns: 1.5fr 1fr 1fr auto; } .ed-bk__property, .ed-bk__submit { grid-column: auto; } }
@media (max-width: 1023px) { .ed-bk__field { border-right: 0; border-bottom: 1px solid var(--ed-rule); } .ed-bk__field + .ed-bk__field:not(.ed-bk__property) { border-left: 1px solid var(--ed-rule); } .ed-bk-wrap { margin-top: -32px; padding: 0 20px; } }
.ed-home .ed-statement__big { font-family: var(--ed-serif); font-weight: 500; font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.15; color: var(--ed-ink); margin: 16px 0 0; }
.ed-home__accent { font-style: italic; color: var(--ed-accent); }
.ed-home__lead { font-size: 1.15rem; line-height: 1.8; color: var(--ed-ink); margin: 28px 0 0; }
.ed-home__p { font-size: 1rem; line-height: 1.8; color: var(--ed-text); margin: 16px 0 0; }
.ed-home__figures { display: flex; flex-wrap: wrap; gap: 44px; margin: 40px 0 32px; padding-top: 28px; border-top: 1px solid var(--ed-rule); }
.ed-home__figures dt { font-family: var(--ed-serif); font-size: 2.6rem; line-height: 1; font-weight: 600; color: var(--ed-accent); }
.ed-home__figures dd { margin: 10px 0 0; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--ed-muted); }
.ed-home__est { position: absolute; z-index: 2; left: -28px; bottom: 40px; display: flex; flex-direction: column; padding: 18px 24px; background: #fff; border: 1px solid var(--ed-rule); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--ed-muted); }
.ed-home__est strong { font-family: var(--ed-serif); font-size: 2rem; letter-spacing: 0; color: var(--ed-ink); margin: 4px 0; }
.ed-home__pillars { list-style: none; margin: 72px 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--ed-ink); }
@media (min-width: 900px) { .ed-home__pillars { grid-template-columns: repeat(3, 1fr); } .ed-home__pillars li + li { border-left: 1px solid var(--ed-rule); } }
.ed-home__pillars li { padding: 36px 32px 8px 0; }
@media (min-width: 900px) { .ed-home__pillars li + li { padding-left: 32px; } }
.ed-home__num { font-family: var(--ed-serif); font-size: 1rem; color: var(--ed-accent); }
.ed-home__pillars h3 { font-family: var(--ed-serif); font-weight: 600; font-size: 1.8rem; margin: 14px 0 12px; color: var(--ed-ink); }
.ed-home__pillars p { margin: 0; font-size: 1rem; line-height: 1.75; color: var(--ed-text); }
.ed-home__addr { font-size: 13px; letter-spacing: .04em; color: var(--ed-muted); margin: -4px 0 16px; }
.ed-home__addr i { color: var(--ed-accent); margin-right: 6px; }
.ed-home__logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); margin-top: 64px; border-top: 1px solid var(--ed-rule); border-left: 1px solid var(--ed-rule); }
.ed-home__logos > * { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; padding: 26px; background: #fff; border: 0; border-right: 1px solid var(--ed-rule); border-bottom: 1px solid var(--ed-rule); cursor: pointer; transition: background .2s; }
.ed-home__logos > :hover { background: var(--ed-paper); }
.ed-home__logos img { max-width: 100px; max-height: 100px; width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s, opacity .3s; }
.ed-home__logos > :hover img { filter: none; opacity: 1; }
.ed-home .ed-numlist { margin-top: 8px; }
@media (max-width: 767px) { .ed-home__est { left: 12px; bottom: 16px; } .ed-home__figures { gap: 28px; } .ed-home__logos { grid-template-columns: repeat(3, 1fr); } .ed-home__logos > * { padding: 14px; } }
/* Slider controls sit above the booking bar that overlaps the hero's bottom edge
   (48px desktop / 32px mobile); on phones they move under the buttons, left. */
.ed-home__hero .ed-hero__inner { padding-bottom: 140px; }
.ed-home__hero .ed-hero__controls { bottom: 76px; }
@media (max-width: 1023px) { .ed-home__hero .ed-hero__controls { right: 24px; } }
@media (max-width: 767px) {
    .ed-home__hero .ed-hero__inner { padding-bottom: 116px; }
    .ed-home__hero .ed-hero__controls { display: flex; left: 20px; right: auto; bottom: 56px; gap: 14px; }
    .ed-home__hero .ed-hero__controls .v2-hero-prev, .ed-home__hero .ed-hero__controls .v2-hero-next { width: 36px; height: 36px; }
}

/* ══ Footer (layouts/_footer_v2.php): compact on phones ══ */
@media (max-width: 639px) {
    .ed-foot__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding-top: 44px; padding-bottom: 28px; padding-left: 20px; padding-right: 20px; }
    .ed-foot__brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 16px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
    .ed-foot__logo { margin-bottom: 0 !important; height: 30px; }
    .ed-foot__social { gap: 18px; }
    .ed-foot__social a, .ed-foot__social i, .ed-foot__social svg { width: 18px !important; height: 18px !important; font-size: 17px !important; }
    .ed-foot__tagline { order: 3; flex-basis: 100%; margin: 0 !important; font-size: 13px; line-height: 1.6; }
    .ed-foot__col > div:first-child { margin-bottom: 8px; font-size: 10px; }
    .ed-foot__col > a { padding-top: 5px; padding-bottom: 5px; font-size: 13.5px; }
    .ed-foot__grid > div:last-child { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.08); }
    .ed-foot__grid > div:last-child > div:first-child { flex-basis: 100%; margin-bottom: -4px; font-size: 10px; }
    .ed-foot__contact { gap: 8px !important; font-size: 13.5px; }
    .ed-foot__badge { margin-top: 0 !important; }
    .ed-foot__badge img { height: 32px; }
    .ed-foot__bottom { align-items: flex-start !important; gap: 10px !important; padding: 18px 20px 22px; font-size: 11px; }
    .ed-foot__legal { flex-wrap: wrap; gap: 6px 14px !important; }
}
