
/*

 Theme Name:   Baileaf Child

 Theme URI:    https://baileafphotography.com

 Description:  Baileaf Photography child theme based on Astra

 Author:       Baileaf Photography

 Template:     astra

 Version:      1.0.4

 Text Domain:  baileaf-child

*/



:root {

  --color-grove:      #3B6255;

  --color-grove-dark: #2c4a40;

  --color-sage:       #8BA49A;

  --color-mist:       #CBDED3;

  --color-wheat:      #D2C49E;

  --color-linen:      #E2DFDA;

  --color-text-body:  #2c4a40;

  --font-heading: 'Cormorant Garant', Georgia, serif;

  --font-body:    'Lato', sans-serif;

  --max-width:    1200px;

  --section-pad:  72px 48px;

  --radius:       2px;

  --transition:   0.2s ease;

}



/* ============================================================

   THE ACTUAL FIX — target the exact structure from curl output:

   #content.site-content > div.ast-container

   ============================================================ */

#content.site-content > .ast-container {

  display: block !important;

  width: 100% !important;

  max-width: 100% !important;

  padding: 0 !important;

  margin: 0 !important;

  flex-direction: unset !important;

}



/* Also kill flex on any ast-container inside site-content */

.site-content .ast-container {

  display: block !important;

  width: 100% !important;

  max-width: 100% !important;

  padding: 0 !important;

  margin: 0 !important;

}



/* Primary column full width */

.site-content #primary,

#primary {

  display: block !important;

  width: 100% !important;

  max-width: 100% !important;

  padding: 0 !important;

  margin: 0 !important;

  float: none !important;

}



/* Entry content no constraints */

.entry-content,

.page .entry-content {

  display: block !important;

  width: 100% !important;

  max-width: 100% !important;

  padding: 0 !important;

  margin: 0 !important;

}



/* Hide page title, sidebar, Astra footer */

.entry-header, .page-title, .ast-normal-title-enabled .entry-header { display: none !important; }

#secondary, .secondary, .widget-area { display: none !important; }

#colophon, .ast-scroll-top-icon { display: none !important; }



/* Our sections stack vertically, full width */

.baileaf-slideshow,

.baileaf-seasonal,

.baileaf-testimonials,

.baileaf-footer {

  display: block !important;

  width: 100% !important;

  float: none !important;

  clear: both !important;

  box-sizing: border-box !important;

}



/* ============================================================

   GLOBAL BASE

   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }



body {

  background-color: var(--color-linen);

  color: var(--color-text-body);

  font-family: var(--font-body);

  font-size: 16px;

  line-height: 1.8;

  margin: 0;

}



img { max-width: 100%; height: auto; display: block; }

a { color: var(--color-grove); text-decoration: none; transition: color var(--transition); }

a:hover { color: var(--color-grove-dark); }



h1, h2, h3, h4, h5, h6 {

  font-family: var(--font-heading);

  font-weight: 400;

  color: var(--color-grove);

  line-height: 1.3;

  margin: 0 0 1rem;

}

h1 { font-size: clamp(2rem, 4vw, 3rem); }

h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }

h3 { font-size: clamp(1.2rem, 2vw, 1.8rem); }

p  { margin: 0 0 1rem; }



/* ============================================================

   NAVIGATION

   ============================================================ */

.site-header,

.ast-primary-header-bar,

.main-header-bar {

  background-color: var(--color-linen) !important;

  border-bottom: 1px solid var(--color-wheat) !important;

}

.ast-site-identity .site-title,

.ast-site-identity .site-title a {

  font-family: var(--font-heading) !important;

  font-size: 1.4rem !important;

  color: var(--color-grove) !important;

  letter-spacing: 0.02em !important;

}

.main-header-menu .menu-item > a,

.main-header-menu .menu-link {

  font-family: var(--font-body) !important;

  font-size: 0.7rem !important;

  letter-spacing: 0.12em !important;

  text-transform: uppercase !important;

  color: var(--color-grove) !important;

  font-weight: 400 !important;

}

.main-header-menu .menu-item > a:hover,

.main-header-menu .menu-link:hover { color: var(--color-grove-dark) !important; }



/* ============================================================

   BUTTONS

   ============================================================ */

.baileaf-btn-primary {

  display: inline-block;

  background: var(--color-grove);

  color: var(--color-linen) !important;

  font-family: var(--font-body);

  font-size: 0.7rem;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  padding: 14px 32px;

  border: 1px solid var(--color-grove);

  cursor: pointer;

  transition: background var(--transition);

  border-radius: var(--radius);

}

.baileaf-btn-primary:hover {

  background: var(--color-grove-dark);

  border-color: var(--color-grove-dark);

  color: var(--color-linen) !important;

}

.baileaf-btn-outline {

  display: inline-block;

  background: transparent;

  color: var(--color-grove) !important;

  font-family: var(--font-body);

  font-size: 0.7rem;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  padding: 13px 32px;

  border: 1px solid var(--color-grove);

  cursor: pointer;

  transition: background var(--transition);

  border-radius: var(--radius);

}

.baileaf-btn-outline:hover {

  background: var(--color-grove);

  color: var(--color-linen) !important;

}



/* ============================================================

   SLIDESHOW

   ============================================================ */

.baileaf-slideshow {

  position: relative;

  width: 100%;

  height: 560px;

  overflow: hidden;

  background: var(--color-sage);

}

.baileaf-slideshow .slide {

  position: absolute;

  inset: 0;

  opacity: 0;

  transition: opacity 1s ease;

}

