 :root{
  --bg:#050505;
  --bg2:#100607;
  --panel:rgba(16,9,10,.68);
  --panel-strong:rgba(20,10,12,.85);
  --line:rgba(255,255,255,.10);
  --text:#f6f2f3;
  --muted:#d0bfc2;
  --accent:#ff2b39;
  --accent-2:#ff6b55;
  --shadow:0 30px 80px rgba(0,0,0,.42);
  --radius:28px;
  --maxw:1380px;
  --blur:16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  min-height:100vh;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg),var(--bg2));
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}
code{background:rgba(255,255,255,.08); padding:2px 6px; border-radius:8px}
.muted{color:var(--muted)}
.small{font-size:12px}
.link{color:#ffe2e4; font-weight:700}

.bg-media{
  position:fixed; inset:0; z-index:-10; overflow:hidden; background:#070304;
}
.bg-media__video,
.bg-media__image{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  background-size:cover;
  background-position:center;
  backface-visibility:hidden;
}
.bg-media__image{
  filter:saturate(0.78) contrast(1.04);
  transform:scale(1.03);
}
.bg-media__video{
  filter:none;
  transform:none;
  will-change:transform, opacity;
  opacity:.88;
}
.bg-media--video .bg-grid{opacity:.08}
.bg-media--video .bg-media__glow{opacity:.22}
.bg-media__shade{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(3,3,4,.56) 0%, rgba(5,4,5,.80) 50%, rgba(4,4,4,.94) 100%),
    radial-gradient(circle at 20% 20%, rgba(255,38,58,.18), transparent 35%),
    radial-gradient(circle at 80% 80%, rgba(255,104,66,.10), transparent 25%);
}
.bg-media__glow{
  position:absolute; border-radius:999px; filter:blur(70px); opacity:.33;
}
.bg-media__glow--one{ width:300px; height:300px; top:8%; right:6%; background:rgba(255,46,57,.26); }
.bg-media__glow--two{ width:260px; height:260px; bottom:10%; left:4%; background:rgba(255,122,82,.18); }
.bg-grid{
  position:absolute; inset:0; opacity:.16;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.58), rgba(0,0,0,.12));
}

.nav-overlay{
  position:fixed; inset:0; z-index:18; display:none;
  background:rgba(2,2,3,.52); backdrop-filter:blur(10px);
}
.nav-overlay.open{display:block}

.topbar{
  position:sticky; top:0; z-index:20;
  padding:max(14px, env(safe-area-inset-top)) 18px 8px;
  backdrop-filter:saturate(1.1);
}
.topbar__inner{
  max-width:var(--maxw);
  margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  background:rgba(10,7,8,.54);
  backdrop-filter:blur(var(--blur));
  box-shadow:var(--shadow);
}

.brand{
  display:flex; align-items:center; gap:14px;
  min-width:0;
}
.brand strong{display:block; font-size:16px}
.brand small{display:block; color:var(--muted); font-size:12px; margin-top:2px}
.brand__emblem{
  width:18px; height:18px; border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 0 26px rgba(255,43,57,.58);
  flex:none;
}

.nav{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.nav a{
  padding:12px 14px; border-radius:14px;
  color:var(--muted);
  border:1px solid transparent;
  transition:.22s ease;
}
.nav a:hover, .nav a.active{
  color:var(--text);
  border-color:rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  transform:translateY(-1px);
}
.nav__footer{display:none}

.navbtn{
  display:none; width:48px; height:48px;
  border-radius:16px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05); cursor:pointer;
}
.navbtn span{
  display:block; height:2px; margin:6px 10px;
  background:var(--text); border-radius:999px;
}

.infobar{
  padding:0 18px 10px;
}
.infobar__inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:14px 18px;
  border-radius:20px;
  border:1px solid rgba(255,74,86,.20);
  background:rgba(255,43,57,.10);
  color:#ffe2e4;
  box-shadow:0 18px 40px rgba(255,43,57,.10);
}

.shell{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:22px;
  padding:18px;
}
.shell--admin{ grid-template-columns:1fr; }

.sidepanel{
  display:grid; gap:18px; align-self:start;
  position:sticky; top:118px;
}
.content{min-width:0}
.content-swap{transition:opacity .26s ease, transform .26s ease}
.content-swap.swap-out{opacity:.05; transform:translateY(12px)}
.content-swap.swap-in{animation:contentIn .32s ease}
@keyframes contentIn{
  from{opacity:.18; transform:translateY(12px)}
  to{opacity:1; transform:translateY(0)}
}

.glass{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(var(--blur));
}
.sidecard{
  padding:22px;
}
.sidecard__label, .eyebrow{
  color:#ffb5ba;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:700;
}
.sidecard__title{font-size:24px; font-weight:800; margin:8px 0 10px}
.sidecard__contact{font-size:24px; font-weight:800; margin:8px 0 4px}

.section{padding:10px 0 26px; scroll-margin-top:120px}
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:20px;
}
.h1,.hero__title{
  margin:0;
  font-size:clamp(34px, 5vw, 72px);
  line-height:.98;
  letter-spacing:-.04em;
}
.h2{margin:0; font-size:clamp(28px, 3vw, 40px); letter-spacing:-.03em}
.h3{margin:0; font-size:22px}
.lead{
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
  max-width:900px;
}

.hero{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:22px; align-items:center;
  min-height:calc(100vh - 220px);
}
.hero--mobile-wow{padding-top:8px}
.hero__content{
  padding:16px 0;
}
.hero__lead{ margin:18px 0 0; color:var(--muted); font-size:18px; line-height:1.8; max-width:760px; }
.hero__actions{
  display:flex; gap:14px; flex-wrap:wrap; margin-top:24px;
}
.hero__visual{display:flex; align-items:center; justify-content:center}
.hero__trust{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;
}
.hero-chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:#ffe6e8; font-size:13px; font-weight:700;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.hero-stage{
  position:relative; width:min(100%, 660px); padding:42px 0;
}
.hero-float{
  position:absolute; z-index:2; max-width:240px; padding:16px 18px;
  border-radius:22px;
}
.hero-float__label{
  display:block; margin-bottom:8px;
  color:#ffb5ba; text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800;
}
.hero-float strong{display:block; line-height:1.45}
.hero-float--top{top:0; left:-18px}
.hero-float--bottom{right:-6px; bottom:10px}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 18px; border-radius:16px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04); color:var(--text); cursor:pointer;
  transition:.22s ease; font-weight:700;
}
.btn:hover{ transform:translateY(-2px); border-color:rgba(255,255,255,.20); }
.btn--primary{
  background:linear-gradient(135deg, rgba(255,43,57,.92), rgba(255,114,82,.78));
  border-color:rgba(255,120,120,.36);
  box-shadow:0 20px 50px rgba(255,43,57,.24);
}
.btn--block{width:100%}
.btn--small{ padding:10px 12px; border-radius:12px; font-size:13px }
.btn--danger{ background:rgba(255,43,57,.12); border-color:rgba(255,43,57,.35) }

.stats{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px; margin-top:28px;
}
.stats--wide{margin-top:22px}
.stat{
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.stat strong{ display:block; font-size:22px; margin-bottom:8px }
.stat span{ color:var(--muted); font-size:14px; line-height:1.5 }

.hero-card{
  overflow:hidden; width:min(100%, 620px); transition:transform .18s ease;
}
.hero-card__media{
  min-height:370px;
  background-size:cover; background-position:center;
  position:relative;
  isolation:isolate;
}
.hero-card__media::after{
  content:"";
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(8,6,7,.72) 100%);
  border-radius:inherit;
}
.hero-card__badge{
  position:absolute;
  margin:24px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.12);
  z-index:2;
}
.hero-card{position:relative}
.hero-card__content{ padding:24px; }
.hero-card__content h3{ margin:0 0 10px; font-size:28px; letter-spacing:-.03em }
.hero-card__content p{ margin:0; color:var(--muted); line-height:1.7 }

.card-grid{
  display:grid; gap:18px;
}
.card-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.card-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }

.service-card, .portfolio-card, .booking-card, .step, .note{
  position:relative; overflow:hidden;
}
.service-card, .portfolio-card{
  padding:16px;
  display:flex; flex-direction:column; gap:12px;
  transition:.25s ease;
}
.service-card:hover, .portfolio-card:hover, .booking-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,255,255,.16);
}
.service-card__image,
.portfolio-card__image,
.detail__media,
.about-image{
  min-height:250px;
  border-radius:22px;
  background-size:cover; background-position:center;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  position:relative;
  isolation:isolate;
  box-shadow:0 28px 60px rgba(0,0,0,.26);
}
.service-card__image::before,
.portfolio-card__image::before,
.detail__media::before,
.about-image::before,
.hero-card__media::before{
  content:"";
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(circle at 10% 12%, rgba(255,43,57,.34) 0%, rgba(255,43,57,.18) 14%, rgba(255,43,57,0) 32%),
    radial-gradient(circle at 88% 88%, rgba(255,43,57,.32) 0%, rgba(255,114,82,.16) 16%, rgba(255,43,57,0) 34%);
  mix-blend-mode:screen;
}
.service-card__image::after,
.portfolio-card__image::after,
.detail__media::after,
.about-image::after,
.hero-card__media::after{
  content:"";
  position:absolute; inset:0; z-index:2; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), inset 0 1px 28px rgba(255,255,255,.05);
  border-radius:inherit;
}
.service-card__image{aspect-ratio:4/3}
.portfolio-card__image{aspect-ratio:16/10}
.service-card__image,
.portfolio-card__image,
.detail__media,
.about-image,
.hero-card__media{
  filter:saturate(1.02) contrast(1.03);
}
.service-card__image::before,
.portfolio-card__image::before,
.detail__media::before,
.about-image::before,
.hero-card__media::before{
  filter:blur(.4px);
}
.service-card__meta{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.service-card h3, .portfolio-card h3, .booking-card h3{
  margin:0; font-size:24px; letter-spacing:-.03em;
}
.service-card p, .portfolio-card p, .booking-card p, .step p, .note p{
  margin:0; color:var(--muted); line-height:1.7;
}
.pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 12px; border-radius:999px;
  background:rgba(255,43,57,.14); border:1px solid rgba(255,43,57,.26);
  color:#ffe8ea; font-size:12px; font-weight:700;
}
.price{ font-weight:800; color:#ffd1d4; }
.price--large{ font-size:28px }

.steps{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
}
.step{ padding:24px; }
.step span{
  display:inline-flex; width:48px; height:48px; border-radius:16px;
  align-items:center; justify-content:center; margin-bottom:14px;
  background:linear-gradient(135deg, rgba(255,43,57,.9), rgba(255,114,82,.78));
  font-weight:900;
}
.step h3{margin:0 0 8px}

.portfolio-card{ min-height:420px; padding:0 }
.portfolio-card__image{
  min-height:420px; height:100%;
  border-radius:inherit;
}
.portfolio-card__overlay{
  position:absolute; inset:auto 0 0 0;
  padding:22px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(10,8,9,.88) 100%);
}

.cta-strip{
  padding:28px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.cta-strip__actions{
  display:flex; gap:12px; flex-wrap:wrap;
}

.detail{
  display:grid; grid-template-columns:.92fr 1.08fr;
  gap:24px; padding:24px;
}
.detail__content{display:flex; flex-direction:column; gap:16px}
.detail__topline, .detail__actions{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.prose{ color:var(--muted); line-height:1.8; font-size:16px }
.prose.large{ font-size:18px }

.about-grid, .contact-grid, .booking-grid{
  display:grid; gap:18px;
}
.about-grid{ grid-template-columns:1.1fr .9fr; }
.contact-grid{ grid-template-columns:1.05fr .95fr; }
.booking-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }

.booking-card{
  padding:24px;
}
.booking-card__icon{
  width:54px; height:54px; border-radius:16px;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(255,43,57,.92), rgba(255,114,82,.78));
  font-size:28px; font-weight:900; margin-bottom:14px;
}
.booking-card__cta{
  display:inline-flex; margin-top:18px; color:#ffd1d4; font-weight:700;
}

.note{ padding:22px; margin-top:18px }

.form-card, .contact-card, .admin-card, .admin-login{
  padding:24px;
}
.form-card label, .admin-form label, .form-stack label{
  display:block; margin:14px 0 8px; font-weight:700;
}
.form-card input, .form-card textarea,
.admin-form input, .admin-form textarea,
.form-stack input, .form-stack textarea{
  width:100%; border:1px solid rgba(255,255,255,.10);
  border-radius:16px; padding:14px 16px;
  background:rgba(255,255,255,.05); color:var(--text);
  outline:none;
}
.form-card input:focus, .form-card textarea:focus,
.admin-form input:focus, .admin-form textarea:focus,
.form-stack input:focus, .form-stack textarea:focus{
  border-color:rgba(255,120,120,.45);
  box-shadow:0 0 0 4px rgba(255,43,57,.12);
}
.successbox{
  padding:18px 20px; margin-bottom:18px;
  border:1px solid rgba(106,255,183,.20); background:rgba(32,95,62,.22);
}
.contact-card__list{
  display:grid; gap:12px; margin:18px 0 18px;
}
.contact-card__list span{
  display:block; color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.14em;
}
.contact-card__list strong{
  display:block; margin-top:4px; font-size:17px;
}

.footer{
  padding:0 18px 28px;
}
.footer__inner{
  max-width:var(--maxw); margin:0 auto;
  padding:20px 22px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(10,7,8,.56);
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}

.mobile-cta{display:none}

