/*
Theme Name: KefasPress Starter Beauty v1
Description: KefasPress Starter v1 Beauty theme converted from Lovable. Soft luxury Beauty design with KefasPress architecture.
Version: 1.0.1
*/

:root{
  --bg:#FFF8F5;
  --cream:#FAEFE8;
  --blush:#E8B7AD;
  --rose:#C98B7C;
  --cocoa:#2B1E1B;
  --taupe:#8A6F66;
  --dark:#3A2520;
  --white:#FFFFFF;
  --border:#E8D7CF;
  --shadow:0 30px 60px -30px rgba(43,30,27,.18);
  --shadow-soft:0 10px 40px -20px rgba(43,30,27,.12);
  --serif:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --sans:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--cocoa);font-family:var(--sans);font-size:16px;line-height:1.7;letter-spacing:.005em;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.lb-container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.lb-site{background:var(--bg)}
.lb-eyebrow{font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;color:var(--rose);font-weight:600;line-height:1;display:inline-block}
.lb-muted{color:var(--taupe)}
.lb-lede{font-size:1.08rem;line-height:1.75;color:var(--taupe);max-width:42rem}
.lb-serif-note{font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--rose)}
.lb-center{text-align:center;margin-top:34px}
.lb-header{position:sticky;top:0;z-index:1000;background:rgba(255,248,245,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(232,215,207,.75)}
.lb-header-inner{width:min(1180px,calc(100% - 40px));margin:0 auto;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.lb-logo{display:flex;align-items:baseline;gap:10px}
.lb-logo-main{font-family:var(--serif);font-size:1.85rem;font-weight:300;letter-spacing:-.03em;color:var(--cocoa)}
.lb-logo-sub{font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--rose);font-weight:600}
.lb-desktop-nav{display:flex;align-items:center;gap:32px}
.lb-desktop-nav a{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:rgba(43,30,27,.76);transition:.25s}
.lb-desktop-nav a:hover{color:var(--rose)}
.lb-header-cta{border:1px solid var(--cocoa);padding:10px 24px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--cocoa);transition:.25s}
.lb-header-cta:hover{background:var(--cocoa);color:var(--bg)}
.lb-menu-toggle{display:none;border:1px solid var(--border);background:rgba(255,255,255,.5);border-radius:999px;padding:12px 18px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cocoa)}
.lb-mobile-nav{display:none}
.lb-hero{background:linear-gradient(135deg,var(--bg),var(--cream));padding:90px 0 70px;position:relative;overflow:hidden}
.lb-hero:before{content:"";position:absolute;right:-15vw;top:12%;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(232,183,173,.45),transparent 65%);pointer-events:none}
.lb-hero-grid{display:grid;grid-template-columns:1fr .92fr;gap:76px;align-items:center;position:relative}
.lb-hero h1{font-family:var(--serif);font-size:clamp(3.25rem,7.6vw,7.5rem);line-height:.95;font-weight:300;letter-spacing:-.025em;margin:22px 0;color:var(--cocoa)}
.lb-hero-art{position:relative}
.lb-hero-art img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.lb-hero-note{position:absolute;left:-34px;bottom:34px;background:rgba(255,248,245,.92);backdrop-filter:blur(14px);border:1px solid rgba(232,215,207,.9);border-radius:22px;padding:18px 22px;box-shadow:var(--shadow-soft);max-width:250px}
.lb-hero-note strong{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:400}
.lb-hero-note span{font-size:.88rem;color:var(--taupe)}
.lb-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.lb-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 26px;font-size:.76rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;transition:.25s;border:1px solid transparent}
.lb-btn-dark{background:var(--cocoa);color:var(--bg)}
.lb-btn-dark:hover{background:var(--rose);color:#fff}
.lb-btn-light{background:var(--bg);color:var(--cocoa)}
.lb-btn-light:hover{background:#fff}
.lb-btn-outline{border-color:rgba(43,30,27,.26);color:var(--cocoa)}
.lb-btn-outline:hover,.lb-btn-outline-dark:hover{border-color:var(--rose);color:var(--rose)}
.lb-btn-outline-dark{border-color:rgba(43,30,27,.35);color:var(--cocoa);background:transparent}
.lb-link-btn{display:inline-flex;border:1px solid rgba(43,30,27,.3);border-radius:999px;padding:12px 22px;font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--cocoa);transition:.25s}
.lb-link-btn:hover{border-color:var(--rose);color:var(--rose)}
.lb-section{padding:clamp(4rem,9vw,7rem) 0}
.lb-soft{background:rgba(250,239,232,.58)}
.lb-section-head{margin-bottom:52px}
.lb-section-head.center{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.lb-section-head.split{display:flex;align-items:end;justify-content:space-between;gap:28px}
.lb-section h2,.lb-section-head h2,.lb-about h2,.lb-page-hero h1,.lb-cta h2{font-family:var(--serif);font-weight:300;letter-spacing:-.018em;line-height:1.04;color:var(--cocoa)}
.lb-section h2,.lb-section-head h2,.lb-about h2{font-size:clamp(2.35rem,4vw,4.5rem);margin:16px 0}
.lb-benefits{padding:42px 0;background:var(--bg)}
.lb-benefit-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:2px}
.lb-benefit-pill{flex:1 0 250px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:16px 24px;box-shadow:var(--shadow-soft)}
.lb-benefit-pill span{color:var(--rose)}
.lb-benefit-pill strong{font-size:.9rem;font-weight:600;color:var(--cocoa);white-space:nowrap}
.lb-trust{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(250,239,232,.55)}
.lb-trust-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 28px;padding:18px 0;font-size:.68rem;text-transform:uppercase;letter-spacing:.24em;color:var(--taupe)}
.lb-trust-row span:not(:last-child):after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--rose);margin-left:26px;vertical-align:middle}
.lb-about-grid{display:grid;grid-template-columns:.92fr 1fr;gap:76px;align-items:center}
.lb-about-img-wrap img{aspect-ratio:5/6;width:100%;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}
.lb-bullets{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.lb-bullets li{font-size:.92rem;color:var(--cocoa);display:flex;gap:10px;align-items:start}
.lb-bullets li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose);margin-top:10px;flex:0 0 auto}
.lb-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lb-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lb-soft-card,.lb-service-card,.lb-service-detail,.lb-review-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--shadow-soft)}
.lb-soft-card span{font-family:var(--serif);font-size:2.4rem;color:var(--rose)}
.lb-soft-card h3,.lb-service-card h3,.lb-service-detail h3{font-family:var(--serif);font-size:1.6rem;font-weight:400;margin:12px 0 8px;color:var(--cocoa)}
.lb-service-icon{font-size:1.8rem;color:var(--rose)}
.lb-service-card p,.lb-service-detail p,.lb-review-card p{color:var(--taupe)}
.lb-service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lb-service-detail a{display:inline-block;margin-top:16px;color:var(--rose);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.lb-ba-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lb-ba-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:14px;box-shadow:var(--shadow-soft)}
.lb-ba-frame{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:4/5;background:var(--cream);user-select:none}
.lb-ba-img,.lb-ba-before img{width:100%;height:100%;object-fit:cover}
.lb-ba-before{position:absolute;inset:0 auto 0 0;overflow:hidden}
.lb-ba-before img{width:calc(100% / var(--w, .5));max-width:none}
.lb-ba-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(43,30,27,.15);transform:translateX(-1px);cursor:ew-resize}
.lb-ba-handle span{position:absolute;top:50%;left:50%;width:34px;height:34px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:var(--shadow-soft)}
.lb-ba-label{position:absolute;top:12px;background:rgba(255,248,245,.82);border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:5px 10px;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em}
.lb-ba-label.left{left:12px}.lb-ba-label.right{right:12px}
.lb-ba-card h3{font-family:var(--serif);font-size:1.35rem;margin:16px 8px 4px}.lb-ba-card p{margin:0 8px 10px;color:var(--taupe);font-size:.92rem}
.lb-gallery-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.lb-gallery-preview img,.lb-gallery-full img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-soft)}
.lb-gallery-full{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lb-review-card{min-height:220px}.lb-stars{color:var(--rose);letter-spacing:.08em}.lb-review-card strong{display:block;margin-top:18px}.lb-review-card span{color:var(--taupe);font-size:.9rem}
.lb-faq-wrap{max-width:900px}.lb-faq-list{display:grid;gap:12px}.lb-faq-list details{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px 22px}.lb-faq-list summary{font-family:var(--serif);font-size:1.25rem;cursor:pointer}.lb-faq-list p{color:var(--taupe)}
.lb-cta{background:var(--cocoa);color:var(--bg);padding:70px 0;text-align:center}
.lb-cta.small{padding:60px 0}.lb-cta h2{color:var(--bg);font-size:clamp(2rem,4vw,4rem);margin:16px auto;max-width:780px}.lb-cta p{max-width:720px;margin:0 auto 28px;color:rgba(255,248,245,.78)}
.lb-page-hero{background:linear-gradient(135deg,var(--bg),var(--cream));padding:82px 0;text-align:center;border-bottom:1px solid var(--border)}
.lb-page-hero h1{font-size:clamp(3rem,6vw,6rem);margin:16px 0}.lb-page-hero p{max-width:720px;margin:0 auto;color:var(--taupe)}
.lb-contact-card{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;background:#fff;border:1px solid var(--border);border-radius:30px;padding:42px;box-shadow:var(--shadow)}
.lb-contact-card h2{font-family:var(--serif);font-size:clamp(2.35rem,4vw,4rem);line-height:1.05;margin:16px 0;color:var(--cocoa)}
.lb-contact-info{display:grid;gap:14px}.lb-contact-info article{background:var(--cream);border:1px solid var(--border);border-radius:18px;padding:18px}.lb-contact-info span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:var(--rose);margin-bottom:6px}.lb-contact-info strong{font-weight:600}
.lb-socials{display:flex;flex-wrap:wrap;gap:10px}.lb-socials a{border:1px solid rgba(255,248,245,.22);border-radius:999px;padding:7px 10px;font-size:.78rem}.lb-contact-info .lb-socials a{border-color:var(--border);color:var(--cocoa)}
.lb-form{display:grid;gap:14px;background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;max-width:720px;margin:0 auto}.lb-form label{display:grid;gap:8px;color:var(--taupe);font-size:.9rem}.lb-form input,.lb-form textarea,.lb-form select{width:100%;border:1px solid var(--border);border-radius:12px;padding:13px 14px;background:var(--bg);font:inherit;color:var(--cocoa)}.lb-form textarea{min-height:130px}
.lb-notice,.lb-empty{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;color:var(--taupe)}
.lb-footer{background:var(--cocoa);color:var(--bg);padding:70px 0 22px}.lb-footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:48px}.lb-footer p,.lb-footer a{color:rgba(255,248,245,.75)}.lb-footer h4{color:var(--blush);text-transform:uppercase;letter-spacing:.2em;font-size:.75rem}.lb-footer-grid a:not(.lb-logo){display:block;margin:8px 0}.lb-footer-logo .lb-logo-main{color:var(--bg)}.lb-bottom{border-top:1px solid rgba(255,248,245,.14);margin-top:44px;padding-top:18px;color:rgba(255,248,245,.55);font-size:.85rem}

