/* Deerly Blissed — the handful of rules theme.json cannot express.
   Everything else (palette, type scale, spacing, shadows, button states) lives in theme.json. */

/* Eyebrow: the system's only tracked type */
.db-eyebrow{font-family:var(--wp--preset--font-family--body);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--cedar)}
.db-eyebrow--inverse{color:var(--wp--preset--color--cedar-300)}

/* Hero: full-bleed photograph, bottom-weighted scrim, uppercase condensed headline */
.db-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;color:var(--wp--preset--color--cream-50)}
.db-hero::after{content:"";position:absolute;inset:0;background:var(--wp--preset--gradient--scrim-bottom);pointer-events:none}
.db-hero>*{position:relative;z-index:1}
.db-hero h1{color:var(--wp--preset--color--cream-50)!important;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.55);line-height:.94}
.db-hero p{text-shadow:0 2px 10px rgba(0,0,0,.55);font-weight:600}

/* Text over any photograph gets a scrim plus a soft shadow — never a solid capsule */
.db-on-photo{position:relative;color:var(--wp--preset--color--cream-50)}
.db-on-photo h2,.db-on-photo p{color:var(--wp--preset--color--cream-50)!important;text-shadow:0 2px 10px rgba(0,0,0,.55)}

/* Gallery tile: caption over the scrim, slow zoom on hover */
.db-tile{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 2px 6px rgba(52,28,13,.10);transition:box-shadow 220ms cubic-bezier(.22,.61,.36,1)}
.db-tile img{width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(.22,.61,.36,1)}
.db-tile:hover{box-shadow:0 8px 20px -6px rgba(52,28,13,.18)}
.db-tile:hover img{transform:scale(1.035)}
.db-tile figcaption{position:absolute;inset:auto 16px 14px 16px;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:20px;color:var(--wp--preset--color--cream-50);text-shadow:0 2px 10px rgba(0,0,0,.55)}
.db-tile::before{content:"";position:absolute;inset:0;background:var(--wp--preset--gradient--scrim-bottom);z-index:1}
.db-tile figcaption{z-index:2}

/* Stat figure */
.db-stat b{display:block;font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:44px;line-height:.94;color:var(--wp--preset--color--olive-700)}
.db-stat span{display:block;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--cedar);margin-top:4px}
.db-stat--inverse b{color:var(--wp--preset--color--cream-50)}
.db-stat--inverse span{color:var(--wp--preset--color--cedar-300)}

/* Amenity row: cedar Lucide glyph, 22px, label + note */
.db-amenity{display:flex;gap:12px;align-items:flex-start;padding:12px 0}
.db-amenity svg{width:22px;height:22px;flex:0 0 auto;margin-top:2px;stroke:var(--wp--preset--color--cedar);stroke-width:1.75;fill:none}
.db-amenity b{display:block;font-weight:600}
.db-amenity small{display:block;font-size:15px;color:var(--wp--preset--color--stone-600);margin-top:2px}

/* Booking shell — wraps whichever plugin renders the real availability */
.db-booking{background:#fff;border:1px solid var(--wp--preset--color--stone-200);border-radius:16px;box-shadow:0 20px 44px -12px rgba(52,28,13,.26);padding:24px;position:sticky;top:96px}
.db-booking__rate{font-family:var(--wp--preset--font-family--display);font-weight:800;font-size:32px;color:var(--wp--preset--color--olive-700);line-height:1}
.db-booking__placeholder{font-size:13px;color:var(--wp--preset--color--stone-600)}

/* Cards */
.db-card{background:#fff;border:1px solid var(--wp--preset--color--stone-200);border-radius:10px;padding:24px;box-shadow:0 1px 2px rgba(52,28,13,.08)}

/* Badge */
.db-badge{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--wp--preset--color--olive-100);color:var(--wp--preset--color--olive-800)}
.db-badge--on-photo{background:rgba(30,27,20,.62);color:var(--wp--preset--color--cream-50);backdrop-filter:blur(6px)}

/* Sticky header, transparent over the hero on the front page */
.wp-site-blocks>header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--wp--preset--color--stone-200)}
.home .wp-site-blocks>header{background:linear-gradient(to bottom,rgba(30,27,20,.55),rgba(30,27,20,0));border-bottom:none;margin-bottom:-76px}
.home .wp-site-blocks>header .wp-block-site-title a,.home .wp-site-blocks>header .wp-block-navigation a{color:var(--wp--preset--color--cream-50)}
.wp-block-navigation a{font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}

/* Section rhythm */
.db-section{padding-block:clamp(56px,8vw,112px)}

@media (max-width:781px){
	.db-hero{min-height:480px}
	.db-booking{position:static}
	.home .wp-site-blocks>header{margin-bottom:0;background:#fff;border-bottom:1px solid var(--wp--preset--color--stone-200)}
	.home .wp-site-blocks>header .wp-block-site-title a,.home .wp-site-blocks>header .wp-block-navigation a{color:var(--wp--preset--color--olive-700)}
}