.baileaf-slideshow .slide.active { opacity: 1; }

.baileaf-slideshow .slide img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;

}

.slideshow-arrow {

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  background: rgba(226,223,218,0.75);

  border: none;

  width: 44px;

  height: 44px;

  cursor: pointer;

  z-index: 10;

  font-size: 1.2rem;

  color: var(--color-grove);

  display: flex;

  align-items: center;

  justify-content: center;

  transition: background var(--transition);

}

.slideshow-arrow:hover { background: rgba(226,223,218,0.95); }

.slideshow-arrow.prev  { left: 20px; }

.slideshow-arrow.next  { right: 20px; }

.slideshow-dots {

  position: absolute;

  bottom: 18px;

  left: 50%;

  transform: translateX(-50%);

  display: flex;

  gap: 8px;

  z-index: 10;

}

.slideshow-dots .dot {

  width: 8px;

  height: 8px;

  border-radius: 50%;

  background: rgba(226,223,218,0.6);

  border: none;

  cursor: pointer;

  padding: 0;

  transition: background var(--transition);

}

.slideshow-dots .dot.active { background: var(--color-linen); }



/* ============================================================

   SEASONAL SECTION

   ============================================================ */

.baileaf-seasonal {

  background: var(--color-linen);

  padding: var(--section-pad);

  border-bottom: 1px solid var(--color-wheat);

  width: 100%;

}

.seasonal-inner {

  max-width: var(--max-width);

  margin: 0 auto;

  display: flex;

  align-items: center;

  gap: 56px;

}

.seasonal-image {

  width: 340px;

  min-width: 340px;

  height: 420px;

  object-fit: cover;

  object-position: center;

}

.seasonal-content { flex: 1; }

.seasonal-eyebrow {

  font-size: 0.68rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: var(--color-sage);

  margin-bottom: 12px;

}

.seasonal-heading {

  font-family: var(--font-heading);

  font-size: clamp(1.8rem, 3vw, 2.8rem);

  color: var(--color-grove);

  margin-bottom: 20px;

  line-height: 1.2;

}

.seasonal-body {

  font-size: 0.95rem;

  color: var(--color-text-body);

  line-height: 1.9;

  margin-bottom: 32px;

  max-width: 520px;

}

.seasonal-actions {

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 12px;

}



/* ============================================================

   TESTIMONIALS

   ============================================================ */

.baileaf-testimonials {

  background: var(--color-mist);

  padding: var(--section-pad);

  border-bottom: 1px solid var(--color-sage);

  width: 100%;

}

.testimonials-inner {

  max-width: var(--max-width);

  margin: 0 auto;

}

.section-eyebrow {

  font-size: 0.68rem;

  letter-spacing: 0.2em;

  text-transform: uppercase;

  color: var(--color-sage);

  text-align: center;

  margin-bottom: 10px;

}

.section-heading {

  font-family: var(--font-heading);

  font-size: clamp(1.6rem, 2.5vw, 2.4rem);

  color: var(--color-grove);

  text-align: center;

  font-weight: 400;

  margin-bottom: 48px;

}

.testimonials-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 24px;

}

.testimonial-card {

  background: var(--color-linen);

  padding: 32px 28px;

  border: 0.5px solid var(--color-wheat);

  border-radius: var(--radius);

}

.testimonial-card .quote {

  font-family: var(--font-heading);

  font-size: 1.05rem;

  color: var(--color-text-body);

  line-height: 1.8;

  font-style: italic;

  margin-bottom: 20px;

}

.testimonial-card .quote::before {

  content: '\201C';

  font-size: 2.5rem;

  color: var(--color-wheat);

  line-height: 0;

  vertical-align: -0.5rem;

  margin-right: 4px;

  font-family: var(--font-heading);

}

.testimonial-card .client-name {

  font-size: 0.7rem;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: var(--color-grove);

  font-weight: 700;

}

.testimonial-card .client-session {

  font-size: 0.75rem;

  color: var(--color-sage);

  margin-top: 4px;

}



/* ============================================================

   FOOTER

   ============================================================ */

.baileaf-footer {

  background: var(--color-grove);

  padding: 48px;

  width: 100%;

}

.footer-inner {

  max-width: var(--max-width);

  margin: 0 auto;

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 24px;

}

.footer-logo-text {

  font-family: var(--font-heading);

  font-size: 1.4rem;

  color: var(--color-linen);

}

.footer-logo-text span {

  display: block;

  font-family: var(--font-body);

  font-size: 0.65rem;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: var(--color-mist);

  margin-top: 4px;

}

.footer-nav { display: flex; gap: 24px; flex-wrap: wrap; }

.footer-nav a { font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-mist) !important; }

.footer-nav a:hover { color: var(--color-linen) !important; }

.footer-copy { font-size: 0.72rem; color: var(--color-sage); }



/* ============================================================

   RESPONSIVE

   ============================================================ */

@media (max-width: 900px) {

  :root { --section-pad: 48px 24px; }

  .baileaf-slideshow { height: 320px; }

  .seasonal-inner { flex-direction: column; gap: 32px; }

  .seasonal-image { width: 100%; min-width: unset; height: 280px; }

  .testimonials-grid { grid-template-columns: 1fr; }

  .baileaf-footer { padding: 40px 24px; }

  .footer-inner { flex-direction: column; align-items: flex-start; }

}

@media (max-width: 600px) {

  .baileaf-slideshow { height: 240px; }

  .seasonal-actions { flex-direction: column; align-items: flex-start; }

}

