/*
Theme Name: Suite Amour Launch v1.5
Theme URI: https://suiteamourhobbyfarm.com/
Author: Oceanside Websites
Description: Production launch theme for Suite Amour Hobby Farm Guest Cottages. Compatible with Gutenberg and Kubio page editing.
Version: 2.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: suite-amour
Tags: custom-logo, custom-menu, featured-images, full-width-template, block-styles, wide-blocks
*/
:root{--forest:#30483a;--sage:#859982;--cream:#f7f2e8;--linen:#eee4d3;--clay:#a76848;--ink:#252a26;--white:#fff;--shadow:0 16px 45px rgba(30,45,35,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;color:var(--forest);line-height:1.12}a{color:var(--forest)}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,242,232,.96);backdrop-filter:blur(12px);box-shadow:0 1px 10px rgba(0,0,0,.06)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.custom-logo{max-height:62px;width:auto}.brand-name{font:700 1.2rem Georgia,serif;color:var(--forest)}.main-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.main-nav a{text-decoration:none;font-weight:700;font-size:.92rem}.menu-toggle{display:none;border:0;background:var(--forest);color:#fff;padding:10px 14px;border-radius:8px}.hero{min-height:76vh;display:grid;place-items:center;background-size:cover;background-position:center;position:relative;color:#fff}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,39,31,.75),rgba(25,39,31,.28))}.hero-content{position:relative;width:min(1180px,calc(100% - 40px));padding:90px 0}.hero h1{font-size:clamp(2.5rem,6vw,5.4rem);max-width:900px;color:#fff;margin:0 0 22px}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.78rem}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-block;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:800;background:var(--forest);color:#fff}.btn.clay{background:var(--clay)}.btn.light{background:#fff;color:var(--forest)}section{padding:78px 0}.section-alt{background:var(--cream)}.section-linen{background:var(--linen)}.section-dark{background:var(--forest);color:#fff}.section-dark h2,.section-dark h3{color:#fff}.section-title{max-width:780px;margin:0 auto 38px;text-align:center}.section-title h2{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 14px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-body{padding:28px}.card h3{font-size:1.8rem;margin-top:0}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{padding:24px;border-radius:18px;background:#fff;box-shadow:0 10px 25px rgba(30,45,35,.08)}.photo{border-radius:24px;box-shadow:var(--shadow);width:100%;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.content-page{padding:62px 0}.content-page h1{font-size:clamp(2.3rem,5vw,4.2rem)}.content-page h2{margin-top:48px;font-size:2.2rem}.content-page ul{padding-left:22px}.cottage-hero{min-height:62vh}.notice{background:var(--linen);border-left:5px solid var(--clay);padding:20px 24px;border-radius:8px}.stats{display:flex;gap:28px;flex-wrap:wrap}.stat strong{display:block;font:700 2rem Georgia,serif;color:var(--forest)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:38px}.sa-form label{font-weight:700;display:block;margin:14px 0 5px}.sa-form input,.sa-form textarea{width:100%;padding:13px;border:1px solid #bbb;border-radius:8px;font:inherit}.sa-form textarea{min-height:160px}.site-footer{background:#213329;color:#fff;padding:55px 0 24px}.site-footer h3{color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.site-footer a{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.2);margin-top:36px;padding-top:20px;text-align:center;font-size:.85rem}.entry-content>*:not(.alignfull){width:min(900px,calc(100% - 40px));margin-left:auto;margin-right:auto}.alignfull{width:100%}.screen-reader-text{position:absolute;left:-9999px}
@media(max-width:850px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--cream);padding:20px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;align-items:flex-start}.grid-2,.grid-3,.feature-list,.contact-grid,.footer-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.hero{min-height:68vh}}

