/*
Theme Name: Bailey Brooke
Theme URI: https://baileybrookes.salon
Author: McNair Media
Author URI: https://www.mcnairmedia.com
Description: Custom theme for Bailey Brooke's Salon (Dunwoody & Macon). Standalone — no dependency on Neve, Neve Pro, or Otter. Replicates the prior Cormorant + brown/blush design with core-block styling.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: baileybrooke
*/

/* ============================================================ Tokens ============================================================ */
:root{
  --nv-primary-accent:#401804;
  --nv-secondary-accent:#e7cfc2;
  --nv-site-bg:#ffffff;
  --nv-light-bg:#f4f5f7;
  --nv-dark-bg:#121212;
  --nv-text-color:#3d3d3d;
  --nv-text-dark-bg:#ffffff;
  --nv-c-1:#9463ae;
  --nv-c-2:#be574b;
  --bb-container:1170px;
  --bb-wide:1280px;
  --bb-font:"Cormorant",Georgia,"Times New Roman",serif;
}
.has-nv-primary-accent-color{color:var(--nv-primary-accent)!important}
.has-nv-primary-accent-background-color{background-color:var(--nv-primary-accent)!important}
.has-nv-secondary-accent-color{color:var(--nv-secondary-accent)!important}
.has-nv-secondary-accent-background-color{background-color:var(--nv-secondary-accent)!important}
.has-nv-text-color-color{color:var(--nv-text-color)!important}
.has-nv-c-2-color{color:var(--nv-c-2)!important}
.has-nv-c-2-background-color{background-color:var(--nv-c-2)!important}

