:root{--bg:#faf4e8;--paper:#fffcf6;--ink:#34291f;--gold:#9a7136;--gold-dark:#795321;--muted:#726556}
[hidden]{display:none!important}body{background:var(--bg);font-size:16px;line-height:1.65}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #795321;outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed}.booking-header{height:90px;background:#fffcf6;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);min-width:0}.logo-crop{width:44px;height:65px;position:relative;overflow:hidden;mix-blend-mode:multiply;flex-shrink:0}.brand .logo-crop img{position:absolute;left:-9px;top:-15px;width:110px;height:110px;max-width:none;object-fit:contain;filter:none}.derma-wordmark strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;color:var(--gold-dark);font-weight:600;line-height:1.1}.derma-wordmark small{display:block;font-size:12px;letter-spacing:1px;margin-top:5px}.back{font-size:14px;letter-spacing:0}.page-shell{padding-top:30px}.booking-hero{display:block;margin-bottom:25px}.intro{padding:20px 0;border:0;border-radius:0;box-shadow:none;background:none}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--gold-dark)}.intro h1{font-size:52px;line-height:1.1;letter-spacing:0;margin:14px 0 18px}.intro p{font-size:16px;line-height:1.8;max-width:750px}.booking-phone{font-size:14px;display:inline-block;color:var(--gold-dark);border-bottom:1px solid #c1ab84;margin-top:16px;padding-bottom:4px}.booking-unavailable{background:#fffcf6;border:1px solid #cdbb9a;padding:42px;max-width:800px;margin:0 auto 40px;border-radius:6px}.booking-unavailable h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;line-height:1.2;font-weight:500;margin:14px 0 20px}.booking-unavailable p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}.fallback-actions{display:flex;flex-wrap:wrap;gap:15px;margin:28px 0}.fallback-actions a{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 20px;border-radius:4px;font-size:16px}.fallback-primary{background:#8b672f;color:#fff}.fallback-secondary{border:1px solid #b69c73;color:var(--gold-dark)}.fallback-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.fallback-bottom a,.fallback-bottom button{color:var(--gold-dark);border:0;border-bottom:1px solid #b69c73;font-size:14px;padding:8px 0;background:none}.loading,.message,.helper,.calendar-loading,.no-slots{font-size:16px;line-height:1.7}.booking-card{border-radius:6px;background:#fffcf6}.step-head small{font-size:12px;letter-spacing:1.5px}.step-head h2{font-size:30px;line-height:1.25}.step-head>span{flex-shrink:0}.service{border-radius:6px}.service strong{font-size:24px;line-height:1.3}.service small{font-size:14px;line-height:1.6}.service.selected{outline:2px solid #8b672f;outline-offset:-2px}.calendar-card{border-radius:8px;padding:18px}.calendar-title-block small{font-size:12px}.calendar-title-block h3{font-size:28px}.calendar-weekdays span{font-size:14px}.calendar-nav{min-width:44px;min-height:44px}.calendar-day{min-height:66px}.calendar-day .num{font-size:20px}.calendar-day .sub{font-size:12px;letter-spacing:0;line-height:1.2}.calendar-day.selected .sub{color:#fff}.slot-preview-head strong{font-size:24px}.slot-preview-head small{font-size:14px;line-height:1.7}.slot{font-size:16px;min-height:44px}.more-slots-btn,.change-day-btn{font-size:14px;min-height:44px}.form-grid label span{font-size:14px;text-transform:none;letter-spacing:0}.form-grid input,.form-grid textarea{font-size:16px;width:100%;min-height:48px;border:1px solid #c7b69a;border-radius:5px;background:#fff;padding:12px 14px;color:var(--ink)}.consent{font-size:14px;line-height:1.7}.consent input{width:20px;height:20px;flex-shrink:0}.summary{font-size:16px}.summary strong{font-size:26px}.submit{font-size:16px;letter-spacing:0;text-transform:none;background:#8b672f;border-radius:5px;min-height:56px;height:auto;padding:16px}.pending-note{font-size:14px}.success-card h2{font-size:38px}.success-card p{font-size:16px}.success-card a{font-size:14px}footer{font-size:14px;line-height:1.7;background:#eee3d1}.message a{color:var(--gold-dark);text-decoration:underline}
@media(max-width:680px){.booking-header{height:80px;padding:0 15px;gap:10px}.brand{gap:8px}.logo-crop{width:34px;height:55px}.brand .logo-crop img{width:95px;height:95px;left:-8px;top:-12px}.derma-wordmark strong{font-size:28px}.derma-wordmark small{font-size:12px;letter-spacing:0}.back{font-size:0;padding:10px;min-width:44px;min-height:44px;background:none}.back:after{content:'←';font-size:22px}.page-shell{width:calc(100% - 30px);padding-top:18px}.intro{padding:12px 4px 15px}.intro h1{font-size:40px;overflow-wrap:normal}.intro p{font-size:16px}.booking-unavailable{padding:25px 20px}.booking-unavailable h2{font-size:33px}.fallback-actions{display:grid;grid-template-columns:1fr;gap:12px}.fallback-actions a{font-size:15px}.fallback-bottom{gap:12px}.step-head h2{font-size:26px}.booking-card{padding:24px 16px}.calendar-card{padding:12px 8px}.calendar-grid{gap:4px}.calendar-day{padding:7px 0;min-width:0;min-height:61px}.calendar-day .num{font-size:19px}.calendar-day .sub{font-size:12px}.calendar-weekdays span{font-size:12px}.calendar-title-block h3{font-size:25px}.calendar-nav{min-width:44px;min-height:44px}.service strong{font-size:24px}.service small{font-size:14px}.form-grid label span{font-size:14px}.consent{padding:12px;font-size:14px}.pending-note{font-size:14px}.step-head small{font-size:12px}.message{font-size:16px}footer{font-size:14px}}
@media(max-width:380px){.booking-header{padding:0 10px}.derma-wordmark small{font-size:12px;letter-spacing:-.25px}.calendar-card{padding:12px 4px}.calendar-grid{gap:2px}.calendar-day .sub{font-size:12px;letter-spacing:-.25px}.intro h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Compact availability markers keep seven calendar columns readable on phones. */
.calendar-mobile-hint{display:none}
@media(max-width:680px){
  .calendar-grid,.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}
  .calendar-day{position:relative;min-width:0;overflow:hidden}
  .calendar-day.available .sub{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
  .calendar-day.available:after{content:"";display:block;width:5px;height:5px;margin-top:4px;border-radius:50%;background:#9a7136;flex-shrink:0}
  .calendar-day.selected:after{background:#795321}
  .calendar-mobile-hint{display:flex;align-items:baseline;gap:8px;margin:14px 4px 0;font-size:14px;line-height:1.6;color:#726556}
  .calendar-mobile-hint>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#9a7136;flex:0 0 5px;align-self:flex-start;margin-top:9px}
}

/* Transparent DermaLuxe logo: removes the visible JPG square on cream backgrounds. */
.logo-crop{width:42px!important;height:58px!important;overflow:visible!important;position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;mix-blend-mode:normal!important}
.brand .logo-crop img{display:block!important;position:static!important;left:auto!important;top:auto!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important}
@media(max-width:680px){.logo-crop{width:34px!important;height:50px!important}}
