/* Restin typography and compact spacing, with the existing 日蝕 palette. */
:root.design-preview {--font-body:"Barlow","Noto Sans TC",sans-serif;--font-display:var(--font-body);--section-title-size:28px;--subheading-size:20px;--restin-gold:#ad8750;background:var(--brand-field);font-family:var(--font-body);font-size:16px;line-height:1.6}
.design-preview :is(button,input,select,textarea) {font-family:var(--font-body)}
.design-preview main :is(h1,h2,h3,h4,h5,h6),.design-preview .site-footer .footer-brand {font-family:var(--font-display);font-weight:400;letter-spacing:0}
.design-preview main .services-section .section-heading h2,.design-preview main #campaign-title,.design-preview main .spec-panel h2,.design-preview .confirm-dialog h2 {font-weight:400}
.design-preview :is(strong,b),.design-preview .detail-price,.design-preview .marquee-label {font-weight:600}
.design-preview main.preview-brand-led .hero-emblem>strong {font-family:var(--font-display);font-weight:400;line-height:1.25;font-size:clamp(46px,5.2vw,80px)}
.design-preview main.preview-brand-led .hero .preview-brand-title {font-family:var(--font-body);font-size:20px;line-height:1.6}
.design-preview a,.design-preview a:hover,.design-preview .site-header nav a.active {text-decoration:none}
.design-preview .gratitude-campaign .button.secondary {text-decoration:none}
.design-preview .back-to-top {position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30;width:48px;height:48px;padding:12px;border:0;border-radius:4px;background:var(--campaign-accent);color:var(--brand-field);touch-action:manipulation}
.design-preview .back-to-top[hidden] {display:none}
.design-preview .back-to-top:hover,.design-preview .back-to-top:focus-visible {background:var(--on-brand);color:var(--brand-field);outline:2px solid var(--brand-field);outline-offset:3px}
.back-to-top svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.design-preview .nav-indicator {display:none}
.design-preview :is(a,button,summary):focus-visible {outline:2px solid var(--orange);outline-offset:4px}
.design-preview .site-header :is(a,button):focus-visible {outline-color:var(--campaign-accent)}
.design-preview .site-header.restin-header {display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:18px 3vw;min-height:90px;background:transparent;border:0;color:var(--on-brand)}
.design-preview .site-header.restin-header .brand {font-family:var(--font-display);font-weight:400;font-size:38px;color:inherit;white-space:nowrap}
.design-preview .site-header.restin-header nav {display:flex;justify-content:space-between;gap:8px;padding:8px 16px;max-width:900px;justify-self:center;width:100%;background:rgba(48,58,68,.7);border:2px solid rgba(255,255,255,.2);border-radius:8px;position:static}
.design-preview .site-header.restin-header nav a {display:flex;justify-content:center;align-items:center;min-height:44px;padding:4px 8px;font-family:var(--font-body);font-size:15px;font-weight:600;line-height:1.4;color:var(--on-brand);white-space:nowrap}
.design-preview .site-header.restin-header nav a:hover,.design-preview .site-header.restin-header nav a.active {color:var(--campaign-accent);background:rgba(0,0,0,.14);border-radius:4px}
.design-preview .site-header.restin-header .nav-booking {display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:12px 28px;background:rgba(48,58,68,.7);border:2px solid rgba(255,255,255,.2);border-radius:8px;font-size:16px;font-weight:600;white-space:nowrap;color:var(--on-brand)}
.design-preview .site-header.restin-header .nav-booking:hover {background:var(--orange-dark);border-color:var(--restin-gold)}
.design-preview .nav-booking[aria-disabled=true] {opacity:.65;cursor:default}
.design-preview #menu-toggle {display:none;color:inherit;border:0;background:transparent;padding:10px}
#menu-toggle svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}
.design-preview .square-arrow {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;background:var(--field-ground);color:var(--orange);border:0;border-radius:6px}
.design-preview button.square-arrow:hover {background:var(--orange);color:var(--on-brand)}
.ui-chevron {width:20px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.design-preview .service-controls button {min-width:44px;background:var(--field-ground);color:var(--orange);border:0;border-radius:6px}
.design-preview main {max-width:1280px;padding-inline:28px}
.design-preview main:is(.preview-home-grid,.preview-inner-page) {max-width:none;width:100%;padding:0}
.design-preview main.preview-home-grid {gap:0}
.design-preview main.home-loading>.hero :is(.hero-copy,.hero-side,.hero-lotions) {visibility:hidden}
.design-preview body:has(main.home-loading)>:is(.site-header,.site-marquee,.back-to-top) {visibility:hidden}
.design-preview main.preview-home-grid>section:not(.hero):not(.store-section) {width:100%;max-width:none;margin-inline:0;padding-inline:clamp(20px,2.2vw,40px)}
.design-preview main.preview-home-grid>.store-section {padding-inline:clamp(20px,2.2vw,40px)}
.design-preview a:not(.button),.design-preview .services-section>.service-actions .button {text-decoration:none}
.design-preview main .section {padding-block:16px}
.design-preview main.preview-home-grid>section:not(.hero):not(.gratitude-campaign),.design-preview main.preview-home-grid>.services-section:has(.service-values),.design-preview main.preview-home-grid>.services-section:has(>.massage-grid) {padding-block:16px}
.design-preview main.preview-brand-led .content-layout.preview-campaign-stage {padding:16px 0;gap:12px 24px}
.design-preview main.preview-home-grid.preview-brand-led>.hero {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:24px 40px;min-height:100svh;padding:132px 3vw 28px}
.design-preview main.preview-brand-led .hero-copy {max-width:28em}
.design-preview main.preview-brand-led .hero-copy>.button {margin-top:18px}
.design-preview main.preview-brand-led .hero-side {align-self:end;margin-bottom:24px}
.design-preview main.preview-brand-led .hero-lotions {grid-column:2;grid-row:2;align-self:end;justify-self:end;width:100%;max-width:740px;margin-bottom:24px;z-index:1}
.design-preview main.preview-inner-page>.page-masthead {min-height:192px;padding:104px 28px 8px;gap:4px}
.design-preview main.preview-inner-page .page-masthead h1 {font-family:var(--font-display);font-size:clamp(28px,3.4vw,42px);font-weight:400;line-height:1.35}
.design-preview .page-masthead nav {gap:6px 12px;font-size:14px}
.design-preview main.preview-inner-page>.section {max-width:1220px;margin:auto;padding:16px 28px;width:100%}
.design-preview body:has(main.preview-inner-page)>.site-footer,.design-preview body:has(main.preview-brand-led)>.site-footer {grid-column:1;grid-row:3}
.design-preview main .store-section {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:center}
.design-preview .store-section>div:first-child {align-items:center;text-align:center}
.design-preview .store-details {justify-self:center;width:100%;max-width:580px;min-width:0}
.design-preview .store-section>div:first-child>h2 {font-size:var(--section-title-size);line-height:1.35;margin-bottom:8px}
.design-preview .store-section>div:first-child>p {font-family:var(--font-display);font-size:var(--subheading-size);line-height:1.5;max-width:20em;margin:0 0 8px}
.design-preview .store-details dl {display:grid;gap:6px}
.design-preview .store-details dl>div {display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;margin:0;padding:0;font-size:15px;align-items:baseline}
.design-preview .store-details dt {font-size:16px;text-align:right;white-space:nowrap}
.design-preview .store-details dd {font-size:16px;line-height:1.6;margin:0}
.design-preview .store-details dl>div:has(a[href*="maps"]) dd,.design-preview .store-details dd>a[href*="maps"] {font-size:16px}
.design-preview .store-details dd a {display:inline-flex;align-items:center;gap:6px}
.design-preview .store-details dd>a[href*="maps"] {display:flex;width:fit-content;margin-top:4px}
.design-preview .site-footer {padding:32px 4vw;gap:24px}
.design-preview .site-footer .footer-brand {font-size:60px}
.design-preview .product-grid {gap:24px 18px}
.design-preview main.preview-inner-page .events-page .event-summary-card {margin:0}
.design-preview .events-page>.section-heading:empty {display:none}
.design-preview .events-page .event-card {display:block}
.design-preview .events-page .event-card .event-short-title {padding:0}
@media(max-width:1100px) {
  .design-preview .site-header.restin-header {gap:16px}
  .design-preview .site-header.restin-header nav {padding-inline:8px;gap:0}
  .design-preview .site-header.restin-header nav a {padding-inline:6px;font-size:14px}
  .design-preview .site-header.restin-header .nav-booking {padding-inline:18px}
}
@media(max-width:800px) {
  .design-preview .site-header.restin-header {grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:12px 20px;min-height:78px}
  .design-preview #menu-toggle {display:inline-flex;justify-self:end}
  .design-preview .site-header.restin-header .brand {font-size:32px}
  .design-preview .site-header.restin-header nav {display:none;grid-column:1/-1;grid-row:2;max-width:none}
  .design-preview .site-header.restin-header.nav-open nav {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;gap:4px}
  .design-preview .site-header.restin-header nav a {white-space:normal;padding:8px 4px}
  .design-preview .site-header.restin-header .nav-booking {grid-column:3;grid-row:1;min-height:48px;padding:8px 18px;font-size:15px}
  .design-preview main.preview-home-grid.preview-brand-led>.hero {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;min-height:100svh;padding:112px 24px 24px;gap:28px}
  .design-preview main.preview-brand-led .hero-side {grid-row:2;margin-bottom:0}
  .design-preview main.preview-brand-led .hero-lotions {grid-column:1;grid-row:3;width:100%;max-width:680px;margin-bottom:0;justify-self:start}
  .design-preview main.preview-brand-led .hero-emblem>strong {font-size:56px}
  .design-preview main.preview-inner-page>.page-masthead {min-height:184px;padding-top:98px}
  .design-preview main .store-section {grid-template-columns:1fr;gap:18px}
}
@media(max-width:540px) {
  .design-preview .site-marquee {font-size:12px;line-height:18px}
  .design-preview main {padding-inline:20px}
  .design-preview main.preview-home-grid>section:not(.hero):not(.store-section),.design-preview main.preview-home-grid>.store-section {padding-inline:20px}
  .design-preview main .section,.design-preview main.preview-home-grid>section:not(.hero):not(.gratitude-campaign),.design-preview main.preview-home-grid>.services-section:has(.service-values),.design-preview main.preview-home-grid>.services-section:has(>.massage-grid) {padding-block:16px}
  .design-preview main.preview-home-grid.preview-brand-led>.hero {padding:108px 20px 24px;gap:20px;min-height:100svh}
  .design-preview main.preview-brand-led .hero .preview-brand-title {font-size:17px}
  .design-preview main.preview-brand-led .hero-emblem>strong {font-size:44px;line-height:1.25}
  .design-preview main.preview-brand-led .hero-emblem>small {font-size:15px}
  .design-preview main.preview-inner-page>.section {padding:16px 20px}
  .design-preview main.preview-inner-page>.page-masthead {min-height:176px;padding:94px 20px 8px}
  .design-preview main.preview-brand-led .content-layout.preview-campaign-stage {padding-block:16px}
  .design-preview .store-section>div:first-child>p {font-size:var(--subheading-size);margin:0 0 8px}
  .design-preview .store-details dl>div {grid-template-columns:max-content minmax(0,1fr);gap:8px}
  .design-preview .site-footer {padding:16px 20px;gap:16px}
  .design-preview .site-footer .footer-brand {font-size:44px}
}
@media(max-width:360px) {
  .design-preview .site-header.restin-header {padding-inline:14px}
  .design-preview .site-header.restin-header.nav-open nav {grid-template-columns:repeat(3,minmax(0,1fr))}
  .design-preview .site-header.restin-header .nav-booking {padding-inline:12px}
  .design-preview main.preview-home-grid.preview-brand-led>.hero {padding-inline:16px}
}
@media(prefers-reduced-motion:reduce) {.design-preview .preview-action-arrow {transition:none}}

/* Keep the existing sections full width and remove height reserved for sparse pages. */
.design-preview main.preview-inner-page {min-height:0}
.design-preview body:has(main.preview-inner-page) {min-height:100svh;grid-template-rows:auto 1fr auto}
.design-preview main.preview-inner-page>.events-page {max-width:none;padding:16px clamp(20px,2.2vw,40px)}
.design-preview main.preview-inner-page>.section.auth {padding:0;border-radius:0}
.design-preview main.preview-inner-page>.section.auth:has(#login-form) {background:transparent}
.design-preview main.preview-inner-page:has(#gratitude-list)>.page-masthead::before {animation:none}
.design-preview main p {line-height:1.6}
.design-preview main.preview-brand-led .hero-copy p {line-height:1.6}
.design-preview main .section-heading {margin-bottom:8px}
.design-preview main .section-heading p {font-size:16px;line-height:1.6;margin:0}
.design-preview main.preview-brand-led .hero-copy p {font-size:16px;margin:0 0 8px}
.design-preview main .services-section {row-gap:8px}
.design-preview main .services-section .section-heading h2 {font-size:var(--section-title-size);line-height:1.35;margin-bottom:8px}
.design-preview main .services-section .section-heading p {font-size:16px;margin-block:0;line-height:1.6}
.design-preview main .service-values {gap:6px;font-size:16px;line-height:1.6}
.design-preview main .service-values>div {margin:0}
.design-preview main .services-section .service-actions {margin-top:8px}
.design-preview main .service-grid {max-width:none}
.design-preview main .service-card img {max-height:300px;object-fit:contain}
.design-preview main .massage-grid .service-card img {max-height:240px}
.design-preview main .massage-grid .service-card {padding:0;background:transparent;border-radius:0}
.design-preview main.preview-brand-led .preview-campaign-stage>.offer-image {max-height:220px;object-fit:contain}
.design-preview main.preview-brand-led .preview-campaign-stage>.content-copy {gap:8px}
.design-preview main.preview-brand-led .content-copy>:is(h2,p) {margin-block:0}
.design-preview main.preview-brand-led .content-copy>p:not(.preview-campaign-offer) {font-size:16px;line-height:1.6}
.design-preview main.preview-brand-led .content-copy>.preview-campaign-offer {font-size:var(--subheading-size);line-height:1.5}
.design-preview main.preview-brand-led #campaign-title {font-size:var(--section-title-size);line-height:1.35}
.design-preview main .gratitude-selection {gap:12px 32px}
.design-preview main .gratitude-selection h2 {font-size:var(--section-title-size);line-height:1.35}
.design-preview main .gift-flow>.offer-image {max-height:150px}
.design-preview main .store-section {column-gap:clamp(24px,4vw,64px);row-gap:12px}
.design-preview .store-details dl {gap:6px}
.design-preview .store-details dd {line-height:1.6}
.design-preview .site-footer {padding-block:24px}
@media(max-width:800px) {
  :root.design-preview {--section-title-size:24px}
}
@media(prefers-reduced-motion:no-preference) {
  .design-preview .event-summary-card>button {transition:transform 650ms var(--ease-out),background-color 650ms ease}
  .design-preview .event-summary-card>button:active {transform:scale(.98)}
  .showcase-dialog:not(.showcase-dialog-event):not(.showcase-dialog-flow):not(.showcase-dialog-poster)[open] .showcase-dialog-inner {animation:showcase-arrive 180ms var(--ease-out) both}
}
@keyframes showcase-arrive {from {opacity:.2}to {opacity:1}}
.site-loader {position:fixed;inset:0;z-index:80;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--brand-field);color:var(--on-brand);pointer-events:none}
.site-loader[hidden] {display:none}
.site-loader-brand {font-family:var(--font-display);font-size:44px;line-height:1.2}
.site-loader-label {font-family:var(--font-body);font-size:16px}
.site-loader-ring {width:44px;height:44px;border:2px solid var(--on-brand-muted);border-top-color:var(--campaign-accent);border-radius:50%;animation:site-loader-turn 1400ms linear infinite}
@keyframes site-loader-turn {to {transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce) {.site-loader-ring {animation:none}}

/* Keep the text and posters close together within the full-width background. */
.design-preview main.preview-home-grid>.services-section:has(.service-values) {display:grid;grid-template-columns:minmax(0,540px) minmax(0,600px);justify-content:center;align-content:center;gap:12px 28px}
.design-preview main.preview-home-grid>.services-section:has(.service-values)>.section-heading {grid-column:1;grid-row:1;width:100%;margin:0;text-align:left}
.design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-values {grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:6px;margin:0}
.design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-controls {width:100%;margin:0}
.design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-grid {grid-column:2;grid-row:1/span 3;align-self:center;width:100%;margin:0}
.design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-actions {grid-column:1;grid-row:3;justify-content:start;margin:0}
.design-preview main.preview-home-grid>.services-section:has(.service-values) .service-card img {max-height:260px}
.design-preview main.preview-home-grid>.gratitude-selection {display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.design-preview main.preview-home-grid>.gratitude-selection>.section-heading {order:1;align-self:center;text-align:center;margin:0;padding:0}
.design-preview main.preview-home-grid>.gratitude-selection>.gift-flow {order:2;width:100%;max-width:640px;margin:0;padding:0}
.design-preview main.preview-home-grid>.gratitude-selection>.service-actions {order:3;align-self:center;justify-content:center;margin:0;padding:0}
@media(max-width:800px) {
  .design-preview main.preview-home-grid>.services-section:has(.service-values) {display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.section-heading {order:1}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-values {order:2}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-controls {order:3}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-grid {order:4}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-actions {order:5}
}

.design-preview main .campaign-guide {justify-content:flex-start;width:fit-content;min-height:44px;padding:6px 0;border:0;background:transparent;color:var(--orange-dark);text-align:left}
.design-preview main .campaign-guide:hover {color:var(--brand-field)}
.design-preview .space-details>summary {cursor:pointer;min-height:44px;align-content:center;font-size:16px;line-height:1.5}
.showcase-dialog-flow {max-width:1000px}
.showcase-dialog-flow .gift-flow {width:100%;max-width:none;padding:0;margin:0;background:transparent}
.showcase-dialog-flow .gift-flow>.offer-image {width:100%;max-width:none;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
@media(max-width:540px) {
  .showcase-dialog-flow .gift-flow .sr-only {position:static;width:auto;height:auto;padding:0;margin:12px 0 0;overflow:visible;clip:auto;clip-path:none;white-space:normal}
}
.design-preview main.preview-home-grid>.services-section:has(>.massage-grid) {--ink:var(--brand-field);--muted:var(--orange-dark);background:var(--page-ground);color:var(--ink)}
.design-preview main.preview-home-grid>.services-section:has(>.massage-grid) .service-controls {color:var(--ink)}
.design-preview main.preview-home-grid>.services-section:has(>.massage-grid) :is(.button,.service-controls button):hover {color:var(--orange-dark)}
.design-preview main.preview-home-grid>.services-section:has(>.massage-grid) :is(a,button,.service-grid):focus-visible {outline-color:var(--brand-field)}
.design-preview .site-footer {--footer-field:#261c17;background:var(--footer-field)}
.design-preview .space-details .preline {margin:4px 0 0}
@media(min-width:541px) and (max-width:800px) {
  .design-preview main.preview-home-grid>.services-section:has(.service-values) {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px 24px}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-grid {display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin:0}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-values {margin:0}
  .design-preview main.preview-home-grid>.services-section:has(.service-values)>.service-controls {grid-column:2;grid-row:4}
  .design-preview main .service-card {scroll-snap-align:start}
  .design-preview main .services-section>.service-controls {display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin:0}
  .design-preview main .service-controls .service-scroll-hint {display:block;margin:0;text-align:center;font-size:13px}
  .design-preview main .services-section:has(>.massage-grid) {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}
  .design-preview main .services-section:has(>.massage-grid)>.section-heading {margin:0}
  .design-preview main .services-section:has(>.massage-grid)>.service-actions {margin:0}
  .design-preview main .services-section:has(>.massage-grid)>.massage-grid {display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/2);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;margin:0}
  .design-preview main .services-section:has(>.massage-grid)>.service-controls {grid-column:1/-1;grid-row:3}
}

.design-preview .massage-grid {scrollbar-color:var(--orange-dark) var(--page-ground)}
.design-preview .service-poster {display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in}
.showcase-dialog-poster {max-width:1000px}
.service-poster-full {display:block;width:100%;height:auto;object-fit:contain}
.lotion-modal-layout h3 {font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1.5;margin:12px 0 8px}
.lotion-modal-layout .amenity-list {font-size:16px;line-height:1.6}
.showcase-dialog-lotion {max-width:1000px;--ink:#f5eee3;--muted:#c9bca9;--page-ground:#19181c;--service-field:#27252a;background:var(--page-ground);color:var(--ink);border:1px solid var(--restin-gold);scrollbar-color:var(--restin-gold) var(--page-ground)}
.showcase-dialog-lotion .showcase-dialog-inner {position:relative;padding:32px}
.showcase-dialog-lotion .showcase-dialog-inner>header {justify-content:flex-end;margin:0 0 8px}
.showcase-dialog-lotion .dialog-close {background:transparent;color:var(--muted);border:1px solid #514b43;border-radius:50%}
.showcase-dialog-lotion .lotion-modal-layout {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center}
.showcase-dialog-lotion .lotion-modal-layout>img {max-height:65svh}
.showcase-dialog-lotion .lotion-modal-copy {min-width:0}
.showcase-dialog-lotion .modal-summary {color:var(--muted);margin:0 44px 6px 0}
.showcase-dialog-lotion h2 {color:#e3b568;font-size:var(--section-title-size);font-weight:400}
.showcase-dialog-lotion .lotion-description {margin:8px 0;color:var(--ink)}
.showcase-dialog-lotion h3,.showcase-dialog-lotion .amenity-list svg {color:#e3b568}
.showcase-dialog-lotion .amenity-list {gap:6px;margin:0}
.lotion-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:12px 0}
.lotion-facts dt {font-size:14px;color:var(--muted)}
.lotion-facts dd {font-size:16px;margin:2px 0 0;overflow-wrap:anywhere}
.showcase-dialog-lotion .lotion-booking {display:flex;justify-content:center;width:100%;background:#e3b568;color:#231b15;border:0;text-decoration:none}
.showcase-dialog-lotion :is(a,button):focus-visible {outline:2px solid #e3b568;outline-offset:4px}
@media(max-width:540px) {
  .showcase-dialog-lotion .showcase-dialog-inner {padding:24px 20px}
  .showcase-dialog-lotion .lotion-modal-layout {grid-template-columns:1fr;gap:20px}
  .showcase-dialog-lotion .lotion-modal-layout>img {max-height:32svh;margin-top:20px}
}

.showcase-dialog {overflow:hidden}
.showcase-dialog-inner {display:flex;flex-direction:column;max-height:90svh}
.showcase-dialog-inner>header {flex:none}
.showcase-dialog-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.showcase-dialog-body:focus-visible {outline:2px solid var(--orange-dark);outline-offset:-2px}
.showcase-dialog-lotion .showcase-dialog-body:focus-visible {outline-color:#e3b568}
.design-preview main .auth .form small,.design-preview main .service-controls .service-scroll-hint {font-size:14px}
.design-preview main .auth .notice {font-size:16px}
.design-preview main .auth .form {gap:12px;padding:24px}
.design-preview main .auth .form :is(p,small) {line-height:1.6}
.design-preview main.preview-inner-page #checkout-form {padding:24px;gap:12px}
.design-preview main #checkout-form :is(p,.notice) {font-size:16px;line-height:1.6;margin:0}
.design-preview main .cart-info h3 {font-size:16px;line-height:1.5;margin:0 0 4px}
.design-preview main .cart-info p {font-size:14px;line-height:1.6;margin:4px 0}
.design-preview main .checkout-summary {padding:24px}
.design-preview main .checkout-summary h2,.design-preview .confirm-dialog h2 {font-size:var(--section-title-size);line-height:1.35;margin:0 0 12px}
.design-preview main .checkout-summary p {line-height:1.6;margin:0 0 8px}
.design-preview main .checkout-summary p:last-child {margin-top:12px}
.design-preview main .order {font-size:16px;padding:20px}
.design-preview main .order p {font-size:16px;line-height:1.6;margin:4px 0}
.design-preview main .order :is(.order-id,.badge) {font-size:14px;line-height:1.6}
.design-preview main.preview-inner-page .order hr {margin:12px 0}
.design-preview main.preview-inner-page section:has(>.order-grid)>.actions {gap:12px;margin:12px 0 20px}
.design-preview main.preview-inner-page section:has(>.order-grid)>h2 {font-size:var(--section-title-size);line-height:1.35;margin:12px 0 8px}
.design-preview main.preview-inner-page .reservation-actions {gap:12px}
.design-preview main.preview-inner-page .empty {padding:24px;font-size:16px;line-height:1.6}
.design-preview main.preview-inner-page .empty .button {margin-top:12px}
.design-preview main.preview-inner-page>section.narrow>.panel.preline {line-height:1.6}
.design-preview .confirm-dialog .actions {margin-top:12px}
.design-preview .site-footer>p {font-size:16px;line-height:1.6}
@media(max-width:800px) {
  .design-preview main.preview-brand-led #campaign-title {font-size:var(--section-title-size)}
}
@media(max-width:540px) {
  .showcase-dialog-inner {max-height:94svh}
}