.admin-wrap{
  display:grid; grid-template-columns:300px 1fr; gap:20px;
}
.admin-side{
  padding:22px; align-self:start; position:sticky; top:120px;
  display:grid; gap:18px;
}
.admin-nav{
  display:grid; gap:8px;
}
.admin-nav a{
  padding:12px 14px; border-radius:14px; color:var(--muted);
  border:1px solid transparent;
}
.admin-nav a.active, .admin-nav a:hover{
  color:var(--text); border-color:rgba(255,255,255,.12); background:rgba(255,255,255,.05);
}
.admin-main{ display:grid; gap:18px; min-width:0 }
.admin-form{
  display:grid; gap:14px;
}
.admin-form--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.admin-form .full{ grid-column:1 / -1; }
.checkline label{ display:flex; align-items:center; gap:10px; }
.checkline input{ width:auto; }
.admin-list{
  display:grid; gap:12px; margin-top:24px;
}
.admin-row{
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  padding:18px; border-radius:18px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03);
}
.admin-row__title{ font-weight:800; margin-bottom:4px }
.admin-row__actions{ display:flex; gap:10px; flex-wrap:wrap }
.admin-tools{ display:flex; gap:10px; flex-wrap:wrap }
.admin-subtitle{ display:grid; gap:4px; }
.admin-actions-row{ display:flex; gap:10px; flex-wrap:wrap; }
.admin-help .prose{ max-width:900px; }
.dropzone{
  position:relative;
  margin-top:10px;
  padding:16px 18px;
  border-radius:16px;
  border:1px dashed rgba(255,255,255,.22);
  background:rgba(255,255,255,.03);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
  text-align:center;
  min-height:72px;
  display:grid;
  place-items:center;
  gap:6px;
}
.dropzone:hover, .dropzone.dragover{
  border-color:rgba(255,114,82,.82);
  background:rgba(255,114,82,.08);
  box-shadow:0 0 0 2px rgba(255,114,82,.14) inset;
  transform:translateY(-1px);
}
.dropzone.is-uploading{
  cursor:progress !important;
  border-color:rgba(80,160,255,.72);
  background:rgba(80,160,255,.10);
}
.dropzone.is-success{
  border-color:rgba(78,205,120,.72);
  background:rgba(78,205,120,.10);
}
.dropzone.is-error{
  border-color:rgba(255,92,92,.72);
  background:rgba(255,92,92,.10);
}
.dropzone__input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.dropzone__message{
  display:grid;
  gap:4px;
}
.detail-gallery{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:22px 0;
}
.detail-gallery__item{
  min-height:130px; border-radius:18px; background-size:cover; background-position:center;
  border:1px solid rgba(255,255,255,.08); box-shadow:var(--shadow);
}
.detail-custom{ margin:18px 0; }
.admin-login{ max-width:560px }
.form-stack{ display:grid; gap:10px; margin-top:16px; }
.errbox{
  margin-top:18px; padding:14px 16px; border-radius:16px;
  background:rgba(255,43,57,.12); border:1px solid rgba(255,43,57,.28);
}

.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal-left{ transform:translateX(-32px); }
.reveal-right{ transform:translateX(32px); }
.reveal.in{ opacity:1; transform:none; }

.card-grid .reveal:nth-child(2),
.steps .reveal:nth-child(2),
.booking-grid .reveal:nth-child(2){transition-delay:.08s}
.card-grid .reveal:nth-child(3),
.steps .reveal:nth-child(3),
.booking-grid .reveal:nth-child(3){transition-delay:.16s}

@media (max-width: 1180px){
  .shell{ grid-template-columns:1fr; }
  .sidepanel{ position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero{ grid-template-columns:1fr; min-height:auto; padding-top:16px; }
  .hero-stage{ max-width:780px; margin:0 auto; }
  .card-grid--3, .steps, .booking-grid{ grid-template-columns:1fr 1fr; }
  .detail, .about-grid, .contact-grid, .admin-wrap{ grid-template-columns:1fr; }
  .admin-side{ position:static; }
}
@media (max-width: 1024px){
  .topbar__inner{padding:12px 14px}
  .hero__content{text-align:center}
  .hero__lead{margin-left:auto; margin-right:auto}
  .hero__actions, .hero__trust{justify-content:center}
  .section-head{align-items:flex-start}
}
@media (max-width: 820px){
  .navbtn{ display:block; position:relative; z-index:21; }
  .nav{
    position:fixed; top:16px; left:16px; right:16px; z-index:19;
    padding:18px; border-radius:28px;
    background:rgba(8,6,7,.94); border:1px solid rgba(255,255,255,.10);
    flex-direction:column; align-items:stretch; display:flex;
    opacity:0; pointer-events:none; transform:translateY(-18px) scale(.98);
    transition:opacity .28s ease, transform .28s ease;
    box-shadow:var(--shadow);
  }
  .nav.open{ opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
  .nav a{font-size:17px; padding:15px 16px}
  .nav__footer{display:grid; gap:10px; margin-top:8px; padding-top:10px; border-top:1px solid rgba(255,255,255,.08)}
  .stats, .card-grid--2, .card-grid--3, .steps, .booking-grid{
    grid-template-columns:1fr;
  }
  .sidepanel{display:none}
  .cta-strip, .section-head, .footer__inner{ flex-direction:column; align-items:flex-start; }
  .hero--mobile-wow{gap:18px}
  .hero-stage{padding:18px 0 34px}
  .hero-float{position:relative; max-width:none; left:auto; right:auto; top:auto; bottom:auto; margin-bottom:14px}
  .hero-float--bottom{margin:14px 0 0}
  .hero-card{width:100%}
  .hero-card__media{min-height:280px}
  .hero__actions{flex-direction:column; align-items:stretch}
  .hero__actions .btn{width:100%}
  .mobile-cta{
    position:fixed; left:12px; right:12px; bottom:max(12px, env(safe-area-inset-bottom));
    z-index:22; display:grid; grid-template-columns:1fr 1.1fr; gap:10px;
  }
  .mobile-cta__item{
    display:flex; flex-direction:column; gap:4px; justify-content:center;
    min-height:62px; padding:14px 16px; border-radius:20px;
    background:rgba(10,7,8,.88); border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(18px); box-shadow:0 24px 50px rgba(0,0,0,.35);
  }
  .mobile-cta__item span{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#ffb5ba; font-weight:800}
  .mobile-cta__item strong{font-size:14px; line-height:1.3}
  .mobile-cta__item--primary{background:linear-gradient(135deg, rgba(255,43,57,.96), rgba(255,114,82,.84)); border-color:rgba(255,255,255,.20)}
  .footer{padding-bottom:110px}
}
@media (max-width: 640px){
  .topbar{ padding:max(12px, env(safe-area-inset-top)) 12px 6px; }
  .topbar__inner, .footer__inner{ padding:14px; }
  .infobar, .shell, .footer{ padding-left:12px; padding-right:12px; }
  .shell{ padding-top:12px; }
  .h1,.hero__title{font-size:clamp(32px, 11vw, 52px)}
  .hero__lead, .lead{font-size:15px; line-height:1.7}
  .hero-chip{width:100%; justify-content:center}
  .hero-card__media, .service-card__image, .portfolio-card__image, .detail__media, .about-image{ min-height:220px; }
  .hero-card__content, .step, .booking-card, .form-card, .contact-card, .detail{padding:18px}
  .service-card, .portfolio-card{padding:14px}
  .service-card h3, .portfolio-card h3, .booking-card h3{font-size:20px}
  .stats{gap:12px}
  .stat{padding:16px}
  .mobile-cta{grid-template-columns:1fr}
}
@media (hover:none) and (pointer:coarse){
  .tilt-card{transform:none !important}
  .service-card:hover, .portfolio-card:hover, .booking-card:hover{transform:none}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal, .content-swap, .nav, .hero-card, .btn{transition:none !important; animation:none !important}
}

.errorbox{
  padding:18px 20px; margin-bottom:18px;
  border:1px solid rgba(255,126,126,.22); background:rgba(110,32,38,.26);
}
.smallbox{border-radius:18px}
.settings-tabs{display:flex; gap:10px; flex-wrap:wrap; margin:8px 0 18px}
.settings-tab{
  appearance:none; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04);
  color:var(--muted); padding:12px 14px; border-radius:16px; cursor:pointer; font-weight:700;
}
.settings-tab.active{color:var(--text); background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18)}
.settings-panel{display:none; grid-template-columns:inherit; gap:inherit; grid-column:1/-1}
.settings-panel.active{display:grid}
.admin-preview-card{margin-top:12px; border:1px solid rgba(255,255,255,.08); border-radius:20px; overflow:hidden; background:rgba(0,0,0,.24)}
.admin-preview-media,.admin-preview-image{width:100%; min-height:240px; display:block; background-size:cover; background-position:center}
.info-inline{padding:16px 18px; border-radius:18px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03)}
.admin-row--stack{align-items:start}
.booking-top-grid,.booking-layout-grid{display:grid; gap:18px}
.booking-top-grid{grid-template-columns:1fr 1fr; margin-bottom:18px}
.booking-layout-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr)}
.booking-hero-card{padding:22px}
.booking-actions-inline{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px}
.booking-actions-inline--stack{display:grid}
.booking-calendar{padding:22px}
.booking-side-col{display:grid; gap:18px; align-self:start}
.calendar-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.calendar-day{padding:16px}
.calendar-day__head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px}
.calendar-slots{display:grid; gap:10px}
.slot-form{display:grid; gap:8px; padding:10px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05)}
.slot-service-select{min-width:0}
.slot-form textarea,.slot-form select{width:100%; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); color:var(--text)}
.slot-btn,.slot-btn--link{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border-radius:14px;
  background:linear-gradient(135deg, rgba(255,43,57,.94), rgba(255,114,82,.84)); color:white; font-weight:800; border:0;
}
.slot-btn--link{text-decoration:none}
.slot-btn--disabled{background:rgba(255,255,255,.08); color:var(--muted)}
.booking-summary-list{display:grid; gap:10px}
.booking-summary-item{padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06)}
.booking-summary-list--full{margin-top:18px}
.pill--danger{background:rgba(255,88,88,.15); border-color:rgba(255,88,88,.28); color:#ffb9b9}
@media (max-width: 1200px){
  .calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 960px){
  .booking-top-grid,.booking-layout-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .calendar-grid{grid-template-columns:1fr}
  .settings-tabs{display:grid; grid-template-columns:1fr 1fr}
}

.flashbox{padding:18px 20px; margin-bottom:18px}
.flashbox--success{border:1px solid rgba(106,255,183,.20); background:rgba(32,95,62,.22)}
.flashbox--error{border:1px solid rgba(255,126,126,.22); background:rgba(110,32,38,.26)}
.admin-wrap--v2{grid-template-columns:320px 1fr}
.admin-main{min-width:0}
.admin-nav--strong a{
  padding:14px 16px; border-radius:18px; background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06); font-weight:800; letter-spacing:.01em;
}
.admin-nav--strong a.active,
.admin-nav--strong a:hover{
  background:linear-gradient(135deg, rgba(255,43,57,.18), rgba(255,114,82,.12));
  border-color:rgba(255,124,124,.34); box-shadow:0 18px 40px rgba(255,43,57,.12);
}
.sidecard--compact{padding:18px}
.sidecard__mini{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.06)}
.sidecard__mini:last-child{border-bottom:0}
.sidecard__mini span{color:var(--muted); font-size:13px}
.section-head--tight{margin-bottom:18px}
.settings-tabs--links{margin-bottom:22px}
.settings-tabs--links .settings-tab{text-decoration:none; display:inline-flex; align-items:center; justify-content:center; min-height:48px}
.checkbox-row{display:flex; align-items:center}
.checkbox{display:inline-flex !important; align-items:center; gap:12px; margin:0 !important; font-weight:700}
.checkbox input{width:18px !important; height:18px; margin:0}
.status-strip{padding:14px 16px; border-radius:16px; border:1px solid rgba(255,255,255,.08)}
.status-strip--ok{background:rgba(32,95,62,.22); border-color:rgba(106,255,183,.20)}
.status-strip--warn{background:rgba(110,82,32,.22); border-color:rgba(255,196,126,.22)}
.admin-preview-empty{padding:28px; color:var(--muted); text-align:center}
@media (max-width: 1180px){
  .admin-wrap--v2{grid-template-columns:1fr}
}

