/* ==========================================================================
   BeauTome — global design system
   White canvas · brand yellow #FFD02F · ink black #1C1C1E
   ========================================================================== */

:root{
  --bt-yellow:#FFD02F;
  --bt-yellow-dark:#C9A400;
  --bt-yellow-deep:#746019;
  --bt-cream:#FFF8E0;
  --bt-black:#1C1C1E;
  --bt-ink:#18191C;
  --bt-body:#555A6A;
  --bt-muted:#8E91A0;
  --bt-soft:#C9CCD6;
  --bt-gray:#F7F8FA;
  --bt-line:#E8EAEF;
  --bt-radius:16px;
  --bt-max:1180px;
}

/* ---------- typography ---------- */
body, .entry-content, .site{
  font-family:"Manrope","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--bt-body);
  -webkit-font-smoothing:antialiased;
}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4{
  color:var(--bt-ink); margin:0; font-weight:700; letter-spacing:-0.02em;
}
.entry-content p{ color:var(--bt-body); }

/* hide the theme's own page title — every page carries a designed header */
.page-header,.entry-header,.entry-title{ display:none !important; }

/* ---------- header ---------- */
.site-header{ background:#fff; border-bottom:1px solid var(--bt-line); }
.site-header .site-branding,
.site-header .site-title{ font-weight:800; }
.site-header .site-title a{ color:var(--bt-ink) !important; font-size:20px; letter-spacing:-0.02em; }
.site-header .site-description{ display:none; }
.site-header .header-inner,.site-header > .site-branding{ max-width:var(--bt-max); margin:0 auto; }
.site-header .header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:16px 24px; width:100%; box-sizing:border-box;
}
.site-header .site-navigation{ flex:1; display:flex; justify-content:flex-end; }
.site-header .site-navigation ul.menu{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin:0; padding:0; list-style:none; }
.site-header .site-navigation ul.menu > li{ position:relative; }
.site-header .site-navigation ul.menu > li > a{ padding:10px 14px; display:inline-block; }
.site-header nav ul li a{ color:var(--bt-ink); font-weight:600; font-size:15px; text-decoration:none; }
.site-header nav ul li a:hover{ color:var(--bt-yellow-dark); }
.site-header .menu-toggle{ display:none; }
.site-header ul.menu li.menu-item-has-children ul.sub-menu{
  position:absolute; left:0; top:100%; background:#fff; border:1px solid var(--bt-line);
  border-radius:12px; padding:8px; min-width:220px; box-shadow:0 12px 30px rgba(0,0,0,.10); z-index:99;
}
.site-header ul.menu li.menu-item-has-children ul.sub-menu li a{ padding:9px 12px; display:block; }
.bt-menu-cta a{ padding:11px 20px !important; margin-left:8px; }
@media(max-width:760px){
  .site-header .site-navigation ul.menu{ flex-direction:column; align-items:stretch; }
}

/* ---------- layout helpers ---------- */
/* neutralise the theme container so designed sections can run full width */
.page .site-main,.single-page .site-main{ padding:0 !important; margin:0 !important; max-width:none !important; width:100%; }
.page .entry-content,.page .page-content,.single-page .entry-content{
  padding:0 !important; margin:0 !important; max-width:none !important; width:100%;
}
.page .post-inner{ padding:0 !important; margin:0 !important; max-width:none !important; }
.bt-wrap{ max-width:var(--bt-max); margin:0 auto; padding:0 24px; }
.bt-bleed{ width:100%; }
.bt-sec{ padding:76px 0; }
.bt-sec--tight{ padding:56px 0; }
.bt-cream{ background:var(--bt-cream); }
.bt-dark{ background:var(--bt-black); color:#fff; }
.bt-gray{ background:var(--bt-gray); }

/* ---------- atoms ---------- */
.bt-eyebrow{
  display:block; font-size:11px; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--bt-yellow-dark); margin-bottom:14px;
}
.bt-h1{ font-size:clamp(30px,4.6vw,54px); line-height:1.06; font-weight:800; }
.bt-h2{ font-size:clamp(24px,3vw,36px); line-height:1.15; font-weight:800; }
.bt-h3{ font-size:19px; line-height:1.3; font-weight:700; }
.bt-lead{ font-size:17px; line-height:1.65; color:var(--bt-body); max-width:720px; }
.bt-small{ font-size:14px; line-height:1.6; color:var(--bt-muted); }

