/* Pinkladies Daily (/daily/). Loaded after shop.css (colours, fonts, header, footer, buttons) and journal.css. Mobile first. */
.daily-page{background:var(--ivory)}
.dl-narrow{max-width:760px}
.dl em{font-style:italic;color:var(--pink)}
.dl-hero{background:radial-gradient(900px 420px at 90% -10%,var(--blush),transparent 60%),radial-gradient(700px 420px at -10% 110%,#fde9f0,transparent 60%),var(--ivory);border-bottom:1px solid var(--line);text-align:center}
.dl-hero .wrap{padding:clamp(28px,5vw,56px) 0 clamp(20px,3.5vw,36px)}
.dl-hero .eyebrow::before{display:none}
.dl-date{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}
.dl-sun{display:inline-grid;color:var(--pink);animation:dl-spin 24s linear infinite}
.dl-sun svg{width:18px;height:18px}
@keyframes dl-spin{to{transform:rotate(360deg)}}
.dl-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,6.4vw,3.4rem);line-height:1.08;margin:0 0 14px}
.dl-hero .lede{max-width:34em;margin:0 auto;color:var(--muted)}
.dl-checkin{margin:18px auto 0;display:grid;justify-items:center;gap:10px}
.dl-checkin__btn{position:relative;min-height:54px}
.dl-checkin__ico{display:inline-grid}
.dl-checkin__ico svg{width:18px;height:18px}
.dl-checkin.is-done .dl-checkin__btn{background:#fff;color:var(--raspberry);border-color:rgba(163,16,79,.3);box-shadow:none}
.dl-week{display:flex;gap:8px;justify-content:center;min-height:42px}
.dl-day{display:grid;justify-items:center;gap:4px;font:600 .62rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dl-day i{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(163,16,79,.25);background:#fff;display:grid;place-items:center;font-style:normal;color:#fff;transition:background .3s,transform .3s}
.dl-day.on i{background:linear-gradient(135deg,var(--pink),var(--raspberry));border-color:transparent}
.dl-day.on i::after{content:"♥";font-size:.7rem;line-height:1}
.dl-day.today{color:var(--raspberry)}
.dl-day.today i{box-shadow:0 0 0 3px rgba(223,8,112,.14)}
.dl-streak{margin:0;font-size:.9rem;color:var(--muted);min-height:1.5em}
.dl-streak b{color:var(--raspberry)}
.dl-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.dl-jump a{font:600 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--raspberry);padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.7)}
.dl-jump a:hover{background:#fff;border-color:rgba(163,16,79,.35)}
.dl-body{padding:clamp(16px,3vw,32px) 0 clamp(28px,5vw,52px)}
.dl-body .wrap{display:grid;gap:clamp(12px,2.2vw,18px)}
.dl-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,4vw,28px);box-shadow:var(--shadow-sm);scroll-margin-top:96px}
.dl-card__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.dl-num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blush);color:var(--raspberry);font:700 .74rem/1 var(--sans);letter-spacing:.04em;flex:none}
.dl-num--heart svg{width:16px;height:16px}
.dl-kicker{margin:0;font:600 .74rem/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--raspberry)}
.dl-hint{margin:6px 0 0;font-size:.88rem;color:var(--muted)}
.dl-fine{margin:8px 0 0;font-size:.78rem;color:var(--muted)}
/* quote */
.dl-quote{background:linear-gradient(160deg,#fff 0%,#fff 45%,var(--blush) 100%);overflow:hidden}
.dl-quote::before{content:"“";position:absolute;right:18px;top:-30px;font:400 11rem/1 var(--serif);color:rgba(223,8,112,.08);pointer-events:none}
.dl-quote__fig{margin:0}
.dl-quote blockquote{margin:0}
.dl-quote blockquote p{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,5.2vw,2.3rem);line-height:1.3;color:var(--ink);transition:opacity .35s,transform .35s}
.dl-quote blockquote p.is-swap{opacity:0;transform:translateY(8px)}
.dl-quote figcaption{margin-top:14px;font:600 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--raspberry)}
.dl-quote figcaption::before{content:"— "}
.dl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.dl-ibtn{display:inline-grid;place-items:center;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid rgba(163,16,79,.22);background:#fff;color:var(--raspberry);cursor:pointer;text-decoration:none;transition:background .2s,color .2s,transform .2s,border-color .2s}
.dl-ibtn svg{width:20px;height:20px}
.dl-ibtn:hover,.dl-ibtn:focus-visible{background:linear-gradient(135deg,var(--pink),var(--raspberry));color:#fff;border-color:transparent;transform:translateY(-2px)}
.dl-ibtn[hidden]{display:none}
.dl-ibtn--sm{width:38px;height:38px;flex:none}.dl-ibtn--sm svg{width:17px;height:17px}
.dl-heart svg{fill:none;stroke:currentColor;stroke-width:1.8}
.dl-heart[aria-pressed="true"]{background:linear-gradient(135deg,var(--pink),var(--raspberry));color:#fff;border-color:transparent}
.dl-heart[aria-pressed="true"] svg{fill:currentColor}
.dl-heart.pop{animation:dl-pop .45s ease}
@keyframes dl-pop{40%{transform:scale(1.25)}100%{transform:scale(1)}}
.dl-quote__more{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px}
.dl-link{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:6px 0;font:600 .78rem/1.2 var(--sans);letter-spacing:.08em;color:var(--raspberry);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(163,16,79,.3)}
.dl-link svg{width:16px;height:16px}
.dl-link[hidden]{display:none}
.dl-toast{margin:10px 0 0;min-height:1.3em;font-size:.85rem;color:var(--raspberry);font-weight:600}
/* affirmation */
.dl-affirm{background:linear-gradient(135deg,var(--pink),var(--raspberry));color:#fff;border:0;box-shadow:0 18px 40px -18px rgba(163,16,79,.6)}
.dl-affirm .dl-kicker{color:#fff;opacity:.9}.dl-affirm .dl-num{background:rgba(255,255,255,.2);color:#fff}
.dl-affirm__text{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,4.8vw,2rem);line-height:1.3}
.dl-affirm em{color:#fff}
.dl-affirm .dl-hint{color:rgba(255,255,255,.85)}
.dl-claim{margin-top:14px;background:#fff;color:var(--raspberry);border-color:#fff}
.dl-claim:hover{color:var(--berry);border-color:#fff}
.dl-claim[aria-pressed="true"]{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.7)}
/* question */
.dl-question__text{margin:0 0 18px;font-family:var(--serif);font-size:clamp(1.3rem,4.4vw,1.75rem);line-height:1.35}
.dl-answer textarea{display:block;width:100%;margin-top:8px;min-height:96px;resize:vertical;font:16px/1.55 var(--sans);color:var(--ink);background:var(--ivory);border:1px solid rgba(163,16,79,.2);border-radius:14px;padding:12px 14px}
.dl-answer textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 3px rgba(223,8,112,.15);background:#fff}
/* smile */
.dl-flip{position:relative;display:grid}.dl-js .dl-flip{min-height:150px}
.dl-flip__cover,.dl-smile__text{grid-area:1/1;border-radius:18px;transition:opacity .45s,transform .45s}
.dl-flip__cover{display:none;place-items:center;align-content:center;gap:8px;width:100%;padding:24px;border:1.5px dashed rgba(163,16,79,.35);background:repeating-linear-gradient(45deg,#fff,#fff 12px,var(--blush) 12px,var(--blush) 24px);font:600 .8rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--raspberry);cursor:pointer}
.dl-flip__cover:hover{border-color:var(--pink)}
.dl-flip__emoji{font-size:2.2rem;line-height:1;animation:dl-bob 2.6s ease-in-out infinite}
@keyframes dl-bob{50%{transform:translateY(-5px)}}
.dl-smile__text{margin:0;display:flex;align-items:center;padding:6px 2px;font-family:var(--serif);font-size:clamp(1.2rem,4vw,1.5rem);line-height:1.45}
.dl-js .dl-flip__cover{display:grid}
.dl-js .dl-flip:not(.is-open) .dl-smile__text{opacity:0;transform:rotateX(70deg);pointer-events:none;visibility:hidden}
.dl-flip.is-open .dl-flip__cover{opacity:0;transform:rotateX(-70deg);pointer-events:none}
.dl-flip.is-open .dl-smile__text{opacity:1;transform:none;pointer-events:auto}
/* inspiration */
.dl-inspire{background:linear-gradient(180deg,var(--cream),#fff)}
.dl-inspire__title{margin:0 0 8px;font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,4.6vw,1.9rem);line-height:1.2}
.dl-inspire__text{margin:0;color:var(--muted);font-size:1.02rem}
.dl-inspire__btn{margin-top:12px;min-height:44px;padding:0 22px}
.dl-fresh{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.dl-fresh b{color:var(--raspberry)}
/* lists */
.dl-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dl-list li{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--ivory)}
.dl-list li p{margin:0;font-family:var(--serif);font-size:1.08rem;line-height:1.45}
.dl-mine[hidden]{display:none}
.dl-lib summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.dl-lib summary::-webkit-details-marker{display:none}
.dl-lib summary::after{content:"+";font:400 1.6rem/1 var(--serif);color:var(--raspberry);transition:transform .25s}
.dl-lib[open] summary::after{transform:rotate(45deg)}
.dl-lib__count{margin-left:auto;font-size:.8rem;color:var(--muted)}
.dl-lib[open] .dl-list{margin-top:14px;max-height:70vh;overflow:auto;padding-right:4px}
.dl-lib li.is-hit{border-color:var(--pink);box-shadow:0 0 0 3px rgba(223,8,112,.12)}
/* closing */
.dl-close{text-align:center;padding:clamp(20px,4vw,36px) clamp(18px,4vw,36px);border-radius:var(--radius);background:radial-gradient(600px 300px at 50% 0,var(--blush),transparent 70%),#fff;border:1px solid var(--line)}
.dl-close .eyebrow::before{display:none}
.dl-close h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,5vw,2.5rem);margin:0 0 12px}
.dl-close p{color:var(--muted);max-width:34em;margin:0 auto}
.dl-close__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px}
.dl-close__share{margin-top:12px!important;font-size:.9rem}
/* entrance + hearts (motion only when allowed) */
.dl-js .dl-reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.dl-js .dl-reveal.in{opacity:1;transform:none}
.dl-burst{position:fixed;z-index:60;pointer-events:none;color:var(--pink);font-size:18px;animation:dl-float 1.1s ease-out forwards}
@keyframes dl-float{0%{opacity:1;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(var(--dx),-110px) scale(1.25)}}
@media (prefers-reduced-motion:reduce){.dl-js .dl-reveal{opacity:1;transform:none}.dl-burst{display:none}.dl-sun,.dl-flip__emoji{animation:none}}
.preview-bar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;padding:10px 20px;background:linear-gradient(135deg,#F7C6D8,#F4B6CB 45%,#A3104F);color:#2B1620;font:600 13px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.preview-bar a{text-decoration:none;color:#fff}
.preview-bar form{display:flex;gap:8px;align-items:center;margin:0}
.preview-bar input{font:500 13px var(--sans);padding:5px 8px;border-radius:8px;border:1px solid rgba(43,22,32,.25)}
.preview-bar button{font:600 12px var(--sans);padding:6px 12px;border-radius:999px;border:0;background:#2B1620;color:#fff;cursor:pointer}
@media (max-width:640px){
  .dl-card{border-radius:18px}
  .dl-actions{gap:8px}.dl-ibtn{width:42px;height:42px}
  .dl-week{gap:6px}
  .dl-close__btns .btn{width:100%}
  .dl-checkin__btn{width:100%;max-width:340px}
}
@media print{
  .topbar,.site-footer,.dl-checkin,.dl-jump,.dl-actions,.dl-quote__more,.dl-answer,.dl-mine,.dl-lib,.dl-close,.dl-claim,.dl-hint,.dl-fresh,.preview-bar,.skip{display:none!important}
  .dl-card{box-shadow:none;break-inside:avoid;border-color:#ddd}.dl-affirm{background:#fff;color:#2b1620}.dl-affirm .dl-kicker{color:#a3104f}
  .dl-js .dl-flip__cover{display:none!important}.dl-smile__text{opacity:1!important;transform:none!important;visibility:visible!important}
  .dl-js .dl-reveal{opacity:1;transform:none}
}
