/*
Theme Name: Dyer Lake Vacation Home
Theme URI: https://traverseweb.com/
Author: Traverse Web
Description: Custom classic-editor WordPress theme for Dyer Lake Vacation Home. Version 2.0.0.
Version: 2.0.8
Requires at least: 6.0
Text Domain: dyer-lake
*/
:root{--forest:#075139;--deep:#063b2d;--lime:#4dbb68;--ink:#16241d;--cream:#f7f6f0;--line:#dce5dc;--muted:#5a665f;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.7 Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--serif);line-height:1.14;letter-spacing:-.035em;margin:0 0 20px}h1{font-size:clamp(2.9rem,5.5vw,5.5rem)}h2{font-size:clamp(2.1rem,3.5vw,3.6rem)}h3{font-size:1.65rem}p{margin:0 0 20px}.wrap{max-width:1200px;margin:auto;padding:0 24px}.site-header{position:relative;background:#fff;z-index:20;box-shadow:0 2px 12px #102f2010}.header-inner{display:flex;align-items:center;gap:28px;min-height:104px}.brand{display:block;flex:0 0 170px}.brand img{display:block;max-height:95px;width:auto}.nav-wrap{margin-left:auto}.nav-list{display:flex;gap:22px;align-items:center;margin:0;padding:0;list-style:none}.nav-list a{color:#1c2a21;font-size:13px;font-weight:700}.nav-list .current-menu-item>a{color:var(--forest);border-bottom:2px solid var(--lime);padding-bottom:7px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:4px;background:var(--forest);border:1px solid var(--forest);color:#fff!important;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.11em;line-height:1.4;text-align:center;transition:background .2s}.btn:hover{background:var(--deep);text-decoration:none}.btn-outline{background:transparent;border-color:#fff;color:#fff!important}.btn-outline:hover{background:#ffffff20}.menu-toggle{display:none;border:1px solid var(--line);background:white;padding:10px 14px;border-radius:4px;font-weight:700}.hero{min-height:530px;display:flex;align-items:center;position:relative;background:linear-gradient(100deg,#102b22e8,#143c2d9e 48%,#24493260),linear-gradient(135deg,#264d3e,#6b9273);color:white}.hero.has-photo{background-size:cover;background-position:center}.hero-content{padding-top:95px;padding-bottom:95px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:800;color:var(--forest);margin-bottom:15px}.hero .eyebrow{color:#c6e9cf}.hero h1{max-width:720px}.hero p{font-size:19px;max-width:600px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.features{background:var(--cream);padding:24px 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.feature{padding:10px 22px;border-right:1px solid #ccd7ce;display:flex;gap:14px;align-items:center}.feature:first-child{padding-left:0}.feature:last-child{border:0}.feature-icon{font-size:28px;color:var(--forest);line-height:1}.feature strong{display:block;font-size:14px}.feature small{display:block;font-size:12px;line-height:1.5}.section{padding:86px 0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.split-copy{padding:70px max(35px,calc((100vw - 1200px)/2));padding-right:60px}.split-copy p{color:var(--muted)}.photo-panel,.card-photo,.post-thumb,.gallery-tile{background:linear-gradient(140deg,#d9e5d4,#83a48c 55%,#214f3b);position:relative;overflow:hidden}.photo-panel{min-height:460px}.photo-panel img,.card-photo img,.post-thumb img,.gallery-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-panel:after,.card-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a302e66,transparent 55%);pointer-events:none}.photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:25px;text-align:center;color:#f6fff8;font-family:var(--serif);font-size:22px}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.link-card{position:relative;min-height:250px;color:white;display:block}.link-card:hover{text-decoration:none}.card-photo{position:absolute;inset:0}.link-card .card-content{position:absolute;bottom:20px;left:24px;right:24px;z-index:2}.card-content h3{color:#fff;margin:0 0 5px}.card-content small{color:#fff}.link-card .card-photo:after{background:linear-gradient(0deg,#061e17d9,transparent 75%)}.testimonials{background:linear-gradient(120deg,#062f25,#0b5641);color:white;text-align:center}.testimonials h2{font-size:2.8rem}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.quote-grid blockquote{margin:0;font-style:italic}.quote-grid cite{display:block;font-style:normal;font-weight:bold;margin-top:14px;color:#bde8c6}.page-hero{background:var(--deep);color:white;padding:95px 0 75px}.page-hero h1{font-size:clamp(2.8rem,5vw,4.5rem);margin-bottom:10px}.page-hero .eyebrow{color:#a3dcb5}.page-hero p{max-width:700px;font-size:18px}.prose{max-width:850px;margin:auto}.prose h2{margin-top:35px}.prose img{height:auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-tile{aspect-ratio:4/3}.gallery-tile img{position:absolute}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.post-card{border:1px solid var(--line);background:#fff}.post-thumb{height:220px}.post-card-content{padding:25px}.post-card h3{font-size:1.5rem}.post-card h3 a{color:var(--ink)}.meta{font-size:12px;color:var(--forest);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.post-card p{color:var(--muted);font-size:14px}.pagination{margin:35px 0}.pagination .page-numbers{display:inline-block;padding:7px 12px;border:1px solid var(--line);margin:3px}.pagination .current{background:var(--forest);color:#fff}.blog-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.blog-filters a{border:1px solid var(--line);border-radius:50px;padding:6px 13px;font-size:13px}.blog-filters a:hover{background:var(--cream)}.cta{background:#e8f1e9;text-align:center;padding:75px 20px}.cta p{max-width:630px;margin:0 auto 25px}.site-footer{background:#092f25;color:#d6e9dc;padding:60px 0 20px}.site-footer a{color:#e0f3e6}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer-grid h3{font-size:22px;color:#fff}.footer-bottom{border-top:1px solid #ffffff2b;padding-top:18px;margin-top:45px;font-size:12px}.content-image{margin:30px 0}.content-image img{display:block;width:100%;max-height:550px;object-fit:cover}.content-image figcaption{font-size:12px;color:var(--muted);margin-top:7px}.notice{background:var(--cream);border-left:4px solid var(--forest);padding:18px 22px}.details-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 35px;padding:0;list-style:none}.details-list li{border-bottom:1px solid var(--line);padding:12px 0}.single-meta{margin-bottom:30px}.related{background:var(--cream)}.booking-box{background:var(--cream);padding:35px;border:1px solid var(--line);margin-top:25px}.wp-block-image{margin:20px 0}.screen-reader-text{position:absolute;left:-9999px}.aligncenter{display:block;margin:auto}.alignleft{float:left;margin:0 20px 15px 0}.alignright{float:right;margin:0 0 15px 20px}@media(max-width:1080px){.header-inner{flex-wrap:wrap;min-height:86px}.brand{flex-basis:125px}.brand img{max-height:75px}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.nav-wrap{display:none;flex-basis:100%;margin:0}.nav-wrap.is-open{display:block}.nav-list{display:block;padding:10px 0 20px}.nav-list li a{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.split-copy{padding:55px 35px}}@media(max-width:760px){.hero{min-height:480px}.hero-content{padding-top:70px;padding-bottom:70px}.feature-grid{grid-template-columns:1fr 1fr;gap:12px}.feature{border:0;padding:10px!important}.split{grid-template-columns:1fr}.photo-panel{min-height:320px}.cards-3,.quote-grid,.blog-grid,.footer-grid{grid-template-columns:1fr}.quote-grid{gap:30px}.gallery-grid{grid-template-columns:1fr 1fr}.section{padding:55px 0}.link-card{min-height:250px}.page-hero{padding:60px 0}.details-list{grid-template-columns:1fr}.footer-grid{gap:15px}}@media(max-width:440px){.feature-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.actions .btn{width:100%}}

/* v1.1 image polish */
.hero.has-photo{background-size:cover;background-position:center}.link-card img{transition:transform .4s ease}.link-card:hover img{transform:scale(1.04)}

/* v1.2 complete inner-page presentation */
.page-hero.has-image{background-size:cover;background-position:center}.page-hero.has-image .wrap{position:relative;z-index:1}.page-hero{min-height:290px;display:flex;align-items:center}.page-hero .wrap{width:100%}.inner-intro{max-width:770px;margin:0 auto 45px;text-align:center}.inner-intro p{color:var(--muted)}.editor-content{margin:38px auto 0;max-width:850px}.editor-content:empty{display:none}.amenity-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.amenity-card{padding:30px;border:1px solid var(--line);background:var(--cream)}.amenity-card h3{font-size:1.4rem}.amenity-card p{margin-bottom:0;color:var(--muted)}.photo-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.photo-feature.reverse .photo-panel{order:-1}.photo-feature .photo-panel{min-height:430px}.photo-feature .feature-copy{padding:65px clamp(24px,5vw,90px);align-self:center}.feature-copy p{color:var(--muted)}.local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.local-card{border:1px solid var(--line);overflow:hidden}.local-card img{display:block;width:100%;height:200px;object-fit:cover}.local-card-body{padding:22px}.local-card h3{font-size:1.5rem}.gallery-tile figcaption{position:absolute;bottom:0;left:0;right:0;background:#092f25bd;color:white;padding:7px 12px;font-size:12px}.gallery-tile{margin:0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.contact-layout .photo-panel{min-height:400px}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.booking-step{padding:25px;background:var(--cream);border-top:3px solid var(--forest)}.booking-step strong{display:block;margin-bottom:10px}.inner-disclaimer{font-size:12px;color:var(--muted);margin-top:18px}.site-section-cta{padding:55px 24px;background:#eaf2eb;text-align:center}.site-section-cta h2{font-size:2.4rem}.blog-empty{padding:45px;background:var(--cream);text-align:center}@media(max-width:760px){.amenity-cards,.local-grid,.booking-steps,.contact-layout,.photo-feature{grid-template-columns:1fr}.photo-feature.reverse .photo-panel{order:0}.photo-feature .feature-copy{padding:45px 25px}.photo-feature .photo-panel{min-height:300px}}

/* v1.3: complete, uncropped article thumbnails and reusable blog sidebar */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:42px;align-items:start}
.blog-layout .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.post-card .post-thumb{height:auto;min-height:0;overflow:visible;background:#edf2ed}
.post-card .post-thumb img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.post-card .post-thumb .photo-placeholder{position:static;min-height:220px}
.blog-sidebar{border:1px solid var(--line);padding:28px;background:var(--cream)}
.blog-sidebar-section+.blog-sidebar-section{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}
.blog-sidebar h2{font-size:1.5rem;margin-bottom:14px}
.blog-sidebar ul{margin:0;padding:0;list-style:none}
.blog-sidebar li{padding:9px 0;border-bottom:1px solid var(--line);line-height:1.45}
.blog-sidebar li:last-child{border:0}
.blog-sidebar a{font-size:14px;font-weight:700}
.blog-sidebar .post-date{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}
/* Accessible multi-level navigation; desktop opens on hover and keyboard focus. */
.nav-list li{position:relative}
.nav-list .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:210px;z-index:50;list-style:none;margin:0;padding:9px 0;background:#fff;box-shadow:0 10px 30px #102f2029;border:1px solid var(--line)}
.nav-list .sub-menu .sub-menu{left:100%;top:0}
.nav-list .sub-menu a{display:block;padding:10px 17px;white-space:normal}
.nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu,.nav-list li.submenu-open>.sub-menu{display:block}
.nav-list .submenu-toggle{border:0;background:transparent;color:var(--forest);padding:5px;cursor:pointer;font-size:12px;vertical-align:middle}
.nav-list .submenu-toggle:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
@media(max-width:1080px){
 .nav-list .sub-menu,.nav-list .sub-menu .sub-menu{display:none;position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--line);padding:0 0 0 16px;margin-left:10px;background:transparent}
 .nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu{display:none}
 .nav-list li.submenu-open>.sub-menu,.nav-list li.submenu-open:hover>.sub-menu,.nav-list li.submenu-open:focus-within>.sub-menu{display:block}
 .nav-list .submenu-toggle{float:right;margin-top:-41px;position:relative;z-index:2;padding:8px 12px}
 .nav-list li.menu-item-has-children>a{padding-right:46px}
 .nav-list .sub-menu a{padding:10px 0}
 .blog-layout{grid-template-columns:minmax(0,1fr) 245px;gap:25px}
}
@media(max-width:760px){.blog-layout{grid-template-columns:1fr}.blog-layout .blog-grid{grid-template-columns:1fr}.blog-sidebar{margin-top:25px}}

/* v1.4 — responsive rendering of migrated legacy ACF page sections */
.dyer-migrated-content .dyer-import-columns {display:grid;grid-template-columns:repeat(var(--dyer-cols,1),minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);align-items:start;margin:1.5rem 0 2rem}
.dyer-migrated-content .dyer-import-columns-2 {--dyer-cols:2}
.dyer-migrated-content .dyer-import-columns-3 {--dyer-cols:3}
.dyer-migrated-content .dyer-import-columns-4 {--dyer-cols:4}
.dyer-migrated-content .dyer-import-column {min-width:0;overflow-wrap:anywhere}
.dyer-migrated-content .dyer-import-column img {max-width:100%;height:auto}
.dyer-migrated-content .dyer-import-divider {border:0;border-top:1px solid rgba(40,80,65,.22);margin:2.25rem 0}
.dyer-migrated-content .dyer-import-accordion {border-bottom:1px solid rgba(40,80,65,.2);padding:1rem 0}
.dyer-migrated-content .dyer-import-accordion summary {cursor:pointer;font-weight:700;list-style-position:inside}
.dyer-migrated-content .dyer-import-accordion[open] summary {margin-bottom:.75rem}
@media(max-width:700px){.dyer-migrated-content .dyer-import-columns{grid-template-columns:minmax(0,1fr)}}

/* v1.4.1 — imported legacy content typography and accessible accordions */
.dyer-migrated-content h1{font-size:clamp(1.9rem,3vw,2.55rem);line-height:1.22;letter-spacing:-.025em;margin:0 0 1.1rem}
.dyer-migrated-content h2{font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.25;letter-spacing:-.02em;margin:1.5rem 0 .9rem}
.dyer-migrated-content h3{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.3}
.dyer-migrated-content .dyer-import-accordion{padding:0;margin:0 0 .8rem;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 9px rgba(6,59,45,.06)}
.dyer-migrated-content .dyer-import-accordion summary{position:relative;display:block;list-style:none;cursor:pointer;padding:1.1rem 3.25rem 1.1rem 1.3rem;background:var(--cream);color:var(--deep);font-size:1.05rem;line-height:1.5;font-weight:700;transition:background .2s,color .2s}
.dyer-migrated-content .dyer-import-accordion summary::-webkit-details-marker{display:none}
.dyer-migrated-content .dyer-import-accordion summary::after{content:'+';position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:1.6rem;line-height:1;color:var(--forest)}
.dyer-migrated-content .dyer-import-accordion[open] summary{background:var(--forest);color:#fff;margin-bottom:0}
.dyer-migrated-content .dyer-import-accordion[open] summary::after{content:'−';color:#fff}
.dyer-migrated-content .dyer-import-accordion summary:hover{background:#e6f0e6}
.dyer-migrated-content .dyer-import-accordion[open] summary:hover{background:var(--deep)}
.dyer-migrated-content .dyer-import-accordion summary:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
.dyer-migrated-content .dyer-import-accordion > div{padding:1.25rem 1.4rem}
.dyer-migrated-content .dyer-import-accordion > div > :last-child{margin-bottom:0}
@media(max-width:700px){.dyer-migrated-content .dyer-import-accordion summary{padding:1rem 3rem 1rem 1rem}}


/* v1.5 — wide-screen header, 15px navigation, horizontal logo */
.site-header .header-inner{gap:16px}
.site-header .brand{flex:0 0 235px;min-width:0}
.site-header .brand img{width:235px;max-width:100%;max-height:none;height:auto}
@media(min-width:1511px){
 .site-header .wrap{max-width:1760px;padding-left:24px;padding-right:24px}
 .site-header .nav-wrap{min-width:0;margin-left:auto}
 .site-header .nav-list{gap:2px}
 .site-header .nav-list>li{position:relative;white-space:nowrap}
 .site-header .nav-list>li>a{display:inline-block;padding:14px 8px;font-size:15px;line-height:1.35}
 .site-header .nav-list>li>.submenu-toggle{padding:8px 3px;font-size:13px}
 .site-header .nav-list .sub-menu{min-width:285px;max-width:360px;padding:8px;border-radius:10px;box-shadow:0 18px 38px rgba(6,59,45,.17);border:1px solid #dce5dc}
 .site-header .nav-list .sub-menu li{position:relative;white-space:normal}
 .site-header .nav-list .sub-menu a{padding:10px 12px;line-height:1.4;font-size:14px;border-radius:5px}
 .site-header .nav-list .sub-menu a:hover,.site-header .nav-list .sub-menu a:focus-visible{background:#eaf3ec;text-decoration:none}
 .site-header .header-cta{flex-shrink:0;padding:12px 13px;font-size:11px;letter-spacing:.04em}
 .site-header .nav-list>li:last-child>.sub-menu{left:auto;right:0}
}
@media(max-width:1510px){
 .site-header .header-inner{flex-wrap:wrap;min-height:85px}
 .site-header .brand{flex-basis:225px}
 .site-header .menu-toggle{display:block;margin-left:auto;cursor:pointer}
 .site-header .header-cta{display:none}
 .site-header .nav-wrap{display:none;flex-basis:100%;margin:0}
 .site-header .nav-wrap.is-open{display:block}
 .site-header .nav-list{display:block;padding:8px 0 20px}
 .site-header .nav-list li a{display:block;padding:11px 8px;font-size:15px;border-bottom:1px solid var(--line)}
 .site-header .nav-list .sub-menu,.site-header .nav-list .sub-menu .sub-menu{display:none;position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--line);padding:0 0 0 16px;margin-left:10px;background:transparent}
 .site-header .nav-list li:hover>.sub-menu,.site-header .nav-list li:focus-within>.sub-menu{display:none}
 .site-header .nav-list li.submenu-open>.sub-menu,.site-header .nav-list li.submenu-open:hover>.sub-menu,.site-header .nav-list li.submenu-open:focus-within>.sub-menu{display:block}
 .site-header .nav-list .submenu-toggle{float:right;margin-top:-43px;position:relative;z-index:2;padding:9px 13px}
 .site-header .nav-list li.menu-item-has-children>a{padding-right:48px}
 .site-header .nav-list .sub-menu a{padding:10px 8px}
}
@media(max-width:480px){.site-header .brand{flex-basis:190px}.site-header .brand img{width:190px}}
/* v1.5 — scenic booking invitation and redesigned footer */
.dyer-footer-invite{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#153b2c url('assets/images/starter/lake-morning.jpg') center 55%/cover no-repeat;text-align:center}
.dyer-footer-invite:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,34,26,.89),rgba(4,43,32,.62),rgba(4,34,26,.79));z-index:-1}
.dyer-footer-invite-inner{padding-top:90px;padding-bottom:95px}
.dyer-footer-kicker{display:block;color:#c8ebd2;text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:800;margin-bottom:14px}
.dyer-footer-invite h2{color:#fff;font-size:clamp(2.1rem,4vw,3.7rem);max-width:780px;margin:0 auto 18px}
.dyer-footer-invite p{max-width:610px;margin:0 auto 28px;color:#ecf7ee;font-size:18px}
.dyer-footer-book{background:#4dbb68;border-color:#4dbb68;color:#063b2d!important;padding:15px 24px}
.dyer-footer-book:hover{background:#9be2aa;border-color:#9be2aa}
.dyer-footer-book span{font-size:18px;margin-left:7px}
.site-footer{background:#082d24;color:#d7e9df;padding:64px 0 20px}
.dyer-footer-top{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(2,minmax(135px,1fr)) minmax(175px,1.2fr);gap:clamp(20px,3vw,48px)}
.site-footer .dyer-footer-about h2{font-size:clamp(1.55rem,2vw,2rem);color:#fff;line-height:1.2;margin:0 0 17px}
.dyer-footer-about p{max-width:310px;font-size:14px;line-height:1.7;margin-bottom:12px}
.dyer-footer-location{font-weight:700;color:#fff}
.dyer-footer-license{font-size:12px!important;color:#a8c5b5}
.site-footer .dyer-footer-links h3{font-family:Arial,Helvetica,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin:3px 0 19px}
.dyer-footer-links ul{list-style:none;margin:0;padding:0}
.dyer-footer-links li{margin:0 0 12px}
.dyer-footer-links a{color:#d7e9df;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.dyer-footer-links a:hover{color:#fff;text-decoration:underline}
.site-footer .footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.17);color:#b9d0c3}
@media(max-width:980px){.dyer-footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dyer-footer-invite-inner{padding-top:65px;padding-bottom:70px}.dyer-footer-invite p{font-size:16px}.dyer-footer-top{grid-template-columns:1fr;gap:28px}.site-footer{padding-top:48px}.site-footer .footer-bottom{margin-top:30px}}

/* v1.6 — footer logo and editable scenic invitation */
.dyer-footer-invite{background-position:center 55%;background-size:cover;background-repeat:no-repeat}
.dyer-footer-brand{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:11px 14px;margin:0 0 20px;max-width:100%;box-shadow:0 8px 25px rgba(0,0,0,.10)}
.dyer-footer-brand img{display:block;width:min(100%,300px);height:auto;max-height:90px;object-fit:contain}
.dyer-footer-brand:hover{opacity:.94}
.dyer-footer-contact>a{display:block;margin-bottom:12px}
@media(max-width:600px){.dyer-footer-brand img{width:min(100%,265px)}}

/* v1.7 — scenic testimonial + booking sections, transparent footer branding */
.home .testimonials {
 position:relative; isolation:isolate; overflow:hidden;
 background:#12382f url('assets/images/testimonials-lake-background.jpg') center 52%/cover no-repeat;
 color:#fff; text-align:center; padding:72px 0 78px;
}
.home .testimonials::before {
 content:''; position:absolute; inset:0; z-index:-1;
 background:linear-gradient(90deg,rgba(2,23,23,.78),rgba(2,27,25,.63) 55%,rgba(2,23,23,.44));
}
.home .testimonials .eyebrow {text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:800;color:#d7f3df!important}
.home .testimonials h2 {font-size:clamp(2rem,3.1vw,3.3rem);max-width:950px;margin:0 auto;color:#fff}
.home .testimonials .quote-grid {text-align:left;gap:clamp(25px,4vw,65px);margin-top:38px}
.home .testimonials .quote-grid blockquote {position:relative;padding-left:36px;font:italic 17px/1.7 Georgia,'Times New Roman',serif;color:#fff}
.home .testimonials .quote-grid blockquote::before {content:'“';position:absolute;top:-15px;left:0;color:#55d27a;font:bold 62px/1 Georgia,serif}
.home .testimonials .quote-grid cite {font:700 14px/1.5 Arial,Helvetica,sans-serif;color:#fff;margin-top:16px}
.home .testimonials .quote-grid cite::before {content:'—';color:#55d27a;margin-right:8px}
.dyer-footer-invite {background-image:url('assets/images/booking-lake-background.jpg');background-position:center 55%;text-align:left}
.dyer-footer-invite::before {background:linear-gradient(90deg,rgba(3,31,25,.88) 0%,rgba(3,31,25,.61) 48%,rgba(3,31,25,.12) 100%)}
.dyer-footer-invite-inner {padding-top:85px;padding-bottom:88px}
.dyer-footer-invite h2 {margin:0 0 15px;max-width:790px;font-size:clamp(2.2rem,4vw,4.2rem)}
.dyer-footer-invite p {margin:0 0 25px;max-width:650px}
.dyer-footer-brand {display:inline-block;background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 0 20px;max-width:100%}
.dyer-footer-brand img {width:min(100%,340px);max-height:none;object-fit:contain}
.dyer-footer-brand:hover {opacity:.88}
.site-footer {background:#003d2e}
@media(max-width:760px){.home .testimonials .quote-grid{gap:25px}.home .testimonials{padding:58px 0}.dyer-footer-invite-inner{padding-top:64px;padding-bottom:65px}}

/* v1.8 — refined footer inspired by approved design, without placeholder contact/social details */
.site-footer.dyer-footer-v18{background:radial-gradient(ellipse at 12% 5%,rgba(17,91,70,.38),transparent 48%),linear-gradient(125deg,#063a2d 0%,#003626 60%,#012e23 100%);padding:38px 0 17px}
.dyer-footer-v18 .wrap{max-width:1600px}
.dyer-footer-v18 .dyer-footer-top{display:grid;grid-template-columns:minmax(235px,1.7fr) minmax(115px,.8fr) minmax(150px,1fr) minmax(225px,1.5fr) auto;align-items:start;gap:clamp(20px,2.7vw,44px)}
.dyer-footer-v18 .dyer-footer-about{padding:7px clamp(12px,2vw,35px) 0 0;border-right:1px solid rgba(255,255,255,.24);align-self:stretch}
.dyer-footer-v18 .dyer-footer-brand{display:block;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
.dyer-footer-v18 .dyer-footer-brand img{display:block;width:100%;max-width:350px;max-height:none;height:auto;object-fit:contain}
.dyer-footer-v18 .dyer-footer-links h3{font:700 12px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.27em;color:#fff;margin:0 0 16px}
.dyer-footer-v18 .dyer-footer-links li{margin:0 0 7px}
.dyer-footer-v18 .dyer-footer-links a{font-size:14px;line-height:1.55;color:#e5eee9}
.dyer-footer-v18 .dyer-footer-contact{padding-left:clamp(12px,2vw,28px);border-left:1px solid rgba(255,255,255,.24);min-width:0}
.dyer-footer-v18 .dyer-contact-line{display:flex;align-items:flex-start;gap:15px;margin:0 0 13px;color:#e5eee9;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.dyer-footer-v18 .dyer-contact-line svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.dyer-footer-v18 .dyer-footer-social{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding-top:30px}
.dyer-footer-v18 .dyer-footer-social:empty{display:none}
.dyer-footer-v18 .dyer-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;transition:background .2s,transform .2s}
.dyer-footer-v18 .dyer-footer-social a:hover{background:#247c5b;transform:translateY(-2px)}
.dyer-footer-v18 .dyer-footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dyer-footer-v18 .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);color:#bcd3c8;font-size:12px}
.dyer-footer-v18 .footer-bottom a{color:#e4f1e9}
.dyer-footer-v18 .dyer-footer-sep{margin:0 12px;color:#8cae9d}
@media(max-width:1270px){.dyer-footer-v18 .dyer-footer-top{grid-template-columns:minmax(220px,1.5fr) 1fr 1fr minmax(200px,1.3fr)}.dyer-footer-v18 .dyer-footer-social{grid-column:4;justify-content:flex-start;padding-top:0}}
@media(max-width:900px){.dyer-footer-v18 .dyer-footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.dyer-footer-v18 .dyer-footer-about{border:0}.dyer-footer-v18 .dyer-footer-contact{border:0;padding-left:0}.dyer-footer-v18 .dyer-footer-social{grid-column:auto;justify-content:flex-start}.dyer-footer-v18 .footer-bottom{align-items:flex-start}}
@media(max-width:540px){.dyer-footer-v18 .dyer-footer-top{grid-template-columns:1fr;gap:25px}.dyer-footer-v18 .dyer-footer-brand img{max-width:310px}.dyer-footer-v18 .dyer-footer-social{padding-top:0}.dyer-footer-v18 .footer-bottom{flex-direction:column}.dyer-footer-v18 .dyer-footer-sep{margin:0 6px}}

/* v1.9 — Social links belong to the contact column */
.dyer-footer-v18 .dyer-footer-top{grid-template-columns:minmax(235px,1.7fr) minmax(115px,.8fr) minmax(150px,1fr) minmax(260px,1.65fr)}
.dyer-footer-v18 .dyer-footer-contact .dyer-footer-social{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;align-items:center;padding-top:13px;margin-top:14px;border-top:1px solid rgba(255,255,255,.16)}
.dyer-footer-v18 .dyer-footer-contact .dyer-footer-social:empty{display:none}
.dyer-footer-v18 .dyer-footer-social a{flex:0 0 42px}
.dyer-footer-v18 .dyer-footer-social a[aria-label="Bluesky"] svg{fill:currentColor;stroke:none}
@media(max-width:1270px){.dyer-footer-v18 .dyer-footer-top{grid-template-columns:minmax(220px,1.4fr) minmax(110px,.75fr) minmax(130px,1fr) minmax(240px,1.5fr)}}
@media(max-width:900px){.dyer-footer-v18 .dyer-footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.dyer-footer-v18 .dyer-footer-top{grid-template-columns:1fr}}

/* v2.0 homepage blog carousel */
.dyer-home-blog{background:#f8f8f4}
.dyer-home-blog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}
.dyer-home-blog-head h2{margin:0}
.dyer-carousel-controls{display:flex;gap:10px;flex-shrink:0}
.dyer-carousel-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #b7cdbf;background:#fff;color:var(--forest);font-size:23px;cursor:pointer;transition:background .2s,color .2s}
.dyer-carousel-controls button:hover:not(:disabled){background:var(--forest);color:#fff}
.dyer-carousel-controls button:disabled{opacity:.35;cursor:default}
.dyer-carousel-controls button:focus-visible,.dyer-blog-carousel:focus-visible{outline:3px solid #4dbb68;outline-offset:3px}
.dyer-blog-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scroll-padding-inline:2px;padding:4px 2px 18px}
.dyer-blog-slide{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;display:flex}
.dyer-blog-slide .post-card{width:100%;display:flex;flex-direction:column}
.dyer-blog-slide .post-card-content{flex:1}
.dyer-home-blog-more{margin:24px 0 0}
@media(max-width:950px){.dyer-blog-slide{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:600px){.dyer-blog-slide{flex-basis:85%}.dyer-home-blog-head h2{font-size:clamp(1.7rem,7vw,2.3rem)}.dyer-carousel-controls button{width:39px;height:39px}}

/* v2.0.1: 5px visual separation below From Our Guests */
.home .testimonials { margin-bottom: 5px; }

/* v2.0.2 — Standard inner pages use the full available .wrap width.
   Long-form blog articles retain the comfortable 850px .prose measure. */
.page .dyer-migrated-content.prose {
  max-width: none;
  width: 100%;
}

/* v2.0.3 — Homepage Welcome section: 5px separation before the card row. */
.home .features + .split { margin-bottom: 5px; }

/* Dropdowns open ONLY on deliberate clicks, never on hover or focus. */
.site-header .nav-list li:hover > .sub-menu,
.site-header .nav-list li:focus-within > .sub-menu { display: none; }
.site-header .nav-list li.submenu-open > .sub-menu,
.site-header .nav-list li.submenu-open:hover > .sub-menu,
.site-header .nav-list li.submenu-open:focus-within > .sub-menu { display: block; }
.site-header .nav-list .submenu-toggle { cursor: pointer; }
.site-header .nav-list li.menu-item-has-children > a { cursor: pointer; }

/* Collapsed navigation: keep booking CTA visible and make parent links
   full-row dropdown triggers (including the text, not just the chevron). */
@media (max-width:1510px) {
 .site-header .header-inner { gap: 10px 14px; }
 .site-header .header-cta { display: inline-flex; order: 2; margin-left: auto; }
 .site-header .menu-toggle { order: 3; margin-left: 0; }
 .site-header .nav-wrap { order: 4; }
 .site-header .brand { order: 1; }
 .site-header .nav-list li.menu-item-has-children > a { padding-right: 52px; }
 .site-header .nav-list .submenu-toggle { float: none; position: absolute; right: 0; top: 0; margin: 0; height: 46px; min-width: 44px; }
 .site-header .nav-list li.menu-item-has-children { position: relative; }
 .site-header .nav-list li.submenu-open > a { color: var(--forest); }
}
@media (max-width:680px) {
 .site-header .brand { flex-basis: 160px; }
 .site-header .brand img { width: 160px; }
 .site-header .header-cta { padding: 9px 10px; font-size: 10px; letter-spacing: 0; }
 .site-header .menu-toggle { padding: 9px 10px; font-size: 12px; }
}
@media (max-width:430px) {
 .site-header .header-inner { column-gap: 8px; }
 .site-header .brand { flex-basis: 135px; }
 .site-header .brand img { width: 135px; }
 .site-header .header-cta { font-size: 9px; padding: 8px; }
 .site-header .menu-toggle { font-size: 11px; padding: 8px; }
}

/* v2.0.4 — Welcome text supports spaced, editable paragraphs. */
.home .split-copy .dyer-welcome-body p { margin: 0 0 20px; }
.home .split-copy .dyer-welcome-body p:last-child { margin-bottom: 24px; }

/* v2.0.6 — 4 / 2 / 1 feature-card responsive layout */
.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cards-4 .link-card{min-width:0}
.cards-4 .card-content h3{font-size:clamp(1.25rem,1.8vw,1.65rem)}
@media(max-width:1199px){.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cards-4{grid-template-columns:1fr}}


/* v2.0.7 — Formidable forms: Dyer Lake visual treatment.
   Do not change Formidable's own grid/conditional/validation layout. */
.dyer-migrated-content .frm_forms,
.prose .frm_forms { width:100%; max-width:100%; margin:26px auto 35px; }
.dyer-migrated-content .frm_forms form,
.prose .frm_forms form { padding:clamp(20px,3.5vw,42px); background:#f7f6f0; border:1px solid #dce5dc; border-radius:12px; box-shadow:0 14px 40px rgba(6,59,45,.07); }
.dyer-migrated-content .frm_forms .frm_form_field,
.prose .frm_forms .frm_form_field { margin-bottom:20px; min-width:0; }
.dyer-migrated-content .frm_forms .frm_primary_label,
.prose .frm_forms .frm_primary_label { display:block; color:#16241d; font:700 14px/1.5 Arial,Helvetica,sans-serif; margin-bottom:8px; letter-spacing:0; }
.dyer-migrated-content .frm_forms .frm_required,
.prose .frm_forms .frm_required { color:#a6372e; }
.dyer-migrated-content .frm_forms input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=file]),
.dyer-migrated-content .frm_forms select,
.dyer-migrated-content .frm_forms textarea,
.prose .frm_forms input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=file]),
.prose .frm_forms select,
.prose .frm_forms textarea { width:100%; max-width:100%; min-height:48px; padding:11px 14px; border:1px solid #c9d6cd; border-radius:6px; background:#fff; color:#16241d; font:400 15px/1.5 Arial,Helvetica,sans-serif; box-shadow:none; transition:border-color .15s,box-shadow .15s; }
.dyer-migrated-content .frm_forms textarea,
.prose .frm_forms textarea { min-height:130px; resize:vertical; }
.dyer-migrated-content .frm_forms input:focus,
.dyer-migrated-content .frm_forms select:focus,
.dyer-migrated-content .frm_forms textarea:focus,
.prose .frm_forms input:focus,
.prose .frm_forms select:focus,
.prose .frm_forms textarea:focus { outline:2px solid transparent; border-color:#075139; box-shadow:0 0 0 3px rgba(7,81,57,.14); }
.dyer-migrated-content .frm_forms input[type=checkbox],
.dyer-migrated-content .frm_forms input[type=radio],
.prose .frm_forms input[type=checkbox],
.prose .frm_forms input[type=radio] { accent-color:#075139; width:17px; height:17px; vertical-align:middle; margin-right:7px; }
.dyer-migrated-content .frm_forms .frm_description,
.prose .frm_forms .frm_description { color:#5a665f; font-size:13px; line-height:1.55; margin-top:6px; }
.dyer-migrated-content .frm_forms .frm_submit button,
.dyer-migrated-content .frm_forms .frm_submit input[type=submit],
.prose .frm_forms .frm_submit button,
.prose .frm_forms .frm_submit input[type=submit] { display:inline-block; min-height:49px; padding:13px 27px; background:#075139; border:1px solid #075139; border-radius:5px; color:#fff; font:800 12px/1.4 Arial,Helvetica,sans-serif; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; box-shadow:none; }
.dyer-migrated-content .frm_forms .frm_submit button:hover,
.dyer-migrated-content .frm_forms .frm_submit input[type=submit]:hover,
.prose .frm_forms .frm_submit button:hover,
.prose .frm_forms .frm_submit input[type=submit]:hover { background:#063b2d; }
.dyer-migrated-content .frm_forms .frm_error,
.prose .frm_forms .frm_error { color:#a6372e; font-size:13px; }
.dyer-migrated-content .frm_forms .frm_error_style,
.prose .frm_forms .frm_error_style { padding:13px 16px; background:#fff1ef; border-left:4px solid #a6372e; color:#82271f; }
@media(max-width:600px){.dyer-migrated-content .frm_forms form,.prose .frm_forms form{padding:20px 16px}}

/* v2.0.8 — Final Formidable submit button styling (moved from Additional CSS). */
.frm_forms .frm_submit button,
.frm_forms button.frm_button_submit,
.frm_forms input[type="submit"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 180px;
    min-height: 48px;
    padding: 14px 28px !important;
    background: #082138 !important;
    color: #ffffff !important;
    border: 1px solid #082138 !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    cursor: pointer;
}
.frm_forms .frm_submit button:hover,
.frm_forms button.frm_button_submit:hover,
.frm_forms input[type="submit"]:hover {
    background: #123b57 !important;
    border-color: #123b57 !important;
    color: #ffffff !important;
}
