/*
Theme Name: Brazilian Bar Beauty & Hair
Theme URI: https://brazilianbar.co.za
Author: Brazilian Bar
Description: Premium luxury salon theme — Brazilian Bar Hair Studio + MK Dash Nails. Resend email, Gemini chatbot, Amelia booking, WhatsApp integration.
Version: 1.1.1
Requires PHP: 7.4
Text Domain: brazilianbar
*/

:root{
  --bb-dark:#1C1A17; --bb-darker:#141210; --bb-gold:#D4AF37; --bb-gold-dark:#B08D26; --bb-gold-light:#E5C558;
  --bb-cream:#FAF9F5; --bb-ink:#1C1A17; --bb-muted:#5C564F; --bb-faint:#8A8378;
  --mk-rose:#BC8F82; --mk-rose-light:#DBA99B; --mk-rose-dark:#A5705F; --mk-ink:#221B18; --mk-cream:#FBF7F5;
  --wa:#25D366; --wa-ink:#0B2E1A;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter',-apple-system,sans-serif; --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Accessibility */
.bb-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--bb-gold);color:var(--bb-dark);padding:12px 20px;border-radius:0 0 12px 0;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.bb-skip:focus{left:0;color:var(--bb-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--bb-gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{margin:0;font-family:var(--sans);color:var(--bb-ink);background:var(--bb-cream);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.7}
img{max-width:100%;height:auto}
a{color:var(--bb-gold-dark);text-decoration:none}
a:hover{color:var(--bb-gold)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.1;margin:0;color:inherit}
.bb-wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.bb-wrap-md{max-width:1080px;margin:0 auto;padding:0 32px}
.bb-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--bb-gold-dark);font-weight:700}
.bb-eyebrow--gold{color:var(--bb-gold)}
.bb-btn{display:inline-block;padding:16px 32px;border-radius:999px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:none;transition:all .2s;text-align:center}
.bb-btn--gold{background:var(--bb-gold);color:var(--bb-dark)}
.bb-btn--gold:hover{background:var(--bb-gold-light);color:var(--bb-dark)}
.bb-btn--dark{background:var(--bb-dark);color:var(--bb-cream)}
.bb-btn--dark:hover{background:var(--bb-gold);color:var(--bb-dark)}
.bb-btn--ghost{border:1px solid rgba(250,249,245,.3);background:rgba(250,249,245,.06);color:var(--bb-cream)}
.bb-btn--ghost:hover{background:rgba(250,249,245,.14);color:var(--bb-cream)}
.bb-btn--outline{border:1px solid rgba(28,26,23,.18);background:transparent;color:var(--bb-ink)}
.bb-btn--wa{background:var(--wa);color:var(--wa-ink)}
.bb-btn--wa:hover{background:#3BE07C;color:var(--wa-ink)}
.bb-btn--rose{background:var(--mk-rose);color:#fff}
.bb-btn--rose:hover{background:var(--mk-rose-dark);color:#fff}

/* Header */
.bb-header{position:sticky;top:0;z-index:60;background:rgba(28,26,23,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,175,55,.25)}
.bb-header__in{max-width:1280px;margin:0 auto;padding:0 32px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.bb-logo{display:flex;align-items:center;gap:12px}
.bb-logo img{height:48px;width:auto;border-radius:8px;display:block}
.bb-logo__name{display:flex;flex-direction:column;line-height:1.15}
.bb-logo__title{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:.06em;color:var(--bb-cream)}
.bb-logo__sub{font-family:var(--mono);font-size:9px;letter-spacing:.32em;color:var(--bb-gold);text-transform:uppercase}
.bb-nav{display:flex;align-items:center;gap:28px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.bb-nav a{color:rgba(250,249,245,.75)}
.bb-nav a:hover,.bb-nav .current-menu-item a,.bb-nav a.is-active{color:var(--bb-gold)}
.bb-nav .bb-nav__cta{background:var(--bb-gold);color:var(--bb-dark);padding:12px 24px;border-radius:999px;font-weight:700}
.bb-nav .bb-nav__cta:hover{background:var(--bb-gold-light);color:var(--bb-dark)}
.bb-burger{display:none;background:none;border:1px solid rgba(250,249,245,.3);color:var(--bb-cream);border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer}
/* Nav dropdowns (Hair / Nails) */
.bb-drop{position:relative;display:flex;align-items:center}
.bb-drop__trigger{display:flex;align-items:center;gap:5px;cursor:pointer}
.bb-drop__caret{font-size:8px;transition:transform .2s;opacity:.7}
.bb-drop:hover .bb-drop__caret,.bb-drop.is-open .bb-drop__caret,.bb-drop:focus-within .bb-drop__caret{transform:rotate(180deg)}
.bb-drop__menu{position:absolute;top:calc(100% + 14px);left:0;min-width:270px;background:#fff;border:1px solid rgba(28,26,23,.1);border-radius:16px;box-shadow:0 22px 60px rgba(28,26,23,.22);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s;z-index:70;text-transform:none;letter-spacing:normal}
.bb-drop__menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.bb-drop:hover .bb-drop__menu,.bb-drop.is-open .bb-drop__menu,.bb-drop:focus-within .bb-drop__menu{opacity:1;visibility:visible;transform:translateY(0)}
.bb-drop__head{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--bb-faint);font-weight:700;padding:8px 12px 6px;border-bottom:1px solid rgba(28,26,23,.07);margin-bottom:4px}
.bb-drop__item{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:10px;color:var(--bb-ink)!important}
.bb-drop__item:hover{background:var(--bb-cream)}
.bb-drop__name{font-family:var(--sans);font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal}
.bb-drop__item:hover .bb-drop__name{color:var(--bb-gold-dark)}
.bb-drop__price{font-family:var(--mono);font-size:10px;color:var(--bb-faint);text-transform:none}
.bb-drop__price--mk{color:var(--mk-rose-dark)}
.bb-drop__all{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin-top:4px;border-top:1px solid rgba(28,26,23,.07);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bb-gold-dark)!important}
.bb-drop__all:hover{color:var(--bb-gold)!important}
.bb-drop__all--mk{color:var(--mk-rose-dark)!important}
.bb-drop__all--mk:hover{color:var(--mk-rose)!important}
/* Mega dropdown (grouped service columns) */
.bb-drop__menu--mega{min-width:440px;max-width:min(640px,calc(100vw - 40px));left:50%;transform:translate(-50%,8px)}
.bb-drop.is-open .bb-drop__menu--mega,.bb-drop:hover .bb-drop__menu--mega,.bb-drop:focus-within .bb-drop__menu--mega{transform:translate(-50%,0)}
.bb-drop--mk .bb-drop__menu--mega{left:auto;right:0;transform:translateY(8px)}
.bb-drop--mk.is-open .bb-drop__menu--mega,.bb-drop--mk:hover .bb-drop__menu--mega,.bb-drop--mk:focus-within .bb-drop__menu--mega{transform:translateY(0)}
.bb-mega{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:2px 14px;padding:2px}
.bb-mega--nails{grid-template-columns:repeat(3,minmax(130px,1fr))}
.bb-mega__col .bb-drop__head{margin-top:4px}
.bb-mega__col .bb-drop__item{padding:7px 12px}

/* Page hero strip */
.bb-pagehero{background:var(--bb-dark);padding:64px 32px;border-bottom:1px solid rgba(212,175,55,.25)}
.bb-pagehero h1{font-weight:500;font-size:clamp(38px,4.6vw,58px);color:var(--bb-cream);margin:10px 0}
.bb-pagehero p{margin:0;max-width:600px;font-size:14px;color:rgba(250,249,245,.65)}

/* Home hero */
.bb-hero{position:relative;min-height:92vh;background:var(--bb-dark);overflow:hidden;display:flex;align-items:center}
.bb-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:bbKenburns 18s ease-out infinite alternate}
.bb-hero__shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(28,26,23,.94) 0%,rgba(28,26,23,.72) 45%,rgba(28,26,23,.35) 100%)}
.bb-hero__in{position:relative;z-index:2;width:100%;padding:120px 0}
.bb-hero h1{font-weight:600;font-size:clamp(44px,6vw,78px);line-height:1.04;color:var(--bb-cream);text-wrap:balance}
.bb-hero h1 em{color:var(--bb-gold);font-style:italic}
.bb-hero__lead{max-width:520px;font-size:15px;color:rgba(250,249,245,.72)}
.bb-hero__stats{display:flex;flex-wrap:wrap;gap:20px 0;margin-top:18px;border-top:1px solid rgba(212,175,55,.28);padding-top:22px}
.bb-hero__stat{padding:0 32px;border-right:1px solid rgba(250,249,245,.14)}
.bb-hero__stat:first-child{padding-left:0}
.bb-hero__stat:last-child{border-right:none}
.bb-hero__stat b{display:block;font-family:var(--serif);font-size:26px;font-weight:600;color:var(--bb-gold)}
.bb-hero__stat span{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,249,245,.55)}
@keyframes bbKenburns{0%{transform:scale(1)}100%{transform:scale(1.12)}}