/* Kefas Admin / Client Panel support */
.kp-panel-page,.kp-wp-wrap{font-family:var(--sans);color:var(--cocoa)}
.kp-panel-login{min-height:calc(100vh - 86px);display:grid;place-items:center;background:linear-gradient(135deg,var(--bg),var(--cream))}
.kp-login-card,.kp-admin-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow-soft)}
.kp-login-card{width:min(440px,calc(100% - 30px))}
.kp-login-card input,.kp-admin-card input,.kp-admin-card textarea,.kp-admin-card select,.kp-editor-section input,.kp-editor-section textarea,.kp-editor-section select{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:var(--bg);color:var(--cocoa);font:inherit}
.kp-login-card label,.kp-admin-card label,.kp-editor-section label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--taupe);font-weight:700}
.kp-h2,.kp-login-card h1,.kp-client-bar h1{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--cocoa);margin:8px 0}
.kp-eyebrow{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--rose);font-weight:700}.kp-muted,.kp-help{color:var(--taupe)}.kp-error{color:#9f1239}
.kp-client-shell{width:min(1180px,calc(100% - 30px));margin:30px auto 70px}.kp-client-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.kp-admin-actions{display:flex;gap:10px;flex-wrap:wrap}.kp-admin-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--border);padding:10px 16px;background:#fff;color:var(--cocoa);font-weight:700;cursor:pointer}.kp-admin-btn.save{background:var(--cocoa);color:var(--bg)}.kp-admin-btn.secondary{background:var(--cream)}.kp-admin-btn.danger{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.kp-admin-notice{border-radius:14px;padding:12px 16px;margin:12px 0;background:#ecfdf5;color:#065f46}
.kp-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.kp-editor-section{display:grid;gap:14px;margin:12px 0}.kp-two{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.kp-edit-block{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--bg);margin:12px 0}.kp-sticky-save{position:sticky;bottom:14px;background:rgba(255,248,245,.8);backdrop-filter:blur(12px);padding:10px;border-radius:16px}.kp-live iframe{width:100%;height:500px;border:1px solid var(--border);border-radius:16px}.kp-review-row{border:1px solid var(--border);border-radius:16px;padding:16px;margin:12px 0;background:var(--bg)}.kp-review-actions{display:flex;gap:10px;flex-wrap:wrap}.kp-review-meta{display:flex;justify-content:space-between;gap:10px}.kp-image-picker-preview{margin-top:8px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--cream)}.kp-image-picker-preview img{width:100%;height:150px;object-fit:cover}.kp-gallery-slot.is-extra{display:none}.kp-gallery-editor.show-extra .kp-gallery-slot.is-extra{display:block}
@media(max-width:980px){
  .lb-desktop-nav,.lb-header-cta{display:none}.lb-menu-toggle{display:inline-flex}.lb-header-inner{min-height:74px}
  .lb-mobile-nav{position:fixed;inset:74px 0 0;background:rgba(255,248,245,.98);backdrop-filter:blur(18px);padding:24px;transform:translateX(100%);transition:.28s ease;display:block;z-index:999;overflow:auto}
  body.kp-menu-open .lb-mobile-nav{transform:translateX(0)}
  body.kp-menu-open{overflow:hidden}
  .lb-mobile-nav nav{display:flex;flex-direction:column;gap:0}.lb-mobile-nav a{border-bottom:1px solid var(--border);padding:18px 0;font-family:var(--serif);font-size:2rem;color:var(--cocoa)}.lb-mobile-cta{margin-top:24px!important;background:var(--cocoa);color:var(--bg)!important;text-align:center;border-radius:999px;font-family:var(--sans)!important;font-size:.85rem!important;text-transform:uppercase;letter-spacing:.16em}
  .lb-hero-grid,.lb-about-grid,.lb-contact-card{grid-template-columns:1fr;gap:34px}.lb-hero{padding:50px 0}.lb-hero h1{font-size:clamp(3rem,14vw,4.5rem)}.lb-hero-note{position:relative;left:auto;bottom:auto;margin-top:16px;max-width:none}
  .lb-section-head.split{display:block}.lb-grid-3,.lb-grid-4,.lb-service-detail-grid{grid-template-columns:1fr}.lb-ba-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.lb-ba-card{min-width:82%;scroll-snap-align:start}.lb-gallery-preview{grid-template-columns:repeat(2,1fr)}.lb-gallery-full{grid-template-columns:repeat(2,1fr)}
  .lb-footer-grid{grid-template-columns:1fr}.kp-client-bar,.kp-editor-grid{display:block}.kp-two{grid-template-columns:1fr}
}
@media(max-width:520px){
  .lb-container,.lb-header-inner{width:min(100% - 28px,1180px)}.lb-hero h1{font-size:3.15rem}.lb-actions .lb-btn{width:100%}.lb-benefit-pill{flex-basis:82%}.lb-trust-row{display:grid;justify-items:center}.lb-trust-row span:after{display:none!important}.lb-gallery-full{grid-template-columns:1fr}.lb-ba-card{min-width:92%}.lb-contact-card{padding:24px}
}



/* =========================================================
   KefasPress Beauty — Modern Easy Client Panel v1.0.2
   Client Panel = Nivel 1, simple and safe
   ========================================================= */
