/* ご指定の tp_salon1_esthetic_blue/css/theme.css と同じ基本色。 */
:root {
  --reference-background: #fdfdfd;
  --reference-text: #7d6b64;
  --reference-primary: #7eaebc;
  --reference-light: #f2f8fa;
  --reference-warm: #f8f7f2;
  --reference-border: #dfd6cf;
  --reference-accent: #844844;
  --ink: var(--reference-text);
  --text: var(--reference-text);
  --muted: #95867f;
  --blue: var(--reference-background);
  --pale: var(--reference-light);
  --white: var(--reference-background);
  --line: var(--reference-border);
}
body, .admin-body { color: var(--reference-text); background: var(--reference-background); }
.site-header, .admin-header { background: #fdfdfdf5; border-color: var(--reference-border); }
.brand-name, .hero-visual figcaption, .admin-brand, .admin-editor select { color: var(--reference-text); }
.brand-dot, .hero-script, .concept-signature span, .aside-number,
.staff-initial, .staff-en, .flow li>span, .faq summary:before,
.reservation-script, .admin-brand>span { color: var(--reference-primary); }
.eyebrow, .hero-location, .scroll-cue, .vertical-label,
.panel-note, .price-list small, .price-disclaimer, .staff-qualification,
.map-note, .hours h3 span, .hours-note, .preview-footer,
.calendar-toolbar p, .calendar-footnote, .calendar-admin-footer,
.admin-updated, .admin-footer-note { color: var(--reference-text); }
.short-line { background: var(--reference-primary); }
.preview-note, .button-dark, .mobile-reserve, .nav-reserve {
  background: var(--reference-primary);
  color: #fff;
  border-color: var(--reference-primary);
}
.site-header nav>.nav-reserve:hover, .button-dark:hover { background: #6a98a6; color: #fff; }
.site-header nav>a:hover, .text-link:hover { color: #628d9b; }
.text-link, .telephone, .outline-circle { border-color: var(--reference-primary); }
.intro-strip, .footer-bottom, .hours dl>div, .hours dl>div:last-child,
.other-menu, .menu-tabs, .menu-aside, .flow li, .admin-header { border-color: var(--reference-border); }
.intro-strip i { color: #baaaa1; }
.hero { background: var(--reference-background); }
.hero-visual figcaption { background: #fdfdfde6; }
.menu-section, .reservation, .availability-section, .admin-body { background: var(--reference-light); }
.first-visit, .access-section { background: var(--reference-warm); }
.reservation:before, .reservation:after { border-color: #d4e4e9; }
.staff-initial { background: var(--reference-light); }
.menu-tabs button[aria-selected="true"] {
  color: var(--reference-text);
  background: #e4f0f4;
  border-bottom-color: var(--reference-primary);
}
.menu-tabs button:hover { background: #eaf3f6; }
.availability-section { border-bottom-color: var(--reference-border); }
.calendar-legend, .calendar-month, .admin-instructions, .admin-savebar { background: #fdfdfd; border-color: var(--reference-border); }
.calendar-month-title, .admin-editor thead th, .admin-bulk { background: var(--reference-light); color: var(--reference-text); }
.calendar-month-title>.calendar-month-hint, .calendar-table thead th { color: var(--reference-text); }
.calendar-table thead th { background: var(--reference-warm); border-color: var(--reference-border); }
.calendar-table tbody th, .calendar-table tbody td { border-color: #ebe5e1; }
.calendar-today { background: #edf6f9; }
.today-badge { background: var(--reference-primary); color: #fff; }
.status-full, .status-unknown, .closed-cell { color: #8b7c74; }
.closed-cell { background: var(--reference-warm); }
.is-sunday { color: var(--reference-accent); }
.is-saturday { color: #628d9b; }
.admin-bulk, .admin-editor, .admin-editor select, .bulk-fields input[type="date"],
.bulk-fields select, .admin-secondary, .admin-months button { border-color: #c5dce4; }
.admin-months button[aria-selected="true"] { background: var(--reference-primary); color: #fff; border-color: var(--reference-primary); }
.bulk-fields input[type="date"], .bulk-fields select, .admin-secondary, .admin-months button { color: var(--reference-text); }
.admin-editor th, .admin-editor td { border-bottom-color: #ebe5e1; }
.admin-editor tr.is-closed:not(.is-dirty), .admin-editor select:disabled { background: var(--reference-warm); }
.admin-editor input[type="checkbox"] { accent-color: var(--reference-primary); }
.admin-savebar { box-shadow: 0 4px 22px #7d6b641c; }
button:focus-visible, a:focus-visible, summary:focus-visible,
[tabindex="0"]:focus-visible, .admin-main input:focus-visible,
.admin-main select:focus-visible { outline-color: #628d9b; }
@media(max-width:900px) {
  .site-header nav { box-shadow: 0 15px 20px #7d6b6410; }
  .site-header nav .nav-reserve { background: var(--reference-primary); border-color: var(--reference-primary); }
}
@media(max-width:600px) {
  .hero-copy { background: linear-gradient(90deg,#fdfdfd 60%,#fdfdfdbd 87%,#fdfdfd00); }
  .mobile-reserve { box-shadow: 0 -3px 12px #7d6b6415; }
}
