*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8efe8;color:#2e1b20;font-family:"DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}header.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:17px 5%;background:rgba(250,244,237,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(92,27,43,.12)}.logo{font-weight:700;letter-spacing:.11em;font-size:14px}.logo span{font-family:"Playfair Display",serif;font-weight:400;letter-spacing:.04em}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a{opacity:.75}nav a:hover{opacity:1}.nav-cta,.button{background:#641b2e;color:#fff;border:0;border-radius:999px;padding:14px 22px;font-weight:700;font-size:12px;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 25px rgba(100,27,46,.18)}.nav-cta{padding:11px 18px}.hero{min-height:650px;padding:80px 8%;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 20%,#d9ead6 0 12%,transparent 13%),linear-gradient(135deg,#f8efe8 0%,#f8e1e8 48%,#efe8d5 100%)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.75}.hero:before{width:230px;height:230px;left:-100px;top:70px;background:#e8a1ad}.hero:after{width:300px;height:300px;right:-120px;bottom:-110px;background:#cbdcc5}.hero-copy{position:relative;z-index:2;max-width:650px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:#743244;margin:0 0 15px}.hero h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:.98;margin:0}.hero h1{font-size:clamp(55px,8vw,105px);letter-spacing:-.05em}.hero h1 em,h2 em{font-weight:400;color:#7e2540}.hero-text{max-width:530px;font-size:16px;line-height:1.75;color:#684f56;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{font-weight:700;font-size:13px}.hero-card{position:relative;z-index:2;justify-self:end;width:min(430px,90%);aspect-ratio:4/5;border-radius:34px;overflow:hidden;background:linear-gradient(150deg,#6b1b30 0 55%,#d994a6 55% 72%,#eee5c9 72%);box-shadow:25px 30px 60px rgba(65,26,36,.22);transform:rotate(2deg)}.hero-card:before{content:"";position:absolute;inset:25px;border:1px solid rgba(255,255,255,.45);border-radius:25px}.hero-card-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}.hero-card-inner span{font-size:12px;letter-spacing:.3em}.hero-card-inner strong{font-family:"Playfair Display",serif;font-size:70px;line-height:.82;margin:20px 0}.hero-card-inner small{font-size:11px;letter-spacing:.2em}.marquee{display:flex;justify-content:center;gap:28px;align-items:center;flex-wrap:wrap;padding:18px 5%;background:#641b2e;color:#fbeef0;font-size:11px;font-weight:700;letter-spacing:.18em}.marquee i{font-style:normal;color:#e9a8b6}.section{padding:95px 7%;max-width:1280px;margin:auto}.section-heading{max-width:650px}.section-heading.centered{text-align:center;margin:0 auto 48px}.section-heading h2{font-size:clamp(45px,6vw,75px);letter-spacing:-.04em}.section-heading>p:last-child{color:#765d64;line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.service-card{min-height:280px;border-radius:26px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.service-card span{position:absolute;top:25px;right:28px;font-size:12px;font-weight:700;opacity:.6}.service-card h3{font-family:"Playfair Display",serif;font-size:37px;font-weight:500;margin:0 0 8px}.service-card strong{font-size:14px}.service-card p{line-height:1.55;font-size:13px;max-width:290px;opacity:.78}.burgundy{background:#641b2e;color:#fff}.blush{background:#e9b9c5}.cream{background:#f2e8c9}.quote-band{padding:80px 7%;background:#e4c7cf;text-align:center}.quote-band p{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(28px,4vw,48px);margin:0 auto 12px;max-width:800px}.quote-band span{font-size:10px;letter-spacing:.2em;font-weight:700}.booking-section{max-width:1000px}.booking-shell{background:rgba(255,252,248,.88);border:1px solid #e2d3cd;border-radius:34px;padding:45px;box-shadow:0 25px 70px rgba(73,42,48,.08)}.form{display:grid;gap:18px}.form-section-title{display:flex;gap:16px;align-items:flex-start;padding:12px 0 5px;border-top:1px solid #eaded9;margin-top:12px}.form-section-title span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#641b2e;color:#fff;font-size:11px;font-weight:700;flex:none}.form-section-title h3{font-family:"Playfair Display",serif;font-size:25px;font-weight:500;margin:0}.form-section-title p{margin:3px 0 0;font-size:12px;color:#806d73}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:8px;font-size:12px;font-weight:700;color:#5d474e}input,select{width:100%;border:1px solid #ddcdca;border-radius:13px;background:#fffdfa;color:#2e1b20;padding:14px 15px;outline:none}input:focus,select:focus{border-color:#8d4a5c;box-shadow:0 0 0 3px rgba(141,74,92,.08)}.upload-box{position:relative;border:1.5px dashed #cda9b3;border-radius:18px;padding:17px;background:#fff7f8}.upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-ui{font-size:13px;color:#7b3045;font-weight:700}.upload-box small{color:#8c7a7f}.outline{background:#fff;border:1px solid #d9c5c9;border-radius:999px;padding:11px 16px;color:#5f2435;font-weight:700;cursor:pointer}.discount-box{padding:20px;border-radius:20px;background:#f1e2d6;display:grid;gap:12px}.discount-box span{display:block;font-size:10px;letter-spacing:.16em;font-weight:700;color:#7b3045}.discount-box strong{font-family:"Playfair Display",serif;font-size:20px;font-weight:500}.discount-row{display:flex;gap:8px}.discount-row input{flex:1}.price-card{background:#641b2e;color:#fff;border-radius:22px;padding:22px;display:grid;gap:10px}.price-card div{display:flex;justify-content:space-between;font-size:13px}.price-card .grand{border-top:1px solid rgba(255,255,255,.2);padding-top:14px;margin-top:5px;font-size:16px}.price-card .grand strong{font-family:"Playfair Display",serif;font-size:28px;font-weight:500}.notice{padding:14px 17px;background:#f8eee8;border-radius:12px;color:#725d62;font-size:12px;line-height:1.6}.full{width:100%;padding:17px}.form-message{min-height:20px;text-align:center;font-size:13px;font-weight:700}.form-message.error{color:#a32642}.form-message.success{color:#35634a}.hidden{display:none!important}footer{padding:35px 7%;background:#2f1d22;color:#f9edef;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em}footer span:last-child{opacity:.6;letter-spacing:0}.leaf{position:fixed;z-index:-1;pointer-events:none;border-radius:100% 0 100% 0;opacity:.2;filter:blur(.2px)}.leaf-one{width:150px;height:320px;right:-50px;top:180px;background:#77946e;transform:rotate(28deg)}.leaf-two{width:130px;height:260px;left:-50px;bottom:50px;background:#c26f83;transform:rotate(-30deg)}
/* Admin */
body:has(.admin-main){background:#fbf6f7}.admin-topbar{height:72px;padding:0 6%;background:rgba(255,250,251,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 #eadcdf}.admin-topbar .logo{font-size:15px}.admin-topbar .logo span{font-family:"Playfair Display",serif;font-weight:400}.customer-link{padding:10px 16px!important;border:1px solid #e4d5da;border-radius:999px!important;background:#fff;font-size:13px!important}.admin-main{max-width:1180px;margin:auto;padding:50px 6% 90px}.admin-main h1{margin:5px 0 8px}.muted{color:#806d73;line-height:1.6}.login-card{max-width:430px;margin:50px auto;padding:42px 34px;background:rgba(255,255,255,.9);border:1px solid #eadcdf;border-radius:28px;box-shadow:0 24px 70px rgba(61,35,42,.10);text-align:center}.admin-mark{width:54px;height:54px;margin:0 auto 22px;border-radius:17px;display:grid;place-items:center;background:#641b2e;color:#fff;font-family:"Playfair Display",serif;font-size:18px}.pin-box{max-width:320px!important;margin:24px auto 0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.pin-dots{margin:16px 0 25px!important}.pin-dot{width:13px!important;height:13px!important;border-color:#c89aa7!important}.pin-dot.filled{background:#2b2023!important}.keypad{gap:11px!important}.keypad button{height:60px!important;background:#fff!important;border:1px solid #eadcdf!important;border-radius:16px!important;box-shadow:0 3px 10px rgba(61,35,42,.04);font-size:19px!important}.keypad button:hover{background:#f8edf0!important}.pin-login{border-radius:14px!important;height:50px}.admin-head{padding:10px 0 30px;border-bottom:1px solid #eadcdf;margin-bottom:28px}.admin-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px}.admin-tools>h2{grid-column:1/-1;font-family:"Playfair Display",serif;font-size:40px;font-weight:500;margin:5px 0}.admin-tools .card{border:1px solid #eadcdf!important;border-radius:22px!important;box-shadow:0 10px 30px rgba(61,35,42,.05)!important;padding:24px!important;background:#fff}.admin-tools .card h3{font-family:"Playfair Display",serif;font-size:24px;margin:0 0 18px}.admin-tools input,.admin-tools select{border-radius:11px!important;background:#fff}.booking{border:1px solid #eadcdf!important;border-radius:22px!important;box-shadow:0 10px 30px rgba(61,35,42,.05)!important;padding:24px!important;background:#fff;margin-bottom:16px}.booking h3{font-family:"Playfair Display",serif;font-size:21px;margin-top:0}.booking .actions button{border-radius:10px}#adminMessage,#loginMessage{min-height:20px;color:#8b5968}
@media(max-width:760px){nav{display:none}.hero{grid-template-columns:1fr;padding:60px 6%}.hero-card{justify-self:center;width:75%}.service-grid,.grid,.admin-tools{grid-template-columns:1fr}.section{padding:70px 6%}.booking-shell{padding:24px 18px;border-radius:24px}footer{display:grid;gap:8px}.hero h1{font-size:55px}.marquee{gap:12px}.admin-main{padding:30px 5% 70px}.admin-topbar{padding:0 5%}.customer-link{font-size:11px!important;padding:8px 11px!important}}

/* ===== NAILS BY NASA ADMIN — MATCH CUSTOMER THEME ===== */
.admin-page{
  background:
    radial-gradient(circle at 8% 18%,rgba(216,146,161,.22) 0 90px,transparent 91px),
    radial-gradient(circle at 96% 65%,rgba(185,209,180,.35) 0 130px,transparent 131px),
    linear-gradient(135deg,#f8efe8 0%,#f8e1e8 48%,#efe8d5 100%);
  min-height:100vh;
}
.admin-header{position:sticky;top:0;z-index:50}
.admin-customer-link{
  font-size:12px;font-weight:700;color:#641b2e;
  padding:10px 17px;border:1px solid #d8c2c5;border-radius:999px;
  background:rgba(255,253,249,.8);
}
.admin-main{max-width:1180px;margin:auto;padding:65px 6% 90px}
.admin-login{
  max-width:470px;margin:25px auto 0;text-align:center;
  padding:48px 38px;background:rgba(255,252,248,.88);
  border:1px solid #e2d3cd;border-radius:34px;
  box-shadow:25px 30px 60px rgba(65,26,36,.13);
}
.admin-logo-mark{
  width:64px;height:64px;margin:0 auto 25px;border-radius:20px;
  display:grid;place-items:center;background:#641b2e;color:#fff;
  font-family:"Playfair Display",Georgia,serif;font-size:20px;
  box-shadow:0 12px 25px rgba(100,27,46,.18);
}
.admin-login h1,.admin-dashboard-head h1{
  font-family:"Playfair Display",Georgia,serif;font-weight:500;
  letter-spacing:-.04em;margin:0;font-size:clamp(44px,6vw,70px);line-height:.98;
}
.admin-subtitle{color:#765d64;line-height:1.7;font-size:13px;max-width:500px}
.admin-login .admin-subtitle{margin:16px auto 25px}
.admin-message{min-height:18px;font-size:12px;color:#8a5b68}
.pin-box{max-width:330px;margin:28px auto 0!important;padding:0!important;background:none!important;border:0!important}
.pin-dots{display:flex;justify-content:center;gap:11px;margin:0 0 20px}
.pin-dot{width:13px!important;height:13px!important;border:2px solid #c98f9e!important;background:transparent!important}
.pin-dot.filled{background:#641b2e!important;border-color:#641b2e!important}
.keypad{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;margin-top:8px;
}
.keypad .key{
  height:60px;border:1px solid #dfcccf;border-radius:18px;
  background:#fffdfa;color:#2e1b20;font-size:20px;cursor:pointer;
  box-shadow:0 5px 16px rgba(65,26,36,.06);transition:.15s;
}
.keypad .key:hover{background:#f8e9ed;transform:translateY(-1px)}
.keypad .key:active{transform:scale(.97)}
.keypad .key:nth-child(10){visibility:hidden}
.admin-dashboard-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:25px;
  padding-bottom:32px;border-bottom:1px solid rgba(100,27,46,.14);margin-bottom:32px;
}
.admin-dashboard-head .outline{white-space:nowrap}
.admin-tools{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin-bottom:65px!important}
.admin-card{
  background:rgba(255,252,248,.88)!important;border:1px solid #e2d3cd!important;
  border-radius:28px!important;padding:28px!important;
  box-shadow:15px 20px 45px rgba(73,42,48,.07)!important;
}
.admin-card-title{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}
.admin-card-title h2{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:500;margin:0}
.admin-card-title p{margin:5px 0 0;color:#806a70;font-size:12px;line-height:1.5}
.admin-number{
  flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:#641b2e;color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;
}
.admin-card .grid{gap:12px}
.admin-card label{font-size:11px}
.admin-card input,.admin-card select{background:#fffdfa}
.admin-card .button{margin-top:16px}
.admin-inline{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px}
.discount-list{margin-top:18px;display:grid;gap:8px}
.discount-list p{margin:0;padding:10px 12px;background:#f2e3d8;border-radius:10px;font-size:12px}
.switch-row{
  display:flex!important;grid-template-columns:none!important;
  align-items:center;gap:10px!important;margin:14px 0!important;
}
.switch-row input{position:absolute;opacity:0;width:1px;height:1px}
.switch{
  width:45px;height:25px;border-radius:99px;background:#d6c8c7;position:relative;display:block;
  transition:.2s;flex:none;
}
.switch:after{
  content:"";position:absolute;width:19px;height:19px;border-radius:50%;
  background:#fff;left:3px;top:3px;transition:.2s;box-shadow:0 2px 5px #0002;
}
.switch-row input:checked + .switch{background:#641b2e}
.switch-row input:checked + .switch:after{left:23px}
.requests-heading{
  display:flex;justify-content:space-between;align-items:end;gap:20px;
  margin-bottom:22px;
}
.requests-heading h2{font-size:clamp(36px,5vw,58px)}
.booking{
  background:rgba(255,252,248,.9)!important;border:1px solid #e2d3cd!important;
  border-radius:24px!important;box-shadow:12px 18px 40px rgba(73,42,48,.06)!important;
  margin-bottom:15px;padding:25px!important;
}
.booking h3{font-family:"Playfair Display",Georgia,serif;font-size:23px!important;color:#641b2e}
.booking .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.booking .status,.booking .danger{
  border-radius:999px;padding:10px 15px;border:0;font-weight:700;cursor:pointer
}
.booking .status{background:#641b2e;color:#fff}
.booking .danger{background:#f1dce0;color:#7b3045}
.admin-page footer{margin-top:0}
@media(max-width:760px){
  .admin-header{padding:15px 5%!important}
  .admin-customer-link{font-size:10px;padding:8px 12px}
  .admin-main{padding:40px 5% 65px}
  .admin-login{padding:38px 22px;margin-top:10px;border-radius:28px}
  .admin-dashboard-head{align-items:flex-start;flex-direction:column}
  .admin-dashboard-head .outline{align-self:flex-start}
  .admin-tools{grid-template-columns:1fr!important;margin-bottom:50px!important}
  .admin-inline{grid-template-columns:1fr!important}
  .requests-heading{align-items:flex-start;flex-direction:column}
  .admin-card{padding:22px!important}
}
.admin-msg{min-height:24px;color:#7d5361;font-size:14px;margin:8px 0 18px}

/* v4 booking/admin enhancements */
.toggle-row{display:flex!important;align-items:center;gap:10px;cursor:pointer}.toggle-row input{display:none}.fake-check{width:22px;height:22px;border:1px solid #b98d99;border-radius:7px;background:#fff;display:inline-block}.toggle-row input:checked+.fake-check{background:#6e3044;box-shadow:inset 0 0 0 5px #fff}
.upload-box{position:relative}.upload-box input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}.upload-ui{display:inline-block;padding:9px 14px;border:1px dashed #bd9aa5;border-radius:10px;margin-top:7px;background:#fff}
.calendar-card{margin-bottom:25px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cal-week span{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8a737a}.cal-day{min-height:58px;border:1px solid #eadcdf;background:#fff;border-radius:12px;padding:7px;text-align:left;cursor:pointer}.cal-day.has-booking{background:#f4e6ea;border-color:#cfaab6}.cal-day.selected{outline:2px solid #6e3044}.cal-day small{display:block;font-size:9px;color:#6e3044;margin-top:4px}.cal-empty{min-height:58px}.request-row{width:100%;display:grid;grid-template-columns:1.1fr 1fr 1.5fr .9fr;gap:10px;align-items:center;text-align:left;padding:15px 14px;margin:5px 0;border:1px solid #eadcdf;background:#fff;border-radius:12px;cursor:pointer}.request-row:hover{background:#fbf1f3}.request-row em{font-style:normal;font-size:11px;color:#6e3044}.option-manager{border-top:1px solid #eadcdf;padding:18px 0}.option-manager h3{font-family:Georgia,serif;margin:0 0 10px}.option-line{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed #eee}.option-line span{flex:1}.option-line small{color:#866f77}.option-line button{font-size:11px;padding:7px 9px}.add-option{display:grid;grid-template-columns:1fr 110px auto;gap:7px;margin-top:10px}.add-option input{min-width:0}.booking-modal{position:fixed;inset:0;background:rgba(43,32,35,.45);z-index:100;display:grid;place-items:center;padding:20px}.modal-card{max-width:620px;width:100%;max-height:90vh;overflow:auto;background:#fffaf9;border-radius:25px;padding:28px;box-shadow:0 30px 80px rgba(43,32,35,.25);position:relative}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.detail-grid>div{background:#fff;border:1px solid #eadcdf;border-radius:12px;padding:12px;font-size:11px;color:#866f77}.detail-grid strong{display:block;color:#2b2023;font-size:14px;margin-top:4px}.small-help{font-size:11px;color:#866f77}.danger{background:#fff!important;color:#8b3046!important;border:1px solid #d8aab5!important;border-radius:10px;padding:8px 10px;cursor:pointer}
@media(max-width:650px){.request-row{grid-template-columns:1fr 1fr;}.request-row time{grid-column:1/2}.request-row em{grid-column:2/3}.detail-grid{grid-template-columns:1fr}.add-option{grid-template-columns:1fr 90px}.add-option button{grid-column:1/-1}.cal-day{min-height:50px}.cal-day small{display:none}}

.closed-screen{min-height:72vh;display:grid;place-items:center;padding:80px 6%;background:radial-gradient(circle at 15% 20%,#e7b0bc 0 80px,transparent 81px),linear-gradient(135deg,#f8efe8,#f7e0e7 52%,#edf0df)}.closed-card{max-width:700px;text-align:center;background:rgba(255,252,248,.92);border:1px solid #e2d3cd;border-radius:34px;padding:60px 35px;box-shadow:25px 30px 60px rgba(65,26,36,.12)}.closed-card h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,8vw,82px);line-height:.98;font-weight:500;margin:0}.closed-card h1 em{color:#7e2540;font-weight:400}.closed-card>p:not(.eyebrow){color:#765d64;line-height:1.7;max-width:560px;margin:22px auto}.interest-form{max-width:430px;margin:25px auto;display:grid;gap:10px}.field-help{display:block;color:#7b3045;font-weight:500;font-size:11px;line-height:1.5}.date-time-grid input,.date-time-grid select{height:50px;min-height:50px;padding:12px 13px;font-size:15px;appearance:none;-webkit-appearance:none}.date-time-grid{grid-template-columns:1fr 1fr!important}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.photo-preview-grid img{width:100%;aspect-ratio:1;border-radius:12px;object-fit:cover;border:1px solid #eadcdf}.modal-photos{margin-top:20px}.modal-photos h3{font-family:"Playfair Display",serif;font-size:22px;margin-bottom:10px}@media(max-width:650px){.closed-card{padding:45px 22px;border-radius:26px}.date-time-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.date-time-grid label{min-width:0}.date-time-grid input,.date-time-grid select{width:100%;font-size:14px}.photo-preview-grid{grid-template-columns:repeat(2,1fr)}}
.shop-closed > section:not(#closedScreen){display:none!important}.shop-closed #closedScreen{display:grid!important;min-height:calc(100vh - 74px)}
@media (max-width: 700px){
  .date-time-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
  .date-time-grid label{min-width:0}
  .date-time-grid input,.date-time-grid select{width:100%;min-width:0;box-sizing:border-box;height:54px;font-size:16px}
}
