/* Control layout: keep text and decorative arrows in separate grid columns. */
html body :is(.button.primary,.button.secondary,.store-all-toggle) {
  display:inline-grid; grid-template-columns:minmax(0,1fr) 28px;
  align-items:center; justify-content:center; column-gap:12px;
  box-sizing:border-box; max-width:100%; min-width:0;
  padding:12px 20px!important; font-family:var(--font-sans);
  font-size:15px; font-weight:600; line-height:1.6; min-height:48px;
  text-align:center; letter-spacing:.015em; white-space:normal;
}
html body .button.primary { font-size:16px; font-weight:700; min-height:56px; }
html body :is(.button.primary,.button.secondary,.store-all-toggle)::after {
  position:static!important; inset:auto!important; top:auto!important;
  width:28px!important; height:28px!important; margin:0!important;
  transform:none!important; background-size:18px 18px,auto!important;
  justify-self:end; align-self:center;
}
html body .store-all-toggle[aria-expanded="true"]::after { transform:rotate(90deg)!important; }
html body .home-hero .hero-actions :is(.primary,.secondary) { font-size:15px; min-height:48px; }
html body .home-hero .hero-actions .primary { font-size:16px; min-height:56px; }
html body .home-hero .hero-actions .instagram-soft-link { min-height:48px; font:600 15px/1.6 var(--font-sans); }
html body .store-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
html body .store-links .store-booking-link { grid-column:1/-1; min-height:56px; padding:14px 20px; font:700 16px/1.5 var(--font-sans); }
html body .store-links :is(.store-detail-link,.store-map-link) { grid-column:auto; min-height:48px; padding:10px 12px; font:600 15px/1.6 var(--font-sans); }
html body .store-phone a { display:inline-flex; align-items:center; min-height:44px; font:500 15px/1.6 var(--font-sans); white-space:nowrap; }
html body .store-info-panel dl { grid-template-columns:minmax(0,1fr); }
html body .store-info-panel dd { min-width:0; }
html body .store-info-panel a[href^="tel:"] { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
html body .public-column-related .store-link-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); }
html body :is(.column-card-actions a,.published-link,.generated-column-card .text-link,.column-card .text-link,.store-link-grid a) {
  font:600 15px/1.7 var(--font-sans); min-height:48px; text-align:center;
}
html body :is(.store-link-grid a,details summary) {
  --site-glass-surface:#fffafee6; --site-glass-ink:#715879;
  --site-glass-shadow:inset 0 0 0 1px #d9cbdf,0 4px 12px #71587908;
  --site-glass-hover-shadow:inset 0 0 0 1px #b9a2c3,0 6px 16px #71587912;
  --site-glass-pressed-shadow:inset 0 0 0 1px #b9a2c3;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html body details summary::before { content:none!important; }
html body details summary {
  display:grid; grid-template-columns:minmax(0,1fr) 24px; align-items:center;
  gap:16px; min-height:64px; padding:18px 20px;
  font:600 16px/1.7 var(--font-sans); text-align:left; letter-spacing:.015em;
}
html body details summary .control-question { min-width:0; text-wrap:pretty; }
html body details summary::after { position:static!important; width:24px!important; height:24px!important; margin:0!important; }
html body .fc-line-button { font:700 16px/1.5 var(--font-sans); min-height:56px; padding:14px 24px; }
html body .header-cta .header-booking-mobile { display:none; }
html body .header-cta .header-booking-desktop { display:inline; }
html body .sitemap-grid li { margin-block:8px; }
html body .sitemap-grid li a { display:inline-block; padding-block:6px; line-height:1.7; }
@media(max-width:760px) {
  html body .store-info-panel dl > div { grid-template-columns:minmax(0,1fr); gap:6px; }
  html body .store-info-panel dd { margin:0; }
  html body .header-cta .header-booking-desktop { display:none; }
  html body .header-cta .header-booking-mobile { display:inline; }
}
@media(max-width:420px) {
  html body.page-home .home-hero .hero-actions { grid-template-columns:minmax(0,1fr); }
}
/* The legacy theme uses page-specific selectors; these layout constraints win. */
html body .store-links { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
html body .store-links .store-booking-link { grid-column:1/-1!important; padding:14px 20px!important; min-height:56px!important; }
html body .store-links :is(.store-detail-link,.store-map-link) { grid-column:auto!important; min-height:48px!important; width:100%!important; }
html body .public-column-related .store-link-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))!important; }
html body .fc-line-button { font:700 16px/1.5 var(--font-sans)!important; min-height:56px!important; padding:14px 24px!important; }
html body :is(.column-card-actions a,.published-link,.generated-column-card .text-link,.column-card .text-link,.store-link-grid a) { font:600 15px/1.7 var(--font-sans)!important; }
html body .footer nav a { font-family:var(--font-sans); }
@media(max-width:760px) {
  html body .store-info-panel dl,html body .store-info-panel dl > div { grid-template-columns:minmax(0,1fr)!important; }
}
@media(max-width:359px) {
  html body.recruit-refined .button.primary { padding-inline:12px!important; column-gap:10px; }
  html body.page-thanks .thanks-panel { padding-inline:16px; }
  html body.page-thanks .button { padding-inline:12px!important; column-gap:10px; }
}
html body details summary {
  grid-template-columns:minmax(0,1fr) 24px!important;
  padding:18px 20px!important; min-height:64px!important;
  font:600 16px/1.7 var(--font-sans)!important; gap:16px!important;
}
html body details summary .control-question { font:inherit!important; text-wrap:wrap; }
html body details summary::after {
  content:""!important; display:block!important; flex:none!important;
  border:0!important; border-radius:0!important; box-shadow:none!important;
  background:linear-gradient(#715879,#715879) center/14px 2px no-repeat,linear-gradient(#715879,#715879) center/2px 14px no-repeat!important;
  transform:none!important;
}
html body details[open] summary::after { background:linear-gradient(#715879,#715879) center/14px 2px no-repeat!important; }

/* Claude review: readable phrases, unmistakable links, quieter cards. */
html body details summary .control-phrase { display:inline-block; max-inline-size:100%; vertical-align:top; }
html body :is(.store-info-panel,.store-phone) a:not(.button) {
  color:#715879!important; text-decoration:underline!important;
  text-decoration-thickness:1px; text-underline-offset:4px;
  font-family:var(--font-sans);
}
html body .store-info-panel dl > div { padding-block:12px; gap:12px; }
html body .store-info-panel dl > div:first-child { padding-top:0; }
html body .store-info-panel dl > div:last-child { padding-bottom:0; }
html body .store-info-panel dd { font:400 16px/1.75 var(--font-sans); }
html body .store-info-panel dt { font:600 14px/1.7 var(--font-sans); }
html body .store-info-panel dd a { display:inline-flex; align-items:center; min-height:44px; }
html body .store-card :is(.store-address,.store-access,.store-phone) { font-family:var(--font-sans); line-height:1.75; margin-block:8px; }
html body.page-recruit #appeal [data-pearl-group="appeal"] > li::after { content:none!important; }
html body .nav-scroll-shell { display:contents; }
@media(max-width:760px) {
  html body .store-info-panel { padding:24px 20px; }
  html body .store-info-panel dl > div { gap:4px; }
  html body .store-card { padding:24px 20px; }
  html body .nav-scroll-shell { display:block; position:relative; grid-area:nav; min-width:0; width:100%; }
  html body .nav-scroll-shell .nav { padding-inline:4px 24px!important; box-sizing:border-box; }
  html body .nav-scroll-shell::before,html body .nav-scroll-shell::after {
    position:absolute; z-index:2; top:0; bottom:0; width:24px;
    display:flex; align-items:center; justify-content:center;
    color:#715879; font:600 22px/1 var(--font-sans); pointer-events:none;
  }
  html body .nav-scroll-shell[data-overflow-end="true"]::after { content:"›"; right:0; background:linear-gradient(90deg,#fcfaf800,#fcfaf8 55%); }
  html body .nav-scroll-shell[data-overflow-start="true"]::before { content:"‹"; left:0; background:linear-gradient(270deg,#fcfaf800,#fcfaf8 55%); }
}

html body details > p { font-family:var(--font-sans); font-size:16px; line-height:1.85; }
html body .store-info-panel .control-phrase { display:inline-block; max-inline-size:100%; }
