:root{--ink:#182c41;--muted:#64748b;--blue:#145ea8;--pale:#eef6ff;--line:#e2e9f0;--bg:#f7f9fc;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.2;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,5vw,3.7rem);margin:.25em 0}h2{font-size:1.65rem}h3{font-size:1.2rem}.wrap{max-width:1180px;margin:auto;padding:0 22px}.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9}.head,.logo,nav,.hero-actions,.sectionline,.sitefoot,.sitehead,.foot{display:flex;align-items:center;justify-content:space-between;gap:18px}.head{min-height:84px}.logo{justify-content:flex-start;color:var(--ink);font-size:1.25rem;font-weight:800;line-height:1.1}.logo:hover{text-decoration:none}.logo small{display:block;font-size:.65rem;color:var(--muted);font-weight:500}.mark{display:grid;place-items:center;background:var(--blue);color:#fff;width:44px;height:44px;border-radius:12px}.accent{color:var(--blue)}nav{flex-wrap:wrap}nav>a{font-size:.9rem;font-weight:600;color:#334155}.btn,button.btn{display:inline-block;background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:9px;padding:12px 19px;font:inherit;font-weight:700;cursor:pointer;text-align:center}.btn:hover{background:#104b86;color:#fff;text-decoration:none}.btn.small{padding:8px 12px;font-size:.86rem}.btn.outline{background:#fff;color:var(--blue)}.btn.subtle{background:#eaf3fe;color:#155c9d;border-color:#d6e8fa;padding:7px 10px;font-size:.85rem}.btn.full{width:100%}.link{border:0;background:transparent;color:var(--blue);cursor:pointer;font:inherit}.inline{display:inline}.hero{padding:75px 0 70px;max-width:800px}.hero p{font-size:1.1rem;color:var(--muted);max-width:650px}.eyebrow{font-size:.78rem;letter-spacing:.12em;font-weight:800;color:var(--blue)}.search{display:flex;background:#fff;gap:8px;border:1px solid #d3e0ed;box-shadow:0 13px 35px #1b396111;border-radius:12px;padding:7px;margin:28px 0 15px}.search input{border:none;flex:1;min-width:80px;padding:10px 13px;font:inherit;outline:none}.hero-actions{justify-content:flex-start;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}section{margin-bottom:50px}.sectionline{margin:0 0 22px}.sectionline h2{margin:0}.sectionline>span{color:var(--muted)}.catgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.cat{border:1px solid var(--line);border-radius:12px;padding:24px 17px;background:#fff;min-height:104px;display:flex;flex-direction:column;justify-content:space-between}.cat strong{color:var(--ink);font-size:1rem}.cat span{font-size:.8rem}.cat:hover,.sitecard:hover{border-color:#a8c9e9;box-shadow:0 8px 28px #0b4b8120;text-decoration:none}.sitegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sitecard,.panel,.highlight{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.sitecard{display:flex;flex-direction:column;min-height:260px}.sitehead{margin-bottom:16px}.fav{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--pale);font-weight:800;color:var(--blue)}.state{font-size:.75rem;color:#49735b}.sitecard h3{margin:0 0 8px}.sitecard h3 a{color:var(--ink)}.sitecard p{color:var(--muted);font-size:.92rem;flex:1}.sitefoot{border-top:1px solid var(--line);padding-top:12px;font-size:.82rem}.sitefoot span{color:var(--muted)}.highlight{background:#eaf4ff}.highlight h2{margin:10px 0 0}.intro{padding:45px 0 13px;margin:0}.intro h1{font-size:2.65rem}.intro p{color:var(--muted)}.notice{background:#e5f2fd;color:#124c7d;border:1px solid #c5e4fc;border-radius:10px;padding:12px 17px;margin:20px 0}.notice.neutral{background:#f6f8fb;color:#475569;border-color:var(--line)}.detail{display:grid;grid-template-columns:2fr 1fr;gap:22px;margin-bottom:70px}.detail aside{align-self:start}.prose{white-space:normal;overflow-wrap:anywhere;line-height:1.85}.prose p{margin-bottom:20px}.panel p{overflow-wrap:anywhere}.auth{max-width:450px;margin:65px auto}.auth h1{font-size:2rem}.formpanel{max-width:760px}label{display:block;font-size:.9rem;font-weight:700;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #cfdae7;border-radius:8px;padding:12px;margin-top:7px;font:inherit;color:var(--ink);background:#fff}input:focus,textarea:focus,select:focus{outline:2px solid #b9dfff}label.check{display:flex;align-items:start;gap:8px;font-weight:400}.check input{width:auto;margin-top:7px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:35px}.stats strong{display:block;font-size:2rem;color:var(--blue)}.stats span{color:var(--muted)}.panel table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.panel th,.panel td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.panel th{color:var(--muted);font-size:.8rem}.panel td{min-width:90px}.panel td form{min-width:120px}.panel td select{padding:6px}.report{border-bottom:1px solid var(--line);padding:12px 0}.empty{background:#fff;border:1px dashed #cad9e9;border-radius:12px;padding:30px;color:var(--muted)}.pagination{display:flex;gap:20px;margin:25px 0}footer{margin-top:90px;padding:45px 0;background:#172b40;color:#cbd5e1}.foot{align-items:start}.foot a{color:#d9eafd;margin-left:16px}.foot p{font-size:.85rem;color:#9cacc0}@media(max-width:850px){.catgrid{grid-template-columns:repeat(3,1fr)}.sitegrid{grid-template-columns:repeat(2,1fr)}.head{align-items:start;flex-direction:column;padding-top:13px;padding-bottom:14px}nav{gap:10px}.detail{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.catgrid{grid-template-columns:repeat(2,1fr)}.sitegrid{grid-template-columns:1fr}.search{flex-direction:column}.hero{padding:45px 0}.foot{flex-direction:column}.foot a{margin-left:0;margin-right:12px}}

/* SEO schede: breadcrumb e descrizioni leggibili, anche con testi incollati */
.breadcrumbs{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:9px;margin-top:28px;font-size:.86rem;color:var(--muted)}
.breadcrumbs span[aria-current="page"]{font-weight:600;color:var(--ink)}
.description-text{white-space:pre-line;overflow-wrap:anywhere;line-height:1.85}
.breadcrumbs+.intro{padding-top:18px}

/* Update 04: pannello amministrazione responsive */
.di-admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 26px}.di-admin-nav a{display:inline-block;padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:.87rem;font-weight:700}.di-admin-nav a.current{background:#155c9d;color:#fff;border-color:#155c9d}.di-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:28px}.di-kpi{padding:20px;min-width:0}.di-kpi strong{display:block;font-size:1.9rem;line-height:1.25;color:var(--blue)}.di-kpi span{display:block;font-size:.83rem;color:var(--muted);margin:7px 0}.di-kpi>a{font-size:.83rem}.di-admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin-bottom:20px}.di-admin-columns .panel{min-width:0}.di-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.di-panel-head h2{margin:0}.di-panel-head span,.di-note{color:var(--muted);font-size:.88rem}.di-admin-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.di-admin-item:last-child{border:0}.di-admin-item>div{min-width:0}.di-admin-item small{display:block;color:var(--muted);overflow-wrap:anywhere}.di-admin-item form{flex-shrink:0}.di-filter{display:grid;grid-template-columns:minmax(170px,2fr) minmax(120px,1fr) minmax(120px,1fr) auto auto;gap:12px;align-items:end}.di-filter label{margin:0}.di-filter>button,.di-filter>a{margin-bottom:0}.di-table-wrap{overflow-x:auto;width:100%}.di-table-wrap table{display:table;width:100%;border-collapse:collapse}.di-table-wrap th,.di-table-wrap td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.di-table-wrap td{overflow-wrap:anywhere}.di-table-wrap td form{min-width:155px}.di-table-wrap td select{width:100%;padding:8px}.di-table-wrap details{max-width:430px}.di-table-wrap details p{max-height:200px;overflow:auto}.di-badge{display:inline-block;background:#e6edf4;border-radius:20px;padding:4px 9px;font-size:.78rem;font-weight:700}.di-badge-published,.di-badge-verified{background:#e3f4e9;color:#206b41}.di-badge-pending{background:#fff3d9;color:#895900}.di-badge-suspended,.di-badge-rejected,.di-badge-error,.di-badge-missing{background:#fce6e6;color:#942e2e}.di-bar{display:flex;gap:12px;align-items:center;margin:15px 0}.di-bar>span{width:68px;font-size:.83rem}.di-bar>b{min-width:30px;text-align:right}.di-track{height:12px;border-radius:8px;background:#eaf0f6;overflow:hidden;flex:1}.di-track>span{height:100%;background:var(--blue);border-radius:8px;display:block}.di-pagination{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:18px;flex-wrap:wrap}@media(max-width:900px){.di-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.di-admin-columns{grid-template-columns:1fr}.di-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.di-admin-stats{grid-template-columns:1fr 1fr;gap:8px}.di-kpi{padding:13px}.di-kpi strong{font-size:1.5rem}.di-filter{grid-template-columns:1fr}.di-admin-item{align-items:flex-start;flex-direction:column}}


/* Update 05: logo ufficiale e favicon */
.logo{display:flex;align-items:center;max-width:min(100%,430px)}
.logo-image{display:block;max-width:100%;width:430px;height:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.head{min-height:96px}
nav{margin-left:auto}
@media(max-width:850px){.head{min-height:unset}.logo{max-width:320px}.logo-image{width:320px}}
@media(max-width:560px){.logo{max-width:240px}.logo-image{width:240px}}


/* Update 06 - Identità visiva Directory Italia: arancione #F69E24 e nero */
:root{
  --ink:#111111;
  --muted:#595959;
  --blue:#F69E24; /* variabile storica riutilizzata per compatibilità */
  --pale:#FFF3E1;
  --line:#E9E2D8;
  --bg:#FAF9F7;
}
body{color:#111111}
a{color:#9B5700}
a:hover{color:#111111}
nav>a,.sitecard h3 a,.cat strong{color:#111111}
nav>a:hover,.sitecard h3 a:hover{color:#A75B00}
.logo{max-width:300px}
.logo-image{width:300px;max-width:100%;height:auto}
.head{min-height:82px}
.mark{background:#F69E24;color:#111111}
.accent,.eyebrow,.stats strong,.di-kpi strong{color:#B66800}
.btn,button.btn{background:#F69E24;border-color:#F69E24;color:#111111}
.btn:hover,button.btn:hover{background:#E58C13;border-color:#E58C13;color:#111111}
.btn.outline{background:#FFFFFF;color:#111111;border-color:#D9870C}
.btn.outline:hover{background:#FFF3E1;color:#111111}
.btn.subtle{background:#FFF1D8;border-color:#F3D4A6;color:#111111}
.btn.subtle:hover{background:#FFE0AA}
.link{color:#8A4A00}
.search{border-color:#EAD7B7;box-shadow:0 13px 35px #0000000D}
.cat:hover,.sitecard:hover{border-color:#F0BD6D;box-shadow:0 8px 28px #00000010}
.highlight{background:#FFF3E1;border-color:#F3D6A7}
.notice{background:#FFF3E1;color:#111111;border-color:#F0D6AD}
.notice.neutral{background:#F6F5F3;color:#424242;border-color:#E9E2D8}
input:focus,textarea:focus,select:focus{outline:2px solid #F69E24;outline-offset:1px}
.fav{background:#FFF1D8;color:#111111}
.di-admin-nav a{color:#111111}
.di-admin-nav a.current{background:#F69E24;color:#111111;border-color:#F69E24}
.di-admin-nav a:hover{border-color:#E5A349}
.di-track{background:#F5EDE1}
.di-track>span{background:#F69E24}
footer{background:#111111;color:#E5E5E5}
.foot a{color:#FFBE62}
.foot p{color:#CCCCCC}
@media(max-width:850px){.logo{max-width:245px}.logo-image{width:245px}.head{min-height:unset}}
@media(max-width:560px){.logo{max-width:210px}.logo-image{width:210px}}

/* Update 19: siti in evidenza */
.di-featured-section{padding:24px;background:#fff5e8;border:1px solid #f69e24;border-radius:15px}
.di-featured-card{border:2px solid #f69e24;box-shadow:0 5px 20px #f69e2422}
.di-featured-card .state,.di-featured-admin{font-weight:800;color:#975400}
.di-featured-section .sectionline>span{font-size:.85rem}


/* Update 24 - Navigazione responsive arancione/nero */
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-width:46px;min-height:44px;padding:8px 12px;background:#f69e24;color:#141414;border:2px solid #141414;border-radius:10px;cursor:pointer;font:700 .95rem/1.2 inherit}
.hamburger-lines{width:22px;display:flex;flex-direction:column;gap:5px}
.hamburger-lines span{height:2px;width:100%;display:block;background:#141414;border-radius:5px;transition:transform .18s ease,opacity .18s ease}
.mobile-menu-toggle[aria-expanded="true"] .hamburger-lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] .hamburger-lines span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] .hamburger-lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu-toggle:focus-visible,.site-nav a:focus-visible,.site-nav button:focus-visible{outline:3px solid #f69e24;outline-offset:3px}
@media(max-width:980px){
 .top .head{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:12px;padding-bottom:12px;position:relative}
 .top .logo{flex:0 1 auto;max-width:min(245px,calc(100% - 135px));margin:0}
 .top .logo-image{max-width:100%;width:245px;height:auto}
 .mobile-menu-toggle{display:inline-flex;margin-left:auto;flex-shrink:0}
 .top .site-nav{width:100%;flex:0 0 100%;margin:0;padding:10px 0 4px;display:flex;flex-direction:column;align-items:stretch;gap:2px;justify-content:flex-start;border-top:1px solid #dedede}
 .js .top .site-nav:not(.is-open){display:none}
 .top .site-nav>a,.top .site-nav>form{width:100%;margin:0}
 .top .site-nav>a{display:block;padding:12px 14px;min-height:44px;border-radius:8px;color:#151515;font-weight:700}
 .top .site-nav>a:hover,.top .site-nav>a:focus-visible{background:#fff1da;text-decoration:none}
 .top .site-nav>a.btn{border-color:#f69e24;background:#f69e24;color:#171717;text-align:left}
 .top .site-nav>form button{width:100%;text-align:left;padding:12px 14px;min-height:44px;color:#151515;font-weight:700}
 .top .site-nav>form button:hover{background:#fff1da}
}
@media(max-width:560px){
 .top .logo{max-width:min(205px,calc(100% - 111px))}
 .top .logo-image{width:205px}
 .mobile-menu-toggle{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){.hamburger-lines span{transition:none}}
