/* Colussi — Stile parallax (Home + pagine istituzionali) */

body.colussi-styled .page_heading_container { display: none !important; }
body.colussi-styled .comment_section { display: none !important; }
body.colussi-styled .page-container { padding-top: 0 !important; margin-top: 0 !important; }
body.colussi-styled .page-content { padding-top: 0 !important; margin-top: 0 !important; }
body.colussi-styled .page-container .container,
body.colussi-styled .page-container .row,
body.colussi-styled .page-container .col-md-9,
body.colussi-styled .page-container .col-md-12,
body.colussi-styled .content-bar { width:100% !important; max-width:none !important; padding:0 !important; margin:0 !important; float:none !important; }

:root{
  --colussi-orange:#FF9933;
  --colussi-green:#138808;
  --colussi-navy:#122140;
  --colussi-navy-deep:#0b1730;
  --colussi-cream:#FDF8F1;
  --colussi-ink:#22262b;
}

body.colussi-styled * { box-sizing: border-box; }

/* ---------- HERO ---------- */
.colussi-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  background-image:
    linear-gradient(180deg, rgba(11,23,48,.35) 0%, rgba(11,23,48,.55) 55%, rgba(11,23,48,.85) 100%),
    url('https://www.associazionecolussi.org/wp-content/uploads/2025/12/sfondo-2.jpg');
  background-position: center 30%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  color:#fff;
  padding: 120px 20px 160px;
}
.colussi-hero__pattern{ display:none; }
.colussi-hero__content{ position:relative; z-index:2; max-width:760px; }
.colussi-hero__eyebrow{
  display:inline-block; letter-spacing:2px; text-transform:uppercase;
  font-size:13px; font-weight:700; color:var(--colussi-orange);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
  padding:6px 16px; border-radius:30px; margin-bottom:26px;
}
.colussi-hero__eyebrow--logo{
  padding:0; background:transparent; border:none;
  filter: drop-shadow(0 3px 10px rgba(0,0,0,.6));
}
.colussi-hero__eyebrow--logo img{ display:block; height:42px; width:auto; margin:0 auto; }
.colussi-hero__content h1{
  font-size: clamp(32px, 5vw, 56px);
  line-height:1.15; font-weight:800; margin:0 0 22px; color:#fff;
}
.colussi-hero__content p{
  font-size: clamp(16px, 2vw, 19px); line-height:1.6; color:rgba(255,255,255,.88);
  max-width:560px; margin:0 auto 40px;
}
.colussi-hero__cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