.settings-tabs--cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 24px}
.settings-tab--card{display:flex;align-items:center;gap:14px;min-height:78px;padding:16px 18px;border-radius:20px;text-decoration:none;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.settings-tab--card:hover{transform:translateY(-2px);border-color:rgba(255,124,124,.28);background:rgba(255,255,255,.055)}
.settings-tab--card.active{background:linear-gradient(135deg, rgba(255,43,57,.16), rgba(255,114,82,.10));border-color:rgba(255,124,124,.34);box-shadow:0 18px 40px rgba(255,43,57,.10)}
.settings-tab__icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-weight:800;color:var(--text);flex:none}
.settings-tab__meta{display:grid;gap:4px;min-width:0}
.settings-tab__meta strong{font-size:15px;color:var(--text)}
.settings-tab__meta small{font-size:12px;line-height:1.4;color:var(--muted)}
.receipt-card{margin-top:10px;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);min-width:min(100%,360px)}
.receipt-card__head,.receipt-card__row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.receipt-card__head{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}
.receipt-card__head span,.receipt-card__row span{color:var(--muted);font-size:12px}
.receipt-card__row{padding:6px 0}
@media (max-width: 960px){.settings-tabs--cards{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.settings-tabs--cards{grid-template-columns:1fr}.settings-tab--card{min-height:72px}}


/* v5.0.2 booking and admin UX */
.booking-page--premium .section-head--booking{margin-bottom:18px}
.booking-lead{max-width:780px}
.booking-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;margin-bottom:18px}
.booking-flow__item{display:grid;gap:6px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.booking-flow__item span{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);font-weight:800;color:#fff}
.booking-flow__item strong{font-size:15px}
.booking-flow__item small{color:var(--muted);line-height:1.4}
.booking-flow__item--active,.booking-flow__item--done{background:linear-gradient(135deg, rgba(255,43,57,.14), rgba(255,114,82,.08));border-color:rgba(255,124,124,.26)}
.booking-flow__item--done span,.booking-flow__item--active span{background:linear-gradient(135deg, rgba(255,43,57,.95), rgba(255,114,82,.85))}
.booking-top-grid--v2{grid-template-columns:1.2fr .8fr}
.booking-hero-card--focus{background:linear-gradient(135deg, rgba(255,43,57,.10), rgba(255,255,255,.03));border-color:rgba(255,124,124,.18)}
.booking-meta-strip{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--muted)}
.booking-meta-strip span{padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.booking-calendar--premium{padding:24px}
.booking-calendar__head{align-items:center}
.booking-selected-service{display:grid;gap:4px;text-align:right}
.booking-selected-service span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffb5ba;font-weight:800}
.service-switcher{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 18px}
.service-chip{display:grid;gap:4px;min-width:190px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);transition:.2s ease;text-decoration:none}
.service-chip span{font-weight:800;color:var(--text)}
.service-chip small{color:var(--muted)}
.service-chip:hover,.service-chip.active{transform:translateY(-2px);background:linear-gradient(135deg, rgba(255,43,57,.16), rgba(255,114,82,.08));border-color:rgba(255,124,124,.30);box-shadow:0 16px 36px rgba(255,43,57,.10)}
.booking-lock{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:18px;border-radius:22px}
.calendar-weeks{display:grid;gap:18px}
.calendar-week{display:grid;gap:14px}
.calendar-week__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);color:var(--muted)}
.calendar-week__bar strong{color:var(--text)}
.calendar-week__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.calendar-panel{display:grid;gap:14px;padding:16px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);min-height:220px}
.calendar-panel--blocked{opacity:.72}
.calendar-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.calendar-panel__weekday{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffb5ba;font-weight:800;margin-bottom:6px}
.calendar-panel__head strong{font-size:24px;line-height:1}
.calendar-panel__slots{display:grid;gap:8px;align-content:start}
.calendar-slot-form{display:block}
.calendar-slot,.calendar-slot--link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--text);font-weight:800;transition:.18s ease;text-decoration:none;width:100%}
button.calendar-slot{cursor:pointer}
.calendar-slot:hover,.calendar-slot--link:hover{transform:translateY(-1px);background:linear-gradient(135deg, rgba(255,43,57,.94), rgba(255,114,82,.84));border-color:rgba(255,124,124,.36)}
.calendar-slot--ghost{background:rgba(255,255,255,.03)}
.calendar-slot--disabled{background:rgba(255,255,255,.04);color:rgba(255,255,255,.36);border-style:dashed;pointer-events:none}
.calendar-empty{padding:12px;border-radius:14px;background:rgba(255,255,255,.03);color:var(--muted);text-align:center}
.booking-history-strip{padding:22px;margin-top:18px}
.account-auth-grid{grid-template-columns:.95fr 1.05fr}
.account-auth-card{align-self:start}
.booking-layout-grid--account{grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr)}
.settings-tabs--cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.settings-tab--card{min-height:92px;padding:18px 20px;border-radius:22px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 40px rgba(0,0,0,.14)}
.settings-tab--card .settings-tab__icon{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.08);font-size:18px}
.settings-tab--card.active{background:linear-gradient(135deg, rgba(255,43,57,.22), rgba(255,114,82,.12));border-color:rgba(255,124,124,.38);box-shadow:0 22px 46px rgba(255,43,57,.14)}
.settings-tab--card:hover{transform:translateY(-3px)}
@media (max-width: 1280px){.calendar-week__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width: 960px){.booking-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-week__grid,.booking-layout-grid--account,.account-auth-grid,.booking-top-grid--v2{grid-template-columns:1fr}.booking-lock{flex-direction:column;align-items:flex-start}}
@media (max-width: 640px){.booking-flow{grid-template-columns:1fr}.service-chip{min-width:100%}.calendar-panel{min-height:auto}.calendar-week__grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.bg-media__video{display:none}}


/* v5.0.3 admin settings and guest booking */
.shell{grid-template-columns:minmax(0,1fr)}
.settings-tabs--cards{grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;margin:16px 0 28px}
.settings-tab--card{position:relative;display:grid;grid-template-columns:64px 1fr;align-items:center;gap:16px;min-height:112px;padding:20px 22px;border-radius:24px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.16);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.settings-tab--card::after{content:"";position:absolute;inset:auto 22px 16px 22px;height:2px;border-radius:999px;background:linear-gradient(90deg, rgba(255,43,57,.0), rgba(255,124,124,.75), rgba(255,43,57,.0));opacity:0;transition:opacity .18s ease}
.settings-tab--card:hover{transform:translateY(-4px);border-color:rgba(255,124,124,.32);box-shadow:0 26px 50px rgba(0,0,0,.22)}
.settings-tab--card.active{background:linear-gradient(135deg, rgba(255,43,57,.20), rgba(255,114,82,.12));border-color:rgba(255,124,124,.44);box-shadow:0 28px 54px rgba(255,43,57,.16)}
.settings-tab--card.active::after{opacity:1}
.settings-tab__icon{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);font-size:22px;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.settings-tab__meta{display:grid;gap:6px;min-width:0}
.settings-tab__meta strong{font-size:17px;line-height:1.2}
.settings-tab__meta small{font-size:13px;line-height:1.45;color:rgba(255,245,246,.74)}
.settings-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px;margin:0 0 18px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.booking-modal[hidden]{display:none}
.booking-modal{position:fixed;inset:0;z-index:80}
.booking-modal__backdrop{position:absolute;inset:0;background:rgba(4,5,9,.72);backdrop-filter:blur(10px)}
.booking-modal__dialog{position:relative;z-index:1;width:min(680px,calc(100vw - 28px));margin:6vh auto;padding:24px;border-radius:28px}
.booking-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-size:24px;cursor:pointer}
.booking-modal__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 20px}
.booking-modal__summary div{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.booking-modal__summary span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.booking-modal__summary strong{font-size:16px}
.booking-modal__actions{display:flex;gap:10px;justify-content:flex-end}
.calendar-slot--trigger{cursor:pointer}
@media (max-width: 960px){.settings-tabs--cards{grid-template-columns:1fr 1fr}.booking-modal__summary{grid-template-columns:1fr}}
@media (max-width: 640px){.settings-tabs--cards{grid-template-columns:1fr}.settings-tab--card{grid-template-columns:56px 1fr;min-height:96px;padding:18px}.settings-tab__icon{width:56px;height:56px}.booking-modal__dialog{margin:0;min-height:100vh;width:100vw;border-radius:0;padding:22px 18px}.booking-modal__actions{flex-direction:column}}


/* v5.0.4 visual cleanup */
.hero-stage{padding:64px 28px 64px 28px}
.hero-float{padding:25px; max-width:260px; pointer-events:none}
.hero-float--top{top:18px; left:18px}
.hero-float--bottom{right:18px; bottom:18px}
.hero-card,
.service-card,
.portfolio-card,
.sidecard,
.detail,
.booking-hero-card,
.booking-calendar,
.admin-shell__panel,
.admin-card,
.admin-tab,
.calendar-panel,
.successbox,
.errorbox,
.infobar__inner{padding:25px}
.service-card,
.portfolio-card{overflow:hidden}
.service-card__meta,
.portfolio-card__overlay,
.detail__content,
.booking-modal__dialog,
.calendar-panel__head,
.calendar-panel__slots{padding:25px}
.service-card__image,
.portfolio-card__image,
.detail__media{border-radius:22px}
.hero-card{padding:0; overflow:hidden}
.hero-card__body{padding:25px}
.detail{gap:25px}
.detail__media{min-height:420px; background-position:center; background-size:cover; border:0; cursor:zoom-in}
.detail__media--button{appearance:none; width:100%; display:block}
.detail-gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:18px; margin-top:25px}
.detail-gallery__item{appearance:none; border:1px solid rgba(255,255,255,.08); min-height:180px; border-radius:22px; background-position:center; background-size:cover; cursor:zoom-in; box-shadow:var(--shadow)}
.detail-gallery__item:hover,.detail__media--button:hover{transform:translateY(-2px); border-color:rgba(255,255,255,.18)}
.section .lead,.prose,.service-card p,.portfolio-card p,.hero-card__body p,.booking-hero-card p,.calendar-empty{line-height:1.7}
.hero-card__body h2,.hero-card__body p,.portfolio-card__overlay h3,.portfolio-card__overlay p,.service-card h3,.service-card p{margin-block:0 14px}
.media-lightbox{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:32px; background:rgba(2,2,4,.88); backdrop-filter:blur(14px); z-index:1200}
.media-lightbox[hidden]{display:none}
.media-lightbox__backdrop{position:absolute; inset:0}
.media-lightbox__dialog{position:relative; max-width:min(94vw,1500px); max-height:92vh; width:auto; z-index:1}
.media-lightbox__image{display:block; max-width:100%; max-height:92vh; width:auto; height:auto; border-radius:26px; box-shadow:0 40px 120px rgba(0,0,0,.6); background:#111}
.media-lightbox__close{position:absolute; top:16px; right:16px; z-index:2; width:52px; height:52px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(6,6,8,.72); color:#fff; font-size:28px; cursor:pointer}
body.media-lightbox-open .topbar,
body.media-lightbox-open .footer,
body.media-lightbox-open .mobile-cta,
body.media-lightbox-open .bg-media,
body.media-lightbox-open .infobar,
body.media-lightbox-open .music-player,
body.media-lightbox-open [data-player],
body.media-lightbox-open .player,
body.media-lightbox-open audio{opacity:0;pointer-events:none;}
body.media-lightbox-open .media-lightbox{background:rgba(0,0,0,.97);backdrop-filter:none;}
@media (max-width: 1180px){
  .hero{grid-template-columns:1fr; gap:18px}
  .hero-stage{padding:18px 0 0}
  .hero-float{position:relative; max-width:none; left:auto; right:auto; top:auto; bottom:auto; margin-top:18px; pointer-events:auto}
}
@media (max-width: 760px){
  .hero-card,
  .service-card,
  .portfolio-card,
  .sidecard,
  .detail,
  .booking-hero-card,
  .booking-calendar,
  .calendar-panel,
  .successbox,
  .errorbox,
  .infobar__inner{padding:25px}
  .service-card__meta,
  .portfolio-card__overlay,
  .detail__content,
  .booking-modal__dialog,
  .calendar-panel__head,
  .calendar-panel__slots,
  .hero-card__body{padding:25px}
  .media-lightbox{padding:14px}
  .media-lightbox__image{border-radius:18px}
}

/* v5.0.5 layout refresh */
:root{
  --space-card:25px;
}

.section,
.glass,
.service-card,
.portfolio-card,
.step,
.cta-strip,
.admin-card,
.admin-login,
.booking-calendar,
.booking-hero-card,
.calendar-panel,
.form-card,
.successbox,
.errorbox,
.sidecard,
.admin-row,
.info-inline,
.contact-card,
.about-card,
.service-detail,
.portfolio-detail,
.account-shell,
.booking-modal__dialog{
  box-sizing:border-box;
}

.shell{
  padding-top:8px;
}

.topbar{
  padding:max(16px, env(safe-area-inset-top)) 20px 10px;
}
.topbar__inner{
  padding:16px 20px;
  border-radius:28px;
}
.nav{
  gap:12px;
}
.nav a{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:18px;
}

.hero{
  min-height:auto;
  gap:28px;
}
.hero--client-ready{
  align-items:stretch;
}
.hero__content{
  padding:var(--space-card) 0;
}
.hero__lead{
  max-width:720px;
}
.hero-stage{
  display:grid;
  gap:18px;
}
.hero-stage--clean{
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
.hero-card{
  overflow:hidden;
  min-height:0;
}
.hero-card__media{
  aspect-ratio:16/10;
  min-height:360px;
  background-size:cover;
  background-position:center;
}
.hero-card__content{
  padding:var(--space-card);
}
.hero-card__content--stacked{
  display:grid;
  gap:14px;
}
.hero-card__content--stacked h3,
.hero-card__content--stacked p{
  margin:0;
}
.hero-card__badge{
  position:static;
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}
.hero-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.hero-float{
  position:static;
  padding:var(--space-card);
  min-height:150px;
  display:grid;
  align-content:start;
  gap:10px;
}
.hero-float strong{
  font-size:clamp(24px,2vw,32px);
  line-height:1.15;
}
.hero-float__label{
  color:#ffb5ba;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:800;
}

.card-grid,
.steps,
.booking-top-grid,
.calendar-week__grid,
.admin-form,
.admin-list,
.contact-grid,
.about-grid,
.account-grid{
  gap:25px;
}

.service-card,
.portfolio-card,
.step,
.cta-strip,
.booking-hero-card,
.booking-calendar,
.admin-card,
.admin-login,
.successbox,
.errorbox,
.contact-card,
.about-card,
.account-shell,
.booking-history-strip,
.flashbox{
  padding:var(--space-card);
}
.service-card__meta,
.service-card h3,
.service-card p,
.portfolio-card__overlay,
.step h3,
.step p,
.cta-strip__actions{
  margin-top:0;
}
.service-card__image,
.portfolio-card__image{
  border-radius:22px;
}
.portfolio-card{
  overflow:hidden;
}
.portfolio-card__overlay{
  padding:25px;
  backdrop-filter:blur(10px);
}

.booking-top-grid--v2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.booking-meta-strip{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}
.booking-meta-strip span{
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}
.booking-calendar__head{
  align-items:flex-start;
}
.service-switcher{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:20px 0 25px;
}
.service-chip{
  display:grid;
  gap:6px;
  min-width:180px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}
.service-chip.active{
  background:linear-gradient(135deg, rgba(255,43,57,.18), rgba(255,114,82,.12));
  border-color:rgba(255,114,82,.30);
}
.calendar-week{
  display:grid;
  gap:16px;
}
.calendar-week__bar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:14px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}
.calendar-week__grid{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.calendar-panel{
  padding:20px;
  min-height:240px;
  border-radius:24px;
}
.calendar-panel__slots{
  gap:10px;
}
.calendar-slot,
.calendar-slot--link{
  min-height:46px;
  border-radius:16px;
}
.booking-modal__dialog{
  width:min(680px, calc(100vw - 30px));
  padding:30px;
}
.booking-modal__summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0 22px;
}
.booking-modal__summary > div{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.booking-modal__summary span{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.settings-tabs--cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin:18px 0 24px;
}
.settings-tab--card{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-height:104px;
  padding:22px;
  border-radius:24px;
  text-decoration:none;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.settings-tab--card:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.16);
}
.settings-tab--card.active{
  color:var(--text);
  background:linear-gradient(135deg, rgba(255,43,57,.18), rgba(255,114,82,.11));
  border-color:rgba(255,114,82,.35);
  box-shadow:0 16px 40px rgba(255,43,57,.12);
}
.settings-tab__icon{
  flex:none;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  font-size:22px;
}
.settings-tab__meta{
  display:grid;
  gap:6px;
}
.settings-tab__meta strong{
  font-size:18px;
  line-height:1.2;
}
.settings-tab__meta small{
  color:var(--muted);
  line-height:1.5;
}
.settings-panel-head{
  margin-bottom:24px;
  padding:20px 22px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.settings-panel-head .muted{
  max-width:760px;
}
.admin-form{
  gap:18px;
}
.admin-form input,
.admin-form textarea,
.admin-form select,
.form-stack input,
.form-stack textarea,
.form-stack select{
  padding:16px 18px;
  border-radius:18px;
}
.dropzone{
  padding:20px;
  border-radius:20px;
}

.content .eyebrow + .h1,
.content .eyebrow + .h2,
.content .eyebrow + .h3{
  margin-top:8px;
}

@media (max-width: 1180px){
  .hero,
  .booking-top-grid--v2,
  .admin-wrap{
    grid-template-columns:1fr;
  }
  .hero-info-grid,
  .settings-tabs--cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .calendar-week__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .admin-side{
    position:static;
  }
}

@media (max-width: 820px){
  .topbar__inner{
    padding:14px 16px;
  }
  .hero-card__media{
    min-height:280px;
  }
  .hero-info-grid,
  .settings-tabs--cards,
  .calendar-week__grid,
  .booking-modal__summary{
    grid-template-columns:1fr;
  }
  .calendar-panel{
    min-height:0;
  }
  .booking-modal__dialog{
    padding:22px;
  }
}


/* v5.0.6 admin settings module cards */
.admin-card .settings-tabs--modules{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin:20px 0 28px;
}
.admin-card .settings-tabs--modules > a.settings-module-card{
  position:relative;
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:16px;
  min-height:116px;
  width:100%;
  padding:22px 24px;
  border-radius:24px;
  text-decoration:none;
  color:var(--text);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.admin-card .settings-tabs--modules > a.settings-module-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(255,114,82,.14), transparent 42%);
  pointer-events:none;
}
.admin-card .settings-tabs--modules > a.settings-module-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,124,124,.28);
  box-shadow:0 26px 54px rgba(0,0,0,.22);
}
.admin-card .settings-tabs--modules > a.settings-module-card.active{
  background:linear-gradient(135deg, rgba(255,43,57,.22), rgba(255,114,82,.13));
  border-color:rgba(255,124,124,.42);
  box-shadow:0 28px 56px rgba(255,43,57,.16);
}
.admin-card .settings-tabs--modules > a.settings-module-card .settings-tab__icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-size:26px;
  line-height:1;
}
.admin-card .settings-tabs--modules > a.settings-module-card .settings-tab__meta{
  display:grid;
  gap:6px;
  min-width:0;
}
.admin-card .settings-tabs--modules > a.settings-module-card .settings-tab__meta strong{
  display:block;
  font-size:18px;
  line-height:1.2;
  color:var(--text);
}
.admin-card .settings-tabs--modules > a.settings-module-card .settings-tab__meta small{
  display:block;
  font-size:13px;
  line-height:1.55;
  color:rgba(255,245,246,.76);
}
@media (max-width: 980px){
  .admin-card .settings-tabs--modules{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 640px){
  .admin-card .settings-tabs--modules{grid-template-columns:1fr;}
  .admin-card .settings-tabs--modules > a.settings-module-card{grid-template-columns:56px minmax(0,1fr);min-height:100px;padding:20px;}
  .admin-card .settings-tabs--modules > a.settings-module-card .settings-tab__icon{width:56px;height:56px;font-size:22px;}
}


/* v5.0.6b admin settings cards hard-fix */
.settings-module-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:20px 0 28px;
}
.settings-module-card{
  position:relative;
  display:grid !important;
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:16px;
  width:100%;
  min-height:118px;
  padding:22px 24px;
  border-radius:24px;
  text-decoration:none;
  color:var(--text);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.settings-module-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(255,114,82,.14), transparent 42%);
  pointer-events:none;
}
.settings-module-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,124,124,.28);
  box-shadow:0 26px 54px rgba(0,0,0,.22);
}
.settings-module-card.active{
  background:linear-gradient(135deg, rgba(255,43,57,.22), rgba(255,114,82,.13));
  border-color:rgba(255,124,124,.42);
  box-shadow:0 28px 56px rgba(255,43,57,.16);
}
.settings-module-card__icon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-size:26px;
  line-height:1;
  z-index:1;
}
.settings-module-card__body{
  display:grid;
  gap:6px;
  min-width:0;
  z-index:1;
}
.settings-module-card__body strong{
  display:block;
  font-size:18px;
  line-height:1.2;
  color:var(--text);
}
.settings-module-card__body small{
  display:block;
  font-size:13px;
  line-height:1.55;
  color:rgba(255,245,246,.76);
}
@media (max-width: 980px){
  .settings-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .settings-module-grid{grid-template-columns:1fr;}
  .settings-module-card{grid-template-columns:56px minmax(0,1fr);min-height:100px;padding:20px;}
  .settings-module-card__icon{width:56px;height:56px;font-size:22px;}
}


