/* Derma Vitalis — Halloween. Load after the existing customer-facing styles. */
body.halloween {
  --ivory:#fcf8f2; --cream:#f5e9db; --gold:#ca783b; --gold-dark:#88471f;
  --navy:#29211e; --blue:#44302b; --text:#332b26; --muted:#76685d;
  --border:#e7d6c4; --shadow:0 16px 46px #41220c0c;
  --hw-ink:#1c1816; --hw-amber:#f0ab69;
  background:var(--ivory); color:var(--text);
}
.halloween .top-bar {background:#eee4d8;color:#5b493c;font-size:11px;min-height:30px}
.hw-announcement {display:flex;justify-content:center;align-items:center;gap:12px;background:#261d18;color:#f7e9d7;padding:11px 5vw;text-align:center;font-size:12px;line-height:1.8}
.hw-announcement b {color:#ffc78e;margin-inline:8px}
.hw-pumpkin {width:28px;height:28px;flex-shrink:0;color:var(--hw-amber,#ecaa6d)}
.hw-strip-link {font-size:11px;margin-inline-start:24px;color:#e5c6a8;white-space:nowrap}
.halloween .site-header {background:#fcf8f2f5;border-color:#e5d7c9;backdrop-filter:blur(16px)}
.halloween .main-nav a {color:#594637}
.halloween .main-nav a:hover,.halloween .header-login-link:hover {color:#9b4b1c}
.halloween .main-nav.active {background:#fcf8f2}
.halloween .btn {border-radius:9px}
.halloween .btn-gold {background:#e9a35f;color:#2b1a0d;border:1px solid #e9a35f;box-shadow:0 7px 24px #b66a2115}
.halloween .btn-gold:hover {background:#f6b877;border-color:#f6b877;box-shadow:0 10px 28px #b66a2122}
.halloween .btn-outline-dark,.halloween .btn-soft {background:#fffaf3;color:#82411b;border-color:#cda783}
.halloween :focus-visible {outline:3px solid #b65c22;outline-offset:4px}
.halloween .hero {min-height:680px;padding:66px 8% 88px;background:var(--hw-ink);isolation:isolate}
.halloween .hero-bg {inset:0 auto 0 0;width:52%;height:100%;object-fit:cover;object-position:left center;filter:saturate(.68) brightness(.79);opacity:.94;mask-image:linear-gradient(90deg,#000 56%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 56%,transparent 100%)}
.halloween .hero-overlay {background:radial-gradient(ellipse at 5% 92%,#9e511e30,transparent 40%),linear-gradient(270deg,#1c1816 0%,#1c1816 45%,#1c181622 75%,#1c181611 100%)}
.halloween .hero-content {max-width:560px;width:48%;text-align:right;z-index:3}
.hw-kicker {display:flex;align-items:center;gap:12px;color:#e0b895;font-size:10px;letter-spacing:2.2px;margin-bottom:21px}
.hw-kicker .hw-pumpkin {width:37px;height:37px}
.hw-kicker small {display:block;letter-spacing:0;font-size:12px;margin-top:3px;color:#e9c8a8}
.halloween .hero h1 {font-size:clamp(38px,3.7vw,57px);line-height:1.5;letter-spacing:-1.4px;margin:0 0 15px;color:#fff3e6}
.halloween .hero h1 em {font-style:normal;color:var(--hw-amber)}
.halloween .hero-text {font-size:14px;line-height:2;max-width:430px;color:#d0bfb2;font-weight:400;margin:0}
.hw-hero-reward {display:flex;align-items:center;gap:24px;margin:15px 0 5px}
.hw-hero-reward>strong {font-family:Georgia,serif;font-size:101px;line-height:1.2;letter-spacing:-5px;color:#f4ba7f;font-weight:400}
.hw-hero-reward>strong span {font-size:45px;letter-spacing:-1px}
.hw-hero-reward>div {border-inline-start:1px solid #b9804e75;padding-inline-start:23px}
.hw-hero-reward b {font-size:23px;display:block;color:#fff2e1}
.hw-hero-reward>div span {font-size:12px;color:#dbc1aa}
.hw-exclusive {display:block;font-size:11px;color:#f4bb84;margin-top:4px;font-weight:600}
.halloween .hero-actions {margin-top:22px;gap:12px;justify-content:flex-start}
.halloween .hero-actions .btn {font-size:12px;padding:12px 20px;white-space:nowrap}
.halloween .hero .btn-outline {background:#ffffff05;border-color:#9e7957;color:#f6ddc5}
.hw-terms-link {display:inline-block;font-size:11px;color:#d0b294;margin-top:18px;border-bottom:1px solid #87684c;padding-bottom:3px}
.hw-art {position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.hw-art svg {position:absolute;overflow:visible}
.hw-gourd {width:142px;height:125px;left:6%;bottom:42px;filter:drop-shadow(0 5px 22px #a65d2b42);opacity:.8}
.hw-gourd-small {width:78px;height:70px;left:calc(6% + 120px);bottom:40px;opacity:.58}
.hw-bats {width:102px;height:64px;left:42%;top:38px;color:#e5b17c;opacity:.57}
.hw-web {left:0;top:0;width:125px;height:125px;color:#e8bb8c;opacity:.15}
.halloween .stats {border-color:#e6d4c0;border-radius:14px;box-shadow:0 12px 35px #45241108;background:#fffaf4}
.halloween .stats div {border-color:#ecdfd0}
.halloween .stats strong {color:#8d4e27}
.halloween .stats span {color:#7e6958}
.hw-cashback-section {padding:24px 6vw 68px;scroll-margin-top:110px;max-width:1400px;margin:auto}
.hw-section-heading {text-align:center}
.hw-section-heading h2 {font-size:32px;line-height:1.6;margin-bottom:10px;color:#30251e}
.hw-section-heading>p:last-child {font-size:14px;color:#776352}
.hw-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.hw-steps article {background:#fffcf7;border:1px solid #e7d8c8;padding:25px;border-radius:12px}
.hw-steps article>span {font-family:Georgia,serif;font-size:30px;color:#b6794c}
.hw-steps h3 {font-size:17px;margin:6px 0;color:#4b3223}
.hw-steps p {font-size:12px;line-height:2;color:#796351}
.hw-example {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:#f0e4d5;border:1px solid #e7d4c0;border-radius:10px;padding:18px 25px;margin-top:16px;font-size:13px}
.hw-example>span {font-size:11px;color:#715b48}
.hw-example b,.hw-example a {color:#85421d}
.hw-example a {font-weight:bold;font-size:12px}
.halloween .dark-section {background:radial-gradient(ellipse at 10% 0%,#79432225,transparent 55%),#241d19}
.halloween .dark-section .eyebrow,.halloween .dark-section .services-grid h3 {color:#efb67f}
.halloween .dark-section .section-subtitle,.halloween .dark-section .services-grid p {color:#d6c7b9}
.halloween .services-grid article {border-color:#8e674442;border-radius:14px}
.halloween .dark-section .services-grid article>span {color:#e6ae78}
.halloween .offers-section,.halloween .page-hero {background:linear-gradient(120deg,#f4e7d8,#fffaf4)}
.halloween .page-hero h1 {color:#56341f}
.halloween .page-hero p {color:#70543d}
.halloween .product-card,.halloween .doctor-card,.halloween .clinic-card,.halloween .mvg-grid article {border-color:#e7d7c6;border-radius:16px}
.halloween .product-cta {color:#88461e;border-color:#ceaa85}
.hw-product-reward {background:#faf0e3;border:1px solid #edd9bf;border-radius:7px;padding:8px 10px;margin-top:10px;font-size:11px;color:#84441e;line-height:1.9;font-weight:700}
.halloween .booking-strip {background:#f2e4d4;border-color:#dfc7ae}
.halloween .testimonials {background:linear-gradient(135deg,#251e1a,#473026)}
.halloween .footer {background:#211a16;color:#f2e4d6}
.halloween .footer h3 {color:#efb57f}
.halloween .footer a,.halloween .footer p,.halloween .footer .logo small {color:#decdbe}
.halloween .checkout-wrap,.halloween.admin-body {background:radial-gradient(ellipse at top,#efe0cd,transparent 65%),#fcf8f2}
.halloween .checkout-card {border-color:#e6d4bf;box-shadow:0 20px 65px #6d411012}
.halloween .checkout-summary {background:#fffbf5;border-color:#e7d8c5;gap:12px}
.halloween .checkout-details input:focus,.halloween .checkout-details select:focus {border-color:#bc8755;box-shadow:0 0 0 4px #bc875514}
.hw-estimate {padding:13px 15px;background:#faf0e2;border:1px solid #e5cfb4;border-radius:10px;margin:12px 0 22px;text-align:right;color:#81431d}
.hw-estimate strong {display:block;font-size:13px}
.hw-estimate small {display:block;font-size:11px;color:#77583c;margin-top:5px;line-height:1.9}
@media(max-width:1100px) {
  .hw-strip-link {display:none}
  .halloween .hero {padding-inline:6%;min-height:635px}
  .halloween .hero-content {max-width:520px;width:52%}
  .halloween .hero h1 {font-size:40px}
  .halloween .hero-actions {flex-wrap:wrap}
  .hw-hero-reward>strong {font-size:86px}
}
@media(max-width:768px) {
  .hw-announcement {font-size:10px;padding:9px 14px;gap:8px}
  .hw-announcement .hw-pumpkin {width:23px;height:23px}
  .hw-announcement b {margin-inline:3px}
  .halloween .hero {padding:38px 24px 48px;min-height:0;align-items:stretch;justify-content:flex-start}
  .halloween .hero-content {max-width:100%;width:100%;text-align:right}
  .halloween .hero-bg {width:100%;height:360px;opacity:.24;object-position:left 30%;mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent)}
  .halloween .hero-overlay {background:linear-gradient(0deg,#1c1816 22%,#1c181690)}
  .halloween .hero h1 {font-size:40px;line-height:1.5;margin:0 0 15px;letter-spacing:-1px}
  .halloween .hero-text {font-size:13px;line-height:2;max-width:460px;margin:0}
  .hw-kicker {margin-bottom:20px;font-size:9px;letter-spacing:1.6px}
  .hw-kicker .hw-pumpkin {width:32px;height:32px}
  .hw-hero-reward {gap:20px;margin-top:16px}
  .hw-hero-reward>strong {font-size:90px}
  .hw-hero-reward>div {padding-inline-start:18px}
  .hw-hero-reward b {font-size:22px}
  .hw-hero-reward>div span {font-size:11px}
  .halloween .hero-actions {flex-direction:column;gap:10px;margin-top:22px}
  .halloween .hero-actions .btn {width:100%;font-size:13px;padding:12px 16px}
  .hw-art .hw-gourd,.hw-art .hw-gourd-small {display:none}
  .hw-bats {width:62px;left:23px;top:28px;opacity:.24}
  .hw-web {width:80px;height:80px}
  .halloween .stats {margin:18px 18px 34px;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:12px}
  .halloween .stats div {padding:16px 5px}
  .halloween .stats strong {font-size:24px}
  .halloween .stats span {font-size:10px}
  .hw-cashback-section {padding:20px 20px 42px}
  .hw-section-heading h2 {font-size:25px}
  .hw-section-heading>p:last-child {font-size:12px}
  .hw-steps {grid-template-columns:1fr;gap:12px;margin-top:24px}
  .hw-steps article {padding:19px}
  .hw-steps article>span {float:left;font-size:28px}
  .hw-example {display:block;padding:18px}
  .hw-example p {margin:8px 0}
  .halloween .checkout-wrap {padding:16px}
  .halloween .checkout-card {padding:24px 20px}
  .halloween .page-hero h1 {font-size:28px}
  .halloween .page-hero p {font-size:13px}
}
@media(max-width:360px) {
  .halloween .hero {padding-inline:18px}
  .halloween .hero h1 {font-size:34px}
  .hw-hero-reward>strong {font-size:76px}
  .hw-hero-reward {gap:14px}
}
/* Motion lives only in the home/catalogue presentation layer. */
.hw-motion-host {position:relative;isolation:isolate;overflow:hidden}
.halloween .page-hero.hw-motion-host {padding-bottom:76px}
.halloween .page-hero.hw-motion-host>h1,.halloween .page-hero.hw-motion-host>p {position:relative;z-index:3}
.hw-motion-scene {position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.hw-moon {position:absolute;left:35%;top:70px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 33% 26%,#fbe8c8,#e1b075 44%,#9a6638 94%);box-shadow:0 0 55px 22px #d594451c,inset -10px -8px 20px #533a2752;opacity:.7;transform:translate3d(var(--hw-parallax-x,0px),var(--hw-parallax-y,0px),0)}
.hw-moon::after {content:"";position:absolute;inset:-24px;border-radius:50%;border:1px solid #d6aa7a21;box-shadow:0 0 35px #e1ac6120;animation:hw-moon-breathe 8s ease-in-out infinite}
.hw-moon::before {content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 40% 30%,#8b63302b 0 8%,transparent 10%),radial-gradient(circle at 66% 62%,#67452122 0 12%,transparent 14%),radial-gradient(circle at 30% 69%,#8a5d2d29 0 6%,transparent 9%)}
.hw-fog {position:absolute;bottom:-55px;left:-12%;width:125%;height:210px;opacity:.46;background:radial-gradient(ellipse at 18% 90%,#b99b7866,transparent 35%),radial-gradient(ellipse at 48% 90%,#b18d6033,transparent 42%),radial-gradient(ellipse at 78% 100%,#e6c6a244,transparent 36%);animation:hw-fog-drift 22s ease-in-out infinite alternate;transform-origin:center bottom}
.hw-fog-front {bottom:-75px;height:180px;opacity:.32;animation-duration:31s;animation-delay:-14s;animation-direction:alternate-reverse}
.hw-flight {position:absolute;left:53%;top:20%;width:46px;height:30px;opacity:0;color:#d4ac7d;animation:hw-flight-path 21s linear infinite;filter:drop-shadow(0 3px 5px #0004)}
.hw-flight-two {left:49%;top:32%;width:30px;height:22px;animation-duration:26s;animation-delay:-10s;color:#ddc2a0}
.hw-flight-three {left:46%;top:10%;width:22px;height:17px;animation-duration:29s;animation-delay:-18s;opacity:.6}
.hw-flight svg {display:block;width:100%;height:100%;overflow:visible}
.hw-wing-left {transform-box:fill-box;transform-origin:100% 50%;animation:hw-wing-left .62s ease-in-out infinite alternate}
.hw-wing-right {transform-box:fill-box;transform-origin:0 50%;animation:hw-wing-right .62s ease-in-out infinite alternate}
.hw-flight-two .hw-wing-left,.hw-flight-two .hw-wing-right {animation-duration:.48s}
.hw-flight-three .hw-wing-left,.hw-flight-three .hw-wing-right {animation-duration:.55s}
.hw-spider {position:absolute!important;top:-12px;left:3%;width:37px;height:157px;color:#d4a06c;opacity:.62;transform-origin:50% 0;animation:hw-spider-sway 8s ease-in-out infinite}
.hw-ember {position:absolute;bottom:12px;left:var(--hw-ember-left);width:var(--hw-ember-size,3px);height:var(--hw-ember-size,3px);background:#efb270;border-radius:50%;box-shadow:0 0 9px 2px #d1934b33;opacity:0;animation:hw-ember-rise var(--hw-ember-duration,17s) linear infinite;animation-delay:var(--hw-ember-delay,0s)}
.hw-cursor-glow {position:absolute;inset:0;opacity:0;background:radial-gradient(240px circle at var(--hw-pointer-x,50%) var(--hw-pointer-y,50%),#f8a64b1e,transparent 75%);transition:opacity .4s ease}
.hw-pointer-inside .hw-cursor-glow {opacity:1}
.hw-motion-enabled .hero .hero-bg {transform:translate3d(var(--hw-photo-x,0px),var(--hw-photo-y,0px),0) scale(1.025);transition:transform .3s ease-out}
.hw-motion-enabled .hw-bats {display:none}
.hw-motion-enabled .hero-content>* {animation:hw-hero-enter .8s cubic-bezier(.2,.7,.25,1) both}
.hw-motion-enabled .hero-content>h1 {animation-delay:.08s}
.hw-motion-enabled .hero-content>.hero-text {animation-delay:.16s}
.hw-motion-enabled .hero-content>.hw-hero-reward {animation-delay:.24s}
.hw-motion-enabled .hero-content>.hero-actions {animation-delay:.32s}
.hw-motion-enabled .hero-content>.hw-terms-link {animation-delay:.4s}
.hw-motion-enabled .hw-gourd {animation:hw-gourd-float 6.5s ease-in-out infinite}
.hw-motion-enabled .hw-gourd-small {animation:hw-gourd-float 8s ease-in-out -3s infinite}
.hw-motion-enabled .hw-gourd>path:last-child {animation:hw-candle-glow 5s ease-in-out infinite}
.hw-motion-toggle {position:absolute;bottom:18px;left:24px;z-index:5;display:inline-flex;align-items:center;gap:7px;border:1px solid #b2937266;border-radius:999px;background:#241b13b8;color:#f0d9bf;padding:7px 11px;font-family:inherit;font-size:10px;line-height:1.4;cursor:pointer;min-height:32px;backdrop-filter:blur(7px)}
.hw-motion-toggle[hidden] {display:none}
.hw-motion-toggle:hover {background:#59412bd9;border-color:#caa479}
.hw-motion-toggle svg {width:12px;height:12px;flex:none}
.halloween .page-hero .hw-motion-toggle {background:#fff7ee;color:#75441f;border-color:#d6b18c}
.hw-motion-enabled .hero .btn-gold,.hw-motion-enabled .offers-section .btn-gold,.hw-motion-enabled .booking-strip .btn-gold {position:relative;overflow:hidden;isolation:isolate}
.hw-motion-enabled .hero .btn-gold::after,.hw-motion-enabled .offers-section .btn-gold::after,.hw-motion-enabled .booking-strip .btn-gold::after {content:"";pointer-events:none;position:absolute;inset:-50% -80%;background:linear-gradient(110deg,transparent 40%,#fff7de80 50%,transparent 60%);transform:translateX(-70%)}
@media(hover:hover) and (pointer:fine) {
  .hw-motion-enabled .hero .btn-gold:hover::after,.hw-motion-enabled .offers-section .btn-gold:hover::after,.hw-motion-enabled .booking-strip .btn-gold:hover::after {animation:hw-button-sheen .9s ease-out}
  .hw-motion-enabled .product-card:hover,.hw-motion-enabled .doctor-card:hover {border-color:#c28b56;box-shadow:0 15px 40px #92551e19}
}
.hw-motion-enabled .hw-reveal {opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--hw-reveal-delay,0s),transform .7s cubic-bezier(.2,.7,.25,1) var(--hw-reveal-delay,0s),border-color .25s ease,box-shadow .25s ease}
.hw-motion-enabled .hw-reveal.hw-in-view {opacity:1;transform:translateY(0)}
.hw-motion-enabled .doctor-card.hw-in-view:hover,.hw-motion-enabled .product-card.hw-in-view:hover {transform:translateY(-6px)}
.hw-scene-idle .hw-motion-scene *,.hw-scene-idle .hw-art *,.hw-tab-hidden .hw-motion-scene *,.hw-tab-hidden .hw-art * {animation-play-state:paused!important}
.hw-motion-paused .hw-motion-scene *,.hw-motion-paused .hw-art * {animation-play-state:paused!important}
.hw-motion-paused .hw-reveal {opacity:1!important;transform:none!important;transition:none!important}
.hw-motion-paused .hero-bg {transform:none!important;transition:none!important}
.hw-motion-paused .hw-cursor-glow {display:none}
.hw-motion-paused .btn::after {animation:none!important}
.hw-motion-paused .hero-content>* {animation:none!important;opacity:1;transform:none}
.hw-motion-paused .hw-moon {transform:none}
@keyframes hw-moon-breathe {0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.9;transform:scale(1.07)}}
@keyframes hw-fog-drift {from{transform:translate3d(-3%,0,0) scale(1)}to{transform:translate3d(5%,-12px,0) scale(1.06)}}
@keyframes hw-flight-path {0%{opacity:0;transform:translate3d(0,28px,0) rotate(-8deg)}7%{opacity:.64}30%{transform:translate3d(-17vw,-23px,0) rotate(7deg)}58%{opacity:.64;transform:translate3d(-34vw,16px,0) rotate(-5deg)}85%{opacity:0;transform:translate3d(-59vw,-40px,0) rotate(-10deg)}100%{opacity:0;transform:translate3d(-65vw,-40px,0)}}
@keyframes hw-wing-left {from{transform:rotate(-9deg) scaleY(1)}to{transform:rotate(19deg) scaleY(.45)}}
@keyframes hw-wing-right {from{transform:rotate(9deg) scaleY(1)}to{transform:rotate(-19deg) scaleY(.45)}}
@keyframes hw-spider-sway {0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(6deg) translateY(13px)}}
@keyframes hw-ember-rise {0%{opacity:0;transform:translate3d(0,0,0) scale(.7)}15%{opacity:.65}75%{opacity:.35}100%{opacity:0;transform:translate3d(var(--hw-ember-drift,25px),-350px,0) scale(.25)}}
@keyframes hw-gourd-float {0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes hw-candle-glow {0%,100%{opacity:.5}50%{opacity:1}}
@keyframes hw-button-sheen {from{transform:translateX(-70%)}to{transform:translateX(70%)}}
@keyframes hw-hero-enter {from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px) {
  .hw-moon {width:46px;height:46px;left:10%;top:100px;opacity:.37}
  .hw-flight {left:90%;top:6%;width:27px;height:20px;animation-duration:28s}
  .hw-flight-two {left:75%;top:11%;width:21px;height:16px;animation-duration:34s}
  .hw-flight-three,.hw-spider,.hw-ember-extra,.hw-cursor-glow {display:none}
  .hw-fog {height:130px;opacity:.3}
  .hw-motion-toggle {bottom:13px;left:20px;font-size:10px;min-height:34px}
  .hw-motion-enabled .hero .hero-bg {transform:none;transition:none}
  .hw-motion-enabled .hw-reveal {transform:translateY(14px);transition-duration:.55s}
  .hw-motion-enabled .hw-reveal.hw-in-view {transform:none}
}
@media(prefers-reduced-motion:reduce) {
  .halloween * {scroll-behavior:auto!important;transition:none!important;animation:none!important}
  .hw-motion-scene {display:none}
  .hw-motion-toggle {display:none!important}
  .hw-motion-enabled .hw-reveal {opacity:1!important;transform:none!important}
  .hw-motion-enabled .hero-bg {transform:none!important}
}
