/* Da Vinci School — shared cards: event boxes, calendar badges, blog + Dialogue cards (6 Nov 2026).
   Used by events.html, blog.html, dialogue.html in all languages. Edit here, not in the pages. */
/* events = dates: cover + calendar badge + gold edge (6 Nov 2026) */
.ev-cal{position:absolute;top:10px;left:10px;width:58px;border-radius:11px;overflow:hidden;background:#F4EFE6;color:#0B1312;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.35);font-family:Outfit,system-ui,sans-serif;line-height:1}
.ev-cal .m{background:#C2453C;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.12em;padding:4px 0 3px;text-transform:uppercase}
.ev-cal .d{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.8rem;font-weight:600;padding:4px 0 1px}
.ev-cal .w{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.7;padding:1px 0 6px}
.fr.fr-card{padding:0;gap:0;align-items:stretch;overflow:hidden;border-color:rgba(212,168,67,.45);box-shadow:inset 3px 0 0 #D4A843}
.fr.fr-card:hover{border-color:#D4A843}
.fr-m{position:relative;flex:0 0 300px}
.fr-m img{width:100%;height:100%;min-height:168px;aspect-ratio:16/9;object-fit:cover;display:block}
.fr.fr-card .fr-b{padding:18px 8px 18px 22px;align-self:center}
.fr.fr-card .ev-btn{align-self:center;margin-right:22px}
.fr.fr-card .tm{font-weight:600;color:var(--paper)}
.nx-cover{width:300px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block;margin:0 auto 14px;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.nx{border-color:rgba(212,168,67,.55)!important}
@media(max-width:760px){
 .fr.fr-card{flex-direction:column}.fr-m{flex:none}.fr.fr-card .fr-b{padding:16px 18px 18px}.fr.fr-card .ev-btn{display:none}
 .nx-cover{width:100%;margin:0 0 4px}
}
/* every event like the Next live box; Dialogues gold, tasters teal (6 Nov 2026) */
.nx-item{margin-top:18px;padding:26px 30px}.nx-item h3{font-size:clamp(1.45rem,2.4vw,1.9rem)}.nx-item .nx-cover{width:260px}
.nx.nx-dlg{border-color:rgba(212,168,67,.6)!important;background:linear-gradient(120deg,rgba(212,168,67,.10),rgba(212,168,67,0) 55%),var(--night-2)}
.nx.nx-dlg .dt b{background:#D4A843;color:#14110A}.nx.nx-dlg .nx-tag{color:#D4A843}.nx.nx-dlg .ev-btn{background:#D4A843;color:#14110A}
.nx.nx-tst{border-color:rgba(95,196,186,.55)!important}
.nx.nx-tst .dt b{background:var(--teal)}
@media(max-width:760px){.nx-item{padding:20px 18px}.nx-item .nx-cover{width:100%}}
/* event page header = the /events box (6 Nov 2026) */
.nx.nx-detail{cursor:default;margin:0 0 34px}.nx.nx-detail:hover{transform:none}
.nx.nx-detail h1{font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.12;margin:6px 0 8px;color:var(--paper)}
.nx.nx-detail .nx-cover{width:340px;cursor:zoom-in}
.nx.nx-detail .ev-price{margin-top:10px;font-weight:600}
@media(max-width:760px){.nx.nx-detail .nx-cover{width:100%}.nx.nx-detail .nx-side{flex-direction:column;align-items:stretch}.nx.nx-detail .ev-btn{text-align:center}}
/* badge top-right, roomier (6 Nov) */.pn-cal{left:auto!important;right:10px}.pn-cal .d{line-height:1.05!important;padding:6px 0 3px!important}.pn-cal .w{padding:2px 0 7px!important}
/* next events right under Next live (6 Nov) */#ev-next+#ev-free-sec,#ev-free-sec{margin-top:-6px}
/* even spacing between event boxes (6 Nov) */#ev-next{margin-bottom:0!important;padding-bottom:0!important}#ev-free-sec{margin-top:0!important;padding-top:0!important}#ev-list{display:flex!important;flex-direction:column;gap:24px!important;margin-top:24px}#ev-free-sec .nx-item{margin:0!important}
/* blog gallery: 3 cards per row, whole 16:9 headers (5 Nov 2026, Heike) */
.wrap:has(.post-card){max-width:1180px}
#blog-content:has(.post-card){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
#blog-content:has(.post-card)>.page-head{grid-column:1/-1}
.post-card,.post-card.no-img{display:flex;flex-direction:column;margin:0;gap:0;color:inherit}
.post-card:hover{transform:translateY(-3px)}
.post-card img{width:100%;height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;object-position:center;display:block}
.post-card .pc-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.post-card h2{font-size:1.45rem;line-height:1.2}
.post-card .sub{font-size:.98rem}
.post-card p.exc{font-size:.97rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card .read{margin-top:auto;padding-top:12px}
.post-card{transition:box-shadow .2s,transform .2s}
.article-hero{max-height:none;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
@media(max-width:980px){#blog-content:has(.post-card){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){#blog-content:has(.post-card){grid-template-columns:1fr;gap:20px}}
@media(prefers-reduced-motion:reduce){.post-card:hover{transform:none}}
/* blog list: air under the cards + Dialogue CTA (5 Nov 2026) */
#blog-content:has(.post-card){padding-bottom:40px}
.blog-cta{grid-column:1/-1;margin-top:46px;padding:44px 28px 40px;border:1px solid var(--sand);border-radius:18px;text-align:center;
  background:radial-gradient(120% 140% at 50% 0%,rgba(95,196,186,.10),rgba(0,0,0,0) 60%),var(--card)}
.blog-cta .label{color:var(--teal);letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;font-weight:600}
.blog-cta h2{font-size:clamp(1.8rem,3.4vw,2.4rem);margin:8px 0 10px}
.blog-cta p{max-width:560px;margin:0 auto;color:var(--paper-2)}
.blog-cta p a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.blog-cta .row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;margin-top:24px}
.blog-cta .row .wf{margin:0}
.blog-cta .next{display:inline-flex;align-items:center;padding:13px 24px;border-radius:999px;border:1.5px solid currentColor;font-weight:600;color:var(--teal);text-decoration:none}
.blog-cta .next:hover{text-decoration:none;filter:brightness(1.1)}
.blog-cta .end{margin-top:22px;font-style:italic;opacity:.8}
@media(max-width:640px){.blog-cta{padding:34px 18px 30px}}
/* end-of-post cards (6 Nov 2026) */
.post-next{margin:2.2em 0 1.6em}.post-next h3{font-size:1.5rem;margin:0 0 14px}
.post-next .pn-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pn-card{display:flex;flex-direction:column;border:1px solid var(--sand);border-radius:14px;overflow:hidden;background:var(--card);color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}
.pn-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.pn-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.pn-card .pn-b{padding:14px 18px 18px;display:flex;flex-direction:column;flex:1}
.pn-card .pn-l{color:var(--teal);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pn-card .pn-t{font-family:var(--serif,'Cormorant Garamond',serif);font-size:1.35rem;line-height:1.2;margin:6px 0 6px}
.pn-card .pn-d{font-size:.95rem;opacity:.85;margin:0 0 12px}
.pn-card .pn-c{margin-top:auto;color:var(--teal);font-weight:600}
@media(max-width:640px){.post-next .pn-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pn-card:hover{transform:none}}
/* events read as dates: calendar badge, LIVE dot, gold edge (6 Nov 2026) */
.pn-card.pn-ev{border-color:rgba(212,168,67,.55);box-shadow:inset 0 3px 0 #D4A843}
.pn-media{position:relative}
.pn-cal{position:absolute;top:12px;left:12px;width:64px;border-radius:12px;overflow:hidden;background:#F4EFE6;color:#0B1312;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.35);font-family:Outfit,system-ui,sans-serif}
.pn-cal .m{background:#C2453C;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.12em;padding:4px 0 3px;text-transform:uppercase}
.pn-cal .d{font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;font-weight:600;line-height:1;padding:4px 0 0}
.pn-cal .w{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.7;padding:1px 0 6px}
.pn-ev .pn-l{color:#D4A843}.pn-ev .pn-l .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#E0533F;margin-right:7px;vertical-align:1px;box-shadow:0 0 0 0 rgba(224,83,63,.6);animation:pnDot 1.8s infinite}
@keyframes pnDot{70%{box-shadow:0 0 0 7px rgba(224,83,63,0)}100%{box-shadow:0 0 0 0 rgba(224,83,63,0)}}
@media(prefers-reduced-motion:reduce){.pn-ev .pn-l .dot{animation:none}}
.pn-ev .pn-when{font-weight:600;font-size:1rem;margin:0 0 12px;opacity:1}
.pn-ev .pn-c{color:#D4A843}
/* Dialogue page: date cards + post cards (6 Nov 2026) */
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;max-width:1080px;margin:0 auto}#dialogue-next .dl-grid{display:flex;flex-wrap:wrap;justify-content:center}#dialogue-next .dl-card{flex:0 1 460px}#past [data-watch-free] .wf{margin-left:auto!important;margin-right:auto!important;text-align:center}
.dl-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--bg-card,#121C1A);border:1px solid rgba(212,168,67,.5);box-shadow:inset 0 3px 0 #D4A843;color:inherit;text-decoration:none!important;transition:transform .2s,box-shadow .2s}
.dl-card:hover{transform:translateY(-3px);box-shadow:inset 0 3px 0 #D4A843,0 16px 36px rgba(0,0,0,.35)}
.dl-m{position:relative}.dl-m img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.dl-cal{position:absolute;top:12px;right:12px;width:62px;border-radius:12px;overflow:hidden;background:#F4EFE6;color:#0B1312;text-align:center;box-shadow:0 6px 18px rgba(0,0,0,.35);font-family:Outfit,system-ui,sans-serif;line-height:1}
.dl-cal .m{background:#C2453C;color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.12em;padding:5px 0 4px;text-transform:uppercase}
.dl-cal .d{font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;font-weight:600;line-height:1.05;padding:6px 0 3px}
.dl-cal .w{font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.7;padding:2px 0 7px}
.dl-b{padding:18px 22px 22px;display:flex;flex-direction:column;flex:1;text-align:left}
.dl-t{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.6rem;line-height:1.15;margin:0 0 4px;color:var(--paper,#F4EFE6)}
.dl-s{font-style:italic;opacity:.8;margin:0 0 10px}
.dl-when{font-weight:600;margin:0 0 14px}
.dl-c{margin-top:auto;color:#D4A843;font-weight:600}
.dl-posts .dl-card{border-color:var(--line,#24332F);box-shadow:none}.dl-posts .dl-card:hover{box-shadow:0 16px 36px rgba(0,0,0,.35)}
.dl-posts .dl-c{color:var(--teal,#5FC4BA)}
#past [data-watch-free]{text-align:center}
@media(prefers-reduced-motion:reduce){.dl-card:hover{transform:none}}
/* one size for every event box on /events: Next live and the ones after it look the same (6 Nov 2026) */
.nx,.nx.nx-item{padding:28px 32px;gap:28px;margin:0}
.nx .dt,.nx.nx-item .dt{width:84px}.nx .dt span,.nx.nx-item .dt span{font-size:2.4rem}
.nx h3,.nx.nx-item h3{font-size:clamp(1.5rem,2.6vw,2rem);margin:6px 0 6px}
.nx .nx-cover,.nx.nx-item .nx-cover{width:280px}
.nx.nx-detail .nx-cover{width:340px}
#ev-next+#ev-free-sec #ev-list,#ev-list{display:flex;flex-direction:column;gap:24px;margin-top:24px}
@media(max-width:760px){.nx,.nx.nx-item{padding:22px 18px;gap:16px}.nx .dt,.nx.nx-item .dt{width:68px}.nx .dt span{font-size:1.9rem}.nx .nx-cover,.nx.nx-item .nx-cover{width:100%}}

/* tasters = drawing workshops: what to bring (6 Nov 2026) */
.ws-bring{display:inline-flex;align-items:center;gap:8px;margin:8px 0 2px;padding:6px 12px;border-radius:999px;border:1px dashed rgba(95,196,186,.55);color:var(--teal,#5FC4BA);font-size:.86rem;font-weight:600}
.ws-bring::before{content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M11 6 5 21M13 6l6 15M7.5 15h9'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='4' r='2'/%3E%3Cpath d='M11 6 5 21M13 6l6 15M7.5 15h9'/%3E%3C/svg%3E") center/contain no-repeat}
/* event page: the Register card is as wide as the header box; name + email side by side on computers (6 Nov 2026) */
.ev-detail .ev-register{max-width:none;margin-top:34px}
.ev-detail .ev-register .card{padding:30px 34px;border-radius:16px}
@media(min-width:761px){
 .ev-detail .ev-register form{display:grid;grid-template-columns:1fr 1fr auto;gap:0 18px;align-items:end}
 .ev-detail .ev-register form .hp,.ev-detail .ev-register form input[type=hidden]{display:none}
 .ev-detail .ev-register .form-group{margin:8px 0}
 .ev-detail .ev-register .form-group .btn{white-space:nowrap;padding-left:30px;padding-right:30px}
}
/* phones: picture on top, button full width under it, never wider than the screen (6 Nov 2026, Heike: "events page scrolls sideways") */
@media(max-width:760px){.nx>*{min-width:0}.nx .nx-side{flex-direction:column;align-items:stretch;gap:12px}.nx .nx-cover,.nx.nx-item .nx-cover{width:100%;max-width:100%;margin:0}.nx .ev-btn{white-space:normal;text-align:center}}
/* phones: picture first, small date beside the title, then the words full width (6 Nov 2026, Heike: "yes") */
@media(max-width:640px){
 #ev-next .nx,#ev-list .nx{display:grid!important;grid-template-columns:60px 1fr;column-gap:14px;row-gap:0;align-items:start;padding:14px 14px 18px!important}
 #ev-next .nx>div:not(.dt):not(.nx-side),#ev-list .nx>div:not(.dt):not(.nx-side),#ev-next .nx .nx-side,#ev-list .nx .nx-side{display:contents!important}
 #ev-next .nx .nx-cover,#ev-list .nx .nx-cover{grid-column:1/-1;grid-row:1;width:100%!important;margin:0 0 16px!important;border-radius:12px}
 #ev-next .nx .dt,#ev-list .nx .dt{grid-column:1;grid-row:2/span 2;width:60px!important;align-self:start}
 #ev-next .nx .dt span,#ev-list .nx .dt span{font-size:1.6rem!important}
 #ev-next .nx .nx-tag,#ev-list .nx .nx-tag{grid-column:2;grid-row:2;line-height:1.5;letter-spacing:.12em}
 #ev-next .nx h3,#ev-list .nx h3{grid-column:2;grid-row:3;margin:2px 0 0!important;font-size:1.55rem!important;line-height:1.15}
 #ev-next .nx .tm,#ev-list .nx .tm{grid-column:1/-1;grid-row:4;margin-top:14px}
 #ev-next .nx .ws-bring,#ev-list .nx .ws-bring{grid-column:1/-1;grid-row:5;justify-self:start;margin-top:10px}
 #ev-next .nx p,#ev-list .nx p{grid-column:1/-1;grid-row:6;max-width:none}
 #ev-next .nx .ev-btn,#ev-list .nx .ev-btn{grid-column:1/-1;grid-row:7;margin-top:16px;text-align:center;white-space:normal}
}
