/* BDCSS · Blue Delta Crab Star System: pagine stelle, regolamento, candidatura, certificato */
.bd-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,70px);align-items:center}
.bd-hero h1{max-width:14ch}
.bd-hero .lead{max-width:34ch}
.bd-hero__cta{margin-top:clamp(22px,3vw,34px)}
.bd-hero__fig{margin:0;position:relative;justify-self:center;width:min(100%,420px)}
.bd-hero__fig img{width:100%;height:auto;display:block;border-radius:6px;box-shadow:0 40px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(230,201,138,.35);transform:rotate(2.2deg)}
.bd-stars{display:inline-flex;gap:.18em;vertical-align:middle;line-height:0}
.bd-stars svg{width:1.15em;height:1.15em;display:block;fill:rgba(230,201,138,.18)}
.bd-stars svg.on{fill:url(#g-gold)}
.bd-stars--xl{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:.6em}
.bd-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(16px,3vw,32px);margin:0;padding:0;list-style:none}
.bd-trio li{border-left:2px solid var(--gold);padding:4px 0 4px 18px}
.bd-trio b{display:block;font:500 1.45rem var(--serif);color:var(--gold-hi);margin-bottom:.25em}
.bd-trio span{color:#d3dce8;line-height:1.5}
.bd-lv{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:0;padding:0;list-style:none}
@media(min-width:1180px){.bd-lv{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}}
@media(min-width:760px) and (max-width:1179px){.bd-lv{grid-template-columns:repeat(6,1fr)}.bd-lv>li{grid-column:span 2}.bd-lv>li:nth-child(4){grid-column:2/span 2}.bd-lv>li:nth-child(5){grid-column:4/span 2}}
.bd-card{display:flex;flex-direction:column;gap:10px;height:100%;border:1px solid var(--line-2);border-radius:18px;padding:18px 18px 22px;background:linear-gradient(160deg,rgba(15,39,71,.72),rgba(5,13,26,.85));min-width:0}
.bd-card:hover{border-color:var(--gold)}
.bd-card__img{display:block;border-radius:6px;overflow:hidden;box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}
.bd-card__img img{width:100%;height:auto;display:block;aspect-ratio:210/297;object-fit:cover}
.bd-card h3{margin:.2em 0 0;font-size:1.55rem}
.bd-card .bd-stars{font-size:1.1rem}
.bd-card__t{font:italic 400 1.1rem var(--serif);color:var(--gold-hi);margin:0}
.bd-card p{margin:0;color:#d3dce8;font-size:.95rem;line-height:1.5}
.bd-card a.bd-link{margin-top:auto;color:var(--gold-hi);font:500 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding-top:8px}
.bd-card a.bd-link:hover{color:#fff}
.bd-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:16px;background:rgba(10,26,48,.55)}
.bd-tw table{border-collapse:collapse;width:100%;min-width:860px;font-size:.9rem;line-height:1.45}
.bd-tw th,.bd-tw td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(230,201,138,.14);color:#d3dce8}
.bd-tw thead th{font:500 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.bd-tw tbody th{font:500 1.05rem var(--serif);color:var(--gold-hi);white-space:nowrap}
.bd-tw tbody tr:last-child>*{border-bottom:0}
.bd-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0;padding:0;list-style:none;counter-reset:s}
.bd-steps li{counter-increment:s;border:1px solid var(--line);border-radius:16px;padding:20px;background:rgba(10,26,48,.5)}
.bd-steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);font:600 .95rem var(--sans);margin-bottom:12px}
.bd-steps b{display:block;font:500 1.3rem var(--serif);color:var(--gold-hi);margin-bottom:.2em}
.bd-steps span{color:#d3dce8;font-size:.95rem;line-height:1.5}
.bd-faq details{border-bottom:1px solid var(--line);padding:14px 0}
.bd-faq summary{cursor:pointer;font:500 1.15rem var(--serif);color:var(--gold-hi)}
.bd-faq p{margin:.6em 0 0;color:#d3dce8;line-height:1.55;max-width:70ch}
.bd-final{text-align:center;display:grid;gap:18px;justify-items:center}
.bd-final h2{max-width:20ch}
.bd-note{font-size:.88rem;color:#9fb0c6;line-height:1.55;max-width:80ch}
/* regolamento */
.rg{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.rg__toc{position:sticky;top:calc(var(--bar,34px) + var(--hdr,60px) + 16px);border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:rgba(10,26,48,.55);font-size:.88rem}
.rg__toc b{font:500 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.rg__toc ol{margin:.6em 0 0;padding-left:1.3em;line-height:1.7}
.rg__toc a{color:#d3dce8;text-decoration:none}.rg__toc a:hover{color:var(--gold-hi)}
.rg__body{min-width:0;max-width:78ch}
.rg__body h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:2em 0 .5em;scroll-margin-top:110px}
.rg__body h2:first-child{margin-top:0}
.rg__body p,.rg__body li{color:#dfe6ef;line-height:1.65}
.rg__body ul,.rg__body ol{padding-left:1.25em}
.rg__body li{margin-bottom:.4em}
.rg__body table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1em 0}
.rg__body th,.rg__body td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;color:#dfe6ef}
.rg__body th{color:var(--gold);font-weight:500}
.rg__ver{font-size:.85rem;color:#9fb0c6}
/* candidatura */
.bd-form .mf-wrap{max-width:900px;margin:0 auto}
.bd-form select,.bd-form textarea,.bd-form input[type=text],.bd-form input[type=email],.bd-form input[type=tel]{width:100%}
.bd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bd-msg{margin:14px 0 0;min-height:1.4em;font-size:.95rem}
.bd-msg.err{color:#f2b2a6}.bd-msg.ok{color:var(--ok,#8fd1a8)}
.bd-ok{max-width:760px;margin:0 auto;display:grid;gap:18px;justify-items:start}
.bd-ok .bd-stars{font-size:2rem}
/* certificato */
.ct-body{margin:0;background:#06101f;color:#e9eef5;font-family:var(--sans,system-ui,sans-serif)}
.ct-tool{max-width:900px;margin:0 auto;padding:18px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:end;justify-content:center}
.ct-tool label{display:grid;gap:4px;font:500 .7rem var(--sans,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#c9a962}
.ct-tool input,.ct-tool select{background:#0d2140;color:#fff;border:1px solid rgba(230,201,138,.4);border-radius:8px;padding:10px 12px;font:400 .95rem var(--sans,sans-serif);min-width:0}
.ct-tool input[name=nome]{width:min(320px,86vw)}
.ct-tool button,.ct-tool a.ct-b{background:#c9a962;color:#0a1a30;border:0;border-radius:999px;padding:11px 22px;font:600 .78rem var(--sans,sans-serif);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.ct-tool a.ct-b{background:transparent;color:#e6c98a;border:1px solid rgba(230,201,138,.5)}
.ct-wrap{padding:6px 12px 40px;display:flex;justify-content:center}
.cert{--g:#d9b968;--ink:#16243a;position:relative;width:min(100%,794px);aspect-ratio:210/297;container-type:inline-size;background:#f3ecdc center/cover no-repeat;color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.8);overflow:hidden}
.cert.lv1{background-image:url(/assets/img/stelle/bdcss-bg-1.jpg)}
.cert.lv2{background-image:url(/assets/img/stelle/bdcss-bg-2.jpg)}
.cert.lv3{background-image:url(/assets/img/stelle/bdcss-bg-3.jpg)}
.cert.lv4{background-image:url(/assets/img/stelle/bdcss-bg-4.jpg);--ink:#f1e6c8}
.cert.lv5{background-image:url(/assets/img/stelle/bdcss-bg-5.jpg);--ink:#f6ecd0}
.cert__in{position:absolute;inset:9% 13% 24%;display:flex;flex-direction:column;align-items:center;text-align:center}
.cert__emb{width:17cqw;height:17cqw;margin-top:2cqw}
.cert__emb svg{width:100%;height:100%;display:block}
.cert__k{margin:1.6cqw 0 0;font:500 1.55cqw var(--sans,sans-serif);letter-spacing:.42em;text-transform:uppercase;color:#9a7a2c;padding-left:.42em}
.lv4 .cert__k,.lv5 .cert__k{color:#e6c98a}
.cert__t{max-width:70cqw;text-wrap:balance;margin:1.8cqw 0 0;font:500 5.4cqw/1.15 var(--serif,Georgia,serif);color:var(--ink);letter-spacing:.01em}
.cert__t small{display:block;font:400 italic 2.3cqw/1.3 var(--serif,Georgia,serif);margin-top:.5cqw;color:inherit;opacity:.82}
.cert__rule{width:34cqw;height:1px;margin:3.4cqw auto 2.6cqw;background:linear-gradient(90deg,transparent,#b8923a,transparent)}
.cert__p{margin:0;font:italic 400 2.6cqw var(--serif,Georgia,serif);opacity:.85}
.cert__n{margin:2cqw 0 2.4cqw;font:500 7.4cqw/1.1 var(--serif,Georgia,serif);color:var(--ink);max-width:100%;overflow-wrap:anywhere}
.cert__n.long{font-size:5.2cqw}.cert__n.xlong{font-size:3.8cqw}
.cert__lv{margin:0;font:500 2.5cqw var(--sans,sans-serif);letter-spacing:.3em;text-transform:uppercase;color:#9a7a2c;padding-left:.3em}
.lv4 .cert__lv,.lv5 .cert__lv{color:#e6c98a}
.cert__lvn{margin:.8cqw 0 0;font:italic 500 4.4cqw var(--serif,Georgia,serif)}
.cert__st{display:flex;gap:1.8cqw;margin:3cqw 0 0}
.cert__st svg{width:7.6cqw;height:7.6cqw;display:block;fill:rgba(160,130,60,.28)}
.lv4 .cert__st svg,.lv5 .cert__st svg{fill:rgba(230,201,138,.2)}
.cert__st svg.on{fill:url(#ct-gold);filter:drop-shadow(0 .3cqw .4cqw rgba(60,40,0,.45))}
.cert__txt{margin:3cqw 0 0;max-width:64cqw;font:400 2cqw/1.6 var(--sans,sans-serif);opacity:.85}
.cert__ft{position:absolute;left:17%;right:17%;bottom:11%;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:2cqw}
.cert__ft div{font:400 1.8cqw/1.5 var(--sans,sans-serif);letter-spacing:.06em}
.cert__ft div b{display:block;font:500 1.3cqw var(--sans,sans-serif);letter-spacing:.2em;text-transform:uppercase;color:#9a7a2c;margin-bottom:.3cqw}
.lv4 .cert__ft div b,.lv5 .cert__ft div b{color:#e6c98a}
.cert__ft div:last-child{text-align:right}
.cert__seal{width:17cqw;height:auto;display:block;filter:drop-shadow(0 1cqw 1.4cqw rgba(0,0,0,.45))}
.cert__cr{position:absolute;left:0;right:0;bottom:6.2%;text-align:center;font:500 1.15cqw var(--sans,sans-serif);letter-spacing:.34em;text-transform:uppercase;opacity:.6;padding-left:.34em}
@media (max-width:860px){.bd-hero{grid-template-columns:1fr}.bd-hero__fig{width:min(100%,320px);order:-1}.bd-hero h1{max-width:16ch}.rg{grid-template-columns:1fr}.rg__toc{position:static}}
@media (max-width:560px){.mf-grid{grid-template-columns:1fr}.bd-card h3{font-size:1.4rem}}
@page{size:A4 portrait;margin:0}
@media print{
  html,body{background:#fff!important}
  .ct-tool,.ct-hide{display:none!important}
  .ct-wrap{padding:0;display:block}
  .cert{width:210mm;height:297mm;aspect-ratio:auto;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
}

.ct-defs{position:absolute;width:0;height:0;overflow:hidden}
.cert__ft #c-cod{white-space:nowrap;font-size:1.5cqw}
.bd-form fieldset{border:0;padding:0;margin:0 0 6px;min-width:0}
.bd-form fieldset+fieldset{margin-top:26px}
.bd-form legend{padding:0;margin-bottom:12px}

/* w12: filigrana FAC-SIMILE del generatore pubblico (schermo e stampa) */
.cert__wm{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:space-around;align-items:center;pointer-events:none;overflow:hidden;user-select:none}
.cert__wm span{display:block;transform:rotate(-32deg);font:700 13cqw/1 var(--sans,Arial,sans-serif);letter-spacing:.06em;color:rgba(178,24,24,.42);border:.6cqw solid rgba(178,24,24,.42);padding:.6cqw 2.4cqw;white-space:nowrap}
@media print{.cert__wm{display:flex!important}.cert__wm span{color:rgba(178,24,24,.5)!important;border-color:rgba(178,24,24,.5)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* RT16: stili prova estratti per CSP same-origin. */
.prova label{display:grid;grid-template-columns:1.4rem 1fr;gap:.6rem;align-items:start;padding:.45rem 0;border-bottom:1px solid rgba(201,162,39,.18)}
.prova input{margin-top:.25rem}
#esito{position:sticky;top:0;z-index:2}
