@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Lato:wght@300;400;700&display=swap');

:root{
  --of-charcoal:#3D444C;
  --of-slate:#65717F;
  --of-stone:#8B9EA8;
  --of-white:#FFFFFF;
  --of-offwhite:#F8F7F5;
  --of-linen:#E2DFDB;
  --of-body:#2A2A2A;
}

body{
  font-family:"Lato",sans-serif;
  font-size:18px;
  line-height:1.8;
  color:var(--of-body);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:"Cormorant Garamond",serif;
  color:var(--of-charcoal);
  line-height:1.15;
  font-weight:600;
  text-align:center;
}

h1{font-size:3.2rem;}
h2{font-size:2.4rem;}
h3{font-size:1.6rem;}

a{color:var(--of-charcoal);}
a:hover{color:var(--of-slate);}

/* === BUTTONS - all variants including plugin forms === */
.ast-button,
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
input[type="submit"],
.wpforms-submit,
.mc4wp-form__submit,
.wp-block-mailchimp button,
.wp-block-mailchimp input[type="submit"] {
  background-color:var(--of-charcoal)!important;
  color:var(--of-white)!important;
  font-family:"Lato",sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  border:none!important;
  border-radius:2px!important;
  padding:14px 32px!important;
  transition:background .2s ease!important;
  cursor:pointer!important;
}

.ast-button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wpforms-submit:hover {
  background-color:var(--of-slate)!important;
  color:var(--of-white)!important;
}

/* === COVER / HERO === */
.wp-block-cover{
  min-height:90vh!important;
}

.wp-block-cover__background.has-background-dim{
  opacity:0.22!important;
}

.wp-block-cover__inner-container{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding-bottom:80px!important;
  min-height:90vh!important;
}

.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover .wp-block-heading{
  color:var(--of-white)!important;
  text-align:center!important;
  text-shadow:0 2px 12px rgba(0,0,0,0.5)!important;
  margin-bottom:12px!important;
}

.wp-block-cover h1{
  font-weight:300!important;
}

.wp-block-cover p{
  color:rgba(255,255,255,0.95)!important;
  font-family:"Cormorant Garamond",serif!important;
  font-style:italic!important;
  font-size:1.4rem!important;
  text-align:center!important;
  margin-bottom:32px!important;
  text-shadow:0 1px 6px rgba(0,0,0,0.4)!important;
}

.wp-block-cover .wp-block-button__link{
  background-color:var(--of-white)!important;
  color:var(--of-charcoal)!important;
  border:2px solid var(--of-white)!important;
}

.wp-block-cover .wp-block-button__link:hover{
  background-color:transparent!important;
  color:var(--of-white)!important;
}

/* === NAVIGATION === */

/* Home page: transparent header overlays hero cover */
.home #masthead,
.home .site-header,
.home .main-header-bar,
.home .ast-primary-header-bar{
  background:transparent!important;
  box-shadow:none!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:100!important;
}

.home .main-header-menu .menu-item a,
.home .main-navigation .menu-item a,
.home #site-navigation a{
  font-family:"Lato",sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  color:var(--of-white)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.home .main-header-menu .menu-item a:hover,
.home .main-navigation .menu-item a:hover{
  color:rgba(255,255,255,0.75)!important;
  text-decoration:none!important;
}

/* Inner pages: solid white nav */
body:not(.home) #masthead,
body:not(.home) .site-header,
body:not(.home) .main-header-bar,
body:not(.home) .ast-primary-header-bar{
  background:var(--of-white)!important;
  box-shadow:0 1px 4px rgba(0,0,0,0.07)!important;
}

body:not(.home) .main-header-menu .menu-item a,
body:not(.home) .main-navigation .menu-item a,
body:not(.home) #site-navigation a{
  font-family:"Lato",sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  color:var(--of-charcoal)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

body:not(.home) .main-header-menu .menu-item a:hover,
body:not(.home) .main-navigation .menu-item a:hover{
  color:var(--of-slate)!important;
  text-decoration:none!important;
}

/* Logo: white over hero on home, dark on inner pages */
body:not(.home) .custom-logo{
  filter:brightness(0)!important;
}

.site-title,
.ast-site-identity .site-title{
  display:none!important;
}

.site-logo img,
.ast-site-identity img,
.custom-logo{
  max-height:48px!important;
  width:auto!important;
}

/* === SEPARATORS === */
.wp-block-separator{
  border-color:var(--of-linen)!important;
  border-width:1px!important;
  opacity:.6!important;
  margin:48px auto!important;
  max-width:80px!important;
}

