/*
Theme Name: Darts Farm 2026
Theme URI: https://www.mihidigital.co.uk/
Author: MiHi Digital
Description: Working WordPress theme for the Darts Farm redesign and Shopify migration visual development.
Version: 0.4.95
Text Domain: darts-farm-2026
*/

:root{
  --df-green:#173f31;
  --df-green-dark:#102d24;
  --df-forest:#214c3c;
  --df-cream:#f4f0e7;
  --df-cream-2:#faf8f3;
  --df-sand:#ded4c2;
  --df-rust:#a65537;
  --df-ink:#1b211d;
  --df-muted:#6b716d;
  --df-line:rgba(23,63,49,.15);
  --df-body:#272d29;
  --df-body-size:17px;
  --df-body-line:1.68;
  --df-kicker-gap:22px;
  --df-max:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--df-ink);font-family:'Mukta',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.df-wrap{width:min(calc(100% - 64px),var(--df-max));margin-inline:auto}
.df-eyebrow{display:block;margin:0 0 18px;color:var(--df-green);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.df-eyebrow:before{content:none}
.df-display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:.98}
.df-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border:1px solid var(--df-green);background:var(--df-green);color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease}
.df-btn:hover{background:var(--df-green-dark);border-color:var(--df-green-dark);transform:translateY(-1px)}
.df-btn--light{background:#fff;color:var(--df-green);border-color:#fff}
.df-btn--outline{background:transparent;color:var(--df-green)}
.df-btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.65)}
.df-btn--strong{min-height:auto;padding:6px 0;background:transparent;color:var(--df-green-dark);border:0;font-size:13px;font-weight:800;letter-spacing:.115em;box-shadow:none}
.df-btn--strong:after{content:"→";margin-left:3px;font-size:17px;line-height:1;transition:transform .2s ease}
.df-btn--strong:hover{background:transparent;color:var(--df-green);border:0;transform:none}.df-btn--strong:hover:after{transform:translateX(4px)}
.df-link{display:inline-flex;align-items:center;gap:10px;color:var(--df-green);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.df-link:after{content:"→";font-size:17px;transition:transform .2s ease}.df-link:hover:after{transform:translateX(4px)}

/* Header */
.df-notice{background:var(--df-green);color:#fff;text-align:center;padding:9px 20px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.df-header{position:relative;z-index:50;background:#fff;border-bottom:1px solid #ecebe7}
.df-header__top{height:102px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(calc(100% - 64px),var(--df-max));margin:auto}
.df-socials{display:flex;gap:14px}.df-socials a{font-size:11px;font-weight:700;letter-spacing:.08em}
.df-logo{width:176px}.df-logo img{width:100%;height:auto;max-height:82px;object-fit:contain}
.df-utility{display:flex;justify-content:flex-end;align-items:center;gap:14px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.df-utility span{width:1px;height:22px;background:#ddd}
.df-basket{display:flex;align-items:center;gap:8px}.df-basket svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.df-nav{height:58px;display:flex;align-items:stretch;justify-content:center;border-top:1px solid #efeee9}
.df-nav>a,.df-nav__drop>button{height:58px;display:flex;align-items:center;gap:8px;padding:0 28px;border:0;background:none;color:var(--df-ink);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.df-nav>a:hover,.df-nav__drop>button:hover{color:var(--df-green);box-shadow:inset 0 -2px 0 var(--df-green)}
.df-nav__drop{position:static}.df-mega{position:absolute;left:0;right:0;top:160px;display:none;padding:30px 5vw;background:#fff;border-top:1px solid var(--df-line);box-shadow:0 22px 50px rgba(18,46,34,.12)}.df-nav__drop:hover .df-mega{display:block}
.df-mega__grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.df-mega h4{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:0 0 12px;color:var(--df-green)}.df-mega a{display:block;padding:6px 0;font-size:13px;color:#4d554f}.df-mega__card{min-height:180px;padding:24px;color:#fff;background:linear-gradient(145deg,#315847,#173f31);display:flex;flex-direction:column;justify-content:flex-end}.df-mega__card strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.df-menu-toggle{display:none}

/* Hero */
.df-hero{position:relative;min-height:690px;display:grid;align-items:end;overflow:hidden;background:#253c32}
.df-hero__media{position:absolute;inset:0;background:#566159}
.df-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,25,19,.28),transparent 55%)}
.df-hero__content{position:relative;z-index:2;width:min(calc(100% - 64px),var(--df-max));margin:0 auto;padding:0 0 78px;color:#fff}.df-hero__kicker{margin-bottom:18px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.df-hero h1{max-width:790px;margin:0;font-size:clamp(60px,6.5vw,104px);line-height:.96}.df-hero p{max-width:650px;margin:24px 0 30px;font-size:18px;line-height:1.6}.df-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.df-hero__meta{position:absolute;right:32px;bottom:24px;z-index:2;display:flex;gap:22px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}

/* Intro */
.df-intro{padding:104px 0 100px;background:var(--df-cream-2)}.df-intro__grid{display:grid;grid-template-columns:.55fr 1.62fr;gap:76px;align-items:start}.df-intro h2{max-width:860px;margin:0;color:var(--df-green);font-size:clamp(38px,4.4vw,58px);line-height:1.1;letter-spacing:-.035em}.df-intro__eyebrow{display:flex;align-items:center;gap:12px;margin:5px 0 0}.df-intro__eyebrow:before{content:"";width:32px;height:1px;flex:0 0 32px;background:currentColor}.df-intro__copy{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:56px;align-items:end;margin-top:30px;padding-top:26px;border-top:1px solid var(--df-line)}.df-intro__body{max-width:690px;margin:0;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}.df-intro__copy .df-btn{align-self:end}

/* Journey cards */
.df-journeys{padding:0 0 108px;background:var(--df-cream-2)}.df-journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.df-journey{position:relative;min-height:430px;overflow:hidden;background:#ddd}.df-journey:before{content:"";position:absolute;inset:0;background:var(--img),linear-gradient(145deg,#577263,#1a4333);background-size:cover;background-position:center;transition:transform .6s ease}.df-journey:hover:before{transform:scale(1.025)}.df-journey:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,27,19,.78),rgba(8,27,19,.08) 68%)}.df-journey__copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff}.df-journey h3{max-width:230px;margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(34px,2.7vw,44px);line-height:1.02;letter-spacing:-.03em}.df-journey__arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:20px;line-height:1;transition:transform .2s ease,background .2s ease}.df-journey:hover .df-journey__arrow{transform:translateX(3px);background:rgba(255,255,255,.1)}

/* Seasonal editorial */
.df-season{display:grid;grid-template-columns:1.18fr .82fr;min-height:760px;background:var(--df-green);color:#fff}.df-season__image{min-height:700px;background:#d6dbd6}.df-season__copy{display:flex;flex-direction:column;justify-content:center;padding:80px clamp(48px,6vw,104px)}.df-season .df-eyebrow{color:#dfe8df}.df-season h2{margin:0;font-size:clamp(50px,5.3vw,78px);line-height:1.01}.df-season p:not(.df-eyebrow){max-width:520px;margin:26px 0 34px;color:#e2e9e4;font-size:var(--df-body-size);line-height:var(--df-body-line)}.df-season__facts{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:40px 0 0;padding-top:26px;border-top:1px solid rgba(255,255,255,.18)}.df-season__facts strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;line-height:1.15}.df-season__facts span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}

/* Shop */
.df-shop{padding:120px 0;background:#fff}.df-section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-bottom:46px}.df-section-head h2{margin:0;color:var(--df-green);font-size:clamp(50px,5.2vw,78px)}.df-section-head p:not(.df-eyebrow){max-width:560px;margin:16px 0 0;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}.df-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.df-product__img{aspect-ratio:1/1.1;background:#d6dbd6;margin-bottom:18px}.df-product__meta{display:flex;justify-content:space-between;gap:18px}.df-product h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.12;font-weight:400;color:var(--df-green)}.df-product span{font-size:11px;color:var(--df-muted);text-transform:uppercase;letter-spacing:.1em}.df-product .df-link{margin-top:12px}

/* Eat */
.df-eat{padding:120px 0;background:var(--df-cream)}.df-eat__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:center}.df-eat__copy h2{margin:0;color:var(--df-green);font-size:clamp(54px,5.7vw,86px)}.df-eat__copy p:not(.df-eyebrow){max-width:520px;margin:24px 0 30px;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}.df-eat__tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}.df-eat-card{position:relative;min-height:330px;padding:24px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#566159}.df-eat-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,37,27,.7),transparent 65%)}.df-eat-card>div{position:relative;z-index:1}.df-eat-card h3{margin:0 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.12;font-weight:400}.df-eat-card span{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* Story band */
.df-story{position:relative;min-height:700px;display:grid;align-items:center;color:#fff;background:#566159}.df-story__copy{width:min(calc(100% - 64px),var(--df-max));margin:auto}.df-story h2{max-width:760px;margin:0;font-size:clamp(58px,6vw,92px)}.df-story p:not(.df-eyebrow){max-width:610px;margin:26px 0 30px;font-size:var(--df-body-size);line-height:var(--df-body-line)}

/* What's on */
.df-events{padding:120px 0;background:#fff}.df-event-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:16px}.df-event{position:relative;min-height:500px;padding:30px;display:flex;align-items:flex-end;color:#fff;background:#566159;overflow:hidden}.df-event:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,34,25,.76),transparent 65%)}.df-event>div{position:relative;z-index:1}.df-event__date{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.df-event h3{margin:10px 0 12px;font-family:Georgia,serif;font-size:34px;font-weight:400}.df-event p{margin:0 0 18px;font-size:var(--df-body-size);line-height:var(--df-body-line);max-width:440px}.df-event:first-child h3{font-size:48px}

/* Wellness */
.df-wellness{display:grid;grid-template-columns:1fr 1fr;background:#dfe5df}.df-wellness__copy{padding:100px clamp(48px,7vw,118px);align-self:center}.df-wellness__copy h2{margin:0;color:var(--df-green);font-size:clamp(54px,5vw,78px)}.df-wellness__copy p:not(.df-eyebrow){margin:24px 0 30px;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}.df-wellness__image{min-height:650px;background:#d6dbd6}

/* Editorial */
.df-editorial{padding:120px 0;background:var(--df-cream-2)}.df-editorial-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:22px}.df-article__img{aspect-ratio:1.35/1;background:#d6dbd6}.df-article:first-child .df-article__img{aspect-ratio:1.55/1}.df-article__type{margin:18px 0 8px;color:var(--df-muted);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.df-article h3{margin:0;color:var(--df-green);font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.12}.df-article:first-child h3{font-size:38px}.df-article p{color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}

/* Newsletter/Footer */
.df-newsletter{padding:88px 0;background:var(--df-rust);color:#fff}.df-newsletter__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.df-newsletter h2{margin:0;font-size:clamp(48px,5vw,74px)}.df-newsletter p:not(.df-eyebrow){max-width:520px;font-size:var(--df-body-size);line-height:var(--df-body-line)}.df-form{display:grid;grid-template-columns:1fr auto;gap:10px}.df-form input{height:54px;border:0;border-bottom:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-size:16px;outline:0}.df-form input::placeholder{color:rgba(255,255,255,.7)}.df-form button{height:54px;padding:0 24px;border:1px solid #fff;background:#fff;color:var(--df-rust);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.df-footer{padding:68px 0 28px;background:var(--df-green-dark);color:#dfe6e2}.df-footer__grid{display:grid;grid-template-columns:1.25fr repeat(3,.7fr);gap:50px}.df-footer__brand img{width:180px;filter:brightness(0) invert(1);opacity:.94}.df-footer__brand p{max-width:360px;color:#b8c5bf;line-height:1.65}.df-footer h4{margin:0 0 16px;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.df-footer a{display:block;padding:6px 0;color:#b8c5bf;font-size:13px}.df-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#91a39b}

@media(max-width:1080px){.df-nav>a,.df-nav__drop>button{padding-inline:15px}.df-journey-grid{grid-template-columns:1fr 1fr}.df-products{grid-template-columns:1fr 1fr}.df-event-grid{grid-template-columns:1fr 1fr}.df-event:first-child{grid-column:1/-1}.df-editorial-grid{grid-template-columns:1fr 1fr}.df-article:first-child{grid-column:1/-1}.df-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.df-wrap{width:min(calc(100% - 36px),var(--df-max))}.df-notice{font-size:9px}.df-header__top{height:80px;width:calc(100% - 36px);grid-template-columns:1fr auto 1fr}.df-socials,.df-utility{display:none}.df-logo{width:136px}.df-menu-toggle{display:block;justify-self:end;border:0;background:none;width:34px;height:34px;position:relative}.df-menu-toggle:before,.df-menu-toggle:after,.df-menu-toggle span{content:"";position:absolute;left:6px;right:6px;height:1px;background:#111}.df-menu-toggle:before{top:10px}.df-menu-toggle span{top:16px}.df-menu-toggle:after{top:22px}.df-nav{display:none;height:auto;position:absolute;left:0;right:0;top:110px;background:#fff;flex-direction:column;padding:12px 18px 26px;box-shadow:0 18px 40px rgba(0,0,0,.12)}.df-header.is-open .df-nav{display:flex}.df-nav>a,.df-nav__drop>button{width:100%;height:48px;padding:0;border-bottom:1px solid #eee;justify-content:space-between}.df-mega{display:none!important}.df-hero{min-height:680px}.df-hero__content{width:calc(100% - 36px);padding-bottom:48px}.df-hero h1{font-size:58px}.df-hero p{font-size:16px}.df-hero__meta{display:none}.df-intro{padding:78px 0}.df-intro__grid{grid-template-columns:1fr;gap:24px}.df-intro__eyebrow{margin:0}.df-intro__copy{grid-column:1;grid-template-columns:1fr;gap:24px;margin-top:34px}.df-journeys{padding-bottom:78px}.df-journey-grid{grid-template-columns:1fr}.df-journey{min-height:320px}.df-season{grid-template-columns:1fr}.df-season__image{min-height:520px}.df-season__copy{padding:64px 24px}.df-shop,.df-eat,.df-events,.df-editorial{padding:80px 0}.df-section-head{grid-template-columns:1fr;align-items:start}.df-products{grid-template-columns:1fr 1fr;gap:12px}.df-eat__grid{grid-template-columns:1fr;gap:40px}.df-story{min-height:610px}.df-story__copy{width:calc(100% - 36px)}.df-event-grid{grid-template-columns:1fr}.df-event:first-child{grid-column:auto}.df-event{min-height:420px}.df-wellness{grid-template-columns:1fr}.df-wellness__copy{padding:64px 24px}.df-wellness__image{min-height:500px}.df-editorial-grid{grid-template-columns:1fr}.df-article:first-child{grid-column:auto}.df-newsletter__grid{grid-template-columns:1fr;gap:38px}.df-footer__grid{grid-template-columns:1fr 1fr}.df-footer__brand{grid-column:1/-1}}
@media(max-width:520px){.df-hero h1{font-size:50px}.df-hero__actions{display:grid}.df-btn{width:100%}.df-products{grid-template-columns:1fr}.df-eat__tiles{grid-template-columns:1fr}.df-eat-card{min-height:300px}.df-season__facts{grid-template-columns:1fr}.df-footer__grid{grid-template-columns:1fr}.df-footer__brand{grid-column:auto}.df-footer__bottom{flex-direction:column}.df-form{grid-template-columns:1fr}.df-form button{width:100%}}

/* =========================================================
   DARTS FARM HEADER / MEGA MENU
   Matched to supplied navigation reference PHP
   ========================================================= */
.df-demo-shell,
.df-demo-shell * {
    box-sizing: border-box;
}

.df-demo-shell {
    --green: #173f31;
    --green-dark: #102d24;
    --ink: #171b19;
    --muted: #626862;
    --line: #ecece7;
    --cream: #faf9f5;
    position: relative;
    z-index: 99999;
    width: 100%;
    padding: 0;
    background: #fff;
    font-family: "Mukta", Arial, sans-serif;
}

.df-demo-shell a,
.df-demo-shell button {
    color: inherit;
    font-family: inherit;
    text-decoration: none !important;
}

.df-demo-shell .df-header {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: visible;
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: 0 7px 24px rgba(24, 44, 35, .05);
    z-index: 50;
}

.df-demo-shell .df-header__top {
    width: 100%;
    min-height: 116px;
    height: auto;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 16px 4vw 10px;
    margin: 0;
}

.df-header__logo {
    width: 180px;
    justify-self: center;
}

.df-header__logo img {
    display: block;
    width: 100%;
    max-height: 88px;
    object-fit: contain;
}

.df-header__socials,
.df-header__actions {
    display: flex;
    align-items: center;
}

.df-header__socials {
    gap: 18px;
}

.df-header__actions {
    justify-content: flex-end;
    gap: 18px;
}

.df-header__utility {
    display: flex;
    align-items: center;
}

.df-header__utility a {
    position: relative;
    padding: 0 13px;
    color: #252a27 !important;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .35px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.df-header__utility a + a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 22px;
    background: #d9dbd5;
    transform: translateY(-50%);
}

.df-header__socials a,
.df-header__basket {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #111;
    flex: 0 0 22px;
}

.df-header__socials svg,
.df-header__basket svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.df-header__socials svg {
    fill: currentColor;
    stroke: none;
}

.df-demo-shell .df-nav {
    width: 100%;
    min-height: 58px;
    height: auto;
    display: flex;
    align-items: stretch;
    justify-content: center;
    border-top: 1px solid #efefe9;
    border-bottom: 1px solid #efefe9;
    padding: 0;
    position: static;
    background: #fff;
    box-shadow: none;
}

.df-nav__item {
    position: static;
    display: flex;
    align-items: stretch;
}

.df-nav__link {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 30px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink) !important;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.6px;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
}

.df-nav__link:hover,
.df-nav__item.is-open > .df-nav__link {
    color: var(--green) !important;
    box-shadow: inset 0 -2px 0 var(--green) !important;
}

.df-nav__arrow {
    width: 9px;
    height: 6px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    transition: transform .2s ease;
}

.df-nav__item.is-open .df-nav__arrow {
    transform: rotate(180deg);
}

.df-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(7px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.df-nav__item.is-open > .df-dropdown {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.df-dropdown__panel {
    width: 100%;
    overflow: hidden;
    background: #fff;
    border-top: 1px solid #d9dbd5;
    border-bottom: 1px solid #d9dbd5;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: 0 18px 40px rgba(20, 41, 32, .10);
}

.df-dropdown__panel--shop {
    width: 100%;
    margin: 0;
    padding: 22px max(4vw, 32px) 0;
}

.df-dropdown__panel--shop .df-shop-grid {
    width: 100%;
    margin: 0 auto;
}

.df-shop-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
}

.df-shop-card {
    display: block;
    padding: 10px 18px 20px;
    border-right: 1px solid #eeeeea;
}

.df-shop-card:last-child {
    border-right: 0;
}

.df-shop-card img {
    width: 100%;
    aspect-ratio: 1.35 / 1;
    display: block;
    object-fit: cover;
    border-radius: 3px;
}

.df-shop-card__body {
    padding: 15px 7px 0;
}

.df-shop-card h3,
.df-venue h3,
.df-menu-column h3 {
    margin: 0;
    color: var(--green);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .65px;
    line-height: 1.3;
    text-transform: uppercase;
}

.df-shop-card p {
    min-height: 72px;
    margin: 13px 0 12px;
    color: #4f5651;
    font-size: 14px;
    line-height: 1.55;
}

.df-shop-card__body > span,
.df-dropdown__footer-link {
    color: var(--green);
    font-size: 13px;
    font-weight: 700;
}

.df-shop-card__body b,
.df-dropdown__footer-link b {
    margin-left: 7px;
}

.df-dropdown__footer-link {
    min-height: 43px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0 -18px;
    border-top: 1px solid var(--line);
}

.df-dropdown__panel--food {
    padding: 24px max(3vw, 24px) 0;
}

.df-food-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
}

.df-venue {
    min-width: 0;
    display: block;
    padding: 18px 16px 22px;
    border-right: 1px solid #eeeeea;
}

.df-venue:last-child {
    border-right: 0;
}

.df-venue img {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    object-fit: cover;
    border-radius: 3px;
}

.df-venue > div {
    padding-top: 15px;
}

.df-venue h3 {
    color: #173f31;
    font-size: 15px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.df-venue p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}

.df-venue__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    color: #173f31;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

.df-venue__cta b {
    font-size: 14px;
    font-weight: 600;
    transition: transform .2s ease;
}

.df-venue:hover .df-venue__cta b {
    transform: translateX(3px);
}

.df-dropdown__panel--food .df-dropdown__footer-link {
    margin: 14px calc(max(3vw, 24px) * -1) 0;
}

.df-dropdown__panel--visiting {
    width: 100%;
    margin: 0;
    padding: 0 max(8vw, 60px);
}

.df-visiting-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 235px;
    max-width: 1280px;
    margin: 0 auto;
}

.df-menu-column {
    margin: 12px 0;
    padding: 22px 28px;
    border-right: 1px solid #eeeeea;
}

.df-menu-column h3 {
    margin-bottom: 18px;
}

.df-menu-column a {
    display: block;
    padding: 10px 0;
    color: #2d332f;
    font-size: 14px;
    line-height: 1.4;
}

.df-promo-card {
    --df-image: none;
    min-height: 270px;
    display: flex;
    align-items: flex-end;
    padding: 24px;
    background:#566159;
    color: #fff !important;
}

.df-promo-card strong {
    display: block;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.15;
}

.df-promo-card p {
    margin: 10px 0 15px;
    font-size: 11.5px;
    line-height: 1.45;
}

.df-promo-card span {
    font-size: 11px;
    font-weight: 700;
}

.df-dropdown__panel--about {
    width: 100%;
    margin: 0;
    padding: 0 max(14vw, 80px);
}

.df-about-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr 1.45fr;
    min-height: 270px;
    max-width: 980px;
    margin: 0 auto;
}

.df-about-grid .df-menu-column {
    min-height: 270px;
}

.df-header__toggle {
    display: none;
    width: 42px;
    height: 42px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
}

.df-header__toggle span {
    width: 24px;
    height: 2px;
    background: var(--ink);
}

@media (hover:hover) and (min-width:1025px) {
    .df-nav__item--dropdown:hover > .df-dropdown {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .df-nav__item--dropdown:hover > .df-nav__link {
        color: var(--green) !important;
        box-shadow: inset 0 -2px 0 var(--green) !important;
    }
}

@media (max-width: 1450px) and (min-width: 1025px) {
    .df-header__utility a {
        padding: 0 9px;
        font-size: 9.5px;
    }

    .df-nav__link {
        padding-right: 22px;
        padding-left: 22px;
    }
}

@media (max-width: 1200px) {
    .df-nav__link {
        padding: 0 19px;
        font-size: 11px;
    }
}

@media (max-width:1024px) {
    .df-demo-shell {
        padding: 0;
        background: #fff;
    }

    .df-demo-shell .df-header {
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .df-demo-shell .df-header__top {
        min-height: 78px;
        height: auto;
        grid-template-columns: 1fr auto;
        padding: 10px 18px;
        width: 100%;
    }

    .df-header__socials,
    .df-header__actions {
        display: none;
    }

    .df-header__logo {
        width: 142px;
        justify-self: start;
    }

    .df-header__toggle {
        display: flex;
    }

    .df-demo-shell .df-nav {
        display: none;
        flex-direction: column;
        border-top: 1px solid var(--line);
        position: static;
        padding: 0;
    }

    .df-header.is-mobile-open .df-nav {
        display: flex;
    }

    .df-nav__item {
        display: block;
        border-bottom: 1px solid var(--line);
    }

    .df-nav__link {
        width: 100%;
        min-height: 55px;
        justify-content: space-between;
        padding: 0 20px;
    }

    .df-dropdown {
        position: static;
        width: 100%;
        display: none;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .df-nav__item.is-open > .df-dropdown {
        display: block;
        transform: none;
    }

    .df-dropdown__panel {
        width: 100%;
        border: 0;
        border-top: 1px solid var(--line);
        border-radius: 0;
        box-shadow: none;
    }

    .df-shop-grid {
        grid-template-columns: 1fr;
    }

    .df-shop-card {
        display: grid;
        grid-template-columns: 135px 1fr;
        gap: 15px;
        padding: 14px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .df-shop-card:last-child {
        border-bottom: 0;
    }

    .df-shop-card img {
        height: 130px;
        aspect-ratio: auto;
    }

    .df-shop-card p {
        min-height: 0;
    }

    .df-food-grid {
        grid-template-columns: 1fr 1fr;
    }

    .df-venue {
        border-right: 1px solid #eeeeea;
        border-bottom: 1px solid var(--line);
    }

    .df-venue:nth-child(even) {
        border-right: 0;
    }

    .df-venue:last-child {
        border-bottom: 0;
    }

    .df-visiting-grid,
    .df-about-grid {
        grid-template-columns: 1fr 1fr;
    }

    .df-promo-card {
        grid-column: 1 / -1;
    }
}

@media (max-width:620px) {
    .df-food-grid,
    .df-visiting-grid,
    .df-about-grid {
        grid-template-columns: 1fr;
    }

    .df-venue,
    .df-venue:nth-child(even),
    .df-venue:nth-child(4n) {
        border-right: 0;
        border-bottom: 1px solid #eeeeea;
    }

    .df-venue img {
        aspect-ratio: 1 / 1;
    }

    .df-shop-card {
        grid-template-columns: 105px 1fr;
    }

    .df-shop-card img {
        height: 110px;
    }

    .df-menu-column {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .df-promo-card {
        grid-column: auto;
    }
}


/* v0.3 polish */
.df-button-row{display:flex;gap:10px;flex-wrap:wrap}
.df-product__img,.df-article__img,.df-eat-card,.df-event,.df-journey{background-color:#d9d4c8}
.df-product__img,.df-article__img{overflow:hidden}
.df-product,.df-article{position:relative}
.df-product__img,.df-article__img,.df-eat-card,.df-event,.df-journey{transition:transform .35s ease,filter .35s ease}
.df-product:hover .df-product__img,.df-article:hover .df-article__img{filter:saturate(1.04) contrast(1.02)}
.df-section-head{padding-bottom:8px}
.df-section-head .df-link{margin-bottom:6px}
.df-shop,.df-events,.df-editorial{border-top:1px solid rgba(23,63,49,.08)}
.df-eat-card>div,.df-event>div{max-width:92%}
.df-footer__brand p{max-width:390px}

/* Typography option B: closer to the current Darts Farm sans-led brand language.
   Set in Appearance > Customize > Darts Farm Design, or append ?df_type=sans while reviewing. */
body.df-type-sans .df-display,
body.df-type-sans .df-journey h3,
body.df-type-sans .df-product h3,
body.df-type-sans .df-eat-card h3,
body.df-type-sans .df-season__facts strong,
body.df-type-sans .df-story h2,
body.df-type-sans .df-event h3,
body.df-type-sans .df-wellness h2,
body.df-type-sans .df-article h3,
body.df-type-sans .df-footer h4,
body.df-type-sans .df-entry>h1,
body.df-type-sans .df-404 h1,
body.df-type-sans .df-entry__content h2,
body.df-type-sans .df-entry__content h3{
  font-family:'Mukta',Arial,Helvetica,sans-serif!important;
  font-weight:500;
  letter-spacing:-.025em;
}
body.df-type-sans .df-display{line-height:.96}
body.df-type-sans .df-intro h2{font-size:clamp(36px,4vw,54px);line-height:1.04;letter-spacing:-.025em}
body.df-type-sans .df-hero h1{font-size:clamp(58px,6.2vw,98px);font-weight:500;letter-spacing:-.035em}
body.df-type-sans .df-section-head h2,
body.df-type-sans .df-eat__copy h2,
body.df-type-sans .df-wellness h2{letter-spacing:-.035em}
body.df-type-sans .df-journey h3{font-size:clamp(32px,2.5vw,40px);font-weight:600;line-height:1.02}
body.df-type-sans .df-product h3{font-size:24px;font-weight:500}
body.df-type-sans .df-event h3{font-weight:500}

/* v0.3.7 — unified homepage H2 scale
   All major homepage H2s now use the intro heading scale and 1.1 line-height. */
.df-intro h2,
.df-season h2,
.df-section-head h2,
.df-eat__copy h2,
.df-story h2,
.df-wellness__copy h2,
.df-newsletter h2{
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.1;
}
body.df-type-sans .df-intro h2,
body.df-type-sans .df-season h2,
body.df-type-sans .df-section-head h2,
body.df-type-sans .df-eat__copy h2,
body.df-type-sans .df-story h2,
body.df-type-sans .df-wellness__copy h2,
body.df-type-sans .df-newsletter h2{
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.1;
}

/* Generic WordPress content templates */
.df-content-shell{padding:90px 0 110px;background:var(--df-cream-2);min-height:55vh}.df-content-wrap{max-width:980px}.df-entry>h1,.df-404 h1{margin:0 0 32px;color:var(--df-green);font-size:clamp(54px,6vw,88px)}.df-entry__content{font-size:17px;line-height:1.75;color:#49524c}.df-entry__content h2,.df-entry__content h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--df-green)}.df-entry__content img{height:auto}.df-404 p:not(.df-eyebrow){max-width:560px;font-size:17px;line-height:1.7;margin-bottom:28px}

@media(max-width:920px){
  .df-intro{padding:78px 0 76px}
  .df-intro__grid{column-gap:28px}
  .df-intro h2{font-size:clamp(36px,7vw,54px);line-height:1.1}
  .df-intro__copy{margin-top:64px}
}
@media(max-width:640px){
  .df-intro{padding:64px 0 62px}
  .df-intro h2{font-size:36px;line-height:1.1}
  .df-intro__copy{grid-template-columns:1fr;gap:22px;margin-top:52px}
  .df-hero p{font-size:16px;line-height:1.55}
  body.df-type-sans .df-intro h2{font-size:34px;line-height:1.06}
}


/* v0.3.7 responsive heading and intro CTA consistency */
@media(max-width:920px){
  .df-intro h2,.df-season h2,.df-section-head h2,.df-eat__copy h2,.df-story h2,.df-wellness__copy h2,.df-newsletter h2,
  body.df-type-sans .df-intro h2,body.df-type-sans .df-season h2,body.df-type-sans .df-section-head h2,body.df-type-sans .df-eat__copy h2,body.df-type-sans .df-story h2,body.df-type-sans .df-wellness__copy h2,body.df-type-sans .df-newsletter h2{font-size:clamp(36px,7vw,54px);line-height:1.1}
}
@media(max-width:640px){
  .df-intro h2,.df-season h2,.df-section-head h2,.df-eat__copy h2,.df-story h2,.df-wellness__copy h2,.df-newsletter h2,
  body.df-type-sans .df-intro h2,body.df-type-sans .df-season h2,body.df-type-sans .df-section-head h2,body.df-type-sans .df-eat__copy h2,body.df-type-sans .df-story h2,body.df-type-sans .df-wellness__copy h2,body.df-type-sans .df-newsletter h2{font-size:36px;line-height:1.1}
  .df-intro__copy .df-btn--strong{width:auto;justify-self:start}
}


/* v0.3.8 — unified body copy and kicker rhythm */
p.df-eyebrow{
  margin:0 0 var(--df-kicker-gap);
  color:var(--df-green);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
}
/* The intro kicker is a side label rather than a stacked section kicker. */
p.df-eyebrow.df-intro__eyebrow{margin:5px 0 0;color:var(--df-green)}
/* On dark/image sections use the same kicker spec in the heading's contrast colour. */
.df-season p.df-eyebrow,.df-story p.df-eyebrow,.df-newsletter p.df-eyebrow{color:#fff}

/* All homepage body copy follows the intro paragraph's 17px / 1.68 system. */
.df-section-head p:not(.df-eyebrow),
.df-eat__copy p:not(.df-eyebrow),
.df-wellness__copy p:not(.df-eyebrow),
.df-article p{color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}
.df-season p:not(.df-eyebrow),
.df-story p:not(.df-eyebrow),
.df-newsletter p:not(.df-eyebrow),
.df-journey p,
.df-event p{font-size:var(--df-body-size);line-height:var(--df-body-line)}

/* Visual prototype placeholders: intentionally no temporary photography. */
.df-menu-image-placeholder{width:100%;aspect-ratio:1.35/1;display:block;background:#d6dbd6;border-radius:3px}
.df-menu-image-placeholder--square{aspect-ratio:1/1}

/* v0.4.0 — neutral image placeholders for layout review */
.df-hero__media,
.df-story,
.df-journey,
.df-journey:before,
.df-eat-card,
.df-event,
.df-promo-card {
    background-image: none !important;
    background-color: #566159 !important;
}
.df-journey:before {
    background: #566159 !important;
    transform: none !important;
}
.df-product__img,
.df-article__img,
.df-season__image,
.df-wellness__image,
.df-menu-image-placeholder {
    background-image: none !important;
    background-color: #d6dbd6 !important;
    filter: none !important;
}
.df-product:hover .df-product__img,
.df-article:hover .df-article__img {
    filter: none !important;
}
@media (max-width:1024px) {
    .df-shop-card .df-menu-image-placeholder {
        height: 130px;
        aspect-ratio: auto;
    }
}
@media (max-width:620px) {
    .df-shop-card .df-menu-image-placeholder {
        height: 110px;
    }
}


/* v0.4.2 — clearer primary journeys + intro spacing refinement */
@media(max-width:820px){
  .df-journey__copy{left:24px;right:24px;bottom:24px}
  .df-journey h3{font-size:38px}
  .df-intro__body{max-width:690px}
}
@media(max-width:480px){
  .df-journey{min-height:280px}
  .df-journey h3{font-size:34px}
}


/* v0.4.3 — tighter primary routes + compact circular action language */
/* Keep the four primary routes bold, but compact enough for every label to stay on one line. */
.df-journey{min-height:360px}
.df-journey__copy{left:26px;right:26px;bottom:25px;gap:16px}
.df-journey h3{max-width:none;font-size:clamp(29px,2.25vw,36px);line-height:1.05;white-space:nowrap}
.df-journey__arrow{width:38px;height:38px;flex-basis:38px;font-size:18px}

/* Use the small circular-arrow treatment for the important text actions rather than a loose long arrow. */
.df-btn--strong{display:inline-flex;align-items:center;gap:12px;padding:0;background:transparent;border:0}
.df-btn--strong:after{width:38px;height:38px;margin-left:2px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;border:1px solid currentColor;border-radius:50%;font-size:17px}
.df-btn--strong:hover:after{transform:none;background:rgba(23,63,49,.05)}
.df-section-head > .df-link{gap:12px}
.df-section-head > .df-link:after{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;border:1px solid currentColor;border-radius:50%;font-size:17px}
.df-section-head > .df-link:hover:after{transform:none;background:rgba(23,63,49,.05)}

@media(max-width:1080px) and (min-width:821px){
  .df-journey h3{font-size:34px}
}
@media(max-width:820px){
  .df-journey{min-height:300px}
  .df-journey h3{font-size:36px;white-space:normal}
}
@media(max-width:480px){
  .df-journey{min-height:265px}
  .df-journey h3{font-size:32px}
}


/* v0.4.4 — lock desktop route labels to one line + rebalance intro copy width */
@media(min-width:821px){
  .df-journey__copy{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:end}
  .df-journey h3{min-width:0;font-size:clamp(27px,2.05vw,34px);white-space:nowrap}
  .df-journey__arrow{justify-self:end}
}
.df-intro__body{max-width:690px}


/* v0.4.5 — stronger circular action hover + slightly deeper primary route cards */
/* Give the four opening routes a little more visual weight without changing their proportions dramatically. */
.df-journey{min-height:385px}

/* Circular actions share one deliberate interaction: outlined at rest, Darts Farm green with a white arrow on hover. */
.df-journey__arrow,
.df-btn--strong:after,
.df-section-head > .df-link:after{transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.df-journey:hover .df-journey__arrow,
.df-btn--strong:hover:after,
.df-section-head > .df-link:hover:after{background:var(--df-green);border-color:var(--df-green);color:#fff}
.df-journey:hover .df-journey__arrow{transform:translateX(3px)}
.df-btn--strong:hover:after,
.df-section-head > .df-link:hover:after{transform:none}

@media(max-width:820px){
  .df-journey{min-height:320px}
}
@media(max-width:480px){
  .df-journey{min-height:285px}
}

/* v0.4.7 — featured event + chronological supporting events */
.df-event-feature{margin-top:2px}
.df-event-feature .df-event--featured{min-height:535px;padding:42px}
.df-event-feature .df-event--featured h3{font-size:clamp(46px,4.4vw,64px);line-height:1.03;margin:10px 0 14px}
.df-event-feature .df-event--featured p{max-width:590px;margin-bottom:22px}

.df-event-upcoming{margin-top:34px;padding-top:24px;border-top:1px solid rgba(23,63,49,.16)}
.df-event-upcoming__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px;color:var(--df-green)}
.df-event-upcoming__head>span{font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.1}
.df-event-upcoming__head small{color:var(--df-muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.df-event-upcoming__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.df-event-upcoming__grid .df-event--support{min-height:245px;padding:24px}
.df-event-upcoming__grid .df-event--support h3{font-size:28px;line-height:1.08;margin:9px 0 17px;max-width:360px}
.df-event-upcoming__grid .df-event--support .df-link{margin-top:2px}

@media(max-width:900px){
  .df-event-upcoming__grid{grid-template-columns:1fr 1fr}
  .df-event-upcoming__grid .df-event--support:last-child{grid-column:1/-1}
}
@media(max-width:820px){
  .df-event-feature .df-event--featured{min-height:430px;padding:28px}
  .df-event-feature .df-event--featured h3{font-size:44px}
  .df-event-upcoming{margin-top:26px}
  .df-event-upcoming__head{align-items:flex-start;flex-direction:column;gap:5px}
  .df-event-upcoming__grid{grid-template-columns:1fr}
  .df-event-upcoming__grid .df-event--support:last-child{grid-column:auto}
  .df-event-upcoming__grid .df-event--support{min-height:225px}
}
@media(max-width:520px){
  .df-event-feature .df-event--featured{min-height:400px;padding:24px}
  .df-event-feature .df-event--featured h3{font-size:38px}
  .df-event-upcoming__grid .df-event--support{min-height:205px;padding:22px}
  .df-event-upcoming__grid .df-event--support h3{font-size:26px}
}


/* v0.4.8 — cache-bust fix + supporting events header polish */
.df-event-upcoming__head{min-height:34px}
.df-event-upcoming__head>span{display:block}
.df-event-upcoming__head small{display:block}


/* v0.4.9 — management-safe imagery: important text sits outside photography.
   This keeps venue/event cards robust when client-managed images change in Shopify. */

/* Eat & Drink: heading/copy above, four clean image cards beneath. */
.df-eat__intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);
  gap:72px;
  align-items:end;
  margin-bottom:42px;
}
.df-eat__heading h2{margin:0;color:var(--df-green)}
.df-eat__copy{align-self:end;padding-bottom:3px}
.df-eat__copy p{max-width:590px;margin:0 0 28px;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}
.df-eat__venues{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.df-eat-venue{display:block;min-width:0;background:#fff}
.df-eat-venue__image{aspect-ratio:1.18/1;background:#d6dbd6;overflow:hidden}
.df-eat-venue__body{padding:19px 2px 3px;border-top:0}
.df-eat-venue h3{margin:0 0 5px;color:var(--df-green);font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.08;font-weight:400}
.df-eat-venue span{display:block;color:var(--df-muted);font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.df-eat-venue__image{transition:filter .3s ease}
.df-eat-venue:hover .df-eat-venue__image{filter:brightness(.96)}
.df-eat-venue:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

/* Events: featured event gets a large image plus its own editorial panel. */
.df-event-feature{margin-top:4px}
.df-event-feature-card{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.78fr);min-height:510px;background:var(--df-cream-2);border:1px solid rgba(23,63,49,.08)}
.df-event-feature-card__image{min-height:510px;background:#566159}
.df-event-feature-card__body{display:flex;flex-direction:column;justify-content:center;padding:48px 48px 48px 44px;color:var(--df-body)}
.df-event-feature-card .df-event__date{color:var(--df-green)}
.df-event-feature-card h3{margin:11px 0 17px;color:var(--df-green);font-family:Georgia,'Times New Roman',serif;font-size:clamp(43px,4vw,60px);line-height:1.03;font-weight:400}
.df-event-feature-card p{max-width:520px;margin:0 0 25px;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}
.df-event-feature-card .df-link{align-self:flex-start;color:var(--df-green)}

/* Supporting events: consistent image ratio, then date/title/action below. */
.df-event-upcoming{margin-top:42px;padding-top:27px}
.df-event-upcoming__grid{gap:18px}
.df-event-mini{display:block;min-width:0;background:#fff}
.df-event-mini__image{aspect-ratio:1.45/1;background:#566159;transition:filter .3s ease}
.df-event-mini__body{padding:18px 2px 4px}
.df-event-mini .df-event__date{display:block;color:var(--df-muted)}
.df-event-mini h3{margin:8px 0 14px;color:var(--df-green);font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1.08;font-weight:400;max-width:360px}
.df-event-mini .df-link{color:var(--df-green)}
.df-event-mini:hover .df-event-mini__image{filter:brightness(.96)}
.df-event-mini:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

body.df-type-sans .df-eat-venue h3,
body.df-type-sans .df-event-feature-card h3,
body.df-type-sans .df-event-mini h3{
  font-family:'Mukta',Arial,Helvetica,sans-serif;
  font-weight:500;
  letter-spacing:-.025em;
}

@media(max-width:1080px){
  .df-eat__intro{grid-template-columns:1fr .85fr;gap:42px}
  .df-eat__venues{grid-template-columns:1fr 1fr}
  .df-event-feature-card{grid-template-columns:1.25fr .85fr}
  .df-event-feature-card__body{padding:38px 34px}
}
@media(max-width:820px){
  .df-eat__intro{grid-template-columns:1fr;gap:26px;margin-bottom:32px}
  .df-eat__copy{padding-bottom:0}
  .df-event-feature-card{grid-template-columns:1fr;min-height:0}
  .df-event-feature-card__image{min-height:0;aspect-ratio:1.48/1}
  .df-event-feature-card__body{padding:30px 28px 34px}
  .df-event-feature-card h3{font-size:43px}
}
@media(max-width:520px){
  .df-eat__venues{grid-template-columns:1fr;gap:26px}
  .df-eat-venue__image{aspect-ratio:1.42/1}
  .df-eat-venue__body{padding-top:15px}
  .df-event-feature-card__image{aspect-ratio:1.25/1}
  .df-event-feature-card__body{padding:25px 22px 28px}
  .df-event-feature-card h3{font-size:37px}
  .df-event-mini__image{aspect-ratio:1.35/1}
  .df-event-mini h3{font-size:27px}
}

/* v0.4.9 final alignment with the homepage H2 system. */
.df-eat__heading h2,
body.df-type-sans .df-eat__heading h2{
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.1;
}
@media(max-width:920px){
  .df-eat__heading h2,
  body.df-type-sans .df-eat__heading h2{font-size:clamp(36px,7vw,54px);line-height:1.1}
}
@media(max-width:900px){
  .df-event-mini:last-child{grid-column:1/-1}
}
@media(max-width:820px){
  .df-event-mini:last-child{grid-column:auto}
}
@media(max-width:640px){
  .df-eat__heading h2,
  body.df-type-sans .df-eat__heading h2{font-size:36px;line-height:1.1}
}


/* v0.4.10: premium events polish only. Preserve all later sections. */
.df-events .df-section-head > .df-link:after,
.df-event-feature-card .df-link:after,
.df-event-mini .df-link:after{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.df-events .df-section-head > .df-link:hover:after,
.df-event-feature-card .df-link:hover:after,
.df-event-mini .df-link:hover:after{
  background:var(--df-green);
  border-color:var(--df-green);
  color:#fff;
  transform:none;
}
.df-event-meta{display:flex;flex-wrap:wrap;gap:8px 9px;margin-bottom:14px}
.df-event-meta span{display:inline-flex;align-items:center;min-height:28px;padding:6px 12px 5px;border-radius:999px;background:rgba(23,63,49,.075);color:var(--df-green);font-size:10px;font-weight:800;line-height:1;letter-spacing:.13em;text-transform:uppercase}
.df-event-feature-card{grid-template-columns:minmax(0,1.68fr) minmax(355px,.74fr);min-height:540px;background:#fff;border:0;box-shadow:0 14px 34px rgba(16,38,30,.08)}
.df-event-feature-card__image{min-height:540px}
.df-event-feature-card__body{padding:52px 54px 54px 46px;background:var(--df-cream-2);position:relative}
.df-event-feature-card__body:before{content:"";position:absolute;left:0;top:36px;bottom:36px;width:1px;background:rgba(23,63,49,.08)}
.df-event-feature-card h3{margin:8px 0 16px;font-size:clamp(45px,4.1vw,62px);letter-spacing:-.03em}
.df-event-feature-card p{margin:0 0 28px;max-width:520px}
.df-event-feature-card .df-link,
.df-event-mini .df-link{gap:12px}
.df-event-upcoming{margin-top:46px;padding-top:30px;border-top:1px solid rgba(23,63,49,.12)}
.df-event-upcoming__head{margin-bottom:18px}
.df-event-upcoming__head > span{font-size:30px}
.df-event-mini{padding-bottom:4px}
.df-event-mini__image{aspect-ratio:1.38/1;border-radius:0;overflow:hidden}
.df-event-mini__body{padding:18px 0 4px}
.df-event-mini h3{margin:8px 0 15px;font-size:30px;max-width:15ch}
.df-event-mini .df-event-meta{margin-bottom:12px}
@media(max-width:1080px){
  .df-event-feature-card{grid-template-columns:1.3fr .9fr;min-height:500px}
  .df-event-feature-card__image{min-height:500px}
  .df-event-feature-card__body{padding:40px 38px}
}
@media(max-width:820px){
  .df-event-feature-card{grid-template-columns:1fr;min-height:0}
  .df-event-feature-card__image{min-height:0;aspect-ratio:1.46/1}
  .df-event-feature-card__body{padding:30px 28px 34px}
  .df-event-feature-card__body:before{display:none}
}
@media(max-width:520px){
  .df-event-meta{gap:7px}
  .df-event-meta span{min-height:26px;padding:5px 10px 4px;font-size:9px}
  .df-event-feature-card__body{padding:24px 22px 28px}
  .df-event-feature-card h3{font-size:38px}
  .df-event-mini h3{font-size:27px}
}


/* v0.4.11: events only — simplified editorial feature + chronological list. */
.df-events .df-event-meta{display:none}
.df-featured-event{display:block;color:inherit}
.df-featured-event__image{width:100%;aspect-ratio:2.18/1;background:#566159;transition:filter .3s ease}
.df-featured-event__content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:72px;align-items:end;padding:30px 0 36px;border-bottom:1px solid rgba(23,63,49,.14)}
.df-event-kicker{display:block;margin-bottom:10px;color:var(--df-green);font-size:10px;font-weight:800;line-height:1.3;letter-spacing:.14em;text-transform:uppercase}
.df-featured-event h3{margin:0;color:var(--df-green);font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,4.8vw,68px);line-height:1.02;font-weight:400;letter-spacing:-.035em}
.df-featured-event__detail p{max-width:560px;margin:0 0 22px;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}
.df-featured-event__detail .df-link{gap:12px}
.df-featured-event__detail .df-link:after{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;border:1px solid currentColor;border-radius:50%;font-size:17px;transition:background .2s ease,border-color .2s ease,color .2s ease}
.df-featured-event:hover .df-featured-event__image{filter:brightness(.97)}
.df-featured-event:hover .df-featured-event__detail .df-link:after{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:none}
.df-event-upcoming--list{margin-top:34px;padding-top:0;border-top:0}
.df-event-upcoming--list .df-event-upcoming__head{margin-bottom:4px;padding-bottom:16px;border-bottom:1px solid rgba(23,63,49,.12)}
.df-event-list{display:block}
.df-event-list__row{display:grid;grid-template-columns:130px minmax(0,1fr) 46px;gap:26px;align-items:center;min-height:100px;padding:20px 0;border-bottom:1px solid rgba(23,63,49,.12);color:inherit}
.df-event-list__row time{color:var(--df-green);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.df-event-list__title{display:flex;align-items:baseline;justify-content:space-between;gap:28px;min-width:0}
.df-event-list__title h3{margin:0;color:var(--df-green);font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.08;font-weight:400}
.df-event-list__title span{flex:0 0 auto;color:var(--df-muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.df-event-list__arrow{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;justify-self:end;border:1px solid var(--df-green);border-radius:50%;color:var(--df-green);font-size:17px;transition:background .2s ease,border-color .2s ease,color .2s ease}
.df-event-list__row:hover .df-event-list__arrow{background:var(--df-green);border-color:var(--df-green);color:#fff}
.df-event-list__row:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
body.df-type-sans .df-featured-event h3,
body.df-type-sans .df-event-list__title h3{font-family:'Mukta',Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.025em}
@media(max-width:900px){
 .df-featured-event__content{grid-template-columns:1fr;gap:18px;padding:24px 0 30px}
 .df-event-list__row{grid-template-columns:105px minmax(0,1fr) 42px;gap:18px}
 .df-event-list__title{display:block}
 .df-event-list__title span{display:block;margin-top:7px}
}
@media(max-width:640px){
 .df-featured-event__image{aspect-ratio:1.35/1}
 .df-featured-event h3{font-size:40px}
 .df-event-list__row{grid-template-columns:1fr 42px;gap:12px;min-height:0;padding:20px 0}
 .df-event-list__row time{grid-column:1;margin-bottom:-4px}
 .df-event-list__title{grid-column:1}
 .df-event-list__arrow{grid-column:2;grid-row:1/3;align-self:center}
 .df-event-list__title h3{font-size:26px}
 .df-event-upcoming--list .df-event-upcoming__head{align-items:flex-start;flex-direction:column;gap:5px}
}


/* v0.4.12: events only — CTA under featured heading + typographic dates. */
.df-featured-event__heading .df-link{margin-top:20px;gap:12px}
.df-featured-event__heading .df-link:after{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;border:1px solid currentColor;border-radius:50%;font-size:17px;transition:background .2s ease,border-color .2s ease,color .2s ease}
.df-featured-event:hover .df-featured-event__heading .df-link:after{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:none}
.df-featured-event__detail{align-self:end;padding-bottom:5px}
.df-featured-event__detail p{margin:0}
.df-event-list__row{grid-template-columns:92px minmax(0,1fr) 46px;gap:30px;min-height:112px;padding:22px 0}
.df-event-list__row time{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:var(--df-green);line-height:1}
.df-event-list__row time strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:.95;font-weight:400;letter-spacing:-.025em}
.df-event-list__row time span{display:block;margin-top:7px;font-size:9px;font-weight:800;line-height:1;letter-spacing:.18em;text-transform:uppercase}
.df-event-list__title{display:block}
.df-event-list__title span{display:block;margin-top:7px;color:var(--df-green);font-size:9px;font-weight:800;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}
body.df-type-sans .df-event-list__row time strong{font-family:'Mukta',Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.02em}
@media(max-width:900px){
 .df-event-list__row{grid-template-columns:78px minmax(0,1fr) 42px;gap:20px}
 .df-event-list__row time strong{font-size:28px}
}
@media(max-width:640px){
 .df-featured-event__heading .df-link{margin-top:16px}
 .df-featured-event__detail{padding-bottom:0}
 .df-event-list__row{grid-template-columns:64px minmax(0,1fr) 42px;gap:14px;padding:19px 0}
 .df-event-list__row time{grid-column:1;grid-row:1;align-self:start;padding-top:2px;margin:0}
 .df-event-list__row time strong{font-size:25px}
 .df-event-list__title{grid-column:2;grid-row:1}
 .df-event-list__arrow{grid-column:3;grid-row:1;align-self:center}
}


/* v0.4.13: events only — quieter editorial rhythm. */
.df-featured-event__content{
  gap:64px;
  padding:28px 0 34px;
  border-bottom:0;
}
.df-event-kicker{margin-bottom:9px}
.df-featured-event__heading .df-link{margin-top:17px}
.df-featured-event__detail{padding-bottom:7px}

.df-event-upcoming--list{
  margin-top:36px;
  padding-top:27px;
  border-top:1px solid rgba(23,63,49,.10);
}
.df-event-upcoming--list .df-event-upcoming__head{
  margin-bottom:0;
  padding-bottom:13px;
  border-bottom:0;
}
.df-event-upcoming__head>span{
  font-size:27px;
  line-height:1.1;
}
.df-event-upcoming__head small{display:none}

.df-event-list__row{
  grid-template-columns:76px minmax(0,1fr) 42px;
  gap:26px;
  min-height:92px;
  padding:18px 0;
  border-bottom:0;
  border-top:1px solid rgba(23,63,49,.085);
}
.df-event-list__row time strong{
  font-size:23px;
  line-height:1;
}
.df-event-list__row time span{
  margin-top:5px;
  font-size:8px;
  letter-spacing:.16em;
}
.df-event-list__title h3{
  font-size:28px;
  line-height:1.1;
}
.df-event-list__title span{
  margin-top:5px;
  color:var(--df-muted);
  font-size:8px;
  letter-spacing:.12em;
}
.df-event-list__arrow{width:36px;height:36px;font-size:16px}
.df-event-list__row:hover h3{text-decoration:none;color:var(--df-green-dark)}

@media(max-width:900px){
  .df-featured-event__content{gap:18px}
  .df-event-list__row{grid-template-columns:70px minmax(0,1fr) 40px;gap:18px}
  .df-event-list__row time strong{font-size:22px}
  .df-event-list__title h3{font-size:27px}
}
@media(max-width:640px){
  .df-event-upcoming--list{margin-top:30px;padding-top:23px}
  .df-event-list__row{grid-template-columns:58px minmax(0,1fr) 38px;gap:12px;padding:17px 0}
  .df-event-list__row time strong{font-size:21px}
  .df-event-list__title h3{font-size:25px}
  .df-event-list__arrow{width:34px;height:34px}
}


/* v0.4.14: events only — remove redundant list heading and attach featured CTA to its copy. */
.df-featured-event__heading .df-link{display:none}
.df-featured-event__detail{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:4px}
.df-featured-event__detail p{margin-bottom:17px}
.df-featured-event__detail .df-link{gap:12px}
.df-featured-event__detail .df-link:after{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;
  border:1px solid currentColor;border-radius:50%;font-size:17px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.df-featured-event:hover .df-featured-event__detail .df-link:after{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:none}
.df-event-upcoming--list{margin-top:24px;padding-top:0;border-top:1px solid rgba(23,63,49,.10)}
.df-event-upcoming--list .df-event-upcoming__head{display:none}
.df-event-list__row:first-child{border-top:0}
@media(max-width:900px){
  .df-featured-event__detail{padding-bottom:0}
  .df-event-upcoming--list{margin-top:22px}
}
@media(max-width:640px){
  .df-featured-event__detail p{margin-bottom:15px}
  .df-event-upcoming--list{margin-top:20px;padding-top:0}
}


/* v0.4.15: refine featured-event alignment and simplify supporting list only. */
.df-featured-event__content{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:56px;
  align-items:end;
}
.df-featured-event__main{max-width:760px}
.df-featured-event__main h3{margin:0 0 24px}
.df-featured-event__main p{max-width:640px;margin:0;color:var(--df-body);font-size:var(--df-body-size);line-height:var(--df-body-line)}
.df-featured-event__action{display:flex;align-items:flex-end;justify-content:flex-end;padding-bottom:4px}
.df-featured-event__action .df-link{white-space:nowrap;gap:14px}
.df-event-list__row{
  grid-template-columns:88px minmax(0,1fr) 46px;
  gap:42px;
  min-height:122px;
  padding:28px 0;
}
.df-event-list__title h3{font-size:29px;line-height:1.08}
.df-event-list__title span{display:none}
.df-event-list__row time strong{font-size:30px}
.df-event-list__row time span{margin-top:8px}
@media(max-width:1080px){
  .df-featured-event__content{gap:40px}
  .df-event-list__row{gap:34px;min-height:116px;padding:26px 0}
}
@media(max-width:820px){
  .df-featured-event__content{grid-template-columns:1fr;gap:22px;align-items:start}
  .df-featured-event__action{justify-content:flex-start;padding-bottom:0}
  .df-event-list__row{grid-template-columns:78px minmax(0,1fr) 42px;gap:24px;min-height:104px;padding:24px 0}
}
@media(max-width:520px){
  .df-featured-event__main h3{margin-bottom:18px}
  .df-event-list__row{grid-template-columns:64px minmax(0,1fr) 40px;gap:18px;min-height:96px;padding:22px 0}
  .df-event-list__title h3{font-size:26px}
}


/* v0.4.16: align featured CTA and event kicker with site CTA/kicker language. */
.df-event-kicker{
  margin:0 0 18px;
  color:var(--df-green);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.df-featured-event__action .df-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.df-featured-event__action .df-link:after{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.df-featured-event:hover .df-featured-event__action .df-link:after,
.df-featured-event__action .df-link:hover:after{
  background:var(--df-green);
  border-color:var(--df-green);
  color:#fff;
  transform:none;
}
@media(max-width:520px){
  .df-event-kicker{margin-bottom:14px;font-size:11px}
}


/* v0.4.17: Shop Online only — reusable split section with compact route cards. */
.df-shop{padding:120px 0;background:#fff}
.df-shop-split{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  gap:clamp(58px,7vw,112px);
  align-items:center;
}
.df-shop-split__intro{max-width:540px}
.df-shop-split__intro h2{
  margin:0;
  color:var(--df-green);
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.1;
  letter-spacing:-.035em;
}
.df-shop-split__intro > p:not(.df-eyebrow){
  max-width:510px;
  margin:26px 0 28px;
  color:var(--df-body);
  font-size:var(--df-body-size);
  line-height:var(--df-body-line);
}
.df-shop-split__intro > .df-link{gap:12px}
.df-shop-split__intro > .df-link:after{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;
  border:1px solid currentColor;border-radius:50%;font-size:17px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.df-shop-split__intro > .df-link:hover:after{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:none}
.df-shop-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.df-shop-route{position:relative;display:block;min-height:285px;overflow:hidden;background:#566159;color:#fff}
.df-shop-route__media{position:absolute;inset:0;background:linear-gradient(145deg,#607469,#29493d);transition:transform .6s ease,filter .35s ease}
.df-shop-route:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,27,19,.74),rgba(8,27,19,.05) 70%)}
.df-shop-route__content{position:absolute;z-index:2;left:25px;right:24px;bottom:23px;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:18px;align-items:end}
.df-shop-route strong{min-width:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,2.2vw,34px);font-weight:400;line-height:1.03;letter-spacing:-.03em;color:#fff}
.df-shop-route__arrow{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;justify-self:end;border:1px solid rgba(255,255,255,.76);border-radius:50%;font-size:18px;line-height:1;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.df-shop-route:hover .df-shop-route__media{transform:scale(1.025);filter:brightness(.96)}
.df-shop-route:hover .df-shop-route__arrow{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:translateX(3px)}
body.df-type-sans .df-shop-route strong{font-family:'Mukta',Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.025em}
@media(max-width:1080px){
  .df-shop-split{grid-template-columns:.82fr 1.18fr;gap:52px}
  .df-shop-route{min-height:250px}
  .df-shop-route__content{left:22px;right:21px;bottom:21px}
  .df-shop-route strong{font-size:29px}
}
@media(max-width:820px){
  .df-shop{padding:80px 0}
  .df-shop-split{grid-template-columns:1fr;gap:38px;align-items:start}
  .df-shop-split__intro{max-width:680px}
  .df-shop-routes{grid-template-columns:1fr 1fr}
  .df-shop-route{min-height:260px}
}
@media(max-width:560px){
  .df-shop-routes{grid-template-columns:1fr}
  .df-shop-route{min-height:260px}
  .df-shop-route strong{font-size:30px}
}


/* v0.4.18: page colour rhythm only — no layout/content changes. */
.df-events{background:#f7f3eb}
.df-shop{background:#dfe5df}


/* v0.4.19: restrained reusable homepage scroll-reveal system. */
.df-motion-ready .df-reveal{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .72s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--df-reveal-delay,0ms);
  will-change:opacity,transform;
}
.df-motion-ready .df-reveal.df-reveal--image{
  transform:translate3d(0,12px,0) scale(1.018);
  transition-duration:.88s;
}
.df-motion-ready .df-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  will-change:auto;
}
@media(max-width:640px){
  .df-motion-ready .df-reveal{
    transform:translate3d(0,16px,0);
    transition-duration:.62s;
  }
  .df-motion-ready .df-reveal.df-reveal--image{
    transform:translate3d(0,8px,0) scale(1.012);
  }
}
@media(prefers-reduced-motion:reduce){
  .df-reveal{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* v0.4.20: six-eatery section — intentionally simple and Shopify-friendly. */
.df-eat__intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
  gap:72px;
  align-items:end;
  margin-bottom:58px;
}
.df-eat__copy{max-width:600px;justify-self:end}
.df-eat__venues{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:28px;
  row-gap:48px;
}
.df-eat-venue{background:transparent}
.df-eat-venue__image{
  aspect-ratio:1.28/1;
  background:#d6dbd6;
  overflow:hidden;
  transition:filter .3s ease,transform .45s cubic-bezier(.22,1,.36,1);
}
.df-eat-venue__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:18px;
  align-items:center;
  padding:20px 0 0;
}
.df-eat-venue__body>div{min-width:0}
.df-eat-venue h3{margin:0 0 7px;font-size:28px;line-height:1.06}
.df-eat-venue span{font-size:9px;line-height:1.35;letter-spacing:.13em}
.df-eat-venue__arrow{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  justify-self:end;border:1px solid var(--df-green);border-radius:50%;
  color:var(--df-green);font-style:normal;font-size:17px;line-height:1;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.df-eat-venue:hover .df-eat-venue__image{filter:brightness(.96);transform:scale(1.008)}
.df-eat-venue:hover h3{text-decoration:none;color:var(--df-green-dark)}
.df-eat-venue:hover .df-eat-venue__arrow{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:translateX(3px)}
@media(max-width:1080px){
  .df-eat__intro{grid-template-columns:1fr .85fr;gap:48px;margin-bottom:48px}
  .df-eat__venues{column-gap:22px;row-gap:42px}
  .df-eat-venue h3{font-size:26px}
}
@media(max-width:820px){
  .df-eat__intro{grid-template-columns:1fr;gap:26px;margin-bottom:38px}
  .df-eat__copy{max-width:680px;justify-self:start;padding-bottom:0}
  .df-eat__venues{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 18px}
}
@media(max-width:560px){
  .df-eat__venues{grid-template-columns:1fr;row-gap:34px}
  .df-eat-venue__image{aspect-ratio:1.42/1}
  .df-eat-venue h3{font-size:27px}
}


/* v0.4.22: sticky main navigation/header. */
.df-demo-shell{
    position:sticky;
    top:0;
    z-index:99999;
}
.df-demo-shell .df-header{
    position:relative;
    width:100%;
    background:#fff;
}
body.admin-bar .df-demo-shell{top:32px}
@media(max-width:782px){
    body.admin-bar .df-demo-shell{top:46px}
}


/* v0.4.23: Shop tint + simplified Eat & Drink card typography/CTA. */
.df-shop{background:#dfe5df}
.df-eat__copy .df-eat__cta{gap:12px}
.df-eat__copy .df-eat__cta:after{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.df-eat__copy .df-eat__cta:hover:after{
  background:var(--df-green);
  border-color:var(--df-green);
  color:#fff;
  transform:none;
}
.df-eat-venue__body{
  display:block;
  padding-top:22px;
}
.df-eat-venue h3{
  margin:0 0 9px;
  font-size:31px;
  line-height:1.05;
}
.df-eat-venue span{
  color:var(--df-green);
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.11em;
}
.df-eat-venue__arrow{display:none!important}
@media(max-width:1080px){
  .df-eat-venue h3{font-size:29px}
}
@media(max-width:560px){
  .df-eat-venue h3{font-size:28px}
  .df-eat-venue span{font-size:10px}
}


/* v0.4.24: only the desktop main menu sticks; the upper header scrolls away. */
.df-demo-shell{
    position:relative;
    top:auto !important;
    z-index:99999;
}
.df-demo-shell .df-header{
    position:relative;
    top:auto;
}
body.admin-bar .df-demo-shell{top:auto !important}

@media (min-width:1025px){
    .df-header.is-nav-fixed{
        padding-bottom:58px;
    }
    .df-header.is-nav-fixed .df-nav{
        position:fixed;
        top:0;
        left:0;
        right:0;
        width:100%;
        z-index:99999;
        background:#fff;
        box-shadow:0 8px 22px rgba(24,44,35,.07);
    }
    body.admin-bar .df-header.is-nav-fixed .df-nav{top:32px}
}
@media (min-width:1025px) and (max-width:782px){
    body.admin-bar .df-header.is-nav-fixed .df-nav{top:46px}
}

@media (max-width:782px){
    body.admin-bar .df-header.is-nav-fixed .df-nav{top:46px}
}


/* v0.4.26: featured event video proof-of-concept. */
.df-featured-event__video{
  position:relative;
  overflow:hidden;
  background:#13231c;
}
.df-featured-event__video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}


/* v0.4.27: landscape featured-event video with non-interactive inline treatment. */
.df-featured-event__video iframe{
  pointer-events:none;
}


/* v0.4.28: local inline event video + smoother motion + event-list polish. */
.df-featured-event__video video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  border:0;
  pointer-events:none;
}
.df-featured-event__video iframe{display:none!important}

/* Softer, slower reveal rhythm across the homepage. */
.df-motion-ready .df-reveal{
  transform:translate3d(0,18px,0);
  transition:
    opacity .96s cubic-bezier(.16,1,.3,1),
    transform 1.02s cubic-bezier(.16,1,.3,1);
}
.df-motion-ready .df-reveal.df-reveal--image{
  transform:translate3d(0,10px,0) scale(1.012);
  transition-duration:1.14s;
}
/* Video should settle without scaling, which keeps playback smoother. */
.df-motion-ready .df-featured-event__video.df-reveal--image{
  transform:translate3d(0,10px,0);
  transition-duration:1.12s;
}
.df-motion-ready .df-reveal.is-visible,
.df-motion-ready .df-featured-event__video.df-reveal--image.is-visible{
  transform:translate3d(0,0,0) scale(1);
}
@media(max-width:640px){
  .df-motion-ready .df-reveal{
    transform:translate3d(0,13px,0);
    transition-duration:.86s;
  }
  .df-motion-ready .df-reveal.df-reveal--image{
    transform:translate3d(0,7px,0) scale(1.008);
    transition-duration:.98s;
  }
  .df-motion-ready .df-featured-event__video.df-reveal--image{
    transform:translate3d(0,7px,0);
  }
}

.df-event-list__row time span{
  font-size:10px;
  letter-spacing:.15em;
}
.df-event-list__row:last-child{
  border-bottom:1px solid rgba(23,63,49,.085);
}


/* v0.4.30: safe CSS-only polish for existing Wellness + Editorial markup. */
.df-wellness{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  min-height:660px;
  background:#eef1ec;
}
.df-wellness__copy{
  align-self:center;
  padding:112px clamp(48px,7vw,118px);
}
.df-wellness__copy h2{
  margin:0;
  color:var(--df-green);
  font-size:clamp(54px,5vw,78px);
}
.df-wellness__copy p:not(.df-eyebrow){
  max-width:560px;
  margin:26px 0 34px;
  color:var(--df-body);
  font-size:var(--df-body-size);
  line-height:var(--df-body-line);
}
.df-wellness__image{min-height:660px;background:#cfd7d0}
.df-wellness .df-button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.df-editorial{padding:128px 0 132px;background:var(--df-cream-2)}
.df-editorial .df-section-head{margin-bottom:50px}
.df-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.df-article{min-width:0}
.df-article__img{
  aspect-ratio:1.28/1;
  background:#d6dbd6;
  transition:transform .9s cubic-bezier(.22,.61,.36,1);
}
.df-article:hover .df-article__img{transform:scale(1.015)}
.df-article__type{
  margin:20px 0 9px;
  color:var(--df-green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.df-article h3,
.df-article:first-child h3{
  max-width:15ch;
  margin:0 0 13px;
  color:var(--df-green);
  font-family:Georgia,'Times New Roman',serif;
  font-size:31px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.02em;
}
.df-article p{
  max-width:34ch;
  margin:0 0 18px;
  color:var(--df-body);
  font-size:15px;
  line-height:1.6;
}
.df-article .df-link{gap:12px}
.df-article .df-link:after{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;
  border:1px solid currentColor;border-radius:50%;font-size:16px;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.df-article .df-link:hover:after{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:none}
body.df-type-sans .df-article h3,
body.df-type-sans .df-article:first-child h3{font-family:'Mukta',Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.025em}
@media(max-width:1080px){
  .df-wellness{grid-template-columns:1fr 1fr}
  .df-wellness__copy{padding:84px 54px}
  .df-editorial-grid{gap:20px}
  .df-article h3,.df-article:first-child h3{font-size:28px}
}
@media(max-width:820px){
  .df-wellness{grid-template-columns:1fr}
  .df-wellness__copy{padding:72px 24px}
  .df-wellness__image{min-height:500px;order:-1}
  .df-editorial{padding:84px 0 90px}
  .df-editorial-grid{grid-template-columns:1fr;gap:46px}
  .df-article h3,.df-article:first-child h3{max-width:18ch;font-size:30px}
}
@media(max-width:520px){
  .df-wellness__image{min-height:400px}
  .df-editorial-grid{gap:38px}
  .df-article h3,.df-article:first-child h3{font-size:27px}
}


/* v0.4.31: final lower-page pass — spa, latest content, newsletter and footer. */
.df-wellness{
  background:#eef1ec;
}
.df-wellness__copy h2{
  max-width:620px;
}

.df-editorial{
  background:var(--df-cream-2);
}
.df-editorial-grid{
  align-items:stretch;
}
.df-editorial .df-article{
  display:flex;
  flex-direction:column;
  height:100%;
}
.df-editorial .df-article__img,
.df-editorial .df-article:first-child .df-article__img{
  width:100%;
  aspect-ratio:1.28/1;
}
.df-editorial .df-article h3,
.df-editorial .df-article:first-child h3{
  min-height:67px;
  font-size:31px;
}
.df-editorial .df-article p{
  flex:1 1 auto;
  min-height:82px;
}
.df-editorial .df-article .df-link{
  align-self:flex-start;
  margin-top:auto;
}

.df-newsletter{
  padding:94px 0;
  background:var(--df-forest);
  color:#fff;
}
.df-newsletter h2{color:#fff}
.df-newsletter p:not(.df-eyebrow){color:rgba(255,255,255,.82)}
.df-newsletter .df-form input{
  border-bottom-color:rgba(255,255,255,.58);
  color:#fff;
}
.df-newsletter .df-form input::placeholder{color:rgba(255,255,255,.68)}
.df-newsletter .df-form button{
  border-color:#fff;
  background:#fff;
  color:var(--df-green);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.df-newsletter .df-form button:hover{
  background:transparent;
  color:#fff;
}

.df-footer{
  padding:76px 0 30px;
  background:var(--df-green-dark);
}
.df-footer__grid{
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(130px,.65fr));
  gap:clamp(34px,5vw,74px);
}
.df-footer__brand img{width:188px}
.df-footer__brand p{
  max-width:370px;
  margin-top:22px;
  color:rgba(223,230,226,.70);
  font-size:14px;
  line-height:1.7;
}
.df-footer h4{
  margin-bottom:18px;
  color:#fff;
  font-size:11px;
  letter-spacing:.16em;
}
.df-footer a{
  padding:6px 0;
  color:rgba(223,230,226,.72);
  font-size:14px;
  transition:color .2s ease,transform .2s ease;
}
.df-footer a:hover{
  color:#fff;
  transform:translateX(2px);
}
.df-footer__bottom{
  margin-top:64px;
  padding-top:24px;
  border-top-color:rgba(255,255,255,.12);
  color:rgba(223,230,226,.52);
}
@media(max-width:1080px){
  .df-editorial .df-article h3,
  .df-editorial .df-article:first-child h3{min-height:62px;font-size:28px}
  .df-editorial .df-article p{min-height:76px}
}
@media(max-width:820px){
  .df-editorial .df-article h3,
  .df-editorial .df-article:first-child h3{min-height:0;font-size:30px}
  .df-editorial .df-article p{min-height:0}
  .df-footer__grid{grid-template-columns:1fr 1fr}
  .df-footer__brand{grid-column:1/-1}
}
@media(max-width:520px){
  .df-newsletter{padding:76px 0}
  .df-footer{padding-top:62px}
  .df-footer__grid{grid-template-columns:1fr}
  .df-footer__brand{grid-column:auto}
}


/* v0.4.33: lower-page consistency — spa scale/CTAs + footer navigation. */
.df-wellness__copy h2{
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.1;
  letter-spacing:-.035em;
}
body.df-type-sans .df-wellness__copy h2{
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.1;
}
.df-wellness .df-button-row{
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
}
.df-wellness .df-button-row .df-btn,
.df-wellness .df-button-row .df-btn--outline{
  width:auto;
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--df-green);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  gap:12px;
  box-shadow:none;
  transform:none;
}
.df-wellness .df-button-row .df-btn:after{
  content:"→";
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  line-height:1;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.df-wellness .df-button-row .df-btn:hover,
.df-wellness .df-button-row .df-btn--outline:hover{
  background:transparent;
  border:0;
  color:var(--df-green);
  transform:none;
}
.df-wellness .df-button-row .df-btn:hover:after{
  background:var(--df-green);
  border-color:var(--df-green);
  color:#fff;
}

.df-footer{
  background:var(--df-green-dark);
}
.df-footer h4{
  margin-bottom:20px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
}
.df-footer a{
  padding:7px 0;
  color:rgba(255,255,255,.80);
  font-size:15px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.035em;
}
.df-footer__brand p{
  font-size:15px;
}
@media(max-width:820px){
  .df-wellness__copy h2,
  body.df-type-sans .df-wellness__copy h2{font-size:clamp(36px,7vw,54px);line-height:1.1}
}
@media(max-width:520px){
  .df-wellness__copy h2,
  body.df-type-sans .df-wellness__copy h2{font-size:36px;line-height:1.1}
  .df-wellness .df-button-row{gap:20px}
  .df-wellness .df-button-row .df-btn,
  .df-wellness .df-button-row .df-btn--outline{width:auto}
}


/* v0.4.34: spa button hierarchy + closer footer green tones. */
.df-wellness .df-button-row{
  gap:12px;
}
.df-wellness .df-button-row .df-btn,
.df-wellness .df-button-row .df-btn--outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border:1px solid var(--df-green);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:none;
  transform:none;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.df-wellness .df-button-row .df-btn{
  background:var(--df-green);
  color:#fff;
}
.df-wellness .df-button-row .df-btn--outline{
  background:transparent;
  color:var(--df-green);
}
.df-wellness .df-button-row .df-btn:after,
.df-wellness .df-button-row .df-btn--outline:after{
  content:none;
}
.df-wellness .df-button-row .df-btn:hover{
  background:var(--df-green-dark);
  border-color:var(--df-green-dark);
  color:#fff;
}
.df-wellness .df-button-row .df-btn--outline:hover{
  background:var(--df-green);
  border-color:var(--df-green);
  color:#fff;
}

.df-newsletter{
  background:var(--df-forest);
}
.df-footer{
  background:var(--df-green);
}
.df-footer__bottom{
  border-top-color:rgba(255,255,255,.14);
}
@media(max-width:520px){
  .df-wellness .df-button-row{gap:10px}
  .df-wellness .df-button-row .df-btn,
  .df-wellness .df-button-row .df-btn--outline{width:100%}
}


/* v0.4.35: footer now mirrors the primary navigation; remove prototype mini-sitemap treatment. */
.df-footer{
  padding:74px 0 30px;
  background:var(--df-green);
}
.df-footer__top{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,1.7fr);
  gap:clamp(54px,8vw,120px);
  align-items:start;
}
.df-footer__brand img{width:188px}
.df-footer__brand p{
  max-width:360px;
  margin:22px 0 0;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.7;
}
.df-footer__menu{
  display:grid;
  grid-template-columns:repeat(5,max-content);
  justify-content:end;
  gap:clamp(22px,3vw,46px);
  padding-top:4px;
}
.df-footer__menu a{
  display:block;
  padding:0;
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.045em;
  white-space:nowrap;
  transition:opacity .2s ease,transform .2s ease;
}
.df-footer__menu a:hover{
  color:#fff;
  opacity:.72;
  transform:translateY(-1px);
}
.df-footer__utility{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 28px;
  margin-top:46px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.14);
}
.df-footer__utility a{
  display:block;
  padding:0;
  color:rgba(255,255,255,.68);
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.045em;
}
.df-footer__utility a:hover{color:#fff;transform:none}
.df-footer__bottom{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.48);
}
@media(max-width:1080px){
  .df-footer__top{grid-template-columns:1fr;gap:40px}
  .df-footer__menu{justify-content:start;grid-template-columns:repeat(3,max-content)}
  .df-footer__utility{justify-content:flex-start}
}
@media(max-width:720px){
  .df-footer__menu{grid-template-columns:1fr 1fr;gap:20px 28px}
  .df-footer__menu a{font-size:15px}
}
@media(max-width:520px){
  .df-footer{padding-top:58px}
  .df-footer__menu{grid-template-columns:1fr;gap:16px}
  .df-footer__utility{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:38px}
}


/* v0.4.36: header + existing mega-menu visual pass only. Layout/markup unchanged. */
.df-demo-shell{
  --cream:#faf8f3;
  --line:rgba(23,63,49,.12);
}
.df-demo-shell .df-header{
  background:#fff;
  box-shadow:none;
  border-bottom:0;
}
.df-demo-shell .df-header__top{
  min-height:112px;
  padding-top:14px;
  padding-bottom:12px;
}
.df-header__logo{width:184px}
.df-header__utility a{
  color:var(--df-green)!important;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
}
.df-header__utility a + a::before{background:rgba(23,63,49,.16)}
.df-header__socials a,
.df-header__basket{
  color:var(--df-green);
  transition:opacity .25s ease,transform .25s ease;
}
.df-header__socials a:hover,
.df-header__basket:hover{opacity:.65;transform:translateY(-1px)}

.df-demo-shell .df-nav{
  min-height:60px;
  border-top:1px solid rgba(23,63,49,.10);
  border-bottom:1px solid rgba(23,63,49,.10);
  background:#fff;
}
.df-nav__link{
  min-height:60px;
  color:var(--df-green)!important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  transition:color .25s ease,box-shadow .25s ease,background .25s ease;
}
.df-nav__link:hover,
.df-nav__item.is-open > .df-nav__link{
  color:var(--df-green-dark)!important;
  background:rgba(223,229,223,.34)!important;
  box-shadow:inset 0 -2px 0 var(--df-green)!important;
}
.df-nav__arrow{width:10px;height:6px;transition:transform .3s ease}

.df-dropdown{
  transform:translateY(10px);
  transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .28s ease;
}
.df-dropdown__panel{
  background:var(--df-cream-2);
  border-color:rgba(23,63,49,.10);
  box-shadow:0 20px 42px rgba(16,45,36,.10);
}

/* Shop Online: same six-column structure, now visually related to homepage route cards. */
.df-dropdown__panel--shop{
  padding:30px max(4vw,32px) 0;
  background:var(--df-cream-2);
}
.df-dropdown__panel--shop .df-shop-grid{gap:14px;max-width:var(--df-max)}
.df-shop-card{
  padding:0 0 24px;
  border-right:0;
  min-width:0;
}
.df-shop-card .df-menu-image-placeholder{
  width:100%;
  aspect-ratio:1.32/1;
  height:auto!important;
  background:#d6dbd6!important;
  overflow:hidden;
  transition:filter .45s ease,transform .55s cubic-bezier(.22,.61,.36,1);
}
.df-shop-card__body{padding:17px 2px 0}
.df-shop-card h3{
  margin:0 0 9px;
  color:var(--df-green);
  font-family:Georgia,'Times New Roman',serif;
  font-size:22px;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.05;
  text-transform:none;
}
.df-shop-card p{
  min-height:64px;
  margin:0 0 15px;
  color:var(--df-body);
  font-size:12.5px;
  line-height:1.55;
}
.df-shop-card__body > span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--df-green);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.df-shop-card__body > span b{
  width:30px;height:30px;margin-left:0;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid currentColor;border-radius:50%;
  font-size:14px;font-weight:400;
  transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.df-shop-card:hover .df-menu-image-placeholder{filter:brightness(.96);transform:scale(1.008)}
.df-shop-card:hover .df-shop-card__body > span b{background:var(--df-green);border-color:var(--df-green);color:#fff;transform:translateX(2px)}

.df-dropdown__footer-link{
  min-height:52px;
  margin:0 calc(max(4vw,32px) * -1);
  border-top:1px solid rgba(23,63,49,.10);
  background:#dfe5df;
  color:var(--df-green);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.df-dropdown__footer-link > b{
  width:30px;height:30px;margin-left:2px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid currentColor;border-radius:50%;
  font-size:14px;font-weight:400;
  transition:background .25s ease,color .25s ease;
}
.df-dropdown__footer-link:hover > b{background:var(--df-green);color:#fff}

/* Eat & Drink: retain six boxes; mirror the cleaner homepage eatery cards. */
.df-dropdown__panel--food{
  padding:30px max(4vw,32px) 0;
  background:var(--df-cream-2);
}
.df-food-grid{gap:14px;max-width:var(--df-max);margin:0 auto}
.df-venue{
  padding:0 0 25px;
  border:0;
  min-width:0;
}
.df-venue .df-menu-image-placeholder{
  aspect-ratio:1.12/1;
  background:#d6dbd6!important;
  transition:filter .45s ease,transform .55s cubic-bezier(.22,.61,.36,1);
}
.df-venue > div{padding:17px 2px 0}
.df-venue h3{
  margin:0 0 7px;
  color:var(--df-green);
  font-family:Georgia,'Times New Roman',serif;
  font-size:21px;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.06;
  text-transform:none;
}
.df-venue p{
  margin:0;
  color:var(--df-body);
  font-size:12.5px;
  line-height:1.5;
}
.df-venue__cta{
  margin-top:13px;
  color:var(--df-green);
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.df-venue:hover .df-menu-image-placeholder{filter:brightness(.96);transform:scale(1.008)}
.df-venue:hover .df-venue__cta b{transform:translateX(3px)}
.df-dropdown__panel--food .df-dropdown__footer-link{
  margin:6px calc(max(4vw,32px) * -1) 0;
}

/* Visit Us + About Us: same columns/layout, quieter editorial styling. */
.df-dropdown__panel--visiting,
.df-dropdown__panel--about{
  background:var(--df-cream-2);
}
.df-dropdown__panel--visiting{padding:18px max(8vw,60px) 20px}
.df-visiting-grid{min-height:220px}
.df-menu-column{
  margin:0;
  padding:28px 30px;
  border-right:1px solid rgba(23,63,49,.10);
}
.df-menu-column:last-child{border-right:0}
.df-menu-column h3{
  margin:0 0 16px;
  color:var(--df-green);
  font-family:Georgia,'Times New Roman',serif;
  font-size:23px;
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.05;
  text-transform:none;
}
.df-menu-column a{
  padding:7px 0;
  color:var(--df-body);
  font-size:13.5px;
  line-height:1.4;
  transition:color .2s ease,transform .2s ease;
}
.df-menu-column a:hover{color:var(--df-green);transform:translateX(2px)}

.df-dropdown__panel--about{padding:22px max(14vw,80px)}
.df-about-grid{min-height:250px;max-width:1040px}
.df-about-grid .df-menu-column{min-height:250px}
.df-promo-card{
  min-height:250px;
  margin:0;
  padding:28px;
  background:var(--df-green)!important;
  color:#fff!important;
}
.df-promo-card strong{
  font-family:Georgia,'Times New Roman',serif;
  font-size:26px;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
}
.df-promo-card span{
  display:inline-flex;
  margin-top:18px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.df-type-sans .df-shop-card h3,
body.df-type-sans .df-venue h3,
body.df-type-sans .df-menu-column h3,
body.df-type-sans .df-promo-card strong{
  font-family:'Mukta',Arial,Helvetica,sans-serif;
  font-weight:500;
  letter-spacing:-.02em;
}

@media(max-width:1450px) and (min-width:1025px){
  .df-dropdown__panel--shop .df-shop-grid,
  .df-food-grid{gap:11px}
  .df-shop-card h3{font-size:20px}
  .df-venue h3{font-size:19px}
  .df-shop-card p,.df-venue p{font-size:12px}
}

@media(max-width:1024px){
  .df-demo-shell .df-header__top{min-height:78px}
  .df-demo-shell .df-nav{background:#fff}
  .df-nav__link{min-height:56px;font-size:12px}
  .df-dropdown__panel--shop,
  .df-dropdown__panel--food,
  .df-dropdown__panel--visiting,
  .df-dropdown__panel--about{padding:0;background:var(--df-cream-2)}
  .df-shop-card{
    grid-template-columns:125px 1fr;
    gap:18px;
    padding:16px 18px;
    border-bottom:1px solid rgba(23,63,49,.10);
  }
  .df-shop-card .df-menu-image-placeholder{height:112px!important;aspect-ratio:auto}
  .df-shop-card__body{padding:2px 0 0}
  .df-shop-card h3{font-size:21px}
  .df-shop-card p{min-height:0;margin-bottom:12px}
  .df-dropdown__footer-link,
  .df-dropdown__panel--food .df-dropdown__footer-link{margin:0}
  .df-venue{padding:18px;border-right:1px solid rgba(23,63,49,.10);border-bottom:1px solid rgba(23,63,49,.10)}
  .df-venue:nth-child(even){border-right:0}
  .df-menu-column{padding:25px 24px;border-bottom:1px solid rgba(23,63,49,.10)}
  .df-promo-card{margin:18px;min-height:220px}
}

@media(max-width:620px){
  .df-shop-card{grid-template-columns:100px 1fr;gap:15px;padding:15px 16px}
  .df-shop-card .df-menu-image-placeholder{height:96px!important}
  .df-shop-card h3{font-size:20px}
  .df-shop-card p{display:none}
  .df-food-grid{grid-template-columns:1fr}
  .df-venue,.df-venue:nth-child(even){border-right:0}
  .df-venue .df-menu-image-placeholder{aspect-ratio:1.55/1}
  .df-menu-column{border-right:0}
  .df-promo-card{margin:0;min-height:210px}
}


/* v0.4.38: desktop mega menus use the available screen width.
   Structure/content is unchanged; this only removes the narrow inner cap. */
@media (min-width:1025px){
  .df-dropdown__panel--shop,
  .df-dropdown__panel--food{
    padding-left:clamp(28px,3vw,58px);
    padding-right:clamp(28px,3vw,58px);
  }

  .df-dropdown__panel--shop .df-shop-grid,
  .df-food-grid{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    gap:clamp(14px,1.15vw,24px);
  }

  .df-dropdown__panel--shop .df-shop-card,
  .df-dropdown__panel--food .df-venue{
    min-width:0;
  }

  /* Let the four-column Visit Us menu breathe too, without altering its layout. */
  .df-dropdown__panel--visiting{
    padding-left:clamp(44px,5vw,96px);
    padding-right:clamp(44px,5vw,96px);
  }
  .df-visiting-grid{
    width:100%;
    max-width:none;
  }
}


/* v0.4.39: simplify mega-menu footer bar actions. */
.df-dropdown__footer-link > b{
  width:auto;
  height:auto;
  margin-left:8px;
  display:inline;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:15px;
  line-height:1;
  transition:transform .25s ease;
}
.df-dropdown__footer-link:hover > b{
  background:transparent;
  color:inherit;
  transform:translateX(3px);
}


/* v0.4.40: restore punch to desktop mega menus without changing their structure. */
@media (min-width:1025px){
  .df-dropdown__panel{
    background:#f7f3eb;
    box-shadow:0 24px 52px rgba(16,45,36,.14);
  }

  .df-dropdown__panel--shop,
  .df-dropdown__panel--food{
    padding-top:26px;
    background:#f7f3eb;
  }

  .df-dropdown__panel--shop .df-shop-grid,
  .df-food-grid{
    gap:clamp(16px,1.35vw,26px);
  }

  .df-shop-card,
  .df-venue{
    padding:0;
    background:#fff;
    border:1px solid rgba(23,63,49,.075);
    box-shadow:0 5px 16px rgba(16,45,36,.045);
    overflow:hidden;
    transition:transform .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s ease,border-color .32s ease;
  }

  .df-shop-card:hover,
  .df-venue:hover{
    transform:translateY(-3px);
    border-color:rgba(23,63,49,.14);
    box-shadow:0 12px 26px rgba(16,45,36,.09);
  }

  .df-shop-card .df-menu-image-placeholder,
  .df-venue .df-menu-image-placeholder{
    aspect-ratio:1.24/1;
    width:100%;
    border-radius:0;
    transform:none;
  }

  .df-shop-card:hover .df-menu-image-placeholder,
  .df-venue:hover .df-menu-image-placeholder{
    filter:brightness(.94) saturate(1.03);
    transform:none;
  }

  .df-shop-card__body,
  .df-venue > div{
    padding:18px 18px 20px;
  }

  .df-shop-card h3,
  .df-venue h3{
    margin:0 0 9px;
    color:var(--df-green);
    font-size:21px;
    line-height:1.08;
  }

  .df-shop-card p,
  .df-venue p{
    margin:0;
    min-height:0;
    color:#4b544e;
    font-size:13px;
    line-height:1.5;
  }

  .df-shop-card__body > span,
  .df-venue__cta{
    margin-top:15px;
    color:var(--df-green);
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:none;
  }

  .df-dropdown__footer-link,
  .df-dropdown__panel--food .df-dropdown__footer-link{
    min-height:56px;
    margin-top:24px;
    background:#dfe5df;
    border-top:1px solid rgba(23,63,49,.08);
    color:var(--df-green);
    font-size:11px;
    letter-spacing:.08em;
    text-transform:none;
  }

  .df-dropdown__panel--visiting,
  .df-dropdown__panel--about{
    background:#f7f3eb;
  }

  .df-menu-column h3{
    color:var(--df-green);
    font-size:24px;
  }

  .df-menu-column a{
    color:#39443e;
    font-size:14px;
  }
}


/* v0.4.41: full visual reset of the existing header/mega menus.
   Markup, content, grids and interaction are unchanged. */
@media (min-width:1025px){
  /* Header shell */
  .df-demo-shell .df-header{
    background:#fff;
    border:0;
    box-shadow:none;
  }
  .df-demo-shell .df-header__top{
    min-height:108px;
    padding:12px clamp(46px,5vw,86px) 10px;
    background:#fff;
  }
  .df-header__logo{width:178px}
  .df-header__utility a{
    padding:0 14px;
    color:var(--df-ink)!important;
    font-size:10px;
    font-weight:700;
    letter-spacing:.09em;
    line-height:1;
    text-transform:uppercase;
  }
  .df-header__utility a:hover{color:var(--df-green)!important}
  .df-header__utility a + a::before{
    height:19px;
    background:rgba(23,63,49,.14);
  }
  .df-header__socials a,
  .df-header__basket{
    color:var(--df-ink);
    opacity:.92;
  }
  .df-header__socials a:hover,
  .df-header__basket:hover{color:var(--df-green);opacity:1}

  /* Main navigation: same calm rhythm as homepage labels/CTAs. */
  .df-demo-shell .df-nav{
    min-height:60px;
    background:#fff;
    border-top:1px solid rgba(23,63,49,.10);
    border-bottom:1px solid rgba(23,63,49,.13);
    box-shadow:none;
  }
  .df-nav__link{
    min-height:60px;
    padding:0 clamp(22px,2.25vw,38px);
    color:var(--df-ink)!important;
    background:transparent!important;
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    box-shadow:none!important;
  }
  .df-nav__link:hover,
  .df-nav__item.is-open > .df-nav__link{
    color:var(--df-green)!important;
    background:transparent!important;
    box-shadow:inset 0 -2px 0 var(--df-green)!important;
  }
  .df-nav__arrow{width:9px;height:6px;stroke-width:1.35}

  /* Mega-menu canvas: white, spacious and deliberately part of the same site. */
  .df-dropdown{
    transform:translateY(8px);
    transition:opacity .34s ease,transform .42s cubic-bezier(.22,.61,.36,1),visibility .34s ease;
  }
  .df-dropdown__panel,
  .df-dropdown__panel--shop,
  .df-dropdown__panel--food,
  .df-dropdown__panel--visiting,
  .df-dropdown__panel--about{
    background:#fff;
    border-top:0;
    border-bottom:1px solid rgba(23,63,49,.13);
    box-shadow:0 20px 42px rgba(16,45,36,.085);
  }

  /* Six-card menus: remove the 'boxed UI' layer, retain strong image-led cards. */
  .df-dropdown__panel--shop,
  .df-dropdown__panel--food{
    padding:30px clamp(42px,4vw,72px) 0;
  }
  .df-dropdown__panel--shop .df-shop-grid,
  .df-food-grid{
    width:100%;
    max-width:none;
    margin:0;
    gap:clamp(18px,1.45vw,30px);
  }
  .df-shop-card,
  .df-venue{
    padding:0 0 28px;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
    transform:none;
    transition:none;
  }
  .df-shop-card:hover,
  .df-venue:hover{
    transform:none;
    border:0;
    box-shadow:none;
  }
  .df-shop-card .df-menu-image-placeholder,
  .df-venue .df-menu-image-placeholder{
    width:100%;
    aspect-ratio:1.30/1;
    height:auto!important;
    border-radius:0;
    background:#d6dbd6!important;
    overflow:hidden;
    transform:none;
    transition:filter .55s ease,transform .7s cubic-bezier(.22,.61,.36,1);
  }
  .df-shop-card:hover .df-menu-image-placeholder,
  .df-venue:hover .df-menu-image-placeholder{
    filter:brightness(.95);
    transform:scale(1.012);
  }
  .df-shop-card__body,
  .df-venue > div{
    padding:18px 0 0;
  }
  .df-shop-card h3,
  .df-venue h3{
    margin:0 0 9px;
    color:var(--df-green);
    font-family:Georgia,'Times New Roman',serif;
    font-size:23px;
    font-weight:400;
    letter-spacing:-.025em;
    line-height:1.06;
    text-transform:none;
  }
  .df-shop-card p,
  .df-venue p{
    min-height:0;
    margin:0;
    color:var(--df-body);
    font-size:13.5px;
    line-height:1.5;
  }
  .df-shop-card__body > span,
  .df-venue__cta{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    color:var(--df-green);
    font-size:11px;
    font-weight:700;
    letter-spacing:.075em;
    line-height:1.2;
    text-transform:uppercase;
  }
  .df-shop-card__body > span b,
  .df-venue__cta b{
    width:auto;
    height:auto;
    margin:0;
    display:inline;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    font-size:15px;
    font-weight:400;
    transition:transform .25s ease;
  }
  .df-shop-card:hover .df-shop-card__body > span b,
  .df-venue:hover .df-venue__cta b{
    background:transparent;
    color:inherit;
    transform:translateX(3px);
  }

  /* Bottom action bar: simple secondary navigation, not another component style. */
  .df-dropdown__footer-link,
  .df-dropdown__panel--food .df-dropdown__footer-link{
    min-height:54px;
    margin:2px calc(clamp(42px,4vw,72px) * -1) 0;
    padding:0 clamp(42px,4vw,72px);
    background:#fff;
    border-top:1px solid rgba(23,63,49,.11);
    color:var(--df-green);
    font-size:11px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .df-dropdown__footer-link > span:first-child{display:none}
  .df-dropdown__footer-link > b{
    width:auto;height:auto;margin-left:7px;display:inline;
    border:0;border-radius:0;background:transparent;color:inherit;
    font-size:15px;line-height:1;
  }

  /* Visit / About menus: editorial columns, using the same spacing and type hierarchy. */
  .df-dropdown__panel--visiting{
    padding:20px clamp(52px,6vw,108px) 26px;
  }
  .df-visiting-grid{
    width:100%;
    max-width:none;
    min-height:220px;
  }
  .df-menu-column{
    padding:30px clamp(24px,2.2vw,38px);
    border-right:1px solid rgba(23,63,49,.10);
    background:transparent;
  }
  .df-menu-column:first-child{padding-left:0}
  .df-menu-column:last-child{padding-right:0;border-right:0}
  .df-menu-column h3{
    margin:0 0 17px;
    color:var(--df-green);
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;
    font-weight:400;
    letter-spacing:-.025em;
    line-height:1.05;
    text-transform:none;
  }
  .df-menu-column a{
    padding:7px 0;
    color:var(--df-body);
    font-size:14px;
    line-height:1.4;
    transition:color .22s ease,transform .22s ease;
  }
  .df-menu-column a:hover{color:var(--df-green);transform:translateX(3px)}

  .df-dropdown__panel--about{
    padding:28px clamp(72px,9vw,150px);
  }
  .df-about-grid{
    width:100%;
    max-width:1160px;
    min-height:255px;
    margin:0 auto;
  }
  .df-about-grid .df-menu-column{min-height:255px}
  .df-promo-card{
    min-height:255px;
    margin:0;
    padding:34px;
    background:var(--df-green)!important;
    color:#fff!important;
    box-shadow:none;
  }
  .df-promo-card strong{
    font-family:Georgia,'Times New Roman',serif;
    font-size:29px;
    font-weight:400;
    line-height:1.08;
    letter-spacing:-.03em;
  }
  .df-promo-card span{
    margin-top:20px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
  }

  body.df-type-sans .df-shop-card h3,
  body.df-type-sans .df-venue h3,
  body.df-type-sans .df-menu-column h3,
  body.df-type-sans .df-promo-card strong{
    font-family:'Mukta',Arial,Helvetica,sans-serif;
    font-weight:500;
    letter-spacing:-.02em;
  }
}

@media (min-width:1025px) and (max-width:1380px){
  .df-shop-card h3,.df-venue h3{font-size:21px}
  .df-shop-card p,.df-venue p{font-size:12.5px}
  .df-dropdown__panel--shop .df-shop-grid,.df-food-grid{gap:18px}
  .df-nav__link{padding-inline:24px}
}


/* v0.4.42: refine top-header hierarchy without changing markup or behaviour. */
@media (min-width:1025px){
  .df-demo-shell .df-header__top{
    min-height:102px;
    padding-top:10px;
    padding-bottom:8px;
  }
  .df-header__logo{width:178px}
  .df-header__socials{gap:15px}
  .df-header__socials a,
  .df-header__basket{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
  .df-header__socials svg,
  .df-header__basket svg{stroke-width:1.45}
  .df-header__actions{gap:15px}
  .df-header__utility a{
    padding:0 12px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.11em;
  }
  .df-header__utility a + a::before{
    height:17px;
    background:rgba(23,63,49,.13);
  }
  .df-demo-shell .df-nav{min-height:56px}
  .df-nav__link{
    min-height:56px;
    padding-inline:clamp(20px,2vw,34px);
    font-size:11.5px;
    letter-spacing:.13em;
  }
}


/* v0.4.43: explicit visible-header type hierarchy + faster featured video delivery. */
@media (min-width:1025px){
  /* Utility row above the logo/menu: intentionally smaller and quieter. */
  body .df-demo-shell .df-header__utility a{
    padding-inline:11px;
    font-size:9.5px!important;
    font-weight:700;
    line-height:1;
    letter-spacing:.105em;
  }

  /* Actual visible primary menu items. */
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    min-height:56px;
    padding-inline:clamp(20px,1.8vw,30px);
    font-size:12px!important;
    font-weight:700;
    line-height:1;
    letter-spacing:.125em;
  }

  body .df-demo-shell .df-header__socials{gap:14px}
  body .df-demo-shell .df-header__socials a,
  body .df-demo-shell .df-header__basket{
    width:17px;
    height:17px;
    flex-basis:17px;
  }
}

/* Poster is visible instantly while the optimized MP4 buffers. */
.df-featured-event__video{
  background:#566159 center / cover no-repeat;
}
.df-featured-event__video video{
  background:transparent;
}


/* v0.4.44: make the primary desktop navigation properly legible. */
@media (min-width:1025px){
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    font-size:15px!important;
    font-weight:700;
    letter-spacing:.085em;
    padding-inline:clamp(22px,2vw,34px);
  }
}


/* v0.4.45: slightly deeper gifting tiles on the homepage only. */
.df-shop-route{min-height:315px}
@media(max-width:1080px){
  .df-shop-route{min-height:275px}
}
@media(max-width:820px){
  .df-shop-route{min-height:285px}
}
@media(max-width:520px){
  .df-shop-route{min-height:275px}
}


/* v0.4.51: retained header hierarchy from the later design pass; image sweep removed entirely. */
@media (min-width:1025px){
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    color:var(--df-green)!important;
    font-size:16px!important;
    font-weight:600;
    letter-spacing:.07em;
    line-height:1;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover,
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    color:var(--df-green-dark)!important;
  }
  body .df-demo-shell .df-header__utility a{
    color:rgba(23,63,49,.82)!important;
    font-size:11.5px!important;
    font-weight:600;
    letter-spacing:.075em;
  }
  body .df-demo-shell .df-header__socials a,
  body .df-demo-shell .df-header__basket{color:var(--df-green)!important}
}

/* v0.4.48: footer uppercase + branded intro kicker mark. */
.df-footer__menu a,
.df-footer__utility a{
  text-transform:uppercase;
  letter-spacing:.11em;
}
.df-footer__menu a{font-weight:700}
.df-footer__utility a{font-weight:600}


/* v0.4.51: exact original placeholders everywhere except explicitly approved imagery. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__top{
    height:110px!important;
    min-height:110px!important;
  }
}

/* Original prototype placeholder: hero. */
.df-hero__media{
  background:#566159!important;
  background-image:none!important;
}
.df-hero__media:after{
  background:linear-gradient(0deg,rgba(9,25,19,.28),transparent 55%)!important;
}

/* Original prototype route treatment; only Eat & Drink keeps approved photography. */
.df-journey:before{
  background-image:linear-gradient(145deg,#577263,#1a4333)!important;
  background-color:#566159!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-journey:nth-child(3):before{
  background-image:url('https://www.dartsfarm.co.uk/media/6012/1080x720_webp')!important;
}

/* Original gifting placeholder; only Chocolate and Cellar keep approved photography. */
.df-shop-route__media{
  background:linear-gradient(145deg,#607469,#29493d)!important;
  background-image:linear-gradient(145deg,#607469,#29493d)!important;
}
.df-shop-route:nth-child(2) .df-shop-route__media{
  background-image:url('https://www.dartsfarm.co.uk/media/5452/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-shop-route:nth-child(3) .df-shop-route__media{
  background-image:url('https://www.dartsfarm.co.uk/media/5036/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Original light-grey eatery placeholders; only Cow & Cacao Café and The Shack keep photography. */
.df-eat-venue__image{
  background:#d6dbd6!important;
  background-image:none!important;
  filter:none!important;
}
.df-eat-venue:nth-child(3) .df-eat-venue__image{
  background-image:url('https://www.dartsfarm.co.uk/media/5449/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-eat-venue:nth-child(5) .df-eat-venue__image{
  background-image:url('https://www.dartsfarm.co.uk/media/5829/1000x700_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Original spa placeholder. */
.df-wellness__image{
  background:#cfd7d0!important;
  background-image:none!important;
  filter:none!important;
}

/* Original editorial placeholders; retain only the two approved story images. */
.df-editorial .df-article__img{
  background:#d6dbd6!important;
  background-image:none!important;
  filter:none!important;
}
.df-editorial .df-article:nth-child(1) .df-article__img{
  background-image:url('https://www.dartsfarm.co.uk/media/4398/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-editorial .df-article:nth-child(3) .df-article__img{
  background-image:url('https://www.dartsfarm.co.uk/media/2998/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Mega menus: original neutral placeholders, retaining only approved matching categories. */
.df-dropdown__panel--shop .df-menu-image-placeholder,
.df-dropdown__panel--food .df-menu-image-placeholder,
.df-menu-image-placeholder--butchery{
  background:#d6dbd6!important;
  background-image:none!important;
  filter:none!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(2) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/5452/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(3) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/5036/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--food .df-venue:nth-child(3) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/5449/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--food .df-venue:nth-child(6) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/5829/1000x700_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}


/* v0.4.52: one inline video card in From the Farm. */
.df-editorial .df-article__video{
  position:relative;
  overflow:hidden;
  background:#d6dbd6!important;
  background-image:none!important;
}
.df-editorial .df-article__video video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
}

.df-shop-route:nth-child(4) .df-shop-route__media{
  background-image:url('assets/vouchers-gift-card.webp')!important;
  background-size:cover!important;
  background-position:center!important;
}

.df-shop-route:nth-child(1) .df-shop-route__media{
  background-image:url('assets/hampers-box.webp')!important;
  background-size:cover!important;
  background-position:center!important;
}


/* v0.4.55: approved Shop Online route image */
.df-journey:nth-child(1):before{
  background-image:url('assets/shop-online-veg.jpg')!important;
  background-size:cover!important;
  background-position:center!important;
}

.df-wellness__image{
  background-image:url('assets/spa-wellness.webp')!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}


/* v0.4.59: approved Food Hall route image with right-biased focal point */
.df-journey:nth-child(2):before{
  background-image:url('assets/img/food-hall.webp')!important;
  background-size:cover!important;
  background-position:78% center!important;
}


/* v0.4.60: clean social icons, text-only footer brand, matched route tile depths + approved What's On image. */
.df-header__socials .df-social-icon{
  width:100%;
  height:100%;
  display:block;
}
.df-header__socials .df-social-icon--facebook,
.df-header__socials .df-social-icon--pinterest{
  fill:currentColor!important;
  stroke:none!important;
}
.df-header__socials .df-social-icon--instagram{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.df-footer__brand-name{
  display:block;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(31px,2.7vw,42px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
}
body.df-type-sans .df-footer__brand-name{
  font-family:'Mukta',Arial,Helvetica,sans-serif;
  font-weight:500;
  letter-spacing:-.02em;
}
.df-footer__brand p{margin-top:18px}

/* Gifting cards now share the same visual depth as the four opening route cards. */
.df-shop-route{min-height:385px}
@media(max-width:820px){
  .df-shop-route{min-height:320px}
}
@media(max-width:480px){
  .df-shop-route{min-height:285px}
}

/* Approved pumpkin photography for the What's On opening route. */
.df-journey:nth-child(4):before{
  background-image:url('assets/img/whats-on-pumpkins.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}


/* v0.4.62: approved Farm Table imagery for homepage card and eat & drink mega menu. */
.df-eat-venue:nth-child(1) .df-eat-venue__image{
  background-image:url('assets/img/farm-table.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}
.df-dropdown__panel--food .df-venue:nth-child(1) .df-menu-image-placeholder{
  background-image:url('assets/img/farm-table.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}


/* v0.4.63: approved The Yard Restaurant imagery for homepage card and eat & drink mega menu. */
.df-eat-venue:nth-child(2) .df-eat-venue__image{
  background-image:url('assets/img/the-yard-restaurant.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}
.df-dropdown__panel--food .df-venue:nth-child(2) .df-menu-image-placeholder{
  background-image:url('assets/img/the-yard-restaurant.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}


/* v0.4.64: approved Fish Shed imagery for homepage card and eat & drink mega menu. */
.df-eat-venue:nth-child(4) .df-eat-venue__image{
  background-image:url('assets/img/fish-shed.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}
.df-dropdown__panel--food .df-venue:nth-child(5) .df-menu-image-placeholder{
  background-image:url('assets/img/fish-shed.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}


/* v0.4.65: Terrace imagery, spa CTA hierarchy and footer contact details. */
.df-eat-venue:nth-child(6) .df-eat-venue__image{
  background-image:url('assets/img/terrace-bar.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}
.df-dropdown__panel--food .df-venue:nth-child(4) .df-menu-image-placeholder{
  background-image:url('assets/img/terrace-bar.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
}

.df-wellness .df-button-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.df-wellness .df-button-row .df-wellness__link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--df-green);
}
.df-wellness .df-button-row .df-wellness__link:after{
  content:"→";
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:17px;
  line-height:1;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.df-wellness .df-button-row .df-wellness__link:hover:after{
  background:var(--df-green);
  border-color:var(--df-green);
  color:#fff;
  transform:none;
}
.df-wellness .df-button-row .df-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border:1px solid var(--df-green);
  background:var(--df-green);
  color:#fff;
}
.df-wellness .df-button-row .df-btn:after{content:none!important}
.df-wellness .df-button-row .df-btn:hover{
  background:var(--df-green-dark);
  border-color:var(--df-green-dark);
  color:#fff;
}

.df-footer__contact p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:15px;
  line-height:1.65;
}
.df-footer__contact a{
  display:inline-block;
  padding:0;
  margin-top:4px;
  color:#fff;
  font-size:15px;
  font-weight:600;
  letter-spacing:.03em;
}
@media(max-width:520px){
  .df-wellness .df-button-row .df-wellness__link,
  .df-wellness .df-button-row .df-btn{width:auto}
}


/* v0.4.66: live-site social icon treatment. */
.df-header__socials{gap:7px!important}
body .df-demo-shell .df-header__socials a{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  border-radius:50%;
  background:#333!important;
  color:#fff!important;
  opacity:1!important;
  transform:none!important;
  transition:background .2s ease,transform .2s ease!important;
}
body .df-demo-shell .df-header__socials a:hover{
  background:var(--df-green)!important;
  opacity:1!important;
  transform:translateY(-1px)!important;
}
.df-header__socials .df-social-icon{
  width:14px!important;
  height:14px!important;
  display:block;
}
.df-header__socials .df-social-icon--facebook,
.df-header__socials .df-social-icon--twitter{
  fill:currentColor!important;
  stroke:none!important;
}
.df-header__socials .df-social-icon--instagram{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* v0.4.67: complete Shop Online mega-menu imagery using approved Darts Farm assets. */
.df-dropdown__panel--shop .df-shop-card:nth-child(1) .df-menu-image-placeholder{
  background-image:url('assets/hampers-box.webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(2) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/5452/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(3) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/5036/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(4) .df-menu-image-placeholder{
  background-image:url('assets/img/meat-butchery.webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(5) .df-menu-image-placeholder{
  background-image:url('https://www.dartsfarm.co.uk/media/1579/1080x720_webp')!important;
  background-size:cover!important;
  background-position:center!important;
}
.df-dropdown__panel--shop .df-shop-card:nth-child(6) .df-menu-image-placeholder{
  background-image:url('assets/vouchers-gift-card.webp')!important;
  background-size:cover!important;
  background-position:center!important;
}


/* v0.4.68: homepage brand-film hero, starting and looping from 67 seconds. */
.df-hero__video{
  overflow:hidden;
  background:#253c32!important;
}
.df-hero__video iframe{
  position:absolute;
  z-index:0;
  top:50%;
  left:50%;
  width:177.7778vh;
  height:56.25vw;
  min-width:100%;
  min-height:100%;
  border:0;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.df-hero__video:after{
  z-index:1;
  pointer-events:none;
}
@media (max-width:820px){
  .df-hero__video iframe{
    width:177.7778vh;
    height:56.25vw;
  }
}


/* v0.4.69: film-only hero. Keep only the quiet location/history caption, floated above the bottom edge. */
.df-hero{
  min-height:690px;
}
.df-hero__media:after,
.df-hero__video:after{
  background:linear-gradient(0deg,rgba(9,25,19,.22) 0%,rgba(9,25,19,.08) 16%,transparent 34%)!important;
}
.df-hero__meta{
  right:clamp(24px,3.2vw,52px)!important;
  bottom:44px!important;
  gap:18px!important;
  align-items:center;
  color:#fff!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}
.df-hero__meta span + span:before{
  content:"";
  display:inline-block;
  width:1px;
  height:12px;
  margin:0 18px 0 0;
  vertical-align:-2px;
  background:rgba(255,255,255,.58);
}
@media(max-width:820px){
  .df-hero{min-height:620px}
  .df-hero__meta{
    display:flex!important;
    right:18px!important;
    bottom:24px!important;
    gap:12px!important;
    font-size:9px!important;
    letter-spacing:.12em!important;
  }
  .df-hero__meta span + span:before{
    height:10px;
    margin-right:12px;
  }
}


/* v0.4.71: remove the 1px What's On route seam and crop the cinematic hero cleanly on laptops. */
.df-journey:nth-child(4):before{
  inset:-1px!important;
}

@media (min-width:821px){
  .df-hero{
    height:clamp(500px,42.55vw,650px)!important;
    min-height:0!important;
  }
  .df-hero__video iframe{
    transform:translate(-50%,-50%) scale(1.10)!important;
  }
}

/* v0.4.72: mobile deep-dive, full-screen drill-down menu and video loading priority. */
.df-mobile-nav__footer,
.df-mobile-subnav__head{display:none}

@media (max-width:1024px){
  body.df-mobile-menu-open{overflow:hidden;overscroll-behavior:none}

  .df-demo-shell .df-header__top{
    min-height:78px!important;
    height:78px!important;
    padding:10px 18px!important;
    background:#fff;
  }
  .df-header__logo{width:146px!important}
  .df-header__toggle{
    position:relative;
    z-index:1004;
    width:44px;
    height:44px;
    gap:5px;
    color:var(--df-green);
  }
  .df-header__toggle span{
    width:24px;
    height:1.5px;
    background:currentColor;
    transform-origin:center;
    transition:transform .25s ease,opacity .2s ease;
  }
  .df-header.is-mobile-open .df-header__toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .df-header.is-mobile-open .df-header__toggle span:nth-child(2){opacity:0}
  .df-header.is-mobile-open .df-header__toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  .df-header.is-mobile-open .df-header__top{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1003;
    border-bottom:1px solid rgba(23,63,49,.10);
  }
  body.admin-bar .df-header.is-mobile-open .df-header__top{top:46px}

  body .df-demo-shell .df-nav{
    display:flex!important;
    position:fixed!important;
    z-index:1002;
    top:78px;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    min-height:0!important;
    height:auto!important;
    padding:18px 22px 26px!important;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    overflow-x:hidden;
    overflow-y:auto;
    background:#fff!important;
    border:0!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  }
  body.admin-bar .df-demo-shell .df-header.is-mobile-open .df-nav{top:124px}
  body .df-demo-shell .df-header.is-mobile-open .df-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  body .df-demo-shell .df-nav > .df-nav__item{
    position:static!important;
    display:block;
    width:100%;
    border:0!important;
    border-bottom:1px solid rgba(23,63,49,.12)!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    width:100%;
    min-height:66px!important;
    padding:0 2px!important;
    justify-content:space-between;
    border:0!important;
    background:#fff!important;
    box-shadow:none!important;
    color:var(--df-green)!important;
    font-family:'Mukta',Arial,Helvetica,sans-serif;
    font-size:17px!important;
    font-weight:600!important;
    line-height:1.1;
    letter-spacing:.045em!important;
    text-transform:uppercase;
  }
  body .df-demo-shell .df-nav > .df-nav__item--dropdown > .df-nav__link .df-nav__arrow{
    width:9px;
    height:14px;
    transform:rotate(-90deg)!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    background:#fff!important;
    box-shadow:none!important;
  }

  .df-mobile-nav__footer{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin-top:auto;
    padding-top:26px;
  }
  .df-mobile-nav__footer a{
    padding:9px 2px;
    color:rgba(23,63,49,.72);
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  /* Each desktop mega menu becomes a full-screen second level on mobile. */
  body .df-demo-shell .df-nav .df-dropdown{
    display:block!important;
    position:absolute!important;
    z-index:6!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
    transform:translateX(102%)!important;
    transition:transform .28s cubic-bezier(.22,.61,.36,1)!important;
    background:#fff;
  }
  body .df-demo-shell .df-nav .df-nav__item.is-open > .df-dropdown{
    pointer-events:auto!important;
    transform:translateX(0)!important;
  }
  body .df-demo-shell .df-nav .df-dropdown__panel{
    display:block;
    width:100%;
    height:100%;
    max-height:none;
    padding:0 18px 28px!important;
    overflow-x:hidden;
    overflow-y:auto;
    background:#fff!important;
    border:0!important;
    box-shadow:none!important;
  }
  .df-mobile-subnav__head{
    position:sticky;
    top:0;
    z-index:4;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    min-height:66px;
    margin:0 -18px 8px;
    padding:0 18px;
    border-bottom:1px solid rgba(23,63,49,.12);
    background:#fff;
  }
  .df-mobile-subnav__head strong{
    grid-column:2;
    justify-self:center;
    color:var(--df-green);
    font-family:'Mukta',Arial,Helvetica,sans-serif;
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .df-mobile-back{
    grid-column:1;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--df-green);
    font-size:12px;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .df-mobile-back span{font-size:18px;font-weight:400;line-height:1}

  /* Shop / restaurant submenus: compact image-led rows rather than desktop cards. */
  .df-dropdown__panel--shop .df-shop-grid,
  .df-dropdown__panel--food .df-food-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
  }
  .df-dropdown__panel--shop .df-shop-card,
  .df-dropdown__panel--food .df-venue{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:15px!important;
    align-items:center;
    min-height:116px;
    padding:13px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(23,63,49,.10)!important;
    background:#fff!important;
  }
  .df-dropdown__panel--shop .df-shop-card .df-menu-image-placeholder,
  .df-dropdown__panel--food .df-venue .df-menu-image-placeholder{
    width:92px!important;
    height:86px!important;
    aspect-ratio:auto!important;
    margin:0!important;
    transform:none!important;
  }
  .df-dropdown__panel--shop .df-shop-card__body,
  .df-dropdown__panel--food .df-venue > div{
    min-width:0;
    padding:0!important;
  }
  .df-dropdown__panel--shop .df-shop-card h3,
  .df-dropdown__panel--food .df-venue h3{
    margin:0 0 5px!important;
    font-size:22px!important;
    line-height:1.04!important;
  }
  .df-dropdown__panel--shop .df-shop-card p,
  .df-dropdown__panel--food .df-venue p{display:none!important}
  .df-dropdown__panel--shop .df-shop-card__body > span,
  .df-dropdown__panel--food .df-venue__cta{
    margin:0!important;
    color:rgba(23,63,49,.7)!important;
    font-size:9px!important;
    letter-spacing:.1em!important;
  }
  .df-dropdown__panel--shop .df-shop-card__body > span b{display:none!important}

  .df-dropdown__footer-link,
  .df-dropdown__panel--food .df-dropdown__footer-link{
    min-height:56px;
    margin:16px 0 0!important;
    padding:0 16px;
    justify-content:space-between;
    border:0!important;
    background:#dfe5df!important;
  }

  /* Visit / About second levels become clean grouped lists. */
  .df-visiting-grid,
  .df-about-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    min-height:0!important;
  }
  .df-menu-column,
  .df-about-grid .df-menu-column{
    min-height:0!important;
    margin:0!important;
    padding:22px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(23,63,49,.10)!important;
  }
  .df-menu-column h3{margin-bottom:10px!important;font-size:24px!important}
  .df-menu-column a{display:block;padding:8px 0!important;font-size:14px!important}
  .df-promo-card{
    min-height:180px!important;
    margin:18px 0 0!important;
    padding:24px!important;
  }

  /* General mobile layout QA: shallower hero, tighter rhythm, full-width media and no accidental overflow. */
  html,body{max-width:100%;overflow-x:hidden}
  .df-hero{
    height:clamp(430px,68svh,580px)!important;
    min-height:0!important;
  }
  .df-hero__video iframe{
    width:177.7778vh!important;
    height:56.25vw!important;
    min-width:100%!important;
    min-height:100%!important;
    transform:translate(-50%,-50%) scale(1.04)!important;
  }
  .df-hero__meta{bottom:22px!important;right:18px!important}

  .df-intro{padding:68px 0!important}
  .df-intro__grid{gap:20px!important}
  .df-intro__copy{margin-top:16px!important;gap:20px!important}
  .df-intro__body{font-size:16px!important;line-height:1.6!important}

  .df-journeys{padding-bottom:68px!important}
  .df-journey-grid{gap:12px!important}
  .df-journey{min-height:280px!important}

  .df-events,.df-shop,.df-eat,.df-editorial{padding-top:76px!important;padding-bottom:76px!important}
  .df-section-head{gap:20px!important;margin-bottom:34px!important}
  .df-featured-event{grid-template-columns:1fr!important}
  .df-featured-event__image{min-height:0!important;aspect-ratio:1.38/1!important}
  .df-featured-event__content{padding:28px 0 0!important}
  .df-event-list__row{grid-template-columns:70px minmax(0,1fr) auto!important;gap:14px!important}

  .df-shop-routes{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .df-shop-route{min-height:250px!important}

  .df-eat__venues{grid-template-columns:1fr 1fr!important;gap:32px 14px!important}
  .df-eat-venue__image{aspect-ratio:1.15/1!important}

  .df-wellness{grid-template-columns:1fr!important}
  .df-wellness__copy{padding:64px 24px!important}
  .df-wellness__image{min-height:440px!important}

  .df-editorial-grid{grid-template-columns:1fr!important;gap:42px!important}
  .df-editorial .df-article__img{aspect-ratio:1.42/1!important}
  .df-newsletter{padding:64px 0!important}
  .df-footer__top{padding-top:62px!important;padding-bottom:52px!important}
}

@media (max-width:620px){
  .df-hero{height:clamp(410px,63svh,520px)!important}
  .df-hero__meta{font-size:8px!important}
  .df-intro,.df-events,.df-shop,.df-eat,.df-editorial{padding-top:62px!important;padding-bottom:62px!important}
  .df-journey{min-height:245px!important}
  .df-shop-routes{grid-template-columns:1fr!important}
  .df-shop-route{min-height:270px!important}
  .df-eat__venues{grid-template-columns:1fr!important;gap:34px!important}
  .df-eat-venue__image{aspect-ratio:1.42/1!important}
  .df-featured-event__image{aspect-ratio:1.25/1!important}
  .df-event-list__row{grid-template-columns:62px minmax(0,1fr)!important}
  .df-event-list__row .df-event-row__arrow{display:none!important}
  .df-wellness__image{min-height:360px!important}
  .df-wellness__copy{padding:54px 18px!important}
  .df-wellness .df-button-row{align-items:flex-start!important;gap:14px!important}
  .df-newsletter__grid{gap:28px!important}
  .df-footer__menu{grid-template-columns:1fr 1fr!important;gap:16px 22px!important}
  .df-footer__utility{gap:10px 18px!important}
}

@media(prefers-reduced-motion:reduce){
  .df-demo-shell .df-nav,
  .df-demo-shell .df-nav .df-dropdown,
  .df-header__toggle span{transition:none!important}
}


/* v0.4.73: keep the compact mobile header on screen and contain the logo cleanly within it. */
@media (max-width:1024px){
  body .df-demo-shell .df-header{
    position:sticky!important;
    top:0!important;
    z-index:1005!important;
    background:#fff;
    box-shadow:0 5px 16px rgba(24,44,35,.06);
  }
  body.admin-bar .df-demo-shell .df-header{top:46px!important}

  body .df-demo-shell .df-header__top{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    z-index:1003;
    overflow:hidden;
  }
  body .df-demo-shell .df-header__logo{
    width:140px!important;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    line-height:0;
    overflow:hidden;
  }
  body .df-demo-shell .df-header__logo img{
    width:100%!important;
    height:auto!important;
    max-height:54px!important;
    object-fit:contain;
    object-position:left center;
  }

  body .df-demo-shell .df-header.is-mobile-open .df-header__top,
  body.admin-bar .df-demo-shell .df-header.is-mobile-open .df-header__top{
    position:relative!important;
    top:auto!important;
  }
}

@media (max-width:480px){
  body .df-demo-shell .df-header__logo{width:134px!important}
  body .df-demo-shell .df-header__logo img{max-height:52px!important}
}


/* v0.4.74: slightly more generous mobile masthead; keep masthead + drill-down chrome fixed while menus move beneath it. */
@media (max-width:1024px){
  body .df-demo-shell .df-header{
    position:sticky!important;
    top:0!important;
    z-index:1005!important;
  }
  body.admin-bar .df-demo-shell .df-header{top:46px!important}

  body .df-demo-shell .df-header__top{
    min-height:86px!important;
    height:86px!important;
    padding:10px 18px!important;
    overflow:hidden;
  }
  body .df-demo-shell .df-header__logo{
    width:154px!important;
    height:66px!important;
  }
  body .df-demo-shell .df-header__logo img{
    max-height:62px!important;
  }

  /* The full-screen menu begins immediately below the sticky masthead. */
  body .df-demo-shell .df-nav{top:86px!important}
  body.admin-bar .df-demo-shell .df-header.is-mobile-open .df-nav{top:132px!important}

  /* A drilled-in submenu replaces the first-level menu visually; only the
     persistent Darts Farm masthead and its own Back/title bar remain. */
  body .df-demo-shell .df-nav .df-dropdown{
    background:#fff!important;
  }
  body .df-demo-shell .df-nav .df-nav__item.is-open > .df-dropdown{
    z-index:20!important;
  }
  .df-mobile-subnav__head{
    top:0!important;
    min-height:68px!important;
    z-index:25!important;
    box-shadow:0 1px 0 rgba(23,63,49,.08);
  }
}

@media (max-width:480px){
  body .df-demo-shell .df-header__top{
    min-height:84px!important;
    height:84px!important;
  }
  body .df-demo-shell .df-header__logo{
    width:148px!important;
    height:64px!important;
  }
  body .df-demo-shell .df-header__logo img{max-height:60px!important}
  body .df-demo-shell .df-nav{top:84px!important}
  body.admin-bar .df-demo-shell .df-header.is-mobile-open .df-nav{top:130px!important}
}


/* v0.4.75: make the mobile masthead and drill-down layers genuinely viewport-fixed.
   Sticky was constrained by the short demo-shell parent, which allowed the masthead
   to scroll away. Second-level panels are fixed too, so the first-level scroller
   can never create a gap behind them. */
@media (max-width:1024px){
  body .df-demo-shell{
    min-height:86px!important;
  }
  body .df-demo-shell .df-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:1005!important;
    background:#fff!important;
  }
  body.admin-bar .df-demo-shell .df-header{top:46px!important}

  body .df-demo-shell .df-nav{
    position:fixed!important;
    top:86px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    height:auto!important;
    max-height:none!important;
  }
  body.admin-bar .df-demo-shell .df-nav{top:132px!important}

  /* Fixed second levels completely cover the first-level menu and page behind. */
  body .df-demo-shell .df-nav .df-dropdown{
    position:fixed!important;
    top:86px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    z-index:1020!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.admin-bar .df-demo-shell .df-nav .df-dropdown{top:132px!important}

  body .df-demo-shell .df-nav .df-dropdown__panel{
    height:100%!important;
    max-height:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Submenus only need a persistent Back affordance; the parent label is
     already clear from the user's selection and was visually repetitive. */
  .df-mobile-subnav__head{
    grid-template-columns:1fr!important;
    min-height:60px!important;
    margin-bottom:8px!important;
  }
  .df-mobile-subnav__head strong{display:none!important}
  .df-mobile-back{
    grid-column:1!important;
    justify-self:start!important;
  }
}

@media (max-width:480px){
  body .df-demo-shell{min-height:84px!important}
  body .df-demo-shell .df-nav{top:84px!important}
  body .df-demo-shell .df-nav .df-dropdown{top:84px!important}
  body.admin-bar .df-demo-shell .df-nav,
  body.admin-bar .df-demo-shell .df-nav .df-dropdown{top:130px!important}
}


/* v0.4.76: quieter desktop header polish.
   Keep the established structure and mega menus, but remove the active/hover underline
   and simplify the top utility row so the masthead reads as one calmer system. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__top{
    height:104px!important;
    min-height:104px!important;
    padding-top:11px!important;
    padding-bottom:9px!important;
  }

  body .df-demo-shell .df-header__logo{width:174px!important}

  body .df-demo-shell .df-header__actions{
    gap:18px!important;
  }
  body .df-demo-shell .df-header__utility{
    gap:22px!important;
  }
  body .df-demo-shell .df-header__utility a{
    padding:0!important;
    color:rgba(23,63,49,.72)!important;
    font-size:10.5px!important;
    font-weight:600!important;
    letter-spacing:.055em!important;
    transition:color .2s ease,opacity .2s ease;
  }
  body .df-demo-shell .df-header__utility a:hover{
    color:var(--df-green)!important;
  }
  body .df-demo-shell .df-header__utility a + a::before{
    content:none!important;
    display:none!important;
  }

  body .df-demo-shell .df-nav{
    min-height:58px!important;
    border-top:1px solid rgba(23,63,49,.075)!important;
    border-bottom:1px solid rgba(23,63,49,.09)!important;
    box-shadow:none!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    min-height:58px!important;
    padding-inline:clamp(23px,2vw,35px)!important;
    color:var(--df-green)!important;
    font-size:15px!important;
    font-weight:600!important;
    letter-spacing:.055em!important;
    background:transparent!important;
    box-shadow:none!important;
    transition:color .2s ease,opacity .2s ease!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover,
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    color:var(--df-green-dark)!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover{
    opacity:.78;
  }
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    opacity:1;
  }
  body .df-demo-shell .df-nav__arrow{
    width:8px!important;
    height:5px!important;
    margin-left:2px;
    opacity:.58;
    stroke-width:1.3!important;
  }

  /* Once the primary nav becomes sticky, use a soft shadow rather than a heavier border cue. */
  body .df-demo-shell .df-header.is-nav-fixed .df-nav{
    box-shadow:0 9px 24px rgba(16,45,36,.07)!important;
    border-top-color:transparent!important;
  }
}


/* v0.4.77: final desktop masthead integration pass.
   Make the header feel like part of the calmer editorial homepage: more breathing room around
   the mark, quieter secondary controls, one restrained divider and lighter primary navigation. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__top{
    height:110px!important;
    min-height:110px!important;
    padding-top:12px!important;
    padding-bottom:10px!important;
  }

  body .df-demo-shell .df-header__logo{
    width:180px!important;
  }
  body .df-demo-shell .df-header__logo img{
    display:block;
    max-height:72px;
    width:100%;
    height:auto;
  }

  /* Secondary controls should sit back from the brand and primary journeys. */
  body .df-demo-shell .df-header__socials{
    gap:6px!important;
  }
  body .df-demo-shell .df-header__socials a{
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    background:rgba(35,52,45,.88)!important;
    box-shadow:none!important;
  }
  body .df-demo-shell .df-header__socials a:hover{
    background:var(--df-green)!important;
    transform:none!important;
  }
  body .df-demo-shell .df-header__socials .df-social-icon{
    width:12.5px!important;
    height:12.5px!important;
  }

  body .df-demo-shell .df-header__actions{
    gap:16px!important;
  }
  body .df-demo-shell .df-header__basket{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    color:rgba(23,63,49,.72)!important;
    opacity:1!important;
  }
  body .df-demo-shell .df-header__basket:hover{
    color:var(--df-green)!important;
    transform:none!important;
  }
  body .df-demo-shell .df-header__utility{
    gap:19px!important;
  }
  body .df-demo-shell .df-header__utility a{
    color:rgba(23,63,49,.62)!important;
    font-size:10px!important;
    font-weight:500!important;
    letter-spacing:.045em!important;
  }
  body .df-demo-shell .df-header__utility a:hover{
    color:var(--df-green)!important;
    opacity:1!important;
  }

  /* Treat top row + main navigation as one masthead, with just one quiet lower rule. */
  body .df-demo-shell .df-nav{
    min-height:57px!important;
    border-top:0!important;
    border-bottom:1px solid rgba(23,63,49,.085)!important;
    box-shadow:none!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    min-height:57px!important;
    padding-inline:clamp(24px,2.05vw,36px)!important;
    color:rgba(23,63,49,.9)!important;
    font-size:14.5px!important;
    font-weight:500!important;
    letter-spacing:.065em!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover{
    color:var(--df-green)!important;
    opacity:.72!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    color:var(--df-green)!important;
    opacity:1!important;
  }
  body .df-demo-shell .df-nav__arrow{
    width:7px!important;
    height:4px!important;
    margin-left:1px!important;
    opacity:.42!important;
    stroke-width:1.2!important;
  }

  body .df-demo-shell .df-header.is-nav-fixed .df-nav{
    border-top:0!important;
    border-bottom-color:rgba(23,63,49,.07)!important;
    box-shadow:0 8px 22px rgba(16,45,36,.055)!important;
  }
}

/* v0.4.78: strengthen desktop header type without bringing back visual clutter.
   Primary navigation and the three top-right utility links now have more presence,
   while keeping the stripped-back underline-free treatment from the previous pass. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__utility{
    gap:21px!important;
  }
  body .df-demo-shell .df-header__utility a{
    color:rgba(23,63,49,.78)!important;
    font-size:11.5px!important;
    font-weight:650!important;
    letter-spacing:.03em!important;
    line-height:1.2!important;
  }
  body .df-demo-shell .df-header__utility a:hover{
    color:var(--df-green)!important;
  }

  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    font-size:16px!important;
    font-weight:650!important;
    letter-spacing:.035em!important;
    color:rgba(23,63,49,.95)!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover,
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    color:var(--df-green-dark)!important;
  }
  body .df-demo-shell .df-nav__arrow{
    opacity:.52!important;
    stroke-width:1.35!important;
  }
}


/* v0.4.79: move desktop header typography to the dark editorial ink used across the page.
   Keeps green for restrained interaction feedback rather than as the default nav colour. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__utility a{
    color:rgba(27,33,29,.82)!important;
  }
  body .df-demo-shell .df-header__utility a:hover{
    color:var(--df-ink)!important;
    opacity:.72!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    color:rgba(27,33,29,.96)!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover,
  body .df-demo-shell .df-nav > .df-nav__item.is-open > .df-nav__link{
    color:var(--df-ink)!important;
  }
  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link:hover{
    opacity:.72!important;
  }
  body .df-demo-shell .df-nav__arrow{
    color:var(--df-ink)!important;
    opacity:.48!important;
  }
  body .df-demo-shell .df-header__basket{
    color:rgba(27,33,29,.82)!important;
  }
  body .df-demo-shell .df-header__basket:hover{
    color:var(--df-ink)!important;
  }
}


/* v0.4.80: final desktop masthead sizing tune.
   Increase presence of the primary navigation, utility links, logo and basket while
   preserving the clean dark, underline-free treatment. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__logo{
    width:195px!important;
  }
  body .df-demo-shell .df-header__logo img{
    max-height:78px!important;
  }

  body .df-demo-shell .df-header__utility a{
    font-size:13px!important;
    font-weight:650!important;
    letter-spacing:.025em!important;
  }

  body .df-demo-shell .df-nav > .df-nav__item > .df-nav__link{
    font-size:17px!important;
    font-weight:550!important;
    letter-spacing:.025em!important;
  }

  body .df-demo-shell .df-header__basket{
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
  }
}


/* v0.4.81: strengthen and align the desktop utility cluster.
   Keep the three top-right links in the same dark editorial ink as the primary nav,
   vertically centre them with the basket, and give the basket a little more presence. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__actions{
    align-items:center!important;
    gap:20px!important;
  }

  body .df-demo-shell .df-header__utility{
    align-items:center!important;
    height:32px!important;
    gap:20px!important;
  }
  body .df-demo-shell .df-header__utility a{
    display:inline-flex!important;
    align-items:center!important;
    height:32px!important;
    padding:0!important;
    line-height:32px!important;
    color:#1b211d!important;
    opacity:1!important;
  }
  body .df-demo-shell .df-header__utility a:hover{
    color:#1b211d!important;
    opacity:.68!important;
  }
  body .df-demo-shell .df-header__utility a + a::before{
    display:none!important;
  }

  body .df-demo-shell .df-header__basket{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    align-self:center!important;
    color:#1b211d!important;
    opacity:1!important;
  }
  body .df-demo-shell .df-header__basket svg{
    width:28px!important;
    height:28px!important;
    stroke-width:1.55!important;
  }
  body .df-demo-shell .df-header__basket:hover{
    color:#1b211d!important;
    opacity:.68!important;
  }
}

/* v0.4.82: final desktop mega-menu polish.
   Bring the dropdowns into the same calmer editorial system as the masthead: darker titles,
   a little more breathing room, restrained hover motion and quieter secondary action bars. */
@media (min-width:1025px){
  /* Six-card Shop Online / Eat & Drink menus. */
  body .df-demo-shell .df-dropdown__panel--shop,
  body .df-demo-shell .df-dropdown__panel--food{
    padding-top:34px!important;
  }
  body .df-demo-shell .df-dropdown__panel--shop .df-shop-grid,
  body .df-demo-shell .df-food-grid{
    gap:clamp(20px,1.6vw,32px)!important;
  }
  body .df-demo-shell .df-shop-card,
  body .df-demo-shell .df-venue{
    padding-bottom:31px!important;
  }
  body .df-demo-shell .df-shop-card__body,
  body .df-demo-shell .df-venue > div{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    padding-top:20px!important;
  }
  body .df-demo-shell .df-shop-card h3,
  body .df-demo-shell .df-venue h3{
    min-height:2.12em;
    margin-bottom:10px!important;
    color:var(--df-ink)!important;
  }
  body .df-demo-shell .df-shop-card p,
  body .df-demo-shell .df-venue p{
    color:rgba(27,33,29,.72)!important;
    line-height:1.55!important;
  }
  body .df-demo-shell .df-shop-card__body > span,
  body .df-demo-shell .df-venue__cta{
    margin-top:16px!important;
    color:var(--df-green)!important;
  }

  /* Keep hover movement deliberately understated. */
  body .df-demo-shell .df-shop-card .df-menu-image-placeholder,
  body .df-demo-shell .df-venue .df-menu-image-placeholder{
    transition:filter .35s ease,transform .55s cubic-bezier(.22,.61,.36,1)!important;
    transform-origin:center center;
  }
  body .df-demo-shell .df-shop-card:hover .df-menu-image-placeholder,
  body .df-demo-shell .df-venue:hover .df-menu-image-placeholder{
    filter:brightness(.975)!important;
    transform:scale(1.008)!important;
  }
  body .df-demo-shell .df-shop-card__body > span b,
  body .df-demo-shell .df-venue__cta b,
  body .df-demo-shell .df-dropdown__footer-link > b{
    transition:transform .22s ease!important;
  }
  body .df-demo-shell .df-shop-card:hover .df-shop-card__body > span b,
  body .df-demo-shell .df-venue:hover .df-venue__cta b,
  body .df-demo-shell .df-dropdown__footer-link:hover > b{
    transform:translateX(2px)!important;
  }

  /* Quieter, roomier secondary action strip. */
  body .df-demo-shell .df-dropdown__footer-link,
  body .df-demo-shell .df-dropdown__panel--food .df-dropdown__footer-link{
    min-height:62px!important;
    margin-top:4px!important;
    border-top-color:rgba(27,33,29,.085)!important;
    color:rgba(27,33,29,.82)!important;
    font-size:11.5px!important;
    font-weight:650!important;
    letter-spacing:.065em!important;
    transition:color .2s ease,opacity .2s ease!important;
  }
  body .df-demo-shell .df-dropdown__footer-link:hover{
    color:var(--df-ink)!important;
    opacity:.72!important;
  }
  body .df-demo-shell .df-dropdown__footer-link > b{
    color:var(--df-green)!important;
  }

  /* Editorial column menus follow the same darker heading hierarchy. */
  body .df-demo-shell .df-menu-column{
    border-right-color:rgba(27,33,29,.075)!important;
  }
  body .df-demo-shell .df-menu-column h3{
    color:var(--df-ink)!important;
  }
  body .df-demo-shell .df-menu-column a{
    color:rgba(27,33,29,.74)!important;
  }
  body .df-demo-shell .df-menu-column a:hover{
    color:var(--df-green)!important;
  }
}



/* v0.4.83: desktop shop/food mega-menu cards a touch larger, with tighter spacing. */
@media (min-width:1025px){
  .df-dropdown__panel--shop,
  .df-dropdown__panel--food{
    padding-left:clamp(20px,2vw,40px);
    padding-right:clamp(20px,2vw,40px);
  }

  .df-dropdown__panel--shop .df-shop-grid,
  .df-food-grid{
    gap:clamp(12px,1vw,18px);
  }

  .df-shop-card .df-menu-image-placeholder,
  .df-venue .df-menu-image-placeholder{
    aspect-ratio:1.18/1;
  }

  .df-shop-card h3,
  .df-venue h3{
    font-size:22px;
  }
}


/* v0.4.84: stronger desktop mega-menu sizing pass after visual review. */
@media (min-width:1025px){
  .df-dropdown__panel--shop,
  .df-dropdown__panel--food{
    padding-left:clamp(14px,1.2vw,24px);
    padding-right:clamp(14px,1.2vw,24px);
    padding-top:32px;
  }

  .df-dropdown__panel--shop .df-shop-grid,
  .df-food-grid{
    gap:clamp(8px,.65vw,12px);
  }

  .df-shop-card .df-menu-image-placeholder,
  .df-venue .df-menu-image-placeholder{
    aspect-ratio:1.10/1;
  }

  .df-shop-card__body,
  .df-venue > div{
    padding:19px 8px 20px;
  }

  .df-shop-card h3,
  .df-venue h3{
    font-size:24px;
    line-height:1.04;
    margin-bottom:12px;
  }

  .df-shop-card p,
  .df-venue p{
    font-size:13.5px;
    line-height:1.5;
  }

  .df-shop-card__body > span,
  .df-venue__cta{
    margin-top:17px;
    font-size:11px;
  }

  .df-dropdown__footer-link,
  .df-dropdown__panel--food .df-dropdown__footer-link{
    margin-top:18px;
  }
}


/* v0.4.85: tighten title-to-copy spacing in desktop Shop Online / Eat & Drink mega menus. */
@media (min-width:1025px){
  .df-shop-card h3,
  .df-venue h3{
    margin-bottom:4px;
    font-size:25px;
    line-height:1.04;
  }

  .df-shop-card p,
  .df-venue p{
    margin-top:0;
  }
}


/* v0.4.86: fix the real title/body spacing issue in desktop six-card mega menus.
   v0.4.82 reserved two lines of height for every title, which created the apparent gap. */
@media (min-width:1025px){
  body .df-demo-shell .df-shop-card h3,
  body .df-demo-shell .df-venue h3{
    min-height:0!important;
    margin:0 0 5px!important;
    font-size:27px!important;
    line-height:1.04!important;
  }

  body .df-demo-shell .df-shop-card p,
  body .df-demo-shell .df-venue p{
    margin:0!important;
  }
}


/* v0.4.87: slightly stronger desktop submenu link sizing. */
@media (min-width:1025px){
  body .df-demo-shell .df-menu-column a{
    font-size:15px!important;
    line-height:1.45!important;
  }

  body .df-demo-shell .df-shop-card__body > span,
  body .df-demo-shell .df-venue__cta{
    font-size:11.5px!important;
  }
}


/* v0.4.88: increase desktop Visit Us / About Us submenu item size. */
@media (min-width:1025px){
  body .df-demo-shell .df-menu-column a{
    font-size:17px;
  }
}


/* v0.4.89: give the desktop brand mark a little more breathing room. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__top{
    height:126px!important;
    min-height:126px!important;
    padding-top:16px!important;
    padding-bottom:14px!important;
  }

  body .df-demo-shell .df-header__logo{
    width:120px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body .df-demo-shell .df-header__logo img{
    width:auto!important;
    max-width:100px!important;
    max-height:90px!important;
    height:auto!important;
  }
}


/* v0.4.90: make the desktop Darts Farm logo properly prominent. */
@media (min-width:1025px){
  body .df-demo-shell .df-header__top{
    height:150px!important;
    min-height:150px!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  body .df-demo-shell .df-header__logo{
    width:164px!important;
  }

  body .df-demo-shell .df-header__logo img{
    width:auto!important;
    max-width:140px!important;
    max-height:116px!important;
    height:auto!important;
  }
}


/* v0.4.91: presentation-ready performance pass.
   Skip initial paint/layout work for genuinely below-the-fold sections where
   supported, while reserving sensible intrinsic space to avoid jumps. */
@supports (content-visibility:auto){
  .df-events,
  .df-shop,
  .df-eat,
  .df-wellness,
  .df-editorial,
  .df-newsletter,
  .df-footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}

/* Footer brand reinstated above the practical contact details. */
.df-footer__contact .df-footer__brand-name{
  margin-bottom:14px;
}


/* v0.4.92: keep the shopping basket visible in the fixed mobile masthead. */
@media (max-width:1024px){
  body .df-demo-shell .df-header__actions{
    display:flex!important;
    position:absolute!important;
    top:50%!important;
    right:72px!important;
    z-index:1006!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    transform:translateY(-50%)!important;
  }
  body .df-demo-shell .df-header__utility{
    display:none!important;
  }
  body .df-demo-shell .df-header__basket{
    display:inline-flex!important;
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--df-ink)!important;
    opacity:1!important;
  }
  body .df-demo-shell .df-header__basket svg{
    width:27px!important;
    height:27px!important;
  }
}

@media (max-width:480px){
  body .df-demo-shell .df-header__actions{right:66px!important}
  body .df-demo-shell .df-header__basket{
    width:28px!important;
    height:28px!important;
    flex-basis:28px!important;
  }
  body .df-demo-shell .df-header__basket svg{
    width:25px!important;
    height:25px!important;
  }
}


/* v0.4.93: footer brand line matches the practical contact copy. */
.df-footer__contact .df-footer__brand-name{
  margin:0;
  color:rgba(255,255,255,.88);
  font-family:inherit;
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:normal;
}
body.df-type-sans .df-footer__contact .df-footer__brand-name{
  font-family:inherit;
  font-weight:400;
  letter-spacing:normal;
}


/* v0.4.94: footer Darts Farm label uses the small body/contact type, not heading styling. */
body .df-demo-shell .df-footer__contact .df-footer__brand-name{
  display:block!important;
  margin:0 0 2px!important;
  color:rgba(255,255,255,.88)!important;
  font-family:'Mukta',Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
