.hc-booking-app{--cream:#fcf6ef;--gold:#bd8d4b;--navy:#173653;--ink:#4b4f58;--muted:#78838b;--line:#e7d9ca;--error:#a84c49;width:100%;max-width:none;margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink)}
.hc-booking-app *{box-sizing:border-box}.hc-booking-wrap{width:min(1040px,calc(100% - 40px));margin:auto}.hc-booking-hero{width:100vw;max-width:none;margin-left:calc(50% - 50vw);min-height:330px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(15,38,57,.86),rgba(15,38,57,.4)),url("https://harbourconsulting.se/wp-content/uploads/2026/05/guy-s-hands-on-the-laptop-keyboard-boy-communica-2024-12-05-00-49-48-utc-2048x1366-1-1536x1025.jpg") center 44%/cover no-repeat;padding:112px 0 58px}.hc-eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;font-weight:600;color:#d7a675}.hc-booking-hero h1,.hc-stage-intro h2,.hc-booking-main h4,.hc-complete h3{font-family:"Yeseva One",Georgia,serif;font-weight:400}.hc-booking-hero h1{font-size:clamp(44px,7vw,72px);line-height:1.04;color:#fff;margin:10px 0 14px}.hc-booking-hero p{max-width:660px;color:rgba(255,255,255,.88);font-size:15px;line-height:1.75;margin:0}.hc-booking-stage{background:var(--cream);padding:46px 0 78px}.hc-stage-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:34px;margin-bottom:26px}.hc-stage-intro h2{font-size:34px;line-height:1.15;color:var(--navy);margin:8px 0 0}.hc-stage-intro>p{max-width:400px;margin:0;color:#6f787f;font-size:13px;line-height:1.7;text-align:right}.hc-stage-intro a{color:var(--gold)}
.hc-progress{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line)}.hc-progress li{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:12px 15px;color:#9aa0a5;border-right:1px solid #eee4da;transition:.25s}.hc-progress li:last-child{border-right:0}.hc-progress li:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.25s}.hc-progress li.is-active{color:var(--navy);background:#fffdfa}.hc-progress li.is-active:after,.hc-progress li.is-done:after{transform:scaleX(1)}.hc-progress span{font-family:"Yeseva One",Georgia,serif;font-size:16px;color:var(--gold)}.hc-progress b{font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.hc-booking-card{display:grid;grid-template-columns:minmax(0,3fr) minmax(245px,1fr);background:#fff;border:1px solid var(--line);box-shadow:0 14px 34px rgba(34,46,56,.06)}.hc-booking-main{min-width:0}.hc-booking-main>section{display:none;padding:0 32px 28px;min-height:410px}.hc-booking-main>section.is-active{display:block;animation:hc-in .36s ease}.hc-booking-main>section>h3{font-size:18px;line-height:1.3;color:#202d35;margin:0 -32px 28px;padding:17px 32px;border-bottom:1px solid #eee7df}.hc-panel-note{color:var(--muted);font-size:12px;line-height:1.7;margin:-14px 0 24px}@keyframes hc-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.hc-service-list{width:min(610px,100%);margin:8px auto 0;display:flex;flex-direction:column;gap:14px}.hc-service{appearance:none;width:100%;display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid #d9dde0;border-radius:0;padding:22px 20px 16px;color:var(--ink);cursor:pointer;transition:border-color .22s,box-shadow .22s,transform .22s}.hc-service:hover,.hc-service:focus-visible{background:#fff!important;border-color:#1f4c76;box-shadow:0 8px 22px rgba(23,54,83,.07);transform:translateY(-1px);outline:none}.hc-service:hover *,.hc-service:focus-visible *{background:transparent!important}.hc-service.is-selected{border-color:var(--gold);background:#fffdfa}.hc-service-copy strong{display:block;font-family:"Yeseva One",Georgia,serif;font-size:18px;line-height:1.35;color:var(--navy);font-weight:400}.hc-service-copy small{display:block;margin-top:7px;font-size:12px;line-height:1.65;color:#737c83}.hc-service-rate{display:block;margin-top:13px;padding-top:11px;border-top:1px solid #eee9e3;font-size:11px;color:var(--gold);font-weight:600}.hc-service-actions{width:min(610px,100%);margin:24px auto 0}.hc-service-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.hc-service-tabs button{appearance:none;border:1px solid #d9dde0;background:#fff;padding:9px 12px;color:#67727a;font-size:10px;line-height:1.35;cursor:pointer}.hc-service-tabs button:hover,.hc-service-tabs button.is-active{border-color:#1f4c76;color:#1f4c76;background:#f8fbfd}
.hc-calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin:0 0 15px}.hc-calendar-head strong{text-align:center;font-family:"Yeseva One",Georgia,serif;color:var(--navy);font-size:19px;font-weight:400}.hc-calendar-head button{border:0;background:transparent;color:var(--navy);font-size:19px;cursor:pointer;padding:8px}.hc-weekdays,.hc-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.hc-weekdays{margin-bottom:5px}.hc-weekdays span{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#879097;padding:5px}.hc-day{appearance:none;position:relative;border:1px solid transparent;background:#fff;min-height:42px;color:#3f4b53;font-size:12px;cursor:pointer}.hc-day:hover:not(:disabled),.hc-day.is-selected{border-color:var(--gold);color:var(--navy);background:#fffaf4}.hc-day.has-appointment:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--navy);left:50%;bottom:4px;transform:translateX(-50%)}.hc-day:disabled,.hc-day.is-empty{color:#bec3c6;background:#f4f2ef;cursor:not-allowed}.hc-day.is-empty{visibility:hidden}.hc-time-panel{margin-top:24px;padding-top:21px;border-top:1px solid #eee7df}.hc-time-panel h4{font-size:17px;color:var(--navy);margin:0 0 13px}.hc-times{display:flex;flex-wrap:wrap;gap:8px}.hc-time{appearance:none;border:1px solid #d9dde0;background:#fff;padding:10px 15px;font-size:12px;color:var(--navy);cursor:pointer}.hc-time:hover:not(:disabled),.hc-time.is-selected{border-color:var(--gold);background:#fffaf4}.hc-time.is-in-range{border-color:var(--gold);background:#f8efe3}.hc-time:disabled{color:#afb4b8;background:#f2f2f1;cursor:not-allowed}.hc-time-help{font-size:11px;color:#858d93;line-height:1.6;margin:12px 0 0}.hc-selected-appointments{margin-top:22px;padding-top:18px;border-top:1px solid #eee7df}.hc-selected-appointments h4{font-size:15px;color:var(--navy);margin:0 0 10px}.hc-selected-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #f1ece6;font-size:11px;color:#4f5c64}.hc-selected-row span{min-width:0}.hc-selected-row strong,.hc-selected-row small{display:block}.hc-selected-row strong{font-weight:500;color:#263d4c;margin-bottom:3px}.hc-selected-row small{font-size:10px;color:#79848b}.hc-selected-row button{appearance:none;border:0;background:transparent;color:#8b6950;font-size:10px;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;padding:5px 0}.hc-selected-row button:hover{color:var(--navy)}
.hc-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee7df;margin-top:28px;padding-top:18px}.hc-back,.hc-next{appearance:none;border:0;background:transparent;padding:11px 14px;font:600 12px/1 Montserrat,Arial,sans-serif;cursor:pointer}.hc-back{color:#263640}.hc-next{background:var(--gold);color:#fff;min-width:112px}.hc-next:disabled{opacity:.45;cursor:not-allowed}
.hc-details-intro{margin:0 0 20px}.hc-details-intro h4{font-size:20px;color:var(--navy);margin:0 0 4px}.hc-details-intro p{margin:0;color:#7d858b;font-size:11px}.hc-details{display:grid;grid-template-columns:1fr 1fr;gap:15px 14px;align-items:start}.hc-field{min-width:0}.hc-full{grid-column:1/-1}.hc-field label{display:block;font-size:10px;letter-spacing:.025em;color:#69747b;margin:0 0 5px}.hc-field input,.hc-field select,.hc-field textarea{width:100%;border:1px solid #ccd2d6;border-radius:0;background:#fff;color:#3c4850;font:400 13px/1.3 Montserrat,Arial,sans-serif;padding:12px 11px;outline:none;box-shadow:none}.hc-field input,.hc-field select{height:44px}.hc-field input:focus,.hc-field select:focus,.hc-field textarea:focus{border-color:#1f4c76}.hc-field input::placeholder,.hc-field textarea::placeholder{color:#a9b0bb}.hc-field.is-invalid input,.hc-field.is-invalid select,.hc-field.is-invalid textarea{border-color:var(--error)}.hc-error{display:block;min-height:0;margin-top:5px;color:var(--error);font-size:10px;line-height:1.4}.hc-counter{display:block;font-size:9px;color:#92999d;margin-top:4px}.hc-wechat{grid-column:1/-1;border-left:3px solid var(--gold);background:#fcf8f3;padding:14px 16px}.hc-wechat input{max-width:420px}.hc-wechat>span{display:block;max-width:560px;margin-top:8px;font-size:10px;line-height:1.6;color:#69747b}.hc-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.hc-summary{border-left:1px solid #eee7df;padding:0 24px 28px;background:#fffdfa}.hc-summary>h3{font-size:18px;color:#202d35;margin:0 -24px 28px;padding:17px 24px;border-bottom:1px solid #eee7df}.hc-summary-empty{font-size:11px;line-height:1.7;color:#8a9297}.hc-summary h4{font-size:14px;line-height:1.35;color:#26353d;margin:0 0 5px}.hc-summary p{margin:0 0 23px;font-size:11px;line-height:1.75;color:#7b858b;white-space:pre-line}.hc-price-title{text-transform:uppercase;letter-spacing:.11em;font-size:9px;color:#7e878c;border-bottom:1px solid #eee7df;padding-bottom:8px;margin-bottom:8px}.hc-summary dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;margin:0;font-size:10px}.hc-summary-lines{display:contents}.hc-summary dt,.hc-summary dd{margin:0}.hc-summary dt{line-height:1.4}.hc-summary dd{text-align:right;color:#26353d}.hc-summary .hc-total{font-size:14px;color:#172d3e;border-top:1px solid #263640;padding-top:7px;margin-top:2px}.hc-summary small{display:block;margin-top:10px;color:#858c91;font-size:9px;line-height:1.5}
.hc-payment-intro{text-align:center;color:#7a848a;font-size:12px}.hc-payment-mount{min-height:260px}.hc-payment-state,.hc-payment-success,.hc-complete{text-align:center;padding:55px 20px!important}.hc-spinner{display:block;width:38px;height:38px;border:2px solid #e6ded3;border-top-color:var(--gold);border-radius:50%;margin:0 auto 18px;animation:hc-spin .8s linear infinite}@keyframes hc-spin{to{transform:rotate(360deg)}}.hc-payment-state h4,.hc-payment-success h4{font-size:23px;color:var(--navy);margin:0 0 10px}.hc-payment-state p,.hc-payment-success p{font-size:12px;color:#7b858b;margin:0 auto 22px}.hc-success-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:24px;margin:0 auto 18px}
.hc-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;border:1px dashed #c9b79f;background:#fffdfa;cursor:pointer;text-align:center;padding:25px}.hc-upload input{position:absolute;opacity:0;pointer-events:none}.hc-upload span{display:inline-block;background:var(--gold);color:#fff;padding:11px 19px;font-size:12px;font-weight:600}.hc-upload small{margin-top:10px;font-size:10px;color:#7e878c}.hc-file-list{list-style:none;margin:18px 0 0;padding:0}.hc-file-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee7df;font-size:11px}.hc-file-list li>span:first-child{min-width:0;overflow-wrap:anywhere}.hc-file-meta{display:flex;align-items:center;gap:12px;flex:0 0 auto}.hc-file-meta b{font-weight:500;color:#69747b}.hc-file-meta button{appearance:none;border:0;background:transparent;color:#8b6950;font:600 9px/1 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;padding:6px 0}.hc-file-meta button:hover{color:var(--navy)}.hc-upload-status{font-size:11px;color:#60727d;margin-top:12px;line-height:1.6}.hc-finish-actions{justify-content:flex-end}.hc-complete .hc-eyebrow{margin-bottom:8px}.hc-complete h3{font-size:26px;color:var(--navy);border:0!important;margin:0!important;padding:0!important}.hc-complete p{max-width:520px;margin:13px auto 0;font-size:12px;line-height:1.7;color:#6f7b82}.hc-order-number{font-weight:600;color:var(--gold)!important}
body.page-id-1079{overflow-x:clip!important}
@media(max-width:900px){.hc-booking-card{grid-template-columns:1fr}.hc-summary{border-left:0;border-top:1px solid #eee7df}.hc-stage-intro{align-items:flex-start}.hc-progress b{display:none}.hc-progress li{justify-content:center;padding:10px;min-height:48px}}
@media(max-width:767px){.hc-booking-wrap{width:calc(100% - 28px)}.hc-booking-hero{min-height:300px;padding:120px 0 42px;background-position:58% center}.hc-booking-hero h1{font-size:42px}.hc-booking-hero p{font-size:13px;line-height:1.65}.hc-booking-stage{padding:34px 0 55px}.hc-stage-intro{display:block}.hc-stage-intro h2{font-size:28px}.hc-stage-intro>p{text-align:left;margin-top:14px}.hc-progress{margin-top:22px}.hc-progress li{min-width:0}.hc-booking-main>section{padding:0 18px 23px;min-height:360px}.hc-booking-main>section>h3{margin:0 -18px 23px;padding:15px 18px}.hc-service{padding:18px 15px}.hc-service-copy strong{font-size:17px}.hc-service-copy small{font-size:11px}.hc-details{grid-template-columns:1fr}.hc-full,.hc-wechat{grid-column:auto}.hc-summary{padding:0 18px 24px}.hc-summary>h3{margin:0 -18px 22px;padding:15px 18px}.hc-calendar,.hc-weekdays{gap:3px}.hc-day{min-height:38px}.hc-time{padding:9px 12px}}
.hc-service-tabs button.has-appointment:after{content:"  ✓";color:#8b6950}.hc-service-tabs button.is-active{box-shadow:inset 0 -2px #1f4c76}

.hc-field select[name="customerType"]:required:invalid{color:#a9b0bb}.hc-field select[name="customerType"] option{color:#3c4850}


.hc-booking-main>section{position:relative}.hc-booking-main>section:has(>.hc-reset)>h3{padding-right:112px}.hc-reset{position:absolute;top:10px;right:24px;z-index:3;appearance:none;background:transparent;border:1px solid rgba(27,71,101,.42);color:var(--navy);padding:7px 13px;font:600 10px/1 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,color .2s ease,opacity .2s ease}.hc-reset:hover{border-color:#255d8a;color:#255d8a}.hc-reset:disabled{opacity:.32;cursor:not-allowed}
@media(max-width:767px){.hc-booking-main>section:has(>.hc-reset)>h3{padding-right:88px}.hc-reset{top:9px;right:11px;padding:7px 10px;font-size:9px;letter-spacing:.06em}}

/* Mobile calendar containment: keep all seven date columns inside the viewport. */
@media(max-width:767px){
  .hc-weekdays,.hc-calendar{grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:100%;overflow:hidden}
  .hc-weekdays span{min-width:0;padding:5px 0}
  .hc-day{min-width:0;width:100%;max-width:100%;padding:0!important}
}
