/* ============================================================
   YouCall Theme — design system
   Palette brand estratta dal logo ufficiale youcall.it:
   navy #093c71 · azzurro #008fbe · lime #cddd00
   Le variabili sono riusabili anche dentro Elementor:
   es. color: var(--yc-navy)
   ============================================================ */
:root{
  --yc-blu:#008fbe;
  --yc-navy:#093c71;
  --yc-lime:#cddd00;
  --yc-blu-bg:#e7f4f9;
  --yc-ink:#16242e;
  --yc-grigio:#5b6b78;
  --yc-bordo:#dde6ec;
  --yc-soft:#f4f8fa;
  --yc-verde:#1f9d55;
  --yc-verde-bg:#e3f3ea;
  --yc-r:14px;
  --yc-sh:0 4px 20px rgba(9,60,113,.10);
  --yc-max:1180px;
}
body.youcall-theme{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--yc-ink);background:#fff;line-height:1.55}
.youcall-theme a{color:var(--yc-blu);text-decoration:none}
.yc-wrap{max-width:var(--yc-max);margin:0 auto;padding:0 22px}
.yc-muted{color:var(--yc-grigio)}
.yc-small{font-size:12px}
.yc-section{padding:52px 0}
.yc-section--soft{background:var(--yc-soft)}
.yc-sec{font-size:28px;margin:0 0 6px;color:var(--yc-navy)}
.yc-badge{display:inline-block;background:var(--yc-blu-bg);color:var(--yc-navy);font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px}
.yc-badge--light{background:rgba(255,255,255,.16);color:#fff}

/* Bottoni */
.yc-btn{display:inline-block;background:var(--yc-blu);color:#fff !important;padding:12px 22px;border-radius:10px;font-weight:700;border:none;cursor:pointer;font-size:14px;text-align:center;transition:.15s}
.yc-btn:hover{background:var(--yc-navy)}
.yc-btn--ghost{background:#fff;color:var(--yc-blu) !important;border:1.5px solid var(--yc-blu)}
.yc-btn--ghost:hover{background:var(--yc-blu-bg);color:var(--yc-navy) !important}
.yc-btn--lime{background:var(--yc-lime);color:var(--yc-navy) !important}
.yc-btn--lime:hover{background:#b8c700;color:var(--yc-navy) !important}
.yc-btn--block{display:block;width:100%}

/* Utility bar */
.yc-util{background:var(--yc-navy);color:#fff;font-size:12.5px}
.yc-util .yc-wrap{display:flex;gap:18px;align-items:center;min-height:38px;flex-wrap:wrap}
.yc-util a{color:#fff;opacity:.92}
.yc-util a:hover{opacity:1;color:var(--yc-lime)}
.yc-util-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.yc-util-right{margin-left:auto;display:flex;gap:16px;align-items:center}

/* Header */
.yc-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--yc-bordo);z-index:90;box-shadow:0 1px 0 rgba(9,60,113,.04)}
.yc-nav{display:flex;align-items:center;gap:26px;min-height:78px}
.yc-logo img,.custom-logo{height:48px;width:auto;display:block}
.yc-primary{flex:1}
.yc-menu{display:flex;gap:24px;font-weight:600;font-size:15px;list-style:none;margin:0;padding:0}
.yc-menu a{color:var(--yc-navy);padding:10px 0;display:block;border-bottom:3px solid transparent}
.yc-menu a:hover{color:var(--yc-blu);border-bottom-color:var(--yc-lime)}
.yc-menu .sub-menu{display:none;position:absolute;background:#fff;border:1px solid var(--yc-bordo);border-radius:12px;box-shadow:var(--yc-sh);padding:10px 16px;list-style:none;min-width:220px;z-index:95}
.yc-menu li{position:relative}
.yc-menu li:hover>.sub-menu{display:block}
.yc-menu .sub-menu a{border:none;padding:7px 0;font-size:14px}
.yc-nav-right{display:flex;gap:12px;align-items:center}
.yc-burger{display:none;background:none;border:none;cursor:pointer;padding:8px}
.yc-burger span{display:block;width:24px;height:3px;background:var(--yc-navy);margin:5px 0;border-radius:2px;transition:.2s}

/* Hero */
.yc-hero{background:linear-gradient(120deg,var(--yc-navy) 0%,#0d6ea0 60%,var(--yc-blu) 100%);color:#fff}
.yc-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding-top:56px;padding-bottom:56px}
.yc-hero h1{font-size:42px;line-height:1.1;margin:10px 0 12px}
.yc-hero p{opacity:.93;font-size:16px;max-width:460px}
.yc-hero-img{max-width:420px;width:100%;height:auto;margin-top:18px;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.yc-cov{background:#fff;color:var(--yc-ink);border-radius:var(--yc-r);box-shadow:var(--yc-sh);padding:24px}
.yc-cov h3{margin:8px 0 2px;font-size:19px;color:var(--yc-navy)}
.yc-cov-tabs{display:flex;gap:8px;margin-bottom:6px}
.yc-cov-tabs button{flex:1;padding:9px;border:1.5px solid var(--yc-bordo);background:#fff;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;color:var(--yc-grigio)}
.yc-cov-tabs button.on{border-color:var(--yc-blu);background:var(--yc-blu-bg);color:var(--yc-navy)}
.yc-field{display:flex;gap:8px;margin-top:12px}
.yc-field input{flex:1;padding:12px;border:1.5px solid var(--yc-bordo);border-radius:9px;font-size:14px}
.yc-field input:focus{outline:none;border-color:var(--yc-blu)}
.yc-cap{max-width:90px}

/* Griglie */
.yc-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.yc-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* Card offerte */
.yc-ocard{border:1.5px solid var(--yc-bordo);border-radius:var(--yc-r);padding:24px;background:#fff;display:flex;flex-direction:column;position:relative;transition:.15s}
.yc-ocard:hover{box-shadow:var(--yc-sh);transform:translateY(-3px)}
.yc-ocard--feat{border-color:var(--yc-blu);box-shadow:0 8px 30px rgba(0,143,190,.18)}
.yc-top{font-size:11px;font-weight:800;color:var(--yc-navy);position:absolute;top:-12px;left:22px;background:var(--yc-lime);padding:3px 12px;border-radius:20px}
.yc-tech{font-size:11px;font-weight:700;color:var(--yc-verde);background:var(--yc-verde-bg);padding:3px 9px;border-radius:20px;align-self:flex-start}
.yc-ocard h3{margin:12px 0 2px;font-size:21px;color:var(--yc-navy)}
.yc-spd{font-size:13px;color:var(--yc-grigio)}
.yc-price{font-size:36px;font-weight:800;color:var(--yc-blu);margin:14px 0 0}
.yc-price small{font-size:13px;font-weight:500;color:var(--yc-grigio)}
.yc-ocard ul{list-style:none;padding:0;margin:14px 0;font-size:13.5px}
.yc-ocard li{padding:5px 0 5px 24px;position:relative}
.yc-ocard li::before{content:"\2713";color:var(--yc-verde);position:absolute;left:0;font-weight:800}
.yc-ocard .yc-btn{margin-top:auto}

/* Tecnologie */
.yc-tcard{border:1px solid var(--yc-bordo);border-radius:var(--yc-r);padding:20px;background:#fff}
.yc-tcard img{width:100%;height:auto;border-radius:10px}
.yc-tcard h4{margin:12px 0 4px;color:var(--yc-navy)}

/* Trust */
.yc-trust{background:var(--yc-navy);color:#fff;padding:44px 0}
.yc-tr{text-align:center}
.yc-tr .ic{font-size:30px}
.yc-tr h4{margin:8px 0 2px;font-size:15px;color:var(--yc-lime)}
.yc-tr p{font-size:12.5px;opacity:.85;margin:0}

/* Blog */
.yc-blog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.yc-bart{border:1px solid var(--yc-bordo);border-radius:var(--yc-r);overflow:hidden;background:#fff;transition:.15s}
.yc-bart:hover{box-shadow:var(--yc-sh)}
.yc-bart-ph{display:block;aspect-ratio:2/1;overflow:hidden;background:var(--yc-blu-bg)}
.yc-bart-ph img{width:100%;height:100%;object-fit:cover;display:block}
.yc-bart-body{padding:16px}
.yc-bart h4{margin:4px 0 6px;font-size:16px}
.yc-bart h4 a{color:var(--yc-navy)}
.yc-bart p{font-size:13px;margin:0}

/* Pagine / contenuti */
.yc-page .yc-content{max-width:820px;font-size:16px}
.yc-content img{max-width:100%;height:auto;border-radius:10px}
.yc-single-thumb img{width:100%;height:auto;border-radius:var(--yc-r);margin:14px 0}
.yc-meta{font-size:13px}
.yc-search-item{border-bottom:1px solid var(--yc-bordo);padding:14px 0}
.yc-404{text-align:center}
.yc-pagination{margin-top:28px;text-align:center}
.yc-pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--yc-bordo);border-radius:8px;margin:0 3px;color:var(--yc-navy);font-weight:600}
.yc-pagination .current{background:var(--yc-blu);color:#fff;border-color:var(--yc-blu)}

/* Footer */
.yc-footer{background:var(--yc-navy);color:#cdd9e5;font-size:13px;padding:48px 0 24px}
.yc-footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}
.yc-footer h5{color:var(--yc-lime);font-size:13px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}
.yc-footer a{color:#cdd9e5;display:block;padding:3px 0}
.yc-footer a:hover{color:#fff}
.yc-footer ul{list-style:none;margin:0;padding:0}
.yc-footer .yc-logo img{height:40px;width:auto}
.yc-footer-note{color:#9fb6cc;margin:12px 0;max-width:340px}
.yc-compliance-title{margin-top:30px !important}
.yc-compliance{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.yc-compliance a,.yc-compliance li a{background:rgba(255,255,255,.08);padding:5px 10px;border-radius:7px;font-size:12px;display:inline-block}
.yc-compliance ul{display:flex;flex-wrap:wrap;gap:8px}
.yc-legalbar{border-top:1px solid rgba(255,255,255,.14);margin-top:26px;padding-top:16px;font-size:12px;color:#8aa3bd}

/* Responsive */
@media(max-width:980px){
  .yc-grid4{grid-template-columns:repeat(2,1fr)}
  .yc-footer-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .yc-hero-grid,.yc-grid3{grid-template-columns:1fr}
  .yc-hero h1{font-size:32px}
  .yc-primary{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--yc-bordo);padding:10px 22px 18px}
  .yc-primary.open{display:block}
  .yc-menu{flex-direction:column;gap:4px}
  .yc-menu .sub-menu{display:block;position:static;border:none;box-shadow:none;padding-left:16px}
  .yc-burger{display:block;margin-left:auto}
  .yc-nav-right{display:none}
}
