/* Configurable Green FADE uses one palette for every surface and interaction.
   Shared hero layout, name fitting and logo framing remain in Club/shop-brand CSS. */
.green-template{
 --club-green:var(--palette-bg);
 --club-cream:var(--palette-text);
 --club-gold:var(--palette-accent);
 --club-pine:var(--palette-bg);
 --club-ochre:var(--palette-accent);
 --club-muted:var(--palette-muted);
 --club-line:var(--palette-line);
 background:var(--palette-bg);
 color:var(--palette-text)
}
/* Directional light follows the chosen background hue, never the button accent.
   Translucent glows preserve the original darker upper-left / luminous lower-right. */
.green-template .club-hero{
 --palette-muted:var(--palette-hero-muted);
 --club-muted:var(--palette-hero-muted);
 --palette-line:var(--palette-hero-line);
 --club-line:var(--palette-hero-line);
 --palette-accent-ink:var(--palette-hero-accent-ink);
 background:radial-gradient(ellipse at 66% 84%,color-mix(in srgb,var(--palette-hero-glow) 50%,transparent) 0,transparent 61%),radial-gradient(ellipse at 38% 55%,color-mix(in srgb,var(--palette-hero-soft-glow) 44%,transparent) 0,transparent 61%),linear-gradient(145deg,var(--palette-hero-shade) 8%,var(--palette-hero-mid) 56%,var(--palette-hero-end) 100%);
 color:var(--palette-text)
}
.green-template .club-services{background:var(--palette-bg);color:var(--palette-text)}
.green-template .club-team{--palette-muted:var(--palette-hero-muted);--club-muted:var(--palette-hero-muted);--palette-line:var(--palette-hero-line);--club-line:var(--palette-hero-line);--palette-accent-ink:var(--palette-hero-accent-ink);background:radial-gradient(ellipse at 85% 40%,color-mix(in srgb,var(--palette-hero-soft-glow) 44%,transparent) 0,transparent 65%),var(--palette-bg);color:var(--palette-text)}
.green-template .club-gallery{background:var(--palette-bg);color:var(--palette-text)}
.green-template .club-footer{
 --club-cream:var(--palette-deep-text);
 --club-muted:var(--palette-deep-muted);
 --club-line:var(--palette-deep-line);
 background:var(--palette-deep);
 color:var(--palette-deep-text)
}
.green-template .club-about,.green-template .club-contact{
 --club-cream:var(--palette-alt-text);
 --club-pine:var(--palette-alt);
 --club-muted:var(--palette-alt-muted);
 --club-line:var(--palette-alt-line);
 background:var(--palette-alt);
 color:var(--palette-alt-text)
}
.green-template .club-section-meta{border-color:var(--club-line);color:var(--club-muted)}
.green-template .club-display .club-heading-tone{color:var(--palette-heading-tone)}
.green-template .club-about .club-display .club-heading-tone,.green-template .club-contact .club-display .club-heading-tone{color:var(--palette-alt-heading-tone)}
.green-template .club-about-copy>.club-overline,.green-template .club-contact-info dt{color:var(--palette-alt-muted)}
.green-template .club-about-strip,.green-template .club-contact-links{border-color:var(--palette-alt-line)}
.green-template .club-about-strip>span:nth-child(even){color:var(--palette-alt-muted)}
.green-template .club-about-copy>p,.green-template .club-contact-info dd,.green-template .club-contact-links>a{color:var(--palette-alt-text)}
.green-template .club-services-heading>p,.green-template .club-team-heading>p,.green-template .club-catalog-note{color:var(--palette-muted)}
.green-template .club-hero-services>.club-overline{max-width:100%;overflow-wrap:anywhere;color:var(--palette-muted)}
.green-template .club-hero-services-footer>span,.green-template .club-small-cross{color:var(--palette-muted)}
.green-template .club-hero-services-footer>button,.green-template .club-hero-bottom,.green-template .club-account,.green-template .club-desktop-nav{color:var(--palette-text)}
.green-template .club-desktop-nav a:after,.green-template .club-menu-toggle>span{background:var(--palette-text)}
.green-template .club-mobile-nav{background:var(--palette-bg);color:var(--palette-text)}
.green-template .club-mobile-nav>a,.green-template .club-mobile-nav>button{color:var(--palette-text);border-color:var(--palette-line)}
.green-template .club-mobile-nav>small{color:var(--palette-muted)}
.green-template .club-skip{background:var(--palette-text);color:var(--palette-bg)}