.kp-panel-page{
  background:linear-gradient(135deg,var(--bg),var(--cream));
  min-height:calc(100vh - 86px);
}
.kp-panel-login{
  min-height:calc(100vh - 86px);
  display:grid;
  place-items:center;
  padding:42px 18px;
  background:
    radial-gradient(circle at 20% 20%,rgba(232,183,173,.35),transparent 35%),
    linear-gradient(135deg,var(--bg),var(--cream));
}
.kp-login-card{
  width:min(460px,100%);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  border:1px solid rgba(232,215,207,.85);
  border-radius:30px;
  padding:34px;
  box-shadow:0 32px 80px -48px rgba(43,30,27,.32);
}
.kp-login-card h1{
  font-family:var(--serif);
  font-size:clamp(2.4rem,7vw,3.8rem);
  line-height:.98;
  font-weight:300;
  margin:10px 0 12px;
  color:var(--cocoa);
}
.kp-login-card input{
  min-height:50px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--border);
}
.kp-client-shell{
  width:min(1220px,calc(100% - 32px));
  margin:0 auto;
  padding:42px 0 90px;
}
.kp-client-bar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  margin-bottom:24px;
}
.kp-client-bar h1{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(2.7rem,6vw,5.4rem);
  line-height:.98;
  margin:8px 0 4px;
  color:var(--cocoa);
}
.kp-client-bar .kp-muted{margin:0;color:var(--taupe)}
.kp-admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.kp-admin-btn{
  min-height:42px;
  border-radius:999px!important;
  padding:11px 18px!important;
  border:1px solid var(--border)!important;
  background:#fff!important;
  color:var(--cocoa)!important;
  box-shadow:0 10px 30px -24px rgba(43,30,27,.35);
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.72rem!important;
}
.kp-admin-btn.save{
  background:var(--cocoa)!important;
  color:var(--bg)!important;
  border-color:var(--cocoa)!important;
}
.kp-admin-btn.secondary{
  background:var(--cream)!important;
}
.kp-admin-btn.danger{
  color:#9f1239!important;
  border-color:#fecdd3!important;
  background:#fff1f2!important;
}
.kp-client-quicknav{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:20px 0 22px;
}
.kp-client-quicknav a{
  background:rgba(255,255,255,.86);
  border:1px solid var(--border);
  border-radius:24px;
  padding:18px;
  box-shadow:0 20px 55px -42px rgba(43,30,27,.3);
  transition:.22s ease;
}
.kp-client-quicknav a:hover{
  transform:translateY(-2px);
  border-color:var(--rose);
}
.kp-client-quicknav span{
  display:block;
  font-size:1.45rem;
  margin-bottom:8px;
}
.kp-client-quicknav strong{
  display:block;
  color:var(--cocoa);
  font-size:.98rem;
}
.kp-client-quicknav small{
  display:block;
  color:var(--taupe);
  margin-top:3px;
  line-height:1.35;
}
.kp-client-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.kp-client-side-card{
  position:sticky;
  top:110px;
  background:rgba(255,255,255,.86);
  border:1px solid var(--border);
  border-radius:28px;
  padding:22px;
  box-shadow:0 20px 55px -42px rgba(43,30,27,.32);
}
.kp-client-side-card h3{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:400;
  margin:0 0 8px;
}
.kp-client-toggle-list{
  display:grid;
  gap:8px;
  margin:18px 0;
}
.kp-client-toggle-list label{
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(232,215,207,.72);
  color:var(--cocoa);
  font-weight:700;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:.92rem!important;
}
.kp-client-toggle-list input[type="checkbox"]{
  appearance:none;
  width:46px!important;
  height:26px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#E8D7CF!important;
  border:0!important;
  position:relative;
  cursor:pointer;
}
.kp-client-toggle-list input[type="checkbox"]:before{
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  left:3px;
  top:3px;
  background:#fff;
  border-radius:50%;
  transition:.2s;
  box-shadow:0 2px 8px rgba(43,30,27,.18);
}
.kp-client-toggle-list input[type="checkbox"]:checked{
  background:var(--rose)!important;
}
.kp-client-toggle-list input[type="checkbox"]:checked:before{
  transform:translateX(20px);
}
.kp-client-lock-note{
  border:1px solid rgba(201,139,124,.22);
  background:rgba(250,239,232,.65);
  border-radius:20px;
  padding:14px;
  display:grid;
  gap:4px;
}
.kp-client-lock-note strong{color:var(--cocoa)}
.kp-client-lock-note span{color:var(--taupe);font-size:.88rem;line-height:1.45}
.kp-client-main{
  display:grid;
  gap:24px;
}
.kp-client-section{
  background:rgba(255,255,255,.78);
  border:1px solid var(--border);
  border-radius:30px;
  padding:24px;
  box-shadow:0 20px 60px -46px rgba(43,30,27,.3);
}
.kp-client-section-head{
  display:flex;
  gap:16px;
  align-items:flex-start;
  border-bottom:1px solid var(--border);
  padding-bottom:18px;
  margin-bottom:22px;
}
.kp-client-section-head > span{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--cream);
  color:var(--rose);
  font-weight:900;
}
.kp-client-section-head h2{
  font-family:var(--serif);
  font-size:clamp(1.9rem,3vw,3rem);
  font-weight:300;
  line-height:1.05;
  margin:0 0 5px;
  color:var(--cocoa);
}
.kp-client-section-head p{
  margin:0;
  color:var(--taupe);
}
.kp-client-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  padding:22px;
  margin:16px 0;
}
.kp-client-card h3{
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:400;
  margin:0 0 16px;
  color:var(--cocoa);
}
.kp-client-card label,
.kp-login-card label{
  display:block;
  margin:13px 0 7px;
  font-size:.72rem!important;
  text-transform:uppercase;
  letter-spacing:.16em!important;
  color:var(--rose)!important;
  font-weight:800!important;
}
.kp-client-card input,
.kp-client-card textarea,
.kp-client-card select,
.kp-login-card input{
  width:100%;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  background:var(--bg)!important;
  color:var(--cocoa)!important;
  font:inherit!important;
}
.kp-client-card textarea{min-height:112px}
.kp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kp-asset-picker{
  border:1px solid var(--border);
  border-radius:20px;
  padding:14px;
  background:var(--bg);
}
.kp-asset-preview{
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  background:var(--cream);
  min-height:150px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
}
.kp-asset-preview img{
  width:100%;
  height:180px;
  object-fit:cover;
}
.kp-upload-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  padding:10px 16px;
  background:var(--cocoa);
  color:var(--bg)!important;
  cursor:pointer;
  margin-top:10px!important;
}
.kp-upload-btn input{display:none!important}
.kp-mini-btn{
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  padding:9px 13px;
  margin-top:9px;
  color:#9f1239;
  cursor:pointer;
}
.kp-asset-picker small{
  display:block;
  color:var(--taupe);
  line-height:1.4;
  margin-top:8px;
}
.kp-client-save-bar{
  position:sticky;
  bottom:14px;
  z-index:20;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  background:rgba(255,248,245,.86);
  border:1px solid var(--border);
  backdrop-filter:blur(16px);
  border-radius:999px;
  padding:10px;
  box-shadow:0 20px 50px -36px rgba(43,30,27,.3);
}
.kp-admin-notice{
  border-radius:18px;
  padding:14px 18px;
  margin:14px 0;
  background:#ecfdf5;
  color:#065f46;
  border:1px solid #bbf7d0;
}
.kp-pending-reviews{
  margin-top:24px;
  background:rgba(255,255,255,.86);
  border:1px solid var(--border);
  border-radius:30px;
  padding:24px;
  box-shadow:0 20px 60px -46px rgba(43,30,27,.3);
}
.kp-pending-reviews h2{
  font-family:var(--serif);
  font-size:2.4rem;
  font-weight:300;
  margin:0 0 8px;
}
.kp-review-row{
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  padding:18px;
  margin-top:14px;
}
.kp-review-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--cocoa);
}
.kp-review-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:980px){
  .kp-client-bar{
    display:grid;
    gap:16px;
  }
  .kp-client-quicknav{
    grid-template-columns:repeat(2,1fr);
  }
  .kp-client-layout{
    grid-template-columns:1fr;
  }
  .kp-client-side-card{
    position:relative;
    top:auto;
  }
}
@media(max-width:620px){
  .kp-client-shell{width:min(100% - 24px,1220px);padding-top:24px}
  .kp-client-quicknav{grid-template-columns:1fr}
  .kp-client-section,.kp-client-side-card,.kp-pending-reviews{border-radius:22px;padding:18px}
  .kp-two{grid-template-columns:1fr}
  .kp-admin-actions{display:grid;grid-template-columns:1fr}
  .kp-admin-btn{width:100%;text-align:center}
  .kp-client-save-bar{
    border-radius:22px;
    display:grid;
    grid-template-columns:1fr;
  }
}



