/*
Theme Name: Dakota Lodge Guest Experience
Theme URI: https://andersonfamilyinv.com
Author: Anderson Family Investments LLC
Description: A custom vacation-rental WordPress theme for Dakota Lodge in Dickinson, North Dakota.
Version: 3.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: dakota-lodge
*/

:root{
  --dl-black:#080808;
  --dl-charcoal:#181818;
  --dl-cream:#f6f0e7;
  --dl-white:#fff;
  --dl-gold:#f4a022;
  --dl-orange:#df690b;
  --dl-muted:#696969;
  --dl-border:rgba(0,0,0,.12);
  --dl-shadow:0 24px 70px rgba(0,0,0,.18);
  --dl-radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dl-cream);color:var(--dl-charcoal);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.dl-wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.dl-header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(7,7,7,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}
.dl-header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.dl-logo img{width:190px;max-height:70px;object-fit:contain}
.dl-nav{display:flex;align-items:center;gap:24px}
.dl-nav a{color:white;text-decoration:none;font-weight:700;font-size:.92rem}
.dl-nav a:hover{color:var(--dl-gold)}
.dl-nav .dl-nav-cta{border:1px solid var(--dl-gold);border-radius:999px;padding:10px 16px}
.dl-menu-btn{display:none;background:transparent;color:white;border:1px solid #777;border-radius:999px;padding:8px 15px;font-weight:700}
.dl-hero{position:relative;min-height:930px;display:flex;align-items:flex-end;color:white;overflow:hidden}
.dl-hero-bg,.dl-hero-shade{position:absolute;inset:0}
.dl-hero-bg{width:100%;height:100%;object-fit:cover}
.dl-hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.58) 48%,rgba(0,0,0,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.8),transparent 48%)}
.dl-hero-content{position:relative;z-index:2;padding:180px 0 150px;max-width:825px}
.dl-kicker{margin:0 0 14px;color:var(--dl-gold);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800}
.dl-hero h1,.dl-section h2{font-family:Georgia,'Times New Roman',serif;line-height:1.03;margin:0 0 22px}
.dl-hero h1{font-size:clamp(3.4rem,8vw,7.6rem)}
.dl-byline{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.1rem,2vw,1.55rem);margin:-10px 0 18px;color:#eee}
.dl-tagline{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;max-width:780px}
.dl-hero-copy{font-size:1.08rem;color:rgba(255,255,255,.86);max-width:720px}
.dl-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.dl-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 24px;font-weight:800;text-decoration:none;cursor:pointer}
.dl-btn-primary{background:linear-gradient(135deg,var(--dl-gold),var(--dl-orange));color:#111}
.dl-btn-secondary{color:white;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.65)}
.dl-facts{position:absolute;z-index:3;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);gap:30px;background:rgba(7,7,7,.92);padding:22px clamp(18px,4vw,48px)}
.dl-facts span{color:#bbb;font-size:.78rem}
.dl-facts strong{display:block;color:var(--dl-gold);font-size:1.25rem}
.dl-section{padding:clamp(78px,9vw,128px) 0}
.dl-section h2{font-size:clamp(2.35rem,5vw,4.55rem)}
.dl-heading{max-width:820px;margin-bottom:48px}
.dl-heading.center{text-align:center;margin-inline:auto}
.dl-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);align-items:center}
.dl-lead{font-size:1.32rem;line-height:1.55}
.dl-feature-image{aspect-ratio:4/3;object-fit:cover;box-shadow:var(--dl-shadow);border-radius:var(--dl-radius)}
.dl-dark-strip{background:var(--dl-black);color:white;padding:38px 0}
.dl-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.dl-strip-grid strong,.dl-strip-grid span{display:block}
.dl-strip-grid strong{color:var(--dl-gold)}
.dl-strip-grid span{color:#aaa;font-size:.9rem}
.dl-amenities{background:white}
.dl-amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--dl-border);background:var(--dl-border)}
.dl-amenity{background:white;padding:36px;min-height:255px}
.dl-amenity-number{color:var(--dl-orange);font-weight:800}
.dl-amenity p{color:#626262}
.dl-gallery-section{background:#111;color:white}
.dl-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:12px}
.dl-gallery button{position:relative;overflow:hidden;padding:0;border:0;background:#222;cursor:pointer}
.dl-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.dl-gallery button:hover img{transform:scale(1.05)}
.dl-gallery .wide{grid-column:span 2}
.dl-gallery .tall{grid-row:span 2}
.dl-gallery-label{position:absolute;left:15px;bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.73);font-size:.78rem;color:white}
.dl-book{background:linear-gradient(135deg,#f0e0c5,#fff9ef)}
.dl-book-card{background:white;box-shadow:var(--dl-shadow);padding:clamp(28px,5vw,70px);display:grid;grid-template-columns:1fr .92fr;gap:clamp(40px,7vw,95px);border-radius:var(--dl-radius)}
.dl-form{display:grid;gap:14px}
.dl-form label{display:grid;gap:6px;font-weight:800;font-size:.88rem}
.dl-form input,.dl-form textarea{width:100%;padding:13px 14px;border:1px solid #ccc;border-radius:8px;background:#fafafa}
.dl-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dl-notice{padding:13px 15px;border-radius:8px;margin-bottom:16px}
.dl-success{background:#e8f7e8;color:#195b19}
.dl-error{background:#fde8e8;color:#7b1d1d}
.dl-rules{background:white}
.dl-rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.dl-rule{padding:24px;border:1px solid var(--dl-border);border-radius:12px;background:#fff}
.dl-rule h3{margin-top:0}
.dl-about{background:var(--dl-black);color:white}
.dl-about-grid{display:grid;grid-template-columns:300px 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.dl-about-logo{background:#000;padding:15px;border-radius:var(--dl-radius)}
.dl-about p{color:#c5c5c5}
.dl-contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:60px}
.dl-contact-card{background:white;box-shadow:var(--dl-shadow);padding:36px;border-radius:var(--dl-radius)}
.dl-contact-card a{color:var(--dl-orange)}
.dl-footer{background:#050505;color:#aaa;text-align:center;padding:48px 20px}
.dl-footer img{width:190px;max-height:105px;object-fit:contain;margin:0 auto 18px}
.dl-footer a{color:#ddd}
.dl-lightbox{border:0;padding:0;background:transparent;max-width:min(94vw,1400px)}
.dl-lightbox::backdrop{background:rgba(0,0,0,.93)}
.dl-lightbox img{max-height:88vh;object-fit:contain}
.dl-lightbox-close{position:fixed;right:24px;top:14px;border:0;background:transparent;color:white;font-size:3rem;cursor:pointer}
.dl-page{padding:150px 0 90px}
.dl-page-content{background:white;padding:clamp(28px,5vw,65px);border-radius:var(--dl-radius);box-shadow:var(--dl-shadow)}
@media(max-width:980px){
 .dl-menu-btn{display:block}
 .dl-nav{display:none;position:absolute;top:86px;left:0;right:0;background:#0c0c0c;padding:24px;flex-direction:column;align-items:flex-start}
 .dl-nav.open{display:flex}
 .dl-hero{min-height:820px}
 .dl-facts{position:relative;width:100%;grid-template-columns:repeat(2,1fr)}
 .dl-intro-grid,.dl-book-card,.dl-about-grid,.dl-contact-grid{grid-template-columns:1fr}
 .dl-amenity-grid{grid-template-columns:repeat(2,1fr)}
 .dl-gallery{grid-template-columns:repeat(2,1fr)}
 .dl-strip-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .dl-wrap{width:min(100% - 28px,1180px)}
 .dl-logo img{width:150px}
 .dl-hero{min-height:760px}
 .dl-hero-content{padding-bottom:70px}
 .dl-facts,.dl-strip-grid,.dl-amenity-grid,.dl-rules-grid{grid-template-columns:1fr}
 .dl-gallery{grid-template-columns:1fr;grid-auto-rows:260px}
 .dl-gallery .wide,.dl-gallery .tall{grid-column:auto;grid-row:auto}
 .dl-form-row{grid-template-columns:1fr}
}

.dl-lodgify-shell{background:#fff;border-radius:var(--dl-radius);padding:clamp(18px,3vw,30px);box-shadow:var(--dl-shadow)}
.dl-lodgify-note{margin-top:14px;color:var(--dl-muted);font-size:.88rem}
#lodgify-book-now-box{width:100%}


/* Version 3: guest experience */
.dl-feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dl-feature-card{background:#fff;padding:30px;border-radius:var(--dl-radius);box-shadow:0 14px 40px rgba(0,0,0,.09)}
.dl-feature-card h3{margin-top:0}
.dl-feature-card a{color:var(--dl-orange);font-weight:800}
.dl-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dl-review{background:#fff;padding:28px;border-radius:var(--dl-radius);box-shadow:0 12px 35px rgba(0,0,0,.08)}
.dl-stars{color:#f4a022;letter-spacing:.15em}
.dl-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.dl-guide-card{border:1px solid var(--dl-border);background:#fff;border-radius:14px;padding:28px}
.dl-guide-card h2,.dl-guide-card h3{margin-top:0}
.dl-callout{padding:20px 24px;border-left:5px solid var(--dl-orange);background:#fff5e8;border-radius:10px;margin:22px 0}
.dl-download{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px}
.dl-page-hero{padding:160px 0 75px;background:#111;color:#fff}
.dl-page-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,6vw,5.2rem);margin:0}
.dl-private-note{background:#fff7d6;border:1px solid #e8cb5a;padding:18px;border-radius:10px}
@media(max-width:900px){.dl-feature-cards,.dl-review-grid,.dl-guide-grid{grid-template-columns:1fr}}
