/* Ivory Jali Gold — shared royal wedding palette and tactile page surfaces. */
:root {
  --wine: #735722;
  --wine2: #59421d;
  --gold: #a1844d;
  --gold2: #d6be87;
  --ink: #3d392b;
  --muted: #5d513e;
  --ivory: #dcd0b4;
  --surface: #e9dfc7;
  --line: #bdad86;
  --green: #285c40;
  --red: #983b32;
  --amber: #80521f;
  --shadow: 0 12px 36px #57442014;
  --radius: 12px;
  --royal-paper: #e9dfc7;
  --royal-stone: #dcd0b4;
  --royal-inset: #d2c29d;
  --royal-brass: #735722;
  --royal-deep: #383122;
  --royal-texture: url('textures/ivory-stone.svg');
  --royal-jali: url('textures/ivory-jali.svg');
}
html { color-scheme: light; background: var(--royal-stone); }
body[data-site-theme] {
  color: var(--ink);
  background-color: var(--royal-stone);
  background-image: var(--royal-texture);
  background-size: 360px 360px;
}
body[data-site-theme] ::selection { background: #bea673; color: #2d291e; }
body[data-site-theme] :is(button, input, select, textarea) { accent-color: var(--royal-brass); }
body[data-site-theme] :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid #735722;
  outline-offset: 3px;
}