/* v5.0.7 simple booking layout */
.booking-page--simple .booking-intro{margin-bottom:20px}
.booking-card-booksy{display:grid;gap:24px;padding:28px;border-radius:28px}
.booking-booksy-head,.booking-time-panel__head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.booking-booksy-note{color:var(--muted)}
.booking-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}
.booking-day-card{display:grid;gap:8px;align-content:start;min-height:148px;padding:20px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);text-align:left;cursor:pointer;transition:.2s ease}
.booking-day-card:hover,.booking-day-card.is-active{transform:translateY(-2px);border-color:rgba(255,124,124,.30);background:linear-gradient(135deg, rgba(255,43,57,.14), rgba(255,114,82,.06));box-shadow:0 18px 40px rgba(255,43,57,.10)}
.booking-day-card.is-empty{opacity:.7}
.booking-day-card.is-blocked,.booking-day-card:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.booking-day-card__weekday{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#ffb5ba;font-weight:800}
.booking-day-card__date{font-size:34px;line-height:1;font-weight:900}
.booking-day-card__month,.booking-day-card__meta{color:var(--muted)}
.booking-time-panel{display:grid;gap:16px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}
.booking-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.booking-time-slot{padding:18px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:var(--text);font-weight:800;cursor:pointer;transition:.2s ease}
.booking-time-slot:hover{transform:translateY(-2px);border-color:rgba(255,124,124,.30);background:linear-gradient(135deg, rgba(255,43,57,.18), rgba(255,114,82,.08))}
.booking-modal__form select{width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);color:var(--text)}
@media (max-width: 1100px){.booking-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 760px){.booking-card-booksy{padding:22px}.booking-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-day-card{min-height:132px;padding:18px}}
@media (max-width: 520px){.booking-booksy-head,.booking-time-panel__head{align-items:flex-start}.booking-time-grid,.booking-day-grid{grid-template-columns:1fr}.booking-day-card__date{font-size:28px}}

.media-lightbox__dialog{display:flex;align-items:center;justify-content:center}

/* v5.0.8 responsive hardening */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
iframe,table,pre{max-width:100%}
input,textarea,select,button{font:inherit}
textarea{max-width:100%;resize:vertical}
select{max-width:100%}
.brand, .brand span, .brand strong, .brand small,
.nav, .section-head, .hero, .hero__content, .hero__visual,
.hero-stage, .hero-info-grid, .content, .content > *,
.card-grid, .detail, .about-grid, .contact-grid, .booking-grid,
.booking-card-booksy, .booking-day-grid, .booking-time-grid,
.admin-wrap, .admin-main, .admin-card, .admin-form,
.settings-module-grid, .settings-tabs--cards,
.footer__inner, .topbar__inner, .shell,
.admin-row, .admin-row__actions, .admin-tools{
  min-width:0;
}
.hero-card, .service-card, .portfolio-card, .booking-card, .admin-card,
.form-card, .contact-card, .detail, .sidecard, .receipt-card,
.settings-module-card, .settings-tab--card, .booking-modal__dialog,
.calendar-day, .booking-day-card, .booking-time-slot{
  overflow-wrap:anywhere;
}

/* wider laptop and tablet balance */
@media (max-width: 1366px){
  :root{--maxw:1240px}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
  .hero-stage{width:min(100%, 600px)}
  .hero-float--top{left:0}
  .hero-float--bottom{right:0}
}

