/*
Theme Name: APDC Elementor Base
Theme URI: https://apdc.ch/
Author: OpenAI / APDC V1
Description: Tema leggero per APDC progettato per Elementor Free. Gestisce header, footer e archivio news; le pagine restano modificabili con Elementor.
Version: 1.0.0
Text Domain: apdc-elementor-base
*/

:root{
  --apdc-ink:#0B0F14;
  --apdc-dark:#111820;
  --apdc-red:#D8232A;
  --apdc-red-soft:#F3A1A5;
  --apdc-paper:#F4F6F8;
  --apdc-text:#5B6570;
  --apdc-line:#E0E4E8;
  --apdc-white:#FFFFFF;
  --apdc-max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--apdc-ink);background:#fff;font-family:Inter,Arial,sans-serif;line-height:1.6}
a{color:inherit}
img{max-width:100%;height:auto}
.site-main{min-height:60vh}
.apdc-site-header{position:sticky;top:0;z-index:100;background:rgba(11,15,20,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.09)}
.apdc-header-inner{max-width:var(--apdc-max);margin:auto;padding:14px 22px;display:flex;align-items:center;gap:24px}
.apdc-brand{display:flex;align-items:center;text-decoration:none;color:white;font-family:Montserrat,Arial,sans-serif;font-weight:800;letter-spacing:.02em;min-width:max-content}
.apdc-brand .custom-logo{max-height:52px;width:auto}
.apdc-logo-placeholder{display:inline-flex;width:96px;height:44px;border:2px solid rgba(255,255,255,.65);align-items:center;justify-content:center;border-radius:8px}
.apdc-nav{margin-left:auto}
.apdc-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:20px}
.apdc-nav a{text-decoration:none;color:#E8ECEF;font:600 13px/1 Montserrat,Arial,sans-serif;transition:.2s}
.apdc-nav a:hover{color:#fff}
.apdc-header-cta{margin-left:4px;background:var(--apdc-red);color:#fff!important;padding:11px 16px;border-radius:8px;text-decoration:none;font:700 13px Montserrat,Arial,sans-serif}
.apdc-menu-toggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:9px 12px}
.apdc-inner{width:100%;max-width:var(--apdc-max)!important;margin-left:auto!important;margin-right:auto!important}
.apdc-eyebrow p{margin:0!important;letter-spacing:.16em;font-weight:800;font-family:Montserrat,Arial,sans-serif}
.apdc-card,.apdc-team-card{transition:transform .2s ease,box-shadow .2s ease}
.apdc-card:hover,.apdc-team-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(11,15,20,.08)}
.apdc-hero{position:relative;overflow:hidden}
.apdc-hero:after{content:"";position:absolute;width:360px;height:360px;border:88px solid rgba(216,35,42,.12);border-radius:50%;right:-170px;top:-160px;pointer-events:none}
.apdc-hero-visual{background:linear-gradient(145deg,#151D26,#202B36)!important;border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden}
.apdc-road-visual{position:relative;width:100%;height:360px;overflow:hidden}
.apdc-road-visual:before,.apdc-road-visual:after{content:"";position:absolute;left:50%;transform:translateX(-50%) rotate(12deg);height:500px}
.apdc-road-visual:before{width:150px;top:-60px;background:#0B0F14}
.apdc-road-visual:after{width:3px;top:-50px;background:repeating-linear-gradient(to bottom,#fff 0 24px,transparent 24px 46px);opacity:.55}
.road-tag{position:absolute;left:24px;bottom:28px;color:#fff;font:700 12px Montserrat,Arial,sans-serif;letter-spacing:.12em;z-index:2}
.road-number{position:absolute;right:20px;top:12px;color:rgba(255,255,255,.08);font:800 92px Montserrat,Arial,sans-serif;z-index:2}
.apdc-shortcode-placeholder{min-height:128px;border:1px dashed rgba(255,255,255,.45);border-radius:12px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:4px;color:#fff;background:rgba(11,15,20,.08)}
.apdc-shortcode-placeholder.light{color:var(--apdc-ink);border-color:#BFC6CC;background:#fff}
.apdc-shortcode-placeholder span{opacity:.72;font-size:14px}
.apdc-site-footer{background:#080B0F;color:#C9D0D6;padding:54px 22px 26px}
.apdc-footer-grid{max-width:var(--apdc-max);margin:auto;display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:42px}
.apdc-footer-title{color:#fff;font:800 18px Montserrat,Arial,sans-serif;margin:0 0 12px}
.apdc-footer-small{max-width:var(--apdc-max);margin:36px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#7E8891}
.apdc-blog-wrap{max-width:var(--apdc-max);margin:auto;padding:78px 22px}
.apdc-blog-title{font:800 clamp(38px,5vw,62px)/1.05 Montserrat,Arial,sans-serif;margin:0 0 10px}
.apdc-blog-intro{color:var(--apdc-text);margin:0 0 34px}
.apdc-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.apdc-post-card{border:1px solid var(--apdc-line);border-radius:14px;overflow:hidden;background:#fff;transition:.2s}
.apdc-post-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(11,15,20,.08)}
.apdc-post-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.apdc-post-card-body{padding:22px}
.apdc-post-date{color:var(--apdc-red);font:800 11px Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.apdc-post-card h2{font:750 22px/1.18 Montserrat,Arial,sans-serif;margin:9px 0 10px}
.apdc-post-card h2 a{text-decoration:none}
.apdc-post-card p{color:var(--apdc-text);font-size:14px}
.apdc-single{max-width:840px;margin:auto;padding:72px 22px}
.apdc-single h1{font:800 clamp(38px,5vw,62px)/1.05 Montserrat,Arial,sans-serif}
.apdc-single-meta{color:var(--apdc-red);font-weight:700;font-size:13px}
.apdc-single .wp-post-image{border-radius:16px;margin:18px 0 28px}
.apdc-single .entry-content{font-size:18px;color:#303841}
.apdc-pagination{margin-top:34px}
.apdc-widget-newsletter form{display:flex;gap:8px;flex-wrap:wrap}
.apdc-widget-newsletter input[type="email"]{min-width:220px;flex:1;border:1px solid #48515A;border-radius:8px;background:#121820;color:#fff;padding:12px 14px}
.apdc-widget-newsletter input[type="submit"],.apdc-widget-newsletter button{border:0;background:var(--apdc-red);color:#fff;border-radius:8px;padding:12px 16px;font-weight:700}

@media (max-width:900px){
  .apdc-menu-toggle{display:block}
  .apdc-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#0B0F14;padding:18px 22px;border-top:1px solid rgba(255,255,255,.08)}
  .apdc-nav.open{display:block}
  .apdc-nav ul{flex-direction:column;align-items:flex-start}
  .apdc-header-cta{display:none}
  .apdc-post-grid{grid-template-columns:repeat(2,1fr)}
  .apdc-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .apdc-post-grid{grid-template-columns:1fr}
  .apdc-footer-grid{grid-template-columns:1fr}
  .apdc-header-inner{padding:12px 16px}
}
