/*
Theme Name: Loudoun Nursery Modern
Theme URI: https://www.loudounnursery.com/
Author: Applied Tactics
Description: Modern, mobile-first custom WordPress theme for Loudoun Nursery with per-page structured content editing, client-friendly content controls, and one-click demo importer.
Version: 12.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: loudoun-nursery
*/
:root{--forest:#163f2b;--forest2:#0f3022;--cream:#f7f4ee;--paper:#fffdf9;--ink:#24302a;--muted:#6c716d;--blush:#d98f91;--sage:#dfe6dd;--line:#e6e2d9;--max:1240px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.55}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.ln-wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.narrow{max-width:850px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin-top:0}.kicker{font-size:.72rem;letter-spacing:.18em;font-weight:800;color:var(--forest);margin-bottom:16px}.kicker.blush{color:var(--blush)}.kicker.light{color:#ecf2ed}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--forest);text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--forest);color:white}.btn.ghost{background:rgba(255,255,255,.87);border-color:#bcc3bb}.btn.ghost.dark{background:transparent}.btn.lightbtn{background:white;color:var(--forest);border-color:white}.text-link{font-size:.73rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--forest)}
.site-header{height:92px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.05)}.header-inner{height:100%;display:flex;align-items:center;gap:32px;position:relative}.brand-wrap{display:flex;align-items:center;justify-content:flex-start;min-width:245px;margin-right:auto}.brand-wrap .custom-logo-link{display:flex;align-items:center;margin:0;padding:0}.brand-wrap .custom-logo{display:block;max-height:62px;max-width:245px;width:auto;object-fit:contain;object-position:left center}.brand{display:flex;align-items:center;gap:13px;min-width:245px}.brand-symbol{font-family:var(--serif);font-size:3rem;color:var(--forest);transform:rotate(-25deg);display:inline-block}.brand strong{font-family:var(--serif);letter-spacing:.16em;font-size:1.28rem;display:block;line-height:1.08}.brand small{display:block;font-size:.55rem;letter-spacing:.18em;margin-top:5px;color:var(--muted)}.desktop-nav{margin-left:0}.primary-menu{display:flex;list-style:none;gap:31px;padding:0;margin:0;align-items:center}.primary-menu a{text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;font-weight:800;position:relative}.primary-menu a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--blush);transition:.2s}.primary-menu a:hover:after,.current-menu-item>a:after{right:0}.header-tools{display:flex;align-items:center;gap:15px}.ig{font-size:1.7rem}.mobile-toggle{display:none;border:0;background:transparent;padding:7px}.mobile-toggle span{width:25px;height:2px;background:var(--forest);display:block;margin:5px}.mobile-panel{display:none}
.home-hero{position:relative;min-height:590px;display:flex;align-items:stretch;overflow:hidden}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.92) 31%,rgba(255,253,249,.34) 55%,rgba(255,253,249,0) 72%)}.hero-content{position:relative;z-index:2;display:flex;align-items:center;min-height:590px}.hero-copy{width:min(520px,48%);padding:54px 0}.hero-copy h1{font-size:clamp(3.8rem,6.2vw,6.1rem);color:var(--forest);letter-spacing:-.03em;margin-bottom:28px}.hero-copy p{font-size:1.05rem;max-width:500px;margin:0 0 30px}.actions{display:flex;gap:16px;flex-wrap:wrap}
.feature-row{padding:34px 0 74px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.feature{background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(19,51,35,.05)}.feature-photo{display:block;aspect-ratio:1.36;background-size:cover;background-position:center}.feature-body{padding:25px 24px 28px}.feature h2{font-size:1.55rem;color:var(--forest);margin-bottom:10px}.feature p{color:var(--muted);font-size:.9rem;min-height:67px}.split-band{display:grid;grid-template-columns:1fr 1fr;background:#f5f1eb}.split-photo{min-height:430px;background-size:cover;background-position:center}.split-copy{padding:75px max(42px,calc((100vw - var(--max))/2));padding-left:70px;align-self:center}.split-copy h2{font-size:3.25rem;color:var(--forest);margin-bottom:18px}.split-copy>p{max-width:610px;color:var(--muted)}.mini-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.mini-benefits strong{display:block;color:var(--forest);font-size:.86rem}.mini-benefits span{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}
.social-strip{padding:66px 0}.social-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.social-head h2{font-size:2.35rem;color:var(--forest);margin:0}.social-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.social-grid>div{aspect-ratio:1;background-size:cover;background-position:center}.visit-cta{background:var(--forest);color:white;padding:48px 0}.visit-inner{display:grid;grid-template-columns:1.5fr 1fr .7fr auto;gap:35px;align-items:center}.visit-inner h2{font-size:2.7rem;margin-bottom:8px}.visit-inner strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.visit-inner p{font-size:.86rem;color:#dce7df;margin:6px 0}.visit-inner a:not(.btn){color:white}
.site-footer{background:var(--forest2);color:#e8eee9;padding:38px 0 20px}.footer-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start}.footer-brand{font-family:var(--serif);font-size:1.25rem;letter-spacing:.12em}.footer-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 26px;list-style:none;margin:0;padding:0}.footer-menu a{font-size:.67rem;text-transform:uppercase;letter-spacing:.09em}.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:.82rem}.footer-socials{display:flex;gap:10px 14px;flex-wrap:wrap;justify-content:flex-end}.footer-socials a{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.35)}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding-top:16px;font-size:.7rem;color:#aebdb3}.copyright span{padding:0 7px}
.sub-hero{position:relative;height:390px;background-size:cover;background-position:center;display:flex;align-items:end}.sub-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,35,24,.84),rgba(11,35,24,.2))}.sub-hero-copy{position:relative;z-index:2;color:white;padding-bottom:55px}.sub-hero h1{font-size:clamp(3.5rem,6vw,5.8rem);margin-bottom:12px}.sub-hero p{font-size:1.2rem;margin:0}.sub-intro{padding:48px 0;border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.intro-grid h2{font-size:2.45rem;color:var(--forest);margin-bottom:12px}.intro-grid p{max-width:760px;color:var(--muted);margin:0}.trees-section{padding:68px 0}.section-head{text-align:center;margin-bottom:36px}.section-head.left{text-align:left}.section-head h1,.section-head h2{font-size:3.1rem;color:var(--forest);margin-bottom:8px}.section-head p{max-width:670px;color:var(--muted)}.tree-variety-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.tree-variety{text-align:center;border-right:1px solid var(--line);padding:0 13px}.tree-variety:last-child{border-right:0}.tree-img{height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.tree-img img{width:100%;height:100%;object-fit:cover}.tree-variety h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;margin:18px 0 8px}.tree-variety p{font-size:.82rem;color:var(--muted);min-height:62px}.tree-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.72rem;font-weight:800}.availability{color:var(--forest)}.season-card{background:#f3f1eb;padding:44px 0}.season-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr) auto;gap:28px;align-items:center}.season-grid h2{font-size:2.35rem;color:var(--forest);margin:0}.season-grid strong{font-size:.69rem;text-transform:uppercase;letter-spacing:.1em}.season-grid p{font-size:.82rem;margin:6px 0;color:var(--muted)}
.about-hero,.simple-page{display:grid;grid-template-columns:1fr 1.12fr;min-height:550px}.about-copy,.simple-copy{padding:75px max(50px,calc((100vw - var(--max))/2));padding-right:70px;align-self:center}.about-copy h1,.simple-copy h1{font-size:clamp(3.4rem,5.4vw,5.4rem);color:var(--forest);letter-spacing:-.025em}.about-copy p,.simple-copy p{color:var(--muted);max-width:570px}.about-hero-img,.simple-img{background-size:cover;background-position:center}.story{padding:70px 0}.story-grid{display:grid;grid-template-columns:1.05fr 1.2fr;gap:70px;align-items:center}.story-photo{min-height:440px;background-size:cover;background-position:center}.story h2,.about-bottom h2{font-size:3rem;color:var(--forest)}.story p,.about-bottom p{color:var(--muted)}.story-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.story-points strong{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--forest)}.story-points span{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.promise{background:#faf8f4;padding:65px 0}.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.promise-grid>div{border-top:1px solid var(--line);padding-top:22px}.promise-grid span{color:var(--blush);font-size:.72rem;font-weight:800}.promise-grid h3{font-family:var(--sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;margin:10px 0}.promise-grid p{font-size:.82rem;color:var(--muted)}.about-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.about-gallery>div{aspect-ratio:1.45;background-size:cover;background-position:center}.about-bottom{padding:65px 0}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:80px}.visit-page{padding:80px 0}.visit-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;background:#f5f1eb;padding:45px}.visit-page-grid strong{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--forest)}.visit-page-grid p{color:var(--muted)}.editable-content{margin-top:30px}.generic-page{padding:80px 0}.generic-page h1{font-size:3.4rem;color:var(--forest)}
@media(max-width:1050px){.primary-menu{gap:17px}.feature-grid{grid-template-columns:repeat(2,1fr)}.tree-variety-grid{grid-template-columns:repeat(3,1fr)}.tree-variety:nth-child(3){border-right:0}.season-grid{grid-template-columns:1fr 1fr 1fr}.season-grid .btn{grid-column:1/-1;width:max-content}.visit-inner{grid-template-columns:1fr 1fr}.visit-inner .btn{justify-self:start}.story-points{grid-template-columns:1fr}.split-copy{padding-left:45px}.footer-grid{grid-template-columns:1fr 1.5fr 1fr}}
@media(max-width:800px){.brand-wrap{min-width:0;max-width:210px;margin-right:auto}.brand-wrap .custom-logo{max-width:210px;max-height:56px}.page-photo-area{padding:48px 0}.ln-slider,.ln-slider-track{min-height:330px}.ln-slide img{height:330px}.page-photo-grid{grid-template-columns:1fr 1fr}.footer-socials{justify-content:flex-start}.ln-wrap{width:min(calc(100% - 30px),var(--max))}.site-header{height:76px}.brand{min-width:0}.brand strong{font-size:1rem}.brand small{display:none}.brand-symbol{font-size:2.2rem}.desktop-nav{display:none}.mobile-toggle{display:block}.header-tools{margin-left:auto}.mobile-panel{position:absolute;top:76px;left:-15px;right:-15px;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 30px rgba(0,0,0,.08)}.mobile-panel.open{display:block}.mobile-panel ul{list-style:none;margin:0;padding:10px 20px 20px}.mobile-panel li+li{border-top:1px solid var(--line)}.mobile-panel a{display:block;padding:13px 2px;text-transform:uppercase;font-size:.76rem;font-weight:800}.home-hero,.hero-content{min-height:620px}.hero-wash{background:linear-gradient(0deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.88) 47%,rgba(255,253,249,.18) 80%)}.hero-content{align-items:flex-end}.hero-copy{width:100%;padding:270px 0 55px}.hero-copy h1{font-size:3.7rem}.feature-grid{grid-template-columns:1fr 1fr}.split-band{grid-template-columns:1fr}.split-photo{min-height:340px}.split-copy{padding:48px 28px}.mini-benefits{grid-template-columns:1fr}.social-grid{grid-template-columns:repeat(3,1fr)}.visit-inner{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-menu{justify-content:flex-start}.footer-contact{align-items:flex-start}.sub-hero{height:330px}.intro-grid{grid-template-columns:1fr}.tree-variety-grid{grid-template-columns:1fr 1fr}.tree-variety,.tree-variety:nth-child(3){border-right:0}.season-grid{grid-template-columns:1fr 1fr}.about-hero,.simple-page{grid-template-columns:1fr}.about-copy,.simple-copy{padding:55px 25px}.about-hero-img,.simple-img{min-height:390px}.story-grid{grid-template-columns:1fr;gap:35px}.promise-grid{grid-template-columns:1fr 1fr}.about-gallery{grid-template-columns:1fr 1fr}.two-up{grid-template-columns:1fr;gap:45px}.visit-page-grid{grid-template-columns:1fr;padding:28px}}
@media(max-width:520px){.brand-wrap{max-width:175px}.brand-wrap .custom-logo{max-width:175px;max-height:48px}.ig{display:none}.hero-copy h1{font-size:3.15rem}.actions .btn{width:100%}.feature-grid{grid-template-columns:1fr}.feature-body p{min-height:0}.social-head{align-items:flex-start;flex-direction:column;gap:18px}.social-grid{grid-template-columns:1fr 1fr}.sub-hero h1{font-size:3.1rem}.tree-variety-grid{grid-template-columns:1fr}.tree-img{height:260px}.season-grid{grid-template-columns:1fr}.promise-grid{grid-template-columns:1fr}.about-gallery{grid-template-columns:1fr 1fr}.story h2,.about-bottom h2,.split-copy h2{font-size:2.55rem}}

.page-editor-content{padding:45px 0}.page-editor-content:empty{display:none}.editable-content{font-size:1rem}.editable-content p:last-child{margin-bottom:0}.page-photo-area{padding:70px 0;background:#faf8f4;border-top:1px solid var(--line)}.page-photo-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.page-photo-head h2{font-size:2.7rem;color:var(--forest);margin:0}.ln-slider{position:relative;overflow:hidden;background:#e9e6df;min-height:470px}.ln-slider-track{position:relative;min-height:470px}.ln-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .5s ease;pointer-events:none}.ln-slide.is-active{opacity:1;pointer-events:auto}.ln-slide img{width:100%;height:470px;object-fit:cover;display:block}.ln-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(15,48,34,.72);color:white;font-size:2rem;line-height:1;cursor:pointer}.ln-slider-btn.prev{left:20px}.ln-slider-btn.next{right:20px}.ln-slider-dots{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}.ln-slider-dots button{width:9px;height:9px;border:0;border-radius:50%;background:rgba(255,255,255,.6);padding:0;cursor:pointer}.ln-slider-dots button.is-active{background:white;transform:scale(1.25)}.page-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.page-photo-grid figure{margin:0;aspect-ratio:1.35;overflow:hidden}.page-photo-grid img{width:100%;height:100%;object-fit:cover}.site-header .header-tools{margin-left:0}

@media(max-width:520px){.ln-slider,.ln-slider-track{min-height:270px}.ln-slide img{height:270px}.ln-slider-btn{width:42px;height:42px}.page-photo-grid{grid-template-columns:1fr}.page-photo-head h2{font-size:2.2rem}}

/* v4: Featured Images drive subpage hero photography */
.generic-featured{width:100%;height:clamp(260px,38vw,520px);background-size:cover;background-position:center;margin:0 0 3rem}
@media(max-width:760px){.generic-featured{height:260px}}

/* v6 — main WordPress editor drives all subpage body content */
.editor-hero{display:grid;grid-template-columns:.92fr 1.35fr;min-height:500px;background:#fbf8f3}.editor-hero.compact{min-height:390px}.editor-hero-copy{align-self:center;padding:70px max(45px,calc((100vw - var(--max))/2));padding-right:55px}.editor-hero-copy h1{font-size:clamp(3.2rem,5.2vw,5.2rem);color:var(--forest);margin:.2em 0 0}.editor-hero-image{background-size:cover;background-position:center;min-height:100%}.editor-designed-page{padding:68px 0;background:#fff}.narrow-wide{max-width:1040px}.ln-main-editor-content{margin-top:0;font-size:1.02rem;color:var(--muted);line-height:1.75}.ln-main-editor-content>p:first-child,.ln-main-editor-content .ln-lead-copy{font-size:1.22rem;line-height:1.7;color:#3d4a43;max-width:850px}.ln-main-editor-content h2{font-size:clamp(2rem,3.2vw,3.1rem);color:var(--forest);margin:1.55em 0 .45em}.ln-main-editor-content h3{font-family:var(--sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.09em;color:var(--forest);margin:.4em 0}.ln-main-editor-content img{max-width:100%;height:auto}.ln-content-wide-image{display:block;width:100%;max-height:520px;object-fit:cover;margin:34px 0 22px}.ln-kicker{font-size:.72rem!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blush)!important;margin-bottom:5px!important}.ln-editor-intro{max-width:820px;margin-bottom:34px}.ln-editor-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:42px;align-items:center;margin:42px 0}.ln-editor-feature img{width:100%;height:360px;object-fit:cover}.ln-editor-callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0 52px}.ln-editor-callouts>div{padding:24px;border-top:2px solid #d7a39f;background:#faf8f4}.ln-editor-callouts p{margin:.5em 0 0;font-size:.92rem}.ln-editor-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:34px 0 55px}.ln-editor-photo-row img{width:100%;height:260px;object-fit:cover}.ln-editor-two-col{display:grid;grid-template-columns:1fr 1fr;gap:58px;margin-top:45px}.christmas-editor-intro{padding-bottom:42px}.simple-copy .ln-main-editor-content{margin-top:28px}.simple-copy .ln-main-editor-content h2{font-size:2rem}.simple-copy .ln-main-editor-content img{margin:25px 0}.simple-copy .ln-content-wide-image{max-height:360px}.editable-content a{color:var(--forest);text-decoration:underline;text-underline-offset:3px}

@media(max-width:800px){.editor-hero{grid-template-columns:1fr;min-height:0}.editor-hero-copy{padding:50px 25px 35px}.editor-hero-image{min-height:330px}.editor-designed-page{padding:48px 0}.ln-editor-feature{grid-template-columns:1fr;gap:24px}.ln-editor-feature img{height:300px}.ln-editor-callouts{grid-template-columns:1fr}.ln-editor-photo-row{grid-template-columns:1fr 1fr}.ln-editor-photo-row img{height:200px}.ln-editor-two-col{grid-template-columns:1fr;gap:18px}.ln-main-editor-content>p:first-child,.ln-main-editor-content .ln-lead-copy{font-size:1.08rem}}
@media(max-width:520px){.ln-editor-photo-row{grid-template-columns:1fr}.ln-editor-photo-row img{height:240px}}


/* v7 Visit Us page — rich design, content remains editable in the normal WordPress editor */
.ln-visit-editor{--visit-cream:#faf8f4;--visit-sage:#eef1ea;--visit-border:#dedfd9;--visit-pink:#d98d8d;--visit-dark:#173f2b}
.ln-visit-editor .ln-visit-intro{max-width:820px;margin:0 0 42px}
.ln-visit-editor .ln-visit-intro .ln-kicker{margin-bottom:10px!important}
.ln-visit-editor .ln-visit-intro h2{margin-top:0}
.ln-visit-editor .ln-visit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 55px}
.ln-visit-editor .ln-visit-card{background:var(--visit-cream);border:1px solid var(--visit-border);padding:26px;border-radius:8px}
.ln-visit-editor .ln-visit-card h3{font-family:var(--sans);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 9px;color:var(--forest)}
.ln-visit-editor .ln-visit-card p{font-size:.94rem;margin:0;color:var(--muted)}
.ln-visit-editor .ln-visit-directions{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--visit-dark);border-radius:10px;overflow:hidden;margin:0 0 58px}
.ln-visit-editor .ln-visit-directions-copy{padding:46px;color:#fff;align-self:center}
.ln-visit-editor .ln-visit-directions-copy .ln-kicker{color:#efb0ad!important}
.ln-visit-editor .ln-visit-directions-copy h2{color:#fff;margin-top:.2em}
.ln-visit-editor .ln-visit-directions-copy p{color:rgba(255,255,255,.88)}
.ln-visit-editor .ln-visit-address{font-size:1.1rem;line-height:1.55;margin:20px 0}
.ln-visit-editor .ln-visit-map{margin:0;min-height:470px;background:#e8e7e2}
.ln-visit-editor .ln-visit-map img{width:100%;height:100%;min-height:470px;object-fit:cover;display:block;margin:0}
.ln-visit-editor .ln-visit-button{display:inline-block;background:#fff;color:var(--forest)!important;text-decoration:none!important;padding:13px 22px;font-weight:800;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;border-radius:3px}
.ln-visit-editor .ln-before-visit{background:var(--visit-cream);border-left:4px solid var(--visit-pink);border-radius:8px;padding:38px;margin-top:15px}
.ln-visit-editor .ln-before-visit h2{margin-top:0}
.ln-visit-editor .ln-before-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ln-visit-editor .ln-before-grid h3{font-family:var(--sans);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--forest);margin:0 0 8px}
.ln-visit-editor .ln-before-grid p{font-size:.94rem;margin:0;color:var(--muted)}
.ln-main-editor-content>h2:first-child{margin-top:0}
@media(max-width:800px){.ln-visit-editor .ln-visit-cards,.ln-visit-editor .ln-before-grid{grid-template-columns:1fr}.ln-visit-editor .ln-visit-directions{grid-template-columns:1fr}.ln-visit-editor .ln-visit-directions-copy{padding:32px 25px}.ln-visit-editor .ln-visit-map,.ln-visit-editor .ln-visit-map img{min-height:310px}.ln-visit-editor .ln-before-visit{padding:28px 23px}}


/* v8 — Smart gallery image handling. Small/text-message images are never enlarged to fill a huge slot. */
.page-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.page-photo-grid figure{position:relative;aspect-ratio:4/3;background:#e8e7e2;border-radius:6px;overflow:hidden}
.ln-smart-media{position:relative;width:100%;height:100%;overflow:hidden;background:#e8e7e2;display:flex;align-items:center;justify-content:center}
.ln-smart-backdrop{position:absolute;inset:-24px;background-image:var(--ln-photo-bg);background-size:cover;background-position:center;filter:blur(20px) brightness(.78) saturate(.85);transform:scale(1.08);opacity:0;transition:opacity .2s ease}
.ln-smart-media img{position:relative;z-index:1;display:block}
.page-photo-grid .ln-smart-media:not(.is-small) img{width:100%;height:100%;object-fit:cover}
.page-photo-grid .ln-smart-media.is-small .ln-smart-backdrop{opacity:.42}
.page-photo-grid .ln-smart-media.is-small img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 18px rgba(0,0,0,.16)}

/* Large slider: good-resolution photos fill the frame; small photos stay near native size over a subtle blurred backdrop. */
.ln-slide .ln-smart-media{height:470px}
.ln-slide .ln-smart-media:not(.is-small) img{width:100%;height:470px;object-fit:cover}
.ln-slide .ln-smart-media.is-small .ln-smart-backdrop{opacity:.72}
.ln-slide .ln-smart-media.is-small img{width:auto;height:auto;max-width:calc(100% - 80px);max-height:430px;object-fit:contain;box-shadow:0 10px 36px rgba(0,0,0,.28)}

/* Prevent browser/image-resizer artifacts from creating a visibly soft stretch. */
.ln-smart-img{image-rendering:auto}

@media(max-width:1000px){.page-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.page-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ln-slide .ln-smart-media,.ln-slide .ln-smart-media:not(.is-small) img{height:330px}.ln-slide .ln-smart-media.is-small img{max-height:300px;max-width:calc(100% - 50px)}}
@media(max-width:520px){.page-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ln-slide .ln-smart-media,.ln-slide .ln-smart-media:not(.is-small) img{height:270px}.ln-slide .ln-smart-media.is-small img{max-height:245px;max-width:calc(100% - 34px)}}


/* ==========================================================
   V9 STANDARD SUBPAGE HEADER
   Featured images are deliberately decoupled from page content
   so adding text can never make the image grow vertically.
   ========================================================== */
.ln-subpage-header{background:#fbf8f3;border-bottom:1px solid var(--line);padding:48px 0}
.ln-subpage-header-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);gap:62px;align-items:center}
.ln-subpage-header-copy{min-width:0;padding:20px 0}
.ln-subpage-header-copy h1{font-size:clamp(3.2rem,5.2vw,5.2rem);color:var(--forest);letter-spacing:-.025em;margin:.12em 0 0;max-width:620px}
.ln-subpage-featured{width:100%;height:360px;min-height:360px;max-height:360px;background-size:cover;background-position:center;border-radius:10px;box-shadow:0 14px 36px rgba(18,54,36,.08);overflow:hidden;align-self:center}
/* Override older page-header systems when legacy template/page CSS is present. */
.simple-page,.editor-hero,.sub-hero{min-height:0}
.simple-img,.editor-hero-image{min-height:0;height:auto}

@media(max-width:1000px){
  .ln-subpage-header-grid{grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:38px}
  .ln-subpage-featured{height:320px;min-height:320px;max-height:320px}
}
@media(max-width:800px){
  .ln-subpage-header{padding:34px 0 38px}
  .ln-subpage-header-grid{grid-template-columns:1fr;gap:24px}
  .ln-subpage-header-copy{padding:4px 0 0}
  .ln-subpage-header-copy h1{font-size:clamp(2.8rem,11vw,4.1rem)}
  .ln-subpage-featured{height:300px;min-height:300px;max-height:300px}
}
@media(max-width:520px){
  .ln-subpage-featured{height:230px;min-height:230px;max-height:230px;border-radius:8px}
}

/* ==========================================================
   V10 GLOBAL POLISH
   - full-width first content block on subpages
   - true dropdown navigation
   - clean footer credit
   - back-to-top control
   ========================================================== */

/* Let the opening copy use the same content width as the rest of the page. */
body.page .ln-main-editor-content > p:first-child,
body.page .ln-main-editor-content > .ln-lead-copy:first-child,
body.page .ln-main-editor-content > .ln-editor-intro:first-child,
body.page .ln-main-editor-content > .ln-visit-intro:first-child,
body.page .ln-main-editor-content > .ln-xmas-intro:first-child,
body.page .ln-main-editor-content > .ln-photo-intro:first-child,
body.page .ln-main-editor-content > .ln-flowers-intro:first-child,
body.page .ln-main-editor-content > .ln-living-intro:first-child {
  width:100% !important;
  max-width:none !important;
}
body.page .ln-main-editor-content > p:first-child,
body.page .ln-main-editor-content > .ln-lead-copy:first-child,
body.page .ln-main-editor-content > .ln-editor-intro:first-child p,
body.page .ln-main-editor-content > .ln-visit-intro:first-child p,
body.page .ln-main-editor-content > .ln-xmas-intro:first-child p,
body.page .ln-main-editor-content > .ln-photo-intro:first-child p,
body.page .ln-main-editor-content > .ln-flowers-intro:first-child p,
body.page .ln-main-editor-content > .ln-living-intro:first-child p {
  max-width:none !important;
}

/* Desktop dropdown navigation. Child items exist in the menu but stay hidden until needed. */
.primary-menu > li{position:relative}
.primary-menu > li.menu-item-has-children{padding-right:10px}
.primary-menu > li.menu-item-has-children > a::before{content:'▾';position:absolute;right:-16px;top:50%;transform:translateY(-55%);font-size:.72rem;color:var(--forest)}
.primary-menu .sub-menu{position:absolute;left:-18px;top:calc(100% + 22px);z-index:100;min-width:220px;margin:0;padding:10px 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 14px 35px rgba(15,48,34,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.primary-menu .sub-menu::before{content:'';position:absolute;left:0;right:0;top:-24px;height:24px}
.primary-menu .sub-menu li{position:relative;display:block;width:100%}
.primary-menu .sub-menu a{display:block;padding:11px 18px;white-space:nowrap;font-size:.68rem;line-height:1.35}
.primary-menu .sub-menu a::after{display:none}
.primary-menu .sub-menu a:hover,.primary-menu .sub-menu a:focus{background:var(--cream);color:var(--forest)}
.primary-menu li:hover > .sub-menu,.primary-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.primary-menu .sub-menu .sub-menu{left:calc(100% - 2px);top:-10px}

/* Mobile nested navigation uses a dedicated disclosure button. */
.mobile-menu .menu-item-has-children{position:relative}
.mobile-menu .submenu-toggle{position:absolute;right:4px;top:4px;width:38px;height:38px;border:0;background:transparent;color:var(--forest);font-size:1.1rem;cursor:pointer}
.mobile-menu .submenu-toggle::before{content:'+'}
.mobile-menu .menu-item-has-children.submenu-open > .submenu-toggle::before{content:'−'}
.mobile-menu .sub-menu{display:none;list-style:none;margin:3px 0 8px;padding:4px 0 4px 16px;border-left:2px solid var(--sage)}
.mobile-menu .menu-item-has-children.submenu-open > .sub-menu{display:block}
.mobile-menu .sub-menu a{font-size:.72rem;padding:8px 42px 8px 8px;display:block}

/* Footer: only top-level nav is rendered; keep the site credit visually separate. */
.copyright{display:flex;justify-content:space-between;align-items:center;gap:20px}
.copyright .site-credit{margin-left:auto;text-align:right;padding:0}
.copyright .site-credit a{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.35)}
.copyright .site-credit a:hover{border-bottom-color:#fff}

/* Back to top. */
.ln-back-to-top{position:fixed;right:22px;bottom:22px;z-index:80;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--forest);color:#fff;font-size:1.35rem;line-height:1;box-shadow:0 8px 24px rgba(15,48,34,.24);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s ease}
.ln-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.ln-back-to-top:hover{background:var(--forest2);transform:translateY(-2px)}

@media(max-width:800px){
  .copyright{flex-direction:column;align-items:flex-start}
  .copyright .site-credit{margin-left:0;text-align:left}
  .ln-back-to-top{right:14px;bottom:14px;width:42px;height:42px}
}

/* ==========================================================
   V11 SEASONAL / CLIENT CONTENT CONTROLS
   ========================================================== */
.ln-flat-price{background:var(--forest);color:#fff;padding:28px 0}.ln-flat-price .ln-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.ln-flat-price .kicker{margin:0}.ln-flat-price strong{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:400}.tree-availability-detail{margin:14px auto 0;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;line-height:1.6;color:var(--muted)}
.ln-availability-summary{padding:62px 0;background:#faf8f4}.ln-availability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ln-availability-item{background:#fff;border:1px solid var(--line);padding:22px}.ln-availability-item strong{display:block;color:var(--forest);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.ln-availability-item span{display:block;color:var(--muted);font-size:.86rem;line-height:1.65}
.ln-christmas-videos{padding:68px 0}.ln-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ln-video-embed{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;border-radius:8px}.ln-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ln-video-coming{grid-column:1/-1;border:1px dashed #c8cec7;background:var(--cream);padding:40px;text-align:center;border-radius:8px}.ln-video-coming>span{display:block;font-size:2rem;color:var(--forest);margin-bottom:8px}.ln-video-coming strong{display:block;color:var(--forest);font-family:var(--serif);font-size:1.7rem;font-weight:400}.ln-video-coming p{color:var(--muted);margin:8px 0 0}.ln-google-map{width:100%;min-height:430px;border-radius:10px;overflow:hidden;background:#eee}.ln-google-map iframe{display:block;width:100%;height:430px;border:0}
@media(max-width:900px){.ln-availability-grid{grid-template-columns:repeat(2,1fr)}.ln-video-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ln-flat-price .ln-wrap{align-items:flex-start;flex-direction:column}.ln-availability-grid,.ln-video-grid{grid-template-columns:1fr}.ln-google-map,.ln-google-map iframe{height:330px;min-height:330px}}