/* Sections */
.bb-section{padding:96px 32px}
.bb-section--white{background:#fff}
.bb-section--dark{background:var(--bb-dark)}
.bb-section--darker{background:var(--bb-darker)}
.bb-sechead{text-align:center;display:flex;flex-direction:column;gap:12px;margin-bottom:56px}
.bb-sechead h2{font-weight:500;font-size:clamp(34px,4vw,52px)}
.bb-section--dark h2,.bb-section--dark h3{color:var(--bb-cream)}

/* Cards */
.bb-grid{display:grid;gap:24px}
.bb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bb-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bb-card{background:#fff;border:1px solid rgba(28,26,23,.09);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .3s}
.bb-card:hover{box-shadow:0 20px 50px rgba(28,26,23,.12)}
.bb-card__img{height:230px;background:#eee;background-size:cover;background-position:center}
.bb-card__body{padding:28px;display:flex;flex-direction:column;gap:14px;flex:1}
.bb-card__body h3{font-size:26px}
.bb-price-pill{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--bb-gold-dark);background:rgba(212,175,55,.12);padding:4px 10px;border-radius:999px;white-space:nowrap}
.bb-card p{margin:0;font-size:13px;color:var(--bb-muted);flex:1}
.bb-card__actions{display:flex;gap:10px;border-top:1px solid rgba(28,26,23,.08);padding-top:16px}
.bb-card__actions .bb-btn{flex:1;padding:13px 0;font-size:10px}
.bb-wa-mini{width:44px;height:44px;border-radius:999px;border:1px solid rgba(28,26,23,.15);display:flex;align-items:center;justify-content:center;color:var(--wa);font-weight:700;font-size:16px;flex-shrink:0}
.bb-wa-mini:hover{background:rgba(37,211,102,.1)}

/* FAQ */
.bb-faq{background:#fff;border:1px solid rgba(28,26,23,.1);border-radius:14px;padding:0 24px;margin-bottom:12px}
.bb-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--serif);font-size:20px;font-weight:600}
.bb-faq summary::-webkit-details-marker{display:none}
.bb-faq summary::after{content:"+";color:var(--bb-gold);font-size:20px;transition:transform .25s}
.bb-faq[open] summary::after{transform:rotate(45deg)}
.bb-faq p{margin:0;padding:0 0 22px;font-size:13.5px;color:var(--bb-muted)}

/* Forms */
.bb-form{background:#fff;border:1px solid rgba(28,26,23,.1);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:22px}
.bb-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bb-muted);font-weight:700;display:block;margin-bottom:8px}
.bb-input,.bb-form select,.bb-form textarea{width:100%;border:1px solid rgba(28,26,23,.18);border-radius:12px;padding:14px 16px;font-size:13.5px;font-family:var(--sans);background:#fff;color:var(--bb-ink);outline:none}
.bb-input:focus,.bb-form select:focus,.bb-form textarea:focus{border-color:var(--bb-gold);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.bb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bb-form-note{font-size:11px;color:var(--bb-faint);text-align:center;margin:0}
.bb-form-success{border:1px solid rgba(212,175,55,.5);background:#fff;border-radius:24px;padding:56px 44px;text-align:center}

/* Footer */
.bb-footer{background:var(--bb-darker);color:rgba(250,249,245,.7)}
.bb-footer__grid{max-width:1280px;margin:0 auto;padding:72px 32px 40px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:48px}
.bb-footer h4{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--bb-gold);margin:0 0 14px}
.bb-footer a{color:rgba(250,249,245,.7);display:block;font-size:13px;margin-bottom:12px}
.bb-footer a:hover{color:var(--bb-gold)}
.bb-footer__bar{border-top:1px solid rgba(250,249,245,.08);padding:20px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:rgba(250,249,245,.4);max-width:1280px;margin:0 auto}

/* Floating widgets */
.bb-float{position:fixed;bottom:24px;right:24px;z-index:80;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.bb-float__btn{width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;box-shadow:0 10px 30px rgba(28,26,23,.35);border:none}
.bb-float__wa{background:var(--wa);color:var(--wa-ink);font-weight:700}
.bb-float__wa:hover{background:#3BE07C;color:var(--wa-ink)}
.bb-float__chat{background:var(--bb-dark);border:1px solid rgba(212,175,55,.5);color:var(--bb-gold);font-size:20px}

/* Chatbot */
.bb-chat{width:340px;max-width:calc(100vw - 48px);background:#fff;border:1px solid rgba(28,26,23,.12);border-radius:20px;box-shadow:0 24px 60px rgba(28,26,23,.28);overflow:hidden;display:none}
.bb-chat.is-open{display:block}
@media (max-width:600px){.bb-chat{position:fixed;bottom:150px;right:16px;left:16px;width:auto;max-height:70vh}}
.bb-chat__head{background:var(--bb-dark);padding:16px 20px;display:flex;justify-content:space-between;align-items:center}
.bb-chat__head b{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--bb-gold);display:block}
.bb-chat__head small{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,249,245,.5)}
.bb-chat__close{background:none;border:none;color:rgba(250,249,245,.6);font-size:18px;cursor:pointer}
.bb-chat__log{padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--bb-cream);height:280px;overflow-y:auto}
.bb-chat__msg{max-width:85%;border-radius:14px;padding:12px 14px;font-size:12.5px;line-height:1.6}
.bb-chat__msg--bot{align-self:flex-start;background:#fff;border:1px solid rgba(28,26,23,.1);border-radius:14px 14px 14px 4px}
.bb-chat__msg--user{align-self:flex-end;background:var(--bb-dark);color:var(--bb-cream);border-radius:14px 14px 4px 14px}
.bb-chat__form{border-top:1px solid rgba(28,26,23,.08);padding:12px 14px;display:flex;gap:10px;background:#fff}
.bb-chat__form input{flex:1;border:1px solid rgba(28,26,23,.15);border-radius:999px;padding:10px 16px;font-size:12px;outline:none}
.bb-chat__form button{background:var(--bb-gold);border:none;border-radius:999px;width:38px;height:38px;cursor:pointer;color:var(--bb-dark);font-weight:700}

/* Honeypot (spam trap) — visually gone, still in the DOM for bots */
.bb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Mobile sticky bar */
.bb-mobilebar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:75;background:rgba(28,26,23,.97);border-top:1px solid rgba(212,175,55,.3);padding:10px 14px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:10px}
.bb-mobilebar .bb-btn{padding:14px 0;font-size:10px}

/* MK Dash page modifiers */
.mk-body{background:var(--mk-cream);color:var(--mk-ink)}
.mk-header{background:rgba(255,255,255,.95);border-bottom:1px solid rgba(188,143,130,.3)}
.mk-header .bb-nav a{color:#6B5A53}
.mk-header .bb-nav a:hover{color:var(--mk-rose)}
.mk-header .bb-nav__cta{background:var(--mk-ink);color:var(--mk-cream)}
.mk-hero{background:linear-gradient(160deg,#FBF7F5 55%,#F3E4DE);padding:88px 32px}
.mk-card{background:#fff;border:1px solid rgba(188,143,130,.28);border-radius:20px;padding:28px}
.mk-card:hover{box-shadow:0 18px 44px rgba(188,143,130,.22)}

/* Blog */
.bb-post-card__img{height:190px;background:#eee;background-size:cover;background-position:center}
.bb-post-meta{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--bb-faint)}
.bb-article{max-width:760px;margin:0 auto;padding:64px 32px;font-size:15.5px;line-height:1.85;color:#33302B}
.bb-article h2{font-size:30px;margin:36px 0 14px}
.bb-article img{border-radius:16px}

@media (max-width:900px){
  .bb-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bb-dark);flex-direction:column;padding:24px 32px;gap:20px;align-items:flex-start;border-bottom:1px solid rgba(212,175,55,.3);max-height:calc(100vh - 76px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .bb-nav.is-open{display:flex}
  .bb-burger{display:block}
  .bb-drop{display:block;width:100%}
  .bb-drop__menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;min-width:0;width:100%;background:rgba(255,255,255,.05);border-color:rgba(212,175,55,.2);margin-top:10px;display:none}
  .bb-drop__menu--mega{min-width:0;max-width:none;left:auto;transform:none!important}
  .bb-drop--mk .bb-drop__menu--mega{right:auto}
  .bb-mega,.bb-mega--nails{grid-template-columns:1fr;gap:0}
  .bb-drop.is-open .bb-drop__menu{display:block}
  .bb-drop__menu::before{display:none}
  .bb-drop__head{color:var(--bb-gold)}
  .bb-drop__item{color:var(--bb-cream)!important}
  .bb-drop__item:hover{background:rgba(255,255,255,.06)}
  .bb-drop__name{color:var(--bb-cream)}
  .bb-drop__price{color:rgba(250,249,245,.5)}
  .bb-grid--3,.bb-grid--4,.bb-form-row{grid-template-columns:1fr}
  .bb-grid--4{grid-template-columns:1fr 1fr}
  .bb-footer__grid{grid-template-columns:1fr 1fr}
  .bb-hero__stat{padding:0 16px}
  .bb-hero__stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}
  .bb-hero__stat{padding:0;border-right:none}
  .bb-mobilebar{display:grid}
  .bb-float{bottom:88px}
  body{padding-bottom:70px}
  .bb-section{padding:64px 20px}
  .bb-wrap,.bb-wrap-md,.bb-header__in{padding-left:20px;padding-right:20px}
}

/* bb-hero-stats-desktop-fix 2026-10-09: keep the 4 hero stats on one row on desktop. Mobile (<=900px) unchanged. */
@media (min-width:901px){
  .bb-hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
  .bb-hero__stat{padding:0 24px;min-width:0}
  .bb-hero__stat:first-child{padding-left:0}
}

/* bb-footer-areas-fix 2026-10-11: keep the footer "Areas" links on one line */
.bb-footer .bb-footer__areas{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 6px;font-size:12px}
.bb-footer .bb-footer__areas a{display:inline!important;margin:0!important;padding:0!important}