.bt-pill{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--bt-black); color:#fff; border-radius:999px;
  padding:8px 16px; font-size:12px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:20px;
}
.bt-chip{
  display:inline-flex; align-items:center; background:#fff; border:1px solid var(--bt-line);
  border-radius:999px; padding:10px 18px; font-size:13px; font-weight:600; color:var(--bt-ink);
  margin:0 10px 10px 0;
}
.bt-chip--dark{ background:var(--bt-black); color:#fff; border-color:var(--bt-black); }

/* buttons — WordPress gives every link a class, so force the look */
.entry-content a.bt-btn,
.bt-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 28px; border-radius:999px; font-size:15px; font-weight:700;
  text-decoration:none; line-height:1; transition:.18s ease; border:1px solid transparent;
}
.bt-btn--primary{ background:var(--bt-yellow); color:var(--bt-black) !important; }
.bt-btn--primary:hover{ background:#FFC400; transform:translateY(-1px); }
.bt-btn--dark{ background:var(--bt-black); color:#fff !important; }
.bt-btn--dark:hover{ background:#000; transform:translateY(-1px); }
.bt-btn--ghost{ background:#fff; color:var(--bt-black) !important; border-color:#D9DCE3; }
.bt-btn--ghost:hover{ border-color:var(--bt-black); }
.bt-btn--light{ background:#fff; color:var(--bt-black) !important; }
.bt-btn--onDark{ background:var(--bt-yellow); color:var(--bt-black) !important; }
.bt-btnrow{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

/* ---------- cards & grids ---------- */
.bt-grid{ display:grid; gap:20px; }
.bt-grid--2{ grid-template-columns:repeat(2,1fr); }
.bt-grid--3{ grid-template-columns:repeat(3,1fr); }
.bt-grid--4{ grid-template-columns:repeat(4,1fr); }
.bt-grid--5{ grid-template-columns:repeat(5,1fr); }
@media(max-width:1080px){ .bt-grid--5{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:980px){ .bt-grid--3,.bt-grid--4{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .bt-grid--2,.bt-grid--3,.bt-grid--4,.bt-grid--5{ grid-template-columns:1fr; } }

.bt-card{
  background:var(--bt-gray); border-radius:var(--bt-radius); padding:28px;
  border:1px solid transparent;
}
.bt-card--white{ background:#fff; border-color:var(--bt-line); }
.bt-card--cream{ background:var(--bt-cream); }
.bt-card--dark{ background:var(--bt-black); color:#fff; }
.bt-card--dark h3,.bt-card--dark h4{ color:#fff; }
.bt-card h3{ margin:0 0 8px; }
.bt-card p{ margin:0; font-size:14.5px; line-height:1.62; }
.bt-card--link{ display:block; text-decoration:none; transition:.18s ease; }
.bt-card--link:hover{ transform:translateY(-3px); border-color:var(--bt-yellow); }

/* ---------- product cards ---------- */
.bt-prod{
  background:#fff; border:1px solid var(--bt-line); border-radius:var(--bt-radius);
  overflow:hidden; display:flex; flex-direction:column;
}
.bt-prod__media{
  background:var(--bt-gray); aspect-ratio:1/1; display:flex; align-items:center;
  justify-content:center; padding:18px;
}
.bt-prod__media img{ width:100%; height:100%; object-fit:contain; display:block; }
.bt-prod__body{ padding:20px 22px 24px; }
.bt-prod__model{ font-size:11px; font-weight:800; letter-spacing:.12em; color:var(--bt-yellow-dark); text-transform:uppercase; }
.bt-prod__name{ font-size:17px; font-weight:700; color:var(--bt-ink); margin:6px 0 8px; }
.bt-prod__desc{ font-size:13.5px; line-height:1.6; color:var(--bt-body); margin:0; }
.bt-prod__spec{
  margin-top:14px; padding-top:14px; border-top:1px solid var(--bt-line);
  font-size:12.5px; color:var(--bt-muted); line-height:1.7;
}

/* ---------- hero ---------- */
.bt-hero{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:72px 0; }
@media(max-width:980px){ .bt-hero{ grid-template-columns:1fr; padding:52px 0; } }
.bt-hero__img img{ width:100%; height:auto; border-radius:20px; display:block; }

/* ---------- stats ---------- */
.bt-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--bt-line); }
@media(max-width:860px){ .bt-stats{ grid-template-columns:repeat(2,1fr); } }
.bt-stat{ background:#fff; padding:32px 24px; }
.bt-stat__num{ font-size:30px; font-weight:800; color:var(--bt-ink); letter-spacing:-0.02em; }
.bt-stat__lbl{ font-size:13px; color:var(--bt-muted); margin-top:6px; line-height:1.5; }

/* ---------- table ---------- */
.bt-tablewrap{ overflow-x:auto; border-radius:var(--bt-radius); border:1px solid var(--bt-line); }
table.bt-table{ width:100%; border-collapse:collapse; background:#fff; min-width:680px; }
table.bt-table th{
  background:var(--bt-black); color:#fff; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; text-align:left; padding:16px 20px; font-weight:700;
}
table.bt-table th:last-child{ background:var(--bt-yellow); color:var(--bt-black); }
table.bt-table td{ padding:16px 20px; font-size:14px; line-height:1.6; border-top:1px solid var(--bt-line); vertical-align:top; }
table.bt-table td:first-child{ font-weight:700; color:var(--bt-ink); width:170px; }
table.bt-table tr:nth-child(even) td{ background:#FCFCFD; }

table.bt-spec{ width:100%; border-collapse:collapse; }
table.bt-spec td{ padding:13px 18px; font-size:14px; border-bottom:1px solid var(--bt-line); line-height:1.6; }
table.bt-spec td:first-child{ width:230px; color:var(--bt-muted); font-weight:600; }
table.bt-spec tr:last-child td{ border-bottom:none; }

/* ---------- comparison / feature list ---------- */
.bt-check{ list-style:none; padding:0; margin:0; }
.bt-check li{ position:relative; padding-left:26px; margin-bottom:10px; font-size:14.5px; line-height:1.6; color:var(--bt-body); }
.bt-check li:before{
  content:""; position:absolute; left:0; top:7px; width:14px; height:14px; border-radius:50%;
  background:var(--bt-yellow);
}

/* ---------- contact ---------- */
.bt-contact a{ color:var(--bt-yellow); text-decoration:none; }
.bt-contact{ display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:start; }
@media(max-width:900px){ .bt-contact{ grid-template-columns:1fr; } }
.bt-contactrow{ font-size:15px; line-height:1.9; color:var(--bt-soft); }
.bt-contactrow strong{ color:#fff; display:inline-block; min-width:110px; font-weight:700; }

/* ---------- breadcrumb ---------- */
.bt-crumb{ font-size:13px; color:var(--bt-muted); margin-bottom:18px; }
.bt-crumb a{ color:var(--bt-muted); text-decoration:none; }
.bt-crumb a:hover{ color:var(--bt-yellow-dark); }

/* ---------- gallery ---------- */
.bt-gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.bt-gallery img{ width:100%; height:100%; object-fit:cover; border-radius:14px; display:block; background:var(--bt-gray); }
.bt-gallery__main{ grid-column:1 / -1; }
.bt-gallery__main img{ aspect-ratio:16/10; object-fit:contain; background:var(--bt-gray); }

/* ---------- misc ---------- */
.bt-split{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; }
@media(max-width:900px){ .bt-split{ grid-template-columns:1fr; gap:28px; } }
.bt-divider{ height:1px; background:var(--bt-line); border:0; margin:56px 0; }

/* ---------- footer ---------- */
.site-footer{ display:none !important; }
.bt-footer{ background:var(--bt-black); color:var(--bt-soft); }
.bt-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;
  padding-top:56px; padding-bottom:44px;
}
@media(max-width:900px){ .bt-footer__grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .bt-footer__grid{ grid-template-columns:1fr; } }
.bt-footer__brand{ font-size:22px; font-weight:800; color:#fff; letter-spacing:-0.02em; }
.bt-footer__blurb{ font-size:14px; line-height:1.7; margin:12px 0 10px; }
.bt-footer__meta{ font-size:12.5px; color:#8E91A0; margin:0; }
.bt-footer__head{ font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#FFD02F; margin-bottom:14px; }
.bt-footer__list{ list-style:none; margin:0; padding:0; }
.bt-footer__list li{ font-size:14px; line-height:2; }
.bt-footer__list a{ color:var(--bt-soft); text-decoration:none; }
.bt-footer__list a:hover{ color:var(--bt-yellow); }
.bt-footer__bar{ border-top:1px solid rgba(255,255,255,.10); padding:18px 0; font-size:12.5px; color:#8E91A0; }

/* ---------- WooCommerce catalog mode polish ---------- */
.woocommerce ul.products li.product .button,
.woocommerce .price,
.woocommerce-Price-amount{ display:none !important; }

/* ==========================================================================
   v1.1 — sticky header nav + feature media frames
   ========================================================================== */

.bt-media{ border-radius:18px; overflow:hidden; background:var(--bt-gray); box-shadow:0 14px 34px rgba(28,28,30,.10); }
.bt-media img{ width:100%; display:block; aspect-ratio:1/1; object-fit:cover; }

.bt-nav{ position:sticky; top:0; z-index:999; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--bt-line); }
.bt-nav__in{ max-width:var(--bt-max); margin:0 auto; padding:0 24px; min-height:64px; display:flex; align-items:center; gap:20px; }
.bt-nav__logo{ font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--bt-ink); text-decoration:none; display:flex; align-items:center; }
.bt-nav__logo span{ background:var(--bt-yellow); color:var(--bt-ink); border-radius:7px; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; margin-right:9px; font-size:15px; }
.bt-nav__links{ display:flex; align-items:center; gap:2px; margin-left:auto; list-style:none; margin-bottom:0; padding-left:0; }
.bt-nav__links a{ padding:10px 14px; font-weight:600; font-size:15px; color:var(--bt-ink); text-decoration:none; border-radius:8px; display:block; }
.bt-nav__links a:hover{ background:var(--bt-cream); color:var(--bt-yellow-dark); }
.bt-nav__links > li{ position:relative; }
.bt-nav__sub > ul{ display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--bt-line); border-radius:12px; padding:8px; min-width:250px; box-shadow:0 14px 34px rgba(28,28,30,.12); list-style:none; margin:0; z-index:1000; }
.bt-nav__sub:hover > ul, .bt-nav__sub:focus-within > ul{ display:block; }
.bt-nav__sub ul a{ padding:9px 12px; font-size:14px; font-weight:600; white-space:nowrap; }
.bt-menu-cta a{ padding:11px 20px !important; margin-left:8px; border-radius:10px !important; }
.bt-nav__t{ display:none; }
.bt-nav__burger{ display:none; margin-left:auto; width:40px; height:40px; border:1px solid var(--bt-line); border-radius:10px; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.bt-nav__burger span{ display:block; width:18px; height:2px; background:var(--bt-ink); border-radius:2px; }
@media(max-width:860px){
  .bt-nav__links{ display:none; position:absolute; top:64px; left:0; right:0; background:#fff; border-bottom:1px solid var(--bt-line); flex-direction:column; align-items:stretch; padding:12px 24px 20px; gap:2px; box-shadow:0 18px 30px rgba(28,28,30,.08); }
  .bt-nav__t:checked ~ .bt-nav__links{ display:flex; }
  .bt-nav__burger{ display:flex; }
  .bt-nav__sub > ul{ position:static; display:block; border:0; box-shadow:none; padding-left:14px; min-width:0; }
  .bt-menu-cta a{ display:inline-block; margin:10px 0 0; }
}

/* ==========================================================================
   v1.2 — enquiry form
   ========================================================================== */

.bt-form{ display:grid; gap:13px; padding:26px; }
.bt-form label{ font-size:13px; font-weight:700; color:var(--bt-ink); }
.bt-form input,
.bt-form select,
.bt-form textarea{ width:100%; padding:11px 12px; border:1px solid var(--bt-line); border-radius:10px; font:inherit; font-size:14.5px; background:#fff; color:var(--bt-ink); box-sizing:border-box; }
.bt-form input:focus,
.bt-form select:focus,
.bt-form textarea:focus{ outline:none; border-color:var(--bt-yellow-dark); box-shadow:0 0 0 3px rgba(255,208,47,.25); }
.bt-form textarea{ resize:vertical; }
.bt-form .bt-btn{ justify-self:start; border:0; cursor:pointer; }
.bt-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.bt-form__row > div{ display:grid; gap:6px; }
@media(max-width:640px){ .bt-form__row{ grid-template-columns:1fr; } }

/* ==========================================================================
   v1.3 — WhatsApp floating bubble + nav catalogue link
   ========================================================================== */

.bt-wa-fab{ position:fixed; right:20px; bottom:20px; z-index:9999; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.28); transition:transform .15s ease, box-shadow .15s ease; }
.bt-wa-fab:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 14px 32px rgba(0,0,0,.34); }
.bt-wa-fab svg{ display:block; }
@media(max-width:640px){ .bt-wa-fab{ right:14px; bottom:14px; width:52px; height:52px; } }
@media print{ .bt-wa-fab{ display:none; } }

.bt-nav__cat{ color:var(--bt-body) !important; }
@media(max-width:860px){ .bt-nav__cat{ display:none; } }

/* ==========================================================================
   v1.4 — dual-line salon positioning
   ========================================================================== */

.bt-nav__logo em{ font-style:normal; color:var(--bt-yellow-dark); }
.bt-nav__tag{ font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--bt-muted); margin-left:12px; padding-left:12px; border-left:1px solid var(--bt-line); }
@media(max-width:1080px){ .bt-nav__tag{ display:none; } }

.bt-duo{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media(max-width:900px){ .bt-duo{ grid-template-columns:1fr; } }
.bt-duo__card{
  background:#fff; border:1px solid var(--bt-line); border-radius:20px; overflow:hidden;
  display:flex; flex-direction:column; transition:.18s ease;
}
.bt-duo__card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(28,28,30,.10); border-color:var(--bt-yellow); }
.bt-duo__media{ aspect-ratio:16/10; background:var(--bt-gray); overflow:hidden; }
.bt-duo__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.bt-duo__body{ padding:26px 28px 30px; display:flex; flex-direction:column; flex:1; }
.bt-duo__kicker{ font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--bt-yellow-dark); margin-bottom:8px; }
.bt-duo__body h3{ margin:0 0 12px; font-size:21px; }
.bt-duo__body .bt-check{ margin:6px 0 22px; }
.bt-duo__body .bt-btnrow{ margin-top:auto; }

.bt-form__check{ display:grid; gap:8px; }
.bt-form__check span{ display:flex; align-items:center; gap:10px; font-size:14px; color:var(--bt-body); font-weight:600; }
.bt-form__check input[type="checkbox"]{ width:17px; height:17px; accent-color:#1C1C1E; padding:0; }
.bt-form legend{ font-size:13px; font-weight:700; color:var(--bt-ink); padding:0; margin-bottom:2px; }