@media (max-width: 1180px){
  .shell{gap:18px;padding:16px}
  .section{padding:6px 0 24px}
  .hero{gap:18px}
  .hero__content{order:1}
  .hero__visual{order:2}
  .hero-stage{padding:8px 0 16px}
  .hero-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .hero-float{margin:0;max-width:none}
  .detail{padding:20px}
  .detail__media,.hero-card__media,.portfolio-card__image{min-height:300px}
  .booking-day-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width: 980px){
  .topbar{padding:max(12px, env(safe-area-inset-top)) 14px 8px}
  .topbar__inner{gap:12px;padding:12px 14px}
  .brand strong{font-size:15px}
  .brand small{font-size:11px}
  .shell{padding:14px}
  .footer{padding:0 14px 24px}
  .footer__inner{padding:18px}
  .hero__lead,.lead{font-size:16px}
  .stats{grid-template-columns:1fr 1fr}
  .cta-strip{padding:22px}
  .card-grid--2,.card-grid--3,.steps,.booking-grid{grid-template-columns:1fr 1fr}
  .service-card__image,.portfolio-card__image,.detail__media,.about-image{min-height:240px}
  .admin-row{flex-direction:column}
  .admin-row__actions,.admin-tools,.admin-actions-row{width:100%}
  .admin-row__actions .btn,.admin-tools .btn,.admin-actions-row .btn{flex:1 1 220px}
  .admin-form--2{grid-template-columns:1fr}
  .booking-modal__summary{grid-template-columns:1fr}
  .settings-module-grid,.settings-tabs--cards,.admin-card .settings-tabs--modules{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

@media (max-width: 820px){
  .nav{max-height:calc(100vh - 32px);overflow:auto}
  .section-head{flex-direction:column;align-items:flex-start}
  .hero__content{text-align:left}
  .hero__lead{margin-left:0;margin-right:0;max-width:none}
  .hero__actions,.hero__trust{justify-content:flex-start}
  .hero-chip{width:auto}
  .hero-stage{width:100%}
  .hero-card{width:100%}
  .hero-info-grid{grid-template-columns:1fr}
  .hero-float{padding:14px 16px;border-radius:18px}
  .stats{grid-template-columns:1fr}
  .card-grid--2,.card-grid--3,.steps,.booking-grid,.about-grid,.contact-grid,.detail{grid-template-columns:1fr}
  .detail__media,.hero-card__media,.portfolio-card__image{min-height:260px}
  .booking-card-booksy{padding:22px;border-radius:24px}
  .booking-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-modal__dialog{width:min(100%, 680px);padding:20px}
  .mobile-cta{left:10px;right:10px;gap:8px}
}

@media (max-width: 640px){
  body{font-size:15px}
  .topbar{padding:max(10px, env(safe-area-inset-top)) 10px 6px}
  .topbar__inner,.footer__inner,.infobar__inner{border-radius:20px}
  .topbar__inner{padding:12px}
  .brand{gap:10px;max-width:calc(100% - 56px)}
  .brand__emblem{width:14px;height:14px}
  .shell,.infobar,.footer{padding-left:10px;padding-right:10px}
  .shell{padding-top:10px;gap:16px}
  .section{padding:4px 0 22px;scroll-margin-top:92px}
  .hero__content{padding:6px 0}
  .h1,.hero__title{font-size:clamp(30px, 10vw, 44px);line-height:1.02}
  .h2{font-size:clamp(24px, 7vw, 34px)}
  .hero__lead,.lead,.prose,.prose.large{font-size:15px;line-height:1.7}
  .hero__actions{gap:10px}
  .hero__actions .btn,.cta-strip__actions .btn,.booking-modal__actions .btn{width:100%}
  .hero-chip{width:100%;justify-content:center}
  .hero-card__content,.step,.booking-card,.form-card,.contact-card,.detail,.sidecard,.admin-card,.admin-login{padding:16px}
  .service-card,.portfolio-card{padding:12px}
  .service-card__image,.portfolio-card__image,.detail__media,.about-image,.hero-card__media{min-height:220px;border-radius:18px}
  .service-card h3,.portfolio-card h3,.booking-card h3,.hero-card__content h3{font-size:20px}
  .stat{padding:14px;border-radius:18px}
  .stat strong{font-size:20px}
  .cta-strip{padding:18px;border-radius:22px}
  .booking-card-booksy{padding:18px;gap:18px;border-radius:22px}
  .booking-day-grid,.booking-time-grid{grid-template-columns:1fr}
  .booking-day-card{min-height:0;padding:16px;border-radius:18px}
  .booking-day-card__date{font-size:28px}
  .booking-time-slot{padding:16px 14px;border-radius:16px}
  .booking-modal__dialog{margin:0;width:100vw;min-height:100vh;border-radius:0;padding:18px 14px}
  .booking-modal__summary{gap:10px}
  .booking-modal__summary > div{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .booking-modal__summary > div:last-child{border-bottom:0}
  .admin-form,.form-stack{gap:12px}
  .admin-form input,.admin-form textarea,.admin-form select,.form-stack input,.form-stack textarea,.form-stack select{padding:14px 15px;border-radius:16px}
  .settings-module-grid,.settings-tabs--cards,.admin-card .settings-tabs--modules{grid-template-columns:1fr !important}
  .settings-module-card,.settings-tab--card,.admin-card .settings-tabs--modules > a.settings-module-card{grid-template-columns:56px minmax(0,1fr) !important;min-height:96px;padding:18px !important;border-radius:20px}
  .settings-module-card__icon,.settings-tab__icon,.admin-card .settings-tabs--modules > a.settings-module-card .settings-tab__icon{width:56px;height:56px;border-radius:16px;font-size:22px}
  .mobile-cta{grid-template-columns:1fr}
  .footer{padding-bottom:108px}
}

@media (max-width: 420px){
  .topbar__inner{padding:10px 12px}
  .nav{top:10px;left:10px;right:10px;padding:14px;border-radius:22px}
  .nav a{font-size:16px;padding:13px 14px}
  .brand strong{font-size:14px}
  .brand small{font-size:10px}
  .hero__title{font-size:clamp(28px, 11vw, 38px)}
  .hero__lead,.lead{font-size:14px}
  .hero-card__media,.service-card__image,.portfolio-card__image,.detail__media,.about-image{min-height:190px}
  .btn{min-height:48px;padding:13px 16px;border-radius:14px}
  .service-card,.portfolio-card,.booking-card,.detail,.form-card,.contact-card,.admin-card,.admin-login,.sidecard{padding:14px}
  .booking-card-booksy{padding:16px}
  .booking-day-card,.booking-time-slot{padding:14px}
  .booking-modal__dialog{padding:16px 12px}
}

@media (prefers-reduced-motion: reduce){
  .settings-module-card,.settings-tab--card,.booking-day-card,.booking-time-slot,.btn{transition:none !important}
}


/* v5.1 booking calendar appearance */
.booking-page{color:var(--booking-text-color, var(--text));}
.booking-page .booking-card-booksy,.booking-page .booking-time-panel,.booking-page .booking-modal__dialog{font-family:var(--booking-font-family, inherit);font-size:var(--booking-font-size, 16px);}
.booking-page .booking-booksy-note,.booking-page .calendar-empty,.booking-page .booking-day-card__meta{color:var(--booking-muted-color, var(--muted));}
.booking-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px;flex-wrap:wrap;}
.booking-calendar-nav__title{font-size:clamp(18px,2vw,24px);text-transform:capitalize;}
.booking-month-view[hidden]{display:none !important;}
.booking-day-card__meta.is-empty-text{visibility:hidden;}
.booking-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin:18px 0 12px;}
.booking-weekdays__cell{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);text-align:center;font-weight:800;letter-spacing:.04em;color:var(--booking-text-color, var(--text));}
.booking-weekdays__cell.is-saturday{color:var(--booking-saturday-color, #4da3ff);background:rgba(77,163,255,.12);}
.booking-weekdays__cell.is-sunday{color:var(--booking-sunday-color, #ff8b8b);background:rgba(255,139,139,.12);}
.booking-calendar-weeks{display:grid;gap:12px;}
.booking-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;}
.booking-day-placeholder{min-height:174px;border-radius:22px;border:1px dashed rgba(255,255,255,.06);background:rgba(255,255,255,.015);}
.booking-day-card{min-height:174px;padding:22px;display:grid;align-content:start;gap:8px;font-family:var(--booking-font-family, inherit);font-size:var(--booking-font-size, 16px);color:var(--booking-text-color, var(--text));background:rgba(10,14,22,.9);border:1px solid rgba(255,255,255,.08);border-radius:22px;box-shadow:0 16px 36px rgba(0,0,0,.22);transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.booking-day-card:hover:not(:disabled),.booking-day-card:focus-visible{transform:translateY(-2px);border-color:var(--booking-accent-color, #ff5a5f);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)), rgba(10,14,22,.96);}
.booking-day-card.is-saturday .booking-day-card__weekday,.booking-day-card.is-saturday .booking-day-card__date{color:var(--booking-saturday-color, #4da3ff);}
.booking-day-card.is-sunday .booking-day-card__weekday,.booking-day-card.is-sunday .booking-day-card__date{color:var(--booking-sunday-color, #ff8b8b);}
.booking-day-card.is-selected,.booking-day-card.is-active{border-color:var(--booking-accent-color, #ff5a5f);box-shadow:0 18px 40px rgba(255,90,95,.22);}
.booking-day-card.is-empty{opacity:.82;}
.booking-day-card.is-blocked{opacity:.56;background:rgba(255,255,255,.03);}
.booking-day-card__weekday{font-size:0.95em;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--booking-text-color, var(--text));}
.booking-day-card__date{font-size:2.4em;line-height:1;color:var(--booking-text-color, var(--text));}
.booking-day-card__month{font-weight:700;color:var(--booking-muted-color, var(--muted));}
.booking-day-card__meta{margin-top:auto;font-size:.95em;}
.booking-time-slot{font-family:var(--booking-font-family, inherit);font-size:var(--booking-font-size, 16px);}
.booking-time-slot:hover{border-color:var(--booking-accent-color, #ff5a5f);}
@media (max-width: 1100px){.booking-weekdays,.booking-calendar-week{grid-template-columns:repeat(4,minmax(0,1fr));}.booking-day-placeholder:nth-child(n+5){display:none;}}
@media (max-width: 780px){.booking-weekdays{display:none;}.booking-calendar-week{grid-template-columns:repeat(2,minmax(0,1fr));}.booking-day-placeholder{display:none;}.booking-day-card{min-height:150px;padding:18px;}}
@media (max-width: 520px){.booking-calendar-week{grid-template-columns:1fr;}.booking-day-card{min-height:auto;padding:16px;}}


/* v5.1.1 deployment responsive lock */
:root{
  --page-gutter: clamp(12px, 2vw, 24px);
  --section-gap: clamp(18px, 2.2vw, 30px);
}
html,body{max-width:100%;overflow-x:hidden;}
body{min-width:320px;}
main,section,header,footer,nav,div,article,aside{max-width:100%;}
.topbar,.infobar,.footer,.shell{width:100%;}
.topbar__inner,.infobar__inner,.footer__inner,.shell{
  width:min(calc(100% - (var(--page-gutter) * 2)), var(--maxw));
  margin-left:auto;
  margin-right:auto;
}
.shell{
  padding-left:0;
  padding-right:0;
  gap:var(--section-gap);
}
.content,.content-swap,.section,.glass,.hero,.hero__content,.hero__visual,.hero-stage,.hero-card,.hero-card__content,.hero-info-grid,.stats,.card-grid,.service-card,.portfolio-card,.about-grid,.contact-grid,.detail,.booking-page,.booking-card-booksy,.booking-calendar-weeks,.booking-calendar-week,.booking-time-panel,.booking-time-grid,.booking-modal__dialog,.admin-wrap,.admin-wrap--v2,.admin-main,.admin-card,.admin-form,.settings-module-grid,.settings-tabs--cards,.settings-panel,.admin-row,.admin-tools,.admin-row__actions{
  min-width:0 !important;
}
.hero,.about-grid,.contact-grid,.detail,.booking-layout-grid,.booking-layout-grid--account,.booking-top-grid,.booking-top-grid--v2,.account-auth-grid,.admin-wrap,.admin-wrap--v2{
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}
.hero{align-items:stretch;}
.hero-stage,.hero-card,.hero-card__media,.about-image,.service-card__image,.portfolio-card__image,.detail__media{width:100%;}
.hero-card__media,.about-image,.service-card__image,.portfolio-card__image,.detail__media{
  aspect-ratio: 16 / 10;
  min-height: clamp(220px, 30vw, 420px) !important;
  background-size: cover;
  background-position: center;
}
img,video,picture,canvas,svg{max-width:100%;height:auto;}
.hero__actions,.cta-strip__actions,.admin-row__actions,.admin-tools,.booking-modal__actions{flex-wrap:wrap;}
.btn{max-width:100%;white-space:normal;text-align:center;}
.nav{max-width:100%;}
.nav a{white-space:nowrap;}
.prose,.lead,.hero__lead,h1,h2,h3,p,span,strong,small,label,button,a{overflow-wrap:anywhere;word-break:break-word;}
.booking-weekdays,.booking-calendar-week,.booking-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));}
.booking-time-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.booking-day-card,.booking-time-slot,.service-card,.portfolio-card,.step,.stat,.sidecard,.admin-card,.form-card,.contact-card,.detail,.settings-module-card,.settings-tab--card{padding:25px;}
.booking-modal__dialog{width:min(720px, calc(100vw - (var(--page-gutter) * 2)));}
.media-lightbox__dialog{width:min(96vw, 1600px);max-height:94vh;}
.media-lightbox__image{width:auto;max-width:100%;max-height:94vh;object-fit:contain;}
@media (max-width: 1200px){
  .hero,.about-grid,.contact-grid,.detail,.admin-wrap--v2{grid-template-columns:minmax(0,1fr);}
  .booking-weekdays,.booking-calendar-week,.booking-day-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .card-grid--2,.card-grid--3,.steps{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 900px){
  .topbar__inner,.infobar__inner,.footer__inner,.shell{width:min(calc(100% - (var(--page-gutter) * 2)), 100%);}
  .card-grid--2,.card-grid--3,.steps,.stats,.booking-grid,.hero-info-grid,.settings-module-grid,.settings-tabs--cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .booking-weekdays,.booking-calendar-week,.booking-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hero-card__media,.about-image,.service-card__image,.portfolio-card__image,.detail__media{aspect-ratio:16/11;}
}
@media (max-width: 680px){
  .shell{padding-top:10px;}
  .card-grid--2,.card-grid--3,.steps,.stats,.booking-grid,.hero-info-grid,.settings-module-grid,.settings-tabs--cards,.admin-card .settings-tabs--modules{grid-template-columns:1fr !important;}
  .booking-weekdays{display:none;}
  .booking-calendar-week,.booking-day-grid,.booking-time-grid{grid-template-columns:1fr;}
  .booking-day-card,.booking-time-slot,.service-card,.portfolio-card,.step,.stat,.sidecard,.admin-card,.form-card,.contact-card,.detail,.settings-module-card,.settings-tab--card{padding:18px;}
  .hero-card__media,.about-image,.service-card__image,.portfolio-card__image,.detail__media{aspect-ratio:4/3;min-height:200px !important;}
  .nav a{white-space:normal;}
}


/* v5.1.2 final responsive desktop/tablet/mobile lock */
:root{
  --maxw: 1720px;
  --page-gutter: clamp(14px, 1.8vw, 32px);
  --section-gap: clamp(20px, 2vw, 34px);
}
.topbar__inner,.infobar__inner,.footer__inner,.shell{
  width:min(calc(100vw - (var(--page-gutter) * 2)), var(--maxw)) !important;
  max-width:none !important;
}
.content,#content,.section{width:100%;max-width:none !important;}
.hero,.about-grid,.contact-grid,.detail,.admin-wrap,.admin-wrap--v2{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr) !important;
  gap:clamp(18px, 2vw, 30px) !important;
}
.hero{align-items:center !important;min-height:min(980px, calc(100vh - 180px)) !important;}
.hero__content,.hero__visual,.hero-stage,.hero-card,.hero-card__content,.service-card,.portfolio-card,.detail,.about-grid > *, .contact-grid > *{min-width:0;}
.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.card-grid--2,.steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.hero-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;}
.booking-weekdays,.booking-calendar-week,.booking-day-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;}
.booking-time-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.service-card__image,.portfolio-card__image,.detail__media,.about-image,.hero-card__media{
  width:100% !important;
  min-height:clamp(260px, 28vw, 480px) !important;
  aspect-ratio:16/10 !important;
  background-size:cover !important;
  background-position:center !important;
}
.about-image,.hero-card__media,.service-card__image,.portfolio-card__image,.detail__media,.detail-gallery__item{cursor:zoom-in;}
@media (min-width: 821px){
  .navbtn{display:none !important;}
  .nav{
    position:static !important;
    inset:auto !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }
  .nav__footer,.mobile-cta{display:none !important;}
}
@media (max-width: 1199px){
  .hero,.about-grid,.contact-grid,.detail,.admin-wrap,.admin-wrap--v2{grid-template-columns:1fr !important;}
  .hero{min-height:auto !important;}
  .card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .booking-weekdays,.booking-calendar-week,.booking-day-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .booking-time-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width: 899px){
  .topbar__inner,.infobar__inner,.footer__inner,.shell{width:min(calc(100vw - (var(--page-gutter) * 2)), 100%) !important;}
  .card-grid--2,.card-grid--3,.steps,.stats,.hero-info-grid,.settings-tabs--cards,.settings-module-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .booking-weekdays,.booking-calendar-week,.booking-day-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .booking-time-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .service-card__image,.portfolio-card__image,.detail__media,.about-image,.hero-card__media{aspect-ratio:16/11 !important;}
}
@media (max-width: 639px){
  .card-grid--2,.card-grid--3,.steps,.stats,.hero-info-grid,.settings-tabs--cards,.settings-module-grid,.admin-card .settings-tabs--modules{grid-template-columns:1fr !important;}
  .booking-weekdays{display:none !important;}
  .booking-calendar-week,.booking-day-grid,.booking-time-grid{grid-template-columns:1fr !important;}
  .booking-day-card,.booking-time-slot,.service-card,.portfolio-card,.step,.stat,.sidecard,.admin-card,.form-card,.contact-card,.detail,.settings-module-card,.settings-tab--card,.glass{padding:18px !important;}
  .service-card__image,.portfolio-card__image,.detail__media,.about-image,.hero-card__media{aspect-ratio:4/3 !important;min-height:200px !important;}
}


/* viewport-state hard overrides */
html[data-viewport="desktop"] .navbtn,
html[data-viewport="laptop"] .navbtn{display:none !important;}
html[data-viewport="desktop"] .nav,
html[data-viewport="laptop"] .nav{
  position:static !important; inset:auto !important; opacity:1 !important; pointer-events:auto !important;
  transform:none !important; display:flex !important; flex-direction:row !important; align-items:center !important;
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important;
}
html[data-viewport="desktop"] .mobile-cta,
html[data-viewport="laptop"] .mobile-cta{display:none !important;}
html[data-viewport="desktop"] .hero{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr) !important;}
html[data-viewport="desktop"] .card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
html[data-viewport="desktop"] .card-grid--2,
html[data-viewport="desktop"] .steps,
html[data-viewport="desktop"] .stats,
html[data-viewport="desktop"] .hero-info-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
html[data-viewport="desktop"] .stats{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
html[data-viewport="desktop"] .booking-weekdays,
html[data-viewport="desktop"] .booking-calendar-week,
html[data-viewport="desktop"] .booking-day-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;}
html[data-viewport="desktop"] .booking-time-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
html[data-viewport="tablet"] .booking-weekdays,
html[data-viewport="tablet"] .booking-calendar-week,
html[data-viewport="tablet"] .booking-day-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}


/* v5.1.2b background video reliability fix */
.bg-media--video .bg-media__image--fallback{display:block;opacity:1;}
.bg-media--video .bg-media__video{display:block;visibility:visible;opacity:.88;}
.bg-video-ready .bg-media__image--fallback{opacity:0;transition:opacity .35s ease;}
.bg-video-failed .bg-media__video{display:none !important;}
.bg-video-failed .bg-media__image--fallback{opacity:1 !important;}


.booking-modal__dialog--wide{width:min(920px,calc(100vw - 28px))}
.booking-modal__summary--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.booking-service-builder{display:grid;gap:12px}
.booking-service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.booking-service-builder__actions{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:12px}
.booking-service-select{width:100%;padding:18px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.booking-service-select:focus{outline:none;border-color:rgba(255,124,124,.46);background:rgba(255,255,255,.12)}
.booking-inline-hours{display:grid;gap:12px}
.booking-time-slot.is-active{border-color:rgba(255,124,124,.5);background:linear-gradient(135deg, rgba(255,43,57,.24), rgba(255,114,82,.14))}
.booking-cancel-note{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--muted)}
@media (max-width:760px){.booking-modal__summary--4{grid-template-columns:1fr 1fr}.booking-service-row{grid-template-columns:1fr}}
@media (max-width:520px){.booking-modal__summary--4{grid-template-columns:1fr}.booking-modal__dialog--wide{width:100vw;margin:0;min-height:100vh;border-radius:0}}

.booking-wizard{display:grid;gap:18px}
.booking-step-card{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:22px}
.booking-step-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.booking-service-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.booking-service-tile{position:relative;text-align:left;padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);display:grid;gap:8px;transition:.2s transform,.2s border-color,.2s background;color:inherit}
.booking-service-tile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
.booking-service-tile.is-selected{border-color:var(--booking-accent-color,#ff5a5f);background:rgba(255,90,95,.12);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.booking-service-tile__check{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.08);opacity:.45}
.booking-service-tile.is-selected .booking-service-tile__check{background:var(--booking-accent-color,#ff5a5f);opacity:1;color:#fff}
.booking-service-tile strong{padding-right:32px}
.booking-service-tile small,.booking-service-tile span{display:block;color:var(--booking-muted-color,#9aa4b2)}
.booking-wizard-summary,.booking-final-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}
.booking-wizard-summary>div,.booking-final-summary>div{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);display:grid;gap:6px}
.booking-wizard-summary span,.booking-final-summary span{font-size:.85rem;color:var(--booking-muted-color,#9aa4b2)}
.booking-final-summary__note{grid-column:1/-1}
.booking-step-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
.booking-wizard-form{margin-top:8px}
.booking-rodo-check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.booking-rodo-check input{margin-top:4px}
.booking-rodo-actions{margin-top:-6px}
.booking-rodo-frame{width:100%;height:min(70vh,780px);border:0;border-radius:18px;background:#fff}
.booking-inline-hours{margin-top:18px}
@media (max-width: 860px){.booking-step-head{flex-direction:column}.booking-step-actions{justify-content:stretch}.booking-step-actions .btn{width:100%}}


body[data-theme="light"]{
  --bg:#f6f7fb;
  --bg2:#eef2f8;
  --panel:rgba(255,255,255,.82);
  --panel-strong:rgba(255,255,255,.92);
  --line:rgba(14,20,30,.10);
  --text:#161b24;
  --muted:#596579;
  --shadow:0 24px 60px rgba(27,39,58,.12);
}
body[data-theme="light"] .bg-media__shade{background:linear-gradient(180deg, rgba(246,247,251,.70) 0%, rgba(238,242,248,.82) 50%, rgba(234,239,247,.94) 100%),radial-gradient(circle at 20% 20%, rgba(255,38,58,.08), transparent 35%),radial-gradient(circle at 80% 80%, rgba(255,104,66,.07), transparent 25%);}
.theme-toggle{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--text);cursor:pointer}
.admin-bookings-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}
.admin-bookings-calendar{padding:18px;position:sticky;top:100px}
.admin-bookings-calendar__head{display:grid;gap:4px;margin-bottom:12px}
.admin-mini-calendar__weekdays,.admin-mini-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.admin-mini-calendar__weekdays span{font-size:12px;color:var(--muted);text-align:center}
.admin-mini-calendar__day,.admin-mini-calendar__empty{min-height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04)}
.admin-mini-calendar__day{color:var(--text)}
.admin-mini-calendar__day.is-new{border:2px solid #45d483}
.admin-mini-calendar__day.is-done{border:2px solid #b9bec7}
.admin-mini-calendar__day.is-confirmed{border:2px solid #68a3ff}
.admin-mini-calendar__day.is-hover{box-shadow:0 0 0 3px rgba(255,90,95,.22) inset;transform:translateY(-1px)}
.admin-calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12px}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;border:2px solid currentColor}
.legend-dot--new{color:#45d483}.legend-dot--done{color:#b9bec7}.legend-dot--confirmed{color:#68a3ff}
.admin-booking-card--new{border-color:rgba(69,212,131,.45)!important}
.admin-booking-card--done{border-color:rgba(185,190,199,.55)!important}
.admin-booking-card--confirmed{border-color:rgba(104,163,255,.45)!important}
@media (max-width: 980px){.admin-bookings-layout{grid-template-columns:1fr}.admin-bookings-calendar{position:static}}

/* v6.0.1 booking + invoice fixes */
.about-copy-card{padding:16px;}
.booking-company-toggle{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);cursor:pointer;}
.booking-company-toggle input{width:18px;height:18px;}
.booking-company-fields{padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);}
.booking-company-fields__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.booking-company-fields__grid .full{grid-column:1/-1;}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;}
.status-pill--new{background:rgba(69,212,131,.14);color:#7df0ad;border-color:rgba(69,212,131,.28);}
.status-pill--confirmed{background:rgba(104,163,255,.14);color:#9cc7ff;border-color:rgba(104,163,255,.28);}
.status-pill--done{background:rgba(185,190,199,.18);color:#e5e7eb;border-color:rgba(185,190,199,.28);}
.status-pill--cancelled{background:rgba(255,145,77,.14);color:#ffc08b;border-color:rgba(255,145,77,.28);}
.admin-bookings-layout,.admin-bookings-layout--stack{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;}
.admin-bookings-calendar{position:static;}
.admin-booking-topline{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;}
.admin-booking-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:8px;}
.admin-booking-meta span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.admin-booking-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;}
.admin-booking-services ul{margin:8px 0 10px 18px;padding:0;display:grid;gap:6px;}
.admin-booking-company{margin-top:8px;}
.admin-row__actions--wrap{flex-wrap:wrap;}
.admin-booking-card--cancelled{border-color:rgba(255,145,77,.45)!important;}
.legend-dot--cancelled{color:#ff914d;}
.admin-mini-calendar__day.is-cancelled{border:2px solid #ff914d;}
.admin-booking-modal{width:min(1100px, calc(100vw - 28px));}
.admin-booking-modal--invoice{width:min(1180px, calc(100vw - 28px));}
.admin-modal-form{align-items:start;}
.invoice-number-box input[readonly]{background:rgba(255,255,255,.08);font-weight:700;}
@media (max-width: 900px){
  .booking-company-fields__grid,.admin-booking-grid{grid-template-columns:1fr;}
}


/* v6.0.4 modal + invoice polish */
.booking-modal{display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;}
.booking-modal__dialog{max-height:calc(100vh - 32px);overflow:hidden;display:flex;flex-direction:column;}
.admin-booking-modal,.admin-booking-modal--invoice{max-height:calc(100vh - 32px);}
.admin-modal__head{position:sticky;top:0;z-index:2;margin:0 0 14px;padding:0 36px 16px 0;background:linear-gradient(180deg, rgba(15,23,42,.96) 0%, rgba(15,23,42,.88) 70%, rgba(15,23,42,0) 100%);backdrop-filter:blur(10px);}
.admin-modal__head .muted{max-width:820px;}
.admin-modal-form{flex:1;overflow:auto;padding-right:4px;align-content:start;}
.admin-modal-form--booking,.admin-modal-form--invoice{grid-template-columns:1fr;gap:16px;}
.admin-modal-section{padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);display:grid;gap:14px;}
.admin-modal-section__head{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08);}
.admin-modal-section__head h3{margin:0;}
.admin-modal-section__head span{color:var(--muted);font-size:13px;line-height:1.5;}
.admin-modal-section__grid{display:grid;gap:14px;}
.admin-modal-section__grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.admin-modal-section__grid--1{grid-template-columns:1fr;}
.admin-modal__footer{position:sticky;bottom:0;z-index:2;margin-top:2px;padding:14px 0 2px;background:linear-gradient(180deg, rgba(10,15,24,0) 0%, rgba(10,15,24,.92) 28%, rgba(10,15,24,.98) 100%);}
.admin-modal__footer .btn{min-width:190px;}
.invoice-number-box{display:grid;gap:8px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);}
.invoice-number-box input[readonly]{letter-spacing:.03em;}
@media (max-width:900px){.admin-modal-section__grid--2{grid-template-columns:1fr;}}
@media (max-width:640px){.booking-modal{padding:0;}.booking-modal__dialog,.admin-booking-modal,.admin-booking-modal--invoice{max-height:100vh;border-radius:0;width:100vw;margin:0;padding:18px 14px;}.admin-modal__head{padding-right:44px;}.admin-modal__footer .btn{min-width:0;width:100%;}}


/* v6.0.5 admin settings polish + softer card animations */
.settings-overview{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
  gap:18px;
  padding:22px 24px;
  margin:8px 0 24px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 22px 48px rgba(0,0,0,.18);
}
.settings-overview__eyebrow{
  margin-bottom:8px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#ffb0b6;
  font-weight:800;
}
.settings-overview strong{display:block;font-size:20px;line-height:1.3;margin-bottom:8px}
.settings-overview p{margin:0;color:var(--muted);line-height:1.65}
.settings-overview__status{
  display:grid;
  align-content:center;
  gap:8px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:radial-gradient(circle at top right, rgba(255,114,82,.18), transparent 45%), rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.settings-overview__status span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,232,234,.70);font-weight:800}
.settings-overview__status strong{margin:0;font-size:22px;line-height:1.2}
.settings-module-group + .settings-module-group{margin-top:8px}
.settings-module-group__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:4px 4px 0;
}
.settings-module-group__head span{
  display:block;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.02em;
}
.settings-module-group__head small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  line-height:1.55;
}
.settings-module-grid--compact{margin:14px 0 22px}
.settings-module-grid--last{margin-bottom:8px}
.settings-module-card{
  transition:transform .42s cubic-bezier(.22,1,.36,1), border-color .28s ease, box-shadow .42s ease, background .32s ease;
}
.settings-module-card::after{
  content:"";
  position:absolute;
  inset:auto 24px 0 24px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,43,57,0), rgba(255,124,124,.82), rgba(255,43,57,0));
  opacity:0;
  transform:translateY(8px);
  transition:opacity .28s ease, transform .28s ease;
}
.settings-module-card:hover,
.settings-module-card:focus-visible{
  transform:translateY(-6px) scale(1.01);
  border-color:rgba(255,124,124,.34);
  box-shadow:0 30px 60px rgba(0,0,0,.24), 0 12px 30px rgba(255,43,57,.10);
}
.settings-module-card:hover::after,
.settings-module-card:focus-visible::after,
.settings-module-card.active::after{opacity:1;transform:translateY(-1px)}
.settings-module-card.active{
  background:linear-gradient(135deg, rgba(255,43,57,.24), rgba(255,114,82,.12));
  box-shadow:0 28px 58px rgba(255,43,57,.16);
}
.settings-module-card__icon{
  font-size:18px;
  font-weight:900;
  letter-spacing:.08em;
  color:#fff4f5;
  background:linear-gradient(135deg, rgba(255,43,57,.32), rgba(255,114,82,.16));
}
.settings-module-card__eyebrow{
  display:block;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#ffb0b6;
  font-weight:800;
}
.settings-module-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.settings-module-card__tags i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,240,242,.82);
  font-style:normal;
  font-size:11px;
  letter-spacing:.04em;
}
.reveal{
  opacity:0;
  transform:translate3d(0,34px,0) scale(.982);
  filter:blur(12px);
  transition:
    opacity .78s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms),
    transform .92s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms),
    filter .72s ease var(--reveal-delay, 0ms);
  will-change:opacity,transform,filter;
}
.reveal-left{transform:translate3d(-40px,0,0) scale(.986)}
.reveal-right{transform:translate3d(40px,0,0) scale(.986)}
.reveal-soft{transform:translate3d(0,24px,0) scale(.988)}
.reveal.in{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.service-card,
.portfolio-card,
.settings-module-card,
.detail-gallery__item{
  transition:transform .42s cubic-bezier(.22,1,.36,1), border-color .28s ease, box-shadow .42s ease, background .32s ease;
}
.service-card::before,
.portfolio-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0) 34%, rgba(255,114,82,.08) 100%);
  opacity:.55;
  transition:opacity .35s ease;
}
.service-card:hover,
.portfolio-card:hover{
  transform:translateY(-8px) scale(1.01);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 28px 60px rgba(0,0,0,.24), 0 14px 28px rgba(255,43,57,.10);
}
.service-card:hover::before,
.portfolio-card:hover::before{opacity:.82}
.service-card__image,
.portfolio-card__image,
.detail__media,
.about-image,
.hero-card__media,
.detail-gallery__item{
  transition:transform .95s cubic-bezier(.16,1,.3,1), filter .42s ease, box-shadow .42s ease;
  transform-origin:center center;
}
.service-card:hover .service-card__image,
.portfolio-card:hover .portfolio-card__image,
.detail-gallery__item:hover,
.detail__media--button:hover,
.about-image:hover,
.hero-card__media:hover{
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.05);
}
@media (max-width: 980px){
  .settings-overview{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .settings-overview{padding:18px}
  .settings-overview__status strong{font-size:20px}
  .settings-module-card__tags{gap:6px}
}
@media (prefers-reduced-motion: reduce){
  .reveal,
  .service-card,
  .portfolio-card,
  .settings-module-card,
  .detail-gallery__item,
  .service-card__image,
  .portfolio-card__image,
  .detail__media,
  .about-image,
  .hero-card__media{transition:none !important;transform:none !important;filter:none !important}
}


.admin-service-picker{display:grid;gap:12px;}
.admin-service-picker__hint{margin-top:-4px;}
.admin-service-picker__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.admin-service-picker__item{display:block;cursor:pointer;}
.admin-service-picker__item input{position:absolute;opacity:0;pointer-events:none;}
.admin-service-picker__card{display:grid;gap:6px;padding:16px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:.22s transform,.22s border-color,.22s background,.22s box-shadow;min-height:108px;}
.admin-service-picker__card strong{display:block;padding-right:8px;}
.admin-service-picker__card small{color:var(--muted);font-size:13px;}
.admin-service-picker__card em{font-style:normal;color:#f8d68b;font-size:12px;letter-spacing:.03em;text-transform:uppercase;}
.admin-service-picker__item:hover .admin-service-picker__card{transform:translateY(-2px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05);}
.admin-service-picker__item.is-selected .admin-service-picker__card{border-color:rgba(255,90,95,.45);background:linear-gradient(180deg, rgba(255,90,95,.14), rgba(255,255,255,.04));box-shadow:0 14px 34px rgba(0,0,0,.18);}
.admin-hidden-fields{display:none !important;}
input[readonly]{opacity:.95;}
.btn[disabled]{opacity:.46;cursor:not-allowed;pointer-events:none;}
@media (max-width:760px){.admin-service-picker__grid{grid-template-columns:1fr;}}


/* v6.0.8 light + booking polish */
body[data-theme="light"],
body[data-theme="light"] .glass,
body[data-theme="light"] .section,
body[data-theme="light"] .detail,
body[data-theme="light"] .service-card,
body[data-theme="light"] .portfolio-card,
body[data-theme="light"] .booking-step-card,
body[data-theme="light"] .booking-service-tile,
body[data-theme="light"] .booking-day-card,
body[data-theme="light"] .booking-time-slot{color:var(--text);}
body[data-theme="light"] .muted,
body[data-theme="light"] .lead,
body[data-theme="light"] .booking-service-tile small,
body[data-theme="light"] .booking-service-tile span,
body[data-theme="light"] .booking-day-card__month,
body[data-theme="light"] .booking-day-card__meta{color:#546273;}
body[data-theme="light"] .topbar,
body[data-theme="light"] .nav{background:rgba(255,255,255,.82);border-color:rgba(15,23,42,.08);}
body[data-theme="light"] .brand strong,
body[data-theme="light"] .brand small,
body[data-theme="light"] .nav a,
body[data-theme="light"] .theme-toggle,
body[data-theme="light"] .footer,
body[data-theme="light"] .footer .muted{color:#16202c;}
body[data-theme="light"] .booking-service-tile,
body[data-theme="light"] .booking-day-card,
body[data-theme="light"] .booking-time-slot,
body[data-theme="light"] .booking-company-toggle,
body[data-theme="light"] .booking-company-fields{background:rgba(255,255,255,.82);border-color:rgba(15,23,42,.10);box-shadow:0 14px 32px rgba(15,23,42,.07);}
body[data-theme="light"] .booking-service-tile.is-selected,
body[data-theme="light"] .booking-time-slot.is-active,
body[data-theme="light"] .booking-day-card.is-active{background:rgba(255,90,95,.10);}
body[data-theme="light"] input,
body[data-theme="light"] textarea,
body[data-theme="light"] select{color:#14202b;background:rgba(255,255,255,.9);border-color:rgba(15,23,42,.12);}
body[data-theme="light"] .btn:not(.btn--primary){color:#14202b;border-color:rgba(15,23,42,.14);background:rgba(255,255,255,.78);}


/* v6.0.9 admin settings compactness */
.settings-overview--slim{
  justify-content:flex-end;
  padding:12px 16px;
  margin:8px 0 18px;
  border-radius:18px;
}
.settings-overview--slim > :first-child{width:auto}
.settings-module-grid{
  gap:14px;
  margin:14px 0 22px;
}
.settings-module-card{
  grid-template-columns:50px minmax(0,1fr) !important;
  gap:14px !important;
  min-height:94px !important;
  padding:16px 18px !important;
  border-radius:20px !important;
}
.settings-module-card__icon{
  width:50px;
  height:50px;
  border-radius:16px;
  font-size:18px;
}
.settings-module-card__body{
  gap:5px;
}
.settings-module-card__body strong{
  font-size:16px;
  line-height:1.2;
}
.settings-module-card__body small{
  font-size:12px;
  line-height:1.45;
}
.settings-module-card__tags{
  gap:6px;
}
.settings-module-card__tags i{
  font-size:10px;
  padding:4px 8px;
}
@media (max-width: 640px){
  .settings-module-card{
    grid-template-columns:46px minmax(0,1fr) !important;
    min-height:88px !important;
    padding:14px 15px !important;
  }
  .settings-module-card__icon{
    width:46px;
    height:46px;
  }
}

/* v6.0.9 card hover */
.service-card,
.portfolio-card,
.booking-card{
  transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.service-card__image,
.portfolio-card__image{
  transition:transform .34s ease, filter .34s ease, box-shadow .34s ease;
  transform-origin:center center;
}
.service-card:hover,
.portfolio-card:hover,
.booking-card:hover{
  transform:translateY(-6px) scale(1.018);
  box-shadow:0 24px 54px rgba(0,0,0,.22);
}
.service-card:hover .service-card__image,
.portfolio-card:hover .portfolio-card__image{
  transform:scale(1.04);
  filter:saturate(1.06) contrast(1.05);
}

/* v6.0.9 light calendar readability */
body[data-theme="light"] .booking-calendar,
body[data-theme="light"] .booking-inline-hours,
body[data-theme="light"] .booking-wizard-summary,
body[data-theme="light"] .calendar-empty,
body[data-theme="light"] .booking-day-card,
body[data-theme="light"] .booking-time-slot,
body[data-theme="light"] .booking-step-head .muted,
body[data-theme="light"] .booking-inline-hours label{
  color:#111827 !important;
}
body[data-theme="light"] .booking-day-card *,
body[data-theme="light"] .booking-time-slot *{
  color:#111827 !important;
}
body[data-theme="light"] .booking-day-card,
body[data-theme="light"] .booking-time-slot{
  border-color:rgba(15,23,42,.14) !important;
}


/* v6.1.0 admin bookings and report */
.admin-bookings-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;}
.admin-bookings-toolbar{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) minmax(260px,.9fr);gap:14px;padding:16px 18px;margin:0 0 18px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.03);}
.admin-toolbar-field{display:grid;gap:6px;}
.admin-toolbar-field span{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.admin-toolbar-field input,.admin-toolbar-field select{min-height:46px;}
.admin-booking-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.admin-booking-stat{padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:grid;gap:4px;align-content:center;}
.admin-booking-stat strong{font-size:22px;line-height:1;color:var(--text);}
.admin-booking-stat span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.admin-booking-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.admin-booking-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(15,23,42,.14);}
@media (max-width: 1180px){.admin-bookings-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));}.admin-booking-stats{grid-column:1/-1;}}
@media (max-width: 760px){.admin-bookings-toolbar,.admin-booking-stats{grid-template-columns:1fr;}}


/* admin bookings readability + hover polish */
.admin-bookings-layout--stack{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;align-items:start;}
.admin-bookings-calendar{position:sticky;top:96px;padding:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);}
.admin-bookings-calendar__head{display:grid;gap:6px;margin-bottom:12px;}
.admin-list{display:grid;gap:14px;}
.admin-booking-card{padding:18px 20px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.025));transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;content-visibility:auto;contain-intrinsic-size:340px;}
.admin-booking-card:hover{transform:translateY(-2px) scale(1.01);border-color:rgba(255,255,255,.16);box-shadow:0 24px 50px rgba(0,0,0,.28);}
.admin-booking-topline{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.admin-booking-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.9fr);gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
.admin-booking-meta{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:8px;}
.admin-booking-meta span,.admin-booking-services,.admin-booking-company{padding:7px 10px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);}
.admin-booking-services ul{margin:10px 0 0 18px;padding:0;display:grid;gap:6px;}
.admin-row__actions--wrap{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.admin-booking-card .btn{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;}
.admin-booking-card .btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.24);box-shadow:0 10px 24px rgba(0,0,0,.22);background:rgba(255,255,255,.11);}
.admin-booking-card .btn--danger:hover{background:rgba(255,43,57,.18);border-color:rgba(255,43,57,.38);}
.admin-booking-card .status-pill{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.admin-service-picker__card,.settings-module-card,.admin-mini-calendar__day,.admin-row{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.admin-service-picker__item:hover .admin-service-picker__card,.settings-module-card:hover,.admin-mini-calendar__day:hover,.admin-row:hover{transform:translateY(-2px) scale(1.01);}
.admin-preview-media{width:100%;max-height:320px;object-fit:cover;border-radius:20px;display:block;background:#000;}
.service-card__media video,.portfolio-card__media video,.detail__media-frame video,.detail-gallery__video video{width:100%;height:100%;object-fit:cover;display:block;}
.service-card__media,.portfolio-card__media{position:relative;overflow:hidden;border-radius:22px;background:rgba(255,255,255,.04);}
.detail-gallery__item.detail-gallery__video{padding:0;overflow:hidden;background:#000;}
.detail-gallery__item.detail-gallery__video::before{display:none;}
@media (max-width: 1100px){
  .admin-bookings-layout--stack{grid-template-columns:1fr;}
  .admin-bookings-calendar{position:relative;top:auto;}
}
@media (max-width: 780px){
  .admin-booking-grid{grid-template-columns:1fr;}
  .admin-booking-card{padding:16px;}
}

.admin-bookings-calendar__nav{display:flex;gap:8px;align-items:center;justify-content:flex-end;}
.admin-bookings-calendar__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.admin-booking-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
@media (max-width:1180px){.admin-booking-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.admin-bookings-calendar__nav{width:100%;justify-content:flex-start;}.admin-booking-stats{grid-template-columns:1fr;}}


/* admin layout + bookings readability hotfix */
.admin-shell{display:grid;gap:18px;}
.admin-topbar{display:grid;gap:18px;padding:22px 24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));}
.admin-topbar__main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.admin-topbar__brand{display:grid;gap:8px;max-width:720px;}
.admin-topbar__lead{margin:0;}
.admin-topbar__quick{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;}
.admin-topbar__chip{display:grid;gap:4px;min-width:150px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);}
.admin-topbar__chip strong{font-size:14px;}
.admin-topbar__chip span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
.admin-topbar__navrow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);}
.admin-nav--top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.admin-nav--top a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border-radius:999px;white-space:nowrap;}
.admin-topbar__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.admin-topbar__actions .btn{min-height:46px;}
.admin-main{display:grid;gap:18px;min-width:0;}