/* =========================================================
   Beauty v1.0.3 — Lovable Hero Respect Fix
   Goal: preserve Lovable full-background hero, not split Cleaning-style layout.
   ========================================================= */
.lb-hero{
  position:relative!important;
  min-height:calc(100vh - 86px)!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--cocoa)!important;
  display:grid!important;
  align-items:center!important;
}
.lb-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:linear-gradient(
    180deg,
    rgba(43,30,27,.30),
    rgba(43,30,27,.42) 42%,
    rgba(43,30,27,.66)
  )!important;
  z-index:1!important;
  pointer-events:none!important;
}
.lb-hero:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:rgba(201,139,124,.14)!important;
  z-index:2!important;
  pointer-events:none!important;
}
.lb-hero-grid{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100vh - 86px)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  padding:70px 24px 64px!important;
  z-index:3!important;
}
.lb-hero-art{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}
.lb-hero-art img{
  width:100%!important;
  height:100%!important;
  min-height:calc(100vh - 86px)!important;
  object-fit:cover!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
}
.lb-hero-note{
  display:none!important;
}
.lb-hero-copy{
  position:relative!important;
  z-index:4!important;
  width:min(980px,100%)!important;
  max-width:980px!important;
  text-align:center!important;
  color:#fff!important;
  margin:0 auto!important;
}
.lb-hero .lb-eyebrow{
  color:rgba(255,248,245,.90)!important;
  letter-spacing:.42em!important;
  font-size:.72rem!important;
  margin-bottom:24px!important;
  text-shadow:0 2px 16px rgba(43,30,27,.35)!important;
}
.lb-hero h1{
  color:#fff!important;
  font-family:var(--serif)!important;
  font-size:clamp(4.2rem,9.2vw,8.6rem)!important;
  line-height:.95!important;
  font-weight:300!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  margin:0 auto 24px!important;
  text-shadow:0 12px 36px rgba(43,30,27,.28)!important;
}
.lb-hero .lb-lede{
  color:rgba(255,248,245,.92)!important;
  max-width:760px!important;
  margin:0 auto!important;
  font-size:1.05rem!important;
  line-height:1.8!important;
  text-shadow:0 2px 14px rgba(43,30,27,.30)!important;
}
.lb-hero .lb-actions{
  justify-content:center!important;
  margin-top:36px!important;
}
.lb-hero .lb-btn{
  border-radius:0!important;
  min-width:170px!important;
}
.lb-hero .lb-btn-dark{
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,248,245,.78)!important;
}
.lb-hero .lb-btn-dark:hover{
  background:rgba(255,248,245,.16)!important;
}
.lb-hero .lb-btn-outline{
  border-color:transparent!important;
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:10px!important;
}
.lb-hero .lb-btn-outline:hover{
  color:var(--cream)!important;
}
@media(max-width:980px){
  .lb-hero,
  .lb-hero-grid,
  .lb-hero-art img{
    min-height:calc(100vh - 74px)!important;
  }
  .lb-hero-grid{
    padding:54px 20px 54px!important;
  }
  .lb-hero h1{
    font-size:clamp(3.15rem,15vw,5.8rem)!important;
    line-height:.98!important;
  }
}
@media(max-width:520px){
  .lb-hero .lb-eyebrow{
    letter-spacing:.24em!important;
    font-size:.62rem!important;
  }
  .lb-hero h1{
    font-size:clamp(2.75rem,17vw,4.4rem)!important;
  }
  .lb-hero .lb-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:min(300px,100%)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .lb-hero .lb-btn{
    width:100%!important;
  }
}



/* =========================================================
   Beauty v1.0.4 — HERO FIT LOVABLE FINAL
   Corrige texto gigante/cortado. Hero debe verse como Lovable:
   full background, overlay cálido, título centrado y contenido completo.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.lb-hero{
  position:relative!important;
  min-height:calc(100svh - 86px)!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
  background:#3A2520!important;
  display:block!important;
}
.lb-hero-grid{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100svh - 86px)!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:86px 24px 76px!important;
  margin:0!important;
  position:relative!important;
  z-index:4!important;
}
.lb-hero-art{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
  margin:0!important;
}
.lb-hero-art img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
}
.lb-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:linear-gradient(
    180deg,
    rgba(43,30,27,.26) 0%,
    rgba(43,30,27,.38) 43%,
    rgba(43,30,27,.58) 100%
  )!important;
  pointer-events:none!important;
}
.lb-hero:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:rgba(201,139,124,.16)!important;
  pointer-events:none!important;
}
.lb-hero-copy{
  position:relative!important;
  z-index:5!important;
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
  color:#fff!important;
  display:block!important;
}
.lb-hero .lb-eyebrow{
  display:block!important;
  color:rgba(255,248,245,.92)!important;
  text-align:center!important;
  font-size:clamp(.56rem, .72vw, .72rem)!important;
  line-height:1.35!important;
  letter-spacing:clamp(.20em,.5vw,.42em)!important;
  margin:0 auto 24px!important;
  max-width:100%!important;
  text-shadow:0 2px 16px rgba(43,30,27,.36)!important;
  white-space:normal!important;
}
.lb-hero h1{
  display:block!important;
  color:#fff!important;
  font-family:var(--serif)!important;
  font-weight:300!important;
  text-align:center!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
  line-height:.98!important;
  font-size:clamp(3.7rem,7.05vw,7.15rem)!important;
  max-width:1120px!important;
  margin:0 auto 24px!important;
  padding:0!important;
  text-shadow:0 12px 36px rgba(43,30,27,.30)!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.lb-hero .lb-lede{
  color:rgba(255,248,245,.92)!important;
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
  font-size:clamp(.95rem,1.15vw,1.1rem)!important;
  line-height:1.75!important;
  text-shadow:0 2px 14px rgba(43,30,27,.32)!important;
}
.lb-hero .lb-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  flex-wrap:wrap!important;
  margin:36px auto 0!important;
}
.lb-hero .lb-btn{
  border-radius:0!important;
  min-width:170px!important;
  min-height:54px!important;
  padding:15px 28px!important;
  letter-spacing:.24em!important;
}
.lb-hero .lb-btn-dark{
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,248,245,.78)!important;
}
.lb-hero .lb-btn-dark:hover{
  background:rgba(255,248,245,.16)!important;
}
.lb-hero .lb-btn-outline{
  border-color:transparent!important;
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:10px!important;
}
.lb-hero .lb-btn-outline:hover{color:var(--cream)!important}
.lb-hero-note{display:none!important}

@media(max-width:1200px){
  .lb-hero h1{
    font-size:clamp(3.35rem,7.4vw,6.1rem)!important;
    max-width:940px!important;
  }
}
@media(max-width:980px){
  .lb-hero,
  .lb-hero-grid{
    min-height:calc(100svh - 74px)!important;
  }
  .lb-hero-grid{
    padding:68px 20px 58px!important;
  }
  .lb-hero h1{
    font-size:clamp(3rem,11.2vw,5.25rem)!important;
    line-height:1!important;
    max-width:720px!important;
    letter-spacing:.025em!important;
  }
}
@media(max-width:620px){
  .lb-hero-grid{
    padding:54px 16px 52px!important;
  }
  .lb-hero h1{
    font-size:clamp(2.6rem,13.5vw,4.25rem)!important;
    line-height:1.02!important;
    letter-spacing:.015em!important;
  }
  .lb-hero .lb-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:min(310px,100%)!important;
    gap:12px!important;
  }
  .lb-hero .lb-btn{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:390px){
  .lb-hero h1{
    font-size:clamp(2.35rem,13vw,3.3rem)!important;
  }
}



/* =========================================================
   Beauty v1.0.5 — Lovable Complete Visual Fix
   Fixes: exact soft backgrounds, hero signature bar, Why icons, service images.
   ========================================================= */
