/* ========== ADVERTISING ========== */

/* --- Animations --- */
@keyframes glowPulse { 0%,100%{opacity:.6} 50%{opacity:1} }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes scanLine { 0%{left:-30%} 100%{left:130%} }
@keyframes barGrow { 0%{transform:scaleY(0)} 100%{transform:scaleY(1)} }
@keyframes cpaPulse { 0%,100%{color:#4ade80} 50%{color:#86efac} }
@keyframes dotBlink { 0%,100%{opacity:1} 50%{opacity:.3} }
@keyframes roasPulse { 0%,100%{text-shadow:0 0 6px rgba(251,191,36,.4)} 50%{text-shadow:0 0 16px rgba(251,191,36,.7)} }
@keyframes floatE { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }
@keyframes impressionTick { 0%{transform:scaleX(0)} 100%{transform:scaleX(1)} }
@keyframes ringPulse { 0%{box-shadow:0 0 0 0 rgba(192,49,60,.4)} 70%{box-shadow:0 0 0 10px rgba(192,49,60,0)} 100%{box-shadow:0 0 0 0 rgba(192,49,60,0)} }
@keyframes particleFloat { 0%{transform:translateY(0) translateX(0);opacity:0} 20%{opacity:1} 80%{opacity:1} 100%{transform:translateY(-40px) translateX(20px);opacity:0} }
@keyframes trendDash { 0%{stroke-dashoffset:400} 100%{stroke-dashoffset:0} }

/* --- Scroll reveal --- */
.ad-anim { opacity:0; transform:translateY(25px); transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1); }
.ad-anim.visible { opacity:1; transform:translateY(0); }/* ========== TICKER ========== */
.ad-ticker { background:#0a0a0a; border-top:1px solid #151515; border-bottom:1px solid #151515; padding:10px 0; overflow:hidden; white-space:nowrap; }
.ad-ticker__track { display:flex; animation:marquee 25s linear infinite; }
.ad-ticker__content { font-size:13px; font-weight:800; color:#444; letter-spacing:1.5px; flex-shrink:0; padding-right:12px; }
.ad-ticker__dot { color:#c0313c; margin:0 8px; }

/* ========== META ADS ========== */
.ad-meta { background:#0a0a0a; padding:80px 0 60px; position:relative; }
.ad-meta__line { height:2px; background:#1877F2; opacity:0.5; }
.ad-meta__title { font-size:48px; font-weight:900; color:#fff; text-align:center; margin:10px 0 60px; max-width:1100px; margin-left:auto; margin-right:auto; }
.ad-meta__layout { display:flex; gap:28px; align-items:flex-start; }
.ad-meta__dashboard { flex:1.4; background:#111; border:1px solid #1a1a1a; border-radius:14px; padding:24px; position:relative; overflow:hidden; }
.ad-meta__scanline { position:absolute; top:0; left:-30%; width:30%; height:100%; background:linear-gradient(90deg,transparent,rgba(24,119,242,.06),transparent); animation:scanLine 3.5s ease-in-out infinite; pointer-events:none; }
.ad-meta__header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.ad-meta__label { font-size:13px; font-weight:800; letter-spacing:2px; color:#888; }
.ad-meta__live { font-size:9px; font-weight:700; color:#4ade80; letter-spacing:1px; display:flex; align-items:center; gap:5px; }
.ad-meta__dot { width:6px; height:6px; border-radius:50%; background:#4ade80; animation:dotBlink 1.5s infinite; display:inline-block; }
.ad-meta__metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }
.ad-meta__metric { text-align:center; }
.ad-meta__metric-value { display:block; font-size:22px; font-weight:900; color:#1877F2; }
.ad-meta__metric-label { font-size:8px; color:#555; text-transform:uppercase; letter-spacing:1px; font-weight:600; }
.ad-meta__chart { position:relative; }
.ad-meta__svg { width:100%; height:100px; }
.ad-meta__bar { transform-origin:bottom; animation:barGrow 1.2s ease-out forwards; }
.ad-meta__trend { animation:trendDash 2s ease-out forwards; }
.ad-meta__chart-labels { display:flex; justify-content:space-around; padding:6px 10px 0; }
.ad-meta__chart-labels span { font-size:8px; color:#444; font-weight:700; letter-spacing:1px; }
.ad-meta__funnel { flex:.6; background:#111; border:1px solid #1a1a1a; border-radius:14px; padding:24px; }
.ad-meta__funnel-title { font-size:13px; font-weight:800; letter-spacing:2px; color:#888; margin-bottom:20px; }
.ad-meta__funnel-step { margin-bottom:14px; }
.ad-meta__funnel-bar { height:8px; border-radius:4px; animation:impressionTick 1s ease-out forwards; transform-origin:left; }
.ad-meta__funnel-info { display:flex; justify-content:space-between; margin-top:5px; }
.ad-meta__funnel-info span:first-child { font-size:14px; font-weight:800; color:#fff; }
.ad-meta__funnel-info span:last-child { font-size:9px; color:#555; text-transform:uppercase; letter-spacing:1px; font-weight:600; }
.ad-meta__kpis { display:flex; justify-content:space-between; margin-top:24px; padding-top:18px; border-top:1px solid #1a1a1a; }
.ad-meta__kpi { text-align:center; }
.ad-meta__kpi-value { display:block; font-size:18px; font-weight:900; color:#fff; }
.ad-meta__kpi-value--cpa { color:#4ade80; animation:cpaPulse 2s ease-in-out infinite; }
.ad-meta__kpi-value--roas { color:#fbbf24; animation:roasPulse 2s ease-in-out infinite; }
.ad-meta__kpi-label { font-size:9px; color:#555; text-transform:uppercase; letter-spacing:1px; font-weight:600; }

/* ========== GOOGLE ADS ========== */
.ad-google { background:#0a0a0a; padding:75px 0 60px; position:relative; }
.ad-google__line { height:2px; background:linear-gradient(90deg,#4285F4 25%,#EA4335 25%,#EA4335 50%,#FBBC05 50%,#FBBC05 75%,#34A853 75%); opacity:0.5; }
.ad-google__title { font-size:48px; font-weight:900; color:#fff; text-align:center; margin:10px 0 60px; max-width:1100px; margin-left:auto; margin-right:auto; }
.ad-google__layout { display:flex; gap:28px; align-items:flex-start; }
.ad-google__dashboard { flex:1; background:#111; border:1px solid #1a1a1a; border-radius:14px; padding:24px; position:relative; overflow:hidden; }
.ad-google__scanline { position:absolute; top:0; left:-30%; width:30%; height:100%; background:linear-gradient(90deg,transparent,rgba(66,133,244,.06),transparent); animation:scanLine 3.5s ease-in-out infinite; pointer-events:none; }
.ad-google__header { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.ad-google__logo { font-size:16px; font-weight:800; }
.ad-google__live { font-size:9px; font-weight:700; color:#4ade80; letter-spacing:1px; display:flex; align-items:center; gap:5px; }
.ad-google__dot { width:6px; height:6px; border-radius:50%; background:#4ade80; animation:dotBlink 1.5s infinite; display:inline-block; }
.ad-google__keywords { margin-bottom:24px; }
.ad-google__kw-title { font-size:13px; font-weight:800; letter-spacing:2px; color:#888; margin-bottom:14px; }
.ad-google__kw { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.ad-google__kw-name { font-size:11px; color:#aaa; font-weight:600; width:180px; flex-shrink:0; }
.ad-google__kw-bar-wrap { flex:1; height:6px; background:#1a1a1a; border-radius:3px; overflow:hidden; }
.ad-google__kw-bar { height:100%; border-radius:3px; animation:impressionTick 1.2s ease-out forwards; transform-origin:left; }
.ad-google__kw-ctr { font-size:12px; font-weight:800; width:40px; text-align:right; }
.ad-google__metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.ad-google__metric { text-align:center; padding:12px; background:#0a0a0a; border-radius:8px; }
.ad-google__metric-value { display:block; font-size:20px; font-weight:900; }
.ad-google__metric-label { font-size:9px; color:#555; text-transform:uppercase; letter-spacing:1px; font-weight:600; }
.ad-google__preview { flex:1; display:flex; flex-direction:column; gap:20px; }
.ad-google__search { background:#fff; border-radius:14px; padding:20px; }
.ad-google__search-bar { display:flex; justify-content:space-between; align-items:center; padding:10px 16px; border:1px solid #ddd; border-radius:24px; margin-bottom:18px; }
.ad-google__search-bar span:first-child { font-size:9px; color:#333; }
.ad-google__search-icon { font-size:14px; }
.ad-google__result { padding-left:4px; }
.ad-google__result-badge { display:inline-block; font-size:9px; font-weight:800; color:#856404; background:#fef3cd; padding:2px 6px; border-radius:3px; margin-bottom:4px; }
.ad-google__result-url { font-size:9px; color:#34A853; margin-bottom:2px; }
.ad-google__result-title { font-size:9px; color:#1a0dab; font-weight:600; margin-bottom:4px; cursor:pointer; }
.ad-google__result-title:hover { text-decoration:underline; }
.ad-google__result-desc { font-size:9px; color:#555; line-height:1.5; }
.ad-google__budget-dist { background:#111; border:1px solid #1a1a1a; border-radius:14px; padding:20px; }
.ad-google__budget-title { font-size:13px; font-weight:800; letter-spacing:2px; color:#888; margin-bottom:14px; }
.ad-google__budget-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.ad-google__budget-label { font-size:11px; color:#aaa; font-weight:600; width:55px; }
.ad-google__budget-bar-wrap { flex:1; height:8px; background:#1a1a1a; border-radius:4px; overflow:hidden; }
.ad-google__budget-bar { height:100%; border-radius:4px; animation:impressionTick 1.2s ease-out forwards; transform-origin:left; }
.ad-google__budget-pct { font-size:12px; font-weight:800; color:#fff; width:35px; text-align:right; }

/* ========== MARKETING OFFLINE ========== */

/* ========== PROCESSO ========== */
.ad-process { background:#0a0a0a; padding:75px 0 60px; position:relative; }
.ad-process__line { height:2px; background:#c0313c; opacity:0.5; }
.ad-process__title { font-size:44px; font-weight:900; color:#fff; text-align:center; margin:10px 0 60px; max-width:1100px; margin-left:auto; margin-right:auto; }
.ad-process__steps { display:flex; align-items:flex-start; justify-content:center; gap:0; }
.ad-process__step { flex:1; text-align:center; padding:0 18px; }
.ad-process__divider { width:1px; background:#222; align-self:stretch; min-height:120px; flex-shrink:0; }
.ad-process__circle { width:56px; height:56px; border-radius:50%; background:#151515; border:2px solid #222; display:flex; align-items:center; justify-content:center; font-size:18px; margin:0 auto 16px; }
.ad-process__circle--active { background:linear-gradient(135deg,#8b1a22,#c0313c); border-color:#c0313c; animation:ringPulse 2s infinite; }
.ad-process__step-title { font-size:13px; font-weight:800; color:#fff; margin-bottom:6px; }
.ad-process__step-desc { font-size:10px; color:#555; line-height:1.5; }/* ========== RESPONSIVE ========== */
@media (max-width:1024px) {}

@media (max-width:768px) {.ad-meta { padding:50px 0 40px; }
  .ad-meta__title,.ad-google__title { font-size:26px; }
  .ad-meta__layout,.ad-google__layout { flex-direction:column; gap:16px; }
  .ad-meta__metrics { grid-template-columns:repeat(2,1fr); }
  .ad-meta__dashboard { padding:16px; }
  .ad-google { padding:50px 0 40px; }
  .ad-google__kw-name { width:100px; font-size:10px; }
  .ad-google__metrics { grid-template-columns:repeat(3,1fr); gap:8px; }
  .ad-google__search { padding:14px; }
          .ad-process { padding:50px 0 40px; }
  .ad-process__title { font-size:24px; }
  .ad-process__steps { flex-direction:column; align-items:center; gap:20px; }
  .ad-process__divider { width:40px; height:1px; min-height:0; }
  .ad-process__step { padding:0; }}

@media (max-width:480px) {.ad-meta__title,.ad-google__title { font-size:22px; }
  .ad-meta__metrics { grid-template-columns:1fr 1fr; }
  .ad-google__metrics { grid-template-columns:1fr; }
    .ad-process__title { font-size:20px; }}

/* ===================== HERO + FINALE — stile grafica (ad-) ===================== */
.ad-hero { position: relative; min-height: 75vh; padding: 80px 32px 34px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; overflow: hidden; background: #0a0a0a; }
.ad-hero__beam { position: absolute; inset: 0; pointer-events: none; z-index: 0; background:
  radial-gradient(ellipse 1200px 800px at 50% 60%, rgba(192,49,60,0.5), transparent 65%),
  radial-gradient(circle 600px at 30% 30%, rgba(66,133,244,0.07), transparent 70%),
  radial-gradient(circle 600px at 70% 70%, rgba(244,180,0,0.06), transparent 70%); }
.ad-hero__fly, .ad-final__fly { position: absolute; pointer-events: none; user-select: none; z-index: 1; opacity: 0.18; filter: blur(0.5px); animation: adFlyA 18s ease-in-out infinite; }
.ad-hero__fly.b, .ad-final__fly.b { animation: adFlyB 22s ease-in-out infinite; }
.ad-hero__fly.c, .ad-final__fly.c { animation: adFlyC 26s ease-in-out infinite; }
.ad-hero__fly.d, .ad-final__fly.d { animation: adFlyD 20s ease-in-out infinite; }
@keyframes adFlyA { 0%,100% { transform: translate(0,0) rotate(-12deg) scale(1); } 50% { transform: translate(20px,-30px) rotate(8deg) scale(1.05); } }
@keyframes adFlyB { 0%,100% { transform: translate(0,0) rotate(15deg) scale(1); } 50% { transform: translate(-25px,20px) rotate(-10deg) scale(0.95); } }
@keyframes adFlyC { 0%,100% { transform: translate(0,0) rotate(-5deg) scale(1); } 50% { transform: translate(15px,25px) rotate(20deg) scale(1.08); } }
@keyframes adFlyD { 0%,100% { transform: translate(0,0) rotate(8deg) scale(1); } 33% { transform: translate(-20px,-15px) rotate(-15deg) scale(1.05); } 66% { transform: translate(25px,10px) rotate(12deg) scale(0.95); } }
.ad-hero__inner { position: relative; z-index: 5; max-width: 1100px; margin: 0 auto; }
.ad-hero__dept { display: flex; gap: 18px; align-items: center; justify-content: center; margin-bottom: 20px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: #6e6e6e; flex-wrap: wrap; }
.ad-hero__dept-tag { color: #c0313c; border: 1px solid #c0313c; padding: 4px 10px; border-radius: 4px; }
.ad-hero__pills { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.ad-hero__pill { font-size: 11px; font-weight: 900; letter-spacing: 1px; color: #fff; padding: 6px 16px; border-radius: 100px; }
.ad-hero__kicker, .ad-final__kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: #c0313c; display: inline-flex; align-items: center; gap: 8px; }
.ad-hero__kicker { margin-bottom: 16px; }
.ad-final__kicker { margin-bottom: 22px; }
.ad-hero__kicker::before, .ad-final__kicker::before { content: ''; width: 6px; height: 6px; background: #c0313c; border-radius: 50%; animation: adPulse 1.8s ease-in-out infinite; }
@keyframes adPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.7); } }
.ad-hero__title { font-size: clamp(36px, 5vw, 72px); font-weight: 900; line-height: 0.96; letter-spacing: -0.035em; text-transform: lowercase; font-family: 'Inter', sans-serif; color: #fff; margin: 0 0 20px; }
.ad-hero__grad, .ad-final__grad { background: linear-gradient(135deg, #8b1a22, #c0313c, #d44a55); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ad-hero__emoji, .ad-final__emoji { display: inline-block; transform: rotate(-8deg); font-size: 0.85em; margin-left: 0.12em; }
.ad-hero__sub { font-size: 16px; max-width: 560px; margin: 0 auto 30px; color: rgba(255,255,255,0.6); line-height: 1.55; }
.ad-hero__cta-row { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 42px; }
.ad-hero__pill-cta, .ad-final__pill { display: inline-flex; align-items: center; gap: 10px; padding: 16px 32px; background: linear-gradient(135deg, #8b1a22, #c0313c, #d44a55); color: #fff; border-radius: 999px; font-weight: 700; font-size: 14px; letter-spacing: 0.05em; text-decoration: none; text-transform: lowercase; box-shadow: 0 8px 24px rgba(192,49,60,0.4); transition: transform 0.2s, box-shadow 0.2s; }
.ad-hero__pill-cta:hover, .ad-final__pill:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(192,49,60,0.55); }
.ad-hero__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 720px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); }
.ad-hero__stat { text-align: center; }
.ad-hero__stat-num { font-size: 28px; font-weight: 900; line-height: 1; background: linear-gradient(135deg, #8b1a22, #c0313c, #d44a55); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ad-hero__stat-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: #6e6e6e; letter-spacing: 0.18em; text-transform: uppercase; margin-top: 10px; }
.ad-final { position: relative; overflow: hidden; background: #0a0a0a; padding: 56px 32px 78px; text-align: center; }
.ad-final__beam { position: absolute; inset: 0; background: radial-gradient(ellipse 1100px 700px at 50% 50%, rgba(192,49,60,0.45), transparent 65%); pointer-events: none; z-index: 0; }
.ad-final__inner { position: relative; z-index: 5; max-width: 800px; margin: 0 auto; }
.ad-final__title { font-size: clamp(30px, 4vw, 52px); font-weight: 900; line-height: 0.96; letter-spacing: -0.035em; text-transform: lowercase; font-family: 'Inter', sans-serif; color: #fff; margin: 0 0 22px; }
.ad-final__sub { font-size: 15px; line-height: 1.55; color: rgba(255,255,255,0.6); margin: 0 auto 28px; max-width: 540px; }
.ad-final__buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.ad-final__secondary { display: inline-flex; align-items: center; gap: 10px; padding: 16px 32px; background: transparent; border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.85); border-radius: 999px; font-weight: 700; font-size: 14px; letter-spacing: 0.05em; text-decoration: none; text-transform: lowercase; transition: all 0.2s; }
.ad-final__secondary:hover { background: rgba(37,211,102,0.1); border-color: #25D366; color: #25D366; transform: translateY(-3px); }
@media (max-width: 760px) {
  .ad-hero { padding: 56px 20px 30px; min-height: auto; }
  .ad-hero__stats { grid-template-columns: 1fr 1fr; gap: 22px; }
  .ad-hero__fly, .ad-final__fly { font-size: 64px !important; opacity: 0.12; }
  .ad-final { padding: 44px 20px 60px; }
}
/* ============================================================================= */


/* AD OFFLINE ANIMATED */
.ad-offline{ background:#0a0a0a; padding:90px 0; position:relative; overflow:hidden; }
.ad-offline::before{ content:""; position:absolute; inset:0; background:radial-gradient(680px 380px at 50% 32%, rgba(192,49,60,.18), transparent 72%); pointer-events:none; }
.ad-offline .container-soul{ position:relative; }
.ad-offline__kick{ display:flex; align-items:center; justify-content:center; gap:7px; font-family:'JetBrains Mono','SF Mono',monospace; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:#c0313c; margin-bottom:10px; }
.ad-offline__kick span{ width:6px; height:6px; border-radius:50%; background:#c0313c; animation:adoDot 1.6s infinite; }
@keyframes adoDot{0%,100%{opacity:1}50%{opacity:.3}}
.ad-offline__title{ text-align:center; font-size:clamp(26px,4vw,46px); font-weight:900; color:#fff; line-height:1.15; letter-spacing:-.02em; margin:0 auto 50px; max-width:760px; }
.ad-offline__grad{ background:linear-gradient(135deg,#8b1a22,#c0313c,#d44a55); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ad-offline__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ad-offline__card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09); border-radius:16px; padding:24px 16px 22px; text-align:center; transition:transform .3s, border-color .3s; }
.ad-offline__card:hover{ transform:translateY(-5px); border-color:rgba(192,49,60,.5); }
.ad-offline__stage{ height:100px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.ad-offline__card-title{ font-size:15px; font-weight:900; color:#fff; margin-bottom:8px; }
.ad-offline__card-desc{ font-size:11.5px; color:#9a9a9a; line-height:1.55; }

/* brochure che si sfoglia */
.ado-bro{ width:70px; height:82px; position:relative; perspective:520px; }
.ado-bro__pg{ position:absolute; inset:0; border-radius:3px; transform-origin:left center; }
.ado-bro__pg i{ position:absolute; left:9px; right:9px; height:3px; background:rgba(255,255,255,.22); border-radius:2px; }
.ado-bro__pg i:nth-child(1){ top:16px } .ado-bro__pg i:nth-child(2){ top:26px; right:24px } .ado-bro__pg i:nth-child(3){ top:36px }
.ado-bro__p1{ background:linear-gradient(135deg,#2a2a2a,#1a1a1a); border:1px solid rgba(255,255,255,.15); }
.ado-bro__p3{ background:linear-gradient(135deg,#3a3a3a,#222); border:1px solid rgba(255,255,255,.12); }
.ado-bro__p2{ background:linear-gradient(135deg,#c0313c,#8b1a22); border:1px solid rgba(212,74,85,.5); animation:adoFlip 3.6s ease-in-out infinite; }
.ado-bro__p2 i{ background:rgba(255,255,255,.5); }
@keyframes adoFlip{0%,15%{transform:rotateY(0)}45%,70%{transform:rotateY(-158deg)}100%{transform:rotateY(0)}}

/* cartellone che cambia manifesto */
.ado-bil{ width:86px; height:66px; position:relative; }
.ado-bil__board{ position:absolute; top:0; left:6px; right:6px; height:48px; border-radius:5px; border:2px solid #c0313c; overflow:hidden; background:#161616; }
.ado-bil__slide{ position:absolute; inset:0; display:flex; width:300%; animation:adoBoard 6.6s infinite; }
.ado-bil__f{ width:33.333%; height:100%; display:flex; align-items:center; justify-content:center; font-size:20px; }
.ado-bil__f1{ background:linear-gradient(135deg,#c0313c,#8b1a22) } .ado-bil__f2{ background:linear-gradient(135deg,#1877F2,#0a3d8f) } .ado-bil__f3{ background:linear-gradient(135deg,#fbbf24,#c08a00) }
@keyframes adoBoard{0%,28%{transform:translateX(0)}33%,61%{transform:translateX(-33.333%)}66%,94%{transform:translateX(-66.666%)}100%{transform:translateX(0)}}
.ado-bil__pole{ position:absolute; bottom:0; left:50%; width:5px; height:20px; background:#3a3a3a; transform:translateX(-50%); }

/* pacco regalo che si apre */
.ado-gif{ width:66px; height:66px; position:relative; animation:adoShake 4.4s ease-in-out infinite; }
@keyframes adoShake{0%,68%,100%{transform:rotate(0)}76%{transform:rotate(-5deg)}86%{transform:rotate(5deg)}94%{transform:rotate(0)}}
.ado-gif__box{ position:absolute; bottom:0; left:8px; right:8px; height:42px; background:linear-gradient(135deg,#c0313c,#8b1a22); border-radius:4px; }
.ado-gif__lid{ position:absolute; top:15px; left:3px; right:3px; height:15px; background:linear-gradient(135deg,#d44a55,#c0313c); border-radius:4px; transform-origin:center bottom; animation:adoLid 4.4s ease-in-out infinite; }
@keyframes adoLid{0%,68%,100%{transform:translateY(0) rotate(0)}80%,92%{transform:translateY(-11px) rotate(-9deg)}}
.ado-gif__rib{ position:absolute; top:15px; bottom:0; left:50%; width:6px; background:#fbbf24; transform:translateX(-50%); }
.ado-gif__bow{ position:absolute; top:8px; left:50%; width:15px; height:11px; background:#fbbf24; border-radius:50%; transform:translateX(-50%); animation:adoBow 4.4s ease-in-out infinite; }
@keyframes adoBow{0%,68%,100%{transform:translateX(-50%) scale(1)}82%{transform:translateX(-50%) scale(1.3)}}

/* telefono con cuori che salgono */
.ado-phn{ width:46px; height:80px; position:relative; border:2px solid rgba(255,255,255,.3); border-radius:10px; background:linear-gradient(160deg,#222,#111); }
.ado-phn__scr{ position:absolute; inset:4px; border-radius:6px; background:linear-gradient(160deg,rgba(192,49,60,.25),#1a1a1a); }
.ado-phn__play{ position:absolute; top:50%; left:50%; width:0; height:0; border-left:11px solid #d44a55; border-top:8px solid transparent; border-bottom:8px solid transparent; transform:translate(-40%,-50%); animation:adoPlay 2s ease-in-out infinite; }
@keyframes adoPlay{0%,100%{opacity:.55}50%{opacity:1}}
.ado-phn__h{ position:absolute; left:50%; bottom:8px; font-size:12px; color:#d44a55; }
.ado-phn__h1{ animation:adoRise 2.6s linear infinite; }
.ado-phn__h2{ animation:adoRise 2.6s linear .85s infinite; }
.ado-phn__h3{ animation:adoRise 2.6s linear 1.7s infinite; }
@keyframes adoRise{0%{transform:translate(-50%,0) scale(.6);opacity:0}20%{opacity:1}100%{transform:translate(-170%,-50px) scale(1);opacity:0}}

/* MOBILE: griglia 2x2 */
@media (max-width:768px){
  .ad-offline{ padding:48px 0; }
  .ad-offline__grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .ad-offline__title{ margin-bottom:34px; }
  .ad-offline__stage{ height:84px; }
  .ad-offline__card{ padding:18px 10px 16px; }
  .ad-offline__card-desc{ font-size:10.5px; }
}

/* accessibilita': stop animazioni se richiesto */
@media (prefers-reduced-motion:reduce){
  .ado-bro__p2,.ado-bil__slide,.ado-gif,.ado-gif__lid,.ado-gif__bow,.ado-phn__play,.ado-phn__h,.ad-offline__kick span{ animation:none !important; }
}
/* ============================================================ */

/* AD MOBILE FIX V2 */
@media (max-width: 768px){

  /* 1 - META: dashboard + funnel piu' piccoli e centrati */
  .ad-meta__layout{ align-items:center; }
  .ad-meta__dashboard,
  .ad-meta__funnel{
    width:100%;
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
    padding:16px;
  }
  .ad-meta__metric-value{ font-size:19px; }
  .ad-meta__svg{ height:80px; }

  /* 2 - GOOGLE: dashboard + serp piu' piccoli e centrati */
  .ad-google__layout{ align-items:center; }
  .ad-google__dashboard,
  .ad-google__search,
  .ad-google__serp{
    width:100%;
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
  }
  .ad-google__dashboard{ padding:16px; }
  .ad-google__metric-value{ font-size:17px; }

  /* 3 - PROCESS: 4 step in griglia 2x2, divider nascosti */
  .ad-process__steps{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px 12px;
    align-items:start;
  }
  .ad-process__divider{ display:none; }
  .ad-process__step{ padding:0 6px; }
}
/* ============================================================ */