.admin-bookings-head{align-items:center;}
.admin-bookings-toolbar{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;padding:18px 20px;margin:0 0 18px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.03);}
.admin-bookings-toolbar__actions{display:flex;align-items:flex-end;}
.admin-booking-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.admin-booking-stat{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);}
.admin-booking-stat strong{font-size:20px;display:block;}
.admin-bookings-layout--stack{display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:18px;align-items:start;}
.admin-bookings-calendar{position:sticky;top:96px;padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);}
.admin-bookings-main{min-width:0;display:grid;gap:16px;}
.admin-bookings-table-wrap{padding:0;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:rgba(255,255,255,.03);}
.admin-bookings-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;table-layout:fixed;}
.admin-bookings-table th,.admin-bookings-table td{padding:16px 18px;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;}
.admin-bookings-table thead th{position:sticky;top:0;z-index:1;background:rgba(12,8,9,.96);backdrop-filter:blur(10px);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800;}
.admin-bookings-table tbody tr:last-child td{border-bottom:0;}
.admin-bookings-table tbody tr:hover{background:rgba(255,255,255,.035);}
.admin-bookings-table__col--term{width:140px;}
.admin-bookings-table__col--client{width:250px;}
.admin-bookings-table__col--services{width:320px;}
.admin-bookings-table__col--amount{width:110px;}
.admin-bookings-table__col--status{width:120px;}
.admin-bookings-table__col--invoice{width:130px;}
.admin-bookings-table__col--actions{width:300px;}
.admin-booking-term{display:grid;gap:4px;}
.admin-booking-term strong{font-size:15px;line-height:1.3;}
.admin-booking-term span{font-size:13px;color:var(--muted);line-height:1.4;}
.admin-booking-person{display:grid;gap:6px;}
.admin-booking-person strong{font-size:15px;line-height:1.35;}
.admin-booking-person span{font-size:13px;color:var(--muted);word-break:break-word;}
.admin-booking-service-list--table{display:grid;gap:8px;}
.admin-booking-service-list--table span{display:block;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);line-height:1.45;}
.admin-booking-inline-note{margin-top:10px;font-size:13px;line-height:1.5;color:var(--muted);}
.admin-booking-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.admin-booking-action-grid .btn{min-height:40px;justify-content:center;transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;}
.admin-booking-action-grid .btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.24);box-shadow:0 10px 20px rgba(0,0,0,.18);background:rgba(255,255,255,.11);}
.admin-booking-action-grid .btn--danger:hover{background:rgba(255,43,57,.18);border-color:rgba(255,43,57,.38);}
.admin-booking-row--new{box-shadow:inset 4px 0 0 rgba(69,212,131,.75);}
.admin-booking-row--confirmed{box-shadow:inset 4px 0 0 rgba(104,163,255,.8);}
.admin-booking-row--done{box-shadow:inset 4px 0 0 rgba(185,190,199,.85);}
.admin-booking-row--cancelled{box-shadow:inset 4px 0 0 rgba(255,145,77,.85);}
.admin-bookings-mobile-list{display:none;gap:14px;}

