/*
Theme Name: AV Magazine
Theme URI: https://avmagazine.it
Author: OpenAI
Description: Tema base AV Magazine con CPT Articoli e News, categorie dedicate, blocco 1 grafico, sidebar ADV predisposta e upload immagini articoli in cartelle per ID.
Version: 1.9
Text Domain: avmagazine
*/

:root{
  --avm-yellow:#f0c330;
  --avm-dark:#111111;
  --avm-dark-2:#3a3a3a;
  --avm-text:#222222;
  --avm-muted:#666666;
  --avm-border:#e5e5e5;
  --avm-bg:#fafafa;
  --avm-max:1170px;
  --avm-radius:3px;
  --avm-shadow:0 2px 14px rgba(0,0,0,.08);
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:#fff;
  color:var(--avm-text);
  line-height:1.45;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

.site-main,
.site-footer-inner,
.site-header-inner,
.site-header-strip-inner{
  width:min(100% - 32px, var(--avm-max));
  margin-inline:auto;
}

.site-header{
  background:#fff;
  border-bottom:1px solid var(--avm-border);
}

.site-header-strip{
  background:#f4f4f4;
  border-bottom:1px solid var(--avm-border);
  font-size:12px;
  color:#666;
}

.site-header-strip-inner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.site-header-top{
  padding:18px 0 16px;
  background:linear-gradient(to bottom, #ffffff 0%, #fbfbfb 100%);
}

.site-header-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px;
}

.site-branding{
  min-width:0;
}

.site-branding-title{
  margin:0;
  font-size:38px;
  line-height:1;
  font-weight:700;
  letter-spacing:-0.03em;
  font-family:'Oswald', Arial, Helvetica, sans-serif;
  text-transform:uppercase;
}

.site-branding-title a{
  color:#111;
}

.site-branding-tagline{
  margin:7px 0 0;
  color:var(--avm-muted);
  font-size:13px;
}

.site-header-center{
  justify-self:center;
  width:100%;
  max-width:420px;
}

.site-header-badge{
  border:1px solid var(--avm-border);
  background:#fff;
  box-shadow:var(--avm-shadow);
  padding:12px 14px;
  text-align:center;
  font-size:13px;
  color:#666;
}

.site-header-badge strong{
  display:block;
  margin-bottom:2px;
  color:#222;
  font-family:'Oswald', Arial, Helvetica, sans-serif;
  font-size:16px;
  text-transform:uppercase;
  font-weight:600;
}

.site-header-right{
  text-align:right;
  color:var(--avm-muted);
  font-size:13px;
}

.site-header-right strong{
  display:block;
  color:#222;
  font-family:'Oswald', Arial, Helvetica, sans-serif;
  font-size:16px;
  text-transform:uppercase;
  font-weight:600;
}

.site-nav-wrap{
  background:var(--avm-dark);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.05);
}

.site-nav{
  width:min(100% - 32px, var(--avm-max));
  margin-inline:auto;
}

.site-nav ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}

.site-nav li{
  margin:0;
}

.site-nav a{
  display:block;
  color:#fff;
  padding:14px 16px;
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  font-family:'Oswald', Arial, Helvetica, sans-serif;
  letter-spacing:.02em;
}

.site-nav a:hover{
  background:#1f1f1f;
}

.ad-masthead{
  margin:0;
}

.ad-masthead-inner{
  width:min(100%, var(--avm-max));
  margin-inline:auto;
  min-height:0;
  background:transparent;
  border:0;
  display:block;
  color:#888;
  padding:0;
  overflow:hidden;
}

.ad-masthead-inner iframe,
.ad-masthead-inner ins,
.ad-masthead-inner img,
.ad-masthead-inner > div{
  max-width:100%;
  display:block;
}

.site-main{
  padding:10px 0 40px;
}

.home-block{
  margin-bottom:34px;
}

.home-layout{
  display:grid;
  grid-template-columns:minmax(0, 2fr) 320px;
  gap:28px;
  align-items:start;
}

.home-main-column{
  min-width:0;
}

.home-sidebar{
  min-width:0;
}

.sidebar-slot{
  margin-bottom:22px;
}

.sidebar-slot-box{
  background:#fff;
  border:1px solid var(--avm-border);
  padding:0;
  overflow:hidden;
}

.sidebar-slot-inner{
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fcfcfc;
  color:#888;
}

.avm-section-head{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
}

.avm-section-head .line{
  height:10px;
  position:relative;
}

.avm-section-head .line::before,
.avm-section-head .line::after{
  content:"";
  position:absolute;
  inset-inline:0;
  height:3px;
}

.avm-section-head .line::before{
  top:0;
  background:var(--avm-dark-2);
}