/* ============================================================ Base ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--bb-font);font-size:19px;line-height:1.65;color:var(--nv-text-color);background:var(--nv-site-bg)}
img{max-width:100%;height:auto}
a{color:var(--nv-primary-accent);text-decoration:none}
a:hover{color:var(--nv-c-2)}
h1,h2,h3,h4,h5,h6{font-family:var(--bb-font);color:var(--nv-primary-accent);line-height:1.2;font-weight:600;margin:0 0 .5em}
h1{font-size:3rem}h2{font-size:2.3rem}h3{font-size:1.7rem}
p{margin:0 0 1.2em}
.bb-container{max-width:var(--bb-container);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.entry-content > *{max-width:var(--bb-container);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.entry-content > .alignfull{max-width:none;padding-left:0;padding-right:0}
.entry-content > .alignwide{max-width:var(--bb-wide)}
.wp-block-cover.alignfull,.wp-block-group.alignfull{max-width:none}

/* ============================================================ Buttons ============================================================ */
.wp-block-button__link,.wp-element-button,button,input[type="submit"]{
  background:var(--nv-primary-accent);color:#fff;border:none;border-radius:0;
  padding:.7em 1.8em;font-family:var(--bb-font);font-size:1.05rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s;
}
.wp-block-button__link:hover,.wp-element-button:hover,button:hover,input[type="submit"]:hover{background:var(--nv-c-2);color:#fff}

/* ============================================================ Header (full width) ============================================================ */
.bb-header{position:sticky;top:0;z-index:100;background:var(--nv-site-bg);border-bottom:3px solid var(--nv-secondary-accent)}
.bb-header__inner{max-width:none;width:100%;padding-left:32px;padding-right:32px;display:flex;align-items:center;gap:18px;min-height:74px}
.bb-logo{display:inline-flex;align-items:center;margin-right:auto}
.bb-logo img,.bb-logo .bb-logo__img{display:block;max-width:64px;height:auto;width:auto}
.bb-logo__text{font-size:1.4rem;font-weight:700;color:var(--nv-primary-accent)}

.bb-nav{display:flex;align-items:center}
.bb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.bb-nav li{position:relative}
.bb-nav a{display:block;padding:8px 12px;color:var(--nv-primary-accent);text-transform:lowercase;letter-spacing:.02em;font-size:1.05rem;font-weight:600}
.bb-nav a::first-letter{text-transform:uppercase}
.bb-nav a:hover{color:var(--nv-c-2)}
.bb-nav .sub-menu{position:absolute;left:0;top:100%;min-width:210px;background:var(--nv-site-bg);
  border:1px solid var(--nv-secondary-accent);flex-direction:column;gap:0;display:none;z-index:120;box-shadow:0 8px 24px rgba(64,24,4,.12)}
.bb-nav li:hover > .sub-menu,.bb-nav li.focus-within > .sub-menu{display:flex}
.bb-nav .sub-menu a{padding:10px 16px;white-space:nowrap;font-size:.98rem}
.bb-nav .menu-item-has-children > a::after{content:" \25BE";font-size:.7em;opacity:.7}

.bb-btn{display:inline-flex;align-items:center;gap:8px;border-radius:0;font-family:var(--bb-font);font-weight:600;letter-spacing:.03em;font-size:1rem;padding:.55em 1.1em;white-space:nowrap;transition:background .2s,color .2s}
.bb-btn--phone{background:var(--nv-secondary-accent);color:var(--nv-primary-accent)}
.bb-btn--phone:hover{background:var(--nv-primary-accent);color:#fff}
.bb-btn__icon{display:inline-flex;align-items:center}
.bb-btn__icon svg{width:18px;height:18px;display:block}
.bb-btn--book{background:var(--nv-primary-accent);color:#fff;text-transform:uppercase}
.bb-btn--book:hover{background:var(--nv-c-2);color:#fff}
.bb-btn--in-nav{display:none}

.bb-nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.bb-nav-toggle span{display:block;width:26px;height:2px;background:var(--nv-primary-accent);margin:5px 0;transition:.2s}

@media(max-width:880px){
  .bb-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:64px;padding-left:14px;padding-right:14px}
  .bb-nav-toggle{display:block;grid-column:1;justify-self:start}
  .bb-logo{grid-column:2;justify-self:center;margin-right:0}
  .bb-logo img,.bb-logo .bb-logo__img{max-width:46px}
  .bb-btn--phone{grid-column:3;justify-self:end;padding:.4em .55em}
  .bb-btn--phone .bb-btn__label{display:none}
  .bb-btn--phone .bb-btn__icon svg{width:24px;height:24px}
  .bb-btn--book.bb-btn--bar{display:none}
  .bb-nav{position:fixed;inset:64px 0 0 auto;width:min(320px,85vw);background:var(--nv-site-bg);
    border-left:3px solid var(--nv-secondary-accent);transform:translateX(100%);transition:transform .25s ease;
    overflow-y:auto;padding:10px 0;flex-direction:column;align-items:stretch}
  .bb-nav.is-open{transform:translateX(0)}
  .bb-nav ul{flex-direction:column;gap:0;width:100%}
  .bb-nav .sub-menu{position:static;display:none;border:0;box-shadow:none;background:var(--nv-light-bg)}
  .bb-nav li.is-expanded > .sub-menu{display:flex}
  .bb-nav a{padding:14px 22px;border-bottom:1px solid var(--nv-light-bg);font-size:1.1rem}
  .bb-btn--in-nav{display:block;margin:16px 22px;text-align:center}
  body.bb-nav-open{overflow:hidden}
}

/* ============================================================ Footer ============================================================ */
.bb-footer__widgets{background:var(--nv-secondary-accent);color:var(--nv-primary-accent);padding:48px 0}
.bb-footer__widgets a{color:var(--nv-primary-accent);text-decoration:underline}
.bb-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.bb-footer__cols .widget{margin:0}
.bb-footer__bottom{background:var(--nv-secondary-accent);color:var(--nv-primary-accent);text-align:center;padding:14px 0;font-size:.95rem;border-top:1px solid rgba(64,24,4,.15)}
.bb-footer__bottom a{color:var(--nv-primary-accent)}
@media(max-width:780px){.bb-footer__cols{grid-template-columns:1fr;text-align:center}}

/* ============================================================ Sections ============================================================ */
.entry-content .wp-block-group{margin-left:auto;margin-right:auto}
.wp-block-columns{gap:24px}
.bb-section{padding-top:75px}
@media(max-width:782px){.bb-section{padding-top:8px}}
.is-style-maroon-border img,img.is-style-maroon-border{border:6px solid var(--nv-c-2)}
.is-style-pink-border img,img.is-style-pink-border{border:6px solid var(--nv-secondary-accent)}

/* ---- Brand logo strip: FULL-BLEED blush band, centered, single row (stacks on phones) ---- */
.bb-brands{
  background:var(--nv-secondary-accent);
  display:flex!important;justify-content:center!important;align-items:center;flex-wrap:nowrap;
  gap:42px;padding:26px 24px;
  width:100vw!important;max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
}
.bb-brands .wp-block-column{flex:0 0 auto!important;width:auto!important;max-width:none;padding:0;min-width:0}
.bb-brands figure,.bb-brands .wp-block-image{margin:0}
.bb-brands img{max-height:64px;width:auto;object-fit:contain}
@media(max-width:880px){.bb-brands{gap:18px;padding:18px 12px}.bb-brands img{max-height:46px}}
@media(max-width:600px){
  .bb-brands{flex-direction:column!important;flex-wrap:wrap;gap:20px;padding:24px 12px}
  .bb-brands img{max-height:56px}        /* ~20% larger than the row size, since stacked has room */
}

/* ---- Brooke portrait at bottom: smaller on desktop, natural on mobile ---- */
@media(min-width:783px){
  img.wp-image-475,.bb-brooke-portrait img{max-width:330px;height:auto}
}

/* ============================================================ Testimonials carousel ============================================================ */
.bb-tc{position:relative;max-width:var(--bb-wide);margin:0 auto;padding:0 44px}
.bb-testimonials{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;padding:8px 2px}
.bb-testimonials::-webkit-scrollbar{display:none}
.bb-testimonial{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;box-sizing:border-box;background:rgba(255,255,255,.94);border:1px solid var(--nv-secondary-accent);padding:24px;display:flex;flex-direction:column;margin:0}
.bb-testimonial__stars{color:#d8a32b;letter-spacing:2px;margin-bottom:8px}
.bb-testimonial__quote{font-size:1.02rem;line-height:1.5;color:var(--nv-text-color);margin:0 0 14px;border:0;padding:0;font-style:normal}
.bb-testimonial__name{font-weight:700;color:var(--nv-primary-accent);margin-top:auto}
/* subtle arrows in the gutter — chevron only, no heavy circle, never over the cards */
.bb-tc-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:transparent;border:0;color:var(--nv-primary-accent);opacity:.4;width:28px;height:48px;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:opacity .2s,color .2s}
.bb-tc-btn:hover{opacity:1;color:var(--nv-c-2);background:transparent}
.bb-tc-prev{left:0}.bb-tc-next{right:0}
.bb-tc-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.bb-tc-dot{width:10px;height:10px;border-radius:50%;border:0;background:var(--nv-secondary-accent);cursor:pointer;padding:0}
.bb-tc-dot.is-active{background:var(--nv-primary-accent)}
@media(max-width:980px){.bb-testimonial{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:640px){.bb-testimonial{flex-basis:100%}.bb-tc{padding:0 12px}.bb-tc-btn{display:none}}

/* prevent full-bleed 100vw sections from creating a horizontal scrollbar */
.bb-main{overflow-x:clip}

/* ============================================================ Location boxes / hero / services (v1.4.0) ============================================================ */
/* homepage location boxes on the dark welcome cover */
.bb-loc-cards{max-width:920px;margin:22px auto 8px;gap:24px}
.bb-loc-card{background:rgba(255,255,255,.94);border:1px solid var(--nv-secondary-accent);padding:26px 22px}
.bb-loc-card h3{margin-bottom:.25em}
.bb-loc-card p{color:var(--nv-text-color);margin-bottom:1em}
@media(max-width:782px){.bb-loc-cards{flex-wrap:wrap}}

/* location-page cover hero */
.bb-loc-hero{align-items:center}
.bb-loc-hero .wp-block-cover__inner-container{max-width:760px;margin:0 auto;padding:0 20px}
.bb-loc-hero h1{font-size:2.8rem;margin-bottom:.3em}

/* location-page services grid */
.bb-svc-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;max-width:var(--bb-container);margin:8px auto 0;padding:0 20px}
.bb-svc-card{background:var(--nv-light-bg);border:1px solid var(--nv-secondary-accent);padding:22px;margin:0}
.bb-svc-card h3{margin:0 0 .35em;font-size:1.45rem}
.bb-svc-card h3 a{color:var(--nv-primary-accent)}
.bb-svc-card h3 a:hover{color:var(--nv-c-2)}
.bb-svc-card p{margin:0;font-size:1rem;line-height:1.5}
/* ============================================================ CTA spacing + modern footer (v1.5.0) ============================================================ */
.bb-page .entry-content > .wp-block-buttons{margin-top:56px;margin-bottom:72px}
.bb-svc-grid{margin-bottom:8px}

.bb-footer__top{background:var(--nv-secondary-accent);color:var(--nv-primary-accent);padding:64px 0 56px}
.bb-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;align-items:start}
.bb-footer__brand img{max-width:150px;height:auto;margin-bottom:16px;display:block}
.bb-footer__tag{font-size:1.05rem;line-height:1.5;margin:0 0 20px;max-width:36ch}
.bb-footer h4{font-size:1.35rem;margin:0 0 14px;color:var(--nv-primary-accent)}
.bb-footer__loc p{margin:0 0 12px;line-height:1.5}
.bb-footer__loc a,.bb-footer__links a{color:var(--nv-primary-accent)}
.bb-footer__loc a:hover,.bb-footer__links a:hover{color:var(--nv-c-2)}
.bb-footer__hours{font-size:.95rem;opacity:.8}
.bb-footer__menu{list-style:none;margin:0;padding:0}
.bb-footer__menu li{margin-bottom:9px}
.bb-footer__menu .sub-menu{display:none}
.bb-footer__menu a{color:var(--nv-primary-accent);text-transform:lowercase}
.bb-footer__menu a::first-letter{text-transform:uppercase}
.bb-footer__menu a:hover{color:var(--nv-c-2)}
.bb-footer__brand .bb-btn--book{margin-top:4px}
.bb-footer__bottom{background:var(--nv-primary-accent)!important;color:#f1e4da!important;text-align:center;padding:18px 0;font-size:.92rem;border:0!important}
.bb-footer__bottom a{color:#fff!important;text-decoration:underline}
@media(max-width:880px){.bb-footer__grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:560px){.bb-footer__grid{grid-template-columns:1fr;text-align:center}.bb-footer__brand img,.bb-footer__tag{margin-left:auto;margin-right:auto}}