/*
 * Frontend pubblico della piattaforma SEO di WebG (nome commerciale: vedi nome sito Joomla).
 * Caricato da YOOtheme dopo theme.css. Solo variabili e ritocchi: niente font esterni, niente immagini.
 */
:root {
  --pd-ink: #14213d;
  --pd-text: #2b3445;
  --pd-muted: #566176;
  --pd-line: #dde4ee;
  --pd-bg: #f5f7fb;
  --pd-brand: #1f4e9c;
  --pd-brand-dark: #163a78;
  --pd-red: #d64533;
  --pd-green: #3d9a47;
  --pd-yellow: #f0b429;
  --pd-blue: #2b5fb4;
  --pd-orange: #ee7f22;
  --pd-radius: 10px;
  --pd-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html, body, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, h1, h2, h3, h4, h5, h6,
.uk-heading-small, .uk-heading-medium, .uk-heading-large, .uk-heading-xlarge,
.uk-button, .uk-navbar-nav > li > a, .uk-article-title, .uk-text-lead {
  font-family: var(--pd-font);
}
body { color: var(--pd-text); font-size: 1.0625rem; line-height: 1.6; font-weight: 400; -webkit-font-smoothing: antialiased; }
p, li, td, th, .uk-text-lead, .uk-text-meta, label, input, select, textarea { font-weight: 400; }
strong, b, th, label { font-weight: 600; }
h1, h2, h3, h4, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-heading-small, .uk-heading-medium, .uk-heading-large {
  color: var(--pd-ink); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; text-transform: none;
}
.uk-heading-medium { font-size: clamp(1.9rem, 1.2rem + 2.2vw, 2.7rem); }
.uk-heading-large { font-size: clamp(2.2rem, 1.3rem + 3.6vw, 3.6rem); }
h2, .uk-h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem); }
h3, .uk-h3 { font-size: 1.3rem; letter-spacing: -0.01em; }
a { color: var(--pd-brand); }
a:hover { color: var(--pd-brand-dark); }
.uk-text-lead { font-size: 1.25rem; line-height: 1.55; color: var(--pd-muted); font-weight: 400; }
.uk-text-meta, .uk-text-muted { color: var(--pd-muted) !important; }
::selection { background: #cfe0fb; color: var(--pd-ink); }
:focus-visible { outline: 3px solid var(--pd-yellow); outline-offset: 2px; border-radius: 4px; }

/* Sezioni */
.uk-section-default { background: #fff; }
.uk-section-muted { background: var(--pd-bg); }
.uk-section-primary { background: var(--pd-brand); color: #fff; }
.uk-section-primary h1, .uk-section-primary h2, .uk-section-primary h3, .uk-section-primary .uk-text-lead { color: #fff; }
.uk-section-primary a:not(.uk-button) { color: #fff; text-decoration: underline; }
.uk-section-secondary { background: var(--pd-ink); }

/* Bottoni */
.uk-button { border-radius: 8px; text-transform: none; font-weight: 600; letter-spacing: 0; transition: background-color .15s, border-color .15s, color .15s; }
.uk-button, .uk-button-large { font-size: 1rem !important; line-height: 50px; padding: 0 26px; letter-spacing: 0 !important; text-transform: none !important; }
.uk-button-primary { background: var(--pd-brand); color: #fff; border: 0; }
.uk-button-primary:hover, .uk-button-primary:focus { background: var(--pd-brand-dark); color: #fff; }
.uk-button-default { background: #fff; color: var(--pd-brand); border: 1.5px solid var(--pd-brand); }
.uk-button-default:hover, .uk-button-default:focus { background: #eef3fc; color: var(--pd-brand-dark); border-color: var(--pd-brand-dark); }
.uk-section-primary .uk-button-primary { background: #fff; color: var(--pd-brand); }
.uk-section-primary .uk-button-primary:hover { background: #eef3fc; color: var(--pd-brand-dark); }
.uk-section-primary .uk-button-default { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.uk-section-primary .uk-button-default:hover { background: rgba(255,255,255,.12); color: #fff; }

/* Testata */
.tm-header .uk-navbar-container, .tm-header-mobile .uk-navbar-container, .uk-navbar-container:not(.uk-navbar-transparent) {
  background: rgba(255,255,255,.96); border-bottom: 1px solid var(--pd-line);
}
.uk-navbar-nav > li > a { color: var(--pd-ink); font-size: 1rem; font-weight: 500; text-transform: none !important; letter-spacing: 0 !important; min-height: 72px; }
.uk-nav > li > a { text-transform: none !important; letter-spacing: 0 !important; font-weight: 500; }
.uk-navbar-nav > li:has(> a.podio-cta) { display: flex; align-items: center; }
.uk-navbar-nav > li > a.podio-cta { line-height: 44px; height: 44px; min-height: 44px; }
.uk-navbar-nav > li:hover > a, .uk-navbar-nav > li > a:focus, .uk-navbar-nav > li.uk-active > a { color: var(--pd-brand); }
.uk-navbar-nav > li.uk-active > a { font-weight: 600; }
.podio-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--pd-ink); text-decoration: none; font-weight: 700; font-size: 1.3rem; letter-spacing: -0.02em; }
.podio-logo:hover { color: var(--pd-ink); text-decoration: none; }
.podio-logo svg { display: block; flex: none; }
.podio-by { font-weight: 500; font-size: .8rem; color: var(--pd-muted); letter-spacing: 0; margin-left: 2px; }
.uk-navbar-nav > li > a.podio-cta, .uk-nav > li > a.podio-cta {
  background: var(--pd-brand); color: #fff; border-radius: 8px; min-height: 44px; padding: 0 20px; margin-left: 10px; font-weight: 600;
}
.uk-navbar-nav > li > a.podio-cta:hover, .uk-navbar-nav > li > a.podio-cta:focus { background: var(--pd-brand-dark); color: #fff; }
.uk-navbar-nav > li.uk-active > a.podio-cta { background: var(--pd-brand-dark); color: #fff; }
.uk-offcanvas-bar .uk-nav > li > a.podio-cta { margin: 12px 0 0; padding: 12px 18px; display: inline-block; }

/* Eroe della home */
.podio-hero { background: linear-gradient(180deg, #eef3fc 0%, #ffffff 100%); }
.podio-eyebrow { display: inline-block; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pd-brand); margin: 0 0 14px; }
.podio-note { font-size: .92rem; color: var(--pd-muted); }
.podio-shot img, img.podio-shot {
  border-radius: var(--pd-radius); border: 1px solid var(--pd-line);
  box-shadow: 0 18px 40px -18px rgba(20,33,61,.35), 0 2px 6px rgba(20,33,61,.08); background: #fff;
}
.podio-shot-frame { position: relative; padding-top: 26px; background: #e7ecf4; border-radius: var(--pd-radius); border: 1px solid var(--pd-line);
  box-shadow: 0 18px 40px -18px rgba(20,33,61,.35), 0 2px 6px rgba(20,33,61,.08); overflow: hidden; }
.podio-shot-frame::before { content: ""; position: absolute; left: 12px; top: 8px; width: 10px; height: 10px; border-radius: 50%;
  background: #f0b429; box-shadow: -0px 0 0 0 transparent, 16px 0 0 0 #3d9a47, 32px 0 0 0 #d64533; }
.podio-shot-frame img { display: block; width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }

/* Schede */
.podio-card { background: #fff; border: 1px solid var(--pd-line); border-radius: var(--pd-radius); padding: 28px; height: 100%; box-sizing: border-box; }
.podio-card h3 { margin: 0 0 10px; }
.podio-card p:last-child { margin-bottom: 0; }
.uk-section-muted .podio-card { background: #fff; }
.podio-step-n { display: inline-flex; width: 38px; height: 38px; border-radius: 50%; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; background: var(--pd-brand); margin-bottom: 14px; }
.podio-step-n.n2 { background: var(--pd-green); }
.podio-step-n.n3 { background: var(--pd-orange); }
.podio-list { list-style: none; padding: 0; margin: 14px 0 0; }
.podio-list li { position: relative; padding-left: 28px; margin: 8px 0; }
.podio-list li::before { content: ""; position: absolute; left: 0; top: .5em; width: 14px; height: 8px; border-left: 3px solid var(--pd-green); border-bottom: 3px solid var(--pd-green); transform: rotate(-45deg) translateY(-30%); }
.podio-list.no li::before { border-color: var(--pd-muted); }
.podio-tag { display: inline-block; font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: #e6effc; color: var(--pd-brand-dark); margin-bottom: 10px; }
.podio-tag.soon { background: #fdf1d4; color: #7a5200; }
.podio-compare h3 { display: flex; align-items: center; gap: 10px; }
.podio-compare .dot { width: 12px; height: 12px; border-radius: 3px; background: var(--pd-brand); flex: none; }
.podio-compare .dot.o { background: var(--pd-orange); }

/* Striscia dei cinque colori WebG, richiamo ai riquadri del logo */
.podio-stripe { height: 4px; background: linear-gradient(90deg, var(--pd-red) 0 20%, var(--pd-green) 20% 40%, var(--pd-yellow) 40% 60%, var(--pd-blue) 60% 80%, var(--pd-orange) 80% 100%); }

/* Piede */
.podio-footer { background: var(--pd-bg); color: var(--pd-muted); font-size: .95rem; position: relative; }
.podio-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--pd-red) 0 20%, var(--pd-green) 20% 40%, var(--pd-yellow) 40% 60%, var(--pd-blue) 60% 80%, var(--pd-orange) 80% 100%); }
.podio-footer a { color: var(--pd-ink); text-decoration: none; }
.podio-footer a:hover { color: var(--pd-brand); text-decoration: underline; }
.podio-footer h4 { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--pd-muted); margin: 0 0 12px; font-weight: 600; }
.podio-footer ul { list-style: none; margin: 0; padding: 0; }
.podio-footer li { margin: 6px 0; }
.podio-footer .podio-bywebg { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.podio-footer .podio-bywebg img { height: 46px; width: auto; }
.podio-footer small { display: block; margin-top: 28px; color: var(--pd-muted); }

/* Pagine di testo (privacy, termini, contatti) */
.tm-main .uk-article, .podio-text { max-width: 46rem; }
.tm-main .uk-article-title { font-size: clamp(1.9rem, 1.3rem + 2vw, 2.6rem); }
.tm-main .uk-article h2 { margin-top: 2.2rem; }
.tm-main .uk-article p, .tm-main .uk-article li { line-height: 1.65; }

/* Modulo "Richiedi accesso" (com_contact) */
.podio-form { max-width: 40rem; }
.podio-form fieldset { border: 0; padding: 0; margin: 0 0 8px; min-width: 0; }
.podio-form legend { display: none; }
.podio-form .control-group, .podio-form .mb-3 { margin-bottom: 20px; }
.podio-form label, .podio-form .control-label label { display: block; font-weight: 600; color: var(--pd-ink); margin-bottom: 6px; font-size: .98rem; }
.podio-form .star, .podio-form .form-control-feedback { color: var(--pd-red); }
.podio-form input[type=text], .podio-form input[type=email], .podio-form input[type=url], .podio-form select, .podio-form textarea {
  display: block; width: 100%; box-sizing: border-box; font: inherit; color: var(--pd-ink); background: #fff;
  border: 1.5px solid #b9c4d6; border-radius: 8px; padding: 12px 14px; min-height: 48px;
}
.podio-form textarea { min-height: 140px; resize: vertical; }
.podio-form input:focus, .podio-form select:focus, .podio-form textarea:focus { border-color: var(--pd-brand); outline: 3px solid #cfe0fb; outline-offset: 0; }
.podio-form .form-text, .podio-form .hide-aware-inline-help, .podio-form [id$="-desc"] { color: var(--pd-muted); font-size: .9rem; margin-top: 4px; }
.podio-form input[type=checkbox], .podio-form input[type=radio] { width: 20px; height: 20px; margin: 2px 8px 0 0; accent-color: var(--pd-brand); vertical-align: top; }
.podio-form fieldset.checkboxes label, .podio-form .form-check label { display: inline; font-weight: 400; }
.podio-form .invalid, .podio-form .form-control-danger { border-color: var(--pd-red); }
.podio-form .btn, .podio-form button[type=submit] {
  font: inherit; font-weight: 600; font-size: 1.05rem; background: var(--pd-brand); color: #fff; border: 0; border-radius: 8px; padding: 0 28px; min-height: 52px; cursor: pointer;
}
.podio-form .btn:hover, .podio-form button[type=submit]:hover { background: var(--pd-brand-dark); }
.podio-form .contact-name, .podio-form .contact-misc, .podio-form .com-contact__info { display: none; }
.podio-privacy-note { font-size: .92rem; color: var(--pd-muted); margin: 6px 0 22px; }
#system-message-container .alert, .uk-alert { border-radius: 8px; }
#system-message-container .alert { border: 1px solid var(--pd-line); background: #eef7ee; padding: 14px 18px; margin: 0 0 24px; }
#system-message-container .alert-danger, #system-message-container .alert-error { background: #fdeceb; }
#system-message-container .alert-heading { font-size: 1rem; margin: 0 0 4px; }
altcha-widget, .altcha { max-width: 100%; }

/* Pagine per i clienti delle agenzie (component.php) */
body.podio-component { margin: 0; background: var(--pd-bg); color: var(--pd-text); font-family: var(--pd-font); min-height: 100vh; display: flex; flex-direction: column; }
.podio-comp-bar { background: #fff; border-bottom: 1px solid var(--pd-line); }
.podio-comp-bar .in { max-width: 1100px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.podio-comp-main { flex: 1 0 auto; width: 100%; box-sizing: border-box; padding: 20px; }
.podio-comp-foot { background: #fff; color: var(--pd-muted); font-size: .9rem; border-top: 1px solid var(--pd-line); }
.podio-comp-foot .in { max-width: 1100px; margin: 0 auto; padding: 18px 20px; display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; }
.podio-comp-foot a { color: var(--pd-ink); }
.podio-comp-foot img { height: 34px; width: auto; vertical-align: middle; }
body.podio-component .webgseo-client { border-radius: var(--pd-radius); border: 1px solid var(--pd-line); background: #fff; box-shadow: 0 10px 30px -18px rgba(20,33,61,.3); }
body.podio-component .webgseo-client h1 { color: var(--pd-ink); letter-spacing: -0.02em; font-size: 1.6rem; }
body.podio-component .webgseo-client button { background: var(--pd-brand) !important; border-radius: 8px !important; font-weight: 600; min-height: 48px; }
body.podio-component .webgseo-client button:hover { background: var(--pd-brand-dark) !important; }
body.podio-component .webgseo-client label { cursor: pointer; }

@media (max-width: 959px) {
  body { font-size: 1rem; }
  .podio-card { padding: 22px; }
  .uk-button-large { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print { .tm-header, .tm-header-mobile, .podio-footer, .podio-comp-bar, .podio-comp-foot { display: none !important; } }

.podio-form-page { max-width: 64rem; }
.podio-form-page .uk-heading-medium, .podio-form-page .uk-text-lead { max-width: 40rem; }
.podio-form-page .uk-heading-medium { margin: 0 0 12px; }
.podio-form-page .uk-text-lead { margin: 0 0 28px; }
.podio-form .control-group .control-label { margin-bottom: 0; }
.podio-form .controls { margin: 0; }
.podio-form joomla-field-fancy-select, .podio-form .choices { max-width: 100%; }
.tm-main > .uk-section, #tm-main { min-height: 40vh; }
.podio-form .form-select, .podio-form select.form-select { opacity: 1 !important; color: var(--pd-ink) !important; background-color: #fff !important; border: 1.5px solid #b9c4d6 !important; padding-right: 36px; }
.podio-form .form-check-input, .podio-form input[type=checkbox] { -webkit-appearance: checkbox; appearance: checkbox; opacity: 1; width: 20px; height: 20px; border: 0; background: none; accent-color: var(--pd-brand); flex: none; }
.podio-form .form-check { display: flex; gap: 10px; align-items: flex-start; }
.podio-form fieldset.checkboxes legend { display: none; }
.podio-form .form-control::placeholder, .podio-form textarea::placeholder { color: #7b8699; opacity: 1; }

.podio-form .btn, .podio-form button[type=submit] { text-transform: none; letter-spacing: 0; }

/* Menu del telefono */
.uk-offcanvas-bar { background: #fff !important; color: var(--pd-ink); width: min(320px, 86vw); }
.uk-offcanvas-bar .uk-nav > li > a, .uk-offcanvas-bar .uk-nav-default > li > a { color: var(--pd-ink); font-size: 1.15rem; padding: 12px 0; }
.uk-offcanvas-bar .uk-nav > li > a:hover { color: var(--pd-brand); }
.uk-offcanvas-bar .uk-close { color: var(--pd-ink); }
.uk-offcanvas-bar .uk-nav > li > a.podio-cta { color: #fff; font-size: 1.05rem; padding: 12px 22px; background: var(--pd-brand); border-radius: 8px; margin-top: 14px; }
.tm-header-mobile .uk-navbar-container { min-height: 64px; }
.tm-header-mobile .uk-navbar-toggle { color: var(--pd-ink); }
.tm-header-mobile .podio-logo { margin-left: 16px; }
.podio-form-page .podio-card { height: auto; position: sticky; top: 96px; }
.podio-form input[type=checkbox]:checked { opacity: 1; }
.podio-form .form-check-input:disabled, .podio-form input[type=checkbox]:disabled { opacity: 1; }