.avm-section-head .line::after{
  bottom:0;
  background:var(--avm-yellow);
}

.avm-section-title{
  margin:0;
  font-size:18px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  color:#6a6a6a;
  letter-spacing:-0.01em;
  white-space:nowrap;
  font-family:'Oswald', Arial, Helvetica, sans-serif;
}

.home-block-latest-articles .home-block-inner{
  display:grid;
  grid-template-columns:minmax(0, 2fr) minmax(290px, 1fr);
  gap:24px;
  align-items:stretch;
}

.home-hero-article,
.home-latest-grid{
  min-height:100%;
}

.home-hero-article article{
  background:#fff;
  height:100%;
}

.home-hero-media{
  position:relative;
  overflow:hidden;
  border-radius:var(--avm-radius);
  background:#ddd;
  box-shadow:var(--avm-shadow);
  min-height:100%;
  height:100%;
  display:block;
}

.home-hero-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 34%, rgba(0,0,0,.16) 68%, rgba(0,0,0,0) 100%);
  z-index:1;
  pointer-events:none;
  transition:background .35s ease;
}

.home-hero-media img{
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  transition:transform .35s ease;
}

.home-hero-article article:hover .home-hero-media::before{
  background:linear-gradient(to top, rgba(0,0,0,.94) 0%, rgba(0,0,0,.70) 38%, rgba(0,0,0,.22) 70%, rgba(0,0,0,0) 100%);
}

.home-hero-article article:hover .home-hero-media img{
  transform:scale(1.03);
}

.home-hero-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:18px 20px 18px;
  color:#fff;
}

.home-hero-content h2{
  margin:0 0 8px;
  font-size:24px;
  line-height:1.06;
  font-weight:700;
  color:#fff;
  text-transform:uppercase;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
  font-family:'Oswald', Arial, Helvetica, sans-serif;
  letter-spacing:.01em;
}

.home-hero-content .excerpt{
  color:#f0f0f0;
  font-size:15px;
  line-height:1.35;
  text-shadow:0 1px 3px rgba(0,0,0,.25);
}

.home-latest-grid{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.grid-item{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:16px;
  align-items:start;
  padding:12px 0 18px;
  border-bottom:1px solid var(--avm-border);
  flex:1 1 0;
  position:relative;
}

.grid-item:first-child{
  padding-top:2px;
}

.grid-item:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.grid-item-thumb{
  overflow:hidden;
  border-radius:var(--avm-radius);
  background:#ddd;
  box-shadow:0 1px 6px rgba(0,0,0,.06);
}

.grid-item-thumb img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .3s ease;
}

.grid-item:hover .grid-item-thumb img{
  transform:scale(1.03);
}

.grid-item-content{
  min-width:0;
  padding-right:4px;
}

.grid-item h3{
  margin:0 0 8px;
  font-size:21px;
  line-height:1.05;
  font-weight:700;
  color:#111;
  font-family:'Oswald', Arial, Helvetica, sans-serif;
}

.grid-item .excerpt{
  color:var(--avm-muted);
  font-size:13px;
  line-height:1.42;
}

.home-empty{
  padding:24px;
  border:1px solid var(--avm-border);
  background:#fafafa;
}

.site-footer{
  margin-top:40px;
  padding:28px 0;
  background:#f5f5f5;
  border-top:1px solid var(--avm-border);
  color:#444;
  font-size:14px;
}

@media (max-width: 1100px){
  .home-layout{
    grid-template-columns:1fr;
  }

  .home-sidebar{
    order:2;
  }
}

@media (max-width: 980px){
  .site-header-inner{
    grid-template-columns:1fr;
    justify-items:start;
  }

  .site-header-center,
  .site-header-right{
    justify-self:start;
    max-width:none;
    text-align:left;
  }

  .home-block-latest-articles .home-block-inner{
    grid-template-columns:1fr;
  }

  .home-hero-media{
    min-height:320px;
  }

  .home-hero-content h2{
    font-size:26px;
  }

  .grid-item h3{
    font-size:19px;
  }
}

@media (max-width: 700px){
  .site-branding-title{
    font-size:28px;
  }

  .site-nav a{
    padding:12px 12px;
    font-size:14px;
  }

  .home-hero-content{
    padding:14px 14px 15px;
  }

  .home-hero-content h2{
    font-size:22px;
  }

  .grid-item{
    grid-template-columns:110px 1fr;
    gap:12px;
  }
}

@media (max-width: 480px){
  .avm-section-title{
    font-size:15px;
  }

  .grid-item{
    grid-template-columns:1fr;
  }

  .grid-item-thumb img{
    aspect-ratio:16/9;
  }

  .home-hero-content .excerpt{
    font-size:14px;
  }
}