@media (max-width: 1180px){
  .admin-booking-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-bookings-layout--stack{grid-template-columns:1fr;}
  .admin-bookings-calendar{position:relative;top:auto;}
}
@media (max-width: 980px){
  .admin-topbar{padding:18px;}
  .admin-topbar__navrow{align-items:flex-start;}
  .admin-bookings-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 760px){
  .admin-nav--top{width:100%;}
  .admin-nav--top a{flex:1 1 calc(50% - 10px);}
  .admin-topbar__actions{width:100%;}
  .admin-topbar__actions .btn{flex:1 1 220px;}
  .admin-bookings-toolbar{grid-template-columns:1fr;}
  .admin-booking-stats{grid-template-columns:1fr;}
  .admin-bookings-table-wrap{display:none;}
  .admin-bookings-mobile-list{display:grid;}
}
@media (max-width: 520px){
  .admin-nav--top a{flex-basis:100%;}
}

/* admin bookings readability hardening */
.admin-bookings-toolbar{grid-template-columns:repeat(4,minmax(150px,1fr));}
.admin-bookings-table{min-width:1040px;table-layout:fixed;}
.admin-bookings-table__col--term{width:120px;}
.admin-bookings-table__col--client{width:220px;}
.admin-bookings-table__col--services{width:250px;}
.admin-bookings-table__col--amount{width:110px;}
.admin-bookings-table__col--status{width:110px;}
.admin-bookings-table__col--invoice{width:120px;}
.admin-bookings-table__col--actions{width:240px;}
.admin-bookings-table th,
.admin-bookings-table td,
.admin-bookings-table .btn,
.admin-bookings-table .status-pill,
.admin-bookings-mobile-list,
.admin-bookings-mobile-list .btn{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none;
}
.admin-bookings-table thead th{white-space:nowrap;}
.admin-booking-term--stack strong,
.admin-booking-term--stack span,
.admin-booking-person strong,
.admin-booking-person span,
.admin-booking-inline-note,
.admin-booking-service-list--table span,
.admin-bookings-table td .status-pill,
.admin-booking-action-grid .btn{
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.admin-booking-person span,
.admin-booking-person strong,
.admin-booking-inline-note{
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-booking-service-list--table{gap:6px;}
.admin-booking-service-list--table span{
  display:block;
  padding:7px 9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-booking-inline-note{
  margin-top:8px;
  line-height:1.4;
}
.admin-booking-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start;}
.admin-booking-action-grid .btn{min-height:38px;padding:10px 12px;font-size:13px;line-height:1.2;white-space:normal;}
.admin-bookings-table td[data-label="Akcje"]{padding-right:12px;}
.admin-toolbar-field select,
.admin-toolbar-field input{min-height:44px;}
@media (max-width: 1320px){
  .admin-bookings-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* admin modal readability refresh */
.admin-booking-modal,
.admin-booking-modal--invoice,
.admin-booking-modal *,
.admin-booking-modal--invoice *{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.admin-booking-modal{
  width:min(980px, calc(100vw - 28px));
}
.admin-booking-modal--invoice{
  width:min(1080px, calc(100vw - 28px));
}
.admin-modal__head .eyebrow{margin-bottom:6px;}
.admin-modal__head .h2{font-size:28px;line-height:1.12;margin-bottom:6px;}
.admin-modal__head .muted{font-size:13px;line-height:1.55;max-width:760px;}
.admin-modal-form{font-size:14px;}
.admin-modal-form label{display:block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#c8d2e2;white-space:normal;}
.admin-modal-form input,
.admin-modal-form select,
.admin-modal-form textarea{
  font-size:14px;
  line-height:1.45;
  padding:13px 15px;
  border-radius:16px;
  white-space:normal;
}
.admin-modal-form textarea{min-height:116px;resize:vertical;}
.admin-modal-section{padding:20px 20px 18px;border-radius:24px;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));box-shadow:0 16px 40px rgba(0,0,0,.16);}
.admin-modal-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:12px;}
.admin-modal-section__head h3{font-size:18px;line-height:1.2;}
.admin-modal-section__head span{max-width:420px;text-align:right;font-size:12px;line-height:1.5;}
.invoice-number-box,
.invoice-readonly-field{background:rgba(255,255,255,.03);padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);}
.invoice-number-box small,
.invoice-readonly-field small{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:var(--muted);}
.invoice-readonly-field input[readonly],
.invoice-number-box input[readonly],
#editBookingStatusChangedAt[readonly]{background:rgba(255,255,255,.025);border-style:dashed;color:#f8fafc;}
.admin-service-picker__card strong,
.admin-service-picker__card small,
.admin-service-picker__card em,
.admin-booking-action-grid .btn,
.admin-booking-service-list--table span,
.admin-booking-person strong,
.admin-booking-person span,
.admin-booking-inline-note{
  white-space:normal !important;
}
.admin-booking-action-grid .btn{font-size:12px;padding:10px 12px;min-height:36px;}
.admin-bookings-table th,.admin-bookings-table td{font-size:13px;line-height:1.45;}
.admin-bookings-table td{padding:14px 16px;}
.admin-booking-term strong,.admin-booking-person strong{font-size:14px;}
.admin-booking-term span,.admin-booking-person span,.admin-booking-inline-note{font-size:12px;}
.admin-bookings-table__col--term{width:124px;}
.admin-bookings-table__col--client{width:220px;}
.admin-bookings-table__col--services{width:280px;}
.admin-bookings-table__col--amount{width:100px;}
.admin-bookings-table__col--status{width:108px;}
.admin-bookings-table__col--invoice{width:120px;}
.admin-bookings-table__col--actions{width:250px;}
.admin-booking-person span,
.admin-booking-inline-note,
.admin-booking-service-list--table span{display:block;white-space:normal;overflow:visible;text-overflow:clip;}
.admin-bookings-table__col--client,
.admin-bookings-table__col--services,
.admin-bookings-table__col--invoice,
.admin-bookings-table__col--actions{min-width:0;}
@media (max-width: 980px){
  .admin-modal__head .h2{font-size:24px;}
  .admin-modal-section__head{display:grid;}
  .admin-modal-section__head span{text-align:left;max-width:none;}
}
@media (max-width: 640px){
  .admin-modal-form{font-size:13px;}
  .admin-modal-form input,
  .admin-modal-form select,
  .admin-modal-form textarea{font-size:13px;padding:12px 13px;}
  .admin-bookings-table th,.admin-bookings-table td{font-size:12px;}
}


.admin-booking-stat--new,
.admin-booking-stat--confirmed,
.admin-booking-stat--done{position:relative;overflow:hidden;isolation:isolate;}
.admin-booking-stat--new::before,
.admin-booking-stat--confirmed::before,
.admin-booking-stat--done::before{content:"";position:absolute;inset:-1px;background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,.04) 28%, var(--tile-glow, rgba(255,255,255,.18)) 50%, rgba(255,255,255,.04) 72%, transparent 100%);transform:translateX(-110%);animation:bookingStatusGlow 4.8s linear infinite;z-index:-1;}
.admin-booking-stat--new{--tile-glow:rgba(69,212,131,.26);border-color:rgba(69,212,131,.32);box-shadow:0 0 0 1px rgba(69,212,131,.08) inset, 0 12px 28px rgba(69,212,131,.10);}
.admin-booking-stat--confirmed{--tile-glow:rgba(104,163,255,.28);border-color:rgba(104,163,255,.34);box-shadow:0 0 0 1px rgba(104,163,255,.08) inset, 0 12px 28px rgba(104,163,255,.12);}
.admin-booking-stat--done{--tile-glow:rgba(185,190,199,.26);border-color:rgba(185,190,199,.34);box-shadow:0 0 0 1px rgba(185,190,199,.08) inset, 0 12px 28px rgba(185,190,199,.10);}
@keyframes bookingStatusGlow{0%{transform:translateX(-110%);}100%{transform:translateX(110%);}}

