/* program.css — calendarul „Programul zilnic", rândurile de zi și nota de digital detox pe paginile-ghid
   (peste spoke.css + article.css). Regulile .rcal-* și .detox-note sunt aceleași cu cele din <style>-ul
   index.html / en/index.html: la o schimbare de aspect le țin la fel în ambele locuri. Mobile-first 390px. */

.rcal-wrap { max-width: 1024px; margin: 0 auto 6px; }
.rcal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rcal-day { background: var(--cream); border: 1px solid var(--border); border-radius: 14px; padding: 16px 16px 18px; min-height: 150px; display: flex; flex-direction: column; }
.rcal-day.cer { border-color: var(--gold); background: linear-gradient(150deg, #fff, #EFE7D6); box-shadow: 0 10px 26px rgba(62,91,74,0.10); }
.rcal-head { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--border); }
.rcal-dow { font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--light); }
.rcal-num { font-family: 'Cormorant Garamond', serif; font-size: 32px; font-weight: 600; color: var(--gold); line-height: 1; }
.rcal-events { display: flex; flex-direction: column; gap: 6px; }
.rcal-ev { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; color: var(--mid); background: rgba(62,91,74,0.06); border-left: 2px solid var(--gold-l); border-radius: 0 6px 6px 0; padding: 7px 11px; line-height: 1.3; }
.rcal-ev svg { width: 15px; height: 15px; flex-shrink: 0; color: var(--gold); }
.rcal-day.cer .rcal-ev.hl { background: var(--gold); color: #fff; border-left-color: var(--gold); font-weight: 600; }
.rcal-day.cer .rcal-ev.hl svg { color: #fff; }
.rcal-month { text-align: center; font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 600; color: var(--dark); margin: 0 0 22px; }
.rcal-month em { color: var(--gold); font-style: normal; }
@media (max-width: 760px) { .rcal { grid-template-columns: repeat(2, 1fr); gap: 10px; } .rcal-day { padding: 14px 13px 16px; min-height: 0; } }
@media (max-width: 380px) { .rcal { grid-template-columns: 1fr; } }

/* calendarul iese din coloana de text, pe latimea „wide" a articolului */
.art-body .rcal-wrap { grid-column: wide; max-width: none; margin: 10px 0 34px; }

/* o zi pe rând: stânga „Ziua N + ziua săptămânii și data" (coapte de sync-pricing), dreapta titlul și textul */
.art-body .day { display: grid; grid-template-columns: 116px 1fr; gap: 4px 26px; padding: 26px 0; border-top: 1px solid var(--border); }
.art-body .day-when { display: flex; flex-direction: column; gap: 4px; }
.art-body .day-n::before { content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 8px; border-radius: 4px; border: 1px solid rgba(0,0,0,.14); background: var(--ph, var(--ph-settle)); vertical-align: -1px; }
.art-body .day.p-prep { --ph: var(--ph-prep); }
.art-body .day.p-cer { --ph: var(--ph-cer); }
.art-body .day.p-int { --ph: var(--ph-int); }
.art-body .day.p-rest { --ph: var(--ph-rest); }
.art-body .day-part { font-size: 13px; line-height: 1.3; color: var(--light); }
.art-body .day-n {  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.art-body .day-date { display: inline-flex; align-items: baseline; gap: 7px; color: var(--dark); }
.art-body .day-date .rcal-dow { font-size: 12px; }
.art-body .day-date .rcal-num { font-size: 30px; }
.art-body .day-what h3 { margin: 0 0 10px; font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(23px, 4.6vw, 28px); line-height: 1.18; color: var(--dark); text-wrap: balance; }
.art-body .day-what p { margin: 0 0 14px; }
.art-body .day-what p.with-ico { display: flex; align-items: flex-start; gap: 12px; }
.art-body .day-what .ico { flex: none; display: grid; place-items: center; width: 32px; height: 32px; margin-top: 2px; border-radius: 50%; background: #16231B; color: var(--gold-l); }
.art-body .day-what .ico svg { width: 17px; height: 17px; }
.art-body .day-what p:last-child, .art-body .day-what ul:last-child { margin-bottom: 0; }
.art-body .day-what ul { margin: 0 0 14px; }
.art-body .part-head + .day { border-top: 0; padding-top: 4px; }
.art-body .day.cer { padding: 26px 22px; margin: 6px 0; border: 1px solid var(--gold); border-radius: 16px; background: linear-gradient(150deg, #fff, #EFE7D6); }
.art-body .day.cer + .day { border-top-color: transparent; }
@media (max-width: 559px) {
  .art-body .day { grid-template-columns: 1fr; gap: 10px; }
  .art-body .day-when { flex-direction: row; align-items: baseline; gap: 12px; }
  .art-body .day.cer { padding: 22px 18px; }
}

/* „arcul" retreatului: opt celule (zilele), colorate pe faze; aceeași componentă face și banda de digital detox */
.art-body .arc { margin: 4px 0 30px; }
.arc-cells { display: grid; grid-template-columns: repeat(8, 1fr); }
.arc-cells span { display: block; padding: 13px 0 12px; border: 1px solid var(--cream); text-align: center; font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 600; line-height: 1; color: var(--dark); background: var(--cream2); }
.arc-cells span:first-child { border-radius: 12px 0 0 12px; }
.arc-cells span:last-child { border-radius: 0 12px 12px 0; }
.art-body { --ph-settle: color-mix(in srgb, var(--gold) 30%, #fff); --ph-prep: color-mix(in srgb, #B06A4F 50%, #fff); --ph-cer: var(--gold); --ph-int: color-mix(in srgb, var(--gold-l) 62%, #fff); --ph-rest: var(--cream2); }
.arc-cells .p-settle, .arc-legend .p-settle i { background: var(--ph-settle); }
.arc-cells .p-prep, .arc-legend .p-prep i { background: var(--ph-prep); }
.arc-cells .p-split { background: linear-gradient(90deg, var(--ph-settle) 50%, var(--ph-prep) 50%); }
.arc-cells .p-cer, .arc-legend .p-cer i { background: var(--ph-cer); color: #fff; }
.arc-cells .p-int, .arc-legend .p-int i { background: var(--ph-int); }
.arc-cells .p-rest, .arc-legend .p-rest i { background: var(--ph-rest); }
.arc-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; font-size: 14px; line-height: 1.4; color: var(--mid); }
.arc-legend span { display: inline-flex; align-items: center; gap: 8px; }
.arc-legend i { display: block; width: 14px; height: 14px; flex: none; border-radius: 4px; border: 1px solid var(--border); }
.arc-legend .p-cer i { border-color: var(--gold); }
.arc-detox .arc-cells { position: relative; overflow: hidden; border-radius: 12px; background: var(--cream2); }
.arc-detox .arc-cells span { position: relative; z-index: 1; background: transparent; border-radius: 0; }
/* perioada fără telefon: de la jumătatea celulei 2 (seara) până la sfârșitul celulei 6, hașurată discret */
.arc-hatch { position: absolute; z-index: 0; top: 0; bottom: 0; left: calc(100% / 8 * 1.5); width: calc(100% / 8 * 4.5); background: repeating-linear-gradient(135deg, rgba(22,35,27,.13) 0 2px, transparent 2px 8px); pointer-events: none; }
.arc-band { display: grid; grid-template-columns: repeat(16, 1fr); margin-top: 8px; }
.arc-band span { grid-column: 4 / 13; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 7px 10px; border-radius: 99px; background: #16231B; color: rgba(255,255,255,0.92); text-align: center; font-size: 13px; font-weight: 500; letter-spacing: .04em; line-height: 1.3; }
.arc-band svg { width: 16px; height: 16px; flex: none; color: var(--gold-l); }
@media (max-width: 559px) { .arc-cells span { font-size: 22px; padding: 11px 0 10px; } }

/* nota de digital detox: fond închis, text alb scris pe .art-body (altfel „.art-body p" îl face închis pe închis) */
.art-body .detox-note { display: flex; gap: 14px; align-items: flex-start; background: #16231B; border-radius: 14px; padding: 22px 24px; margin: 8px 0 28px; }
.art-body .detox-note .dn-ic { flex-shrink: 0; }
.art-body .detox-note .dn-ic svg { display: block; width: 24px; height: 24px; color: var(--gold-l); }
.art-body .detox-note p { margin: 0; font-size: 16.5px; font-weight: 300; line-height: 1.7; color: rgba(255,255,255,0.9); }
.art-body .detox-note b { color: var(--gold-l); font-weight: 600; }
