:root{
  --home-green:#087a43;
  --home-green-dark:#075332;
  --home-green-soft:#edf7f1;
  --home-red:#c92f3a;
  --home-red-soft:#fff1f2;
  --home-ink:#17251e;
  --home-muted:#65736b;
  --home-line:#dbe8e0;
  --home-card:#ffffff;
}

body[data-home-theme="tricolore"]{
  color:var(--home-ink);
  background:#f7faf8;
}

body[data-home-theme="tricolore"] .background-logo{
  opacity:.012;
  filter:grayscale(1);
}

body[data-home-theme="tricolore"] .navbar{
  min-height:74px;
  padding:11px 4.5%;
  border-bottom:1px solid rgba(219,232,224,.95);
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 28px rgba(7,83,50,.07);
  backdrop-filter:blur(18px);
}

body[data-home-theme="tricolore"] .logo-area{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

body[data-home-theme="tricolore"] .logo-text{
  color:var(--home-green-dark);
  font-weight:900;
  letter-spacing:.035em;
}

body[data-home-theme="tricolore"] .nav-logo{
  width:46px;
  height:46px;
  border-radius:13px;
  box-shadow:0 7px 17px rgba(7,83,50,.10);
}

body[data-home-theme="tricolore"] .language-switch button{
  border:1px solid #cfe1d6;
  color:var(--home-green-dark);
  background:#fff;
}

body[data-home-theme="tricolore"] .language-switch button:hover{
  color:#fff;
  border-color:var(--home-green);
  background:var(--home-green);
}

/* HERO */
.home-hero{
  min-height:0!important;
  padding:104px 24px 34px!important;
  overflow:visible;
  background:
    radial-gradient(circle at 8% 16%,rgba(8,122,67,.09),transparent 25%),
    radial-gradient(circle at 94% 22%,rgba(201,47,58,.07),transparent 22%),
    linear-gradient(180deg,#fff 0%,#f5faf7 100%)!important;
}

.home-hero::before,
.home-hero::after{
  display:none!important;
}

.home-hero-shell{
  width:min(1240px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  grid-template-areas:
    "copy player"
    "events events";
  align-items:center;
  gap:26px 38px;
  padding:38px;
  border:1px solid var(--home-line);
  border-radius:28px;
  background:
    linear-gradient(118deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.98) 58%,rgba(239,248,243,.98) 100%);
  box-shadow:0 24px 64px rgba(23,37,30,.09);
}

.home-hero-copy{
  grid-area:copy;
  align-self:center;
  max-width:540px;
}

.home-hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:16px;
  color:var(--home-green);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.home-hero-eyebrow::before{
  content:"";
  width:34px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--home-green) 0 45%,#fff 45% 56%,var(--home-red) 56% 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.04);
}

.home-hero-title{
  margin:0;
  color:var(--home-ink);
  font-size:clamp(2.65rem,4.2vw,3.8rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.home-hero-title span,
.home-hero-title strong{
  display:block;
}

.home-hero-title strong{
  color:var(--home-green);
  font-weight:900;
}

.home-hero-title .home-red-line{
  color:var(--home-red);
}

.home-hero-copy>p{
  max-width:500px;
  margin:19px 0 0;
  color:var(--home-muted);
  font-size:1rem;
  font-weight:600;
  line-height:1.65;
}

.home-hero-actions{
  display:flex;
  align-items:center;
  gap:11px;
  flex-wrap:wrap;
  margin-top:24px;
}

.home-hero-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 19px;
  border:1px solid var(--home-green);
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--home-green-dark),var(--home-green));
  box-shadow:0 10px 23px rgba(8,122,67,.18);
  text-decoration:none;
  font-size:.79rem;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
  transition:.2s ease;
}

.home-hero-button.secondary{
  color:var(--home-green-dark);
  border-color:#b9d3c4;
  background:#fff;
  box-shadow:none;
}

.home-hero-button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(8,122,67,.23);
}

.home-hero-button.secondary:hover{
  color:var(--home-green-dark);
  background:var(--home-green-soft);
}

.home-hero-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px!important;
  color:#56665d!important;
  font-size:.78rem!important;
  font-weight:700!important;
}

.home-hero-note::before{
  content:"";
  flex:0 0 auto;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--home-red);
  box-shadow:0 0 0 5px var(--home-red-soft);
}

.home-hero-visual{
  display:contents;
}

.home-player-frame{
  grid-area:player;
  position:relative;
  min-height:470px;
  max-height:520px;
  overflow:hidden;
  border:1px solid rgba(8,122,67,.18);
  border-radius:25px;
  background:#dfece5;
  box-shadow:0 22px 50px rgba(7,83,50,.16);
}

.home-player-frame::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,transparent 48%,rgba(5,31,19,.70) 100%),
    linear-gradient(120deg,rgba(8,122,67,.08),transparent 46%,rgba(201,47,58,.08));
}

.home-player-frame::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(116deg,transparent 0 68%,rgba(255,255,255,.14) 68% 74%,transparent 74%);
}

