/* Salon Plus – Online Booking page enhancements (scoped to body.sp-booking-page) */
.sp-booking-page{
  --sp-terra:#98432e;
  --sp-terra-dk:#7d3523;
  --sp-copper:#cf7852;
  --sp-olive:#887d60;
  --sp-slate:#44536a;
  --sp-cream:#fbf6f1;
  --sp-sand:#f3e9dc;
  --sp-text:#6f6a63;
  --sp-ink:#3a3530;
  --sp-radius:14px;
  --sp-shadow:0 18px 40px -18px rgba(68,48,32,.35);
  --sp-ease:cubic-bezier(.22,.8,.26,1);
}

/* ---------- Reveal on scroll ---------- */
.sp-booking-page .sp-js .sp-reveal,
.sp-js.sp-booking-page .sp-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--sp-ease),transform .8s var(--sp-ease)}
.sp-js.sp-booking-page .sp-reveal.is-in{opacity:1;transform:none}

/* ---------- Title: animated rules ---------- */
.sp-booking-page .sp-bk-title:before,
.sp-booking-page .sp-bk-title:after{transition:width 1.1s var(--sp-ease) .15s}
.sp-js.sp-booking-page .sp-bk-title:not(.is-drawn):before,
.sp-js.sp-booking-page .sp-bk-title:not(.is-drawn):after{width:0!important}
.sp-booking-page .sp-bk-title{background-repeat:no-repeat}
.sp-js.sp-booking-page .sp-bk-title.is-drawn{animation:spSnip 1s var(--sp-ease) .2s 1}
@keyframes spSnip{0%{background-position:center 0}40%{background-position:center -6px}100%{background-position:center 0}}

