/* Sezione "News, blog e social": schede, pagina "Vedi tutti" e pagina articolo.
   Caricato dalla home (index.html), da news.php e da articolo.php. */

/* ---------- blocchi della home ---------- */
.feed-block + .feed-block{margin-top:44px;}
.feed-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:18px; flex-wrap:wrap;}
.feed-head h3{font-family:'Space Grotesk',sans-serif; font-size:1.35rem; letter-spacing:-.02em;}
.feed-all{
  font-weight:600; font-size:.92rem; border:2px solid #14161A; border-radius:100px; padding:8px 18px;
  transition:background .2s ease, transform .2s ease; white-space:nowrap;
}
.feed-all:hover{background:#FFD400; transform:translateY(-2px);}
.feed-follow{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
.feed-follow a{
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:100px;
  background:#14161A; color:#FFFCF7; font-weight:600; font-size:.9rem; transition:transform .2s ease, background .2s ease;
}
.feed-follow a:hover{background:#FF3B30; transform:translateY(-2px);}

/* ---------- schede news ---------- */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.post-card{border-radius:18px; overflow:hidden; border:1px solid #E7E2D8; background:#fff; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; color:#14161A;}
.post-card:hover{transform:translateY(-4px); box-shadow:0 12px 30px rgba(20,22,26,0.08);}
.post-media{aspect-ratio:16/10; background:linear-gradient(135deg,#FFE8A3,#FFD400); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;}
.post-media img{width:100%; height:100%; object-fit:cover; display:block;}
.post-media .post-ico{font-size:3rem; opacity:.55; filter:grayscale(.2);}
.post-pin{position:absolute; top:10px; left:10px; background:#14161A; color:#FFD400; font:500 .68rem 'JetBrains Mono',monospace; padding:4px 9px; border-radius:100px; text-transform:uppercase; letter-spacing:.06em;}
.post-body{padding:22px; flex:1;}
.post-body .mono{color:#00B8A9; margin-bottom:10px; display:block;}
.post-body h3{font-size:1.1rem; margin-bottom:8px; line-height:1.2; overflow-wrap:anywhere;}
.post-body p{color:#6B6F76; font-size:0.9rem; line-height:1.5; overflow-wrap:anywhere;}
.post-more{display:inline-block; margin-top:12px; font-weight:600; font-size:.88rem;}

/* ---------- schede social ---------- */
.social-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.social-card{border-radius:18px; overflow:hidden; border:1px solid #E7E2D8; background:#fff; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; color:#14161A;}
a.social-card:hover{transform:translateY(-4px); box-shadow:0 12px 30px rgba(20,22,26,0.08);}
.social-media{aspect-ratio:1; background:linear-gradient(135deg,#FFFCF7,#EFE6D2); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.social-media img{width:100%; height:100%; object-fit:cover; display:block;}
.social-media .post-ico{font-size:3rem; opacity:.5;}
.social-tag{position:absolute; top:12px; left:12px; background:#14161A; color:#FFD400; font:500 .7rem 'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:.06em; padding:5px 11px; border-radius:100px;}
.social-body{padding:18px 20px 20px; flex:1; display:flex; flex-direction:column; gap:10px;}
.social-cap{font-size:.92rem; line-height:1.5; color:#3A3D42; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere;}
.social-body .mono{margin-top:auto;}
.feed-empty{border:2px dashed #E7E2D8; border-radius:18px; padding:30px; text-align:center; color:#6B6F76;}

@media (max-width:900px){
  .blog-grid{grid-template-columns:1fr;}
  .social-grid{grid-template-columns:1fr;}
  .social-card{flex-direction:row;}
  .social-media{aspect-ratio:auto; width:38%; min-height:150px; flex-shrink:0;}
  .feed-block + .feed-block{margin-top:36px;}
}

/* ---------- pagine interne (news.php, articolo.php) ---------- */
:root{--ink:#14161A; --paper:#FFFCF7; --flash:#FFD400; --shutter:#FF3B30; --lens:#00B8A9; --grey:#6B6F76; --line:#E7E2D8; --radius:18px;}
body.sub{margin:0; background:var(--paper); color:var(--ink); font-family:'Inter',sans-serif; overflow-x:hidden; line-height:1.5;}
body.sub *,body.sub *::before,body.sub *::after{box-sizing:border-box;}
body.sub :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote,hr){margin:0;}
body.sub h1,body.sub h2,body.sub h3{font-family:'Space Grotesk',sans-serif; font-weight:700; letter-spacing:-0.02em; line-height:1.1;}
body.sub a{color:inherit; text-decoration:none;}
body.sub img{max-width:100%; display:block;}
body.sub .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
body.sub .mono{font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:0.08em; font-size:0.72rem; color:var(--grey);}
body.sub [hidden]{display:none!important;}

.site-h{position:sticky; top:0; z-index:100; background:rgba(255,252,247,0.9); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.site-h nav{display:flex; align-items:center; justify-content:space-between; gap:16px; height:74px;}
.site-h .logo{display:flex; align-items:center; gap:10px; font-family:'Archivo Black','Space Grotesk',sans-serif; font-size:1rem;}
.site-h .logo img{width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.site-h .navlinks{display:flex; gap:28px; font-size:.92rem; font-weight:500;}
.site-h .navlinks a{padding:6px 0; border-bottom:2px solid transparent;}
.site-h .navlinks a:hover,.site-h .navlinks a.on{border-bottom-color:var(--shutter);}
.site-h .navcta{background:var(--ink); color:var(--paper)!important; padding:10px 20px; border-radius:100px; font-size:.85rem; font-weight:600; white-space:nowrap;}

.sub-main{padding:48px 0 70px; min-height:60vh;}
.sub-head{max-width:680px; margin-bottom:28px;}
.sub-head .mono{color:var(--shutter); display:block; margin-bottom:12px;}
.sub-head h1{font-size:clamp(2rem,4vw,3rem);}
.sub-head p{color:var(--grey); margin-top:12px; font-size:1.05rem;}

.f-tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px;}
.f-tabs a,.f-chips a{border:1.5px solid var(--ink); border-radius:100px; padding:8px 18px; font-weight:600; font-size:.9rem; background:#fff; transition:background .15s ease;}
.f-tabs a:hover,.f-chips a:hover{background:var(--flash);}
.f-tabs a.on,.f-chips a.on{background:var(--ink); color:#fff;}
.f-chips{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.f-chips a{padding:6px 14px; font-size:.82rem; border-color:var(--line);}
.f-chips a.on{border-color:var(--ink);}
.f-search{display:flex; gap:10px; margin-bottom:26px; max-width:520px;}
.f-search input{flex:1; min-width:0; padding:11px 16px; border:1.5px solid #D8D2C4; border-radius:100px; font:400 .95rem 'Inter',sans-serif; background:#fff;}
.f-search input:focus{outline:3px solid rgba(255,212,0,.6); border-color:var(--ink);}
.f-search button{border:2px solid var(--ink); background:#fff; border-radius:100px; padding:10px 20px; font:600 .9rem 'Inter',sans-serif; cursor:pointer;}
.f-search button:hover{background:var(--flash);}
.all-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch;}
.pager{display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:36px;}
.pager a,.pager span{min-width:42px; text-align:center; padding:9px 14px; border-radius:100px; border:1.5px solid var(--line); font-weight:600; background:#fff;}
.pager a:hover{background:var(--flash); border-color:var(--ink);}
.pager .on{background:var(--ink); color:#fff; border-color:var(--ink);}
@media (max-width:900px){ .all-grid{grid-template-columns:1fr;} }

body.sub .btn-primary{background:var(--shutter); color:#fff!important; padding:14px 26px; border-radius:100px; font-weight:600; display:inline-flex; align-items:center; gap:10px; box-shadow:0 7px 0 0 #C22318; transition:transform .2s ease, box-shadow .2s ease;}
body.sub .btn-primary:hover{transform:translateY(4px); box-shadow:0 3px 0 0 #C22318;}
body.sub .btn-ghost{border:2px solid var(--ink); padding:12px 24px; border-radius:100px; font-weight:600; display:inline-flex; align-items:center; gap:10px; transition:background .2s ease;}
body.sub .btn-ghost:hover{background:var(--flash);}

/* pagina articolo */
.art{max-width:760px; margin:0 auto; padding:0 24px;}
.art-back{display:inline-block; font-size:.9rem; color:var(--grey); margin-bottom:22px; font-weight:500;}
.art-back:hover{color:var(--ink);}
.art .mono.cat{display:block; color:var(--lens); margin-bottom:12px;}
.art h1{font-size:clamp(2rem,4.6vw,3.1rem); margin-bottom:16px; overflow-wrap:anywhere;}
.art-meta{color:var(--grey); font-size:.92rem; margin-bottom:26px;}
.art-cover{border-radius:var(--radius); overflow:hidden; margin-bottom:34px; background:#EFE6D2;}
.art-cover img{width:100%; height:auto; max-height:520px; object-fit:cover;}
.ab > * + *{margin-top:20px;}
.ab p,.ab li{font-size:1.08rem; line-height:1.75; color:#2A2D33; overflow-wrap:anywhere;}
.ab ul,.ab ol{padding-left:1.4em;}
.ab li + li{margin-top:6px;}
.ab a{color:#C22318; text-decoration:underline; text-underline-offset:3px;}
.ab .btn-primary,.ab .btn-ghost{text-decoration:none;}
.ab .btn-primary{color:#fff;}
.ab h2{font-size:1.7rem; margin-top:38px;}
.ab h3{font-size:1.3rem; margin-top:30px;}
.ab hr{border:none; border-top:1px solid var(--line); margin:36px 0;}
.ab .ab-img{margin-top:28px; margin-bottom:8px;}
.ab .ab-img img{width:100%; height:auto; border-radius:14px;}
.ab .ab-medium{max-width:78%; margin-left:auto; margin-right:auto;}
.ab .ab-small{max-width:52%; margin-left:auto; margin-right:auto;}
.ab figcaption{font-size:.85rem; color:var(--grey); margin-top:8px; text-align:center;}
.ab blockquote{border-left:4px solid var(--flash); padding:4px 0 4px 22px; margin:30px 0;}
.ab blockquote p{font-family:'Space Grotesk',sans-serif; font-size:1.35rem; line-height:1.4; color:var(--ink);}
.ab cite{display:block; margin-top:10px; font-style:normal; font-size:.9rem; color:var(--grey);}
.ab .ab-callout{border-radius:14px; padding:18px 22px;}
.ab .ab-callout > * + *{margin-top:10px;}
.ab .ab-info{background:#FFF6CC; border:1px solid #F0DC80;}
.ab .ab-offer{background:#FFE6E3; border:1px solid #FFB9B3;}
.ab .ab-file{display:inline-flex; align-items:center; gap:14px; padding:14px 20px; border:1.5px solid var(--ink); border-radius:14px; background:#fff; text-decoration:none; color:var(--ink); transition:background .2s ease;}
.ab .ab-file:hover{background:var(--flash);}
.ab .ab-file-ico{font-size:1.6rem;}
.ab .ab-file strong{display:block; font-size:1rem;}
.ab .ab-file small{color:var(--grey); font-size:.8rem;}
.ab-btn{margin-top:26px;}
.art-end{margin-top:46px; padding-top:28px; border-top:1px solid var(--line); display:flex; gap:14px; flex-wrap:wrap;}
.related{margin-top:70px;}
.related h2{font-size:1.5rem; margin-bottom:20px;}
.pv-bar{background:var(--flash); color:var(--ink); padding:10px 20px; font-size:.9rem; text-align:center; font-weight:500;}
.pv-bar a{text-decoration:underline; font-weight:700;}
@media (max-width:900px){
  .site-h .navlinks{display:none;}
  .sub-main{padding:32px 0 56px;}
  .ab .ab-medium,.ab .ab-small{max-width:100%;}
}

.site-f{padding:34px 0; border-top:1px solid var(--line);}
.site-f .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;}
.site-f .mono{font-size:.72rem;}
.site-f .links{display:flex; gap:18px; flex-wrap:wrap;}
.site-f .links a{text-decoration:underline;}