/* v6.0.12 – integracje, modal dokumentu, hover tiles */
.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.social-links--compact{gap:10px}
.social-link{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.social-link:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.social-link__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}
.social-link__icon svg{width:18px;height:18px;display:block}
.about-social-card{margin-top:18px;padding:18px}
.booking-follow-box{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:8px}
.admin-preview-social{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

.booking-modal{display:grid;place-items:center;padding:18px}
.booking-modal__dialog,.admin-booking-modal,.admin-booking-modal--invoice{margin:0 auto}
.admin-booking-modal--invoice{width:min(1100px,calc(100vw - 42px));padding:24px 24px 20px;display:flex;flex-direction:column;gap:18px}
.admin-modal-form--stacked{grid-template-columns:1fr !important;align-items:start;gap:18px}
.admin-modal-form--invoice .admin-modal-section{padding:18px;border-radius:22px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.admin-modal-section__grid--balanced{align-items:start}
.admin-modal-section__grid--balanced > .full{grid-column:1 / -1}
.invoice-number-box,.invoice-readonly-field{display:grid;gap:8px}
.admin-modal__head{margin-bottom:0}
.admin-modal__footer{position:sticky;bottom:0;z-index:2;padding-top:12px;background:linear-gradient(180deg,rgba(10,7,8,0),rgba(10,7,8,.82) 35%,rgba(10,7,8,.98) 100%)}

@media (min-width: 980px){
  .admin-modal-form--invoice .admin-modal-section__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (hover:hover) and (pointer:fine){
  .service-card,.booking-service-tile{will-change:transform}
  .service-card{transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease !important}
  .service-card::before{transition:opacity .24s ease,transform .24s ease}
  .service-card:hover{transform:translateY(-4px) scale(var(--tile-hover-scale,1.04)) !important}
  .booking-service-tile{transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease}
  .booking-service-tile:hover{transform:translateY(-2px) scale(var(--tile-hover-scale,1.04))}
}

@media (hover:none), (pointer:coarse){
  .service-card:hover,.booking-service-tile:hover{transform:none !important}
}

@media (max-width: 720px){
  .social-links{gap:10px}
  .social-link{width:100%;justify-content:center}
}


/* v6.0.13 – modal single-layer scroll + reliable admin dialogs */
body.admin-modal-open{overflow:hidden;touch-action:none;}
.booking-modal{display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden;}
.booking-modal.is-open{animation:adminModalFade .16s ease-out;}
.booking-modal__dialog,.admin-booking-modal,.admin-booking-modal--invoice{margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;max-height:min(92vh, 980px);overflow:hidden;}
.admin-booking-modal{width:min(1040px,calc(100vw - 42px));}
.admin-booking-modal--invoice{width:min(1100px,calc(100vw - 42px));padding:24px 24px 18px;}
.admin-modal__head{margin:0;padding:0 40px 14px 0;}
.admin-modal-form{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:6px;padding-bottom:8px;}
.admin-modal-form--booking,.admin-modal-form--invoice{display:grid;grid-template-columns:1fr;gap:16px;align-content:start;}
.admin-modal__footer{position:sticky;bottom:0;z-index:3;margin-top:0;padding:14px 0 2px;background:linear-gradient(180deg,rgba(11,15,24,0) 0%,rgba(11,15,24,.90) 30%,rgba(11,15,24,.98) 100%);}
.booking-modal__close{z-index:4;}
.invoice-number-box,.invoice-readonly-field{display:grid;gap:6px;}
.invoice-readonly-field input[readonly],.invoice-number-box input[readonly]{background:rgba(255,255,255,.03);}
@keyframes adminModalFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (max-width: 860px){
  .admin-booking-modal,.admin-booking-modal--invoice{width:min(100vw - 20px, 1000px);}
  .admin-modal__head{padding-right:44px;}
}
@media (max-width: 640px){
  .booking-modal{padding:0;align-items:stretch;}
  .booking-modal__dialog,.admin-booking-modal,.admin-booking-modal--invoice{width:100vw;max-height:100vh;min-height:100vh;border-radius:0;padding:18px 14px 16px;}
  .admin-modal__head{padding-right:48px;}
  .admin-modal-form{padding-right:0;}
  .admin-modal__footer .btn{width:100%;min-width:0;}
}
