/*!
Theme Name: The Adeline Cotttages
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: the-adeline-cotttages
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

The Adeline Cotttages is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/* ================================================================
   THE ADELINE COTTAGES · Production Stylesheet
   Navy #1F2E3D · Green #6C7B5A · Charcoal #333 · Taupe #C9B7A0
   Alabaster #F2EBE0 (bg) · Ivory #F7F4EE (cards/form)
   Fonts: Cormorant Garamond (headings) · Montserrat (body/UI)
================================================================ */

/* RESET */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x:hidden; scrollbar-gutter:stable; }
body { width:100%; min-width:320px; background:#F7F4EE; color:#333333; font-family:'Montserrat',sans-serif; font-weight:300; line-height:1.65; -webkit-font-smoothing:antialiased; }
body>div,body>header,body>section,body>footer { width:100%; max-width:none; margin-left:0; margin-right:0; box-sizing:border-box; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
address { font-style:normal; }
button { font-family:inherit; cursor:pointer; border:none; }
:focus-visible { outline:2px solid #6C7B5A; outline-offset:3px; }

/* CONTAINER */
.container { width:100%; max-width:1280px; margin:0 auto; padding:0 20px; }

/* GLOBAL TYPOGRAPHY — h1 to h6 work on any page without wrapper class */
h1,h2,h3,h4,h5,h6 { margin-top:0; }
h1 { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:56px; line-height:1.05; color:#1F2E3D; margin-bottom:24px; }
h2 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:36px; line-height:1.1; color:#1F2E3D; margin-bottom:16px; }
h3 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:26px; line-height:1.2; color:#1F2E3D; margin-bottom:12px; }
h4 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:22px; line-height:1.25; color:#1F2E3D; margin-bottom:10px; }
h5 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:20px; line-height:1.3; color:#1F2E3D; margin-bottom:8px; }
h6 { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:18px; line-height:1.35; color:#6C7B5A; margin-bottom:6px; }

/* FULL-BLEED SECTIONS */
.topbar,.site-header,.hero,.benefits-bar,.homes-section,.cta-band,.site-footer,.bottom-bar { width:100%; box-sizing:border-box; }

/* ── TOP BAR ── */
.topbar { background:#1F2E3D; color:#F2EBE0; text-align:center; font-family:'Montserrat',sans-serif; font-weight:300; font-size:16px; letter-spacing:.22em; padding:8px 20px; }
.topbar-sep { margin:0 12px; opacity:.4; }

/* ── SITE HEADER ── */
.site-header { background:#F7F4EE;padding:20px 0; }
.header-inner { display:flex; align-items:center; justify-content:space-between; }
.site-logo { height:90px; width:auto; }
.header-nav { display:flex; align-items:center; gap:40px; }
.header-nav [class*="menu-"] { display:flex; align-items:center; }
.header-nav .menu,
.header-nav ul,
.header-nav #primary-menu { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:40px; }
.header-nav .menu li,
.header-nav .menu-item { margin:0; padding:0; list-style:none; }
.header-nav .menu a { text-decoration:none; background:none; }
.nav-phone,
.header-nav .menu-item:first-child > a { font-family:'Montserrat',sans-serif; font-weight:800; font-size:18px; color:#1F2E3D; letter-spacing:.04em; transition:color .18s; }
.nav-phone:hover,.nav-phone:focus,
.header-nav .menu-item:first-child > a:hover,
.header-nav .menu-item:first-child > a:focus { color:#6C7B5A; }
.nav-cta,
.header-nav .menu-item:nth-child(2) > a { font-family:'Montserrat',sans-serif; font-weight:400; font-size:18px; color:#1F2E3D; letter-spacing:0px; border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .18s,color .18s; }
.nav-cta:hover,.nav-cta:focus,
.header-nav .menu-item:nth-child(2) > a:hover,
.header-nav .menu-item:nth-child(2) > a:focus { border-bottom-color:#6C7B5A; color:#6C7B5A; }

/* ── HERO ── */
.hero { background:#F7F4EE; padding:30px 0 30px; }
.hero-inner { display:grid; grid-template-columns:1fr 520px; gap:20px; align-items:start; }
.hero-headline { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:64px; line-height:1.04; color:#1F2E3D; letter-spacing:.01em; margin-bottom:15px; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.hero-rule { width:105px; height:3px; background:#6C7B5A; margin-bottom:15px; }
.hero-body { font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; font-size:26px; color:#6C7B5A; line-height:1.35; margin-bottom:30px; }
.hero-body em { font-style: italic; }
.hero-location { display:flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:400; font-size:22px; color:#1F2E3D; }
.icon-pin { width:38px; height:40px; flex-shrink:0; color:#6C7B5A; }

/* ── LEAD FORM CARD (+ Contact Form 7) ── */
.wpcf7-not-valid-tip { font-size:14px; }
.form-card { background:#F7F4EE; border:1px solid #C9B7A0; padding:32px 30px 36px; border-radius:6px; }
.form-card h2.form-card-title,
.form-card .form-card-title { display:block; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:26px; letter-spacing:.2px; color:#1F2E3D; text-align:center; margin-bottom:5px; line-height:1.2; }
.form-card-sub { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:24px; color:#1F2E3D; text-align:center; margin:0 0 24px; clear:both; }
/* Live broken </h2 — subtitle nests inside h2 */
.form-card h2.form-card-title .form-card-sub,
.form-card h2.form-card-title p.form-card-sub { display:block; margin:0 0 24px; padding:0; font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600; font-size:18px; color:#6C7B5A; text-align:center; line-height:1.2; }
.hp-field { position:absolute; left:-9999px; opacity:0; height:0; width:0; overflow:hidden; }
.form-row-2col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fgroup { display:flex; flex-direction:column; gap:5px; margin-bottom:15px; }
.fgroup label,.fgroup-label { font-family:'Montserrat',sans-serif; font-weight:600; font-size:14px; color:#333333; letter-spacing:.02em; }
.req { color:#6C7B5A; margin-left:1px; }
.fgroup input[type="text"],.fgroup input[type="email"],.fgroup input[type="tel"],
.form-card .wpcf7-form-control:not(.wpcf7-checkbox):not(.wpcf7-submit) { width:100%; max-width:100%; background:#F7F4EE; border:1px solid #C9B7A0; padding:11px 13px; font-family:'Montserrat',sans-serif; font-weight:300; font-size:14px; color:#333333; outline:none; border-radius:0; transition:border-color .18s,background .18s; box-sizing:border-box; margin:0;border-radius: 6px; }
.fgroup input:focus,
.form-card .wpcf7-form-control:not(.wpcf7-checkbox):not(.wpcf7-submit):focus { border-color:#6C7B5A; background:#fff; }
.checkbox-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:6px; }
.cb-label { display:flex; align-items:center; gap:7px; font-family:'Montserrat',sans-serif; font-weight:300; font-size:18px; color:#333333; cursor:pointer; }
.cb-label input[type="checkbox"] { accent-color:#6C7B5A; width:14px; height:14px; cursor:pointer; }
.btn-submit,
.form-card input.wpcf7-submit.btn-submit,
.form-card .wpcf7-submit.btn-submit { display:block; width:100%; background:#6C7B5A; color:#F7F4EE; font-family:'Montserrat',sans-serif; font-weight:700; font-size:16px; letter-spacing:1px; text-align:center; padding:16px; margin-top:12px; border:none; border-radius:0; cursor:pointer; transition:background .2s; box-sizing:border-box; border-radius: 6px; }
.btn-submit:hover,.btn-submit:focus,
.form-card input.wpcf7-submit.btn-submit:hover,
.form-card input.wpcf7-submit.btn-submit:focus { background:#566048; outline:2px solid #6C7B5A; outline-offset:2px; }
.form-success { background:#eef4eb; border:1px solid #6C7B5A; padding:24px 20px; text-align:center; font-family:'Cormorant Garamond',serif; font-size:19px; color:#1F2E3D; line-height:1.6; }
.form-card .wpcf7,.form-card .wpcf7-form { margin:0; padding:0; }
.form-card .wpcf7-form > p { margin:0; }
.form-card .wpcf7-form > p:has(.btn-submit),
.form-card .wpcf7-form > p:has(.wpcf7-submit) { margin-top:12px; width:100%; }
.form-card .fgroup p { margin:0; display:flex; flex-direction:column; gap:5px; }
.form-card .fgroup label br { display:none; }
.form-card .wpcf7-form-control-wrap { display:block; width:100%; }
.form-card .checkbox-row > p { margin:0; width:100%; }
.form-card .wpcf7-checkbox,
.form-card span.wpcf7-checkbox.checkbox-row { display:flex; flex-wrap:wrap; gap:25px; margin:0; padding:0; border:none; }
.form-card .wpcf7-list-item { margin:0; display:inline-flex; }
.form-card .wpcf7-list-item label { display:flex; align-items:center; gap:7px; margin:0; font-family:'Montserrat',sans-serif; font-weight:300; font-size:18px; color:#333333; cursor:pointer; }
.form-card .wpcf7-list-item-label { font-size:16px; font-weight: 600; }
.form-card .wpcf7-list-item input[type="checkbox"] { accent-color:#6C7B5A; width:18px; height:18px; cursor:pointer; margin:0; }
.form-card .wpcf7-spinner,
.form-card .hidden-fields-container,
.form-card .akismet-fields-container { display:none; }
.form-card .screen-reader-response { position:absolute; left:-9999px; }
.form-card .wpcf7-response-output { margin:16px 0 0; padding:12px; font-family:'Montserrat',sans-serif; font-size:13px; border:1px solid #C9B7A0; }

/* ── BENEFITS BAR — contained box, not full-bleed ── */
.benefits-bar { background:#F7F4EE; padding:0; }
.benefits-inner { display:flex; align-items:stretch; justify-content:center; width:100%; max-width:1280px; margin:0 auto; padding:0 15px; background:#F2EBE0; border:1px solid #C9B7A0; border-radius: 6px; }
.benefit { flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:0px; padding:20px 28px; }
.benefit-icon { display:flex; align-items:center; justify-content:center; width:84px; height:80px; color:#6C7B5A; }
.benefit-icon svg,
.benefit-icon img { width:100%; height:100%; object-fit:contain; display:block; }
.benefit p { font-family:'Montserrat',sans-serif; font-weight:600; font-size:16px; letter-spacing:0em; color:#1F2E3D; line-height:1.65; }
.benefit-rule { width:2px; height:115px; align-self:center; background:#C9B7A0; flex-shrink:0; }

/* ── EXPLORE THE HOMES ── */
.homes-section { background:#F7F4EE; padding:30px 0; }
.homes-heading { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:36px; letter-spacing:0; color:#1F2E3D; text-align:center; margin-bottom:8px; line-height:1.2; position:relative; padding-bottom:15px; }
.homes-heading:after { content:""; position:absolute; left:0; right:0; margin:0 auto; border-bottom:2px solid #6C7B5A; width:65px; bottom:0; }
.homes-sub { font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; font-size:24px; color:#6C7B5A; text-align:center; margin-bottom:30px; }
.homes-grid { display:grid; grid-template-columns:repeat(3,1fr); column-gap:32px; row-gap:20px; }
.home-card { display:block; background:#F7F4EE; border:1px solid #C9B7A0; overflow:hidden; color:inherit; text-decoration:none; cursor:pointer; transition:border-color .22s,box-shadow .22s,transform .22s; border-radius:6px; }
.home-card:hover,.home-card:focus-visible { border-color:#6C7B5A; box-shadow:0 4px 20px rgba(31,46,61,.10); transform:translateY(-3px); outline:none; }
.home-card:hover .home-info h3 { color:#6C7B5A; }
.home-card:active { transform:translateY(-1px); }
/* TRUE 16:9 — locked via padding-top ratio, identical on all breakpoints */
.home-img { position:relative; width:100%; padding-top:56.25%; background:#e6dfd4; overflow:hidden; }
.home-img picture { position:absolute; inset:0; width:100%; height:100%; display:block; }
.home-img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.home-info { padding:14px 15px 18px; border-top:1px solid #C9B7A0; text-align:center; }
.home-info h3 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:20px; color:#1F2E3D; margin-bottom:4px; line-height:1.3; }
.home-info p { font-family:'Montserrat',sans-serif; font-weight:400; font-size:16px; letter-spacing:0em; color:#6C7B5A; line-height:1.2; }

/* ── CTA BAND ── */
.cta-band { background:transparent; padding:0px; text-align:center; }
.cta-band-inner { background:#6C7B5A; border-radius:6px; max-width:1250px; margin:0 auto; padding:30px 40px; position:relative; overflow:hidden; }
.cta-band-inner::before { content:''; position:absolute; left:-20px; top:50%; transform:translateY(-50%); width:200px; height:200px; background:url('https://theadelinecottages.com/wp-content/uploads/2026/09/Adeline_Badge_White.png') left bottom / contain no-repeat; opacity:.10; pointer-events:none; }
.cta-band-title { font-family:'Cormorant Garamond',serif;font-weight:600; font-size:36px; letter-spacing:0; color:#fff; margin-bottom:0px; line-height: 1.2;}
.cta-band-sub { font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic; font-size:28px; color:#fff; opacity:.92; margin-bottom:0; }
.btn-band-cta { display:none; }

/* ── FOOTER ── */
.site-footer { background:#F7F4EE; padding:35px 0; }
.footer-inner { display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; align-items:center; }
.footer-logo-col { display:flex; align-items:center; justify-content:flex-start; padding-right:24px; min-width:0; }
.footer-logo-col a { display:block; line-height:0; width:100%; max-width:100%; }
.footer-logo--horizontal { height:110px; width:auto; max-width:100%; min-width:180px; display:block; object-fit:contain; object-position:left center; margin:0; }
.footer-logo--stacked,
.footer-logo[src^="images/"] { display:none; }
.footer-contact-col { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:0 64px; border-right:1px solid #6C7B5A; border-left:1px solid #6C7B5A; min-width:0; }
.footer-contact-col a { display:block; width:100%; text-decoration:none; float:none; }
.footer-address-col { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-left:64px; min-width:0; }
.footer-name { display:block; width:100%; font-family:'Cormorant Garamond',serif; font-weight:300; font-size:24px; color:#1F2E3D; margin:0 0 4px; }
.footer-phone { display:block; font-family:'Montserrat',sans-serif; font-weight:600; font-size:30px; color:#6C7B5A; letter-spacing:.02em; margin:0 0 6px; line-height:1.15; transition:color .18s; }
.footer-phone:hover,.footer-phone:focus { color:#6C7B5A; }
.footer-link { display:block; font-family:'Montserrat',sans-serif; font-weight:400; font-size:18px; color:#1F2E3D; margin:0 0 2px; line-height:1.35; transition:color .18s; }
.footer-link:hover,.footer-link:focus { color:#6C7B5A; }
.site-footer address { display:block; width:100%; font-family:'Montserrat',sans-serif; font-weight:300; font-size:18px; color:#333333; line-height:1.65; margin:0 0 15px; font-style:normal; }
.site-footer address a { display:block; font-family:'Montserrat',sans-serif; font-weight:300; font-size:18px; color:#333333; line-height:1.65; text-decoration:none; white-space:pre-line; }
.site-footer address a:hover,.site-footer address a:focus { color:#6C7B5A; }
.footer-sales { display:block; width:100%; font-family:'Montserrat',sans-serif; font-weight:300; font-size:18px; color:#333333; margin:0; }

/* ── BOTTOM BAR ── */
.bottom-bar { background:#1F2E3D; color:#F2EBE0; width:100%; padding:20px 15px; }
.bottom-bar-inner { max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.bottom-copy,.bottom-links a,.bottom-links span { font-family:'Montserrat',sans-serif; font-weight:300; font-size:16px; color:#F2EBE0; letter-spacing:.04em; }
.bottom-links { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.bottom-links a { color:#F2EBE0; text-decoration:none; }
.bottom-links a:hover,.bottom-links a:focus { text-decoration:underline; }
.bottom-links span { opacity:.35; }

/* Live: empty benefit icons */
.benefit-icon:empty { display:none; }
body.home { background:#F7F4EE; }

/* ================================================================
   HOME DETAIL PAGES
================================================================ */
.detail-page { background:#F2EBE0; padding:52px 0 80px; }
.breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-family:'Montserrat',sans-serif; font-weight:300; font-size:12px; color:#6C7B5A; letter-spacing:.04em; margin-bottom:36px; }
.breadcrumb a { color:#6C7B5A; transition:color .18s; }
.breadcrumb a:hover { color:#1F2E3D; }
.breadcrumb span[aria-hidden] { color:#C9B7A0; }
.breadcrumb span:last-child { color:#333333; }
.detail-img-wrap { position:relative; width:100%; padding-top:42%; background:#e6dfd4; overflow:hidden; border:1px solid #C9B7A0; margin-bottom:52px; }
.detail-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
.detail-body { display:grid; grid-template-columns:1fr 420px; gap:72px; align-items:start; }
.detail-location-tag { font-family:'Montserrat',sans-serif; font-weight:400; font-size:11px; letter-spacing:.16em; color:#6C7B5A; margin-bottom:10px; }
.detail-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:48px; color:#1F2E3D; line-height:1.1; margin-bottom:20px; }
.detail-rule { width:54px; height:2px; background:#C9B7A0; margin-bottom:24px; }
.detail-desc { font-family:'Cormorant Garamond',serif; font-weight:300; font-style:italic; font-size:20px; color:#333333; line-height:1.65; margin-bottom:32px; max-width:520px; }
.detail-features { list-style:none; margin-bottom:40px; }
.detail-features li { font-family:'Montserrat',sans-serif; font-weight:300; font-size:14px; color:#333333; padding:9px 0; border-bottom:1px solid #C9B7A0; display:flex; align-items:center; gap:10px; }
.detail-features li::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:#6C7B5A; flex-shrink:0; }
.btn-back { display:inline-flex; align-items:center; gap:6px; font-family:'Montserrat',sans-serif; font-weight:400; font-size:13px; letter-spacing:.06em; color:#6C7B5A; border-bottom:1px solid #6C7B5A; padding-bottom:2px; transition:color .18s,border-color .18s; }
.btn-back:hover,.btn-back:focus { color:#1F2E3D; border-color:#1F2E3D; }

/* ================================================================
   LEGAL PAGES — Privacy Policy & Terms of Use
================================================================ */
.legal-hero { background:#F2EBE0; border-bottom:1px solid #C9B7A0; padding:52px 0 44px; }
.legal-breadcrumb { font-family:'Montserrat',sans-serif; font-weight:300; font-size:12px; letter-spacing:.08em; color:#6C7B5A; margin-bottom:18px; }
.legal-breadcrumb a { color:#6C7B5A; }
.legal-breadcrumb a:hover { text-decoration:underline; }
.legal-breadcrumb span { color:#333; opacity:.6; margin:0 8px; }
.legal-page-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:56px; line-height:1.05; color:#1F2E3D; margin-bottom:12px; letter-spacing:.01em; }
.legal-effective { font-family:'Montserrat',sans-serif; font-weight:300; font-size:13px; color:#6C7B5A; letter-spacing:.04em; }
.legal-body { background:#F7F4EE; padding:60px 0 80px; }
.wp-block-quote { box-sizing: border-box;overflow-wrap: break-word; background: #F2EBE0; padding: 15px;margin-bottom: 15px; border: 1px solid #C9B7A0; }
.wp-block-quote p { margin-bottom: 0 !imortant; }
.legal-content { max-width:100%; }
.legal-content p { font-family:'Montserrat',sans-serif; font-weight:400; font-size:18px; line-height:1.8; color:#333333; margin-bottom:16px; }
.legal-content ul,.legal-content ol { margin:0 0 16px 24px; }
.legal-content ul li,.legal-content ol li { font-family:'Montserrat',sans-serif; font-weight:400; font-size:15px; line-height:1.78; color:#333333; margin-bottom:6px; }
.legal-section { margin-bottom:12px; }
.legal-rule { width:56px; height:2px; background:#C9B7A0; margin:40px 0; }
.dev-note { background:#F7F4EE; border-left:3px solid #C9B7A0; padding:16px 20px; margin:24px 0; font-family:'Montserrat',sans-serif; font-size:18px; color:#6C7B5A; line-height:1.6; font-style:italic; }
.legal-contact { margin-top:12px; }
.legal-contact p { margin-bottom:4px; }
.legal-contact a { font-family:'Montserrat',sans-serif; font-size:18px; color:#6C7B5A; }

/* ================================================================
   DEFAULT PAGE (WordPress page template)
================================================================ */
.page-hero { background:#F2EBE0; border-bottom:1px solid #C9B7A0; padding:52px 0 44px; }
.page-breadcrumb { font-family:'Montserrat',sans-serif; font-weight:300; font-size:12px; letter-spacing:.08em; color:#6C7B5A; margin-bottom:18px; }
.page-breadcrumb a { color:#6C7B5A; transition:color .18s; }
.page-breadcrumb a:hover { color:#1F2E3D; text-decoration:underline; }
.page-breadcrumb span { color:#333; opacity:.6; margin:0 8px; }
.page-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:56px; line-height:1.05; color:#1F2E3D; margin-bottom:0; letter-spacing:.01em; }
.page-body { background:#F2EBE0; padding:60px 0 80px; }
.page-content { max-width:100%; }
.page-content p { font-family:'Montserrat',sans-serif; font-weight:400; font-size:18px; line-height:1.8; color:#333333; margin-bottom:16px; }
.page-content ul,.page-content ol { margin:0 0 16px 24px; }
.page-content ul li,.page-content ol li { font-family:'Montserrat',sans-serif; font-weight:400; font-size:18px; line-height:1.78; color:#333333; margin-bottom:6px; }
.page-content a { color:#333333; }
.page-content a:hover { color:#6C7B5A; }
.address { background: #F2EBE0;padding: 25px; max-width: 550px; border: 1px solid #C9B7A0; margin-bottom: 20px; }
.address p { margin-bottom: 0;}
.address p a { display: table; }
.address p a strong { font-weight: 700; }
.address p strong { font-weight: 700; }

/* ================================================================
   WORDPRESS — 404 PAGE
   Targets: .error-404.not-found inside #primary
================================================================ */
body.error404 { background:#F2EBE0; }
body.error404 #primary.site-main { max-width:1280px; margin:0 auto; padding:60px 20px 80px; }
.error-404.not-found { max-width:820px; margin:0 auto; text-align:center; }
.error-404 .page-header { margin-bottom:24px; }
.error-404 .page-header .page-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:48px; line-height:1.1; color:#1F2E3D; margin:0 0 16px; }
.error-404 .page-content { text-align:center; }
.error-404 .page-content > p { font-family:'Montserrat',sans-serif; font-weight:300; font-size:16px; line-height:1.7; color:#333333; margin-bottom:32px; }
.error-404 .search-form { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; margin-bottom:40px; }
.error-404 .search-form label { font-family:'Montserrat',sans-serif; font-weight:400; font-size:12px; color:#333; width:100%; text-align:center; margin-bottom:4px; }
.error-404 .search-field { flex:1; min-width:220px; max-width:360px; background:#F7F4EE; border:1px solid #C9B7A0; padding:11px 13px; font-family:'Montserrat',sans-serif; font-weight:300; font-size:14px; color:#333; outline:none; border-radius:0; }
.error-404 .search-field:focus { border-color:#6C7B5A; background:#fff; }
.error-404 .search-submit { background:#6C7B5A; color:#F7F4EE; border:none; font-family:'Montserrat',sans-serif; font-weight:800; font-size:12px; letter-spacing:.13em; padding:12px 24px; cursor:pointer; transition:background .2s; }
.error-404 .search-submit:hover,.error-404 .search-submit:focus { background:#566048; }
.error-404 .widget { background:#F7F4EE; border:1px solid #C9B7A0; padding:24px; margin-bottom:20px; text-align:left; }
.error-404 .widgettitle,.error-404 .widget-title { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:22px; color:#1F2E3D; margin-bottom:12px; }
.error-404 .widget ul { list-style:none; margin:0; padding:0; }
.error-404 .widget ul li { font-family:'Montserrat',sans-serif; font-weight:300; font-size:15px; color:#333; padding:8px 0; border-bottom:1px solid #E0D6C8; }
.error-404 .widget ul li:last-child { border-bottom:none; }
.error-404 .widget a { color:#6C7B5A; text-decoration:none; transition:color .18s; }
.error-404 .widget a:hover { color:#1F2E3D; text-decoration:underline; }
.error-404 select { width:100%; background:#F7F4EE; border:1px solid #C9B7A0; padding:10px; font-family:'Montserrat',sans-serif; font-size:14px; color:#333; }

/* ================================================================
   WORDPRESS — ARCHIVE / BLOG / DATE PAGES
   Targets: body.archive #primary + #secondary
================================================================ */
body.archive,body.blog,body.search { background:#F2EBE0; }
body.archive #page.site,body.blog #page.site,body.search #page.site { display:grid; grid-template-columns:minmax(0,1fr) 320px; grid-template-areas:"header header" "main sidebar" "footer footer"; max-width:1280px; margin:0 auto; padding:0 20px; gap:0 40px; align-items:start; }
body.archive #masthead,body.blog #masthead,body.search #masthead { grid-area:header; }
body.archive #primary.site-main,body.blog #primary.site-main,body.search #primary.site-main { grid-area:main; padding:40px 0 60px; min-width:0; }
body.archive #secondary.widget-area,body.blog #secondary.widget-area,body.search #secondary.widget-area { grid-area:sidebar; padding:40px 0 60px; min-width:0; }
body.archive #colophon,body.blog #colophon,body.search #colophon { grid-area:footer; }
.archive .page-header,.blog .page-header,.search .page-header { margin-bottom:36px; padding-bottom:20px; border-bottom:1px solid #C9B7A0; }
.archive .page-header .page-title,.blog .page-header .page-title,.search .page-header .page-title { font-family:'Cormorant Garamond',serif; font-weight:300; font-size:48px; line-height:1.1; color:#1F2E3D; margin:0; }
.archive .page-header .page-title span,.blog .page-header .page-title span { font-style:italic; color:#6C7B5A; }
article.post,article.page { background:#F7F4EE; border:1px solid #C9B7A0; padding:28px 28px 24px; margin-bottom:24px; }
article.post:last-child,article.page:last-child { margin-bottom:0; }
.entry-header { margin-bottom:16px; }
.entry-title { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:32px; line-height:1.2; color:#1F2E3D; margin:0 0 10px; }
.entry-title a { color:#1F2E3D; text-decoration:none; transition:color .18s; }
.entry-title a:hover { color:#6C7B5A; }
.entry-meta { font-family:'Montserrat',sans-serif; font-weight:300; font-size:13px; color:#6C7B5A; line-height:1.6; }
.entry-meta a { color:#6C7B5A; text-decoration:none; }
.entry-meta a:hover { color:#1F2E3D; text-decoration:underline; }
.entry-content { font-family:'Montserrat',sans-serif; font-weight:300; font-size:16px; line-height:1.75; color:#333333; margin-bottom:16px; }
.entry-content p { margin-bottom:14px; }
.entry-content a { color:#6C7B5A; text-decoration:underline; }
.entry-content a:hover { color:#1F2E3D; }
.entry-footer { font-family:'Montserrat',sans-serif; font-weight:300; font-size:13px; color:#333; padding-top:14px; border-top:1px solid #C9B7A0; }
.entry-footer a { color:#6C7B5A; text-decoration:none; }
.entry-footer a:hover { color:#1F2E3D; text-decoration:underline; }
.entry-footer span + span { margin-left:12px; }
#secondary .widget { background:#F7F4EE; border:1px solid #C9B7A0; padding:22px 20px; margin-bottom:20px; }
#secondary .widget:last-child { margin-bottom:0; }
#secondary .widgettitle,#secondary .widget-title,#secondary .wp-block-heading { font-family:'Cormorant Garamond',serif; font-weight:400; font-size:22px; color:#1F2E3D; margin:0 0 14px; line-height:1.2; }
#secondary .widget ul,#secondary .wp-block-latest-posts,#secondary .wp-block-archives,#secondary .wp-block-categories { list-style:none; margin:0; padding:0; }
#secondary .widget li,#secondary .wp-block-latest-posts li,#secondary .wp-block-archives li,#secondary .wp-block-categories li { font-family:'Montserrat',sans-serif; font-weight:300; font-size:15px; color:#333; padding:8px 0; border-bottom:1px solid #E0D6C8; }
#secondary .widget li:last-child,#secondary .wp-block-latest-posts li:last-child,#secondary .wp-block-archives li:last-child,#secondary .wp-block-categories li:last-child { border-bottom:none; }
#secondary a { color:#6C7B5A; text-decoration:none; transition:color .18s; }
#secondary a:hover { color:#1F2E3D; text-decoration:underline; }
#secondary .wp-block-search__label { font-family:'Montserrat',sans-serif; font-weight:400; font-size:12px; color:#333; margin-bottom:8px; display:block; }
#secondary .wp-block-search__inside-wrapper { display:flex; gap:8px; }
#secondary .wp-block-search__input { flex:1; background:#F7F4EE; border:1px solid #C9B7A0; padding:10px 12px; font-family:'Montserrat',sans-serif; font-size:14px; color:#333; outline:none; border-radius:0; min-width:0; }
#secondary .wp-block-search__input:focus { border-color:#6C7B5A; background:#fff; }
#secondary .wp-block-search__button { background:#6C7B5A; color:#F7F4EE; border:none; font-family:'Montserrat',sans-serif; font-weight:800; font-size:11px; letter-spacing:.1em; padding:10px 16px; cursor:pointer; white-space:nowrap; }
#secondary .wp-block-search__button:hover { background:#566048; }
#secondary .wp-block-latest-comments { list-style:none; margin:0; padding:0; }
#secondary .wp-block-latest-comments li { padding:8px 0; border-bottom:1px solid #E0D6C8; font-family:'Montserrat',sans-serif; font-size:14px; line-height:1.5; }

/* ================================================================
   TABLET ≤ 1024px
================================================================ */
@media (max-width:1024px) {
  .benefit { padding: 20px 15px; }
  .container { padding:0 15px; }
  .hero-inner { grid-template-columns:1fr; gap:48px; }
  .hero-headline { font-size:56px; }
  .hero-form-col { max-width:100%; }
  .homes-grid { grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:1fr 1fr; gap:0; }
  .footer-logo-col { grid-column:1/-1; border-right:none; padding-right:0; padding-bottom:28px; margin-bottom:28px; text-align: center; }
  .footer-logo--horizontal { margin: 0 auto; }
  .footer-contact-col { align-items:center; text-align:center; border-right:1px solid #6C7B5A; border-left:none; padding:0 24px; }
  .footer-address-col { align-items:center; text-align:center; border-left:none; padding:0 24px; }
  .benefits-inner { padding:0 15px; }
  .legal-page-title { font-size:44px; }
  .page-title { font-size:44px; }
  h1 { font-size:44px; margin-top:0; margin-bottom:20px; }
  h2 { font-size:30px; margin-top:0; margin-bottom:14px; }
  h3 { font-size:24px; margin-top:0; margin-bottom:11px; }
  h4 { font-size:21px; margin-top:0; margin-bottom:9px; }
  h5 { font-size:19px; margin-top:0; margin-bottom:7px; }
  h6 { font-size:17px; margin-top:0; margin-bottom:5px; }
  .detail-body { grid-template-columns:1fr; gap:44px; }
  .detail-form-col { max-width:580px; }
  .detail-title { font-size:40px; }
/*  .hero-body em br { display: none; }*/
}

/* ================================================================
   MOBILE ≤ 767px
================================================================ */
@media (max-width:767px) {
  .container { padding:0 20px; }
  .topbar { font-size:10px; letter-spacing:.18em; padding:7px 16px; }
  .site-header { padding:16px 0; }
  .header-inner { flex-direction:column; align-items:center; gap:14px; text-align:center; }
  .site-logo { height:75px; }
  .header-nav { gap:24px; }
  .header-nav .menu,
  .header-nav ul,
  .header-nav #primary-menu { gap:24px; }
  .header-nav .menu-item:first-child > a { font-size:16px; }
  .header-nav .menu-item:nth-child(2) > a { font-size:13px; }
  .nav-phone { font-size:16px; }
  .nav-cta { font-size:13px; }
  .hero { padding:40px 0 30px; }
  .hero-inner { grid-template-columns:1fr; gap:36px; }
  .hero-headline { font-size:42px; line-height:1.04; }
  .hero-body { font-size:22px; margin-bottom: 15px; }
/*  .hero-body br { display: none;}*/
  .hero-location { font-size:16px; }
  .icon-pin { width: 28px; height: 30px; }
  .hero-form-col { max-width:100%; }
  .form-card { padding:26px 15px 30px; }
  .btn-submit, .form-card input.wpcf7-submit.btn-submit, .form-card .wpcf7-submit.btn-submit { font-size: 14px; letter-spacing: 0px; }
  .form-card .wpcf7-list-item-label { font-size: 14px; }
  .form-card-title { font-size:22px; letter-spacing:0em; }
  .form-card-sub { font-size:18px; }
  .benefits-bar { padding:0; }
  .benefits-inner { flex-direction:column; align-items:stretch; gap:0; padding:0 10px; margin:0; max-width:calc(100% - 0px); border:1px solid #D9CDBB; border-radius:8px; background:#F2EBE0; }
  .benefit { display:grid; grid-template-columns:120px 1fr; align-items:center; gap:0; text-align:left; padding:20px 0; width:100%; border-bottom:1px solid #E0D6C8; }
  .site-footer address a { font-size: 15px;white-space: normal;}
  .site-footer address a br { display: none; }
  .benefit:last-child { border-bottom:none; }
  .benefit-icon { width:78px; height:74px; justify-self:center; flex-shrink:0; }
  .benefit p { font-size:16px; font-weight:500; line-height:1.35; letter-spacing:.01em; text-transform:uppercase; border-left:1px solid #6C7B5A; padding-left:22px; }
  .benefit-rule { display:none; }
  .homes-section { padding:30px 0 25px; }
  /* Client note: maximize home card width on mobile */
  .homes-section .container { padding:0 20px; }
  .homes-heading { font-size:28px; letter-spacing:0; }
  .homes-sub { font-size:18px; margin-bottom:32px; }
  .homes-grid { grid-template-columns:1fr; gap:20px; }
  .home-img { padding-top:56.25%; border: 1px solid #C9B7A0; border-radius: 6px; } /* true 16:9 */
  .home-info h3 { font-size:18px; }
  .home-info p { font-size:14px; }
  .cta-band { padding:0 20px 0; }
  .cta-band-inner { padding:20px 24px; border-radius:6px; }
  .cta-band-inner::before { width: 130px; height: 130px;}
  .cta-band-title { font-size:26px; letter-spacing:0em;line-height: 1.1; }
  .cta-band-sub { font-size:18px; }
  .site-footer { padding:24px 0 15px; overflow:hidden; }
  .site-footer .container { padding:0 20px; }
  .footer-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; text-align:left; align-items:start; }
  .footer-logo-col { grid-column:1/-1; display:flex; justify-content:center; border:none; padding:0 0 16px; margin:0; }
  .footer-logo--horizontal { display:block; height:68px; width:auto; max-width:100%; }
  .footer-logo--stacked { display:none; }
  .footer-contact-col { display:flex; flex-direction:column; align-items:flex-start; border-right:1px solid #6C7B5A; border-left:none; border-bottom:none; padding:0 10px 8px 0; margin:0; min-width:0; text-align: left; }
  .footer-name { font-size:16px; margin-bottom:2px; }
  .footer-phone { font-size:18px; line-height:1.15; margin-bottom:4px; word-break:break-word; }
  .footer-link { font-size:15px; line-height:1.35; word-break:break-all; }
  .footer-address-col { display:flex; flex-direction:column; align-items:flex-start; border:none; padding:0 0 8px 10px; min-width:0;text-align: left; }
  .site-footer address,.footer-sales { font-size:15px; line-height:1.45; word-break:break-word; }
  .bottom-bar { padding:10px 20px; }
  .bottom-bar-inner { flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:6px; }
  .bottom-copy { flex:1; min-width:0; font-size:12px; line-height:1.3; }
  .bottom-links { flex-shrink:0; gap:6px; }
  .bottom-links a,.bottom-links span { font-size:12px; white-space:nowrap; }
  .legal-hero { padding:36px 0 30px; }
  .legal-page-title { font-size:34px; }
  .page-title { font-size:34px; }
  h1 { font-size:34px; line-height:1.05; margin-top:0; margin-bottom:18px; }
  h2 { font-size:26px; line-height:1.1; margin-top:0; margin-bottom:12px; }
  h3 { font-size:22px; line-height:1.2; margin-top:0; margin-bottom:10px; }
  h4 { font-size:20px; line-height:1.25; margin-top:0; margin-bottom:8px; }
  h5 { font-size:18px; line-height:1.3; margin-top:0; margin-bottom:6px; }
  h6 { font-size:16px; line-height:1.35; margin-top:0; margin-bottom:4px; }
  body.error404 #primary.site-main { padding:40px 20px 60px; }
  .error-404 .page-header .page-title { font-size:34px; }
  body.archive #page.site,body.blog #page.site,body.search #page.site { display:block; padding:0 20px; }
  body.archive #primary.site-main,body.blog #primary.site-main,body.search #primary.site-main { padding:30px 0 40px; }
  body.archive #secondary.widget-area,body.blog #secondary.widget-area,body.search #secondary.widget-area { padding:0 0 40px; }
  .archive .page-header .page-title,.blog .page-header .page-title,.search .page-header .page-title { font-size:34px; }
  .entry-title { font-size:26px; }
  article.post,article.page { padding:20px; }
  .legal-content p,.legal-content ul li,.legal-content ol li { font-size:14px; }
  .legal-body { padding:40px 0 60px; }
  .detail-page { padding:36px 0 60px; }
  .detail-img-wrap { padding-top:56.25%; margin-bottom:36px; }
  .detail-title { font-size:32px; }
  .detail-desc { font-size:18px; }
  .detail-form-col { max-width:100%; }
  .breadcrumb { font-size:11px; }
  .form-card .wpcf7-checkbox, .form-card span.wpcf7-checkbox.checkbox-row { gap: 15px; }
  .home-card { border: none; }
}