/* Artwork keeps its original pixels; only its surrounding presentation is themed. */
.green-template .club-brand,.green-template .club-contact-emblem{background:none;border-color:var(--club-line)}
.green-template .club-brand .shop-logo-mark,.green-template .club-contact-emblem .shop-logo-mark{filter:none;mix-blend-mode:normal}
.green-template .club-brand:has(.club-brand-wordmark){width:auto;height:auto;min-height:44px;max-width:min(180px,20%);border:0;background:none;border-radius:0;justify-content:start}
.green-template .club-brand-wordmark{font-family:'Club Display','Arial Narrow',sans-serif;font-size:clamp(18px,1.8vw,27px);line-height:1.05;overflow-wrap:anywhere;text-align:left}
.green-template .club-contact-emblem:has(.club-brand-wordmark){width:auto;height:auto;min-height:70px;max-width:220px;border:0;border-radius:0;background:none;display:block}
.green-template .club-contact-emblem .club-brand-wordmark{font-size:45px;color:var(--palette-alt-text)}
.green-template .club-desktop-nav{margin-left:auto;gap:clamp(12px,1.5vw,25px)}
.green-template .club-hero-title>span:first-child{max-width:100%;width:100%}
.green-template .club-service-title{overflow-wrap:anywhere}
.green-template .club-footer-name{white-space:normal;max-width:35%;overflow-wrap:anywhere;line-height:1.05;color:var(--palette-deep-text)}
.green-template .club-footer>div,.green-template .club-powered{color:var(--palette-deep-muted)}
.green-template .club-footer>button,.green-template .club-powered a{color:var(--palette-deep-text)}

/* Accent backgrounds choose their own contrasting ink, including on light themes. */
.green-template .club-button{background:var(--palette-accent);color:var(--palette-on-accent)!important}
.green-template .club-button:hover,.green-template .club-button:focus-visible{background:var(--palette-accent-hover);color:var(--palette-on-accent-hover)!important}
.green-template .club-service-row{color:var(--palette-text);border-color:var(--palette-line)!important}
.green-template .club-service-title>small{color:var(--palette-muted)}
.green-template .club-service-row:hover .club-service-title,.green-template .club-service-row:focus-visible .club-service-title{color:var(--palette-text)}
.green-template .club-row-book{background:var(--palette-accent);color:var(--palette-on-accent)}
.green-template .club-text-link{color:inherit;border-color:var(--club-line)}
.green-template .club-tabs,.green-template .club-services-heading>.club-text-link,.green-template .club-gallery-heading>.club-text-link{border-color:var(--palette-line)}
.green-template .club-tabs>button{color:var(--palette-muted)}
.green-template .club-tabs>button[aria-pressed=true],.green-template .club-tabs>button:hover,.green-template .club-tabs>button:focus-visible{color:var(--palette-text)}
.green-template .club-tabs>button:after,.green-template .club-team-list>button:not(.club-button):before{background:var(--palette-accent-ink)}
.green-template .club-team-list>button:not(.club-button){color:var(--palette-muted);border-color:var(--palette-line)}
.green-template .club-team-list>button.is-selected,.green-template .club-team-list>button:not(.club-button):hover,.green-template .club-team-list>button:not(.club-button):focus-visible{color:var(--palette-text)}
.green-template .club-team-list>button.is-selected,.green-template .club-team-list>button.is-selected:hover,.green-template .club-team-list>button.is-selected:focus-visible{background:var(--palette-surface);color:var(--palette-surface-text)}
.green-template .club-empty-team{max-width:620px;padding-block:20px;color:var(--palette-muted)}
.green-template .club-empty-team .club-button{margin-top:25px;max-width:330px}
.green-template .club-team-image{background:var(--palette-deep);color:var(--palette-deep-text)}
.green-template .club-team-image:after{background:linear-gradient(transparent,var(--palette-photo-shade))}
.green-template .club-team-image>span:not(.club-team-monogram){color:var(--palette-photo-text)}
.green-template .club-team-image>.club-team-monogram{position:static;display:grid;width:100%;height:100%;place-items:center;font-family:'Club Display','Arial Narrow',sans-serif;font-size:110px;color:var(--palette-deep-muted)}
.green-template .club-team-image:has(.club-team-monogram):after{display:none}

