@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap");

/* =========================================================
   ASSISTENZA BRESCIA — design system "corporate moderno chiaro"
   accent #2092ca · v2 2026-06-11
   ========================================================= */
:root{
  --ab-accent:#2092ca; --ab-accent-d:#1a7aab; --ab-accent-t:#e8f4fb;
  --ab-ink:#0f2233; --ab-text:#3a4550; --ab-muted:#6a7682;
  --ab-bg:#ffffff; --ab-bg-alt:#f3f7fb; --ab-border:#e4ebf2;
  --ab-radius:16px; --ab-shadow:0 10px 30px -12px rgba(15,34,51,.16);
  --ab-shadow-h:0 22px 48px -16px rgba(32,151,202,.30);
}

body{ font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif !important; color:var(--ab-text); }
h1,h2,h3,h4,h5,h6{ font-family:"Manrope","Inter",sans-serif !important; color:var(--ab-ink); }

/* ---- Top bar ---- */
.iservice-topbar{ background:#0f2233; color:#9fb0c0; font-size:12.5px; padding:9px 30px; font-family:"Inter",sans-serif; display:flex; justify-content:space-between; align-items:center; }
.iservice-topbar a{ color:#dce6ef; text-decoration:none; margin:0 8px; }
.iservice-topbar a:hover{ color:#fff; }
.iservice-topbar .topbar-right{ display:flex; align-items:center; gap:20px; }

/* ---- Nav ---- */
.uk-navbar-nav > li > a{ font-family:"Manrope",sans-serif !important; text-transform:uppercase !important; font-size:12px !important; letter-spacing:.6px !important; color:var(--ab-ink) !important; font-weight:600 !important; }
.uk-navbar-nav > li > a:hover, .uk-navbar-nav > li.uk-active > a{ color:var(--ab-accent) !important; }
a{ color:var(--ab-accent); } a:hover{ color:var(--ab-accent-d); }

/* ---- Full width article (no container constraint) ---- */
html body .tm-page .tm-main > .uk-container{ max-width:none !important; padding:0 !important; }
html body .tm-page .tm-main .uk-article .uk-container.uk-container-xsmall{ max-width:none !important; padding:0 !important; }
html body .tm-page .tm-main{ padding:0 !important; }
html body .tm-main .uk-article .uk-margin-medium-top{ margin-top:0 !important; }
html body .tm-page .tm-main .uk-section{ padding-top:0 !important; padding-bottom:0 !important; }
html body .tm-page .tm-main .uk-article .uk-margin-medium{ margin:0 !important; }
html body .tm-page .tm-main .uk-article{ font-size:inherit; }

/* hide template article title + pagination (heroes carry their own H1) */
html body .tm-page .tm-main .uk-article h1.uk-article-title{ display:none !important; height:0 !important; overflow:hidden !important; margin:0 !important; font-size:0 !important; }
html body .tm-page .tm-main .uk-article .uk-pagination{ display:none !important; }

/* ---- Footer ---- */
.tm-bottom{ background:#0f2233 !important; padding:0 !important; }
#module-109{ margin:0 !important; padding:0 !important; }
.tm-page > footer{ display:none !important; }

/* =========================================================
   COMPONENTI AB
   ========================================================= */
.ab-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.ab-sec{ padding:90px 0; }
.ab-sec--tight{ padding:64px 0; }
.ab-sec--alt{ background:var(--ab-bg-alt); }
.ab-ic{ width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* section heading */
.ab-head{ max-width:720px; margin:0 0 48px; }
.ab-head.ab-center{ margin-left:auto; margin-right:auto; text-align:center; }
.ab-eyebrow{ display:inline-block; font-family:"Manrope",sans-serif; font-weight:700; font-size:12.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--ab-accent); margin-bottom:14px; }
.ab-head h2{ font-size:clamp(28px,3.4vw,40px); font-weight:800; line-height:1.12; letter-spacing:-.5px; margin:0 0 14px; }
.ab-head p{ font-size:17.5px; line-height:1.6; color:var(--ab-muted); margin:0; }

/* buttons */
.ab-btns{ display:flex; flex-wrap:wrap; gap:14px; }
.ab-btn{ display:inline-flex; align-items:center; gap:9px; padding:15px 30px; border-radius:500px; font-family:"Manrope",sans-serif; font-weight:700; font-size:15.5px; text-decoration:none; transition:all .25s ease; cursor:pointer; }
.ab-btn--primary{ background:var(--ab-accent); color:#fff !important; box-shadow:0 12px 26px -10px rgba(32,151,202,.6); }
.ab-btn--primary:hover{ background:var(--ab-accent-d); transform:translateY(-2px); box-shadow:0 18px 34px -10px rgba(32,151,202,.7); }
.ab-btn--ghost{ background:#fff; color:var(--ab-accent) !important; border:1.5px solid var(--ab-border); }
.ab-btn--ghost:hover{ border-color:var(--ab-accent); color:var(--ab-accent-d) !important; transform:translateY(-2px); }
.ab-btn--white{ background:#fff; color:var(--ab-accent-d) !important; }
.ab-btn--white:hover{ transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(0,0,0,.35); }
.ab-btn--linelight{ background:rgba(255,255,255,.12); color:#fff !important; border:1.5px solid rgba(255,255,255,.45); }
.ab-btn--linelight:hover{ background:rgba(255,255,255,.2); }

/* ---- HERO ---- */
.ab-hero{ position:relative; overflow:hidden; padding:118px 0 92px; background:
   radial-gradient(900px 480px at 78% -8%, rgba(32,151,202,.16), transparent 60%),
   radial-gradient(680px 420px at 8% 12%, rgba(32,151,202,.08), transparent 55%),
   linear-gradient(180deg,#fbfdff 0%,#ffffff 100%); }
.ab-hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,transparent,var(--ab-border),transparent); }
.ab-hero__in{ position:relative; max-width:820px; }
.ab-hero h1{ font-size:clamp(38px,5.4vw,64px); font-weight:800; line-height:1.04; letter-spacing:-1.4px; margin:18px 0 22px; color:var(--ab-ink); }
.ab-hero h1 .ab-hl{ color:var(--ab-accent); }
.ab-hero .ab-lead{ font-size:20px; line-height:1.6; color:var(--ab-muted); max-width:660px; margin:0 0 34px; }
.ab-badge{ display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--ab-border); color:var(--ab-ink); font-weight:600; font-size:13px; padding:7px 15px 7px 11px; border-radius:500px; box-shadow:var(--ab-shadow); }
.ab-badge b{ color:var(--ab-accent); }

/* stat row */
.ab-stats{ display:flex; flex-wrap:wrap; gap:46px; margin-top:54px; padding-top:34px; border-top:1px solid var(--ab-border); }
.ab-stat strong{ display:block; font-family:"Manrope",sans-serif; font-size:34px; font-weight:800; color:var(--ab-ink); line-height:1; letter-spacing:-1px; }
.ab-stat span{ display:block; margin-top:7px; font-size:13.5px; color:var(--ab-muted); }
.ab-stat strong em{ color:var(--ab-accent); font-style:normal; }

/* ---- cards grid ---- */
.ab-grid{ display:grid; gap:26px; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); }
.ab-card{ background:#fff; border:1px solid var(--ab-border); border-radius:var(--ab-radius); padding:34px 30px; box-shadow:var(--ab-shadow); transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.ab-card:hover{ transform:translateY(-6px); box-shadow:var(--ab-shadow-h); border-color:#cfe6f4; }
.ab-card__ic{ width:54px; height:54px; border-radius:14px; background:var(--ab-accent-t); color:var(--ab-accent); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.ab-card__ic .ab-ic{ width:26px; height:26px; }
.ab-card h3{ font-size:20px; font-weight:700; margin:0 0 10px; }
.ab-card h3 a{ color:var(--ab-ink); text-decoration:none; }
.ab-card:hover h3 a{ color:var(--ab-accent); }
.ab-card p{ margin:0; color:var(--ab-muted); line-height:1.62; font-size:15px; }
.ab-card__link{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-family:"Manrope",sans-serif; font-weight:700; font-size:14px; color:var(--ab-accent); text-decoration:none; }
.ab-card__link .ab-ic{ width:17px; height:17px; transition:transform .2s; }
.ab-card:hover .ab-card__link .ab-ic{ transform:translateX(4px); }

/* ---- feature list (icon + text) ---- */
.ab-feat{ display:grid; gap:30px 38px; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.ab-feat__item{ display:flex; gap:16px; }
.ab-feat__ic{ flex:0 0 auto; width:44px; height:44px; border-radius:12px; background:var(--ab-accent-t); color:var(--ab-accent); display:flex; align-items:center; justify-content:center; }
.ab-feat__item h3{ font-size:17px; font-weight:700; margin:2px 0 6px; }
.ab-feat__item p{ margin:0; color:var(--ab-muted); font-size:14.5px; line-height:1.6; }

/* ---- platforms / badges ---- */
.ab-plat{ display:grid; gap:22px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.ab-plat__item{ background:#fff; border:1px solid var(--ab-border); border-radius:14px; padding:26px 24px; }
.ab-plat__item .tag{ display:inline-block; font-family:"Manrope",sans-serif; font-weight:800; font-size:18px; color:var(--ab-ink); margin-bottom:8px; }
.ab-plat__item p{ margin:0; color:var(--ab-muted); font-size:14px; line-height:1.55; }

/* ---- steps ---- */
.ab-steps{ display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); counter-reset:abst; }
.ab-step{ position:relative; background:#fff; border:1px solid var(--ab-border); border-radius:14px; padding:30px 26px 26px; }
.ab-step::before{ counter-increment:abst; content:"0" counter(abst); font-family:"Manrope",sans-serif; font-weight:800; font-size:24px; color:var(--ab-accent); opacity:.9; }
.ab-step h3{ font-size:17px; font-weight:700; margin:12px 0 8px; }
.ab-step p{ margin:0; color:var(--ab-muted); font-size:14.5px; line-height:1.58; }

/* ---- FAQ ---- */
.ab-faq{ display:grid; gap:16px; max-width:860px; }
.ab-faq__item{ background:#fff; border:1px solid var(--ab-border); border-radius:14px; padding:24px 26px; }
.ab-faq__item h3{ font-size:17px; font-weight:700; margin:0 0 8px; display:flex; gap:10px; align-items:flex-start; }
.ab-faq__item h3 .ab-ic{ flex:0 0 auto; width:20px; height:20px; color:var(--ab-accent); margin-top:2px; }
.ab-faq__item p{ margin:0; color:var(--ab-muted); line-height:1.62; font-size:15px; }

/* ---- CTA band ---- */
.ab-cta{ background:linear-gradient(120deg,var(--ab-accent) 0%,#1577a8 55%,#0f5e87 100%); position:relative; overflow:hidden; }
.ab-cta::before{ content:""; position:absolute; inset:0; background:radial-gradient(600px 300px at 85% 0%,rgba(255,255,255,.18),transparent 60%); }
.ab-cta .ab-wrap{ position:relative; text-align:center; padding-top:74px; padding-bottom:74px; }
.ab-cta h2{ color:#fff; font-size:clamp(26px,3.2vw,38px); font-weight:800; letter-spacing:-.5px; margin:0 0 14px; }
.ab-cta p{ color:rgba(255,255,255,.9); font-size:18px; margin:0 0 30px; }
.ab-cta .ab-btns{ justify-content:center; }

/* prose fallback (paragraphs/lists inside content pages) */
.ab-prose{ max-width:820px; }
.ab-prose h2{ font-size:26px; font-weight:800; margin:38px 0 14px; }
.ab-prose h3{ font-size:19px; font-weight:700; margin:26px 0 10px; }
.ab-prose p{ line-height:1.7; margin:0 0 16px; color:var(--ab-text); font-size:16px; }
.ab-prose ul,.ab-prose ol{ line-height:1.7; color:var(--ab-text); padding-left:20px; margin:0 0 16px; }
.ab-prose li{ margin-bottom:7px; }

@media (max-width:640px){
  .ab-sec{ padding:60px 0; }
  .ab-hero{ padding:78px 0 64px; }
  .ab-stats{ gap:28px; }
  .iservice-topbar{ font-size:11px; padding:8px 16px; }
  .iservice-topbar .topbar-left{ display:none; }
}

/* === FIX icone: batte la regola UIkit .uk-article svg{width:100%} === */
html body .uk-article svg.ab-ic, svg.ab-ic{ width:24px !important; height:24px !important; min-width:24px !important; max-width:24px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.7; display:inline-block; vertical-align:middle; }
html body .uk-article .ab-card__ic svg.ab-ic{ width:26px !important; height:26px !important; min-width:26px !important; max-width:26px !important; }
html body .uk-article .ab-feat__ic svg.ab-ic{ width:22px !important; height:22px !important; min-width:22px !important; max-width:22px !important; }
html body .uk-article .ab-card__link svg.ab-ic{ width:17px !important; height:17px !important; min-width:17px !important; max-width:17px !important; }
html body .uk-article .ab-faq__item h3 svg.ab-ic{ width:20px !important; height:20px !important; min-width:20px !important; max-width:20px !important; }
html body .uk-article .ab-btn svg.ab-ic{ width:19px !important; height:19px !important; min-width:19px !important; max-width:19px !important; }
html body .uk-article .ab-badge svg.ab-ic{ width:16px !important; height:16px !important; min-width:16px !important; max-width:16px !important; }
/* hero pagine interne */
.ab-hero--sub{ padding:84px 0 66px !important; }
.ab-hero--sub h1{ font-size:clamp(32px,4.4vw,52px); }
.ab-hero--sub .ab-lead{ margin-bottom:30px; }