/* === AT A GLANCE COLUMNS === */
.wp-block-columns{
  padding:56px 40px!important;
  background:var(--of-offwhite)!important;
}

.wp-block-columns .wp-block-column h3,
.wp-block-media-text h3{
  font-size:1.5rem!important;
  font-family:"Cormorant Garamond",serif!important;
  font-weight:600!important;
  letter-spacing:.03em!important;
}

/* === MEDIA TEXT (The Bach section) === */
.wp-block-media-text{
  padding:72px 40px!important;
  gap:56px!important;
}

/* === BLOCKQUOTES - Guest Reviews === */
.wp-block-quote{
  font-family:"Cormorant Garamond",serif!important;
  font-style:italic!important;
  font-size:1.35rem!important;
  line-height:1.6!important;
  color:var(--of-charcoal)!important;
  border-left:2px solid var(--of-linen)!important;
  border-right:none!important;
  padding:8px 0 8px 28px!important;
  margin:28px auto!important;
  max-width:680px!important;
  background:none!important;
}

.wp-block-quote p,
.wp-block-quote cite{
  font-family:"Cormorant Garamond",serif!important;
  font-style:italic!important;
  color:var(--of-charcoal)!important;
}

.wp-block-quote cite{
  font-size:0.9rem!important;
  color:var(--of-stone)!important;
  font-style:normal!important;
  letter-spacing:.05em!important;
}

/* === MAILCHIMP FORM === */
.wp-block-group:has(.wp-block-mailchimp){
  max-width:100%;
  padding:64px 20px!important;
}

.wp-block-mailchimp{
  max-width:480px!important;
  margin:0 auto!important;
}

.wp-block-mailchimp input[type="text"],
.wp-block-mailchimp input[type="email"],
.wp-block-mailchimp input[type="tel"]{
  font-size:15px!important;
  padding:10px 14px!important;
  border:1px solid var(--of-linen)!important;
  border-radius:2px!important;
  background:var(--of-white)!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* === WPFORMS === */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form textarea{
  font-size:16px!important;
  border:1px solid var(--of-linen)!important;
  border-radius:2px!important;
  padding:10px 14px!important;
}

/* === FOOTER === */
.site-footer,
#colophon,
.ast-small-footer,
.footer-widget-area{
  background-color:var(--of-charcoal)!important;
  color:rgba(255,255,255,0.75)!important;
}

.site-footer a,
.ast-small-footer a,
.ast-footer-widget a{
  color:var(--of-stone)!important;
}

.site-footer a:hover,
.ast-small-footer a:hover{
  color:var(--of-white)!important;
}

/* === GROUPS === */
.wp-block-group h1,
.wp-block-group h2{
  font-size:2.4rem!important;
  margin-bottom:16px!important;
}

/* === MOBILE === */
@media(max-width:768px){
  h1{font-size:2.4rem!important;}
  h2{font-size:1.9rem!important;}
  .wp-block-group h2{font-size:1.9rem!important;}
  h3{font-size:1.3rem!important;}
  .wp-block-columns{padding:36px 20px!important;}
  .wp-block-media-text{padding:40px 20px!important;}
  .wp-block-cover__inner-container{padding-bottom:48px!important;}
  .wp-block-mailchimp{max-width:100%!important;}
  .wp-block-buttons{justify-content:center!important;}
  .wpforms-field-submit{display:flex!important;justify-content:center!important;}
}

/* === FOOTER CREDIT === */
.ast-footer-copyright,
.ast-small-footer-section-2{
  display:none!important;
}

/* === PLAIN LIST COLUMNS (no section background) === */
.of-list-cols{
  background:none!important;
  padding:0!important;
}

/* === BLOG: Fix navigation stacking =================================
   Astra's ast-separate-container sets body bg to grey (#f5f5f5),
   making the white nav appear as a separate floating box. Override
   to white so nav blends seamlessly with the page on blog pages.
================================================================== */
body.blog,
body.single-post,
body.single{
  background-color:var(--of-white)!important;
}

/* Remove Astra's heavy card styling on blog post items */
body.blog .ast-article-post,
body.blog .ast-article-single:not(.ast-related-post){
  background-color:transparent!important;
  border-bottom:1px solid var(--of-linen)!important;
  padding:3em 0!important;
  margin:0!important;
}

body.blog .ast-article-post:last-child{
  border-bottom:none!important;
}

body.single-post .ast-article-single,
body.single .ast-article-single{
  background-color:transparent!important;
  border-bottom:none!important;
  padding:2em 0!important;
}
