/* Spa-pedicure promotion. All homepage rules are scoped to the selected placement. */
:root{--promo-pink:#f7a9cd;--promo-ink:#351d35;--promo-lime:#e8ff78}
.promo-primary,.promo-secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:15px 24px;border:1px solid transparent;border-radius:8px;font:700 15px/1.2 Arial,sans-serif;letter-spacing:0;text-transform:none;text-align:center;transition:transform .2s,background .2s}
.promo-primary{background:var(--promo-pink);color:var(--promo-ink)}
.promo-primary:hover{background:#ffd0e4;transform:translateY(-2px)}
.promo-secondary{background:transparent;border-color:#d8c1cf;color:#fff8fb}
.promo-primary:focus-visible,.promo-secondary:focus-visible,.hero-coupon:focus-visible,.banner-coupon:focus-visible{outline:3px solid var(--promo-lime);outline-offset:5px}
.promo-primary svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2}
.promotion-hero .hero{height:auto;min-height:100svh}
.promotion-hero .hero-overlay{background:linear-gradient(90deg,rgba(35,13,30,.88),rgba(35,13,30,.75) 46%,rgba(35,13,30,.5))}
.promotion-hero .hero-vignette{box-shadow:none}
.promo-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);align-items:center;gap:80px;width:min(1160px,100%);min-height:100svh;margin:0 auto;padding:156px 30px 65px}
.promo-summary .promo-kicker{font:700 13px/1.4 Arial,sans-serif;letter-spacing:3px;color:#ffbfda;margin:0 0 15px}
.promotion-hero .hero h1{font:900 clamp(48px,5.2vw,75px)/1.02 'Arial Black',Arial,sans-serif;color:#fff7fc;letter-spacing:-3px;margin:0 0 25px;opacity:1;animation:none;text-shadow:none}
.promo-free-line{font:700 26px/1.4 Arial,sans-serif;color:#fff7fc;margin:0 0 13px;display:flex;align-items:center;gap:10px}
.promo-free-line strong{background:var(--promo-lime);color:var(--promo-ink);padding:3px 9px;border-radius:5px;transform:rotate(-3deg)}
.promo-choice-text{font:400 22px/1.5 Arial,sans-serif;color:#fff7fc;margin:0 0 28px}
.promo-choice-text b{color:#f9b9d4;font-weight:400;font-style:italic;margin:0 6px}
.promo-actions{display:flex;gap:12px;flex-wrap:wrap}
.promo-note{font:400 13px/1.5 Arial,sans-serif;color:#ead5e1;margin:15px 0 0}
.hero-coupon{display:block;border:7px solid #fff5fa;border-radius:11px;box-shadow:0 26px 70px #12071275;transform:rotate(2deg);overflow:hidden;line-height:0;max-width:370px}
.hero-coupon img{width:100%;height:auto;display:block}
.promotion-banner{--promo-nav-height:84px;padding-top:calc(var(--announcement-height) + var(--promo-nav-height))}
.promotion-banner .header{height:var(--promo-nav-height);padding:0;display:flex;align-items:center;background:var(--cream);border-bottom:1px solid #e8d7d8}
.promotion-banner .header .container{width:100%}
.promotion-banner .header .logo-text .lt-name,.promotion-banner .header nav a{color:var(--ink)}
.promotion-banner .header .logo-text .lt-sub{color:var(--rose-deep)}
.promotion-banner .header .hamburger span{background:var(--ink)}
.promotion-banner .header .nav-cta{color:var(--rose-deep)!important;border-color:var(--rose)!important}
.promotion-banner .header .nav-cta:hover{color:#fff!important}
.promo-banner{background:var(--promo-pink);border-bottom:1px solid #d782a7;color:var(--promo-ink)}
.promo-banner-inner{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:28px;align-items:center;padding:19px 24px}
.banner-coupon{width:82px;display:block;line-height:0;transform:rotate(-5deg);border:3px solid #fff7fa;box-shadow:4px 5px 0 #351d3529;border-radius:5px;overflow:hidden}
.banner-coupon img{display:block;width:100%;height:auto}
.banner-heading{font:700 clamp(21px,2vw,28px)/1.2 Arial,sans-serif;color:var(--promo-ink);margin:0 0 8px;letter-spacing:-.7px}
.banner-heading strong{display:inline-block;background:var(--promo-lime);padding:4px 8px 3px;border-radius:5px;white-space:nowrap;transform:rotate(-2deg);font-weight:800;margin-left:5px}
.banner-detail{font:400 15px/1.5 Arial,sans-serif;color:var(--promo-ink);margin:0}
.banner-detail span{font-weight:700}
.promo-banner .promo-primary{background:var(--promo-ink);color:#fff5fa;min-width:170px}
.promo-banner .promo-primary:hover{background:#522d4d}
.promotion-banner .hero{height:calc(100svh - 266px);min-height:520px}
.promotion-banner .hero .scroll-indicator{bottom:22px}
@media(max-width:1023px){.promo-grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(250px,320px)}.promo-summary .promo-kicker{font-size:12px;letter-spacing:2px}.promotion-hero .hero h1{font-size:54px}.promo-actions{flex-direction:column;align-items:stretch}.promo-choice-text{font-size:19px}.promo-banner-inner{gap:20px;grid-template-columns:72px minmax(0,1fr) auto}.banner-coupon{width:72px}.banner-heading{font-size:21px}.banner-detail{font-size:14px}.promo-banner .promo-primary{min-width:150px;padding:14px 18px}}
@media(max-width:639px){
  .promotion-hero .menu-section-header h3,.promotion-banner .menu-section-header h3{white-space:normal;min-width:0}
  .promo-grid{display:flex;flex-direction:column;justify-content:center;gap:20px;min-height:100svh;padding:126px 22px 45px}
  .hero-copy{display:contents}
  .promo-summary{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .hero-coupon{order:0;width:min(280px,82vw);max-width:none;border-width:5px;transform:rotate(1deg)}
  .promo-actions{order:1;flex-direction:row;gap:10px;justify-content:center;width:100%;max-width:350px}
  .promo-actions .promo-primary{width:100%;min-height:50px}
  .promo-actions .promo-secondary{border:0;min-height:44px;padding:10px 18px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
  .promo-note{order:2;margin:-10px 0 0;text-align:center;font-size:13px}
  .promotion-banner{--promo-nav-height:68px}
  .promo-banner-inner{grid-template-columns:67px minmax(0,1fr);gap:12px 17px;padding:18px 20px}
  .banner-coupon{width:67px}
  .banner-heading{font-size:19px;line-height:1.25;letter-spacing:-.5px;margin-bottom:7px}
  .banner-heading strong{margin:5px 0 0;font-size:17px}
  .banner-detail{font-size:13px;line-height:1.4}
  .banner-detail .banner-your-choice{display:none}
  .promo-banner .promo-primary{grid-column:1/-1;width:100%;min-height:46px;font-size:14px;padding:12px 18px}
  .promotion-banner .hero{height:calc(100svh - 320px);min-height:510px}
  .promotion-banner .hero-content{padding:30px 23px}
  .promotion-banner .hero h1{font-size:43px}
  .promotion-banner .hero-sub{font-size:18px;margin-bottom:27px}
  .promotion-banner .hero-buttons{gap:11px}
  .promotion-banner .hero-buttons .btn{padding:15px 22px;letter-spacing:1.4px}
}
@media(prefers-reduced-motion:reduce){.promo-primary,.promo-secondary{transition:none}}