/* Stone and brass replace the old white and rose navigation surfaces. */
body[data-site-theme] .professional-header {
  background-color: #e6dac0;
  background-image: var(--royal-texture);
  background-size: 360px 360px;
  border-color: #ad9563;
  box-shadow: 0 3px 18px #5744200a;
}
body[data-site-theme] .professional-header .service-navigation {
  background-color: #e3d5b8;
  background-image: var(--royal-texture);
  border-color: #baa576;
}
body[data-site-theme] .professional-header :is(.header-location, .header-action, .header-basket, .service-venue-shortcut) {
  color: var(--ink);
  background: #e9dfc7;
  border-color: #baa779;
}
body[data-site-theme] .professional-header :is(.header-location, .header-action, .service-venue-shortcut):hover,
body[data-site-theme] .professional-header .header-action[aria-current],
body[data-site-theme] .service-desktop-nav > a:hover,
body[data-site-theme] .service-desktop-nav > a[aria-current] {
  background: #d5c39c;
  border-color: #a1844d;
  color: #59421d;
}
body[data-site-theme] .professional-header :is(.header-location > svg, .service-menu-icon) { color: #735722; }
body[data-site-theme] :is(.header-location-copy small, .service-nav-hint, .service-menu-link small, .service-desktop-nav > a) { color: #64553b; }
body[data-site-theme] .professional-header .service-menu > summary,
body[data-site-theme] .professional-header .basket-count { background: #735722; color: #fff7e3; }
body[data-site-theme] .professional-header .basket-count { border-color: #e6dac0; }
body[data-site-theme] .professional-header .service-menu-panel {
  background-color: var(--royal-paper);
  background-image: var(--royal-texture);
  border-color: var(--line);
  box-shadow: 0 16px 35px #3d311f26;
}
body[data-site-theme] .professional-header .service-menu-link {
  background: #eee4ce;
  border-color: #c7b78f;
}
body[data-site-theme] .professional-header .service-menu-link:hover,
body[data-site-theme] .professional-header .service-menu-link[aria-current] { background: #d9c9a4; border-color: #a1844d; }
body[data-site-theme] .professional-header .service-menu-link small { color: #5d513e; }
body[data-site-theme] .header-quick-links a { color: #64553b; }
body[data-site-theme] .professional-header .service-menu-icon { background: #ddcba3; }
body[data-site-theme] .service-desktop-nav > a[aria-current]::after { background: #a1844d; }

/* Textured page sections with restrained carved lattice at the outer edges. */
body[data-site-theme] :is(.section, .journal-main, .admin-locations, .qr-manager) {
  background-image: var(--royal-jali), var(--royal-jali);
  background-position: left top, right top;
  background-size: 58px 116px;
  background-repeat: repeat-y;
}
body[data-site-theme] .section.alt {
  background-color: #d5c6a4;
  border-block: 1px solid #c1ae7f;
}
body[data-site-theme] :is(.page-hero, .journal-hero, .gift-hero, .about-hero) {
  background-color: #deceb0;
  background-image: var(--royal-jali), var(--royal-jali), var(--royal-texture);
  background-position: left top, right top, left top;
  background-size: 76px 152px, 76px 152px, 360px 360px;
  background-repeat: repeat-y, repeat-y, repeat;
  border-color: #baa576;
}
body[data-site-theme] .trustbar {
  background-color: #e7dcc2;
  background-image: var(--royal-texture);
  border-color: #b9a576;
}
body[data-site-theme] .trust i { color: #735722; background: #d4bf92; }
body[data-site-theme] :is(.sec-head h2, .page-hero h1, .gift-hero h1, .about-hero h1, .journal-hero h1, .journal-main h2, .journal-article h1, .journal-article h2, .about-content h2) { color: #3d392b; }
body[data-site-theme] :is(.page-hero p, .journal-hero p, .journal-source, .journal-section-head p, .journal-card p, .journal-standfirst, .journal-byline, .journal-breadcrumb, .about-content p, .about-content li, .rating, .check, .package ul) { color: #5d513e; }
body[data-site-theme] :is(.journal-eyebrow, .journal-category, .journal-card-meta, .journal-toc a, .journal-breadcrumb > span:last-child, .journal-article-sidebar a:last-child) { color: #735722; }
body[data-site-theme] .journal-header-links a:hover { color: #735722; }

/* Every catalogue, dashboard and editorial panel shares the ivory material. */
body[data-site-theme] :is(.service-tile, .card, .gift-card, .product-card, .sidebar, .basket, .panel, .package, .hero-panel, .owned-qr-card, .journal-intro, .journal-controls, .journal-card, .journal-toc, .journal-article-sidebar, .journal-country-directory details, .journal-location-links a, .about-service-links a, .about-faq details, .account-sidebar, .account-stat, .account-box, .account-saved-card, .account-membership-card, .account-faq details, .account-quick-links a, .account-skip) {
  background-color: var(--royal-paper);
  background-image: var(--royal-texture);
  background-size: 360px 360px;
  border-color: #baa779;
  box-shadow: 0 5px 20px #5744200a;
}
body[data-site-theme] :is(.service-tile, .card, .gift-card, .product-card, .journal-card, .package, .account-saved-card) { border-radius: 10px; }
body[data-site-theme] :is(.card, .account-stat, .journal-card):hover { border-color: #a1844d; box-shadow: var(--shadow); }
body[data-site-theme] :is(.package.pop, .account-membership-card.is-featured) { border-color: #987943; }
body[data-site-theme] .account-membership-card:first-child { background: var(--royal-texture) #e3d4b3; border-color: #a1844d; }
body[data-site-theme] :is(.price-summary, .hold, .basket-reward, .admin-note, .journal-context, .journal-local-brief, .journal-service-cta, .account-date-card, .account-privacy-note, .account-empty, .directory-empty) {
  background-color: #ddcba6;
  background-image: var(--royal-texture);
  border-color: #b69a64;
  color: var(--ink);
}
body[data-site-theme] :is(.about-content section, .journal-brief-table th, .journal-brief-table td, .journal-article-sidebar a, .account-date-card hr, .account-form-actions) { border-color: var(--line); }
body[data-site-theme] .journal-brief-table th { background: #d8c59e; color: #59421d; }
body[data-site-theme] :is(.about-service-links a:hover, .journal-location-links a:hover) { background: #d5c39c; color: #59421d; }

/* Keep form controls legible, with distinct brass borders and focus states. */
body[data-site-theme] :is(.loc, .field, .searchbox, .book-field, .builder-option, .filter, .btn, .slot, .service-tab, .day, .basket-item-controls button, .account-section-head > button) {
  background-color: #e9dfc7;
  color: #59421d;
  border-color: #a18b5e;
}
body[data-site-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea),
body[data-site-theme] .account-form :is(input, select, textarea),
body[data-site-theme] .admin-panel :is(input:not([type=checkbox]), select, textarea),
body[data-site-theme] .directory-filter-field :is(input, select),
body[data-site-theme] .journal-controls :is(input, select),
body[data-site-theme] .directory-sort,
body[data-site-theme] .location-search-field,
body[data-site-theme] .location-search-field input {
  background: #f0e7d3;
  color: var(--ink);
  border-color: #927a4d;
}
body[data-site-theme] :is(input, textarea)::placeholder { color: #695c44; opacity: 1; }
body[data-site-theme] :is(input, select, textarea):disabled { background: #d7ccb4; color: #766b55; }
body[data-site-theme] .account-form :is(input, select, textarea):focus { border-color: #735722; box-shadow: 0 0 0 3px #a1844d26; }
body[data-site-theme] :is(.btn-primary, .searchbox button) {
  background: linear-gradient(135deg, #80632c, #59421d);
  color: #fff7e3;
  box-shadow: inset 0 1px 0 #e1c48a35;
}
body[data-site-theme] :is(.btn-primary, .searchbox button):hover { background: #59421d; color: #fff7e3; }
body[data-site-theme] :is(.btn, .slot):hover { background: #d5c39c; border-color: #735722; }
body[data-site-theme] :is(.filter.active, .tab.active, .day.selected, .basket-count) { background: #735722; color: #fff7e3; border-color: #735722; }
body[data-site-theme] .service-tab.active { background: #d8c49a; color: #59421d; border-color: #735722; }
/* The existing slot handler sets an inline pink background on selection. */
body[data-site-theme] [data-slot][data-selected-slot=true] { background: #d8c49a !important; color: #59421d; border-color: #735722; }
body[data-site-theme] :is(.tab, .chip, .tag, .account-pill, .account-nav-count, .location-result-kind) { background: #d7c49b; color: #59421d; border-color: #baa779; }
body[data-site-theme] .badge { background: #735722; color: #fff7e3; }
body[data-site-theme] .badge.gold { background: #c5ab74; color: #3b2d16; }
body[data-site-theme] .heart { background: #eee4cedf; color: #735722; }
body[data-site-theme] .old { color: #695c44; }
body[data-site-theme] .stars { color: #896527; }

/* Ivory account screens, including panels created after tab navigation. */
body[data-site-theme] :is(.account-avatar, .account-nav button.is-active) { background: #d7c49b; color: #59421d; border-color: #a1844d; }
body[data-site-theme] .account-nav button { color: #64553b; background: #e9dfc7; border-color: #baa779; }
body[data-site-theme] .account-nav button:hover { background: #dcca9f; color: #59421d; }
body[data-site-theme] .account-nav .is-active .account-nav-count { background: #efe4ca; }
body[data-site-theme] :is(.account-faq summary, .account-membership-card ul, .account-date-card > small) { color: #64553b; }
body[data-site-theme] .account-membership-card.is-featured .account-pill { background: #d7c49b; color: #59421d; }
body[data-site-theme] .account-progress { background: #d0be95; }
body[data-site-theme] .account-progress-fill { background: #735722; }
body[data-site-theme] .account-checklist li { color: #5d513e; border-color: #bdad86; }
body[data-site-theme] .account-checklist li.is-complete { color: #285c40; }
body[data-site-theme] .account-checklist li > span:first-child:not(:last-child),
body[data-site-theme] .account-checklist li > svg { color: #735722; border-color: #a18b5e; }
body[data-site-theme] .account-checklist li.is-complete > span:first-child:not(:last-child),
body[data-site-theme] .account-checklist li.is-complete > svg { color: #fff7e3; background: #285c40; border-color: #285c40; }
body[data-site-theme] .account-status.is-error:not(:empty) { background: #ead5b7; border-color: #ad8060; color: #983b32; }
body[data-site-theme] .account-welcome,
body[data-site-theme] .banner:not(.light) {
  background: var(--royal-texture), linear-gradient(115deg, #51432b, #776039);
  color: #fff3d9;
  border: 1px solid #a1844d;
}
body[data-site-theme] .account-welcome p { color: #eadbbe; }
body[data-site-theme] .account-welcome :is(.account-eyebrow, .eyebrow, small, .account-welcome-mark) { color: #e0c994; }
body[data-site-theme] .account-welcome-actions .btn-primary { background: #e5d4ae; color: #3d311d; }
body[data-site-theme] .account-welcome-actions .btn { background: transparent; color: #fff3d9; border-color: #c5ac77; }
body[data-site-theme] .banner.light { background: var(--royal-texture) #dac59b; color: #3d392b; }
body[data-site-theme] .basket-toast { background: #51432b; color: #fff3d9; border-color: #a1844d; }

/* Film controls keep their contrast over changing photography. */
body[data-site-theme] .service-cinematic { background: #383122; border-bottom: 1px solid #a1844d; }
body[data-site-theme] .service-cinematic-shade {
  background: linear-gradient(90deg, #211b11d9, #211b1166 58%, #211b111c), linear-gradient(0deg, #211b11b8, transparent 46%);
}
body[data-site-theme] .service-cinematic :is(h1, h2) { color: #fff3d9; }
body[data-site-theme] .service-cinematic-description { color: #f1e6cf; }
body[data-site-theme] .service-cinematic-eyebrow { color: #e0c994; }
body[data-site-theme] .service-cinematic-eyebrow::before { background: #cbb079; }
body[data-site-theme] .service-cinematic-actions a { color: #fff3d9; background: #221b114d; border-color: #d7bf8d; }
body[data-site-theme] .service-cinematic-actions a:first-child { color: #fff7e3; background: #80632c; border-color: #d7bf8d; }
body[data-site-theme] .service-cinematic-actions a:hover { color: #3d311d; background: #e5d4ae; }
body[data-site-theme] .service-cinematic-caption small { color: #ddcba6; }
body[data-site-theme] .service-cinematic-footer { border-color: #ceb27b77; }
body[data-site-theme] .service-cinematic-scene { color: #e1d0ad; border-color: #c5aa785e; }
body[data-site-theme] .service-cinematic-scene[aria-pressed=true] { color: #fff3d9; }
body[data-site-theme] .service-cinematic-scene::before { background: #e0c994; }
body[data-site-theme] .service-cinematic-playback button { background: #221b1152; border-color: #c5aa78; color: #fff3d9; }
body[data-site-theme] .service-cinematic-playback button:hover { background: #a1844d52; }
body[data-site-theme] .service-cinematic :is(a, button):focus-visible { outline-color: #fff3d9; }

/* Dialogs inherit the theme. QR artwork retains its clear scanning surface. */
body[data-site-theme] :is(.modal-card, .location-dialog) { background: var(--royal-texture) #e9dfc7; color: var(--ink); border: 1px solid #a1844d; }
body[data-site-theme] :is(.close, .location-dialog-close, .location-result) { background: #efe4ca; border-color: #b9a576; color: #59421d; }
body[data-site-theme] .location-dialog h2 { color: #3d392b; }
body[data-site-theme] .location-dialog :is(p, .location-search-status) { color: #5d513e; }
body[data-site-theme] .location-search-form label { color: #64553b; }
body[data-site-theme] .location-search-field > svg { color: #735722; }
body[data-site-theme] .location-result b { color: #3d392b; }
body[data-site-theme] .location-result small { color: #5d513e; }
body[data-site-theme] .location-result:hover,
body[data-site-theme] .location-result[aria-pressed=true] { background: #d7c49b; border-color: #927a4d; }
body[data-site-theme] .location-result[aria-pressed=true] .location-result-kind { background: #735722; color: #fff7e3; }
body[data-site-theme] .location-dialog::backdrop { background: #211b11cf; }
body[data-site-theme] .modal { background: #211b1199; }
body[data-site-theme] .footer { background: var(--royal-texture) #383122; color: #e8d9b8; border-top: 1px solid #a1844d; }
body[data-site-theme] .footer :is(h4, .logo) { color: #fff3d9; }
body[data-site-theme] .footer a { color: #e0c994; }
body[data-site-theme] .footer a:hover { color: #fff3d9; }
body[data-site-theme] .copyright { border-color: #a1844d66; color: #cdbb97; }

@media (max-width: 720px) {
  body[data-site-theme] :is(.section, .journal-main, .admin-locations, .qr-manager) { background-size: 22px 44px; }
  body[data-site-theme] :is(.page-hero, .journal-hero, .gift-hero, .about-hero) { background-size: 30px 60px, 30px 60px, 360px 360px; }
  body[data-site-theme] .service-cinematic-shade { background: linear-gradient(90deg, #211b11c9, #211b1170), linear-gradient(0deg, #211b11db, transparent 70%); }
}
@media print {
  html, body[data-site-theme] { background: #fff; color: #000; }
  body[data-site-theme] :is(.section, .journal-main, .admin-locations, .qr-manager, .page-hero, .journal-hero, .gift-hero, .about-hero) { background-image: none; }
}