:root{
  --bg:#FFF8F5!important;
  --cream:#FAEFE8!important;
  --blush:#E8B7AD!important;
  --rose:#C98B7C!important;
  --cocoa:#2B1E1B!important;
  --taupe:#8A6F66!important;
  --dark:#3A2520!important;
  --border:#E8D7CF!important;
}
body,.lb-site{background:var(--bg)!important;color:var(--cocoa)!important}
.lb-header{
  background:rgba(255,248,245,.96)!important;
  border-bottom:1px solid rgba(232,215,207,.75)!important;
  box-shadow:none!important;
}
.lb-soft{background:rgba(250,239,232,.62)!important}
.lb-section{background:transparent!important}
.lb-trust{background:rgba(250,239,232,.46)!important}
.lb-hero{
  min-height:88vh!important;
  height:auto!important;
}
.lb-hero-grid{
  min-height:88vh!important;
  padding:70px 24px 82px!important;
}
.lb-hero-copy{max-width:1120px!important}
.lb-hero h1{
  margin:0 auto 24px!important;
  text-align:center!important;
  font-size:inherit!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.lb-hero-title-main{
  display:block!important;
  font-family:var(--serif)!important;
  font-weight:300!important;
  text-transform:uppercase!important;
  color:#fff!important;
  font-size:clamp(3.7rem,8vw,7.5rem)!important;
  line-height:.95!important;
  letter-spacing:-.015em!important;
}
.lb-hero-title-sub{
  display:block!important;
  margin-top:.08em!important;
  font-family:var(--serif)!important;
  font-style:italic!important;
  font-weight:300!important;
  text-transform:none!important;
  color:rgba(255,248,245,.95)!important;
  font-size:clamp(2.25rem,4.8vw,5.6rem)!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.lb-hero .lb-lede{
  margin-top:0!important;
  max-width:650px!important;
  font-weight:300!important;
}
.lb-hero-signature{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:6!important;
  border-top:1px solid rgba(255,248,245,.16)!important;
  background:rgba(43,30,27,.32)!important;
  backdrop-filter:blur(8px)!important;
}
.lb-hero-signature-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:15px 0!important;
  color:rgba(255,248,245,.82)!important;
  font-size:.62rem!important;
  text-transform:uppercase!important;
  letter-spacing:.30em!important;
}
.lb-why-card .lb-why-icon{
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--rose)!important;
  font-size:1.35rem!important;
  line-height:1!important;
  margin-bottom:18px!important;
}
.lb-why-card p{
  margin:10px 0 0!important;
  color:var(--taupe)!important;
  font-size:.92rem!important;
  line-height:1.65!important;
}
.lb-services-image-grid{
  align-items:stretch!important;
}
.lb-service-image-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:0!important;
  border-radius:0!important;
  background:#fff!important;
  border:1px solid rgba(232,215,207,.78)!important;
  box-shadow:none!important;
  transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease!important;
}
.lb-service-image-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(201,139,124,.45)!important;
  box-shadow:0 30px 60px -30px rgba(43,30,27,.18)!important;
}
.lb-service-media{
  aspect-ratio:4/5!important;
  overflow:hidden!important;
  background:var(--cream)!important;
}
.lb-service-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform 1.2s ease!important;
}
.lb-service-image-card:hover .lb-service-media img{
  transform:scale(1.04)!important;
}
.lb-service-body{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  padding:32px!important;
}
.lb-service-body h3{
  font-family:var(--serif)!important;
  font-size:1.625rem!important;
  font-weight:300!important;
  line-height:1.12!important;
  color:var(--cocoa)!important;
  margin:0!important;
}
.lb-service-rule{
  display:block!important;
  width:32px!important;
  height:1px!important;
  background:rgba(201,139,124,.65)!important;
  margin:18px 0!important;
}
.lb-service-body p{
  flex:1!important;
  margin:0!important;
  color:var(--taupe)!important;
  font-size:.92rem!important;
  line-height:1.75!important;
}
.lb-service-book{
  margin-top:28px!important;
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  gap:12px!important;
  border-bottom:1px solid rgba(201,139,124,.72)!important;
  padding-bottom:4px!important;
  font-size:.68rem!important;
  text-transform:uppercase!important;
  letter-spacing:.30em!important;
  color:var(--cocoa)!important;
}
.lb-service-book span{
  transition:transform .3s ease!important;
}
.lb-service-image-card:hover .lb-service-book span{
  transform:translateX(4px)!important;
}
@media(max-width:980px){
  .lb-hero,.lb-hero-grid{min-height:calc(100svh - 74px)!important}
  .lb-hero-title-main{font-size:clamp(3rem,13vw,5.8rem)!important}
  .lb-hero-title-sub{font-size:clamp(2rem,8vw,3.8rem)!important}
  .lb-hero-signature{display:none!important}
}
@media(max-width:620px){
  .lb-hero-grid{padding:54px 16px 58px!important}
  .lb-hero-title-main{font-size:clamp(2.55rem,15vw,4.3rem)!important}
  .lb-hero-title-sub{font-size:clamp(1.75rem,9vw,3rem)!important}
}



/* =========================================================
   Beauty v1.0.6 — Sticky Glass Header + Lovable Background Rhythm
   Header stays fixed/glass. Sections alternate soft Beauty backgrounds.
   ========================================================= */

/* Fixed transparent menu bar */
.lb-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:rgba(255,248,245,.68)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  border-bottom:1px solid rgba(232,215,207,.52)!important;
  box-shadow:0 12px 34px -30px rgba(43,30,27,.34)!important;
}
body.admin-bar .lb-header{
  top:32px!important;
}
.lb-header .lb-container,
.lb-nav,
.lb-brand{
  position:relative!important;
  z-index:2!important;
}
.lb-header a,
.lb-nav a,
.lb-brand{
  color:var(--cocoa)!important;
}
.lb-header .lb-book,
.lb-header .lb-btn,
.lb-header .lb-menu-toggle{
  border-color:rgba(43,30,27,.20)!important;
}
.lb-site{
  padding-top:0!important;
}
.lb-hero,
.lb-hero-grid{
  min-height:100svh!important;
}
.lb-hero-grid{
  padding-top:118px!important;
}

/* Header when WordPress admin bar is present on mobile */
@media(max-width:782px){
  body.admin-bar .lb-header{
    top:46px!important;
  }
}

/* Mobile menu keeps glass premium feel */
.lb-mobile-menu,
.lb-mobile-panel,
.lb-menu-panel{
  background:rgba(255,248,245,.94)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}

