/* Shared Today editorial layout. Isolated from other page types. */
body.journal--today-editorial { color-scheme: dark; min-width: 0; }
.today-editorial { --td-gold: var(--gold, #dfca9e); --td-text: var(--paper, #f4efe6); --td-muted: #b8b4aa; --td-line: rgba(223,202,158,.18); color: var(--td-text); font: 16px/1.65 var(--body); }
.today-editorial *, .today-editorial *::before, .today-editorial *::after { box-sizing: border-box; }
.today-editorial [hidden] { display: none !important; }
.td-shell { width: min(100% - 48px, 1240px); margin-inline: auto; }
.today-editorial h1, .today-editorial h2, .today-editorial h3, .today-editorial p, .today-editorial figure { margin: 0; }
.today-editorial h1, .today-editorial h2, .today-editorial h3 { font-family: var(--display); font-weight: 500; text-wrap: balance; }
.today-editorial h1 { max-width: 810px; font-size: clamp(46px, 5.8vw, 84px); line-height: .98; letter-spacing: -.035em; }
.today-editorial h2 { font-size: clamp(34px, 3.7vw, 54px); line-height: 1.06; letter-spacing: -.025em; }
.today-editorial h3 { font-size: 32px; line-height: 1.08; letter-spacing: -.015em; }
.today-editorial h2 em { color: var(--td-gold); font-weight: 500; }
.today-editorial a { color: inherit; }
.today-editorial a, .today-editorial button, .today-editorial select, .today-editorial summary { touch-action: manipulation; -webkit-tap-highlight-color: rgba(223,202,158,.16); }
.today-editorial :is(a, button, summary, select, textarea):focus-visible { outline: 2px solid var(--td-gold); outline-offset: 5px; }
.today-editorial :is(section, article)[id] { scroll-margin-top: 30px; }
.td-kicker { color: var(--td-gold); font: 500 10px/1.6 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.td-caption { color: var(--td-muted); font-size: 13px; line-height: 1.6; }
.td-hero { position: relative; padding-top: 56px; }
.td-hero__copy { position: relative; z-index: 2; width: 68%; padding-bottom: 46px; }
.td-kicker span { margin-inline: 8px; opacity: .5; }
.td-date { display: block; margin: 13px 0 25px; color: var(--td-muted); font-size: 14px; }
.td-period { color: var(--td-gold); }
.td-hero__action { max-width: 670px; margin-top: 24px !important; color: #d5d0c5; font-size: 19px; line-height: 1.6; }
.td-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 26px 0 15px; }
.td-button { display: inline-flex; min-height: 54px; padding: 14px 24px; align-items: center; justify-content: center; gap: 22px; color: #151411 !important; background: var(--td-gold); border: 1px solid var(--td-gold); border-radius: 28px; font: 500 13px/1.4 var(--body); text-decoration: none; cursor: pointer; transition: background-color .16s ease, transform .16s ease; }
.td-button span { font-size: 20px; }
.td-link, .td-small-link { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; color: var(--td-gold) !important; border: 0; background: transparent; font: 400 14px/1.5 var(--body); text-decoration: none; text-underline-offset: 5px; cursor: pointer; }
.td-small-link { font-size: 12px; color: var(--td-muted) !important; }
.td-hero__art { position: absolute; width: 38%; aspect-ratio: 1; inset-inline-end: -3%; top: 45px; pointer-events: none; }
.td-hero__art > img { width: 100%; height: auto; opacity: .62; }
.td-hero__art > .today-moon-disc { position: absolute; width: 28%; left: 38%; top: 17%; }
.td-dayline { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-block: 1px solid var(--td-line); }
.td-dayline a { padding: 20px 26px; text-decoration: none; }
.td-dayline a:first-child { padding-inline-start: 0; }
.td-dayline a + a { border-inline-start: 1px solid var(--td-line); }
.td-dayline :is(span,strong,small) { display: block; }
.td-dayline span { font-size: 11px; color: var(--td-muted); }
.td-dayline strong { margin: 3px 0; font: 500 24px/1.2 var(--display); overflow-wrap: anywhere; }
.td-dayline small { font-size: 12px; color: var(--td-muted); }
.td-section { padding-block: 56px; border-bottom: 1px solid var(--td-line); }
.td-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: end; margin-bottom: 28px; }
.td-heading h2 { margin-top: 12px; }
.td-heading > p { max-width: 530px; color: var(--td-muted); }
.td-triad { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: start; }
.td-panel { min-width: 0; padding: 24px; border: 1px solid var(--td-line); border-radius: 18px; background: linear-gradient(145deg,rgba(223,202,158,.035), transparent 70%), #121211; }
.td-panel--tarot { background: linear-gradient(145deg,rgba(81,77,109,.16),transparent 75%),#121211; }
.td-panel__top { display: flex; min-height: 152px; align-items: center; gap: 20px; margin-bottom: 20px; }
.td-panel__top > div:last-child { min-width: 0; }
.td-panel__top h3 { margin-top: 9px; font-size: 28px; }
.td-panel__top .td-kicker { font-size: 9px; letter-spacing: .05em; }
.td-moon { flex: 0 0 82px; width: 82px; }
.td-card { flex: 0 0 80px; width: 80px; position: relative; }
.td-card::before { content: ''; position: absolute; inset: 0; border-radius: 6px; border: 1px solid var(--td-line); background: #27251f url('/assets/images/today/tarot-card-back.webp') center/cover; transform: rotate(5deg); }
.td-card img { position: relative; display: block; width: 100%; height: auto; border-radius: 6px; }
.td-card.is-reversed img { transform: rotate(180deg); }
.td-card-theme { color: var(--td-muted); font-size: 12px; line-height: 1.5; margin-top: 8px !important; }
.td-number { flex: 0 0 72px; color: var(--td-gold); font: 500 112px/.9 var(--display); }
.td-panel__lead { font-size: 15px; color: #d2cfc6; min-height: 100px; }
.td-moon-sign { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px !important; font-size: 13px; color: var(--td-gold); }
.td-moon-sign img { width: 22px; height: 22px; }
.td-moon-sign small { color: var(--td-muted); font-size: 10px; }
.td-details { margin-top: 20px; border-top: 1px solid var(--td-line); }
.td-details summary { position: relative; list-style: none; min-height: 54px; display: flex; align-items: center; padding-block: 13px; padding-inline: 0 26px; color: var(--td-gold); font-size: 13px; line-height: 1.5; cursor: pointer; }
.td-details summary::-webkit-details-marker { display: none; }
.td-details summary::after { position: absolute; inset-inline-end: 2px; content: '+'; font-size: 23px; font-weight: 300; }
.td-details[open] summary::after { content: '−'; }
.td-details > div { padding: 3px 0 8px; }
.td-details p + p { margin-top: 14px; }
.td-details > div > .td-link { display: flex; margin-top: 8px; }
.td-details p { font-size: 14px; color: #c5c1b7; }
.td-details .td-caption { font-size: 12px; }
.td-callout { padding-block: 12px; padding-inline: 16px 0; border-inline-start: 2px solid var(--td-gold); }
.td-facts { margin: 20px 0; font-size: 12px; }
.td-facts > div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; border-bottom: 1px solid var(--td-line); }
.td-facts dd { margin: 0; color: var(--td-gold); white-space: nowrap; font-variant-numeric: tabular-nums; }
.td-formula { margin: 15px 0; padding: 14px 10px; border: 1px solid var(--td-line); border-radius: 8px; font: 11px/1.7 var(--mono); text-align: center; overflow-wrap: anywhere; }
.td-zodiac { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin-bottom: 20px; }
.td-zodiac button { display: flex; min-height: 49px; align-items: center; justify-content: center; gap: 9px; color: var(--td-muted); background: #141411; border: 1px solid var(--td-line); border-radius: 25px; font: 12px var(--body); cursor: pointer; }
.td-zodiac img { opacity: .8; }
.td-zodiac button[aria-pressed='true'] { color: #151411; background: var(--td-gold); }
.td-zodiac button[aria-pressed='true'] img { filter: brightness(.15); }
.td-sign-picker { display: none; }
.td-sign-reading { display: grid; grid-template-columns: 80px 1fr; gap: 30px; padding: 30px; border: 1px solid var(--td-line); border-radius: 18px; background: linear-gradient(110deg,rgba(223,202,158,.05),transparent); }
.td-sign-reading > img { width: 80px; height: 80px; }
.td-sign-reading h3 { margin: 9px 0 16px; font-size: 36px; }
.td-sign-reading p:not(.td-kicker) { max-width: 850px; color: var(--td-muted); }
.td-practice { display: grid; gap: 5px; margin-block: 20px !important; padding: 16px 20px; background: rgba(223,202,158,.055); border-inline-start: 2px solid var(--td-gold); }
.td-practice strong { color: var(--td-gold); font-size: 12px; font-weight: 500; }
.td-journal { padding-block: 52px; margin-top: 14px; color: #27251f; background: #e1d5bd; color-scheme: light; }
.td-journal__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.td-journal h2 { margin: 14px 0 20px; }
.td-journal .td-kicker, .td-journal h2 em { color: #625236; }
.td-prompts { margin: 25px 0 0; padding-inline-start: 20px; font-size: 14px; }
.td-prompts li { padding-inline-start: 7px; margin-top: 10px; }
.td-prompts strong { display: block; font-weight: 500; }
.td-note label { display: block; margin: 0 0 12px; font-size: 14px; font-weight: 500; }
.td-note textarea { width: 100%; min-height: 178px; padding: 18px; resize: vertical; border: 1px solid #a99b82; border-radius: 12px; background: #f3eadb; color: #25231e; font: 16px/1.65 var(--body); }
.td-note textarea::placeholder { color: #716856; opacity: 1; }
.td-note textarea:focus-visible { outline-color: #655130; }
.td-journal :is(a,button):focus-visible { outline-color: #655130; }
.td-note__meta { display: flex; justify-content: space-between; gap: 15px; font-size: 11px; color: #625a4c; margin-top: 6px; }
.td-note__meta span:last-child { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.td-note .td-actions { margin: 18px 0 9px; gap: 10px 18px; }
.td-note .td-button { color: #f3eadb !important; background: #29271f; border-color: #29271f; }
.td-note .td-link { color: #50432e !important; }
.td-status { min-height: 24px; font-size: 12px; color: #514a3e; }
.td-note__privacy { margin-top: 12px !important; font-size: 12px; color: #625a4c; }
.td-journal-app { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; margin-top: 26px; border-top: 1px solid rgba(39,37,31,.2); }
.td-journal-app p { font-size: 13px; }
.td-journal-app .td-link { flex-shrink: 0; color: #50432e !important; }
.td-return-section { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.td-return-section h2 { margin: 10px 0 15px; }
.td-return-section p:not(.td-kicker) { color: var(--td-muted); font-size: 14px; }
.td-return > p:first-child { display: flex; justify-content: space-between; gap: 10px; color: var(--td-gold); font-size: 13px; }
.td-return > p:first-child span { color: var(--td-muted); font-size: 11px; }
.td-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 6px; list-style: none; padding: 0; margin: 15px 0; }
.td-week li { padding: 11px 3px; border: 1px solid var(--td-line); border-radius: 9px; color: var(--td-muted); text-align: center; font-size: 12px; }
.td-week li span { display: block; color: var(--td-gold); font-size: 10px; }
.td-week li.is-visited { background: rgba(223,202,158,.12); border-color: rgba(223,202,158,.45); }
.td-week li[aria-current='date'] { box-shadow: inset 0 -2px var(--td-gold); }
.td-explore { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.td-explore article { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 24px; }
.td-explore img { width: 120px; height: 150px; object-fit: contain; }
.td-explore h3 { margin: 10px 0 14px; font-size: 29px; }
.td-explore p:not(.td-kicker) { color: var(--td-muted); font-size: 14px; }
.td-explore .td-link, .td-explore .td-small-link { display: flex; }
.td-methods { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.td-methods h2 { margin-top: 12px; }
.td-methods .td-details { margin: 0; }
.td-methods .td-details:first-child { border-top: 0; }
.td-methods summary { min-height: 62px; font-size: 15px; }
.td-methods code { overflow-wrap: anywhere; }
.td-app { display: flex; align-items: center; justify-content: space-between; gap: 45px; padding: 50px 0 64px; }
.td-app h2 { margin: 12px 0 20px; }
.td-app p:not(.td-kicker) { max-width: 680px; color: var(--td-muted); font-size: 14px; }
.td-app .td-button { flex-shrink: 0; }
/* Keep consent controls available in the shared footer, without covering the page. */
.journal--today-editorial > .veritas-cookie-settings { display: none; }
.journal--today-editorial .public-footer .veritas-cookie-settings { position: static; min-height: 44px; inset: auto; box-shadow: none; z-index: auto; }
@media (hover: hover) { .td-button:hover { background: #eadabb; transform: translateY(-1px); } .td-link:hover, .td-small-link:hover { text-decoration: underline; } .td-zodiac button:hover:not([aria-pressed='true']), .td-dayline a:hover { background: rgba(223,202,158,.07); } .td-details summary:hover { color: #f3e6cd; } }
@media (max-width: 1050px) { .td-panel { padding: 18px; } .td-panel__top { gap: 13px; } .td-panel__top h3 { font-size: 25px; } .td-card { flex-basis: 64px; } .td-moon { flex-basis: 62px; width: 62px; } .td-number { flex-basis: 55px; font-size: 90px; } .td-journal__grid, .td-return-section, .td-methods { gap: 35px; } .td-explore article { grid-template-columns: 80px minmax(0,1fr); gap: 18px; } .td-explore img { width: 80px; height: 120px; } }
@media (max-width: 760px) {
    .td-shell { width: min(100% - 32px, 620px); }
    .td-hero { padding-top: 30px; }
    .td-hero__copy { width: 100%; padding-bottom: 28px; }
    .td-hero__art { display: none; }
    .today-editorial h1 { max-width: 520px; font-size: clamp(43px,11vw,64px); line-height: 1.02; }
    .td-date { margin: 10px 0 19px; font-size: 13px; }
    .td-hero__action { margin-top: 20px !important; font-size: 16px; }
    .td-actions { gap: 8px 18px; margin-top: 22px; }
    .td-button { min-height: 50px; padding: 12px 20px; }
    .td-hero .td-caption { font-size: 12px; }
    .td-dayline a { padding: 14px 10px; }
    .td-dayline strong { font-size: 18px; }
    .td-dayline small { font-size: 10px; line-height: 1.4; }
    .td-section { padding-block: 36px; }
    .td-heading { grid-template-columns: 1fr; gap: 17px; margin-bottom: 22px; }
    .td-heading > p { font-size: 14px; }
    .today-editorial h2 { font-size: 36px; }
    .td-triad { grid-template-columns: 1fr; gap: 12px; }
    .td-panel { padding: 22px; }
    .td-panel__top { min-height: 100px; gap: 23px; margin-bottom: 17px; }
    .td-panel__top h3 { font-size: 29px; }
    .td-card { flex-basis: 62px; }
    .td-moon { flex-basis: 70px; width: 70px; }
    .td-number { flex-basis: 70px; font-size: 106px; }
    .td-panel__lead { min-height: 0; font-size: 15px; }
    .td-details { margin-top: 16px; }
    .td-zodiac { display: none; }
    .td-sign-picker { display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; align-items: center; margin-bottom: 18px; }
    .td-sign-picker label { font-size: 13px; }
    .td-sign-picker select { min-width: 0; min-height: 48px; padding: 10px 13px; color: var(--td-text); background: #1c1b17; border: 1px solid var(--td-line); border-radius: 9px; font: 15px var(--body); }
    .td-sign-picker p { grid-column: 1/-1; color: var(--td-muted); font-size: 11px; }
    .td-sign-reading { grid-template-columns: 1fr; padding: 22px; gap: 10px; position: relative; }
    .td-sign-reading > img { position: absolute; inset-inline-end: 18px; top: 17px; width: 38px; height: 38px; opacity: .6; }
    .td-sign-reading .td-kicker { padding-inline-end: 50px; }
    .td-sign-reading h3 { margin: 18px 0 14px; font-size: 31px; }
    .td-sign-reading p:not(.td-kicker) { font-size: 14px; }
    .td-practice { margin-block: 17px !important; padding: 13px 15px; }
    .td-sign-reading .td-caption { font-size: 12px !important; }
    .td-journal { margin-top: 0; padding-block: 36px; }
    .td-journal__grid { grid-template-columns: 1fr; gap: 25px; }
    .td-journal h2 { margin-bottom: 16px; }
    .td-journal__grid > div > p:not(.td-kicker) { font-size: 14px; }
    .td-prompts { display: none; }
    .td-note__meta { flex-wrap: wrap; }
    .td-journal-app { align-items: flex-start; flex-direction: column; gap: 6px; }
    .td-return-section, .td-methods { grid-template-columns: 1fr; gap: 24px; }
    .td-return-section h2 { font-size: 33px; }
    .td-explore { grid-template-columns: 1fr; gap: 26px; }
    .td-explore article { grid-template-columns: 72px minmax(0,1fr); gap: 18px; }
    .td-explore img { width: 72px; height: 112px; }
    .td-explore h3 { font-size: 28px; }
    .td-explore .td-kicker { font-size: 9px; }
    .td-methods summary { font-size: 14px; }
    .td-app { align-items: flex-start; flex-direction: column; padding-block: 36px 45px; gap: 22px; }
}
@media (min-width: 761px) and (max-width: 1050px) {
    .td-triad { grid-template-columns: 1fr; }
    .td-panel { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; align-items: center; padding: 24px; }
    .td-panel__top { grid-row: span 2; margin-bottom: 0; min-height: 120px; }
    .td-panel > .td-details { grid-column: 1 / -1; }
}
@media (max-width: 360px) { .td-dayline strong { font-size: 18px; } .td-panel { padding: 18px; } .td-panel__top { gap: 16px; } .td-button { padding-inline: 17px; } }
@media (prefers-reduced-motion: reduce) { .today-editorial * { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
/* Script-aware fallbacks preserve connected Arabic and Devanagari glyphs. */
html:is([lang='ar'],[lang='hi']) .today-editorial { --display: Arial, 'Nirmala UI', sans-serif; --body: Arial, 'Nirmala UI', sans-serif; --mono: Arial, 'Nirmala UI', sans-serif; }
html:is([lang='ar'],[lang='hi']) .today-editorial :is(h1,h2,h3) { line-height: 1.4; letter-spacing: normal; }
html:is([lang='ar'],[lang='hi']) .today-editorial em { font-style: normal; }
html:is([lang='ar'],[lang='hi']) .td-kicker { letter-spacing: normal; font-size: 12px; }
.today-editorial :is(h1,h2,h3,.td-link,.td-button) { overflow-wrap: anywhere; }
.today-editorial .td-button { max-width: 100%; text-align: center; }
.today-editorial .td-link { text-align: start; }
.today-editorial :is(.td-journal__grid,.td-heading,.td-methods,.td-return-section) > * { min-width: 0; }
.td-week li span { overflow-wrap: anywhere; }
.td-methods code { direction: ltr; unicode-bidi: isolate; }