/* ---------- Intro ---------- */
.sp-booking-page .sp-bk-intro{text-align:center;max-width:760px;margin:6px auto 0}
.sp-booking-page .sp-bk-lead{font-family:'Raleway',sans-serif;font-size:19px;line-height:1.65;color:var(--sp-text);margin:0 0 18px;padding:0}
.sp-booking-page .sp-bk-chips{list-style:none;margin:0;padding:0!important;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.sp-booking-page .sp-bk-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(136,125,96,.35);border-radius:999px;background:var(--sp-cream);font-family:'IBM Plex Sans Condensed',sans-serif;font-size:15px;letter-spacing:.02em;color:var(--sp-slate);transition:transform .3s var(--sp-ease),border-color .3s,background .3s}
.sp-booking-page .sp-bk-chips li:hover{transform:translateY(-2px);border-color:var(--sp-copper);background:#fff}
.sp-booking-page .sp-bk-chips .sp-ico{color:var(--sp-terra)}

/* ---------- Icons (CSS masks) ---------- */
.sp-booking-page .sp-ico{display:inline-block;width:18px;height:18px;flex:0 0 auto;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.sp-ico--clock{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.sp-ico--check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-5.3-8.2'/%3E%3Cpath d='M21 4 12 13l-3-3'/%3E%3C/svg%3E")}
.sp-ico--pin{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.sp-ico--phone{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.sp-ico--wa{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.7-1.3a.5.5 0 0 0 0-.5l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.3 2.2 2.2 0 0 0 .2-1.3c-.1-.1-.3-.2-.6-.3z'/%3E%3C/svg%3E")}

/* ---------- Steps ---------- */
.sp-booking-page .sp-steps{list-style:none;margin:0 0 22px;padding:0!important;display:grid;grid-template-columns:repeat(4,1fr);position:relative;counter-reset:none}
.sp-booking-page .sp-steps:before,
.sp-booking-page .sp-steps:after{content:'';position:absolute;top:19px;left:12.5%;height:2px;background:rgba(136,125,96,.3);width:75%}
.sp-booking-page .sp-steps:after{background:linear-gradient(90deg,var(--sp-terra),var(--sp-copper));width:0;transition:width 1.6s var(--sp-ease) .3s}
.sp-booking-page .sp-steps.is-in:after{width:75%}
.sp-booking-page .sp-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:0 4px!important}
.sp-booking-page .sp-step__num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid rgba(136,125,96,.45);font-family:'Girassol',serif;font-size:19px;color:var(--sp-olive);transition:all .5s var(--sp-ease)}
.sp-booking-page .sp-steps.is-in .sp-step__num{background:var(--sp-terra);border-color:var(--sp-terra);color:#fff;box-shadow:0 6px 16px -6px rgba(152,67,46,.7)}
.sp-booking-page .sp-steps.is-in .sp-step:nth-child(2) .sp-step__num{transition-delay:.55s}
.sp-booking-page .sp-steps.is-in .sp-step:nth-child(3) .sp-step__num{transition-delay:1s}
.sp-booking-page .sp-steps.is-in .sp-step:nth-child(4) .sp-step__num{transition-delay:1.45s}
.sp-booking-page .sp-step:hover .sp-step__num{transform:scale(1.1)}
.sp-booking-page .sp-step__label{font-family:'IBM Plex Sans Condensed',sans-serif;font-size:15px;font-weight:500;line-height:1.3;color:var(--sp-slate);letter-spacing:.02em}

/* ---------- Booking card ---------- */
.sp-booking-page .sp-booking-row .et_pb_code{transform:none!important}
.sp-booking-page .sp-bk-card{position:relative;background:#fff;border-radius:var(--sp-radius);box-shadow:var(--sp-shadow);border:1px solid rgba(136,125,96,.22);overflow:hidden;outline:none;transition:box-shadow .4s,transform .4s var(--sp-ease)}
.sp-booking-page .sp-bk-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--sp-terra),var(--sp-copper),var(--sp-olive))}
.sp-booking-page .sp-bk-card.is-focus{animation:spPulse 1.4s var(--sp-ease) 1}
@keyframes spPulse{0%{box-shadow:0 0 0 0 rgba(207,120,82,.55),var(--sp-shadow)}100%{box-shadow:0 0 0 18px rgba(207,120,82,0),var(--sp-shadow)}}
.sp-booking-page .sp-bk-card__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 22px 12px;font-family:'IBM Plex Sans Condensed',sans-serif;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-slate)}
.sp-booking-page .sp-bk-card__sub{margin-left:auto;font-weight:400;letter-spacing:.03em;text-transform:none;color:var(--sp-olive)}
.sp-booking-page .sp-live-dot{width:9px;height:9px;border-radius:50%;background:#3fa35c;box-shadow:0 0 0 0 rgba(63,163,92,.6);animation:spLive 2s infinite}
@keyframes spLive{0%{box-shadow:0 0 0 0 rgba(63,163,92,.55)}70%{box-shadow:0 0 0 9px rgba(63,163,92,0)}100%{box-shadow:0 0 0 0 rgba(63,163,92,0)}}
.sp-booking-page .sp-bk-frame{position:relative;padding:0 8px 4px}
.sp-booking-page .sp-bk-frame iframe{display:block;width:100%;border:0;padding:0!important;background:transparent;position:relative;z-index:1;opacity:0;transition:opacity .6s;height:440px}
.sp-booking-page .sp-bk-frame.is-loaded iframe{opacity:1}
.sp-booking-page .sp-bk-skeleton{position:absolute;inset:0 32px auto;top:0;display:grid;gap:14px;padding-top:6px;transition:opacity .4s}
.sp-booking-page .sp-bk-frame.is-loaded .sp-bk-skeleton{opacity:0;pointer-events:none}
.sp-booking-page .sp-bk-skeleton span{display:block;height:58px;border-radius:8px;background:linear-gradient(90deg,#f1ebe4 0,#faf6f2 40%,#f1ebe4 80%);background-size:200% 100%;animation:spShimmer 1.3s linear infinite}
.sp-booking-page .sp-bk-skeleton span:first-child{height:110px}
.sp-booking-page .sp-bk-skeleton span:nth-child(3){width:70%}
@keyframes spShimmer{to{background-position:-200% 0}}

/* ---------- Note callout ---------- */
.sp-booking-page .sp-bk-note{margin-top:22px!important;padding:16px 20px 16px 58px!important;background:var(--sp-cream);border-left:3px solid var(--sp-copper);border-radius:0 10px 10px 0;position:relative}
.sp-booking-page .sp-bk-note:before{content:'';position:absolute;left:20px;top:20px;width:22px;height:22px;background:var(--sp-copper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") center/contain no-repeat}
.sp-booking-page .sp-bk-note p{font-size:16px;line-height:1.65;color:var(--sp-text)!important;padding:0}
.sp-booking-page .sp-bk-note strong{color:var(--sp-terra);font-weight:600}

/* ---------- Aside: video + help ---------- */
@media (min-width:981px){
  .sp-booking-page .sp-bk-aside{position:sticky;top:30px}
  .sp-booking-page .sp-booking-row{display:flex;align-items:flex-start}
}
.sp-booking-page .sp-bk-media{position:relative;margin:0 0 0 auto;width:82%;padding:0}
.sp-booking-page .sp-bk-media:before{content:'';position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--sp-olive);border-radius:200px 200px 16px 16px;opacity:.55;transition:inset .6s var(--sp-ease)}
.sp-booking-page .sp-bk-media:hover:before{inset:8px -8px -8px 8px}
.sp-booking-page .sp-bk-media video{position:relative;display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:200px 200px 16px 16px;box-shadow:var(--sp-shadow)}
.sp-booking-page .sp-bk-badge{position:absolute;left:-26px;bottom:38px;background:var(--sp-terra);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 12px 26px -10px rgba(152,67,46,.65);display:flex;flex-direction:column;line-height:1.2;animation:spFloat 5s ease-in-out infinite}
.sp-booking-page .sp-bk-badge__year{font-family:'Girassol',serif;font-size:22px;letter-spacing:.03em}
.sp-booking-page .sp-bk-badge__by{font-family:'Raleway',sans-serif;font-size:13px;opacity:.9}
@keyframes spFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.sp-booking-page .sp-video-toggle{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.85);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .25s,background .25s;z-index:2}
.sp-booking-page .sp-video-toggle:hover{transform:scale(1.08);background:#fff}
.sp-booking-page .sp-video-toggle:focus-visible{outline:2px solid var(--sp-copper);outline-offset:3px}
.sp-booking-page .sp-video-toggle__icon{width:12px;height:14px;border-left:4px solid var(--sp-terra);border-right:4px solid var(--sp-terra)}
.sp-booking-page .sp-video-toggle[aria-pressed="true"] .sp-video-toggle__icon{width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent var(--sp-terra);margin-left:3px}

.sp-booking-page .sp-help{margin-top:46px;background:#fff;border:1px solid rgba(136,125,96,.25);border-radius:var(--sp-radius);padding:24px;box-shadow:0 10px 30px -20px rgba(68,48,32,.35)}
.sp-booking-page .sp-help__title{font-family:'Girassol',serif;font-size:26px;line-height:1.2;color:var(--sp-terra);padding:0;margin:0 0 6px}
.sp-booking-page .sp-help__text{font-family:'Raleway',sans-serif;font-size:15px;line-height:1.6;color:var(--sp-text);padding:0;margin:0 0 16px}
.sp-booking-page .sp-help__actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.sp-booking-page .sp-help__actions .sp-btn{flex:1 1 120px}
.sp-booking-page .sp-help__addr{display:flex;gap:10px;align-items:flex-start;padding-top:14px;border-top:1px dashed rgba(136,125,96,.4);font-family:'Raleway',sans-serif;font-size:14px;line-height:1.55;color:var(--sp-text)}
.sp-booking-page .sp-help__addr .sp-ico{color:var(--sp-terra);margin-top:2px}
.sp-booking-page .sp-help__addr em{display:block;font-style:normal;margin-top:4px;color:var(--sp-terra);font-weight:600;transition:letter-spacing .3s}
.sp-booking-page .sp-help__addr:hover em{letter-spacing:.04em}

/* ---------- Buttons ---------- */
.sp-booking-page .sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-family:'IBM Plex Sans Condensed',sans-serif;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .25s var(--sp-ease),box-shadow .25s,background .25s,color .25s,border-color .25s;border:2px solid transparent;position:relative;overflow:hidden}
.sp-booking-page .sp-btn:active{transform:scale(.97)}
.sp-booking-page .sp-btn:focus-visible{outline:2px solid var(--sp-copper);outline-offset:3px}
.sp-booking-page .sp-btn--solid{background:var(--sp-terra);color:#fff!important;box-shadow:0 8px 18px -8px rgba(152,67,46,.7)}
.sp-booking-page .sp-btn--solid:hover{background:var(--sp-terra-dk);transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(152,67,46,.8)}
.sp-booking-page .sp-btn--ghost{background:transparent;color:var(--sp-terra)!important;border-color:var(--sp-terra)}
.sp-booking-page .sp-btn--ghost:hover{background:var(--sp-terra);color:#fff!important;transform:translateY(-2px)}
.sp-booking-page .sp-btn--light{background:#fff;color:var(--sp-terra)!important}
.sp-booking-page .sp-btn--light:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(0,0,0,.45)}
.sp-booking-page .sp-btn--outline-light{border-color:rgba(255,255,255,.8);color:#fff!important}
.sp-booking-page .sp-btn--outline-light:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.sp-booking-page .sp-btn:after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.35),transparent);transition:left .7s}
.sp-booking-page .sp-btn:hover:after{left:140%}
.sp-booking-page .sp-link{font-family:'IBM Plex Sans Condensed',sans-serif;font-size:15px;font-weight:600;letter-spacing:.05em;color:var(--sp-terra)!important;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--sp-ease)}
.sp-booking-page .sp-link:hover{background-size:100% 1px}

/* ---------- Portfolio ---------- */
.sp-booking-page .sp-portfolio-section{padding:70px 0!important}
.sp-booking-page .sp-portfolio-copy p{color:var(--sp-text)!important}
.sp-booking-page .sp-portfolio-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:22px;padding:0!important}
.sp-booking-page .sp-portfolio-carousel .dcm-carousel-item figure{margin:0;height:auto!important;overflow:hidden;border-radius:10px}
.sp-booking-page .sp-portfolio-carousel .dcm-carousel-item figure img.dcm-main-img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center 25%;display:block;transition:transform 1s var(--sp-ease),filter .6s}
.sp-booking-page .sp-portfolio-carousel .dcm-carousel-item figure:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(68,40,28,.45));opacity:0;transition:opacity .5s;pointer-events:none}
.sp-booking-page .sp-portfolio-carousel .dcm-carousel-item:hover img.dcm-main-img{transform:scale(1.06)}
.sp-booking-page .sp-portfolio-carousel .dcm-carousel-item:hover figure:after{opacity:1}
.sp-booking-page .sp-portfolio-carousel .dcm-carousel-item figure{position:relative;box-shadow:0 14px 30px -18px rgba(0,0,0,.55)}
.sp-booking-page .sp-portfolio-carousel .slick-dots li button:before{color:var(--sp-terra)!important;opacity:.3;font-size:10px}
.sp-booking-page .sp-portfolio-carousel .slick-dots li.slick-active button:before{opacity:1}
.sp-booking-page .sp-portfolio-carousel .slick-dots li{margin:0 2px}