/* Lovable background rhythm by section */
.lb-trust{
  background:#FAEFE8!important;
  border-top:1px solid rgba(232,215,207,.55)!important;
  border-bottom:1px solid rgba(232,215,207,.55)!important;
}
#about,
.lb-section#about{
  background:#FFF8F5!important;
}
.lb-soft,
.lb-section.lb-soft{
  background:linear-gradient(180deg,#FAEFE8 0%,#FFF8F5 100%)!important;
}
#services-preview{
  background:#FFFFFF!important;
}
#services-preview:before,
#services-preview:after{
  content:none!important;
}
.lb-before-after-section,
.lb-before-after,
section:has(.lb-before-grid),
section:has(.lb-before-after-card){
  background:linear-gradient(180deg,#FFF8F5 0%,#FAEFE8 100%)!important;
}
.lb-gallery-preview,
section:has(.lb-gallery-grid){
  background:#FFF8F5!important;
}
.lb-reviews-preview,
section:has(.lb-testimonial-card){
  background:linear-gradient(180deg,#FAEFE8 0%,#FFF8F5 100%)!important;
}
.lb-faq-section,
section:has(.lb-faq-list){
  background:#FFFFFF!important;
}
.lb-cta,
.lb-final-cta,
section:has(.lb-cta-card){
  background:var(--cocoa)!important;
  color:#FFF8F5!important;
}
.lb-cta h2,
.lb-final-cta h2,
section:has(.lb-cta-card) h2{
  color:#FFF8F5!important;
}
.lb-cta p,
.lb-final-cta p,
section:has(.lb-cta-card) p{
  color:rgba(255,248,245,.78)!important;
}
.lb-section{
  position:relative!important;
}
.lb-section:not(.lb-soft):not(#services-preview){
  background-clip:padding-box!important;
}

/* Softer cards so section color differences are visible */
.lb-soft-card,
.lb-service-image-card,
.lb-testimonial-card,
.lb-faq-item,
.lb-ba-card{
  background:rgba(255,255,255,.82)!important;
}
#services-preview .lb-service-image-card{
  background:#FFF8F5!important;
}

/* Fallback for browsers that don't support :has() */
.lb-section:nth-of-type(odd):not(.lb-hero){
  background:#FFF8F5;
}
.lb-section:nth-of-type(even):not(.lb-hero){
  background:#FAEFE8;
}

/* Keep specific intentional overrides stronger than nth-of-type */
.lb-section.lb-soft{background:linear-gradient(180deg,#FAEFE8 0%,#FFF8F5 100%)!important}
#services-preview{background:#FFFFFF!important}

/* Mobile spacing below fixed header */
@media(max-width:980px){
  .lb-hero-grid{
    padding-top:104px!important;
  }
}
@media(max-width:620px){
  .lb-header{
    background:rgba(255,248,245,.76)!important;
  }
  .lb-hero-grid{
    padding-top:96px!important;
  }
}


/* =========================================================
   Beauty v1.0.7 — Before/After Mobile UX Fix
   Stacks cards vertically on mobile, removes horizontal strip,
   improves touch dragging area and prevents clipped layout.
   ========================================================= */
.lb-ba-frame{touch-action:none!important}
.lb-ba-handle{z-index:3!important}
.lb-ba-handle span{
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
}
.lb-ba-handle span:before,
.lb-ba-handle span:after{
  content:""!important;
  width:2px!important;
  height:10px!important;
  background:rgba(43,30,27,.22)!important;
  border-radius:2px!important;
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
.lb-ba-handle span:before{left:14px!important}
.lb-ba-handle span:after{right:14px!important}

@media (max-width: 980px){
  .lb-ba-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    overflow:visible!important;
    padding-bottom:0!important;
    scroll-snap-type:none!important;
  }
  .lb-ba-card{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    scroll-snap-align:none!important;
    margin:0!important;
    padding:12px!important;
    border-radius:22px!important;
  }
  .lb-ba-frame{
    aspect-ratio:4 / 4.8!important;
    border-radius:18px!important;
  }
  .lb-ba-card h3{
    margin:14px 10px 6px!important;
    font-size:1.28rem!important;
    line-height:1.15!important;
  }
  .lb-ba-card p{
    margin:0 10px 8px!important;
    font-size:.92rem!important;
    line-height:1.6!important;
  }
}

@media (max-width: 620px){
  .lb-ba-row{
    gap:16px!important;
  }
  .lb-ba-card{
    padding:10px!important;
    border-radius:20px!important;
  }
  .lb-ba-frame{
    aspect-ratio:4 / 5.2!important;
    border-radius:16px!important;
  }
  .lb-ba-label{
    top:10px!important;
    padding:5px 10px!important;
    font-size:.58rem!important;
    letter-spacing:.14em!important;
  }
  .lb-ba-label.left{left:10px!important}
  .lb-ba-label.right{right:10px!important}
  .lb-ba-handle{
    width:2px!important;
  }
  .lb-ba-handle span{
    width:40px!important;
    height:40px!important;
  }
}



/* =========================================================
   Beauty v1.0.8 — Mobile Menu UX Fix
   Premium mobile menu: clean glass header, full-screen drawer,
   visible MENU/CLOSE, no layout overflow, body locked when open.
   ========================================================= */

body.kp-menu-open,
body.lb-menu-open{
  overflow:hidden!important;
  touch-action:none!important;
}

@media(max-width:980px){
  .lb-header{
    min-height:74px!important;
  }

  .lb-header-inner{
    min-height:74px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
  }

  .lb-desktop-nav,
  .lb-header-cta{
    display:none!important;
  }

  .lb-brand,
  .lb-logo{
    min-width:0!important;
    flex:1 1 auto!important;
  }

  .lb-logo-main{
    font-size:1.35rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .lb-logo-sub{
    font-size:.48rem!important;
    letter-spacing:.28em!important;
    white-space:nowrap!important;
  }

  .lb-menu-toggle,
  #kpMenuToggle,
  [data-menu-toggle]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    flex:0 0 auto!important;
    min-width:96px!important;
    min-height:44px!important;
    padding:11px 15px!important;
    border-radius:999px!important;
    border:1px solid rgba(43,30,27,.22)!important;
    background:rgba(255,248,245,.78)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    color:var(--cocoa)!important;
    font-size:.68rem!important;
    font-weight:800!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    box-shadow:0 14px 32px -28px rgba(43,30,27,.42)!important;
    position:relative!important;
    z-index:10002!important;
  }

  .lb-menu-toggle:before,
  #kpMenuToggle:before,
  [data-menu-toggle]:before{
    content:"MENU";
  }

  .lb-menu-toggle.is-open:before,
  #kpMenuToggle.is-open:before,
  [data-menu-toggle].is-open:before{
    content:"CLOSE";
  }

  .lb-menu-toggle .kp-menu-label,
  .lb-menu-toggle .kp-menu-icon,
  #kpMenuToggle .kp-menu-label,
  #kpMenuToggle .kp-menu-icon,
  [data-menu-toggle] .kp-menu-label,
  [data-menu-toggle] .kp-menu-icon{
    display:none!important;
  }

  .lb-menu-toggle:after,
  #kpMenuToggle:after,
  [data-menu-toggle]:after{
    content:"☰";
    font-size:1rem!important;
    line-height:1!important;
    letter-spacing:0!important;
    transform:translateY(-1px);
  }

  .lb-menu-toggle.is-open:after,
  #kpMenuToggle.is-open:after,
  [data-menu-toggle].is-open:after{
    content:"×";
    font-size:1.35rem!important;
  }

  .lb-mobile-nav,
  #kpMobileNav,
  [data-mobile-nav]{
    position:fixed!important;
    top:74px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:auto!important;
    z-index:10000!important;
    display:block!important;
    padding:28px 24px calc(34px + env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(circle at 20% 0%, rgba(232,183,173,.32), transparent 38%),
      rgba(255,248,245,.96)!important;
    backdrop-filter:blur(22px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.05)!important;
    border-top:1px solid rgba(232,215,207,.65)!important;
    transform:translateX(105%)!important;
    transition:transform .32s cubic-bezier(.22,.61,.36,1)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4)!important;
  }

  body.admin-bar .lb-mobile-nav,
  body.admin-bar #kpMobileNav,
  body.admin-bar [data-mobile-nav]{
    top:calc(74px + 32px)!important;
  }

  .lb-mobile-nav.open,
  .lb-mobile-nav.is-open,
  #kpMobileNav.open,
  #kpMobileNav.is-open,
  [data-mobile-nav].open,
  [data-mobile-nav].is-open{
    transform:translateX(0)!important;
  }

  .lb-mobile-nav nav,
  #kpMobileNav nav,
  [data-mobile-nav] nav{
    display:grid!important;
    gap:0!important;
    max-width:560px!important;
    margin:0 auto!important;
  }

  .lb-mobile-nav a,
  #kpMobileNav a,
  [data-mobile-nav] a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    padding:18px 2px!important;
    border-bottom:1px solid rgba(232,215,207,.85)!important;
    color:var(--cocoa)!important;
    font-family:var(--serif)!important;
    font-size:clamp(1.85rem,8vw,3.2rem)!important;
    line-height:1.05!important;
    font-weight:300!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .lb-mobile-nav a:after,
  #kpMobileNav a:after,
  [data-mobile-nav] a:after{
    content:"→";
    font-family:var(--sans)!important;
    font-size:1rem!important;
    color:var(--rose)!important;
    opacity:.72!important;
  }

  .lb-mobile-nav .lb-mobile-cta,
  #kpMobileNav .lb-mobile-cta,
  [data-mobile-nav] .lb-mobile-cta{
    margin-top:26px!important;
    min-height:54px!important;
    border-radius:999px!important;
    justify-content:center!important;
    background:var(--cocoa)!important;
    color:var(--bg)!important;
    border:1px solid var(--cocoa)!important;
    font-family:var(--sans)!important;
    font-size:.78rem!important;
    font-weight:800!important;
    letter-spacing:.22em!important;
    text-transform:uppercase!important;
  }

  .lb-mobile-nav .lb-mobile-cta:after,
  #kpMobileNav .lb-mobile-cta:after,
  [data-mobile-nav] .lb-mobile-cta:after{
    content:""!important;
  }
}

@media(max-width:782px){
  body.admin-bar .lb-mobile-nav,
  body.admin-bar #kpMobileNav,
  body.admin-bar [data-mobile-nav]{
    top:calc(74px + 46px)!important;
  }
}

@media(max-width:420px){
  .lb-header-inner{
    width:min(100% - 22px,1180px)!important;
  }
  .lb-logo-main{
    font-size:1.18rem!important;
  }
  .lb-logo-sub{
    font-size:.42rem!important;
    letter-spacing:.20em!important;
  }
  .lb-menu-toggle,
  #kpMenuToggle,
  [data-menu-toggle]{
    min-width:86px!important;
    padding:10px 12px!important;
    font-size:.62rem!important;
  }
  .lb-mobile-nav,
  #kpMobileNav,
  [data-mobile-nav]{
    padding-left:20px!important;
    padding-right:20px!important;
  }
}

@media(min-width:981px){
  .lb-mobile-nav,
  #kpMobileNav,
  [data-mobile-nav]{
    display:none!important;
  }
}



/* =========================================================
   Beauty v1.0.9 — Mobile Benefits / Trust Bar UX Fix
   Fixes cropped benefit pills and horizontal scrollbar on mobile.
   ========================================================= */

@media(max-width:980px){
  .lb-benefits{
    padding:24px 0!important;
    overflow:hidden!important;
  }

  .lb-benefit-row,
  .lb-benefits-row,
  .lb-benefits .lb-container{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }

  .lb-benefit-pill{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    justify-content:center!important;
    padding:15px 18px!important;
    border-radius:999px!important;
    white-space:normal!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  .lb-benefit-pill span,
  .lb-benefit-pill strong{
    white-space:normal!important;
    line-height:1.35!important;
  }

  .lb-trust{
    overflow:hidden!important;
  }

  .lb-trust-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    justify-items:center!important;
    text-align:center!important;
    padding:22px 0!important;
  }

  .lb-trust-row span{
    display:block!important;
    max-width:100%!important;
    white-space:normal!important;
    line-height:1.5!important;
    letter-spacing:.24em!important;
  }

  .lb-trust-row span:after{
    display:none!important;
    content:none!important;
  }
}

@media(max-width:520px){
  .lb-benefits .lb-container{
    width:min(100% - 30px,1180px)!important;
  }

  .lb-benefit-pill{
    font-size:.86rem!important;
    letter-spacing:0!important;
  }

  .lb-trust-row span{
    font-size:.68rem!important;
    letter-spacing:.22em!important;
  }
}



/* =========================================================
   Beauty v1.1.0 — Mobile Menu Real Drawer + EN/ES
   Fix: menu options visible above page. Adds language selector.
   ========================================================= */

/* Desktop language switch */
.lb-lang-switch{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-left:8px!important;
  padding:8px 12px!important;
  border:1px solid rgba(43,30,27,.16)!important;
  border-radius:999px!important;
  background:rgba(255,248,245,.46)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.lb-lang-switch a,
.lb-lang-switch span{
  font-size:.62rem!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  color:rgba(43,30,27,.55)!important;
  text-transform:uppercase!important;
}
.lb-lang-switch a.is-active{
  color:var(--cocoa)!important;
}

/* Mobile language block */
.lb-mobile-lang{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  max-width:560px!important;
  margin:0 auto 22px!important;
}
.lb-mobile-lang a{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:46px!important;
  border:1px solid rgba(232,215,207,.88)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.70)!important;
  color:var(--cocoa)!important;
  font-family:var(--sans)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  padding:0 12px!important;
}
.lb-mobile-lang a:after{
  content:none!important;
}
.lb-mobile-lang a.is-active{
  background:var(--cocoa)!important;
  color:var(--bg)!important;
  border-color:var(--cocoa)!important;
}

/* Hard override: mobile drawer must cover content and show links */
@media(max-width:980px){
  .lb-desktop-nav,
  .lb-header-cta,
  .lb-lang-switch{
    display:none!important;
  }

  .lb-header{
    z-index:2147483000!important;
  }

  .lb-mobile-nav,
  #kpMobileNav,
  [data-mobile-nav]{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:74px!important;
    bottom:0!important;
    width:100vw!important;
    height:calc(100svh - 74px)!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .22s ease, visibility .22s ease, transform .22s ease!important;
    z-index:2147482999!important;
    padding:26px 24px calc(32px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:
      linear-gradient(180deg, rgba(255,248,245,.98) 0%, rgba(250,239,232,.98) 100%)!important;
    backdrop-filter:blur(24px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(24px) saturate(1.05)!important;
    border-top:1px solid rgba(232,215,207,.72)!important;
    box-shadow:0 40px 80px -42px rgba(43,30,27,.38)!important;
  }

  body.admin-bar .lb-mobile-nav,
  body.admin-bar #kpMobileNav,
  body.admin-bar [data-mobile-nav]{
    top:calc(74px + 32px)!important;
    height:calc(100svh - 74px - 32px)!important;
  }

  .lb-mobile-nav.open,
  .lb-mobile-nav.is-open,
  #kpMobileNav.open,
  #kpMobileNav.is-open,
  [data-mobile-nav].open,
  [data-mobile-nav].is-open,
  body.kp-menu-open .lb-mobile-nav,
  body.kp-menu-open #kpMobileNav,
  body.kp-menu-open [data-mobile-nav],
  body.lb-menu-open .lb-mobile-nav,
  body.lb-menu-open #kpMobileNav,
  body.lb-menu-open [data-mobile-nav]{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .lb-mobile-nav nav,
  #kpMobileNav nav,
  [data-mobile-nav] nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
    padding:0!important;
  }

  .lb-mobile-nav nav a,
  #kpMobileNav nav a,
  [data-mobile-nav] nav a{
    display:flex!important;
    width:100%!important;
    min-height:auto!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:15px 0!important;
    border-bottom:1px solid rgba(232,215,207,.86)!important;
    color:var(--cocoa)!important;
    font-family:var(--serif)!important;
    font-size:clamp(1.65rem,7vw,2.8rem)!important;
    line-height:1.08!important;
    font-weight:300!important;
    letter-spacing:0!important;
    text-transform:none!important;
    background:transparent!important;
    border-radius:0!important;
  }

  .lb-mobile-nav nav a:after,
  #kpMobileNav nav a:after,
  [data-mobile-nav] nav a:after{
    content:"→"!important;
    font-family:var(--sans)!important;
    font-size:1rem!important;
    color:var(--rose)!important;
    opacity:.7!important;
  }

  .lb-mobile-nav .lb-mobile-cta,
  #kpMobileNav .lb-mobile-cta,
  [data-mobile-nav] .lb-mobile-cta{
    width:100%!important;
    max-width:560px!important;
    margin:24px auto 0!important;
    min-height:54px!important;
    border-radius:999px!important;
    justify-content:center!important;
    background:var(--cocoa)!important;
    color:var(--bg)!important;
    border:1px solid var(--cocoa)!important;
    font-family:var(--sans)!important;
    font-size:.76rem!important;
    font-weight:900!important;
    letter-spacing:.20em!important;
    text-transform:uppercase!important;
    padding:0 18px!important;
  }

  .lb-mobile-nav .lb-mobile-cta:after,
  #kpMobileNav .lb-mobile-cta:after,
  [data-mobile-nav] .lb-mobile-cta:after{
    content:none!important;
  }

  .lb-menu-toggle,
  #kpMenuToggle,
  [data-menu-toggle]{
    z-index:2147483001!important;
  }
}

@media(max-width:782px){
  body.admin-bar .lb-mobile-nav,
  body.admin-bar #kpMobileNav,
  body.admin-bar [data-mobile-nav]{
    top:calc(74px + 46px)!important;
    height:calc(100svh - 74px - 46px)!important;
  }
}



/* =========================================================
   Beauty v1.1.1 — FINAL Mobile Menu Force Fix
   Removes JS/CSS conflict effects: real drawer, visible options, no duplicated label.
   ========================================================= */
@media(max-width:980px){
  .lb-header .lb-desktop-nav,
  .lb-header .lb-header-cta,
  .lb-header .lb-lang-switch{
    display:none!important;
  }

  .lb-header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:999990!important;
    overflow:visible!important;
  }

  body.admin-bar .lb-header{
    top:32px!important;
  }

  .lb-header-inner{
    min-height:74px!important;
  }

  .lb-menu-toggle,
  #kpMenuToggle,
  [data-menu-toggle]{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:94px!important;
    min-height:44px!important;
    border-radius:999px!important;
    position:relative!important;
    z-index:1000002!important;
  }

  .lb-menu-toggle .lb-menu-label,
  .lb-menu-toggle .kp-menu-label,
  .lb-menu-toggle .kp-menu-icon,
  #kpMenuToggle .lb-menu-label,
  #kpMenuToggle .kp-menu-label,
  #kpMenuToggle .kp-menu-icon,
  [data-menu-toggle] .lb-menu-label,
  [data-menu-toggle] .kp-menu-label,
  [data-menu-toggle] .kp-menu-icon{
    display:none!important;
  }

  .lb-menu-toggle:before,
  #kpMenuToggle:before,
  [data-menu-toggle]:before{
    content:"MENU"!important;
    font-size:.66rem!important;
    font-weight:900!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
  }

  .lb-menu-toggle.is-open:before,
  #kpMenuToggle.is-open:before,
  [data-menu-toggle].is-open:before{
    content:"CLOSE"!important;
  }

  .lb-menu-toggle:after,
  #kpMenuToggle:after,
  [data-menu-toggle]:after{
    content:"☰"!important;
    font-size:1rem!important;
    line-height:1!important;
    letter-spacing:0!important;
  }

  .lb-menu-toggle.is-open:after,
  #kpMenuToggle.is-open:after,
  [data-menu-toggle].is-open:after{
    content:"×"!important;
    font-size:1.35rem!important;
  }

  /* Closed drawer: truly hidden */
  .lb-mobile-nav,
  #kpMobileNav,
  [data-mobile-nav]{
    display:none!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:74px!important;
    bottom:0!important;
    width:100vw!important;
    height:calc(100svh - 74px)!important;
    z-index:1000000!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:24px 24px calc(34px + env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(circle at 16% 0%, rgba(232,183,173,.30), transparent 34%),
      linear-gradient(180deg, rgba(255,248,245,.99), rgba(250,239,232,.99))!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
    border-top:1px solid rgba(232,215,207,.82)!important;
    box-shadow:0 45px 90px -48px rgba(43,30,27,.42)!important;
  }

  body.admin-bar .lb-mobile-nav,
  body.admin-bar #kpMobileNav,
  body.admin-bar [data-mobile-nav]{
    top:calc(74px + 32px)!important;
    height:calc(100svh - 74px - 32px)!important;
  }

  /* Open drawer: force visible regardless of old classes */
  body.kp-menu-open .lb-mobile-nav,
  body.kp-menu-open #kpMobileNav,
  body.kp-menu-open [data-mobile-nav],
  body.lb-menu-open .lb-mobile-nav,
  body.lb-menu-open #kpMobileNav,
  body.lb-menu-open [data-mobile-nav],
  .lb-mobile-nav.open,
  .lb-mobile-nav.is-open,
  #kpMobileNav.open,
  #kpMobileNav.is-open,
  [data-mobile-nav].open,
  [data-mobile-nav].is-open{
    display:block!important;
  }

  .lb-mobile-lang{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
    max-width:560px!important;
    margin:0 auto 20px!important;
  }

  .lb-mobile-lang a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    border-radius:999px!important;
    border:1px solid rgba(232,215,207,.9)!important;
    background:rgba(255,255,255,.72)!important;
    color:var(--cocoa)!important;
    font-family:var(--sans)!important;
    font-size:.72rem!important;
    font-weight:900!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
    padding:0 12px!important;
  }

  .lb-mobile-lang a.is-active{
    background:var(--cocoa)!important;
    color:var(--bg)!important;
    border-color:var(--cocoa)!important;
  }

  .lb-mobile-lang a:after{
    content:none!important;
  }

  .lb-mobile-nav nav,
  #kpMobileNav nav,
  [data-mobile-nav] nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    max-width:560px!important;
    margin:0 auto!important;
    padding:0!important;
  }

  .lb-mobile-nav nav a,
  #kpMobileNav nav a,
  [data-mobile-nav] nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    padding:15px 0!important;
    border-bottom:1px solid rgba(232,215,207,.86)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--cocoa)!important;
    font-family:var(--serif)!important;
    font-size:clamp(1.72rem,7.2vw,2.85rem)!important;
    line-height:1.05!important;
    font-weight:300!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }

  .lb-mobile-nav nav a:after,
  #kpMobileNav nav a:after,
  [data-mobile-nav] nav a:after{
    content:"→"!important;
    font-family:var(--sans)!important;
    font-size:1rem!important;
    color:var(--rose)!important;
    opacity:.72!important;
  }

  .lb-mobile-nav nav a.lb-mobile-cta,
  #kpMobileNav nav a.lb-mobile-cta,
  [data-mobile-nav] nav a.lb-mobile-cta{
    justify-content:center!important;
    min-height:54px!important;
    margin-top:24px!important;
    border-radius:999px!important;
    border:1px solid var(--cocoa)!important;
    background:var(--cocoa)!important;
    color:var(--bg)!important;
    font-family:var(--sans)!important;
    font-size:.76rem!important;
    font-weight:900!important;
    letter-spacing:.20em!important;
    text-transform:uppercase!important;
  }

  .lb-mobile-nav nav a.lb-mobile-cta:after,
  #kpMobileNav nav a.lb-mobile-cta:after,
  [data-mobile-nav] nav a.lb-mobile-cta:after{
    content:none!important;
  }
}

@media(max-width:782px){
  body.admin-bar .lb-mobile-nav,
  body.admin-bar #kpMobileNav,
  body.admin-bar [data-mobile-nav]{
    top:calc(74px + 46px)!important;
    height:calc(100svh - 74px - 46px)!important;
  }
}

@media(max-width:420px){
  .lb-menu-toggle,
  #kpMenuToggle,
  [data-menu-toggle]{
    min-width:86px!important;
  }
}


/* =========================================================
   Beauty v1.1.2 — Mobile Menu Language Gradient Fix
   Active language pill gets visible text and cocoa gradient like Book Appointment.
   ========================================================= */
.lb-mobile-lang a,
.lb-lang-switch a{
  text-decoration:none!important;
}

@media(max-width:980px){
  .lb-mobile-lang{
    align-items:stretch!important;
  }

  .lb-mobile-lang a{
    min-height:52px!important;
    border-radius:999px!important;
    font-family:var(--sans)!important;
    font-size:.74rem!important;
    font-weight:900!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    line-height:1!important;
    color:var(--cocoa)!important;
    background:linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(250,239,232,.96) 100%)!important;
    border:1px solid rgba(201,139,124,.26)!important;
    box-shadow:0 12px 26px -24px rgba(43,30,27,.26)!important;
  }

  .lb-mobile-lang a.is-active{
    color:#FFF8F5!important;
    background:linear-gradient(135deg, #2B1E1B 0%, #4A322C 55%, #2B1E1B 100%)!important;
    border-color:#2B1E1B!important;
    box-shadow:0 18px 36px -24px rgba(43,30,27,.45)!important;
  }

  .lb-mobile-lang a.is-active:hover,
  .lb-mobile-lang a.is-active:focus{
    color:#FFF8F5!important;
  }
}

.lb-header .lb-mobile-cta,
.lb-mobile-nav .lb-mobile-cta{
  background:linear-gradient(135deg, #2B1E1B 0%, #4A322C 55%, #2B1E1B 100%)!important;
}
