.tddr-lunar { --lunar-night:#081725; --lunar-ink:#172c41; --lunar-muted:#526478; --lunar-gold:#d7a84b; --lunar-paper:#f5f1e9; color:var(--lunar-ink); background:#fff; font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; width:100%; }
.tddr-lunar *, .tddr-lunar *::before, .tddr-lunar *::after { box-sizing:border-box; }
.tddr-lunar [hidden] { display:none!important; }
.tddr-lunar h1,.tddr-lunar h2,.tddr-lunar h3,.tddr-lunar p { margin:0 0 1rem; }
.tddr-lunar h1,.tddr-lunar h2,.tddr-lunar h3 { color:inherit; font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.12; letter-spacing:-.035em; }
.tddr-lunar h1 { font-size:clamp(3rem,5.2vw,4.8rem); max-width:10ch; margin:.8rem 0 1rem; }
.tddr-lunar h2 { font-size:clamp(2rem,3.2vw,3.4rem); }
.tddr-lunar h3 { font-size:1.6rem; letter-spacing:-.02em; }
.tddr-lunar a { color:inherit; text-underline-offset:.25em; }
.tddr-lunar button,.tddr-lunar input { font:inherit; }
.tddr-lunar button,.tddr-lunar-button { min-height:44px; border:1px solid #a6b1b9; padding:.55rem 1rem; border-radius:5px; background:transparent; color:inherit; cursor:pointer; line-height:1.4; text-decoration:none; }
.tddr-lunar button:hover,.tddr-lunar button:focus-visible { border-color:var(--lunar-ink); background:#ede8dd; }
.tddr-lunar :focus-visible { outline:3px solid #a8791e; outline-offset:4px; }
.tddr-lunar-wrap { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.tddr-lunar-hero { position:relative; isolation:isolate; background:var(--lunar-night); color:#fff; min-height:580px; overflow:hidden; }
.tddr-lunar-cover { position:absolute; inset:0; z-index:-2; }
.tddr-lunar-cover img { display:block; height:100%; width:100%; object-fit:cover; object-position:center; }
.tddr-lunar-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,17,29,.96),rgba(5,17,29,.87) 38%,rgba(5,17,29,.05) 85%); }
.tddr-lunar-hero-content { padding-block:28px 32px; }
.tddr-lunar-breadcrumb { display:flex; gap:.65rem; font-size:.76rem; color:#c2ccd5; margin-bottom:2rem; }
.tddr-lunar-eyebrow { font-size:.72rem; text-transform:uppercase; letter-spacing:.17em; font-weight:650; color:#87641d; }
.tddr-lunar-hero .tddr-lunar-eyebrow,.tddr-lunar-local-section .tddr-lunar-eyebrow { color:var(--lunar-gold); }
.tddr-lunar-lead { max-width:46ch; font-size:1.08rem; color:#d2dae2; }
.tddr-lunar-button { display:inline-flex; align-items:center; gap:1.3rem; border-color:var(--lunar-gold); color:var(--lunar-night); background:var(--lunar-gold); font-weight:600; }
.tddr-lunar a.tddr-lunar-button { color:var(--lunar-night); }
.tddr-lunar-button:hover { background:#e6c57e; color:var(--lunar-night); }
.tddr-lunar-now { display:flex; align-items:center; gap:1.1rem; margin-top:1.6rem; min-height:108px; max-width:530px; }
.tddr-lunar-now .tddr-lunar-disc { width:76px; flex-shrink:0; }
.tddr-lunar-now p { margin:0; }
.tddr-lunar-now-title { font-size:1.15rem; }
.tddr-lunar-now small { color:#c0cbd4; font-size:.73rem; }
.tddr-lunar-disc { display:block; width:100%; height:auto; }
.tddr-lunar-illustration-note { display:block; color:#c0cbd4; font-size:.66rem; max-width:50ch; }
.tddr-lunar-chapters { display:flex; flex-wrap:wrap; gap:.6rem 2rem; padding-block:1.2rem; border-bottom:1px solid #d5d9dc; }
.tddr-lunar-chapters a { text-decoration:none; font-size:.9rem; padding-block:.4rem; }
.tddr-lunar-chapters a:hover { text-decoration:underline; }
.tddr-lunar-calendar-section { padding-block:4rem; }
.tddr-lunar-section-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:2rem; }
.tddr-lunar-section-heading>p { max-width:45ch; color:var(--lunar-muted); font-size:.9rem; }
.tddr-lunar-toolbar { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.tddr-lunar-month-controls,.tddr-lunar-view-switch { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.tddr-lunar-calendar-column>.tddr-lunar-month-controls { margin-bottom:1.25rem; }
.tddr-lunar input[type="month"] { border:1px solid #a6b1b9; background:white; border-radius:5px; min-height:44px; padding:6px 10px; color:var(--lunar-ink); width:180px; }
.tddr-lunar [aria-pressed="true"] { background:var(--lunar-ink); color:#fff; border-color:var(--lunar-ink); }
.tddr-lunar .tddr-lunar-zone { margin:.7rem 0; font-size:.8rem; color:var(--lunar-muted); }
.tddr-lunar-filters { display:flex; flex-wrap:wrap; border:0; border-block:1px solid #d5d9dc; gap:.3rem 1rem; padding:10px 0; margin:0; }
.tddr-lunar-filters legend { font-size:.75rem; color:var(--lunar-muted); padding-right:.75rem; }
.tddr-lunar-filters label { display:flex; align-items:center; gap:.35rem; min-height:36px; font-size:.8rem; cursor:pointer; }
.tddr-lunar-filters input { accent-color:#8a651b; width:16px; height:16px; }
.tddr-lunar-calendar-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:3rem; align-items:start; }
.tddr-lunar-calendar-column { min-width:0; }
.tddr-lunar-calendar-column>h3 { margin:0 0 1.3rem; }
.tddr-lunar-calendar-body { min-height:430px; }
.tddr-lunar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.tddr-lunar-week>[role="columnheader"] { padding:8px 0; text-align:center; font-size:.72rem; font-weight:600; color:var(--lunar-muted); overflow:hidden; }
.tddr-lunar-week>[role="gridcell"] { min-width:0; border-top:1px solid #e1e4e5; }
.tddr-lunar-grid button { position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; width:100%; min-height:78px; border:1px solid transparent; padding:5px 2px; border-radius:3px; font-size:.85rem; }
.tddr-lunar-grid .tddr-lunar-disc { width:29px; }
.tddr-lunar-grid [aria-selected="true"]>button { border-color:#987226; background:#f4ead4; }
.tddr-lunar-grid [aria-current="date"]>span:first-child { font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.tddr-lunar-grid [data-lunar-locked] { color:#667381; background:#f6f6f4; }
.tddr-lunar-dot { display:block; position:absolute; width:5px; height:5px; border-radius:50%; background:#936c21; right:8px; bottom:10px; }
.tddr-lunar-event-markers { display:flex; gap:3px; position:absolute; left:3px; bottom:2px; font-size:.65rem; color:#74510e; }
.tddr-lunar-glyph { display:inline-block; font-family:"Segoe UI Symbol","Apple Symbols",sans-serif; font-size:1.1em; }
.tddr-lunar-enhanced:not(.tddr-lunar-agenda-view) .tddr-lunar-month-agenda { display:none; }
.tddr-lunar-agenda-view .tddr-lunar-calendar-body { display:none; }
.tddr-lunar-month-agenda { max-height:600px; overflow:auto; }
.tddr-lunar-day { padding-left:2rem; border-left:1px solid #d5d9dc; min-height:650px; min-width:0; }
.tddr-lunar-day>h2 { font-family:inherit; font-size:1.15rem; font-weight:650; letter-spacing:0; }
.tddr-lunar-day-heading { display:flex; gap:1.3rem; align-items:center; margin-bottom:1.5rem; }
.tddr-lunar-day-heading>div:first-child { width:76px; flex-shrink:0; }
.tddr-lunar-day-heading h3 { margin-bottom:.4rem; }
.tddr-lunar-day-heading p { margin:0; }
.tddr-lunar-day-heading small { color:var(--lunar-muted); font-size:.73rem; }
.tddr-lunar-reading { font-size:.95rem; color:var(--lunar-muted); }
.tddr-lunar-eclipse { border-left:3px solid var(--lunar-gold); background:#f7f2e7; padding:1rem 1.1rem; margin-bottom:1.5rem; font-size:.9rem; }
.tddr-lunar-eclipse-badge { display:inline-flex; align-items:center; gap:.45rem; color:#674607; font-weight:700; font-size:.85rem; }
.tddr-lunar-eclipse .tddr-lunar-eclipse-time { font-size:.75rem; margin:.4rem 0 .8rem; color:var(--lunar-muted); }
.tddr-lunar-eclipse p:last-child { margin-bottom:0; }
.tddr-lunar-voc { color:#edc67a; font-size:.85rem; }
.tddr-lunar-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; margin:1.5rem 0 2rem; }
.tddr-lunar-facts dt { font-size:.72rem; color:var(--lunar-muted); }
.tddr-lunar-facts dd { font-size:1rem; margin:0; font-variant-numeric:tabular-nums; }
.tddr-lunar-events { list-style:none; padding:0; margin:1rem 0 1.5rem; }
.tddr-lunar-events li { display:grid; grid-template-columns:100px minmax(0,1fr); gap:1rem; padding:.75rem 0 .75rem 1rem; border-left:2px solid #d7a84b; border-bottom:1px solid #e0e3e5; font-size:.87rem; }
.tddr-lunar-events time { font-size:.75rem; color:var(--lunar-muted); font-variant-numeric:tabular-nums; }
.tddr-lunar-aspects { list-style:none; padding:0; margin:1rem 0 2rem; }
.tddr-lunar-aspects li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.2rem .7rem; border-bottom:1px solid #d5d9dc; padding:.6rem 0; font-size:.8rem; }
.tddr-lunar-aspects span { color:var(--lunar-muted); }
.tddr-lunar-note { color:var(--lunar-muted); font-size:.79rem; line-height:1.6; }
.tddr-lunar .tddr-lunar-status { min-height:28px; margin:.3rem 0 .6rem; font-size:.8rem; }
.tddr-lunar-status button { font-size:.8rem; margin-left:.65rem; padding:.35rem .65rem; }
.tddr-lunar-loading { display:flex; align-items:center; justify-content:center; gap:1rem; min-height:140px; color:inherit; }
.tddr-lunar-loading::before { content:""; width:20px; height:20px; border:2px solid #a8b4be; border-right-color:transparent; border-radius:50%; animation:tddr-lunar-spin 1s linear infinite; flex-shrink:0; }
.tddr-lunar-local-section { padding-block:4rem; background:var(--lunar-night); color:#eef2f5; }
.tddr-lunar-local-layout { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.tddr-lunar-local-layout>div:first-child>p:not(.tddr-lunar-eyebrow) { color:#c7d1da; }
.tddr-lunar-local-tool { min-width:0; }
.tddr-lunar-local-tool .tddr-lunar-note,.tddr-lunar-local-tool .tddr-lunar-facts dt { color:#c0ccd6; }
.tddr-lunar-local-tool button:hover { background:#24384a; border-color:#d7a84b; }
.tddr-lunar-search { display:flex; gap:.5rem; margin-top:.5rem; }
.tddr-lunar-search input { width:100%; min-width:0; min-height:44px; background:#f5f1e9; color:var(--lunar-ink); border:0; border-radius:4px; padding:8px 12px; }
.tddr-lunar-search button { flex-shrink:0; }
.tddr-lunar-local-tool>button { margin:4px 6px 8px 0; font-size:.8rem; }
.tddr-lunar-combobox { position:relative; min-width:0; flex:1; }
.tddr-lunar-location-results { position:absolute; top:100%; left:0; right:0; z-index:5; max-height:280px; overflow-y:auto; overscroll-behavior:contain; list-style:none; padding:4px; margin:4px 0 0; border:1px solid #a6b1b9; border-radius:5px; background:#fff; color:var(--lunar-ink); box-shadow:0 8px 22px rgba(0,0,0,.18); }
.tddr-lunar-location-results [role="option"] { min-height:44px; padding:8px 10px; cursor:pointer; font-size:.9rem; overflow-wrap:anywhere; }
.tddr-lunar-location-results [role="option"]:hover,.tddr-lunar-location-results [aria-selected="true"] { background:#edf3f8; }
.tddr-lunar-horizon { max-width:360px; width:100%; display:block; margin:auto; }
.tddr-lunar-guide { background:var(--lunar-paper); padding-block:4rem; }
.tddr-lunar-guide-intro { max-width:68ch; font-size:1.2rem; color:var(--lunar-muted); }
.tddr-lunar-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem 4rem; margin-top:2.5rem; }
.tddr-lunar-guide-grid>div { border-top:1px solid #d6d3cb; padding-top:1.5rem; }
.tddr-lunar-guide-grid p { color:var(--lunar-muted); font-size:.95rem; }
.tddr-lunar-guide-grid a { color:#76520e; }
.tddr-lunar-related { margin-top:3rem; padding-top:2rem; border-top:1px solid #d6d3cb; }
.tddr-lunar-related h2 { font-size:2rem; }
.tddr-lunar-related ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; gap:.8rem 3rem; }
.tddr-lunar-related a { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid #d6d3cb; text-decoration:none; font-family:Georgia,serif; font-size:1.1rem; }
.tddr-lunar-related a:hover { color:#76520e; }
.tddr-lunar-extended { text-align:center; padding-block:4rem; background:#eaf0f3; }
.tddr-lunar-extended p { max-width:65ch; margin-inline:auto; }
.tddr-lunar-range { font-weight:650; }
.tddr-lunar-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@keyframes tddr-lunar-spin { to { transform:rotate(360deg); } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) { .tddr-lunar-button,.tddr-lunar button { transition:background-color .18s,border-color .18s; } }
@media (min-width:960px) { .tddr-lunar-calendar-column { position:sticky; top:20px; } }
@media (max-width:900px) { .tddr-lunar-wrap { width:calc(100% - 40px); } .tddr-lunar-calendar-layout { gap:1.5rem; } .tddr-lunar-day { padding-left:1.5rem; } .tddr-lunar-local-layout { gap:2rem; } .tddr-lunar-hero::before { background:linear-gradient(90deg,rgba(5,17,29,.94),rgba(5,17,29,.55)); } }
@media (max-width:700px) { .tddr-lunar-wrap { width:calc(100% - 32px); } .tddr-lunar-hero { min-height:0; } .tddr-lunar-hero-content { padding-block:22px; } .tddr-lunar-hero h1 { font-size:3.25rem; } .tddr-lunar-breadcrumb { margin-bottom:1.5rem; } .tddr-lunar-cover img { object-position:65% center; } .tddr-lunar-lead { font-size:.95rem; } .tddr-lunar-chapters { gap:.25rem 1.25rem; } .tddr-lunar-section-heading { display:block; } .tddr-lunar-calendar-layout,.tddr-lunar-local-layout,.tddr-lunar-guide-grid { grid-template-columns:1fr; } .tddr-lunar-calendar-section,.tddr-lunar-local-section,.tddr-lunar-guide,.tddr-lunar-extended { padding-block:2.5rem; } .tddr-lunar-day { border-left:0; border-top:1px solid #d5d9dc; padding:2rem 0 0; min-height:0; } .tddr-lunar-grid button { min-height:72px; } .tddr-lunar-week>[role="columnheader"] { font-size:.65rem; } .tddr-lunar-guide-grid { gap:1.3rem; } .tddr-lunar-related ul { grid-template-columns:1fr; } .tddr-lunar-month-controls { gap:4px; } .tddr-lunar-month-controls>button { padding:7px 10px; } .tddr-lunar input[type="month"] { width:155px; font-size:.9rem; } .tddr-lunar-now { gap:.7rem; } .tddr-lunar-now-title { font-size:1rem; } .tddr-lunar-now small { font-size:.68rem; } }
@media (prefers-reduced-motion:reduce) { .tddr-lunar *,.tddr-lunar *::before,.tddr-lunar *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Keep floating contact controls away from interactive calendar cells. */
@media (max-width: 700px) {
    body.tddr-lunar-page.tddr-lunar-calendar-in-view :is(.whatsapp-link, .joinchat, .floating-whatsapp) { display: none !important; }
}