/* ---------- Closing CTA ---------- */
.sp-booking-page .sp-cta{margin-top:60px;border-radius:20px;padding:56px 28px;text-align:center;color:#fff;background:radial-gradient(120% 140% at 10% 0,var(--sp-copper) 0,var(--sp-terra) 55%,#6e2f20 100%);position:relative;overflow:hidden;box-shadow:var(--sp-shadow)}
.sp-booking-page .sp-cta:before{content:'';position:absolute;width:340px;height:340px;right:-90px;top:-150px;border-radius:50%;border:2px solid rgba(255,255,255,.18)}
.sp-booking-page .sp-cta:after{content:'';position:absolute;width:220px;height:220px;left:-70px;bottom:-110px;border-radius:50%;background:rgba(255,255,255,.07)}
.sp-booking-page .sp-cta__eyebrow{font-family:'IBM Plex Sans Condensed',sans-serif;font-size:14px;letter-spacing:.22em;text-transform:uppercase;opacity:.85;padding:0;margin:0 0 8px}
.sp-booking-page .sp-cta__title{font-family:'Girassol',serif;font-size:42px;line-height:1.15;padding:0;margin:0 0 26px;color:#fff;text-shadow:0 3px 3px rgba(0,0,0,.18)}
.sp-booking-page .sp-cta__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* ---------- Sticky mobile CTA ---------- */
.sp-sticky-book{position:fixed;left:16px;right:84px;bottom:16px;z-index:9990;display:none;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:999px;background:#98432e;color:#fff!important;font-family:'IBM Plex Sans Condensed',sans-serif;font-size:16px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 26px -8px rgba(152,67,46,.75);transform:translateY(140%);transition:transform .45s cubic-bezier(.22,.8,.26,1)}
.sp-sticky-book.is-shown{transform:none}
.sp-sticky-book:before{content:'';width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .sp-booking-page .sp-booking-row>.et_pb_column{margin-bottom:0!important}
  .sp-booking-page .sp-help{margin-top:26px}
  .sp-booking-page .sp-cta__title{font-size:34px}
  .sp-sticky-book{display:flex}
}
@media (max-width:767px){
  .sp-booking-page .sp-bk-lead{font-size:16px}
  .sp-booking-page .sp-bk-chips{gap:8px}
  .sp-booking-page .sp-bk-chips li{font-size:13.5px;padding:6px 12px}
  .sp-booking-page .sp-step__num{width:34px;height:34px;font-size:16px}
  .sp-booking-page .sp-steps:before,.sp-booking-page .sp-steps:after{top:16px}
  .sp-booking-page .sp-step__label{font-size:13px}
  .sp-booking-page .sp-bk-card{border-radius:12px}
  .sp-booking-page .sp-bk-card__head{padding:14px 14px 10px;font-size:13px}
  .sp-booking-page .sp-bk-frame{padding:0 2px 2px}
  .sp-booking-page .sp-bk-frame iframe{height:520px}
  .sp-booking-page .sp-bk-card__sub{display:none}
  .sp-booking-page .sp-bk-note{padding:14px 16px 14px 50px!important}
  .sp-booking-page .sp-bk-note:before{left:16px;top:17px}
  .sp-booking-page .sp-cta{padding:44px 20px;margin-top:40px}
  .sp-booking-page .sp-cta__title{font-size:30px}
  .sp-booking-page .sp-cta__actions .sp-btn{width:100%}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .sp-booking-page *,.sp-sticky-book{animation:none!important;transition:none!important}
  .sp-js.sp-booking-page .sp-reveal{opacity:1;transform:none}
  .sp-booking-page .sp-steps:after{width:75%}
}

/* Portfolio pagination: pill dots in brand colour */
.sp-booking-page .sp-portfolio-carousel .slick-dots{display:flex!important;justify-content:center;align-items:center;gap:8px;margin-top:18px!important;position:static!important}
.sp-booking-page .sp-portfolio-carousel .slick-dots li{width:auto!important;height:auto!important;margin:0!important;padding:0!important}
.sp-booking-page .sp-portfolio-carousel .slick-dots li button{width:10px!important;height:10px!important;padding:0!important;border-radius:999px!important;background:rgba(152,67,46,.3)!important;font-size:0!important;border:0!important;cursor:pointer;transition:width .4s cubic-bezier(.22,.8,.26,1),background .3s}
.sp-booking-page .sp-portfolio-carousel .slick-dots li button:before{display:none!important}
.sp-booking-page .sp-portfolio-carousel .slick-dots li button:hover{background:rgba(152,67,46,.6)!important}
.sp-booking-page .sp-portfolio-carousel .slick-dots li.slick-active button{width:28px!important;background:#98432e!important}

/* ---------- v1.1: help card as horizontal strip in left column; balanced columns ---------- */
.sp-booking-page .sp-help{margin-top:22px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:28px;row-gap:0;padding:24px 26px;position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 0,#fff 55%,var(--sp-cream) 100%)}
.sp-booking-page .sp-help:before{content:'';position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;border:2px solid rgba(207,120,82,.18);pointer-events:none}
.sp-booking-page .sp-help__intro{min-width:0}
.sp-booking-page .sp-help__text{margin:0}
.sp-booking-page .sp-help__actions{margin:0;flex-wrap:nowrap;position:relative;z-index:1}
.sp-booking-page .sp-help__actions .sp-btn{flex:0 0 auto;min-width:140px}
.sp-booking-page .sp-help__addr{grid-column:1 / -1;margin-top:18px}
.sp-booking-page .sp-help__addr br{display:none}
.sp-booking-page .sp-help__addr>span:last-child{display:flex;flex-wrap:wrap;column-gap:6px;align-items:baseline}
.sp-booking-page .sp-help__addr em{display:inline;margin:0 0 0 auto}
@media (min-width:981px){
  .sp-booking-page .sp-bk-aside{position:sticky;top:40px;align-self:flex-start}
  .sp-booking-page .sp-bk-media{width:86%;max-width:460px}
}
@media (max-width:1200px){
  .sp-booking-page .sp-help{grid-template-columns:1fr;row-gap:16px}
  .sp-booking-page .sp-help__actions .sp-btn{flex:1 1 0}
  .sp-booking-page .sp-help__addr{margin-top:2px}
}
@media (max-width:767px){
  .sp-booking-page .sp-help{padding:20px}
  .sp-booking-page .sp-help__actions .sp-btn{min-width:0}
  .sp-booking-page .sp-help__addr br{display:inline}
  .sp-booking-page .sp-help__addr>span:last-child{display:block}
  .sp-booking-page .sp-help__addr em{display:block;margin:4px 0 0}
}