/* Move the existing photo grade off the wrapper so badges retain correct contrast. */
.green-template .club-gallery-crop,.green-template .club-gallery-item:hover .club-gallery-crop,.green-template .club-gallery-item:focus-visible .club-gallery-crop{filter:none}
.green-template .club-gallery-crop>.club-gallery-photo{filter:saturate(.45) brightness(.8);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s}
.green-template .club-gallery-item:hover .club-gallery-crop>.club-gallery-photo,.green-template .club-gallery-item:focus-visible .club-gallery-crop>.club-gallery-photo{filter:saturate(.75) brightness(.95)}
.green-template .club-gallery-badge{background:var(--palette-accent);color:var(--palette-on-accent)}
.green-template .club-gallery-item>span:last-child{color:var(--palette-text);border-color:var(--palette-line)}
.green-template .club-gallery-item:hover>span:last-child,.green-template .club-gallery-item:focus-visible>span:last-child{color:var(--palette-text)}
.green-template .club-image-note{color:var(--palette-muted)}
.green-template .club-gallery-unavailable{background:var(--palette-surface);color:var(--palette-surface-muted)}
.green-template .club-gallery-backdrop{background:var(--palette-overlay)}
.green-template .club-gallery-dialog{
 --club-cream:var(--palette-surface-text);
 --club-muted:var(--palette-surface-muted);
 --club-line:var(--palette-line);
 background:var(--palette-surface);
 color:var(--palette-surface-text);
 border-color:var(--palette-line)
}
.green-template .club-gallery-large{background:var(--palette-deep)}
.green-template .club-gallery-dialog-copy small,.green-template .club-gallery-dialog-copy p,.green-template .club-gallery-disclosure{color:var(--palette-surface-muted)}
.green-template.club-experience .club-gallery-close{background:var(--palette-surface)!important;color:var(--palette-surface-text)!important;border-color:var(--palette-line)!important}
.green-template .club-gallery-controls button{border-color:var(--palette-line)!important;background:var(--palette-surface)!important;color:var(--palette-surface-text)}
.green-template.club-experience .club-gallery-close:hover,.green-template .club-gallery-controls button:hover{background:var(--palette-accent-hover)!important;color:var(--palette-on-accent-hover)!important}

/* Focus rings use a foreground paired with the actual surface beneath them. */
.green-template.club-experience button:focus-visible,.green-template.club-experience a:focus-visible{outline-color:var(--club-cream)}

/* Owner-written copy can grow without pushing the page beyond its viewport. */
.green-template .club-display{min-width:0;max-width:100%;overflow-wrap:anywhere}
.green-template .club-about-grid>*,.green-template .club-services-grid>*,.green-template .club-team-grid>*,.green-template .club-contact-grid>*{min-width:0}
.green-template .club-team-heading>.club-display{white-space:normal;flex-shrink:1}
.green-template .club-gallery-heading{flex-wrap:wrap}
.green-template .club-section-meta>span,.green-template .club-about-strip>span,.green-template .club-hero-bottom>span{overflow-wrap:anywhere;min-width:0}
.green-template .club-hero-category .club-hero-line{white-space:normal;overflow-wrap:anywhere}
.green-template .club-hero-category .club-hero-word{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.green-template .club-button,.green-template .club-text-link{max-width:100%;overflow-wrap:anywhere}
.green-template .club-button svg,.green-template .club-text-link svg{flex-shrink:0}
.green-template .club-editable-paragraph{white-space:pre-line;overflow-wrap:anywhere}
.green-template .club-gallery-backdrop button:focus-visible{outline-color:var(--palette-surface-text)}
.green-template-toast{position:fixed;z-index:500;left:50%;bottom:max(62px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:14px 20px;border:1px solid var(--palette-line);border-radius:8px;background:var(--palette-surface);box-shadow:0 4px 30px var(--palette-overlay);color:var(--palette-surface-text);font:13px/1.5 'Club Sans',Arial,sans-serif;pointer-events:none;text-align:center}
.green-template-catalog-status{position:fixed;left:0;right:0;bottom:0;z-index:14;background:var(--palette-bg);color:var(--palette-muted);border-top:1px solid var(--palette-line);padding:9px 6%;font:10px/1.6 'Club Sans',Arial,sans-serif;letter-spacing:.03em;text-align:center}

@media(min-width:801px){.green-template .club-portrait{left:calc(max(2%,calc((100% - 1560px)/2)) + var(--template-portrait-x));bottom:calc(0% - var(--template-portrait-y));height:calc((100% - 150px)*var(--template-portrait-scale));max-height:calc(880px*var(--template-portrait-scale));max-width:calc(56%*var(--template-portrait-scale))}}
@media(max-width:1100px) and (min-width:801px){.green-template .club-desktop-nav{gap:10px}.green-template .club-brand:has(.club-brand-wordmark){max-width:140px}.green-template .club-brand-wordmark{font-size:21px}}
@media(max-width:800px){.green-template .club-hero{background:radial-gradient(ellipse at 25% 43%,color-mix(in srgb,var(--palette-hero-glow) 50%,transparent) 0,transparent 52%),linear-gradient(150deg,var(--palette-hero-shade),var(--palette-hero-end))}.green-template .club-brand:has(.club-brand-wordmark){max-width:145px}.green-template .club-brand-wordmark{font-size:20px;line-height:1.05}.green-template .club-header{gap:16px}.green-template .club-portrait{top:calc(var(--club-portrait-top,calc(85px + 13vw)) + var(--template-portrait-y));left:calc(-9% + var(--template-portrait-x));width:calc(88%*var(--template-portrait-scale));height:calc(98vw*var(--template-portrait-scale))}.green-template .club-footer-name{max-width:none}}
@media(min-width:600px) and (max-width:800px){.green-template .club-portrait{top:calc(var(--club-portrait-top,calc(85px + 10vw)) + var(--template-portrait-y));width:calc(82%*var(--template-portrait-scale));height:calc(91vw*var(--template-portrait-scale))}}