.colussi-btn{
  display:inline-block; padding:15px 32px; border-radius:8px;
  font-weight:700; font-size:15px; text-decoration:none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.colussi-btn--primary{ background:var(--colussi-orange); color:#1a1200 !important; box-shadow:0 10px 25px rgba(255,153,51,.35); }
.colussi-btn--primary:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(255,153,51,.5); }
.colussi-btn--ghost{ background:transparent; color:#fff !important; border:2px solid rgba(255,255,255,.55); }
.colussi-btn--ghost:hover{ background:rgba(255,255,255,.12); transform:translateY(-3px); }
.colussi-btn--lg{ padding:18px 42px; font-size:17px; }

.colussi-hero__wave{ position:absolute; left:0; right:0; bottom:-2px; z-index:3; width:100%; height:auto; display:block; }

/* ---------- CARDS ---------- */
.colussi-cards{ background:var(--colussi-cream); padding:90px 24px 100px; margin-top:-1px; }
.colussi-cards__intro{ text-align:center; max-width:640px; margin:0 auto 56px; }
.colussi-cards__intro h2{ font-size:clamp(26px,3vw,36px); font-weight:800; color:var(--colussi-navy); margin:0 0 14px; }
.colussi-cards__intro p{ color:#555; font-size:17px; line-height:1.6; margin:0; }

.colussi-cards__grid{
  max-width:1140px; margin:0 auto; display:grid;
  grid-template-columns:repeat(4,1fr); gap:26px;
}
@media (max-width:992px){ .colussi-cards__grid{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .colussi-cards__grid{ grid-template-columns:1fr;} }

.colussi-card{
  display:block; background:#fff; border-radius:14px; padding:32px 26px;
  text-decoration:none !important; box-shadow:0 6px 20px rgba(18,33,64,.08);
  border:1px solid rgba(18,33,64,.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.colussi-card:hover{ transform:translateY(-8px); box-shadow:0 18px 34px rgba(18,33,64,.14); }
.colussi-card__icon{
  width:54px; height:54px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--colussi-orange), #ffb266); margin-bottom:20px;
}
.colussi-card__icon svg{ width:26px; height:26px; stroke:#fff; fill:none; }
.colussi-card:nth-child(2) .colussi-card__icon{ background:linear-gradient(135deg, var(--colussi-green), #3fc23a); }
.colussi-card:nth-child(3) .colussi-card__icon{ background:linear-gradient(135deg, var(--colussi-navy), #3a5a99); }
.colussi-card:nth-child(4) .colussi-card__icon{ background:linear-gradient(135deg, #d94a4a, #f18a8a); }
.colussi-card h3{ font-size:19px; font-weight:800; color:var(--colussi-ink); margin:0 0 10px; }
.colussi-card p{ font-size:14.5px; color:#666; line-height:1.55; margin:0; }

/* ---------- PARALLAX QUOTE BAND ---------- */
.colussi-parallax-band{
  position:relative; padding:130px 24px; text-align:center; overflow:hidden;
  background:
    linear-gradient(rgba(11,23,48,.82), rgba(11,23,48,.82)),
    repeating-linear-gradient(135deg, rgba(255,153,51,.18) 0 2px, transparent 2px 40px);
  background-attachment: fixed;
  background-size: cover;
}
.colussi-parallax-band blockquote{
  max-width:760px; margin:0 auto; color:#fff;
  font-size:clamp(22px,3vw,32px); font-weight:700; line-height:1.5; font-style:normal;
}
.colussi-parallax-band cite{ display:block; margin-top:26px; font-size:14px; font-weight:600; color:var(--colussi-orange); font-style:normal; }

/* ---------- FINAL CTA ---------- */
.colussi-cta-final{
  text-align:center; padding:100px 24px; background:var(--colussi-cream);
}
.colussi-cta-final h2{ font-size:clamp(26px,3vw,34px); font-weight:800; color:var(--colussi-navy); margin:0 0 16px; }
.colussi-cta-final p{ color:#555; font-size:17px; max-width:560px; margin:0 auto 34px; line-height:1.6; }

/* ---------- SCROLL REVEAL ---------- */
.colussi-reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.colussi-reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ---------- NAV: trasparente sopra la foto, solida quasi a fine hero ---------- */
body.colussi-home nav.navbar-default{
  background:transparent !important; background-color:transparent !important;
  box-shadow:none !important; border:none !important;
  transition: background .3s ease, box-shadow .3s ease;
}
body.colussi-home nav.navbar-default .navbar-nav>li>a,
body.colussi-home nav.navbar-default .nav li a{
  color:#fff !important; text-shadow:0 1px 4px rgba(0,0,0,.55);
  transition: color .3s ease;
}
body.colussi-home nav.navbar-default .navbar-toggle .icon-bar{ background:#fff !important; }
body.colussi-home nav.navbar-default .navbar-header img{
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.5));
  transition: filter .3s ease;
}

body.colussi-home nav.navbar-default.colussi-nav-solid{
  background:#fff !important; background-color:#fff !important;
  box-shadow:0 2px 14px rgba(18,33,64,.10) !important;
}
body.colussi-home nav.navbar-default.colussi-nav-solid .navbar-nav>li>a,
body.colussi-home nav.navbar-default.colussi-nav-solid .nav li a{
  color:var(--colussi-ink) !important; text-shadow:none;
}
body.colussi-home nav.navbar-default.colussi-nav-solid .navbar-nav>.active>a{ color:#fff !important; }
body.colussi-home nav.navbar-default.colussi-nav-solid .navbar-toggle .icon-bar{ background:#333 !important; }
body.colussi-home nav.navbar-default.colussi-nav-solid .navbar-header img{ filter:none; }

/* Parallax via background-attachment misbehaves on iOS/touch: disable there */
@media (hover:none) and (pointer:coarse){
  .colussi-hero, .colussi-parallax-band, .colussi-page-hero{ background-attachment:scroll; }
}

/* ---------- COMPACT PAGE HERO (pagine interne) ---------- */
.colussi-page-hero{
  position:relative; overflow:hidden; text-align:center; color:#fff;
  padding:150px 20px 90px; min-height:36vh;
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,153,51,.5), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(19,136,8,.4), transparent 50%),
    linear-gradient(135deg, var(--colussi-navy-deep), var(--colussi-navy) 60%);
  background-attachment: fixed; background-size: cover;
}
.colussi-page-hero__pattern{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image: radial-gradient(rgba(255,255,255,.15) 1.5px, transparent 1.5px);
  background-size:26px 26px;
}
.colussi-page-hero__content{ position:relative; z-index:2; max-width:720px; }
.colussi-page-hero__eyebrow{
  display:inline-block; letter-spacing:2px; text-transform:uppercase;
  font-size:12px; font-weight:700; color:var(--colussi-orange);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
  padding:5px 14px; border-radius:30px; margin-bottom:20px;
}
.colussi-page-hero h1{ font-size:clamp(28px,4.2vw,44px); font-weight:800; margin:0 0 14px; color:#fff; }
.colussi-page-hero p{ font-size:clamp(15px,1.8vw,18px); color:rgba(255,255,255,.88); max-width:560px; margin:0 auto; line-height:1.6; }
.colussi-page-hero__wave{ position:absolute; left:0; right:0; bottom:-2px; z-index:3; width:100%; height:auto; display:block; }

/* ---------- ARTICLE / CONTENT WRAPPER ---------- */
.colussi-article{ background:var(--colussi-cream); padding:80px 24px 20px; }
.colussi-article__inner{ max-width:760px; margin:0 auto; }
.colussi-article__inner > *:first-child{ margin-top:0; }
.colussi-article h2{ font-size:clamp(22px,2.6vw,28px); font-weight:800; color:var(--colussi-navy); margin:44px 0 16px; }
.colussi-article p{ font-size:16.5px; line-height:1.75; color:#444; margin:0 0 18px; }

/* Blocco "feature" con icona (storytelling a sezioni) */
.colussi-feature{ display:flex; gap:22px; align-items:flex-start; margin:0 0 40px; }
.colussi-feature__icon{
  flex:0 0 auto; width:52px; height:52px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--colussi-orange), #ffb266);
}
.colussi-feature__icon svg{ width:24px; height:24px; stroke:#fff; fill:none; }
.colussi-feature:nth-of-type(2) .colussi-feature__icon{ background:linear-gradient(135deg, var(--colussi-green), #3fc23a); }
.colussi-feature:nth-of-type(3) .colussi-feature__icon{ background:linear-gradient(135deg, var(--colussi-navy), #3a5a99); }
.colussi-feature:nth-of-type(4) .colussi-feature__icon{ background:linear-gradient(135deg, #d94a4a, #f18a8a); }
.colussi-feature__body h2{ margin-top:0; margin-bottom:10px; font-size:20px; }
.colussi-feature__body p{ margin:0; }

/* Callout: box evidenziato per avvisi/testi provvisori/messaggi di fiducia */
.colussi-callout{
  background:#fff; border-left:4px solid var(--colussi-orange); border-radius:8px;
  padding:22px 26px; margin:0 0 40px; box-shadow:0 4px 16px rgba(18,33,64,.06);
}
.colussi-callout p{ margin:0; font-size:15.5px; color:#555; }
.colussi-callout--muted{ border-left-color:#bbb; background:#fafafa; }
.colussi-callout--muted p{ font-style:italic; color:#888; font-size:14px; }

/* Box evidenziato grande (es. Codice Fiscale 5x1000) */
.colussi-highlight-box{
  background:linear-gradient(135deg, var(--colussi-navy-deep), var(--colussi-navy));
  border-radius:16px; padding:40px 30px; text-align:center; color:#fff; margin:0 0 40px;
}
.colussi-highlight-box__label{ font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.7); margin-bottom:12px; }
.colussi-highlight-box__value{ font-size:clamp(22px,3.4vw,32px); font-weight:800; font-family:monospace; letter-spacing:1px; color:var(--colussi-orange); }

/* Step numerati */
.colussi-steps{ list-style:none; margin:0 0 40px; padding:0; counter-reset:colussi-step; }
.colussi-steps li{ counter-increment:colussi-step; display:flex; gap:18px; margin-bottom:22px; }
.colussi-steps li::before{
  content:counter(colussi-step); flex:0 0 auto; width:34px; height:34px; border-radius:50%;
  background:var(--colussi-orange); color:#1a1200; font-weight:800; font-size:15px;
  display:flex; align-items:center; justify-content:center;
}
.colussi-steps li p{ margin:0; padding-top:5px; }

/* Contenitore per lo shortcode del plugin adozioni (login benefattori) */
.colussi-shortcode-wrap{ margin:0 0 40px; }

/* Griglia a 3 colonne (varianti card) */
.colussi-cards__grid--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .colussi-cards__grid--3{ grid-template-columns:1fr; } }