/* v1.3 header, navigation and Contact Form 7 refinements */
.wrap{width:min(1480px,calc(100% - 48px))}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:nowrap}
.site-branding{display:flex;align-items:center;gap:14px;min-width:max-content;white-space:nowrap;flex:0 0 auto}
.brand-logo,.brand-logo a{display:flex;align-items:center}
.brand-logo .custom-logo{display:block;max-height:58px;width:auto}
.brand-name{display:block;text-decoration:none;font:700 clamp(.95rem,1.25vw,1.22rem) Georgia,'Times New Roman',serif;color:var(--forest);white-space:nowrap;line-height:1.15}
.main-nav{margin-left:auto;min-width:0}
.main-nav ul,.main-nav .primary-menu{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.25vw,22px);list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.main-nav li{white-space:nowrap}
.main-nav a{display:block;text-decoration:none;font-weight:700;font-size:clamp(.76rem,.78vw,.91rem);white-space:nowrap;padding:8px 0}
.main-nav a:hover,.main-nav a:focus,.brand-name:hover,.brand-name:focus{color:var(--clay)}
.btn{border:0;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.btn:hover,.btn:focus{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 8px 22px rgba(30,45,35,.2)}
.contact-form-panel{background:var(--cream);border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.sa-cf7-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sa-cf7-grid label{display:block;font-weight:700;color:var(--forest)}
.sa-cf7-grid .sa-cf7-full{grid-column:1/-1}
.wpcf7-form-control:not(.wpcf7-submit){width:100%;margin-top:6px;padding:13px;border:1px solid #aaa;border-radius:9px;background:#fff;font:inherit;color:var(--ink)}
textarea.wpcf7-form-control{min-height:170px;resize:vertical}
.wpcf7-not-valid-tip{font-size:.88rem;margin-top:4px}
.wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 16px;border-radius:8px}

@media(max-width:1180px){
 .menu-toggle{display:block;flex:0 0 auto}
 .main-nav{display:none;position:absolute;left:0;right:0;top:84px;background:var(--cream);padding:20px 24px;box-shadow:0 12px 20px rgba(0,0,0,.08)}
 .main-nav.open{display:block}
 .main-nav ul,.main-nav .primary-menu{flex-direction:column;align-items:flex-start;gap:5px}
 .main-nav a{font-size:1rem;padding:8px 0}
}
@media(max-width:650px){
 .wrap{width:min(100% - 30px,1480px)}
 .site-branding{min-width:0;gap:9px}
 .brand-logo .custom-logo{max-height:46px;max-width:90px}
 .brand-name{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 180px)}
 .sa-cf7-grid{grid-template-columns:1fr}
 .sa-cf7-grid .sa-cf7-full{grid-column:auto}
 .contact-form-panel{padding:22px}
}

/* v1.4 header sizing and reliable navigation */
.header-inner{min-height:104px;gap:34px}
.site-branding{gap:18px}
.brand-logo .custom-logo{max-height:78px;max-width:150px}
.brand-name{font-size:clamp(1.2rem,1.55vw,1.55rem);font-weight:700;line-height:1.1}
.main-nav ul,.main-nav .primary-menu{gap:clamp(14px,1.5vw,28px)}
.main-nav a{font-size:clamp(.9rem,.92vw,1.05rem);padding:12px 0}
@media(max-width:1180px){
 .main-nav{top:104px}
 .main-nav a{font-size:1.08rem;padding:10px 0}
}
@media(max-width:650px){
 .header-inner{min-height:88px}
 .brand-logo .custom-logo{max-height:58px;max-width:105px}
 .brand-name{font-size:1rem;max-width:calc(100vw - 190px)}
 .main-nav{top:88px}
}


/* v1.5 collision-proof header layout */
@media (min-width:1181px) {
  .site-header .wrap.header-inner {
    width:min(1540px,calc(100% - 48px));
    min-height:0;
    padding:14px 0 10px;
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    align-items:center;
    gap:8px;
  }
  .site-branding {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    min-width:0;
    white-space:nowrap;
  }
  .brand-logo .custom-logo {
    max-height:78px;
    width:auto;
    flex:0 0 auto;
  }
  .brand-name {
    font-size:clamp(1.42rem,2vw,2rem);
    white-space:nowrap;
    text-align:center;
  }
  .main-nav {
    width:100%;
    margin:0;
    min-width:0;
  }
  .main-nav ul,
  .main-nav .primary-menu {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:nowrap;
    gap:clamp(22px,2.4vw,48px);
  }
  .main-nav li,
  .main-nav a {
    white-space:nowrap;
  }
  .main-nav a {
    font-size:clamp(.92rem,1.05vw,1.05rem);
    padding:7px 0 11px;
  }
}

@media (min-width:1181px) and (max-width:1320px) {
  .brand-name { font-size:1.45rem; }
  .main-nav ul,
  .main-nav .primary-menu { gap:18px; }
  .main-nav a { font-size:.9rem; }
}

@media (max-width:1180px) {
  .header-inner {
    display:flex;
    min-height:96px;
    gap:18px;
  }
  .site-branding {
    min-width:0;
    flex:1 1 auto;
  }
  .brand-name {
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .main-nav { top:96px; }
}

@media (max-width:650px) {
  .header-inner { min-height:82px; }
  .brand-logo .custom-logo { max-height:54px; max-width:96px; }
  .brand-name { font-size:.92rem; max-width:calc(100vw - 175px); }
  .main-nav { top:82px; }
}

/* Contact page details */
.contact-details .contact-item{margin-top:32px;padding-top:26px;border-top:1px solid rgba(49,72,58,.18)}
.contact-details .contact-item:first-of-type{margin-top:28px}
.contact-details h2,.contact-form-panel h2{font-size:1.65rem;margin:0 0 12px}
.contact-details address{font-style:normal;font-size:1.05rem}
.contact-details a{overflow-wrap:anywhere}
.contact-details .btn{color:#fff}


/* v1.7 reservation, manager and footer updates */
.suite-amour-reservation-page,
.suite-amour-manager-page{padding:54px 0 78px}
.suite-amour-reservation-page h1{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:12px}
.suite-amour-reservation-page>.has-text-align-center{max-width:760px;margin-left:auto;margin-right:auto}
.suite-amour-reservation-page .wp-block-shortcode{margin-top:30px}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin:0 0 8px}
.footer-links a{text-decoration:none}
.footer-links a:hover,.footer-links a:focus{text-decoration:underline}
.footer-manager-heading{margin-top:28px}
.site-footer .footer-grid{grid-template-columns:1.35fr 1.45fr 1fr}
.site-footer p{margin-top:0;margin-bottom:14px}
@media(max-width:850px){.site-footer .footer-grid{grid-template-columns:1fr}}


/* v1.8 expanded content and About Us profile */
.page-intro{font-size:1.15rem;max-width:820px;margin-bottom:38px}
.judy-profile{align-items:start}
.judy-photo{max-width:430px;justify-self:center;aspect-ratio:230/300;object-position:center;object-fit:cover}
.guest-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0 42px}
.content-page .buttons{margin-top:38px}
.contact-details small{color:#5c655e}
@media(max-width:850px){.guest-summary{grid-template-columns:1fr}.judy-photo{max-width:340px}}


/* Guest reviews page */
.reviews-hero{padding:90px 20px;text-align:center;background:linear-gradient(rgba(39,61,49,.78),rgba(39,61,49,.78)),url("assets/images/website/image(1).png") center/cover no-repeat;color:#fff}
.reviews-hero h1{color:#fff;margin-bottom:12px}.reviews-hero p{max-width:760px;margin:0 auto;font-size:1.15rem}
.review-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:44px 0}
.review-platform{padding:30px;border:1px solid #ddd4c4;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(38,55,45,.08);text-align:center}
.review-platform h2{margin-top:0}.review-platform .platform-name{font-size:1.4rem;font-weight:700;color:#304838}.review-platform p{min-height:78px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.review-card{padding:28px;border-radius:18px;background:#f8f3e9;border-left:5px solid #7f9277}
.review-card .stars{letter-spacing:.12em;color:#8a6a32;font-size:1.1rem}.review-card blockquote{margin:12px 0 0;font-style:italic}.review-card cite{display:block;margin-top:16px;font-style:normal;font-weight:700;color:#304838}
.reviews-note{margin-top:36px;padding:20px 24px;background:#eef2eb;border-radius:14px}
@media(max-width:900px){.review-platforms,.review-grid{grid-template-columns:1fr}}
