
:root{--bg:#130e0a;--paper:#fff8ee;--ink:#24170f;--muted:#775f4c;--accent:#c9913b;--accent2:#e9d2a5;--card:#fffdf8;--shadow:0 22px 70px rgba(0,0,0,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#1a100a 0,#2a1b11 360px,var(--paper) 360px);line-height:1.65}a{color:#86550f}img{max-width:100%;height:auto}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,4rem);background:rgba(19,14,10,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.brand{text-decoration:none;color:#fff;display:grid;line-height:1.1}.brand span{font-family:Georgia,serif;font-size:1.45rem}.brand small{color:var(--accent2)}nav{display:flex;gap:.45rem;align-items:center}nav a{color:#fff;text-decoration:none;padding:.65rem .85rem;border-radius:999px}nav a:hover{background:rgba(255,255,255,.1)}
/* Make public Admin sign-in less conspicuous than visitor actions. */
nav a.admin-nav-link,
nav a.admin-nav-link:visited{
  color:rgba(255,255,255,.58);
  font-size:.82rem;
  font-weight:650;
  letter-spacing:.02em;
  padding:.45rem .6rem;
  border:1px solid rgba(255,255,255,.12);
  background:transparent;
  box-shadow:none;
  opacity:.72;
}
nav a.admin-nav-link:hover{
  color:#fff;
  opacity:1;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22);
}
.button,.button:visited{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--accent);color:#1a100a;text-decoration:none;border-radius:999px;padding:.85rem 1.15rem;font-weight:800;box-shadow:0 10px 25px rgba(201,145,59,.25)}.button.secondary{background:#fff;color:var(--ink)}.button.small{padding:.55rem .85rem}.nav-toggle{display:none;background:#fff;color:#1a100a;border:0;border-radius:999px;padding:.6rem .9rem;font-weight:700}.hero{max-width:1180px;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2rem) 3rem;display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:center;color:#fff}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent2);font-size:.8rem;font-weight:800}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,8vw,6rem);line-height:.92;margin:.3rem 0 1rem}.hero p{font-size:1.25rem;max-width:58ch;color:#f7ead7}.hero-card{background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:1rem;box-shadow:var(--shadow)}.hero-card img{border-radius:20px;width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}.section{max-width:1120px;margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,2rem)}.section h2,.page-hero h1{font-family:Georgia,serif}.section h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem}.page-hero{max-width:1120px;margin:0 auto;color:#fff;padding:clamp(2rem,6vw,4rem) clamp(1rem,4vw,2rem)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid #ead9bf;border-radius:22px;padding:1.25rem;box-shadow:0 14px 38px rgba(53,31,14,.08)}.show-card{display:grid;grid-template-columns:86px 1fr;gap:1rem;align-items:start}.date{background:#24170f;color:#fff;border-radius:16px;text-align:center;padding:.75rem .35rem;font-weight:800}.date small{display:block;color:var(--accent2);font-weight:700}.album img,.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;background:#e8d8bf}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.notice{background:#fff0d0;border-left:5px solid var(--accent);padding:1rem 1.25rem;border-radius:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.form{display:grid;gap:.85rem}.form input,.form textarea{width:100%;padding:.85rem;border:1px solid #d7c1a2;border-radius:12px;font:inherit}.legacy-note{font-size:.95rem;color:var(--muted)}footer{background:#130e0a;color:#ead9bf;padding:2rem clamp(1rem,4vw,4rem);display:grid;gap:.6rem}footer a{color:#fff}.audio-placeholder{padding:1rem;border:1px dashed #c8a873;border-radius:14px;background:#fffaf2;color:var(--muted)}@media(max-width:800px){.hero,.split,.grid.two{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}nav{display:none;position:absolute;left:1rem;right:1rem;top:72px;background:#1d130d;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:.75rem;flex-direction:column;align-items:stretch}.nav-open nav{display:flex}.nav-toggle{display:block}.hero h1{font-size:3.25rem}.show-card{grid-template-columns:70px 1fr}}
.admin-note{background:#fff7e8;border:1px solid #ead9bf;border-radius:16px;padding:1rem 1.25rem;margin-bottom:1rem}.muted{color:var(--muted)}.track-list{display:grid;gap:.75rem;margin:.75rem 0}.track-list audio{display:block;width:100%;margin-top:.35rem}.admin-tool textarea{width:100%;min-height:360px;font-family:ui-monospace,Consolas,monospace;font-size:.9rem;border:1px solid #d7c1a2;border-radius:12px;padding:1rem}.admin-tool .toolbar{display:flex;gap:.75rem;flex-wrap:wrap;margin:.75rem 0 1rem}.admin-tool pre{white-space:pre-wrap;background:#fffaf2;border:1px solid #ead9bf;border-radius:12px;padding:1rem}

.news-card{display:block}.news-card h2{font-size:1.65rem;margin:.35rem 0}.news-body img{max-width:100%;border-radius:14px}.news-body iframe{max-width:100%}
.admin-shell{max-width:1280px;margin:0 auto;padding:1rem}.admin-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.admin-tabs button,.admin-action{border:0;border-radius:999px;padding:.75rem 1rem;font-weight:800;background:#fff;color:#24170f;cursor:pointer}.admin-tabs button.active,.admin-action.primary{background:var(--accent)}.admin-panel{display:none}.admin-panel.active{display:block}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-item{background:#fffdf8;border:1px solid #ead9bf;border-radius:18px;padding:1rem;margin:1rem 0}.admin-item input,.admin-item textarea,.admin-item select{width:100%;padding:.7rem;border:1px solid #d7c1a2;border-radius:10px;font:inherit;margin:.2rem 0 .65rem}.admin-item label{font-weight:800}.admin-editor{min-height:180px;background:#fff;border:1px solid #d7c1a2;border-radius:10px;padding:1rem}.editor-toolbar{display:flex;gap:.35rem;flex-wrap:wrap;margin:.4rem 0}.editor-toolbar button{padding:.45rem .65rem;border:1px solid #d7c1a2;border-radius:8px;background:#fff;cursor:pointer}.status{padding:.75rem 1rem;border-radius:12px;margin:1rem 0;background:#fff7e8}.danger{background:#8b1e1e!important;color:#fff!important}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}

/* Per-show editor save button */
.show-editor-card{position:relative;margin-left:5.25rem;transition:box-shadow .18s ease, border-color .18s ease}
.show-editor-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,145,59,.22),0 14px 38px rgba(53,31,14,.08)}
.save-show-floating{position:absolute;left:-5.25rem;top:1rem;width:4.4rem;min-height:4.4rem;border:0;border-radius:14px;background:#198754;color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.18);line-height:1.15}
.save-show-floating:hover,.save-show-floating:focus{background:#157347;outline:3px solid rgba(25,135,84,.25)}
.save-show-floating small{display:block;font-size:.75rem;font-weight:800}
@media(max-width:900px){.show-editor-card{margin-left:0;padding-top:4.7rem}.save-show-floating{left:1rem;top:1rem;width:auto;min-height:0;padding:.65rem .9rem}.save-show-floating small{display:inline}}


/* Background rendering repair - explicit page backgrounds for Chrome/Firefox */
:root{
  --bg:#130e0a;
  --paper:#fff8ee;
  --ink:#24170f;
  --muted:#5f4a39;
  --accent:#c9913b;
  --accent2:#f4dfb6;
  --card:#fffdf8;
}
html{
  background-color:#fff8ee;
  color:#24170f;
  color-scheme:light;
}
body{
  margin:0;
  background-color:#fff8ee !important;
  color:#24170f !important;
}
body::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:430px;
  z-index:-1;
  background:#24170f;
  background-image:linear-gradient(180deg,#130e0a 0%,#24170f 100%);
}
main{
  background:transparent !important;
  color:#24170f !important;
}
.site-header,
footer{
  background:#130e0a !important;
  color:#ffffff !important;
}
.site-header a,
.site-header a:visited,
footer a,
footer a:visited,
nav a,
nav a:visited,
.brand,
.brand:visited{
  color:#ffffff !important;
}
.brand small,
.eyebrow{
  color:#f4dfb6 !important;
}
.hero,
.page-hero{
  background:#24170f !important;
  background-image:linear-gradient(180deg,#1a100a 0%,#2a1b11 100%) !important;
  color:#ffffff !important;
  border-radius:0 0 28px 28px;
}
.hero h1,
.hero h2,
.hero h3,
.hero p,
.page-hero h1,
.page-hero h2,
.page-hero h3,
.page-hero p{
  color:#ffffff !important;
}
.section,
.admin-shell{
  background:#fff8ee !important;
  color:#24170f !important;
}
.card,
.admin-item,
.notice,
.audio-placeholder,
.admin-note,
.status{
  background:#fffdf8 !important;
  color:#24170f !important;
  border-color:#ead9bf !important;
}
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,
.admin-item h1,.admin-item h2,.admin-item h3,.admin-item h4,.admin-item h5,.admin-item h6,
.section h1,.section h2,.section h3,.section h4,.section h5,.section h6{
  color:#24170f !important;
}
a{color:#6f4309 !important;}
a.button,
.button,
.button:visited{
  background:#c9913b !important;
  color:#1a100a !important;
}
.button.secondary{
  background:#ffffff !important;
  color:#24170f !important;
}
input,
textarea,
select,
.admin-editor{
  background:#ffffff !important;
  color:#24170f !important;
  border-color:#d7c1a2 !important;
}
input::placeholder,
textarea::placeholder{
  color:#6c5847 !important;
  opacity:1 !important;
}
.admin-tabs button,
.admin-action,
.editor-toolbar button{
  background:#ffffff !important;
  color:#24170f !important;
  border:1px solid #d7c1a2 !important;
}
.admin-tabs button.active,
.admin-action.primary{
  background:#c9913b !important;
  color:#1a100a !important;
}
.danger{
  background:#8b1e1e !important;
  color:#ffffff !important;
}
.date{
  background:#24170f !important;
  color:#ffffff !important;
}
.date small{
  color:#f4dfb6 !important;
}
.legacy-note,
.muted{
  color:#5f4a39 !important;
}
.save-show-floating{
  background:#198754 !important;
  color:#ffffff !important;
}
@media (prefers-color-scheme: dark){
  html,body{background-color:#fff8ee !important;color:#24170f !important;}
  body::before{background:#24170f;background-image:linear-gradient(180deg,#130e0a 0%,#24170f 100%);}
  .section,.admin-shell{background:#fff8ee !important;color:#24170f !important;}
  .card,.admin-item,.notice,.audio-placeholder,.admin-note,.status{background:#fffdf8 !important;color:#24170f !important;}
}

/* Cross-browser dark background fix - match Edge rendering */
html{
  background:#1c1a15 !important;
  color-scheme:light !important;
}
body{
  background:#1c1a15 !important;
  background-image:none !important;
  color:#f8efe4 !important;
}
body::before{
  background:#1c0f09 !important;
  background-image:linear-gradient(180deg,#110b07 0%,#25130b 100%) !important;
  height:312px !important;
}
main{
  background:#1c1a15 !important;
  color:#f8efe4 !important;
}
.hero,
.page-hero{
  background:#25130b !important;
  background-image:linear-gradient(180deg,#1a0f09 0%,#2a160d 100%) !important;
  color:#ffffff !important;
}
.section{
  background:transparent !important;
  color:#f8efe4 !important;
}
.section h1,
.section h2,
.section h3,
.section h4,
.section h5,
.section h6{
  color:#ffffff !important;
}
.section p,
.section li,
.section div,
.section span{
  color:#f8efe4;
}
.card,
.show-card,
.news-card,
.audio-placeholder,
.notice{
  background:#211c17 !important;
  color:#f8efe4 !important;
  border-color:#4a3a2d !important;
}
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,
.show-card h1,.show-card h2,.show-card h3,.show-card h4,.show-card h5,.show-card h6,
.news-card h1,.news-card h2,.news-card h3,.news-card h4,.news-card h5,.news-card h6{
  color:#ffffff !important;
}
.card p,.card li,.card div,.card span,
.show-card p,.show-card li,.show-card div,.show-card span{
  color:#f8efe4 !important;
}
.news-card p,.news-card li,.news-card div,.news-card span{
  color:#f8efe4;
}
.legacy-note,
.muted{
  color:#d8c8b8 !important;
}
a{color:#e3a84e !important;}
a.button,.button,.button:visited{
  background:#d99b43 !important;
  color:#130e0a !important;
}
.button.secondary{
  background:#080808 !important;
  color:#ffffff !important;
}
input,textarea,select,.admin-editor{
  background:#fffdf8 !important;
  color:#24170f !important;
}
footer{
  background:#130e0a !important;
}
/* Keep the admin application readable and form-like */
.admin-shell{
  background:#fff8ee !important;
  color:#24170f !important;
}
.admin-shell *:not(.button):not(.admin-action):not(.save-show-floating):not(.danger){
  color:#24170f;
}
.admin-shell .admin-item,
.admin-shell .admin-note,
.admin-shell .status,
.admin-shell .card{
  background:#fffdf8 !important;
  color:#24170f !important;
  border-color:#ead9bf !important;
}

/* Cross-browser dark background fix - match Edge rendering */
html{background:#1c1a15 !important;color-scheme:light !important;}
body{background:#1c1a15 !important;background-image:none !important;color:#f8efe4 !important;}
body::before{background:#1c0f09 !important;background-image:linear-gradient(180deg,#110b07 0%,#25130b 100%) !important;height:312px !important;}
main{background:#1c1a15 !important;color:#f8efe4 !important;}
.hero,.page-hero{background:#25130b !important;background-image:linear-gradient(180deg,#1a0f09 0%,#2a160d 100%) !important;color:#ffffff !important;}
.section{background:transparent !important;color:#f8efe4 !important;}
.section h1,.section h2,.section h3,.section h4,.section h5,.section h6{color:#ffffff !important;}
.section p,.section li,.section div,.section span{color:#f8efe4;}
.card,.show-card,.news-card,.audio-placeholder,.notice{background:#211c17 !important;color:#f8efe4 !important;border-color:#4a3a2d !important;}
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,.show-card h1,.show-card h2,.show-card h3,.show-card h4,.show-card h5,.show-card h6,.news-card h1,.news-card h2,.news-card h3,.news-card h4,.news-card h5,.news-card h6{color:#ffffff !important;}
.card p,.card li,.card div,.card span,.show-card p,.show-card li,.show-card div,.show-card span{color:#f8efe4 !important;}
.news-card p,.news-card li,.news-card div,.news-card span{color:#f8efe4;}
.legacy-note,.muted{color:#d8c8b8 !important;}
a{color:#e3a84e !important;}
a.button,.button,.button:visited{background:#d99b43 !important;color:#130e0a !important;}
.button.secondary{background:#080808 !important;color:#ffffff !important;}
input,textarea,select,.admin-editor{background:#fffdf8 !important;color:#24170f !important;}
footer{background:#130e0a !important;}
.admin-shell{background:#fff8ee !important;color:#24170f !important;}
.admin-shell *:not(.button):not(.admin-action):not(.save-show-floating):not(.danger){color:#24170f;}
.admin-shell .admin-item,.admin-shell .admin-note,.admin-shell .status,.admin-shell .card{background:#fffdf8 !important;color:#24170f !important;border-color:#ead9bf !important;}

/* Admin menu item */
.site-header nav a[href$="admin/index.php"] { white-space: nowrap; }


.visit-counter{
  margin-top: 1rem;
  font-size: .95rem;
  color: #f7efe3;
  opacity: .9;
}
.visit-counter span{
  font-weight: 700;
}

.link-group{margin:0 0 2rem}.link-group h2{margin-bottom:1rem}.link-card h3{margin-top:0}.links-list .card-grid{align-items:stretch}

/* Rich News editor + public news color handling */
.editor-toolbar.rich-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  align-items:center;
  margin:.35rem 0 .5rem;
}
.editor-toolbar.rich-toolbar button,
.editor-toolbar.rich-toolbar .color-tool{
  border:1px solid #d8b77e !important;
  background:#fffdf8 !important;
  color:#24170f !important;
  border-radius:8px;
  padding:.35rem .55rem;
  font:inherit;
  line-height:1.2;
}
.editor-toolbar.rich-toolbar input[type="color"]{
  width:34px;
  height:26px;
  padding:0 !important;
  margin-left:.25rem;
  vertical-align:middle;
  background:#fff !important;
  border:1px solid #d8b77e !important;
}
.editor-toolbar.rich-toolbar .color-tool{
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
}
.admin-editor.rich-editor,
.admin-editor.rich-editor *{
  color:revert;
}
.admin-editor.rich-editor{
  background:#fffdf8 !important;
  color:#24170f !important;
  min-height:160px;
  border:2px solid #24170f !important;
  border-radius:12px;
  padding:1rem;
  line-height:1.55;
}
.admin-editor.rich-editor a{color:#0645ad !important;text-decoration:underline;}
.news-card .news-body,
.news-card .news-body p,
.news-card .news-body li,
.news-card .news-body div{
  color:#f8efe4 !important;
}
.news-card .news-body [style*="background-color"]{
  padding:.05em .15em;
  border-radius:.2em;
}
.news-card .news-body a{color:#e3a84e !important;text-decoration:underline;}

/* Final news body: default light text, but user inline colors from editor are allowed to win. */
.news-card .news-body{color:#f8efe4 !important;}
.news-card .news-body p,
.news-card .news-body li,
.news-card .news-body div,
.news-card .news-body span,
.news-card .news-body h1,
.news-card .news-body h2,
.news-card .news-body h3,
.news-card .news-body h4{color:inherit;}
.news-card .news-body [style*="background-color"]{padding:.05em .15em;border-radius:.2em;}

.media-library-list{display:grid;gap:10px;margin-top:12px}.media-row{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;background:#fff;color:#24170f;border:1px solid rgba(70,45,28,.22);border-radius:10px;padding:8px}.media-row img{width:72px;height:54px;object-fit:cover;border-radius:8px}.media-row audio{width:100%;max-width:360px}.media-row small{opacity:.75;white-space:nowrap}
@media(max-width:760px){.media-row{grid-template-columns:1fr}.media-row img{width:100%;height:auto}.media-row audio{max-width:100%}}


/* Admin media import visibility fix */
.admin-shell input,
.admin-shell textarea,
.admin-shell select,
.admin-shell option,
.admin-shell .admin-editor,
.admin-shell .status,
.admin-shell #uploadPreview,
.admin-shell #importResults,
.admin-shell #mediaList{
  background-color:#fffdf8 !important;
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
  caret-color:#24170f !important;
}
.admin-shell input::placeholder,
.admin-shell textarea::placeholder{
  color:#6c5847 !important;
  -webkit-text-fill-color:#6c5847 !important;
  opacity:1 !important;
}
.admin-shell select option{
  background:#fffdf8 !important;
  color:#24170f !important;
}
.admin-shell .page-hero,
.admin-shell .page-hero *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Public imported photo albums */
.photo-album-list{
  display:block !important;
}
.photo-album{
  margin:0 0 2.5rem;
}
.photo-album h2{
  margin:0 0 1rem;
}
.album-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:1rem;
}
.album-gallery a{
  display:block;
  border:1px solid #4a3a2d;
  border-radius:16px;
  overflow:hidden;
  background:#211c17;
}
.album-gallery img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:0;
}


.photo-gallery-search{
  margin:0 0 1.5rem;
  padding:1rem;
  border:1px solid var(--border,#4a3a2d);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.photo-gallery-search label{
  display:block;
  margin:0 0 .45rem;
  font-weight:800;
}
.photo-gallery-search-row{
  display:flex;
  gap:.75rem;
  align-items:center;
}
.photo-gallery-search input[type="search"]{
  flex:1;
  min-width:220px;
  padding:.85rem 1rem;
  border-radius:999px;
  border:1px solid var(--border,#d4b179);
  background:var(--panel,#fffdf8);
  color:var(--text,#24170f);
  font-weight:700;
}
.photo-gallery-search input[type="search"]::placeholder{
  color:#8a7d70;
  opacity:1;
}
.photo-gallery-search small{
  display:block;
  margin-top:.55rem;
  opacity:.8;
}
@media(max-width:640px){
  .photo-gallery-search-row{display:grid;grid-template-columns:1fr;}
  .photo-gallery-search input[type="search"]{min-width:0;width:100%;}
}

/* Media library selectable delete controls */
.media-library-list{display:block}.media-album{margin:16px 0 22px;border:1px solid rgba(70,45,28,.22);border-radius:14px;background:#fff;color:#24170f;padding:12px}.media-album-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.media-album-head h3{margin:0;color:#24170f}.selectable-media-row{grid-template-columns:90px 80px 1fr auto}.selectable-media-row:has(audio){grid-template-columns:90px 1fr minmax(220px,360px) auto}.media-select{font-weight:800;color:#24170f;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.media-select input{width:auto;accent-color:#d39a3a}.media-folder-select{background:#fff7e8;border:1px solid rgba(70,45,28,.24);border-radius:999px;padding:8px 12px}.admin-action.danger{background:#a82020;color:#fff;border-color:#a82020}

/* Admin readability hard fix */
.admin-shell,
.admin-shell * {
  color-scheme: light !important;
}
.admin-shell .page-hero,
.admin-shell .section,
.admin-shell .admin-panel,
.admin-shell .admin-item,
.admin-shell .card,
.admin-shell .status,
.admin-shell .admin-note,
.admin-shell .toolbar,
.admin-shell .admin-grid,
.admin-shell label,
.admin-shell p,
.admin-shell h1,
.admin-shell h2,
.admin-shell h3,
.admin-shell h4,
.admin-shell span,
.admin-shell div,
.admin-shell small,
.admin-shell strong,
.admin-shell code {
  color: #24170f !important;
  text-shadow: none !important;
}
.admin-shell .page-hero {
  background: #fff8ee !important;
  background-image: none !important;
}
.admin-shell .page-hero .eyebrow,
.admin-shell .page-hero h1,
.admin-shell .page-hero p {
  color: #24170f !important;
}
.admin-shell .admin-item,
.admin-shell .card,
.admin-shell .status,
.admin-shell .admin-note {
  background: #fffdf8 !important;
  border-color: #ead9bf !important;
}
.admin-shell input,
.admin-shell textarea,
.admin-shell select,
.admin-shell .admin-editor,
.admin-shell [contenteditable="true"] {
  background: #ffffff !important;
  color: #24170f !important;
  -webkit-text-fill-color: #24170f !important;
  caret-color: #24170f !important;
  text-shadow: none !important;
}
.admin-shell input::placeholder,
.admin-shell textarea::placeholder {
  color: #6f5b49 !important;
  -webkit-text-fill-color: #6f5b49 !important;
  opacity: 1 !important;
}
.admin-shell .admin-tabs button,
.admin-shell .admin-action,
.admin-shell .file-action {
  background: #ffffff !important;
  color: #24170f !important;
  -webkit-text-fill-color: #24170f !important;
  border: 1px solid #d7c1a2 !important;
  text-shadow: none !important;
}
.admin-shell .admin-tabs button.active,
.admin-shell .admin-action.primary {
  background: #c9913b !important;
  color: #130e0a !important;
  -webkit-text-fill-color: #130e0a !important;
}
.admin-shell .admin-action.danger,
.admin-shell .danger {
  background: #a82020 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.admin-shell a {
  color: #86550f !important;
  -webkit-text-fill-color: #86550f !important;
}
.admin-shell ::selection {
  background: #c9913b !important;
  color: #130e0a !important;
  -webkit-text-fill-color: #130e0a !important;
}

/* Media Library group selection controls */
.media-album-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.media-album-select-all{background:#fff;border:1px solid rgba(70,45,28,.24);border-radius:999px;padding:8px 12px}


/* Admin page display fix 2026-07-01 */
body.admin-page { background:#fff8ee !important; color:#24170f !important; color-scheme:light !important; }
body.admin-page::before { display:none !important; content:none !important; }
body.admin-page main, body.admin-page .admin-shell, body.admin-page .section, body.admin-page .admin-panel { background:#fff8ee !important; color:#24170f !important; }
body.admin-page .page-hero { background:#fff8ee !important; background-image:none !important; color:#24170f !important; border-radius:0 !important; }
body.admin-page .page-hero .eyebrow, body.admin-page .page-hero h1, body.admin-page .page-hero p { color:#24170f !important; -webkit-text-fill-color:#24170f !important; text-shadow:none !important; }
body.admin-page input, body.admin-page textarea, body.admin-page select, body.admin-page [contenteditable="true"], body.admin-page .admin-editor { background:#fff !important; color:#24170f !important; -webkit-text-fill-color:#24170f !important; caret-color:#24170f !important; }
body.admin-page input::placeholder, body.admin-page textarea::placeholder { color:#6f5b49 !important; -webkit-text-fill-color:#6f5b49 !important; opacity:1 !important; }

/* Music editor media picker controls */
.admin-page .path-picker-row{display:flex;gap:.5rem;align-items:center;width:100%;}
.admin-page .path-picker-row input{flex:1;min-width:0;}
.admin-page .admin-action.mini{padding:.65rem .9rem;white-space:nowrap;}
.admin-page .cover-entry{display:grid;grid-template-columns:minmax(220px,1fr) 120px;gap:1rem;align-items:end;}
.admin-page .cover-preview-box{width:120px;height:120px;border:1px solid #d7bd91;border-radius:14px;background:#fff;color:#24170f;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:.85rem;text-align:center;padding:.5rem;}
.admin-page .cover-preview-box img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;}
.admin-page .music-track-editor{align-items:end;margin-bottom:.75rem;}
.admin-page .media-picker-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem;}
.admin-page .media-picker-modal[hidden]{display:none!important;}
.admin-page .media-picker-panel{background:#fffaf1;color:#24170f;border:1px solid #d7bd91;border-radius:20px;max-width:1100px;width:min(96vw,1100px);max-height:88vh;overflow:auto;padding:1.25rem;box-shadow:0 20px 80px rgba(0,0,0,.35);}
.admin-page .media-picker-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;background:#fffaf1;padding-bottom:.75rem;z-index:2;}
.admin-page .media-picker-head h2{margin:0;color:#24170f;}
.admin-page .picker-album{margin:1rem 0 1.5rem;}
.admin-page .picker-album h3{color:#24170f;margin:.5rem 0;}
.admin-page .picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;}
.admin-page .picker-item{border:1px solid #d7bd91;border-radius:14px;background:#fff;color:#24170f;text-align:left;padding:.6rem;cursor:pointer;font:inherit;}
.admin-page .picker-item:hover{outline:3px solid rgba(202,143,55,.35);}
.admin-page .picker-item.image img{width:100%;height:120px;object-fit:cover;border-radius:10px;display:block;margin-bottom:.5rem;}
.admin-page .picker-item span{display:block;font-weight:700;word-break:break-word;font-size:.88rem;}
.admin-page .picker-item.audio audio{width:100%;margin-top:.5rem;}
@media (max-width:720px){.admin-page .cover-entry{grid-template-columns:1fr}.admin-page .cover-preview-box{width:100%;height:180px}.admin-page .path-picker-row{flex-direction:column;align-items:stretch}}

/* Media picker folder browser */
.media-picker-folder-wrap {
  display: block !important;
  margin: 0 0 18px 0;
  color: #24160f !important;
  font-weight: 800;
}
.media-picker-folder-wrap[hidden] {
  display: none !important;
}
.media-picker-folder {
  display: block;
  width: min(520px, 100%);
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid #d8b982;
  border-radius: 12px;
  background: #fffaf1 !important;
  color: #24160f !important;
  font-weight: 700;
}
.media-picker-folder option {
  color: #24160f !important;
  background: #fffaf1 !important;
}

/* Album pages generated from Admin → Music */
.album-detail {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: 2rem;
  align-items: start;
}
.album-cover-large {
  width: 100%;
  max-width: 280px;
  border-radius: 18px;
  border: 1px solid rgba(214,161,68,.35);
  object-fit: cover;
  background: #fffaf0;
}
.album-detail .track-list {
  display: grid;
  gap: 1rem;
}
.album-detail audio,
.album .track-list audio {
  width: 100%;
  margin-top: .35rem;
}
@media (max-width: 760px) {
  .album-detail { grid-template-columns: 1fr; }
}

/* Music page album summary cards: tracks live only on the individual album pages. */
.music-album-card {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:1rem;
  max-width:360px;
  margin-inline:auto;
  text-align:left;
}
.music-album-card .album-cover-link{
  display:block;
  text-decoration:none;
  cursor:default !important;
  -webkit-user-drag:none;
}
.music-album-card .album-cover-link::before,
.music-album-card .album-cover-link::after{
  content:none !important;
  display:none !important;
}
.music-album-card .album-cover,
.album-cover {
  width:100%;
  max-width:240px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(213,154,67,.55);
  background:#fffaf0;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  margin:0 auto;
  display:block;
  cursor:default !important;
  -webkit-user-drag:none;
  user-select:none;
  pointer-events:none;
}
.music-album-card h3{
  margin:.15rem 0 .25rem;
  line-height:1.18;
}
.music-album-card .album-meta{
  margin:.25rem 0 .65rem;
}
.music-album-card .album-description{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:.65rem 0 1rem;
}
.album-action-row{
  margin:1rem 0 0;
}
.music-album-card .button,
.album-listen-button{
  width:100%;
  min-height:48px;
  border-radius:14px !important;
  background:linear-gradient(180deg,#f0bc62 0%,#d59638 48%,#b87724 100%) !important;
  color:#1a100a !important;
  border:1px solid rgba(255,255,255,.35) !important;
  box-shadow:0 5px 0 #7a4d17,0 16px 26px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.5) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.32);
  transform:translateY(0);
  transition:transform .12s ease, box-shadow .12s ease;
  text-align:center;
}
.music-album-card .button:hover,
.album-listen-button:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 0 #7a4d17,0 20px 30px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.music-album-card .button:active,
.album-listen-button:active{
  transform:translateY(4px);
  box-shadow:0 1px 0 #7a4d17,0 8px 16px rgba(0,0,0,.26) !important;
}
@media (max-width:640px){
  .music-album-card{max-width:none;}
}


/* Trial Music workspace layout */
.music-workspace{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.music-workspace.empty{
  display:block;
  background:#fffdf8;
  border:1px solid #ead9bf;
  border-radius:18px;
  padding:1rem;
}
.music-album-sidebar{
  background:#fffdf8;
  border:1px solid #ead9bf;
  border-radius:18px;
  padding:1rem;
  position:sticky;
  top:92px;
}
.album-nav-list{
  min-height:0;
  overflow-y:auto;
  padding-right:.25rem;
  margin-right:-.25rem;
}
.album-sidebar-actions{
  display:grid;
  gap:.55rem;
  flex:0 0 auto;
  margin-top:.7rem;
}
.album-sidebar-actions .admin-action{
  width:100%;
  justify-content:center;
  margin:0;
}
.album-nav-item{
  width:100%;
  display:block;
  text-align:left;
  border:1px solid #dec39a;
  background:#fffaf1;
  color:#24170f;
  border-radius:14px;
  padding:.7rem .8rem;
  margin:.45rem 0;
  cursor:pointer;
  font-weight:800;
}
.album-nav-item small{display:block;color:#70533b;font-weight:700;}
.album-nav-item.active{
  background:linear-gradient(180deg,#dca34a,#bf812b);
  box-shadow:0 8px 0 #7a4d17,0 16px 26px rgba(36,23,15,.22);
  transform:translateY(-2px);
}
.music-detail-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}
.cover-preview-box.large{width:140px;min-width:140px;min-height:140px;}
.music-track-list{display:grid;gap:.85rem;margin-bottom:1rem;}
.music-track-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(280px,1.3fr);
  gap:1rem;
  align-items:end;
  border:1px solid #ead9bf;
  border-radius:16px;
  padding:1rem;
  background:#fffaf1;
}
.music-track-row audio{grid-column:1 / -1;width:100%;}
.music-track-row .danger{justify-self:start;}
@media(max-width:900px){.music-workspace{grid-template-columns:1fr}.music-album-sidebar{position:static}.music-track-row{grid-template-columns:1fr}.music-detail-head{display:block}.cover-preview-box.large{margin-top:1rem}}


/* Final public navigation refinement: subtle locked Admin link, never a gold CTA. */
.site-header nav a.admin-nav-link,
.site-header nav a.admin-nav-link:visited,
.site-header nav a.admin-nav-link.button,
.site-header nav a.admin-nav-link.button.small{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.25rem !important;
  color:rgba(255,255,255,.64) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  font-size:.84rem !important;
  font-weight:650 !important;
  letter-spacing:.01em !important;
  padding:.55rem .62rem !important;
  border-radius:999px !important;
  opacity:.76 !important;
}
.site-header nav a.admin-nav-link:hover,
.site-header nav a.admin-nav-link:focus{
  color:#fff !important;
  background:rgba(255,255,255,.07) !important;
  opacity:1 !important;
  outline:none !important;
}

/* Album detail pages: keep the hero title large, but make descriptions easier to read. */
.album-detail h2{
  font-size:clamp(1.5rem,2.4vw,2.1rem) !important;
  line-height:1.18 !important;
  margin-top:0 !important;
}
.album-detail p{
  font-size:1rem !important;
  line-height:1.55 !important;
  margin:.45rem 0 .85rem !important;
}
.album-detail > div > p:not(:first-of-type){
  font-size:.95rem !important;
  line-height:1.5 !important;
  color:#f3e6d4 !important;
}
.album-detail .track-list,
.album-detail .track-list *{
  font-size:.95rem !important;
}
.album-detail .track-list strong{
  font-size:1rem !important;
}

/* Music admin floating save controls */
.music-album-detail.has-floating-actions{
  position:relative;
  overflow:visible;
  padding-left:2.25rem;
}
.album-action-rail{
  position:sticky;
  top:96px;
  float:left;
  width:88px;
  margin-left:-7.25rem;
  margin-right:1rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  z-index:5;
}
.album-action-rail button,
.save-track-floating{
  border:1px solid #b5771e;
  background:linear-gradient(180deg,#e7b85e,#c98c31);
  color:#1e120a;
  box-shadow:0 5px 0 #7b4b15,0 12px 18px rgba(36,23,15,.22);
  border-radius:16px;
  font-weight:900;
  cursor:pointer;
  line-height:1.1;
}
.album-action-rail button{
  width:88px;
  min-height:58px;
  padding:.55rem .45rem;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.25rem;
}
.album-action-rail button span{font-size:.72rem;}
.album-action-rail .album-add-track-button{
  background:#fffdf8;
  box-shadow:0 4px 0 #d9bd91,0 10px 16px rgba(36,23,15,.12);
}
.album-action-rail button:hover,
.save-track-floating:hover{
  transform:translateY(-1px);
}
.album-action-rail button:active,
.save-track-floating:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 #7b4b15,0 6px 10px rgba(36,23,15,.2);
}
.album-action-rail button.saved,
.save-track-floating.saved{
  background:linear-gradient(180deg,#74d28a,#2f9d52);
  border-color:#26783f;
  box-shadow:0 5px 0 #1e6333,0 12px 18px rgba(36,23,15,.18);
  color:#fff;
}
.album-action-rail button.saving,
.save-track-floating.saving{
  opacity:.8;
  cursor:wait;
}
.music-track-row{
  position:relative;
  overflow:visible;
  margin-left:1.5rem;
}
.save-track-floating{
  position:absolute;
  left:-3.15rem;
  top:1rem;
  width:42px;
  min-height:46px;
  padding:.35rem .2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.1rem;
}
.save-track-floating small{
  display:block;
  font-size:.62rem;
  font-weight:900;
}
@media(max-width:1100px){
  .music-album-detail.has-floating-actions{padding-left:1rem;}
  .album-action-rail{
    float:none;
    width:auto;
    margin:0 0 1rem 0;
    flex-direction:row;
    position:sticky;
    top:72px;
  }
  .album-action-rail button{width:auto;min-height:44px;padding:.55rem .8rem;flex-direction:row;}
  .music-track-row{margin-left:0;padding-top:3.5rem;}
  .save-track-floating{left:1rem;top:.75rem;width:auto;min-height:36px;padding:.35rem .7rem;flex-direction:row;}
}

/* Right-side floating album controls: keeps save controls clear of the album list/editor */
.music-album-detail.has-floating-actions{
  padding-left:1.5rem !important;
  padding-right:1.5rem !important;
}
.album-action-rail{
  position:fixed !important;
  top:190px !important;
  right:22px !important;
  left:auto !important;
  float:none !important;
  width:118px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:.7rem !important;
  z-index:9999 !important;
  pointer-events:auto !important;
}
.album-action-rail button{
  width:118px !important;
  min-height:54px !important;
  border-radius:18px !important;
  padding:.6rem .65rem !important;
}
.album-action-rail button span{
  font-size:.76rem !important;
}
.music-track-row{
  margin-left:0 !important;
  padding-left:0 !important;
}
.save-track-floating{
  display:none !important;
}
@media(max-width:1250px){
  .album-action-rail{
    right:10px !important;
    width:102px !important;
  }
  .album-action-rail button{
    width:102px !important;
  }
}
@media(max-width:900px){
  .album-action-rail{
    position:sticky !important;
    top:70px !important;
    right:auto !important;
    width:100% !important;
    flex-direction:row !important;
    margin:0 0 1rem 0 !important;
  }
  .album-action-rail button{
    width:auto !important;
    min-height:44px !important;
    flex-direction:row !important;
  }
}

/* Calendar workspace admin layout: matches Music/Media admin workflow */
.calendar-workspace{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.calendar-workspace.empty{
  display:block;
  background:#fffdf8;
  border:1px solid #ead9bf;
  border-radius:18px;
  padding:1rem;
}
.calendar-show-sidebar{
  position:sticky;
  top:86px;
  background:#fffdf8;
  color:#24170f;
  border:1px solid #ead9bf;
  border-radius:18px;
  padding:1rem;
  box-shadow:0 12px 30px rgba(53,31,14,.05);
}
.calendar-show-sidebar h3{
  margin:.25rem 0 1rem;
  color:#24170f;
}
.show-nav-list{
  min-height:0;
  overflow-y:auto;
  padding-right:.25rem;
  margin-right:-.25rem;
}
.calendar-sidebar-actions{
  display:grid;
  gap:.55rem;
  flex:0 0 auto;
  margin-top:.7rem;
}
.calendar-sidebar-actions .admin-action{
  width:100%;
  justify-content:center;
  margin:0;
}
.show-nav-item{
  width:100%;
  display:block;
  text-align:left;
  border:1px solid #e2cda8;
  background:#fffaf1;
  color:#24170f;
  border-radius:14px;
  padding:.75rem .85rem;
  margin:.45rem 0;
  cursor:pointer;
  font-weight:800;
}
.show-nav-item.active{
  background:#d39a3a;
  color:#1a100a;
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.16);
}
.show-nav-item small,
.show-nav-date,
.show-nav-title{
  display:block;
}
.show-nav-date{
  font-size:.78rem;
  letter-spacing:.04em;
  opacity:.82;
}
.show-nav-title{
  margin:.15rem 0;
}
.show-nav-item small{
  font-size:.78rem;
  font-weight:700;
  opacity:.86;
}
.calendar-show-detail{
  position:relative;
  overflow:visible;
  padding-right:1.5rem !important;
}
.calendar-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.calendar-detail-head h2{
  font-family:Georgia,serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
  margin:.25rem 0 .6rem;
  color:#24170f;
}
.calendar-date-badge{
  min-width:120px;
  text-align:center;
  border:1px solid #e2cda8;
  background:#fff7e8;
  border-radius:18px;
  padding:.75rem;
  color:#24170f;
}
.calendar-date-badge strong,
.calendar-date-badge small{
  display:block;
}
.calendar-date-badge small{
  color:#6b4b2f;
  font-weight:800;
  margin-top:.25rem;
}
.calendar-action-rail{
  position:fixed;
  top:190px;
  right:22px;
  width:118px;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  z-index:9998;
}
.calendar-action-rail button{
  width:118px;
  min-height:54px;
  border:1px solid #b87924;
  border-radius:18px;
  background:linear-gradient(180deg,#e9b95b,#c98d2e);
  color:#1a100a;
  box-shadow:0 5px 0 #8c5a1e,0 12px 18px rgba(36,23,15,.18);
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.15rem;
}
.calendar-action-rail button:hover{
  transform:translateY(-1px);
}
.calendar-action-rail button:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 #7b4b15,0 6px 10px rgba(36,23,15,.2);
}
.calendar-action-rail button.saved{
  background:linear-gradient(180deg,#74d28a,#2f9d52);
  border-color:#26783f;
  box-shadow:0 5px 0 #1e6333,0 12px 18px rgba(36,23,15,.18);
  color:#fff;
}
.calendar-action-rail button.saving{
  opacity:.82;
  cursor:wait;
}
.calendar-action-rail button span{
  font-size:.76rem;
}
.calendar-show-grid input,
.calendar-show-detail textarea{
  background:#fff;
  color:#24170f;
}
@media(max-width:1250px){
  .calendar-action-rail{right:10px;width:102px;}
  .calendar-action-rail button{width:102px;}
}
@media(max-width:900px){
  .calendar-workspace{grid-template-columns:1fr;}
  .calendar-show-sidebar{position:static;}
  .calendar-detail-head{display:block;}
  .calendar-date-badge{margin:1rem 0;text-align:left;}
  .calendar-action-rail{position:sticky;top:70px;right:auto;width:100%;flex-direction:row;margin:0 0 1rem;}
  .calendar-action-rail button{width:auto;min-height:44px;flex-direction:row;padding:.55rem .85rem;}
}

/* Links workspace admin layout: matches Music, Photos, and Calendar workspaces */
.links-workspace{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.links-workspace.empty{
  display:block;
  background:#fffdf8;
  border:1px solid #ead9bf;
  border-radius:18px;
  padding:1rem;
}
.links-sidebar{
  position:sticky;
  top:86px;
  background:#fffdf8;
  color:#24170f;
  border:1px solid #ead9bf;
  border-radius:18px;
  padding:1rem;
  box-shadow:0 12px 30px rgba(53,31,14,.05);
}
.links-sidebar h3{margin:.25rem 0 1rem;color:#24170f;}
.links-nav-list{
  min-height:0;
  overflow-y:auto;
  padding-right:.25rem;
  margin-right:-.25rem;
}
.links-sidebar-actions{
  display:grid;
  gap:.55rem;
  flex:0 0 auto;
  margin-top:.7rem;
}
.links-sidebar-actions .admin-action{
  width:100%;
  justify-content:center;
  margin:0;
}
.link-nav-item{
  width:100%;
  display:block;
  text-align:left;
  border:1px solid #e2cda8;
  background:#fffaf1;
  color:#24170f;
  border-radius:14px;
  padding:.75rem .85rem;
  margin:.45rem 0;
  cursor:pointer;
  font-weight:800;
}
.link-nav-item span,.link-nav-item small{display:block;}
.link-nav-item small{font-size:.78rem;font-weight:700;opacity:.8;margin-top:.18rem;}
.link-nav-item.active{
  background:#d39a3a;
  color:#1a100a;
  box-shadow:inset 0 -4px 0 rgba(0,0,0,.16);
}
.link-detail{
  position:relative;
  overflow:visible;
  padding-right:1.5rem !important;
}
.link-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.link-detail-head h2{
  font-family:Georgia,serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
  margin:.25rem 0 .6rem;
  color:#24170f;
}
.link-url-preview{
  min-width:145px;
  text-align:center;
  border:1px solid #e2cda8;
  background:#fff7e8;
  border-radius:18px;
  padding:.75rem;
  color:#24170f;
  font-weight:800;
}
.link-url-preview a{color:#24170f;text-decoration:none;}
.link-url-preview a:hover{text-decoration:underline;}
.links-action-rail{
  position:fixed;
  top:190px;
  right:22px;
  width:118px;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  z-index:9998;
}
.links-action-rail button{
  width:118px;
  min-height:54px;
  border:1px solid #b87924;
  border-radius:18px;
  background:linear-gradient(180deg,#e9b95b,#c98d2e);
  color:#1a100a;
  box-shadow:0 5px 0 #8c5a1e,0 12px 18px rgba(36,23,15,.18);
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.15rem;
}
.links-action-rail button:hover{transform:translateY(-1px);}
.links-action-rail button:active{transform:translateY(3px);box-shadow:0 2px 0 #7b4b15,0 6px 10px rgba(36,23,15,.2);}
.links-action-rail button.saved{background:linear-gradient(180deg,#74d28a,#2f9d52);border-color:#26783f;box-shadow:0 5px 0 #1e6333,0 12px 18px rgba(36,23,15,.18);color:#fff;}
.links-action-rail button.saving{opacity:.82;cursor:wait;}
.links-action-rail button span{font-size:.76rem;}
.links-grid input,
.link-detail textarea,
.link-detail select{background:#fff;color:#24170f;}
@media(max-width:1250px){.links-action-rail{right:10px;width:102px}.links-action-rail button{width:102px}}
@media(max-width:900px){
  .links-workspace{grid-template-columns:1fr;}
  .links-sidebar{position:static;}
  .link-detail-head{display:block;}
  .link-url-preview{margin:1rem 0;text-align:left;}
  .links-action-rail{position:sticky;top:70px;right:auto;width:100%;flex-direction:row;margin:0 0 1rem;}
  .links-action-rail button{width:auto;min-height:44px;flex-direction:row;padding:.55rem .85rem;}
}

/* Public feedback/comments page */
.feedback-section .feedback-form-card input,
.feedback-section .feedback-form-card textarea{
  background:#fff;
  color:#24170f;
  border:1px solid #d9bd8d;
}
.comments-list{
  display:grid;
  gap:1rem;
}
.comment-card{
  background:#fffdf8;
  color:#24170f;
  border-left:5px solid #d39a3a;
}
.comment-meta{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  margin-bottom:.6rem;
  color:#24170f;
}
.comment-meta span{
  color:#6f5435;
  font-size:.9rem;
  font-weight:700;
}
.comment-card p{
  white-space:pre-wrap;
  margin-bottom:0;
}
@media(max-width:760px){.comment-meta{display:block}.comment-meta span{display:block;margin-top:.2rem}}

/* System theme support: render light/dark based on the visitor's local computer setting. */
:root{
  color-scheme: light dark !important;
  --site-bg:#fff8ee;
  --site-paper:#fff8ee;
  --site-card:#fffdf8;
  --site-card-border:#ead9bf;
  --site-ink:#24170f;
  --site-muted:#6a5240;
  --site-link:#86550f;
  --site-header:#130e0a;
  --site-hero:#24170f;
  --site-hero-text:#ffffff;
  --site-accent:#c9913b;
  --site-accent-text:#130e0a;
  --site-field-bg:#ffffff;
  --site-field-text:#24170f;
}
html,
body{
  color-scheme: light dark !important;
  background:var(--site-bg) !important;
  color:var(--site-ink) !important;
}
body::before{
  background:var(--site-hero) !important;
  background-image:linear-gradient(180deg,#130e0a 0%,#2a1b11 100%) !important;
}
main,
.section,
.admin-shell,
body.admin-page,
body.admin-page main,
body.admin-page .admin-shell,
body.admin-page .section,
body.admin-page .admin-panel{
  background:var(--site-bg) !important;
  color:var(--site-ink) !important;
}
.site-header,
footer{
  background:var(--site-header) !important;
  color:var(--site-hero-text) !important;
}
.hero,
.page-hero,
body.admin-page .page-hero{
  background:var(--site-hero) !important;
  background-image:linear-gradient(180deg,#1a100a 0%,#2a1b11 100%) !important;
  color:var(--site-hero-text) !important;
}
body.admin-page .page-hero .eyebrow,
body.admin-page .page-hero h1,
body.admin-page .page-hero p,
.hero h1,.hero h2,.hero h3,.hero p,
.page-hero h1,.page-hero h2,.page-hero h3,.page-hero p{
  color:var(--site-hero-text) !important;
  -webkit-text-fill-color:var(--site-hero-text) !important;
}
.section h1,.section h2,.section h3,.section h4,.section h5,.section h6,
.card h1,.card h2,.card h3,.card h4,.card h5,.card h6,
.admin-item h1,.admin-item h2,.admin-item h3,.admin-item h4,
.admin-shell h1,.admin-shell h2,.admin-shell h3,.admin-shell h4{
  color:var(--site-ink) !important;
  -webkit-text-fill-color:var(--site-ink) !important;
}
.section p,.section li,.section div,.section span,
.card p,.card li,.card div,.card span,
.show-card p,.show-card li,.show-card div,.show-card span,
.admin-shell label,.admin-shell p,.admin-shell span,.admin-shell div,.admin-shell small,.admin-shell strong,
.comment-card p,.comment-card div,.comment-card span{
  color:var(--site-ink) !important;
  -webkit-text-fill-color:var(--site-ink) !important;
}
.card,
.show-card,
.news-card,
.audio-placeholder,
.notice,
.admin-item,
.admin-note,
.status,
.comment-card,
.media-album,
.calendar-show-sidebar,
.links-sidebar,
.music-album-sidebar,
.music-workspace.empty,
.calendar-workspace.empty,
.links-workspace.empty{
  background:var(--site-card) !important;
  color:var(--site-ink) !important;
  border-color:var(--site-card-border) !important;
}
a:not(.button):not(.admin-action){
  color:var(--site-link) !important;
}
.button,
a.button,
.button:visited,
.album-listen-button{
  background:var(--site-accent) !important;
  color:var(--site-accent-text) !important;
  -webkit-text-fill-color:var(--site-accent-text) !important;
}
input,
textarea,
select,
option,
.admin-editor,
[contenteditable="true"]{
  background:var(--site-field-bg) !important;
  color:var(--site-field-text) !important;
  -webkit-text-fill-color:var(--site-field-text) !important;
  border-color:var(--site-card-border) !important;
  caret-color:var(--site-field-text) !important;
}
input::placeholder,
textarea::placeholder{
  color:var(--site-muted) !important;
  -webkit-text-fill-color:var(--site-muted) !important;
}
.legacy-note,
.muted,
.comment-meta span,
.album-meta,
.show-nav-date,
.link-nav-item small{
  color:var(--site-muted) !important;
  -webkit-text-fill-color:var(--site-muted) !important;
}

@media (prefers-color-scheme: dark){
  :root{
    --site-bg:#1c1a15;
    --site-paper:#1c1a15;
    --site-card:#211c17;
    --site-card-border:#4a3a2d;
    --site-ink:#f8efe4;
    --site-muted:#d8c8b8;
    --site-link:#e3a84e;
    --site-header:#130e0a;
    --site-hero:#25130b;
    --site-hero-text:#ffffff;
    --site-accent:#d99b43;
    --site-accent-text:#130e0a;
    --site-field-bg:#fffdf8;
    --site-field-text:#24170f;
  }
  body::before{
    background:#1c0f09 !important;
    background-image:linear-gradient(180deg,#110b07 0%,#25130b 100%) !important;
  }
  .hero,
  .page-hero,
  body.admin-page .page-hero{
    background:#25130b !important;
    background-image:linear-gradient(180deg,#1a0f09 0%,#2a160d 100%) !important;
  }
  .button.secondary{
    background:#080808 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }
}

/* Admin readability hard fix: public site follows system theme, admin stays readable */
html:has(body.admin-page),
body.admin-page{
  color-scheme: light !important;
  --site-bg:#fff8ee !important;
  --site-paper:#fff8ee !important;
  --site-card:#fffdf8 !important;
  --site-card-border:#d9bd91 !important;
  --site-ink:#24170f !important;
  --site-muted:#6f5b49 !important;
  --site-link:#7a4d10 !important;
  --site-header:#130e0a !important;
  --site-hero:#fff8ee !important;
  --site-hero-text:#24170f !important;
  --site-accent:#d39a3a !important;
  --site-accent-text:#130e0a !important;
  --site-field-bg:#ffffff !important;
  --site-field-text:#130e0a !important;
  background:#fff8ee !important;
  color:#24170f !important;
}
body.admin-page::before{display:none!important;content:none!important;background:none!important;}
body.admin-page main,
body.admin-page .admin-shell,
body.admin-page .section,
body.admin-page .admin-panel,
body.admin-page .toolbar{
  background:#fff8ee !important;
  color:#24170f !important;
}
body.admin-page .page-hero{
  background:#fff8ee !important;
  background-image:none !important;
  color:#24170f !important;
  border:0 !important;
  box-shadow:none !important;
}
body.admin-page .page-hero *,
body.admin-page .admin-shell h1,
body.admin-page .admin-shell h2,
body.admin-page .admin-shell h3,
body.admin-page .admin-shell h4,
body.admin-page .admin-shell h5,
body.admin-page .admin-shell h6,
body.admin-page .admin-shell label,
body.admin-page .admin-shell p,
body.admin-page .admin-shell li,
body.admin-page .admin-shell span,
body.admin-page .admin-shell div,
body.admin-page .admin-shell small,
body.admin-page .admin-shell strong,
body.admin-page .admin-shell code{
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
  text-shadow:none !important;
}
body.admin-page .admin-item,
body.admin-page .card,
body.admin-page .admin-note,
body.admin-page .status,
body.admin-page .notice,
body.admin-page .music-album-sidebar,
body.admin-page .calendar-show-sidebar,
body.admin-page .links-sidebar,
body.admin-page .music-detail,
body.admin-page .calendar-show-detail,
body.admin-page .link-detail,
body.admin-page .music-workspace.empty,
body.admin-page .calendar-workspace.empty,
body.admin-page .links-workspace.empty,
body.admin-page .media-album,
body.admin-page .selectable-media-row,
body.admin-page .picker-item{
  background:#fffdf8 !important;
  color:#24170f !important;
  border-color:#d9bd91 !important;
}
body.admin-page input,
body.admin-page textarea,
body.admin-page select,
body.admin-page option,
body.admin-page .admin-editor,
body.admin-page [contenteditable="true"]{
  background:#ffffff !important;
  color:#130e0a !important;
  -webkit-text-fill-color:#130e0a !important;
  border-color:#d9bd91 !important;
  caret-color:#130e0a !important;
}
body.admin-page input::placeholder,
body.admin-page textarea::placeholder{
  color:#6f5b49 !important;
  -webkit-text-fill-color:#6f5b49 !important;
  opacity:1 !important;
}
body.admin-page .admin-tabs button,
body.admin-page .admin-action,
body.admin-page .file-action{
  background:#ffffff !important;
  color:#130e0a !important;
  -webkit-text-fill-color:#130e0a !important;
  border:1px solid #d9bd91 !important;
  box-shadow:none;
}
body.admin-page .admin-tabs button.active,
body.admin-page .admin-action.primary,
body.admin-page .show-nav-item.active,
body.admin-page .music-album-nav.active,
body.admin-page .link-nav-item.active{
  background:#d39a3a !important;
  color:#130e0a !important;
  -webkit-text-fill-color:#130e0a !important;
}
body.admin-page .admin-action.danger,
body.admin-page .danger{
  background:#a82020 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:#a82020 !important;
}
body.admin-page .legacy-note,
body.admin-page .muted,
body.admin-page .show-nav-date,
body.admin-page .show-nav-title,
body.admin-page .show-nav-venue,
body.admin-page .music-album-nav small,
body.admin-page .link-nav-item small{
  color:#5f4b39 !important;
  -webkit-text-fill-color:#5f4b39 !important;
}
body.admin-page a:not(.button):not(.admin-action){
  color:#7a4d10 !important;
  -webkit-text-fill-color:#7a4d10 !important;
}

/* Booking form readability and direct email workflow */
.form input,
.form textarea,
.form select,
.booking-form input,
.booking-form textarea,
.booking-form select {
  color:#2b2017 !important;
  background:#fffdf9 !important;
  border:1px solid #d7c1a2 !important;
  caret-color:#2b2017 !important;
}
.form input::placeholder,
.form textarea::placeholder,
.booking-form input::placeholder,
.booking-form textarea::placeholder {
  color:#8a7d70 !important;
  opacity:1 !important;
}
.form label,
.booking-form label {
  color:#fffaf0;
  font-weight:800;
}
.card .form label,
.card .booking-form label {
  color:#24170f !important;
}
.hp-field {
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.form-help {
  color:#6c5946 !important;
  font-size:.95rem;
  margin:.25rem 0 0;
}
.booking-result ul {
  margin-top:.5rem;
}
.booking-admin-head {
  display:grid;
  grid-template-columns:1fr minmax(160px,220px);
  gap:1rem;
  align-items:start;
}
.booking-admin-card textarea,
.booking-admin-card select {
  color:#24170f !important;
  background:#fffdf9 !important;
}
@media(max-width:800px){.booking-admin-head{grid-template-columns:1fr}}

/* Theme manager admin workspace */
.theme-workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:start}.theme-sidebar{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto;background:#fffdf8;border:1px solid #d9bd91;border-radius:18px;padding:1rem;display:grid;gap:.65rem;color:#24170f;scrollbar-gutter:stable}.theme-preset{border:1px solid #d9bd91;background:#fff;color:#24170f;border-radius:14px;padding:.75rem .9rem;font-weight:800;text-align:left;cursor:pointer}.theme-detail{min-width:0}.theme-detail-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start}.theme-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.theme-color-grid label{display:grid;gap:.35rem}.theme-color-grid input[type=color]{height:44px;padding:4px;cursor:pointer}.theme-preview-card{border:1px solid var(--p-border,#d9bd91);border-radius:18px;overflow:hidden;background:var(--p-card,#fffdf8);color:var(--p-ink,#24170f);box-shadow:0 14px 38px rgba(53,31,14,.12)}.theme-preview-hero{background:var(--p-hero,#24170f);color:var(--p-hero-text,#fff);padding:1rem;font-family:Georgia,serif;font-size:1.6rem;font-weight:800}.theme-preview-body{padding:1rem}.theme-preview-body p{color:var(--p-ink,#24170f)!important;margin:.25rem 0 1rem}.theme-preview-body button{border:0;border-radius:999px;background:var(--p-accent,#c9913b);color:var(--p-accent-text,#130e0a);padding:.7rem 1rem;font-weight:900}.theme-export-box{width:100%;min-height:180px;margin-top:1rem;font-family:ui-monospace,Consolas,monospace}@media(max-width:900px){.theme-workspace,.theme-detail-head{grid-template-columns:1fr}.theme-sidebar{position:static;max-height:none;overflow:visible}.theme-color-grid{grid-template-columns:1fr}}

/* About editor workspace */
.about-workspace{display:grid;grid-template-columns:1fr;gap:1rem;}
.about-detail{position:relative;overflow:visible;}
.about-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1rem;}
.about-photo-preview{width:140px;min-width:140px;height:140px;display:flex;align-items:center;justify-content:center;text-align:center;color:#24170f;background:#fffdf8;border:1px solid #ead9bf;border-radius:16px;overflow:hidden;}
.about-photo-preview img{width:100%;height:100%;object-fit:cover;display:block;}
.about-editor{min-height:360px;background:#fffdf8!important;color:#24170f!important;border:1px solid #d6bd98;border-radius:14px;padding:1rem;}
.about-editor *{color:inherit;}
.about-action-rail{position:fixed;right:24px;top:40%;z-index:20;display:flex;flex-direction:column;gap:.5rem;}
.about-action-rail button{border:1px solid rgba(65,43,22,.25);background:linear-gradient(#e3ad52,#c89136);color:#130e0a;border-radius:16px;padding:.8rem .9rem;font-weight:800;box-shadow:0 8px 0 rgba(70,43,12,.45),0 14px 22px rgba(0,0,0,.18);cursor:pointer;}
.about-action-rail button span{display:block;font-size:.78rem;}
.admin-page #theme.admin-panel.active{display:block!important;}
.admin-page #themeEditor:empty::before{content:'Loading Appearance editor...';display:block;padding:1rem;color:#24170f;background:#fffdf8;border:1px solid #ead9bf;border-radius:12px;}
@media(max-width:1000px){.about-action-rail{position:static;flex-direction:row;margin-bottom:1rem}.about-detail-head{flex-direction:column}.about-photo-preview{width:180px;height:180px}}

/* Admin password manager */
.admin-page #password .password-settings,
.admin-page .password-change-form {
  color: #24170f;
}
.admin-page #password input {
  background: #fffdf9;
  color: #24170f;
  border-color: #d7b77b;
}
.admin-page #password input::placeholder {
  color: #796a5d;
  opacity: 1;
}

/* Password manager show/hide controls */
.admin-page .password-eye-wrap {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}
.admin-page .password-eye-wrap input {
  flex: 1 1 auto;
  min-width: 0;
}
.admin-page .password-eye-btn {
  flex: 0 0 auto;
  min-width: 52px;
  border: 1px solid var(--jw-border, #d5b37a);
  border-radius: 14px;
  background: #fffdf8;
  color: #2b2017;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 800;
  padding: 0 12px;
}
.admin-page .password-eye-btn:hover,
.admin-page .password-eye-btn:focus {
  background: var(--jw-accent, #d9a341);
  color: #1f160f;
  outline: 2px solid rgba(217,163,65,.35);
  outline-offset: 2px;
}


/* Email settings wizard */
.admin-page .settings-dashboard{color:#24170f;background:#fffdf8!important;}
.admin-page .settings-head{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1rem;align-items:start;margin-bottom:1rem;}
.admin-page .mail-status-card{background:#f8efe2;border:1px solid #d7b77b;border-radius:18px;padding:1rem;display:grid;gap:.35rem;color:#24170f;}
.admin-page .mail-status-card span{font-weight:900;color:#5d3512;}
.admin-page .settings-section{background:#fffaf2;border:1px solid #ead9bf;border-radius:18px;padding:1rem;margin:1rem 0;color:#24170f;}
.admin-page .settings-section h3{margin-top:0;color:#24170f;}
.admin-page .settings-section label span{display:block;font-weight:800;color:#24170f;margin-bottom:.2rem;}
.admin-page .settings-section label small,.admin-page .field-help{display:block;color:#5e5044!important;font-size:.9rem;line-height:1.35;margin:.25rem 0 .45rem;}
.admin-page .settings-section input,.admin-page .settings-section select,.admin-page .settings-section textarea{background:#fffdf9!important;color:#24170f!important;border-color:#d7b77b!important;}
.admin-page .settings-section input::placeholder{color:#7f7166!important;opacity:1;}
.admin-page .provider-help{background:#fff3d8;border-left:5px solid #c9913b;border-radius:12px;padding:.85rem 1rem;color:#24170f;font-weight:700;}
.admin-page .settings-checks .check-row{background:#fffdf8;border:1px solid #ead9bf;border-radius:14px;padding:.75rem;}
@media(max-width:900px){.admin-page .settings-head{grid-template-columns:1fr;}}

/* Inline save result feedback on admin action buttons */
body.admin-page .admin-action.is-saving,
body.admin-page .admin-action.primary.is-saving {
  opacity: .78;
  cursor: wait;
  filter: saturate(.85);
}
body.admin-page .admin-action.is-saved,
body.admin-page .admin-action.primary.is-saved {
  background: linear-gradient(180deg,#77d88c,#2f9d52) !important;
  color: #fff !important;
  border-color: #26783f !important;
  box-shadow: 0 4px 0 #1e6333, 0 10px 18px rgba(36,23,15,.18) !important;
}
body.admin-page .admin-action.is-error,
body.admin-page .admin-action.primary.is-error {
  background: linear-gradient(180deg,#d95b5b,#a82020) !important;
  color: #fff !important;
  border-color: #8b1e1e !important;
  box-shadow: 0 4px 0 #741414, 0 10px 18px rgba(36,23,15,.18) !important;
}

/* SMTP setup diagnostic output */
.smtp-test-details {
  margin-top: 12px;
  padding: 12px;
  border-radius: 12px;
  background: #1f2933;
  color: #e7edf5;
  border: 1px solid rgba(255,255,255,.18);
  white-space: pre-wrap;
  font-size: .9rem;
  line-height: 1.45;
  max-height: 260px;
  overflow: auto;
}
.settings-section .check-row {
  align-items: center;
}

/* Admin SMTP log readability hard fix */
body.admin-page .smtp-test-details,
body.admin-page pre.smtp-test-details,
body.admin-page #settingsTestDetails {
  background: #101923 !important;
  color: #f7fbff !important;
  border-color: #425161 !important;
  text-shadow: none !important;
  caret-color: #ffffff !important;
  font-family: Consolas, Monaco, 'Courier New', monospace !important;
  font-weight: 600 !important;
}
body.admin-page .smtp-test-details *,
body.admin-page #settingsTestDetails * {
  color: #f7fbff !important;
  background: transparent !important;
  text-shadow: none !important;
}
body.admin-page .smtp-test-details::selection,
body.admin-page #settingsTestDetails::selection {
  background: #d8a13f !important;
  color: #101923 !important;
}


/* SMTP log final readability fix: force real foreground color even under theme variables/browser dark mode */
body.admin-page pre#settingsTestDetails.smtp-test-details,
body.admin-page #settingsTestDetails.smtp-test-details {
  display: block;
  background: #0b1220 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #53657a !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  font-family: Consolas, Monaco, "Courier New", monospace !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  letter-spacing: .01em !important;
}
body.admin-page pre#settingsTestDetails.smtp-test-details[hidden] {
  display: none !important;
}
body.admin-page pre#settingsTestDetails.smtp-test-details * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
  text-shadow: none !important;
}
body.admin-page pre#settingsTestDetails.smtp-test-details::selection {
  background: #d8a13f !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

/* Admin v1.0 polish */
body.admin-page .admin-table{width:100%;border-collapse:collapse;background:#fffdf8;color:#24170f;border:1px solid #ead9bf;border-radius:14px;overflow:hidden}
body.admin-page .admin-table th,body.admin-page .admin-table td{padding:10px 12px;border-bottom:1px solid #ead9bf;text-align:left;vertical-align:top;color:#24170f}
body.admin-page .admin-table th{background:#f7eddf;font-weight:800}
body.admin-page .admin-table tr:last-child td{border-bottom:0}
body.admin-page code{background:#f7eddf;color:#24170f;padding:.15rem .35rem;border-radius:6px}

/* Public photo gallery slideshow/lightbox */
body.lightbox-open{overflow:hidden}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:9999;color:#fff}
.photo-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,6,4,.88);backdrop-filter:blur(6px)}
.photo-lightbox-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto auto;min-height:100dvh;padding:clamp(.75rem,2vw,1.5rem);gap:.75rem}
.photo-lightbox-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:.75rem 1rem;box-shadow:0 18px 60px rgba(0,0,0,.2)}
.photo-lightbox-topbar strong{font-size:1.05rem;color:#fff}.photo-lightbox-topbar span{color:#ead9bf}
.photo-lightbox-close{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;border-radius:999px;width:44px;height:44px;font-size:2rem;line-height:1;cursor:pointer}
.photo-lightbox-close:hover,.photo-lightbox-nav:hover{background:rgba(255,255,255,.2)}
.photo-lightbox-figure{margin:0;min-height:0;display:grid;place-items:center;text-align:center;align-content:center;gap:.6rem}
.photo-lightbox-figure img{max-width:min(96vw,1400px);max-height:calc(100dvh - 230px);object-fit:contain;border-radius:14px;box-shadow:0 25px 90px rgba(0,0,0,.45);background:#111}
.photo-lightbox-figure figcaption{color:#ead9bf;font-size:.95rem;word-break:break-word;max-width:92vw}
.photo-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:54px;height:74px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.35);color:#fff;border-radius:999px;font-size:3rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.photo-lightbox-prev{left:clamp(.4rem,2vw,1.2rem)}.photo-lightbox-next{right:clamp(.4rem,2vw,1.2rem)}
.photo-lightbox-controls{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.photo-lightbox-controls .button{box-shadow:0 12px 32px rgba(0,0,0,.25)}
.photo-lightbox-filmstrip{display:flex;gap:.55rem;overflow-x:auto;padding:.45rem .25rem .65rem;scrollbar-color:#d8a13f rgba(255,255,255,.1)}
.photo-lightbox-filmstrip button{flex:0 0 auto;width:76px;height:76px;padding:3px;border-radius:12px;border:2px solid transparent;background:rgba(255,255,255,.12);cursor:pointer;opacity:.72}
.photo-lightbox-filmstrip button.active{border-color:#d8a13f;opacity:1;background:rgba(216,161,63,.22)}
.photo-lightbox-filmstrip img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}
.album-gallery a{cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}.album-gallery a:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.22);border-color:#d8a13f}
@media(max-width:700px){.photo-lightbox-nav{display:none}.photo-lightbox-figure img{max-height:calc(100dvh - 250px)}.photo-lightbox-filmstrip button{width:62px;height:62px}.photo-lightbox-topbar{align-items:flex-start}.photo-lightbox-topbar div{display:grid}}

/* Gallery lightbox viewport fit fix: keep thumbnail filmstrip visible above bottom edge */
.photo-lightbox,
.photo-lightbox * {
  box-sizing: border-box;
}
.photo-lightbox-panel {
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  padding-bottom: max(.75rem, env(safe-area-inset-bottom));
}
.photo-lightbox-figure {
  min-height: 0;
  overflow: hidden;
}
.photo-lightbox-figure img {
  max-height: min(72dvh, calc(100dvh - 315px));
}
.photo-lightbox-filmstrip {
  max-height: 98px;
  min-height: 88px;
  overflow-x: auto;
  overflow-y: hidden;
  align-items: center;
  padding-bottom: .55rem;
}
.photo-lightbox-controls {
  flex-shrink: 0;
}
@media (max-height: 760px) {
  .photo-lightbox-panel { gap: .45rem; padding-top: .6rem; }
  .photo-lightbox-topbar { padding: .45rem .75rem; }
  .photo-lightbox-close { width: 38px; height: 38px; font-size: 1.65rem; }
  .photo-lightbox-figure img { max-height: calc(100dvh - 255px); }
  .photo-lightbox-filmstrip { max-height: 78px; min-height: 70px; }
  .photo-lightbox-filmstrip button { width: 62px; height: 62px; }
}
@media (max-width: 700px) {
  .photo-lightbox-panel { padding-bottom: max(.65rem, env(safe-area-inset-bottom)); }
  .photo-lightbox-figure img { max-height: calc(100dvh - 265px); }
  .photo-lightbox-filmstrip { max-height: 76px; min-height: 68px; }
}

/* Media Import workspace floating controls */
body.admin-page #media .has-media-actions{
  position:relative;
  overflow:visible;
  padding-right:1.5rem;
}
body.admin-page .media-action-rail{
  position:fixed;
  top:190px;
  right:22px;
  width:118px;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  z-index:9998;
}
body.admin-page .media-action-rail button{
  width:118px;
  min-height:54px;
  border:1px solid #b87924;
  border-radius:18px;
  background:linear-gradient(180deg,#e9b95b,#c98d2e);
  color:#1a100a;
  box-shadow:0 5px 0 #8c5a1e,0 12px 18px rgba(36,23,15,.18);
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.15rem;
  line-height:1.1;
}
body.admin-page .media-action-rail button span{font-size:.76rem;}
body.admin-page .media-action-rail button:hover{transform:translateY(-1px);}
body.admin-page .media-action-rail button:active{transform:translateY(3px);box-shadow:0 2px 0 #7b4b15,0 6px 10px rgba(36,23,15,.2);}
body.admin-page .media-action-rail button.is-saving{opacity:.82;cursor:wait;}
body.admin-page .media-action-rail button.is-saved{background:linear-gradient(180deg,#74d28a,#2f9d52);border-color:#26783f;box-shadow:0 5px 0 #1e6333,0 12px 18px rgba(36,23,15,.18);color:#fff;}
body.admin-page .media-action-rail button.is-error,
body.admin-page .media-action-rail .media-delete-button{background:linear-gradient(180deg,#d95b5b,#a82020);border-color:#8b1e1e;box-shadow:0 5px 0 #741414,0 12px 18px rgba(36,23,15,.18);color:#fff;}
body.admin-page .media-action-rail .media-preview-button{background:#fffdf8;color:#24170f;border-color:#d9bd91;box-shadow:0 4px 0 #d9bd91,0 10px 16px rgba(36,23,15,.12);}
body.admin-page #media .admin-divider{border:0;border-top:1px solid #ead9bf;margin:1.5rem 0;}
body.admin-page #media .media-inline-toolbar{margin-bottom:.5rem;}
@media(max-width:1250px){
  body.admin-page .media-action-rail{right:10px;width:102px;}
  body.admin-page .media-action-rail button{width:102px;}
}
@media(max-width:900px){
  body.admin-page .media-action-rail{position:sticky;top:70px;right:auto;width:100%;flex-direction:row;margin:0 0 1rem;}
  body.admin-page .media-action-rail button{width:auto;min-height:44px;flex-direction:row;padding:.55rem .85rem;}
}

/* Photo Album Manager */
.photo-album-workspace .workspace-sidebar{max-height:70vh;overflow:auto;}
.workspace-list-item{display:block;width:100%;text-align:left;border:1px solid var(--admin-border,#dcc6a5);background:var(--admin-card,#fffdf8);border-radius:14px;padding:12px 14px;margin:0 0 10px;color:var(--admin-ink,#24170f);cursor:pointer;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.workspace-list-item.active{background:var(--accent,#d6a13c);color:var(--accentText,#130e0a);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.workspace-list-item small{display:block;margin-top:4px;opacity:.8;font-size:.85rem}
.album-detail-head{display:flex;gap:22px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.photo-admin-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.photo-admin-table th{text-align:left;padding:6px 8px;color:var(--admin-ink,#24170f)}
.photo-admin-table td{background:var(--admin-field-bg,#fffdf9);border-top:1px solid var(--admin-border,#dcc6a5);border-bottom:1px solid var(--admin-border,#dcc6a5);padding:8px;vertical-align:middle;color:var(--admin-ink,#24170f)}
.photo-admin-table td:first-child{border-left:1px solid var(--admin-border,#dcc6a5);border-radius:12px 0 0 12px}
.photo-admin-table td:last-child{border-right:1px solid var(--admin-border,#dcc6a5);border-radius:0 12px 12px 0}
.photo-admin-thumb{width:82px;height:62px;object-fit:cover;border-radius:8px;border:1px solid var(--admin-border,#dcc6a5);display:block}
.table-wrap{overflow:auto;max-width:100%}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--admin-ink,#24170f)}
.album-description{max-width:820px;color:var(--muted,#d8c8b8);margin-top:-10px;margin-bottom:22px}
@media(max-width:900px){.album-detail-head{display:block}.photo-admin-table{font-size:.9rem}.photo-admin-thumb{width:64px;height:50px}}

/* Mobile v1.1 polish: consistent phone/tablet rendering */
:root{
  --site-width: min(1600px, 96vw);
  --touch-target: 48px;
}
.site-header{
  min-height: 64px;
}
.nav-toggle{
  min-height: var(--touch-target);
  min-width: var(--touch-target);
  display:none;
  align-items:center;
  justify-content:center;
}
@media (min-width: 801px){
  .hero{max-width:var(--site-width);}
  .section,.page-hero{max-width:min(1480px,92vw);}
}
@media (max-width: 900px){
  html{font-size:16px;}
  body{overflow-x:hidden;}
  .site-header{
    padding:.75rem 1rem;
    gap:.75rem;
    align-items:center;
  }
  .brand span{font-size:1.18rem;}
  .brand small{font-size:.72rem;}
  .nav-toggle{
    display:inline-flex !important;
    background:var(--site-accent,#d99b43) !important;
    color:var(--site-accent-text,#130e0a) !important;
    border:1px solid rgba(255,255,255,.15) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.22);
  }
  .site-header nav{
    display:none !important;
    position:fixed !important;
    left:1rem !important;
    right:1rem !important;
    top:72px !important;
    max-height:calc(100dvh - 90px) !important;
    overflow:auto !important;
    padding:.85rem !important;
    background:#130e0a !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    box-shadow:0 24px 80px rgba(0,0,0,.45) !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.35rem !important;
    z-index:9999 !important;
  }
  .nav-open .site-header nav{display:flex !important;}
  .site-header nav a,
  .site-header nav a.admin-nav-link,
  .site-header nav a.button.small{
    min-height:var(--touch-target) !important;
    width:100% !important;
    justify-content:flex-start !important;
    padding:.8rem 1rem !important;
    border-radius:14px !important;
    font-size:1rem !important;
    opacity:1 !important;
  }
  .site-header nav a.button.small{
    justify-content:center !important;
    margin-top:.25rem;
  }
  .hero,.page-hero{
    margin:0 !important;
    max-width:none !important;
    width:100% !important;
    border-radius:0 0 20px 20px !important;
    padding:2rem 1.15rem !important;
  }
  .hero{
    grid-template-columns:1fr !important;
    gap:1.25rem !important;
  }
  .hero h1,.page-hero h1{
    font-size:clamp(2.45rem,15vw,4rem) !important;
    line-height:.95 !important;
    overflow-wrap:anywhere;
  }
  .hero p,.page-hero p{font-size:1.05rem !important;}
  .hero-card{padding:.65rem;border-radius:18px;}
  .hero-card img{border-radius:14px;}
  .section{
    width:100% !important;
    max-width:none !important;
    padding:2rem 1rem !important;
  }
  .section h2{font-size:clamp(1.9rem,9vw,2.6rem) !important;line-height:1.08;}
  .grid,.grid.two,.split{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  .card{border-radius:18px;padding:1rem;}
  .cta-row{display:grid;grid-template-columns:1fr;gap:.7rem;}
  .button,.button.small,.admin-action{
    min-height:var(--touch-target);
    width:100%;
    text-align:center;
  }
  .show-card{grid-template-columns:74px minmax(0,1fr) !important;gap:.85rem;}
  .show-card h3{margin-top:0;line-height:1.2;}
  .date{border-radius:14px;}
  .gallery,.album-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.75rem !important;
  }
  .album-gallery img,.gallery img{aspect-ratio:1/1;}
  .music-album-card{max-width:none !important;}
  .music-album-card .album-cover{max-width:220px;}
  .album-listen-button{width:100% !important;}
  .album-detail{grid-template-columns:1fr !important;gap:1rem;}
  .album-cover-large{max-width:260px;margin:0 auto;display:block;}
  .form input,.form textarea,.form select,.booking-form input,.booking-form textarea,.booking-form select{
    min-height:var(--touch-target);
    font-size:16px !important;
  }
  .form textarea,.booking-form textarea{min-height:150px;}
  footer{
    padding:1.5rem 1rem !important;
    font-size:.95rem;
  }
  footer div:nth-child(2){line-height:2;}
}
@media (max-width: 480px){
  .brand small{display:none;}
  .site-header{padding:.65rem .75rem;}
  .site-header nav{left:.6rem !important;right:.6rem !important;top:64px !important;}
  .hero,.page-hero{padding:1.6rem .9rem !important;}
  .section{padding:1.6rem .85rem !important;}
  .gallery,.album-gallery{grid-template-columns:1fr 1fr !important;gap:.55rem !important;}
  .show-card{grid-template-columns:1fr !important;}
  .date{width:84px;}
  .comment-meta{display:block;}
}

/* Mobile admin polish */
@media (max-width: 900px){
  body.admin-page .admin-shell{padding:.75rem !important;}
  body.admin-page .page-hero{padding:1.25rem 0 !important;}
  body.admin-page .page-hero h1{font-size:clamp(2.2rem,14vw,3.6rem) !important;}
  body.admin-page .admin-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.5rem !important;
    position:sticky;
    top:0;
    z-index:50;
    background:#fff8ee !important;
    padding:.5rem 0 !important;
  }
  body.admin-page .admin-tabs button{
    width:100% !important;
    min-height:46px !important;
    padding:.65rem .45rem !important;
    font-size:.92rem !important;
  }
  body.admin-page .admin-item{padding:.9rem !important;border-radius:16px;}
  body.admin-page .admin-grid,
  body.admin-page .calendar-workspace,
  body.admin-page .links-workspace,
  body.admin-page .music-workspace,
  body.admin-page .theme-workspace,
  body.admin-page .photo-album-workspace{
    display:block !important;
  }
  body.admin-page .calendar-show-sidebar,
  body.admin-page .links-sidebar,
  body.admin-page .music-album-sidebar,
  body.admin-page .theme-sidebar,
  body.admin-page .workspace-sidebar{
    position:static !important;
    max-height:none !important;
    margin-bottom:1rem !important;
  }
  body.admin-page .calendar-action-rail,
  body.admin-page .links-action-rail,
  body.admin-page .album-action-rail,
  body.admin-page .media-action-rail,
  body.admin-page .about-action-rail{
    position:sticky !important;
    top:58px !important;
    right:auto !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.5rem !important;
    margin:0 0 1rem 0 !important;
    z-index:60 !important;
    background:#fff8ee !important;
    padding:.45rem 0 !important;
  }
  body.admin-page .calendar-action-rail button,
  body.admin-page .links-action-rail button,
  body.admin-page .album-action-rail button,
  body.admin-page .media-action-rail button,
  body.admin-page .about-action-rail button{
    width:100% !important;
    min-height:46px !important;
    flex-direction:row !important;
    padding:.55rem .6rem !important;
    box-shadow:none !important;
  }
  body.admin-page .music-track-row,
  body.admin-page .calendar-show-grid,
  body.admin-page .links-grid,
  body.admin-page .theme-detail-head,
  body.admin-page .theme-color-grid,
  body.admin-page .settings-head,
  body.admin-page .booking-admin-head{
    display:block !important;
  }
  body.admin-page .music-track-row{padding:1rem !important;}
  body.admin-page input,
  body.admin-page textarea,
  body.admin-page select{
    min-height:48px !important;
    font-size:16px !important;
  }
  body.admin-page textarea{min-height:140px;}
  body.admin-page .path-picker-row{display:grid !important;grid-template-columns:1fr !important;}
  body.admin-page .cover-entry{grid-template-columns:1fr !important;}
  body.admin-page .cover-preview-box{width:100% !important;height:180px !important;}
  body.admin-page .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.admin-page .photo-admin-table{min-width:760px;}
  body.admin-page .media-picker-modal{padding:.75rem !important;align-items:stretch !important;}
  body.admin-page .media-picker-panel{width:100% !important;max-height:calc(100dvh - 1.5rem) !important;padding:1rem !important;}
  body.admin-page .picker-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.admin-page .smtp-test-details,
  body.admin-page pre#settingsTestDetails.smtp-test-details{max-height:240px;font-size:12px !important;}
}
@media (max-width: 520px){
  body.admin-page .admin-tabs{grid-template-columns:1fr !important;}
  body.admin-page .calendar-action-rail,
  body.admin-page .links-action-rail,
  body.admin-page .album-action-rail,
  body.admin-page .media-action-rail,
  body.admin-page .about-action-rail{grid-template-columns:1fr !important;}
  body.admin-page .picker-grid{grid-template-columns:1fr !important;}
}

/* Mobile lightbox refinement */
@media (max-width: 700px){
  .photo-lightbox-panel{padding:.55rem !important;gap:.45rem !important;}
  .photo-lightbox-topbar{border-radius:14px;padding:.55rem .65rem !important;}
  .photo-lightbox-topbar strong{font-size:.95rem;}
  .photo-lightbox-close{width:40px;height:40px;font-size:1.6rem;}
  .photo-lightbox-figure img{max-width:96vw !important;max-height:calc(100dvh - 230px) !important;}
  .photo-lightbox-controls{display:grid !important;grid-template-columns:1fr 1fr 1fr;gap:.4rem;}
  .photo-lightbox-controls .button{width:100%;min-height:42px;font-size:.82rem;padding:.45rem .35rem;}
  .photo-lightbox-filmstrip{min-height:64px !important;max-height:72px !important;}
  .photo-lightbox-filmstrip button{width:58px !important;height:58px !important;}
}


/* Hero image manager */
.hero.custom-hero-image,
.page-hero.custom-hero-image{
  position:relative;
  overflow:hidden;
  background-image:linear-gradient(90deg,rgba(19,14,10,.82),rgba(19,14,10,.48)),var(--hero-image);
  background-size:cover;
  background-position:center;
  color:#fff;
}
.hero.custom-hero-image > *, .page-hero.custom-hero-image > *{position:relative;z-index:1;}
.hero.custom-hero-image .hero-card{background:rgba(255,255,255,.12);backdrop-filter:blur(2px)}
.hero-editor{display:grid;gap:1rem;}
.hero-admin-card{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:start;}
.hero-admin-preview img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;border:1px solid #d0d0d0;background:#f4f4f4;margin-bottom:.75rem;}
.media-picker-modal[hidden]{display:none!important;}
.media-picker-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;}
.media-picker-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);}
.media-picker-panel{position:relative;width:min(1100px,94vw);max-height:88vh;overflow:auto;background:#fff;color:#24170f;border-radius:16px;padding:1rem;box-shadow:0 20px 70px rgba(0,0,0,.45);}
.media-picker-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.media-picker-head button{font-size:1.6rem;border:0;background:transparent;cursor:pointer;}
.media-picker-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:1rem;}
.media-picker-file{display:grid;gap:.35rem;text-align:left;border:1px solid #ddd;background:#fff;color:#24170f;border-radius:12px;padding:.5rem;cursor:pointer;}
.media-picker-file:hover{box-shadow:0 4px 18px rgba(0,0,0,.18);transform:translateY(-1px);}
.media-picker-file img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:#eee;}
.media-picker-file small{color:#6f5b49;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:700px){.hero-admin-card{grid-template-columns:1fr}.media-picker-files{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));}}

/* Hero Images admin: right-side floating actions */
body.admin-page #heroes{
  position:relative;
}
body.admin-page .hero-floating-actions{
  position:fixed;
  top:190px;
  right:22px;
  width:118px;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  z-index:9998;
}
body.admin-page .hero-floating-actions button{
  width:118px;
  min-height:54px;
  border:1px solid #b87924;
  border-radius:18px;
  background:linear-gradient(180deg,#e9b95b,#c98d2e);
  color:#1a100a !important;
  box-shadow:0 5px 0 #8c5a1e,0 12px 18px rgba(36,23,15,.18);
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.15rem;
}
body.admin-page .hero-floating-actions button span{
  font-size:.76rem;
  color:inherit !important;
}
body.admin-page .hero-floating-actions button:hover{
  transform:translateY(-1px);
}
body.admin-page .hero-floating-actions button:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 #7b4b15,0 6px 10px rgba(36,23,15,.2);
}
body.admin-page .hero-floating-actions button.is-saved,
body.admin-page .hero-floating-actions button.saved{
  background:linear-gradient(180deg,#74d28a,#2f9d52);
  border-color:#26783f;
  box-shadow:0 5px 0 #1e6333,0 12px 18px rgba(36,23,15,.18);
  color:#fff !important;
}
body.admin-page .hero-floating-actions button.is-error{
  background:linear-gradient(180deg,#e56b61,#b3261e);
  border-color:#8c1f19;
  box-shadow:0 5px 0 #741913,0 12px 18px rgba(36,23,15,.18);
  color:#fff !important;
}
body.admin-page .hero-floating-actions button.is-saving{
  opacity:.82;
  cursor:wait;
}
body.admin-page .hero-admin-preview{
  display:grid;
  gap:.55rem;
}
body.admin-page .hero-admin-preview .admin-action{
  width:100%;
}
@media(max-width:1250px){
  body.admin-page .hero-floating-actions{right:10px;width:102px;}
  body.admin-page .hero-floating-actions button{width:102px;}
}
@media(max-width:900px){
  body.admin-page .hero-floating-actions{
    position:sticky;
    top:70px;
    right:auto;
    width:100%;
    flex-direction:row;
    margin:0 0 1rem;
  }
  body.admin-page .hero-floating-actions button{
    width:auto;
    min-height:44px;
    flex-direction:row;
    padding:.55rem .85rem;
  }
}


/* Dynamic hero image sync fix: override older hard-coded hero backgrounds. */
body:not(.admin-page) .hero.custom-hero-image,
body:not(.admin-page) .page-hero.custom-hero-image{
  background-image:linear-gradient(90deg,rgba(19,14,10,.82),rgba(19,14,10,.48)),var(--hero-image) !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
}
body:not(.admin-page) .hero.custom-hero-image::before,
body:not(.admin-page) .page-hero.custom-hero-image::before{
  content:none !important;
}
.hero-admin-preview img:not([hidden]){display:block !important;}

/* v1.1.1 hero sync: public hero background is driven by inline URL from main.js. */
body:not(.admin-page) .hero.custom-hero-image,
body:not(.admin-page) .page-hero.custom-hero-image{
  background-color:#24170f !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  min-height:clamp(220px,28vw,390px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body:not(.admin-page) .page-hero.custom-hero-image h1,
body:not(.admin-page) .page-hero.custom-hero-image p,
body:not(.admin-page) .page-hero.custom-hero-image .eyebrow{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}

/* MFA / Admin Security */
.security-settings .status,
#mfaStatus {
  color: #2b2017 !important;
  background: #fffdf9 !important;
  border: 1px solid rgba(80,60,40,.25);
  border-radius: 10px;
  padding: .85rem 1rem;
  margin: .75rem 0;
}
.mfa-setup-box {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(80,60,40,.2);
  border-radius: 14px;
  background: #fffdf9;
  color: #2b2017;
}
.mfa-setup-grid {
  display: grid;
  grid-template-columns: 240px minmax(260px, 1fr);
  gap: 1rem;
  align-items: start;
}
.mfa-qr {
  max-width: 220px;
  width: 100%;
  height: auto;
  background: #fff;
  border-radius: 12px;
  padding: .5rem;
  border: 1px solid #ddd;
}
.recovery-code-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .5rem;
  margin: 1rem 0;
}
.recovery-code-list code {
  display: block;
  padding: .65rem;
  background: #241b14;
  color: #fff;
  border-radius: 8px;
  text-align: center;
  letter-spacing: .04em;
}
@media (max-width: 720px) {
  .mfa-setup-grid { grid-template-columns: 1fr; }
}

/* Musicians Content Management System dashboard */
.admin-dashboard { display: grid; gap: 1.25rem; }
.dashboard-hero { display:flex; justify-content:space-between; align-items:center; gap:1rem; background:linear-gradient(135deg, #fff8ec, #f3dfbc); border:1px solid rgba(80,52,25,.2); }
.dashboard-hero h2 { margin:.15rem 0 .35rem; color:#2b2017; }
.dashboard-hero p { margin:0; color:#4d3b29; }
.dashboard-version { text-align:right; display:grid; gap:.2rem; color:#2b2017; }
.dashboard-version strong { font-size:1.1rem; }
.dashboard-version span, .dashboard-version small { opacity:.8; }
.dashboard-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; }
.dashboard-card { text-align:left; border:1px solid rgba(80,52,25,.18); border-radius:18px; padding:1rem; background:#fffdf8; box-shadow:0 10px 25px rgba(0,0,0,.08); cursor:pointer; color:#2b2017; transition:transform .15s ease, box-shadow .15s ease; }
.dashboard-card:hover { transform:translateY(-2px); box-shadow:0 16px 32px rgba(0,0,0,.13); }
.dashboard-card span { display:block; font-weight:700; opacity:.75; }
.dashboard-card strong { display:block; font-size:1.7rem; line-height:1.1; margin:.35rem 0; color:#3b2a19; }
.dashboard-card small { color:#6a5945; }
.dashboard-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; }
.dashboard-panel h3 { margin-top:0; color:#2b2017; }
.dashboard-list, .dashboard-status-list { list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:.55rem; }
.dashboard-list li, .dashboard-status-list li { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.6rem .7rem; border-radius:12px; background:#fff8ec; color:#2b2017; }
.dashboard-list li, .dashboard-status-list li { flex-wrap:wrap; align-items:flex-start; min-width:0; overflow-wrap:anywhere; }
.dashboard-list li strong, .dashboard-status-list li span, .dashboard-status-list li strong { min-width:0; overflow-wrap:anywhere; }
.dashboard-list li span { margin-left:auto; white-space:normal; }
.dashboard-status-list li span { flex:1 1 8rem; }
.dashboard-status-list li strong { flex:1 1 7rem; text-align:right; }
.dashboard-list li span { opacity:.75; font-size:.9rem; }
.dashboard-status-list strong.ok { color:#117a37; }
.dashboard-status-list strong.warn { color:#9c5a00; }
.dashboard-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.system-check-list { display:grid; gap:.65rem; margin:1rem 0; }
.system-check-row { display:grid; grid-template-columns:140px minmax(0,1fr); gap:.35rem 1rem; align-items:start; padding:.75rem .85rem; border:1px solid #ead9bf; border-radius:12px; background:#fff8ec; color:#2b2017; }
.system-check-row strong { font-size:.86rem; text-transform:uppercase; letter-spacing:.02em; }
.system-check-row small { grid-column:2; color:#6f5b49; overflow-wrap:anywhere; }
.system-check-row.ok strong { color:#117a37; }
.system-check-row.bad strong { color:#b3261e; }
.album-action-row,
.sales-action { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; }
.sales-action small,
.sales-note { color:var(--theme-muted,#6f5b49); font-weight:800; margin:.35rem 0 0; }
.sales-button { box-shadow:0 10px 22px rgba(0,0,0,.12); }
.sales-link-grid { align-items:end; }
.download-product-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.download-product-head h3{margin:0;}
body.admin-page .download-product-head .admin-check,
body.admin-page .download-product-head .admin-check *{
  color:#081f28!important;
  -webkit-text-fill-color:#081f28!important;
  text-shadow:none!important;
}
body.admin-page .download-product-head .admin-check{
  display:inline-flex!important;
  align-items:center!important;
  gap:.45rem!important;
  width:auto!important;
  background:#fff6e6!important;
  border:1px solid #d9bd91!important;
  border-radius:12px!important;
  padding:.65rem .8rem!important;
}
.download-row-list{display:grid;gap:.55rem;margin-top:1rem;}
.download-zip-tool code{background:rgba(0,0,0,.25);color:#fff8ee;-webkit-text-fill-color:#fff8ee;border-radius:6px;padding:.1rem .35rem;}
.download-zip-tool .toolbar{margin-top:.5rem;}
body.admin-page #downloads{position:relative;padding-right:150px;}
body.admin-page #pages{position:relative;padding-right:150px;}
body.admin-page .download-action-rail{
  position:fixed;
  right:22px;
  top:118px;
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  width:122px;
  margin:0;
  padding:0;
}
body.admin-page .pages-action-rail{
  position:fixed;
  right:22px;
  top:118px;
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  width:122px;
  margin:0;
  padding:0;
}
body.admin-page .download-action-rail .admin-action{
  width:122px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.15;
  white-space:normal;
  border-radius:14px;
  box-shadow:0 6px 0 rgba(0,0,0,.22);
}
body.admin-page .pages-action-rail .admin-action{
  width:122px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.15;
  white-space:normal;
  border-radius:14px;
  box-shadow:0 6px 0 rgba(0,0,0,.22);
}
.download-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:1rem;
  align-items:center;
  padding:.8rem .95rem;
  border:1px solid rgba(92,184,218,.36);
  border-radius:10px;
  background:rgba(255,255,255,.055);
  color:#fff8ee;
}
.download-row span{min-width:0;overflow-wrap:anywhere;font-weight:800;color:#fff8ee;}
.download-row small{white-space:nowrap;color:#d9f5ff;font-weight:700;opacity:1;}
.download-order-row{grid-template-columns:minmax(0,1.2fr) minmax(12rem,1fr) auto auto;}
.page-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.page-editor-head h3{margin:0;}
.page-editor-head small{display:block;color:#d9f5ff;font-weight:800;margin-top:.15rem;}
.page-switches{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;}
body.admin-page .page-editor-head .admin-check,
body.admin-page .page-editor-head .admin-check *{
  color:#081f28!important;
  -webkit-text-fill-color:#081f28!important;
  text-shadow:none!important;
}
body.admin-page .page-editor-head .admin-check{
  display:inline-flex!important;
  align-items:center!important;
  gap:.4rem!important;
  width:auto!important;
  background:#fff6e6!important;
  border:1px solid #d9bd91!important;
  border-radius:12px!important;
  padding:.55rem .7rem!important;
}
@media(max-width:900px){
  body.admin-page #downloads{padding-right:0;}
  body.admin-page #pages{padding-right:0;}
  body.admin-page .download-action-rail{
    position:sticky;
    top:70px;
    right:auto;
    width:100%;
    flex-direction:row;
    flex-wrap:wrap;
    margin:0 0 1rem;
    padding:.35rem 0;
    background:var(--theme-paper,#061f28);
  }
  body.admin-page .pages-action-rail{
    position:sticky;
    top:70px;
    right:auto;
    width:100%;
    flex-direction:row;
    flex-wrap:wrap;
    margin:0 0 1rem;
    padding:.35rem 0;
    background:var(--theme-paper,#061f28);
  }
  body.admin-page .download-action-rail .admin-action{
    width:auto;
    min-height:44px;
    flex:1 1 130px;
    box-shadow:none;
  }
  body.admin-page .pages-action-rail .admin-action{
    width:auto;
    min-height:44px;
    flex:1 1 130px;
    box-shadow:none;
  }
}
@media(max-width:760px){.download-row,.download-order-row{grid-template-columns:1fr;gap:.25rem;}}
@media (max-width: 720px){ .dashboard-hero { flex-direction:column; align-items:flex-start; } .dashboard-version { text-align:left; } }


/* Integrated Admin Help */
.admin-help-launcher {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 5000;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.admin-help-launcher button {
  border: 0;
  border-radius: 999px;
  padding: .78rem 1rem;
  background: #1f5f96;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
  cursor: pointer;
}
.admin-help-launcher button:hover { filter: brightness(1.07); transform: translateY(-1px); }
.admin-help-modal[hidden] { display: none !important; }
.admin-help-modal {
  position: fixed;
  inset: 0;
  z-index: 6000;
  background: rgba(0,0,0,.55);
  display: grid;
  place-items: center;
  padding: 1rem;
}
.admin-help-dialog {
  width: min(820px, 96vw);
  max-height: 88vh;
  overflow: auto;
  background: #fffdf8;
  color: #2b2017;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0,0,0,.38);
  border: 1px solid rgba(80,52,25,.2);
}
.admin-help-head {
  position: sticky;
  top: 0;
  background: #2b2017;
  color: #fff;
  padding: 1rem 1.25rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  z-index: 1;
}
.admin-help-head h2 { margin: 0; color: #fff; }
.admin-help-close { background: transparent; border: 0; color: #fff; font-size: 1.6rem; cursor: pointer; }
.admin-help-body { padding: 1.25rem; }
.admin-help-search { display: grid; gap: .4rem; margin-bottom: 1rem; }
.admin-help-search input { background: #fff; color: #2b2017; border: 1px solid #caa76b; border-radius: 12px; padding: .75rem; }
.admin-help-topic { background: #f7f1e7; border-radius: 16px; padding: 1rem; margin: 1rem 0; }
.admin-help-topic h3 { margin-top: 0; color: #2b2017; }
.admin-help-topic ol { padding-left: 1.3rem; }
.admin-help-links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.admin-help-links a, .admin-help-links button {
  display: inline-block;
  border: 0;
  border-radius: 999px;
  padding: .7rem 1rem;
  font-weight: 800;
  text-decoration: none;
  background: #d6a13c;
  color: #1f160e;
  cursor: pointer;
}
.admin-help-links .secondary { background: #e8e0d2; color: #2b2017; }
.admin-help-noresults { padding: .8rem; border-radius: 12px; background: #fff4e8; color: #513319; }
.help-tip { cursor: help; border-bottom: 1px dotted currentColor; }
@media (max-width: 720px) { .admin-help-launcher { right: 10px; bottom: 10px; } .admin-help-launcher button { padding: .65rem .85rem; } }

/* Final Help readability polish */
.admin-help-dialog,
.admin-help-dialog p,
.admin-help-dialog li,
.admin-help-dialog label,
.admin-help-dialog strong,
.admin-help-dialog h3,
.admin-help-dialog h4,
.admin-help-topic,
.admin-help-topic p,
.admin-help-topic li,
.admin-help-search label {
  color: #2b2017 !important;
}
.admin-help-dialog a,
.admin-help-dialog button {
  color: #1f160e !important;
}
.admin-help-head,
.admin-help-head h2,
.admin-help-close {
  color: #ffffff !important;
}
.admin-help-topic,
.admin-help-noresults {
  background: #f7f1e7 !important;
}
.admin-help-topic ol li {
  color: #2b2017 !important;
  background: transparent !important;
}
.admin-help-search input {
  color: #2b2017 !important;
  background: #fffdf8 !important;
}


/* MCMS v1.0.2 - Optional secondary image on album detail pages */
.album-image-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:stretch;
}
.album-image-link{
  position:relative;
  display:block;
  text-decoration:none;
  cursor:default !important;
}
.album-image-link img{
  cursor:default !important;
  -webkit-user-drag:none;
  user-select:none;
}
.album-image-link::after{
  content:"Click to enlarge";
  position:absolute;
  left:50%;
  bottom:.85rem;
  transform:translate(-50%,.25rem);
  padding:.45rem .7rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(8,6,4,.82);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
}
.album-image-link:hover::after,
.album-image-link:focus-visible::after{
  opacity:1;
  transform:translate(-50%,0);
}
.album-image-link:focus-visible{
  outline:3px solid #d8a13f;
  outline-offset:4px;
  border-radius:16px;
}
.album-secondary-image{
  width:100%;
  max-width:280px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(214,161,68,.55);
  background:#082f3a;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.album-admin-preview-stack{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cover-preview-box.secondary{
  border-style:dashed;
}
@media(max-width:760px){
  .album-image-stack{align-items:center;}
  .album-secondary-image{max-width:260px;}
  .album-admin-preview-stack{justify-content:flex-start;}
}
.album-image-popup-panel{
  grid-template-rows:auto minmax(0,1fr);
}
.album-image-popup-figure img{
  max-height:calc(100dvh - 130px);
}

/* Keep album artwork from showing oversized custom link cursors. */
.album-cover-link,
.album-cover-link *,
.album-image-link,
.album-image-link *,
.music-album-card .album-cover,
.album-cover-large,
.album-secondary-image{
  cursor:default !important;
}

/* MCMS v1.0.3: searchable media picker with bulk delete */
.admin-page .media-picker-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:.75rem;align-items:end;margin:.5rem 0 1rem;}
.admin-page .media-picker-search-wrap{display:grid;gap:.35rem;font-weight:800;color:#24170f;}
.admin-page .media-picker-search{border:1px solid #d7bd91;border-radius:12px;background:#fff;color:#24170f;padding:.75rem 1rem;font:inherit;font-weight:700;width:100%;}
.admin-page .media-picker-bulk{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.admin-page .media-picker-selection-status{font-weight:800;color:#24170f;background:#f3eadc;border:1px solid #d7bd91;border-radius:999px;padding:.55rem .85rem;}
.admin-page .media-picker-help{margin:.25rem 0 1rem;color:#4d3b2e;font-weight:700;}
.admin-page .picker-album-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:.5rem 0;}
.admin-page .picker-album-head h3{margin:0;}
.admin-page .picker-album-head small{font-weight:800;color:#6f5b49;}
.admin-page .picker-item-wrap{position:relative;display:grid;}
.admin-page .picker-check{position:absolute;z-index:2;top:.45rem;left:.45rem;background:rgba(255,250,241,.95);border:1px solid #d7bd91;border-radius:999px;padding:.28rem .48rem;display:flex;align-items:center;gap:.28rem;font-size:.75rem;font-weight:900;color:#24170f;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer;}
.admin-page .picker-check input{inline-size:1rem;block-size:1rem;accent-color:#c99232;}
.admin-page .picker-item-wrap .picker-item{height:100%;}
.admin-page .picker-item-wrap .picker-item.image img{margin-top:.25rem;}
.admin-page .media-picker-delete-selected:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3);}
@media (max-width:850px){.admin-page .media-picker-tools{grid-template-columns:1fr}.admin-page .media-picker-bulk{justify-content:flex-start}.admin-page .picker-check span{display:none}}

/* MCMS v1.0.4 Smart Tooltips */
.mcms-smart-tooltip{
  position:fixed;
  z-index:999999;
  background:#fffaf1;
  color:#24170f;
  border:1px solid #d6a345;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  padding:10px 12px;
  font-size:.92rem;
  line-height:1.45;
  overflow-wrap:anywhere;
  white-space:normal;
  pointer-events:none;
}
.admin-page input,
.admin-page textarea,
.admin-page select,
.admin-page .album-nav-title,
.admin-page .show-nav-title,
.admin-page .media-row span,
.admin-page .media-row small,
.admin-page .link-url-preview,
.admin-page code{
  text-overflow:ellipsis;
}
.album-image-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
}
.album-secondary-image{
  width:min(260px,100%);
  max-height:260px;
  object-fit:contain;
  border-radius:14px;
  border:1px solid var(--border, #d6a345);
  background:rgba(255,255,255,.08);
}
@media (max-width: 760px){
  .album-image-stack{width:100%;}
  .album-secondary-image{width:100%;}
}


/* MCMS v1.0.5 Enhanced Media Picker Tooltips */
.admin-page .picker-item-wrap{
  display:flex !important;
  flex-direction:column !important;
  gap:.55rem !important;
  border:1px solid #d7bd91 !important;
  border-radius:14px !important;
  background:#fffaf1 !important;
  color:#24170f !important;
  padding:.55rem !important;
  min-height:100% !important;
}
.admin-page .picker-item-wrap .picker-item{
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:.45rem !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.admin-page .picker-file-name{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  line-height:1.25 !important;
  min-height:2.45em !important;
  font-weight:800 !important;
  color:#24170f !important;
  overflow-wrap:anywhere !important;
}
.admin-page .picker-file-meta{
  display:block !important;
  color:#6d5744 !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.admin-page .picker-select-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:.5rem !important;
  margin-top:auto !important;
  border-top:1px solid #ead6b8 !important;
  padding-top:.45rem !important;
}
.admin-page .picker-check{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:.35rem !important;
  background:#fff !important;
  color:#24170f !important;
  border:1px solid #d7bd91 !important;
  border-radius:999px !important;
  padding:.25rem .55rem !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.admin-page .picker-choose-btn{
  border:1px solid #d7bd91 !important;
  border-radius:999px !important;
  background:#d6a345 !important;
  color:#111 !important;
  padding:.32rem .75rem !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
.admin-page .picker-choose-btn:hover{filter:brightness(1.05);transform:translateY(-1px);}
.admin-page .picker-item.audio audio{margin-top:.2rem !important; width:100% !important;}
.admin-page .picker-item.image img{height:124px !important;margin:0 !important;}
.admin-page .mcms-smart-tooltip{max-width:min(680px,92vw) !important;}
@media (max-width:700px){
  .admin-page .picker-select-row{align-items:flex-start;flex-direction:column;}
  .admin-page .picker-choose-btn{width:100%;}
}


/* MCMS v1.0.6 Admin system theme + robust smart tooltips */
html:has(body.admin-page),
body.admin-page{color-scheme:light dark!important;}
@media (prefers-color-scheme: light){
  html:has(body.admin-page), body.admin-page{
    --site-bg:#fff8ee!important;--site-paper:#fff8ee!important;--site-card:#fffdf8!important;--site-card-border:#d9bd91!important;--site-ink:#24170f!important;--site-muted:#6f5b49!important;--site-link:#7a4d10!important;--site-header:#130e0a!important;--site-hero:#fff8ee!important;--site-hero-text:#24170f!important;--site-accent:#d39a3a!important;--site-accent-text:#130e0a!important;--site-field-bg:#ffffff!important;--site-field-text:#130e0a!important;background:#fff8ee!important;color:#24170f!important;
  }
  body.admin-page .admin-item,body.admin-page .card,body.admin-page .status,body.admin-page .notice,body.admin-page .music-detail,body.admin-page .calendar-show-detail,body.admin-page .link-detail,body.admin-page .picker-item-wrap{background:#fffdf8!important;color:#24170f!important;border-color:#d9bd91!important;}
  body.admin-page input,body.admin-page textarea,body.admin-page select,body.admin-page option,body.admin-page .admin-editor,body.admin-page [contenteditable="true"]{background:#fff!important;color:#130e0a!important;-webkit-text-fill-color:#130e0a!important;border-color:#d9bd91!important;caret-color:#130e0a!important;}
}
@media (prefers-color-scheme: dark){
  html:has(body.admin-page), body.admin-page{
    --site-bg:#191713!important;--site-paper:#191713!important;--site-card:#211d18!important;--site-card-border:#514233!important;--site-ink:#fff8ee!important;--site-muted:#d9caba!important;--site-link:#f0b359!important;--site-header:#100c08!important;--site-hero:#201711!important;--site-hero-text:#ffffff!important;--site-accent:#d39a3a!important;--site-accent-text:#130e0a!important;--site-field-bg:#111!important;--site-field-text:#fff8ee!important;background:#191713!important;color:#fff8ee!important;
  }
  body.admin-page::before{display:none!important;content:none!important;background:none!important;}
  body.admin-page main,body.admin-page .admin-shell,body.admin-page .section,body.admin-page .admin-panel,body.admin-page .toolbar{background:#191713!important;color:#fff8ee!important;}
  body.admin-page .page-hero{background:#201711!important;background-image:linear-gradient(180deg,#120c08 0%,#241810 100%)!important;color:#fff!important;border-color:#514233!important;}
  body.admin-page .admin-item,body.admin-page .card,body.admin-page .admin-note,body.admin-page .status,body.admin-page .notice,body.admin-page .music-album-sidebar,body.admin-page .calendar-show-sidebar,body.admin-page .links-sidebar,body.admin-page .music-detail,body.admin-page .calendar-show-detail,body.admin-page .link-detail,body.admin-page .music-workspace.empty,body.admin-page .calendar-workspace.empty,body.admin-page .links-workspace.empty,body.admin-page .media-album,body.admin-page .selectable-media-row,body.admin-page .picker-item-wrap{background:#211d18!important;color:#fff8ee!important;border-color:#514233!important;}
  body.admin-page .admin-shell h1,body.admin-page .admin-shell h2,body.admin-page .admin-shell h3,body.admin-page .admin-shell h4,body.admin-page .admin-shell h5,body.admin-page .admin-shell h6,body.admin-page .admin-shell label,body.admin-page .admin-shell p,body.admin-page .admin-shell li,body.admin-page .admin-shell span,body.admin-page .admin-shell div,body.admin-page .admin-shell small,body.admin-page .admin-shell strong,body.admin-page .admin-shell code{color:#fff8ee!important;-webkit-text-fill-color:#fff8ee!important;text-shadow:none!important;}
  body.admin-page input,body.admin-page textarea,body.admin-page select,body.admin-page option,body.admin-page .admin-editor,body.admin-page [contenteditable="true"]{background:#111!important;color:#fff8ee!important;-webkit-text-fill-color:#fff8ee!important;border-color:#6f5b49!important;caret-color:#fff8ee!important;}
  body.admin-page input::placeholder,body.admin-page textarea::placeholder{color:#cdbfac!important;-webkit-text-fill-color:#cdbfac!important;opacity:1!important;}
  body.admin-page .admin-tabs button,body.admin-page .admin-action,body.admin-page .file-action{background:#111!important;color:#fff8ee!important;-webkit-text-fill-color:#fff8ee!important;border-color:#6f5b49!important;}
  body.admin-page .admin-tabs button.active,body.admin-page .admin-action.primary,body.admin-page .show-nav-item.active,body.admin-page .music-album-nav.active,body.admin-page .link-nav-item.active{background:#d39a3a!important;color:#130e0a!important;-webkit-text-fill-color:#130e0a!important;}
  body.admin-page .legacy-note,body.admin-page .muted,body.admin-page .show-nav-date,body.admin-page .show-nav-title,body.admin-page .show-nav-venue,body.admin-page .music-album-nav small,body.admin-page .link-nav-item small,body.admin-page .picker-file-meta{color:#d9caba!important;-webkit-text-fill-color:#d9caba!important;}
  body.admin-page .picker-file-name{color:#fff8ee!important;-webkit-text-fill-color:#fff8ee!important;}
  body.admin-page .picker-check{background:#15120f!important;color:#fff8ee!important;-webkit-text-fill-color:#fff8ee!important;border-color:#6f5b49!important;}
}
.mcms-smart-tooltip,.mcms-tooltip-v106{
  position:fixed!important;z-index:2147483647!important;display:block!important;max-width:min(720px,92vw)!important;background:#fffaf1!important;color:#24170f!important;-webkit-text-fill-color:#24170f!important;border:2px solid #d6a345!important;border-radius:12px!important;box-shadow:0 16px 38px rgba(0,0,0,.38)!important;padding:10px 12px!important;font-size:14px!important;font-weight:700!important;line-height:1.45!important;overflow-wrap:anywhere!important;white-space:pre-wrap!important;pointer-events:none!important;
}
.mcms-smart-tooltip[hidden],.mcms-tooltip-v106[hidden]{display:none!important;}
@media (prefers-color-scheme: dark){.mcms-smart-tooltip,.mcms-tooltip-v106{background:#fffaf1!important;color:#24170f!important;-webkit-text-fill-color:#24170f!important;border-color:#d6a345!important;}}

/* MCMS v1.0.9 - Force readable browser audio control menus in Admin */
body.admin-page audio,
body.admin-page .music-track-row audio,
body.admin-page .picker-item.audio audio,
body.admin-page .media-row audio,
body.admin-page .album-detail audio{
  color-scheme: light !important;
  background-color: #f3f3f3 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.admin-page audio::-webkit-media-controls-panel,
body.admin-page audio::-webkit-media-controls-enclosure,
body.admin-page audio::-webkit-media-controls-play-button,
body.admin-page audio::-webkit-media-controls-current-time-display,
body.admin-page audio::-webkit-media-controls-time-remaining-display,
body.admin-page audio::-webkit-media-controls-timeline,
body.admin-page audio::-webkit-media-controls-volume-slider,
body.admin-page audio::-webkit-media-controls-mute-button,
body.admin-page audio::-webkit-media-controls-overflow-button{
  color-scheme: light !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}


/* MCMS v1.0.10 - audio privacy options */
.album-options{
  margin: 1rem 0 1.25rem;
  padding: .85rem 1rem;
  border: 1px solid var(--border, rgba(214,163,69,.45));
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel, #fff) 88%, transparent);
  color: var(--text, #24180f);
}
.album-options label,
.track-option{
  display:flex;
  gap:.55rem;
  align-items:center;
  font-weight:700;
  color:var(--text, #24180f);
}
.album-options small{
  display:block;
  margin-top:.35rem;
  color:var(--muted, #6b5b4b);
  line-height:1.4;
}
.track-option{
  grid-column:1 / -1;
  margin:.25rem 0 .4rem;
  font-size:.92rem;
}
.track-option input,
.album-options input{width:auto; min-width:auto;}


/* MCMS v1.0.11 - theme consistency, readable checkbox panels, portable theme files */
body.admin-page .music-album-sidebar,
body.admin-page .workspace-sidebar,
body.admin-page .theme-sidebar{
  background: var(--theme-card) !important;
  color: var(--theme-ink) !important;
  border-color: var(--theme-cardBorder) !important;
}
body.admin-page .album-nav-item,
body.admin-page .workspace-list-item,
body.admin-page .theme-preset,
body.admin-page .theme-download-link{
  background: color-mix(in srgb, var(--theme-card) 88%, var(--theme-paper) 12%) !important;
  color: var(--theme-ink) !important;
  -webkit-text-fill-color: var(--theme-ink) !important;
  border-color: var(--theme-cardBorder) !important;
}
body.admin-page .album-nav-item small,
body.admin-page .workspace-list-item small,
body.admin-page .theme-sidebar .legacy-note{
  color: var(--theme-muted) !important;
  -webkit-text-fill-color: var(--theme-muted) !important;
}
body.admin-page .album-nav-item:hover,
body.admin-page .workspace-list-item:hover,
body.admin-page .theme-preset:hover,
body.admin-page .theme-download-link:hover{
  background: color-mix(in srgb, var(--theme-accent) 22%, var(--theme-card) 78%) !important;
  color: var(--theme-ink) !important;
}
body.admin-page .album-nav-item.active,
body.admin-page .workspace-list-item.active,
body.admin-page .theme-preset.active{
  background: var(--theme-accent) !important;
  color: var(--theme-accentText) !important;
  -webkit-text-fill-color: var(--theme-accentText) !important;
  border-color: var(--theme-accent) !important;
}
body.admin-page .album-nav-item.active *,
body.admin-page .workspace-list-item.active *,
body.admin-page .theme-preset.active *{
  color: var(--theme-accentText) !important;
  -webkit-text-fill-color: var(--theme-accentText) !important;
}
body.admin-page .album-options,
body.admin-page .track-option,
body.admin-page .check-row,
body.admin-page .inline-check,
body.admin-page .admin-check,
body.admin-page label.track-option{
  background: color-mix(in srgb, var(--theme-card) 92%, var(--theme-paper) 8%) !important;
  color: var(--theme-ink) !important;
  -webkit-text-fill-color: var(--theme-ink) !important;
  border-color: var(--theme-cardBorder) !important;
}
body.admin-page .album-options{
  border:1px solid var(--theme-cardBorder) !important;
  border-radius:14px !important;
  padding:.85rem 1rem !important;
}
body.admin-page .album-options label,
body.admin-page .album-options small,
body.admin-page .track-option,
body.admin-page .track-option *,
body.admin-page .check-row,
body.admin-page .check-row *,
body.admin-page .inline-check,
body.admin-page .inline-check *{
  color: var(--theme-ink) !important;
  -webkit-text-fill-color: var(--theme-ink) !important;
}
body.admin-page .album-options small{
  color: var(--theme-muted) !important;
  -webkit-text-fill-color: var(--theme-muted) !important;
}
body.admin-page input[type="checkbox"],
body.admin-page input[type="radio"]{
  accent-color: var(--theme-accent) !important;
}
body.admin-page .theme-file-action,
body.admin-page .theme-download-link{
  display:block !important;
  text-align:center !important;
  margin:.45rem 0 !important;
  text-decoration:none !important;
}
body.admin-page .theme-export-box{
  min-height:220px !important;
  font-family:ui-monospace,Consolas,monospace !important;
  white-space:pre !important;
}

/* MCMS v1.0.12 - Photo Album Workspace */
body.admin-page .photo-workspace-v112{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
body.admin-page .photo-workspace-v112 .workspace-sidebar{
  position:sticky;
  top:92px;
  max-height:calc(100vh - 130px);
  overflow:auto;
}
body.admin-page .album-search{
  width:100%;
  margin:.4rem 0 .5rem;
}
body.admin-page .album-count{
  color:var(--theme-muted,#c8d8e4);
  font-size:.86rem;
  margin-bottom:.7rem;
  font-weight:700;
}
body.admin-page .album-list-scroll{
  max-height:52vh;
  overflow:auto;
  padding-right:.2rem;
  margin-bottom:.75rem;
}
body.admin-page .photo-album-detail{
  min-width:0;
  padding-right:124px;
}
body.admin-page .photo-bulk-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
  margin:1rem 0;
  padding:.8rem;
  border:1px solid var(--theme-cardBorder,#4e8eaf);
  border-radius:16px;
  background:color-mix(in srgb,var(--theme-card,#163646) 88%,var(--theme-paper,#102430) 12%);
}
body.admin-page .photo-bulk-bar select{
  min-width:220px;
}
body.admin-page .photo-edit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1rem;
  margin-top:.8rem;
}
body.admin-page .photo-edit-card{
  position:relative;
  border:1px solid var(--theme-cardBorder,#4e8eaf);
  border-radius:16px;
  padding:.85rem;
  background:color-mix(in srgb,var(--theme-card,#163646) 92%,var(--theme-paper,#102430) 8%);
  color:var(--theme-ink,#fff);
  display:grid;
  gap:.65rem;
}
body.admin-page .photo-edit-thumb{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:12px;
  border:1px solid var(--theme-cardBorder,#4e8eaf);
  background:#111;
}
body.admin-page .photo-file-name{
  min-height:2.8em;
  line-height:1.35;
  font-weight:800;
  color:var(--theme-ink,#fff);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.admin-page .photo-select-check,
body.admin-page .photo-hide-check{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:var(--theme-ink,#fff) !important;
  -webkit-text-fill-color:var(--theme-ink,#fff) !important;
  font-weight:800;
}
body.admin-page .photo-card-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.55rem;
  align-items:end;
}
body.admin-page .photo-edit-card input,
body.admin-page .photo-edit-card textarea,
body.admin-page .photo-bulk-bar select{
  color:var(--theme-fieldText,#111) !important;
  -webkit-text-fill-color:var(--theme-fieldText,#111) !important;
  background:var(--theme-fieldBg,#fff) !important;
}
@media(max-width:900px){
  body.admin-page .photo-workspace-v112{grid-template-columns:1fr;}
  body.admin-page .photo-workspace-v112 .workspace-sidebar{position:static;max-height:none;}
  body.admin-page .photo-album-detail{padding-right:0;}
  body.admin-page .photo-edit-grid{grid-template-columns:1fr;}
}


/* MCMS v1.0.13 - Dashboard theme completion */
body.admin-page .admin-dashboard,
body.admin-page .dashboard-grid,
body.admin-page .dashboard-cards,
body.admin-page .dashboard-actions{
  color:var(--theme-ink)!important;
}
body.admin-page .dashboard-hero{
  background:linear-gradient(135deg,var(--theme-hero),color-mix(in srgb,var(--theme-hero) 80%,var(--theme-card) 20%))!important;
  color:var(--theme-heroText)!important;
  border-color:var(--theme-cardBorder)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.18)!important;
}
body.admin-page .dashboard-hero,
body.admin-page .dashboard-hero *{
  color:var(--theme-heroText)!important;
  -webkit-text-fill-color:var(--theme-heroText)!important;
}
body.admin-page .dashboard-version{
  background:color-mix(in srgb,var(--theme-card) 18%, transparent)!important;
  border:1px solid color-mix(in srgb,var(--theme-cardBorder) 70%, transparent)!important;
  border-radius:16px!important;
  padding:.85rem 1rem!important;
}
body.admin-page .dashboard-card,
body.admin-page .dashboard-panel{
  background:var(--theme-card)!important;
  color:var(--theme-ink)!important;
  -webkit-text-fill-color:initial!important;
  border-color:var(--theme-cardBorder)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.14)!important;
}
body.admin-page .dashboard-card:hover{
  background:color-mix(in srgb,var(--theme-card) 84%,var(--theme-accent) 16%)!important;
  border-color:var(--theme-accent)!important;
}
body.admin-page .dashboard-card span,
body.admin-page .dashboard-card strong,
body.admin-page .dashboard-card small,
body.admin-page .dashboard-panel h3{
  color:var(--theme-ink)!important;
  -webkit-text-fill-color:var(--theme-ink)!important;
}
body.admin-page .dashboard-card small,
body.admin-page .dashboard-list li span,
body.admin-page .dashboard-status-list li span{
  color:var(--theme-muted)!important;
  -webkit-text-fill-color:var(--theme-muted)!important;
}
body.admin-page .dashboard-list li,
body.admin-page .dashboard-status-list li{
  background:color-mix(in srgb,var(--theme-card) 84%,var(--theme-paper) 16%)!important;
  color:var(--theme-ink)!important;
  -webkit-text-fill-color:initial!important;
  border:1px solid color-mix(in srgb,var(--theme-cardBorder) 82%,transparent)!important;
  min-height:44px!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
body.admin-page .dashboard-list li strong,
body.admin-page .dashboard-status-list li span,
body.admin-page .dashboard-status-list li strong{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
body.admin-page .dashboard-list li span{
  margin-left:auto!important;
  white-space:normal!important;
}
body.admin-page .dashboard-status-list li span{
  flex:1 1 8rem!important;
}
body.admin-page .dashboard-status-list li strong{
  flex:1 1 7rem!important;
  text-align:right!important;
}
body.admin-page .dashboard-list li *,
body.admin-page .dashboard-status-list li *{
  color:var(--theme-ink)!important;
  -webkit-text-fill-color:var(--theme-ink)!important;
}
body.admin-page .dashboard-status-list strong.ok{
  color:#3fc46f!important;
  -webkit-text-fill-color:#3fc46f!important;
}
body.admin-page .dashboard-status-list strong.warn{
  color:#f0b43f!important;
  -webkit-text-fill-color:#f0b43f!important;
}
body.admin-page .dashboard-status-list strong.bad,
body.admin-page .dashboard-status-list strong.error{
  color:#ff6961!important;
  -webkit-text-fill-color:#ff6961!important;
}
body.admin-page .dashboard-actions .admin-action{
  background:var(--theme-buttonSecondary)!important;
  color:var(--theme-ink)!important;
  -webkit-text-fill-color:var(--theme-ink)!important;
  border-color:var(--theme-cardBorder)!important;
}
body.admin-page .dashboard-actions .admin-action:hover{
  background:var(--theme-accent)!important;
  color:var(--theme-accentText)!important;
  -webkit-text-fill-color:var(--theme-accentText)!important;
  border-color:var(--theme-accent)!important;
}

/* Site Settings right-side floating controls */
body.admin-page #settings > .toolbar{
  display:none!important;
}
body.admin-page .settings-workspace.has-settings-actions{
  position:relative;
  padding-right:8.25rem!important;
}
body.admin-page .settings-action-rail{
  position:fixed;
  top:190px;
  right:22px;
  width:118px;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  z-index:9998;
}
body.admin-page .settings-action-rail button{
  width:118px;
  min-height:54px;
  border-radius:18px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.15rem;
  text-align:center;
}
body.admin-page .settings-action-rail button span{
  display:block;
  font-size:.74rem;
}
@media(max-width:1250px){
  body.admin-page .settings-action-rail{right:10px;width:102px;}
  body.admin-page .settings-action-rail button{width:102px;}
}
@media(max-width:900px){
  body.admin-page .settings-workspace.has-settings-actions{padding-right:1rem!important;}
  body.admin-page .settings-action-rail{
    position:sticky;
    top:70px;
    right:auto;
    width:100%;
    flex-direction:row;
    margin:0 0 1rem;
  }
  body.admin-page .settings-action-rail button{
    width:auto;
    min-height:44px;
    flex-direction:row;
    padding:.55rem .85rem;
  }
}

/* MCMS v1.0.14 - Photo album music-style workspace */
.photo-album-workspace .workspace-sidebar{position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto;}
.photo-album-search{width:100%;margin:.5rem 0 1rem;padding:.75rem;border-radius:12px;border:1px solid var(--border, #d6a345);background:var(--panel, #fff);color:var(--text, #1f1712);}
.photo-action-rail .rail-file-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border-radius:14px;padding:.7rem .55rem;background:var(--accent, #d6a345);color:var(--buttonText,#111);font-weight:700;box-shadow:0 4px 0 rgba(0,0,0,.22);cursor:pointer;text-align:center;}
.photo-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1rem;}
.photo-editor-card{border:1px solid var(--border,#d6a345);border-radius:14px;background:var(--panel-alt,rgba(255,255,255,.04));padding:.75rem;display:flex;flex-direction:column;gap:.55rem;}
.photo-editor-card .photo-select{display:flex;align-items:center;gap:.4rem;font-weight:700;color:var(--text,#fff);}
.photo-editor-card .photo-admin-thumb{width:100%;aspect-ratio:1.25/1;object-fit:cover;border-radius:10px;border:1px solid var(--border,#d6a345);background:rgba(0,0,0,.15);}
.photo-editor-card input[type="text"],.photo-editor-card input:not([type]){width:100%;}
.admin-grid.compact{grid-template-columns:1fr 1fr;gap:.5rem;}
.workspace-list-item{width:100%;text-align:left;margin:.25rem 0;border-radius:12px;padding:.75rem;border:1px solid var(--border,#d6a345);background:var(--panel-alt,rgba(255,255,255,.05));color:var(--text,#fff);cursor:pointer;}
.workspace-list-item.active{background:var(--accent,#d6a345);color:var(--buttonText,#111);}
.workspace-list-item small{display:block;opacity:.85;margin-top:.15rem;}
#photoMoveTarget{min-width:220px;border-radius:999px;padding:.65rem .9rem;border:1px solid var(--border,#d6a345);background:var(--panel,#fff);color:var(--text,#111);}
@media(max-width:900px){.photo-album-workspace{grid-template-columns:1fr}.photo-album-workspace .workspace-sidebar{position:relative;top:auto;max-height:none}.photo-editor-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}}


/* MCMS v1.0.15 - Photo Albums workspace layout fix */
body.admin-page #photoAlbumsAdmin .photo-workspace-v115{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:1rem !important;
  align-items:start !important;
  width:100% !important;
  overflow:visible !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .workspace-sidebar{
  position:sticky !important;
  top:92px !important;
  align-self:start !important;
  max-height:calc(100vh - 125px) !important;
  overflow:auto !important;
  z-index:2 !important;
  box-sizing:border-box !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .album-list-scroll{
  max-height:calc(100vh - 310px) !important;
  overflow:auto !important;
  padding-right:.25rem !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .photo-album-detail{
  grid-column:2 !important;
  min-width:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding-right:128px !important;
  position:relative !important;
  z-index:1 !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .media-action-rail{
  position:fixed !important;
  right:22px !important;
  top:118px !important;
  z-index:20 !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .workspace-list-item{
  width:100% !important;
  text-align:left !important;
  white-space:normal !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .album-search{
  position:relative !important;
  z-index:1 !important;
}
body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .photo-edit-grid{
  clear:both !important;
}
@media(max-width:1000px){
  body.admin-page #photoAlbumsAdmin .photo-workspace-v115{
    grid-template-columns:1fr !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .workspace-sidebar{
    position:static !important;
    max-height:none !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .photo-album-detail{
    grid-column:1 !important;
    padding-right:0 !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-workspace-v115 .media-action-rail{
    position:sticky !important;
    top:.5rem !important;
    right:auto !important;
  }
}

/* MCMS v1.0.20 - Photo Albums docked two-pane workspace fix */
body.admin-page #photos-admin.admin-panel.active,
body.admin-page #photoAlbumsAdmin{
  overflow:visible !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-workspace{
  display:grid !important;
  grid-template-columns:260px minmax(0,1fr) !important;
  gap:1rem !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-sidebar,
body.admin-page #photoAlbumsAdmin .photo-album-workspace > .workspace-sidebar{
  grid-column:1 !important;
  position:sticky !important;
  top:92px !important;
  align-self:start !important;
  max-height:calc(100vh - 110px) !important;
  overflow:hidden !important;
  z-index:3 !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-workspace .album-list-scroll{
  max-height:calc(100vh - 270px) !important;
  overflow:auto !important;
  padding-right:.25rem !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-detail,
body.admin-page #photoAlbumsAdmin .photo-album-workspace > .workspace-detail{
  grid-column:2 !important;
  min-width:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-workspace .workspace-list-item{
  width:100% !important;
  text-align:left !important;
  white-space:normal !important;
  display:block !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-detail .media-action-rail{
  position:fixed !important;
  right:22px !important;
  top:118px !important;
  z-index:25 !important;
}
@media(max-width:1000px){
  body.admin-page #photoAlbumsAdmin .photo-album-workspace{
    grid-template-columns:1fr !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-album-sidebar,
  body.admin-page #photoAlbumsAdmin .photo-album-workspace > .workspace-sidebar{
    position:static !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-album-workspace .album-list-scroll{
    max-height:none !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-album-detail,
  body.admin-page #photoAlbumsAdmin .photo-album-workspace > .workspace-detail{
    grid-column:1 !important;
    padding-right:0 !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-album-detail .media-action-rail{
    position:sticky !important;
    top:.5rem !important;
    right:auto !important;
  }
}


/* MCMS v1.0.20 Photo Albums add workflow + collapsible metadata */
body.admin-page #photoAlbumsAdmin .album-metadata-panel,
body.admin-page #photoAlbumsAdmin .album-bulk-panel{
  border:1px solid var(--border, rgba(255,255,255,.22));
  border-radius:16px;
  background:var(--panel, rgba(255,255,255,.05));
  margin:1rem 0;
  padding:.35rem .75rem .75rem;
}
body.admin-page #photoAlbumsAdmin .album-metadata-panel > summary,
body.admin-page #photoAlbumsAdmin .album-bulk-panel > summary{
  cursor:pointer;
  font-weight:800;
  color:var(--heading, var(--text, #fff));
  padding:.8rem .25rem;
}
body.admin-page #photoAlbumsAdmin .album-metadata-panel[open] > summary,
body.admin-page #photoAlbumsAdmin .album-bulk-panel[open] > summary{
  border-bottom:1px solid var(--border, rgba(255,255,255,.16));
  margin-bottom:.75rem;
}
body.admin-page #photoAlbumsAdmin .path-picker-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:.5rem;
  align-items:center;
}
body.admin-page #photoAlbumsAdmin .path-picker-row input{
  min-width:0;
}
body.admin-page #photoAlbumsAdmin .photo-album-detail .cover-preview-box img{
  max-width:100%;
  max-height:120px;
  object-fit:cover;
}


/* MCMS v1.0.20 - Photo album cover browser and compact photo metadata */
.photo-album-detail .path-picker-row{display:flex;gap:.6rem;align-items:center;flex-wrap:nowrap}
.photo-album-detail .path-picker-row input{min-width:0;flex:1}
.photo-album-detail .album-metadata-panel,
.photo-album-detail .album-bulk-panel,
.photo-card-meta{border:1px solid var(--card-border, rgba(255,255,255,.22));border-radius:14px;background:rgba(0,0,0,.08);padding:.75rem;margin:.75rem 0}
.photo-album-detail details>summary{cursor:pointer;font-weight:800;color:var(--text,#fff);padding:.25rem 0;list-style:none}
.photo-editor-grid-large{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.photo-editor-card-v119{display:flex;flex-direction:column;gap:.55rem;padding:.75rem;min-height:0}
.photo-card-top{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-weight:800}
.photo-card-order{opacity:.75;font-size:.85rem}
.photo-admin-thumb-large{width:100%;height:190px;object-fit:cover;border-radius:12px;cursor:pointer;background:rgba(255,255,255,.08)}
.photo-editor-card-v119 .photo-file-name{font-weight:800;line-height:1.25;min-height:2.5em;max-height:2.5em;overflow:hidden}
.photo-card-meta:not([open]){padding:.55rem .75rem}
.photo-card-meta summary{font-size:.9rem}
.photo-card-meta label{margin-top:.55rem}
.photo-card-meta input{width:100%}
@media (max-width: 800px){.photo-editor-grid-large{grid-template-columns:1fr}.photo-admin-thumb-large{height:240px}.photo-album-detail .path-picker-row{flex-wrap:wrap}}

/* MCMS v1.0.29 version display consistency polish */
.upload-diagnostics,
.upload-errors {
  margin-top: .75rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(214,163,69,.45);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: inherit;
}
.upload-errors ul { margin: .4rem 0 0 1.2rem; padding: 0; }
.upload-errors li { margin: .2rem 0; }
#photoAlbumName { font-weight: 700; }
#photoAlbumNewFolder { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

/* MCMS v1.0.23 Admin UI consistency and log viewer */
body.admin-page,
body.admin-page main,
body.admin-page .admin-shell,
body.admin-page .admin-panel,
body.admin-page .settings-workspace,
body.admin-page .settings-section,
body.admin-page .admin-item,
body.admin-page .card,
body.admin-page .status,
body.admin-page .mail-status-card,
body.admin-page .provider-help {
  background-color: #fff8ee !important;
  color: #24170f !important;
  -webkit-text-fill-color: #24170f !important;
}
body.admin-page .settings-workspace,
body.admin-page .settings-section,
body.admin-page .mail-status-card,
body.admin-page .provider-help,
body.admin-page .admin-item,
body.admin-page .log-viewer {
  background: #fffdf8 !important;
  border: 1px solid #ead9bf !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(53,31,14,.08) !important;
}
body.admin-page .settings-section {
  padding: 1.15rem !important;
  margin: 1rem 0 !important;
}
body.admin-page h1,
body.admin-page h2,
body.admin-page h3,
body.admin-page h4,
body.admin-page p,
body.admin-page li,
body.admin-page label,
body.admin-page label span,
body.admin-page small,
body.admin-page .field-help,
body.admin-page .legacy-note,
body.admin-page .provider-help,
body.admin-page .mail-status-card strong,
body.admin-page .mail-status-card span,
body.admin-page .mail-status-card small {
  color: #24170f !important;
  -webkit-text-fill-color: #24170f !important;
  text-shadow: none !important;
}
body.admin-page small,
body.admin-page .field-help,
body.admin-page .legacy-note {
  color: #5f4b3b !important;
  -webkit-text-fill-color: #5f4b3b !important;
}
body.admin-page input,
body.admin-page textarea,
body.admin-page select,
body.admin-page option,
body.admin-page .admin-editor,
body.admin-page pre,
body.admin-page code {
  background: #ffffff !important;
  color: #24170f !important;
  -webkit-text-fill-color: #24170f !important;
  border-color: #d7c1a2 !important;
  caret-color: #24170f !important;
}
body.admin-page input::placeholder,
body.admin-page textarea::placeholder {
  color: #7d6958 !important;
  -webkit-text-fill-color: #7d6958 !important;
  opacity: 1 !important;
}
body.admin-page .check-row,
body.admin-page .admin-check {
  background: #fff7e8 !important;
  border: 1px solid #ead9bf !important;
  border-radius: 12px !important;
  padding: .75rem !important;
  color: #24170f !important;
}
body.admin-page .check-row input,
body.admin-page .admin-check input,
body.admin-page input[type="checkbox"],
body.admin-page input[type="radio"] {
  width: auto !important;
  accent-color: #c9913b !important;
  -webkit-text-fill-color: initial !important;
}
body.admin-page .admin-log-content {
  min-height: 420px;
  max-height: 62vh;
  overflow: auto;
  white-space: pre-wrap;
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: .92rem;
  line-height: 1.45;
  padding: 1rem;
  border-radius: 14px;
  background: #111 !important;
  color: #f5f5f5 !important;
  -webkit-text-fill-color: #f5f5f5 !important;
  border: 1px solid #333 !important;
}
body.admin-page .error-text { color:#a82020 !important; -webkit-text-fill-color:#a82020 !important; font-weight:800; }


/* MCMS v1.0.24 log viewer */
.log-viewer{color:var(--admin-text,#fff);}
.log-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;}
.log-select.active{background:var(--accent,#27b8df)!important;color:#061922!important;border-color:var(--accent,#27b8df)!important;}
.log-select small{display:block;font-size:.75em;opacity:.8;}
.log-content{background:#07161d;color:#e9f7ff;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:1rem;min-height:260px;max-height:520px;overflow:auto;white-space:pre-wrap;line-height:1.45;font-family:Consolas,Monaco,'Courier New',monospace;font-size:.92rem;}
.log-error{background:#ffe9e9;color:#5f1111;border:1px solid #d84848;border-radius:12px;padding:1rem;}


/* MCMS v1.0.28 - Photo Albums sidebar scroll and upload diagnostics polish */
body.admin-page #photoAlbumsAdmin .photo-album-workspace{
  min-height:0 !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-sidebar,
body.admin-page #photoAlbumsAdmin .photo-album-workspace > .workspace-sidebar{
  display:flex !important;
  flex-direction:column !important;
  max-height:calc(100vh - 115px) !important;
  overflow:hidden !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-workspace .album-list-scroll{
  flex:1 1 auto !important;
  min-height:180px !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:.35rem !important;
}
body.admin-page #photoAlbumsAdmin .photo-album-workspace .album-list-scroll::-webkit-scrollbar{
  width:10px;
}
body.admin-page #photoAlbumsAdmin .photo-album-workspace .album-list-scroll::-webkit-scrollbar-thumb{
  background:var(--theme-accent,#2aaed6);
  border-radius:10px;
}
@media(max-width:1000px){
  body.admin-page #photoAlbumsAdmin .photo-album-sidebar,
  body.admin-page #photoAlbumsAdmin .photo-album-workspace > .workspace-sidebar{
    display:block !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.admin-page #photoAlbumsAdmin .photo-album-workspace .album-list-scroll{
    max-height:60vh !important;
  }
}

/* MCMS v1.0.30 - Admin theme consistency and Photo Albums upload controls */
body.admin-page .settings-dashboard,
body.admin-page .settings-dashboard *:not(input):not(textarea):not(select):not(option):not(button){
  color: var(--admin-text, #ffffff) !important;
  -webkit-text-fill-color: var(--admin-text, #ffffff) !important;
}
body.admin-page .settings-dashboard .settings-section,
body.admin-page .settings-dashboard .settings-section *:not(input):not(textarea):not(select):not(option):not(button){
  color: #24170f !important;
  -webkit-text-fill-color: #24170f !important;
}
body.admin-page .settings-dashboard .settings-section{
  background:#fffaf2 !important;
  border:1px solid #d7c1a2 !important;
}
body.admin-page .settings-dashboard .settings-section .admin-grid,
body.admin-page .settings-dashboard .settings-section .settings-grid,
body.admin-page .settings-dashboard .settings-section .settings-checks{
  background: transparent !important;
}
body.admin-page .settings-dashboard .settings-section label{
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
  font-weight:800 !important;
}
body.admin-page .settings-dashboard .settings-section label small,
body.admin-page .settings-dashboard .settings-section .field-help,
body.admin-page .settings-dashboard .settings-section p{
  color:#514336 !important;
  -webkit-text-fill-color:#514336 !important;
}
body.admin-page .settings-dashboard .check-row,
body.admin-page .settings-dashboard .admin-check{
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
  background:#fff3df !important;
}
body.admin-page .settings-dashboard .mail-status-card,
body.admin-page .settings-dashboard .mail-status-card *{
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
}
body.admin-page .settings-dashboard input,
body.admin-page .settings-dashboard textarea,
body.admin-page .settings-dashboard select{
  background:#ffffff !important;
  color:#06202b !important;
  -webkit-text-fill-color:#06202b !important;
  border:1px solid #c9913b !important;
}
body.admin-page .rail-file-button.is-saving{
  opacity:.75;
  pointer-events:none;
  filter:saturate(.8);
}
body.admin-page #photoAlbumsAdmin .workspace-sidebar{
  position:sticky;
  top:1rem;
}

/* MCMS v1.0.31 final admin readability + scrolling guard */
body.admin-page,
body.admin-page .admin-shell,
body.admin-page .admin-panel,
body.admin-page .admin-item,
body.admin-page .card,
body.admin-page .status,
body.admin-page .notice,
body.admin-page .toolbar,
body.admin-page .admin-grid {
  color-scheme: light !important;
}
body.admin-page input,
body.admin-page textarea,
body.admin-page select,
body.admin-page option,
body.admin-page .admin-editor,
body.admin-page [contenteditable="true"] {
  background: #ffffff !important;
  color: #130e0a !important;
  -webkit-text-fill-color: #130e0a !important;
  border-color: #d9bd91 !important;
  caret-color: #130e0a !important;
  box-shadow: none !important;
}
body.admin-page input::placeholder,
body.admin-page textarea::placeholder {
  color: #6f5b49 !important;
  -webkit-text-fill-color: #6f5b49 !important;
  opacity: 1 !important;
}
body.admin-page .photo-album-sidebar,
body.admin-page .album-sidebar,
body.admin-page .music-album-sidebar,
body.admin-page .calendar-show-sidebar,
body.admin-page .links-sidebar,
body.admin-page .workspace-nav {
  max-height: calc(100vh - 180px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
body.admin-page .calendar-show-sidebar {
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}
body.admin-page .calendar-show-sidebar .show-nav-list {
  max-height: calc(100vh - 390px);
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
body.admin-page .music-album-sidebar,
body.admin-page .links-sidebar {
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}
body.admin-page .music-album-sidebar .album-nav-list,
body.admin-page .links-sidebar .links-nav-list {
  max-height: calc(100vh - 340px);
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
body.admin-page .upload-errors,
body.admin-page .upload-diagnostics,
body.admin-page .log-viewer,
body.admin-page pre,
body.admin-page code {
  background: #fffaf1 !important;
  color: #130e0a !important;
  -webkit-text-fill-color: #130e0a !important;
}


/* MCMS v1.0.32 - remove unwanted numeric marker from Photo bulk actions summaries */
body.admin-page #photoAlbumsAdmin details > summary,
body.admin-page #photoAlbumsAdmin details > summary::marker,
body.admin-page #photoAlbumsAdmin details > summary::-webkit-details-marker{
  list-style:none !important;
}
body.admin-page #photoAlbumsAdmin details > summary::-webkit-details-marker{display:none !important;}

/* MCMS v1.0.36 - admin form readability sweep
   Keep every Admin control readable regardless of selected theme/browser color mode. */
body.admin-page {
  color-scheme: light !important;
}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body.admin-page textarea,
body.admin-page select,
body.admin-page option,
body.admin-page .admin-editor,
body.admin-page [contenteditable="true"] {
  background-color:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  text-shadow:none !important;
  border-color:#39a9d6 !important;
  caret-color:#081f28 !important;
  opacity:1 !important;
  font-weight:700;
}
body.admin-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):focus,
body.admin-page textarea:focus,
body.admin-page select:focus,
body.admin-page [contenteditable="true"]:focus {
  outline:3px solid rgba(57,169,214,.45) !important;
  outline-offset:2px !important;
}
body.admin-page input::placeholder,
body.admin-page textarea::placeholder {
  color:#637781 !important;
  -webkit-text-fill-color:#637781 !important;
  opacity:1 !important;
  font-weight:500 !important;
}
body.admin-page select option,
body.admin-page optgroup {
  background-color:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
}
body.admin-page input[type="checkbox"],
body.admin-page input[type="radio"] {
  accent-color:#39a9d6 !important;
  background-color:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
}
body.admin-page label.check-row,
body.admin-page .check-row,
body.admin-page .settings-section label.check-row,
body.admin-page .settings-checks .check-row {
  background:#fff6e6 !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  border:1px solid #d9bd91 !important;
  text-shadow:none !important;
}
body.admin-page label.check-row *,
body.admin-page .check-row *,
body.admin-page .settings-section label.check-row *,
body.admin-page .settings-checks .check-row * {
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  text-shadow:none !important;
}
body.admin-page .path-picker-row input,
body.admin-page .cover-entry input,
body.admin-page .admin-grid input,
body.admin-page .admin-grid textarea,
body.admin-page .admin-grid select,
body.admin-page .theme-color-grid input:not([type="color"]),
body.admin-page .settings-section input,
body.admin-page .settings-section textarea,
body.admin-page .settings-section select,
body.admin-page .booking-admin-card textarea,
body.admin-page .booking-admin-card select,
body.admin-page .calendar-show-grid input,
body.admin-page .calendar-show-detail textarea,
body.admin-page .links-grid input,
body.admin-page .link-detail textarea,
body.admin-page .link-detail select {
  background-color:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  border-color:#39a9d6 !important;
  text-shadow:none !important;
}
body.admin-page .password-eye-wrap input {
  background-color:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
}
body.admin-page .password-eye-btn {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* MCMS v1.0.37 - admin About/WYSIWYG contrast correction
   Keep editable content readable even when saved HTML contains inline white/light text. */
body.admin-page .editor-toolbar,
body.admin-page .rich-toolbar,
body.admin-page .format-toolbar {
  background:transparent !important;
}
body.admin-page .editor-toolbar button,
body.admin-page .rich-toolbar button,
body.admin-page .format-toolbar button,
body.admin-page button[data-command],
body.admin-page .admin-editor-toolbar button {
  background:#fff8ee !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  border:1px solid #d9bd91 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.admin-page .editor-toolbar button *,
body.admin-page .rich-toolbar button *,
body.admin-page .format-toolbar button * {
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  text-shadow:none !important;
}
body.admin-page .admin-editor,
body.admin-page .admin-editor.rich-editor,
body.admin-page .rich-editor,
body.admin-page [contenteditable="true"] {
  background:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  border:2px solid #39a9d6 !important;
  text-shadow:none !important;
  color-scheme:light !important;
}
body.admin-page .admin-editor *,
body.admin-page .admin-editor.rich-editor *,
body.admin-page .rich-editor *,
body.admin-page [contenteditable="true"] * {
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  background-color:transparent !important;
  text-shadow:none !important;
}
body.admin-page .admin-editor a,
body.admin-page .rich-editor a,
body.admin-page [contenteditable="true"] a {
  color:#0645ad !important;
  -webkit-text-fill-color:#0645ad !important;
  text-decoration:underline !important;
}
body.admin-page .admin-editor mark,
body.admin-page .rich-editor mark,
body.admin-page [contenteditable="true"] mark {
  background:#fff0b3 !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
}
body.admin-page .about-detail,
body.admin-page .about-workspace .admin-item {
  color:#fff8ee !important;
}
body.admin-page .about-detail label,
body.admin-page .about-workspace label {
  color:#fff8ee !important;
  -webkit-text-fill-color:#fff8ee !important;
}
body.admin-page .about-detail input,
body.admin-page .about-detail textarea,
body.admin-page .about-detail select {
  background:#ffffff !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  border-color:#39a9d6 !important;
  text-shadow:none !important;
}

/* MCMS v1.0.38 - keep light admin tables readable in dark admin panels. */
body.admin-page .admin-table {
  background:#fffdf8 !important;
  color:#24170f !important;
  color-scheme:light !important;
}
body.admin-page .admin-table th,
body.admin-page .admin-table td,
body.admin-page .admin-table td *:not(button):not(.admin-action) {
  color:#24170f !important;
  -webkit-text-fill-color:#24170f !important;
  text-shadow:none !important;
}
body.admin-page .admin-table th {
  background:#f7eddf !important;
}

/* MCMS Downloads module: keep the Active checkbox label readable. */
body.admin-page .download-product-head .admin-check,
body.admin-page .download-product-head .admin-check * {
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
  text-shadow:none !important;
}
body.admin-page .download-product-head .admin-check {
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;
  width:auto !important;
  background:#fff6e6 !important;
  border:1px solid #d9bd91 !important;
  border-radius:12px !important;
  padding:.65rem .8rem !important;
}

/* Admin polish: shared action rail contrast and dashboard logout. */
body.admin-page .download-action-rail .admin-action,
body.admin-page .pages-action-rail .admin-action {
  background:#0b2430 !important;
  border:1px solid #39a9d6 !important;
  color:#fff8ee !important;
  -webkit-text-fill-color:#fff8ee !important;
  box-shadow:0 6px 0 rgba(57,169,214,.18),0 12px 22px rgba(0,0,0,.24) !important;
  text-shadow:none !important;
}
body.admin-page .download-action-rail .admin-action *,
body.admin-page .pages-action-rail .admin-action * {
  color:#fff8ee !important;
  -webkit-text-fill-color:#fff8ee !important;
  text-shadow:none !important;
}
body.admin-page .download-action-rail .admin-action.primary,
body.admin-page .pages-action-rail .admin-action.primary {
  background:#39a9d6 !important;
  border-color:#39a9d6 !important;
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
}
body.admin-page .download-action-rail .admin-action.primary *,
body.admin-page .pages-action-rail .admin-action.primary * {
  color:#081f28 !important;
  -webkit-text-fill-color:#081f28 !important;
}
body.admin-page .download-action-rail .admin-action:hover,
body.admin-page .pages-action-rail .admin-action:hover,
body.admin-page .download-action-rail .admin-action:focus,
body.admin-page .pages-action-rail .admin-action:focus {
  background:#123343 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.admin-page .download-action-rail .admin-action.primary:hover,
body.admin-page .pages-action-rail .admin-action.primary:hover,
body.admin-page .download-action-rail .admin-action.primary:focus,
body.admin-page .pages-action-rail .admin-action.primary:focus {
  background:#54bce4 !important;
  color:#061f28 !important;
  -webkit-text-fill-color:#061f28 !important;
}
body.admin-page .album-action-rail button,
body.admin-page .album-action-rail button * {
  color:#1e120a !important;
  -webkit-text-fill-color:#1e120a !important;
  text-shadow:none !important;
}
body.admin-page .album-action-rail .album-save-button,
body.admin-page .album-action-rail .album-add-track-button {
  background:linear-gradient(180deg,#e7b85e,#c98c31) !important;
  border-color:#b5771e !important;
}
body.admin-page .album-action-rail .album-add-track-button {
  box-shadow:0 6px 0 #7b4b15,0 12px 20px rgba(0,0,0,.22) !important;
}
body.admin-page .album-action-rail button.saved,
body.admin-page .album-action-rail button.saved * {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.admin-page .admin-tabs {
  position:relative !important;
  padding-right:8.5rem !important;
}
body.admin-page #logoutBtn {
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  background:linear-gradient(180deg,#e44b4b,#b82222) !important;
  border:1px solid rgba(255,255,255,.38) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.28) !important;
}
body.admin-page #logoutBtn:hover,
body.admin-page #logoutBtn:focus {
  background:linear-gradient(180deg,#f15b5b,#c62828) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
@media(max-width:760px) {
  body.admin-page .admin-tabs {
    padding-right:0 !important;
  }
  body.admin-page #logoutBtn {
    position:static !important;
    margin-left:auto !important;
  }
}

/* Admin button polish: calmer navigation tabs and consistent module actions. */
body.admin-page .admin-tabs {
  gap:.55rem !important;
  align-items:center !important;
}
body.admin-page .admin-tabs button:not(#logoutBtn) {
  position:relative !important;
  min-height:42px !important;
  padding:.65rem .95rem .65rem 1.05rem !important;
  border:1px solid rgba(57,169,214,.46) !important;
  border-radius:12px !important;
  background:rgba(8,31,40,.72) !important;
  color:#f7fbfd !important;
  -webkit-text-fill-color:#f7fbfd !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 16px rgba(0,0,0,.12) !important;
  text-shadow:none !important;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}
body.admin-page .admin-tabs button:not(#logoutBtn)::before {
  content:"" !important;
  position:absolute !important;
  left:.55rem !important;
  top:50% !important;
  width:4px !important;
  height:54% !important;
  border-radius:999px !important;
  background:transparent !important;
  transform:translateY(-50%) !important;
}
body.admin-page .admin-tabs button:not(#logoutBtn):hover,
body.admin-page .admin-tabs button:not(#logoutBtn):focus {
  background:rgba(18,51,67,.96) !important;
  border-color:#57c0e6 !important;
  transform:translateY(-1px) !important;
}
body.admin-page .admin-tabs button.active:not(#logoutBtn) {
  background:linear-gradient(180deg,#55b9df,#2fa0cd) !important;
  border-color:#6ed1f4 !important;
  color:#061f28 !important;
  -webkit-text-fill-color:#061f28 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 10px 18px rgba(57,169,214,.22) !important;
}
body.admin-page .admin-tabs button.active:not(#logoutBtn)::before {
  background:#fff8ee !important;
}
body.admin-page .toolbar .admin-action:not(.danger),
body.admin-page .dashboard-actions .admin-action:not(.danger),
body.admin-page .log-toolbar .admin-action:not(.danger),
body.admin-page .admin-item .admin-action:not(.danger) {
  border-radius:12px !important;
  border:1px solid rgba(57,169,214,.58) !important;
  background:#0b2430 !important;
  color:#fff8ee !important;
  -webkit-text-fill-color:#fff8ee !important;
  box-shadow:0 6px 14px rgba(0,0,0,.16) !important;
  text-shadow:none !important;
}
body.admin-page .toolbar .admin-action.primary,
body.admin-page .dashboard-actions .admin-action.primary,
body.admin-page .admin-item .admin-action.primary {
  background:linear-gradient(180deg,#55b9df,#2fa0cd) !important;
  border-color:#6ed1f4 !important;
  color:#061f28 !important;
  -webkit-text-fill-color:#061f28 !important;
}
body.admin-page .toolbar .admin-action:not(.danger):hover,
body.admin-page .dashboard-actions .admin-action:not(.danger):hover,
body.admin-page .log-toolbar .admin-action:not(.danger):hover,
body.admin-page .admin-item .admin-action:not(.danger):hover {
  background:#123343 !important;
  border-color:#6ed1f4 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  transform:translateY(-1px) !important;
}
body.admin-page .toolbar .admin-action.primary:hover,
body.admin-page .dashboard-actions .admin-action.primary:hover,
body.admin-page .admin-item .admin-action.primary:hover {
  background:linear-gradient(180deg,#6bc7ea,#3bacd6) !important;
  color:#061f28 !important;
  -webkit-text-fill-color:#061f28 !important;
}
body.admin-page .toolbar .admin-action.danger,
body.admin-page .admin-item .admin-action.danger,
body.admin-page .log-toolbar .admin-action.danger {
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:linear-gradient(180deg,#d84a4a,#a91d1d) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
}
body.admin-page .download-action-rail .admin-action,
body.admin-page .pages-action-rail .admin-action {
  min-height:56px !important;
  border-radius:14px !important;
}
body.admin-page #logoutBtn {
  border-radius:14px !important;
}

/* Feedback spam protection. */
.feedback-captcha,
.booking-captcha {
  display:grid;
  gap:.35rem;
}
.feedback-captcha span,
.booking-captcha span {
  font-weight:800;
}
.feedback-honeypot,
.hp-field {
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* Public show cards: make optional admin notes visible but secondary. */
.show-notes {
  margin:.7rem 0 .5rem;
  padding:.65rem .75rem;
  border-left:4px solid var(--accent,#c9913b);
  border-radius:10px;
  background:rgba(201,145,59,.12);
  color:var(--ink,#24170f);
}
.show-notes strong {
  color:inherit;
}