.home-player-frame>img{
  width:100%;
  height:100%;
  min-height:470px;
  display:block;
  object-fit:cover;
  object-position:center 12%;
  filter:saturate(.94) contrast(1.04);
}

.home-player-caption{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:3;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  color:#fff;
}

.home-player-caption strong{
  display:block;
  font-size:.9rem;
  letter-spacing:.01em;
}

.home-player-caption span{
  display:block;
  margin-top:4px;
  color:#dcece4;
  font-size:.7rem;
  font-weight:700;
}

.home-player-caption img{
  width:44px;
  height:44px;
  min-height:0;
  padding:5px;
  object-fit:contain;
  border-radius:12px;
  background:rgba(255,255,255,.94);
}

/* EVENTI SOTTO IL HERO */
.home-event-rail{
  grid-area:events;
  min-height:0;
  padding:17px;
  border:1px solid #dce9e1;
  border-radius:19px;
  background:#fff;
  box-shadow:0 13px 30px rgba(23,37,30,.07);
}

.home-event-rail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}

.home-event-rail-head strong{
  color:var(--home-ink);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.home-event-rail-head a{
  color:var(--home-green);
  font-size:.68rem;
  font-weight:900;
  text-decoration:none;
  text-transform:uppercase;
}

.home-hero-event-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.home-hero-event{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-height:66px;
  padding:9px;
  border:1px solid #e0ebe4;
  border-radius:13px;
  color:var(--home-ink);
  background:linear-gradient(145deg,#fff,#f8fbf9);
  text-decoration:none;
  transition:.2s ease;
}

.home-hero-event:hover{
  border-color:#a8ccb7;
  transform:translateY(-2px);
  box-shadow:0 9px 20px rgba(7,83,50,.08);
}

.home-hero-event-date{
  min-height:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(145deg,var(--home-green-dark),var(--home-green));
  box-shadow:0 6px 14px rgba(8,122,67,.15);
  font-size:.98rem;
  font-weight:900;
  line-height:1;
}

.home-hero-event-date small{
  margin-top:4px;
  font-size:.52rem;
  letter-spacing:.05em;
}

.home-hero-event-copy{
  min-width:0;
}

.home-hero-event-copy strong{
  display:block;
  overflow:hidden;
  color:#24332b;
  font-size:.69rem;
  font-weight:900;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.home-hero-event-copy span{
  display:block;
  overflow:hidden;
  margin-top:4px;
  color:#748078;
  font-size:.59rem;
  font-weight:700;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* PILASTRI */
.home-value-strip{
  width:min(1240px,100%);
  margin:15px auto 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  border:1px solid #d8e6dd;
  border-radius:19px;
  background:#fff;
  box-shadow:0 14px 34px rgba(23,37,30,.07);
}

.home-value-item{
  min-height:96px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:16px 18px;
  border-right:1px solid #e2ece6;
}

.home-value-item:last-child{border-right:0}

.home-value-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #bdd8c8;
  border-radius:12px;
  color:var(--home-green);
  background:var(--home-green-soft);
  font-size:1rem;
  font-weight:900;
}

.home-value-item:nth-child(3) .home-value-icon{
  color:var(--home-red);
  border-color:#efcbd0;
  background:var(--home-red-soft);
}

.home-value-item strong{
  display:block;
  color:#26342c;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.home-value-item p{
  margin:5px 0 0;
  color:#6e7b74;
  font-size:.66rem;
  font-weight:600;
  line-height:1.38;
}

/* SEZIONI */
body[data-home-theme="tricolore"] .about-section,
body[data-home-theme="tricolore"] .players-section,
body[data-home-theme="tricolore"] .gallery-section,
body[data-home-theme="tricolore"] .staff-section,
body[data-home-theme="tricolore"] .news-section,
body[data-home-theme="tricolore"] .join-section,
body[data-home-theme="tricolore"] .social-section,
body[data-home-theme="tricolore"] .events-section,
body[data-home-theme="tricolore"] .contact-section{
  position:relative;
  padding:58px 6%;
}

body[data-home-theme="tricolore"] .players-section,
body[data-home-theme="tricolore"] .staff-section,
body[data-home-theme="tricolore"] .join-section,
body[data-home-theme="tricolore"] .events-section{
  background:linear-gradient(180deg,#f0f7f3,#f8fbf9);
}

body[data-home-theme="tricolore"] .gallery-section,
body[data-home-theme="tricolore"] .news-section,
body[data-home-theme="tricolore"] .social-section,
body[data-home-theme="tricolore"] .contact-section,
body[data-home-theme="tricolore"] .about-section{
  background:#fff;
}

body[data-home-theme="tricolore"] section>h2{
  position:relative;
  width:auto;
  max-width:900px;
  margin:0 auto 15px;
  padding:0 0 14px;
  color:var(--home-ink);
  font-size:clamp(1.9rem,3.2vw,2.75rem);
  letter-spacing:-.04em;
  text-align:center;
}

body[data-home-theme="tricolore"] section>h2::before{
  display:none!important;
}

body[data-home-theme="tricolore"] section>h2::after{
  content:"";
  position:absolute;
  left:50%;
  right:auto;
  top:auto;
  bottom:0;
  width:72px;
  height:4px;
  border-radius:999px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,var(--home-green) 0 44%,#fff 44% 56%,var(--home-red) 56% 100%);
}

body[data-home-theme="tricolore"] .section-subtitle{
  max-width:760px;
  margin:0 auto 24px;
  padding:0;
  color:var(--home-muted);
  background:transparent;
  box-shadow:none;
  line-height:1.65;
}

body[data-home-theme="tricolore"] .about-grid,
body[data-home-theme="tricolore"] .players-grid,
body[data-home-theme="tricolore"] .staff-grid,
body[data-home-theme="tricolore"] .news-grid,
body[data-home-theme="tricolore"] .events-grid{
  gap:22px;
}

body[data-home-theme="tricolore"] .about-card,
body[data-home-theme="tricolore"] .player-card,
body[data-home-theme="tricolore"] .staff-card,
body[data-home-theme="tricolore"] .news-card,
body[data-home-theme="tricolore"] .event-card,
body[data-home-theme="tricolore"] .social-card{
  border:1px solid var(--home-line);
  background:#fff;
  box-shadow:0 12px 29px rgba(23,37,30,.075);
}

body[data-home-theme="tricolore"] .about-card:hover,
body[data-home-theme="tricolore"] .player-card:hover,
body[data-home-theme="tricolore"] .staff-card:hover,
body[data-home-theme="tricolore"] .news-card:hover,
body[data-home-theme="tricolore"] .event-card:hover,
body[data-home-theme="tricolore"] .social-card:hover{
  border-color:#aacdb9;
  transform:translateY(-4px);
  box-shadow:0 19px 39px rgba(7,83,50,.12);
}

body[data-home-theme="tricolore"] .main-button,
body[data-home-theme="tricolore"] .players-list-link{
  border-radius:11px;
}

body[data-home-theme="tricolore"] .players-list-link{
  color:var(--home-green-dark);
}

body[data-home-theme="tricolore"] .contact-form button{
  background:linear-gradient(135deg,var(--home-green-dark),var(--home-green));
  box-shadow:0 11px 25px rgba(8,122,67,.19);
}

body[data-home-theme="tricolore"] footer{
  border-top:1px solid #dce8e0;
  background:#f7faf8;
}

@media(max-width:1100px){
  .home-hero-shell{
    grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
    gap:24px 28px;
    padding:30px;
  }
  .home-hero-title{font-size:clamp(2.55rem,4.5vw,3.35rem)}
  .home-player-frame,
  .home-player-frame>img{min-height:430px}
  .home-hero-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  body[data-home-theme="tricolore"] .logo-area{
    position:static;
    order:2;
    margin-left:auto;
    margin-right:auto;
    transform:none;
  }
  .home-hero{padding:94px 14px 28px!important}
  .home-hero-shell{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "player"
      "events";
    padding:28px;
  }
  .home-hero-copy{max-width:720px;margin:auto;text-align:center}
  .home-hero-eyebrow,
  .home-hero-actions,
  .home-hero-note{justify-content:center}
  .home-hero-copy>p{margin-left:auto;margin-right:auto}
  .home-player-frame{width:min(620px,100%);margin:auto}
  .home-value-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-value-item:nth-child(2){border-right:0}
  .home-value-item:nth-child(-n+2){border-bottom:1px solid #e2ece6}
}

@media(max-width:620px){
  body[data-home-theme="tricolore"] .navbar{padding-left:10px;padding-right:10px}
  body[data-home-theme="tricolore"] .logo-area{display:none}
  .home-hero{padding:84px 9px 22px!important}
  .home-hero-shell{padding:22px 16px;border-radius:22px}
  .home-hero-title{font-size:clamp(2.35rem,13vw,3rem)}
  .home-hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .home-hero-button{width:100%}
  .home-hero-note{font-size:.72rem!important;text-align:left}
  .home-player-frame,
  .home-player-frame>img{min-height:340px}
  .home-hero-event-list{grid-template-columns:1fr}
  .home-value-strip{grid-template-columns:1fr}
  .home-value-item{border-right:0;border-bottom:1px solid #e2ece6}
  .home-value-item:last-child{border-bottom:0}
  body[data-home-theme="tricolore"] .about-section,
  body[data-home-theme="tricolore"] .players-section,
  body[data-home-theme="tricolore"] .gallery-section,
  body[data-home-theme="tricolore"] .staff-section,
  body[data-home-theme="tricolore"] .news-section,
  body[data-home-theme="tricolore"] .join-section,
  body[data-home-theme="tricolore"] .social-section,
  body[data-home-theme="tricolore"] .events-section,
  body[data-home-theme="tricolore"] .contact-section{padding:44px 7%}
}
