/*
Theme Name: Calogero Modern
Theme URI: https://calogeroscarna.it/
Author: Calogero Scarnà
Description: Tema WordPress/Gutenberg per calogeroscarna.it con blocchi visuali, layout modificabili e supporto BastionGuard.
Version: 6.7.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: calogero-modern
*/
:root{--cg-navy:#071b32;--cg-navy-2:#0b2948;--cg-navy-3:#061422;--cg-blue:#18aef0;--cg-cyan:#38d7eb;--cg-text:#0c1830;--cg-muted:#65768e;--cg-line:#dce7f2;--cg-bg:#f3f8fc;--cg-white:#fff;--cg-radius:18px;--cg-shadow:0 16px 40px rgba(7,27,50,.08);--cg-max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--cg-text);font-family:Cantarell,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;left:-9999px}.cg-honeypot{position:absolute!important;left:-9999px!important}.cg-container{width:min(var(--cg-max),calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(7,27,50,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.admin-bar .site-header{top:32px}.site-header__inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-branding{display:flex;align-items:center;gap:12px;color:#fff;min-width:max-content}.site-branding__mark{font-weight:900;font-size:28px;color:var(--cg-blue)}.site-branding__logo{display:flex;align-items:center}.site-branding__logo img{max-height:46px;width:auto;display:block}.site-branding__name{font-size:18px;font-weight:850;line-height:1.1}.site-branding__tag{display:block;font-size:10px;color:#a9bdd0;font-weight:500;margin-top:4px}.primary-nav ul{display:flex;list-style:none;padding:0;margin:0;gap:22px;align-items:center}.primary-nav a{color:#dce8f5;font-size:13px;font-weight:700;position:relative;padding:30px 0;white-space:nowrap}.primary-nav a:hover,.primary-nav .current-menu-item>a{color:#fff}.primary-nav .current-menu-item>a:after,.primary-nav a:hover:after{content:"";position:absolute;height:2px;background:var(--cg-blue);left:0;right:0;bottom:17px}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:10px;padding:7px 10px;font-size:21px}
.site-main{min-height:55vh;overflow:hidden}.entry-content{margin:0}.entry-content>.alignfull{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw;max-width:none}.entry-content>.alignwide{width:min(var(--cg-max),calc(100% - 40px));max-width:var(--cg-max);margin-inline:auto}.cg-index{padding:70px 0}.cg-post-card{padding:22px 0;border-bottom:1px solid var(--cg-line)}
.cg-section{padding:60px 0}.cg-section--soft{background:var(--cg-bg)}.cg-section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px}.cg-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#55c9ff;font-weight:850}.cg-section-title{font-size:30px;line-height:1.15;margin:0;color:var(--cg-text)}.cg-section-title:before{content:"";display:inline-block;width:28px;height:4px;border-radius:8px;background:var(--cg-blue);vertical-align:middle;margin-right:12px}.cg-section-subtitle{color:var(--cg-muted);font-size:14px;margin:0;max-width:620px}
.cg-hero{background:radial-gradient(circle at 72% 20%,rgba(31,182,255,.16),transparent 28%),linear-gradient(135deg,#06182c 0%,#0a2745 100%);color:#fff}.cg-hero__inner{width:min(var(--cg-max),calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:500px}.cg-hero--ratio-55-45 .cg-hero__inner{grid-template-columns:1.22fr 1fr}.cg-hero--ratio-45-55 .cg-hero__inner{grid-template-columns:1fr 1.22fr}.cg-hero--ratio-60-40 .cg-hero__inner{grid-template-columns:1.5fr 1fr}.cg-hero--ratio-40-60 .cg-hero__inner{grid-template-columns:1fr 1.5fr}.cg-hero--image-left .cg-hero__copy{order:2;padding-left:36px;padding-right:0}.cg-hero--image-left .cg-hero__visual{order:1}.cg-hero--image-left .cg-hero__visual:after{background:linear-gradient(270deg,#081d34 0%,transparent 22%)}.cg-hero__copy{padding:62px 14px 50px 0;display:flex;flex-direction:column;justify-content:center}.cg-hero h1{font-size:clamp(42px,5vw,66px);line-height:.98;letter-spacing:-.035em;margin:10px 0 14px}.cg-hero h1 .cg-hero__intro{display:block;color:#fff}.cg-hero h1 .cg-hero__name{display:block;color:var(--cg-blue)}.cg-hero h2{font-size:clamp(21px,2.5vw,30px);margin:0 0 14px;color:#e7f2ff}.cg-hero p{font-size:15px;color:#c7d6e5;max-width:650px;margin:0}.cg-hero__actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.cg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 23px;border-radius:999px;font-weight:800;font-size:14px;transition:.2s;border:0}.cg-btn--primary{background:linear-gradient(90deg,var(--cg-footer-accent,var(--cg-cyan)),var(--cg-blue));color:#041526}.cg-btn--ghost{border:1px solid #2ebdff;color:#fff;background:transparent}.cg-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.cg-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;max-width:620px}.cg-stat{padding-right:18px}.cg-stat+.cg-stat{border-left:1px solid rgba(255,255,255,.14);padding-left:18px}.cg-stat strong{display:block;font-size:13px}.cg-stat small{display:block;color:#90a8c0;font-size:11px}.cg-hero__visual{position:relative;min-height:500px}.cg-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.cg-hero__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081d34 0%,transparent 22%);pointer-events:none}
.cg-grid-3,.cg-donation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cg-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cg-grid-cols-1{grid-template-columns:minmax(0,1fr)!important}.cg-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cg-card{background:#fff;border:1px solid var(--cg-line);border-radius:16px;padding:24px;box-shadow:0 8px 26px rgba(20,61,94,.05);transition:.2s}.cg-card:hover{transform:translateY(-2px);box-shadow:var(--cg-shadow)}.cg-card__icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#e9f7ff;color:#0ca9ef;margin-bottom:12px}.cg-card__icon--large{width:64px;height:64px}.cg-card--bastion .cg-card__icon{background:#edf2ff;color:#4569d4}.cg-card h3{margin:0 0 8px;font-size:19px}.cg-card p{margin:0;color:var(--cg-muted);font-size:14px}.cg-card a,.cg-editor-link{display:inline-block;color:#039ce6;font-weight:800;font-size:13px;margin-top:14px}.cg-skills{display:flex;gap:11px;flex-wrap:wrap}.cg-skill{background:#fff;border:1px solid var(--cg-line);box-shadow:0 4px 16px rgba(15,54,84,.04);padding:9px 14px;border-radius:10px;font-size:13px;font-weight:700}
.cg-newsletter{background:#fff;border:1px solid var(--cg-line);border-radius:16px;padding:26px;box-shadow:var(--cg-shadow)}.cg-newsletter h3{margin:0 0 6px}.cg-newsletter p{color:var(--cg-muted);font-size:14px;margin:0 0 14px}.cg-newsletter__form{display:flex;gap:9px}.cg-newsletter input[type=email]{width:100%;min-width:0;border:1px solid #ccd9e7;border-radius:9px;padding:11px 13px;font:inherit}.cg-newsletter button{border:0;background:var(--cg-blue);color:#fff;border-radius:9px;padding:0 20px;font-weight:800;cursor:pointer}.cg-notice{padding:11px 14px;border-radius:10px;margin:0 0 15px;background:#e9f8ef;color:#0d6b36;font-weight:700;font-size:13px}.cg-notice--error{background:#fff0f0;color:#9c2323}
.cg-page-hero{background:linear-gradient(135deg,#06182c,#0b2a49);color:#fff;padding:78px 0}.cg-page-hero__grid{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:center}.cg-page-hero--media-left .cg-page-hero__grid>div:first-child{order:2}.cg-page-hero--media-left .cg-profile-card{order:1}.cg-page-hero h1,.cg-donations h1,.cg-bastion h1{font-size:clamp(42px,5vw,64px);line-height:1;margin:10px 0 18px;letter-spacing:-.03em}.cg-page-hero p{color:#c7d6e5}.cg-page-lead{font-size:21px!important;color:#fff!important;max-width:760px}.cg-profile-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:8px}.cg-profile-card__image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;margin-bottom:10px}.cg-profile-card__icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(24,174,240,.16);color:#4ac8ff;margin-bottom:8px}.cg-profile-card strong{font-size:20px}.cg-profile-card span{font-size:13px;color:#aec2d5}.cg-profile-card a{color:#5ad3ff;font-weight:700;font-size:13px}
.cg-donations{padding:78px 0;background:linear-gradient(180deg,#f7fbfe,#fff)}.cg-donations__head{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;max-width:920px;margin-bottom:34px}.cg-donations h1{color:var(--cg-text);margin-bottom:14px}.cg-donations__head p{color:var(--cg-muted);font-size:17px}.cg-donation-card{background:#fff;border:1px solid var(--cg-line);border-radius:18px;padding:25px;box-shadow:var(--cg-shadow)}.cg-donation-card h3{margin-top:0}.cg-donation-card p{color:var(--cg-muted)}.cg-iban span{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.12em}.cg-iban code{display:block;margin-top:8px;padding:10px;border-radius:8px;background:#f2f6fa;overflow-wrap:anywhere}.cg-donation-note{font-size:12px;color:#7b8898;margin-top:20px}
.cg-bastion{padding:78px 0;background:radial-gradient(circle at 80% 20%,rgba(50,112,255,.2),transparent 30%),linear-gradient(135deg,#061321,#0b2141);color:#fff}.cg-bastion__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}.cg-bastion--facts-left .cg-bastion__copy{order:2}.cg-bastion--facts-left .cg-bastion__facts{order:1}.cg-bastion__brand{display:flex;gap:18px;align-items:center;margin-top:10px}.cg-bastion__brand h1{margin:0 0 7px}.cg-bastion__subtitle{margin:0!important;color:#8edbff!important;font-size:18px!important}.cg-bastion__copy>p{color:#c4d5e5;max-width:760px}.cg-bastion__shield{width:74px;height:74px;border-radius:18px;display:grid;place-items:center;background:rgba(46,189,255,.12);color:#52cfff;border:1px solid rgba(82,207,255,.24)}.cg-bastion__facts{display:grid;gap:12px}.cg-bastion__facts div{padding:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:14px}.cg-bastion__facts strong{display:block}.cg-bastion__facts span{display:block;color:#9fb4c8;font-size:13px;margin-top:3px}.cg-bastion__integration{margin-top:40px;padding-top:34px;border-top:1px solid rgba(255,255,255,.13)}
/* Footer: stessa palette navy/ciano del tema, niente blocco nero separato. */
.site-footer{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--cg-footer-start,#061422) 0%,var(--cg-footer-start,#061422) 42%,var(--cg-footer-end,#0b2948) 100%);color:var(--cg-footer-text,#a9bdd0);border-top:1px solid rgba(56,215,235,.14)}.site-footer:before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(24,174,240,.12) 0%,rgba(24,174,240,0) 68%);pointer-events:none}.site-footer__top{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,1.5fr) .75fr .75fr .9fr;gap:52px;padding:42px 0 26px}.site-footer h3{color:var(--cg-footer-heading,#fff);font-size:14px;letter-spacing:.01em;margin:0 0 14px;font-weight:800}.site-footer p{color:var(--cg-footer-text,#9fb4c8);font-size:13px;line-height:1.65;margin:0 0 7px}.site-footer__about p{max-width:470px;color:var(--cg-footer-text,#a9bdd0)}.site-footer__logo{min-height:58px;display:flex;align-items:center;margin-bottom:12px}.site-footer__logo img{max-height:58px;max-width:138px;width:auto;display:block}.site-footer__fallback-logo{width:58px;height:58px;border-radius:15px;background:linear-gradient(135deg,var(--cg-cyan),var(--cg-blue));color:var(--cg-navy-3);display:grid;place-items:center;font-size:22px;font-weight:900;margin-bottom:14px;box-shadow:0 12px 30px rgba(24,174,240,.18)}.site-footer__menu{list-style:none;margin:0;padding:0}.site-footer__menu li{margin:6px 0}.site-footer__menu a,.site-footer__contacts a{color:var(--cg-footer-text,#a9bdd0)}.site-footer__menu a:hover,.site-footer__contacts a:hover{color:var(--cg-footer-accent,#54d7ff)}.site-footer__newsletter-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(440px,640px) 1fr;gap:52px;padding:0 0 30px}.site-footer__newsletter{grid-column:1/2;max-width:640px}.site-footer .cg-newsletter--compact{background:transparent;border:0;box-shadow:none;padding:0}.site-footer .cg-newsletter--compact h3{font-size:14px;color:#fff;margin:0 0 12px}.site-footer .cg-newsletter--compact p{display:none}.site-footer .cg-newsletter__form{display:grid;grid-template-columns:minmax(260px,1fr) 132px;gap:10px}.site-footer .cg-newsletter--compact input[type=email]{min-height:44px;background:rgba(255,255,255,.055);border:1px solid rgba(139,203,239,.25);color:#fff;border-radius:10px;padding:0 14px;outline:none}.site-footer .cg-newsletter--compact input[type=email]:focus{border-color:var(--cg-blue);box-shadow:0 0 0 3px rgba(24,174,240,.12)}.site-footer .cg-newsletter--compact input[type=email]::placeholder{color:#7890a8}.site-footer .cg-newsletter--compact button{min-width:132px;min-height:44px;background:linear-gradient(90deg,var(--cg-footer-accent,var(--cg-cyan)),var(--cg-blue));color:#041526;border-radius:10px;font-weight:850}.site-footer__legal{position:relative;overflow:hidden;background:rgba(3,17,31,.38);border-top:1px solid rgba(255,255,255,.075)}.site-footer__legal:before{content:"";position:absolute;left:0;right:0;bottom:-70px;height:180px;opacity:.5;background:repeating-radial-gradient(ellipse at 35% 110%,transparent 0 17px,rgba(56,215,235,.035) 18px 19px,transparent 20px 34px);pointer-events:none}.site-footer__legal-inner{display:flex;justify-content:space-between;gap:48px;padding:20px 0 24px;position:relative;z-index:1}.site-footer__legal-copy{max-width:900px}.site-footer__legal-copy p{font-size:10.5px;line-height:1.5;color:#728aa1;margin:1px 0}.site-footer__social{display:flex;gap:9px;align-items:flex-start;padding-top:4px;min-width:112px}.site-footer__social a,.site-footer__social span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:rgba(24,174,240,.12);border:1px solid color-mix(in srgb,var(--cg-footer-accent,#38d7eb) 35%,transparent);color:var(--cg-footer-accent,#aeeaff);font-size:9px;font-weight:900}.site-footer__social a:hover{background:var(--cg-blue);border-color:var(--cg-blue);color:#041526}
@media(max-width:1100px){.primary-nav ul{gap:14px}.primary-nav a{font-size:12px}.site-footer__top{grid-template-columns:1.3fr .7fr .7fr;gap:36px}.site-footer__top>div:last-child{grid-column:2/4}.site-footer__newsletter-row{grid-template-columns:1fr;gap:36px}.site-footer__newsletter{grid-column:1}.cg-bastion__grid{gap:34px}}
@media(max-width:980px){.admin-bar .site-header{top:46px}.primary-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#071b32;padding:10px 20px 22px}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav a{display:block;padding:12px}.primary-nav .current-menu-item>a:after,.primary-nav a:hover:after{bottom:4px}.menu-toggle{display:block}.cg-hero__inner{grid-template-columns:1fr!important}.cg-hero--image-left .cg-hero__copy{order:1;padding-left:0}.cg-hero--image-left .cg-hero__visual{order:2}.cg-hero__visual{min-height:380px}.cg-hero__visual:after,.cg-hero--image-left .cg-hero__visual:after{background:linear-gradient(180deg,#081d34 0%,transparent 20%)}.cg-grid-3,.cg-donation-grid,.cg-grid-cols-3{grid-template-columns:1fr 1fr!important}.cg-page-hero__grid,.cg-bastion__grid{grid-template-columns:1fr}.cg-page-hero--media-left .cg-page-hero__grid>div:first-child,.cg-page-hero--media-left .cg-profile-card,.cg-bastion--facts-left .cg-bastion__copy,.cg-bastion--facts-left .cg-bastion__facts{order:initial}.site-footer__top{grid-template-columns:1fr 1fr}.site-footer__top>div:last-child{grid-column:auto}.site-footer__legal-inner{display:block}.site-footer__social{margin-top:18px}}
@media(max-width:680px){.cg-container,.cg-hero__inner,.entry-content>.alignwide{width:min(100% - 28px,var(--cg-max))}.site-branding__tag{display:none}.site-header__inner{min-height:66px}.primary-nav{top:66px}.cg-hero__copy{padding:46px 0 34px}.cg-hero h1{font-size:44px}.cg-hero__stats{grid-template-columns:1fr;gap:13px;margin-top:30px}.cg-stat+.cg-stat{border-left:0;padding-left:0}.cg-grid-3,.cg-donation-grid,.cg-grid-cols-2,.cg-grid-cols-3{grid-template-columns:1fr!important}.cg-section{padding:44px 0}.cg-section-head{display:block}.cg-section-subtitle{margin-top:10px}.cg-newsletter__form{display:block}.cg-newsletter button{width:100%;min-height:44px;margin-top:8px}.cg-page-hero,.cg-donations,.cg-bastion{padding:58px 0}.cg-page-hero h1,.cg-donations h1,.cg-bastion h1{font-size:42px}.cg-donations__head{grid-template-columns:1fr}.site-footer__top{grid-template-columns:1fr;gap:26px;padding:34px 0 22px}.site-footer__newsletter-row{padding-bottom:26px}.site-footer .cg-newsletter__form{grid-template-columns:1fr;gap:8px}.site-footer .cg-newsletter--compact button{width:100%}.site-footer__legal-inner{padding:18px 0 22px}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* v6 · footer configurabile dal Customizer */
.site-footer__meta-label{display:inline-block;color:var(--cg-footer-heading,#fff);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.site-footer__social--top{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.site-footer__social--top a{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;color:var(--cg-footer-accent,#38d7eb);font-size:10px;font-weight:800;transition:.2s}
.site-footer__social--top a:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--cg-footer-accent,#38d7eb) 18%,transparent);border-color:var(--cg-footer-accent,#38d7eb)}
.site-footer--cols-3 .site-footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer--cols-3 .site-footer__about{grid-column:1/-1}.site-footer--cols-3 .site-footer__contacts{grid-column:auto}
@media(max-width:980px){.site-footer--cols-3 .site-footer__top{grid-template-columns:1fr 1fr}.site-footer--cols-3 .site-footer__contacts{grid-column:auto}}
@media(max-width:680px){.site-footer--cols-3 .site-footer__top{grid-template-columns:1fr}}


/* v6.2 · login template personalizzato */
.login{background:var(--cg-bg)!important;color:var(--cg-text);font-family:Cantarell,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.login #backtoblog,.login #nav{display:none}.login .site-header{position:relative;top:0}.login .site-header__inner{min-height:78px}.cg-login-main{position:relative;padding:54px 0 64px;background:radial-gradient(circle at 18% 18%,rgba(56,215,235,.12),transparent 26%),radial-gradient(circle at 84% 10%,rgba(24,174,240,.12),transparent 22%),linear-gradient(180deg,#f5fbff 0%,#eff6fb 100%)}.cg-login-main:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(7,27,50,.03),transparent 32%)}.cg-login-intro{width:min(100%,820px);margin:0 auto 28px;padding:0 20px;text-align:center}.cg-login-intro .cg-kicker{justify-content:center}.cg-login-intro h1{font-size:clamp(34px,5vw,54px);line-height:1;margin:10px 0 12px;color:var(--cg-text)}.cg-login-intro p{max-width:760px;margin:0 auto;color:var(--cg-muted);font-size:15px}.login #login{width:min(100%,430px)!important;padding:0 20px 28px!important;margin:0 auto!important}.login h1.admin-email__heading,.login h1.admin-email__heading + p{display:none}.login h1 a{display:none!important}.login form{margin-top:0!important;background:#fff!important;border:1px solid var(--cg-line)!important;border-radius:22px!important;box-shadow:0 18px 44px rgba(7,27,50,.08)!important;padding:28px!important}.login .message,.login #login_error,.login .success{border-left:4px solid var(--cg-blue)!important;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(7,27,50,.05);margin:0 0 18px;padding:14px 16px}.login label{color:var(--cg-text)!important;font-size:13px;font-weight:700}.login input[type=text],.login input[type=password],.login input[type=email]{border:1px solid #ccd9e7!important;border-radius:12px!important;min-height:46px!important;padding:0 14px!important;box-shadow:none!important}.login input[type=text]:focus,.login input[type=password]:focus,.login input[type=email]:focus{border-color:var(--cg-blue)!important;box-shadow:0 0 0 3px rgba(24,174,240,.12)!important}.login .button.wp-hide-pw{border-color:#ccd9e7!important;border-radius:12px!important}.login .button.button-primary{float:none!important;width:100%;min-height:46px;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,var(--cg-footer-accent,var(--cg-cyan)),var(--cg-blue))!important;color:#041526!important;font-weight:900;box-shadow:none!important}.login .forgetmenot{float:none!important;margin-bottom:14px}.login .language-switcher{margin:0 auto 20px;padding:0 20px;max-width:430px}.cg-login-links{width:min(100%,430px);margin:16px auto 0;padding:0 20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.cg-login-links a{color:var(--cg-blue);font-weight:700;font-size:13px}.cg-login-footer .site-footer__top{padding-top:34px}.cg-login-footer .site-footer__legal-copy{max-width:none}.cg-login-footer .site-footer__legal-inner{align-items:flex-start}.cg-login-footer .site-footer__social{margin-left:auto}@media(max-width:680px){.cg-login-main{padding:40px 0 44px}.cg-login-intro{margin-bottom:18px}.cg-login-intro h1{font-size:38px}.cg-login-links{display:block}.cg-login-links a{display:block;margin:8px 0}.cg-login-footer .site-footer__top{padding-top:30px}}


/* v6.5 · login pulito e coerente con il sito */
.cg-login-intro{display:none!important}.cg-login-main{padding:42px 0 54px}.login .privacy-policy-page-link,.login .language-switcher{display:none!important}.login #login{padding-top:0!important}.login .message,.login #login_error,.login .success{margin-top:0}.cg-login-header .site-branding__tag{display:block}.cg-login-header .primary-nav ul{margin:0}.cg-login-footer{margin-top:0}.cg-login-footer .site-footer__top{padding-top:42px}.cg-login-footer .site-footer__newsletter-row{padding-bottom:30px}.cg-login-footer .site-footer__legal-inner{padding-top:20px}.login .menu-toggle{cursor:pointer}@media(max-width:980px){.cg-login-header .primary-nav{top:78px;z-index:150;box-shadow:0 18px 34px rgba(0,0,0,.18)}.cg-login-header .primary-nav.is-open{display:block}.cg-login-header .primary-nav ul{display:block}.cg-login-header .menu-toggle{display:block}}@media(max-width:680px){.cg-login-main{padding:30px 0 38px}.cg-login-header .site-branding__tag{display:none}.cg-login-header .primary-nav{top:66px}}


/* v6.5 · pulsante account/login nel menu */
.primary-nav .cg-menu-login>a,.primary-nav .cg-menu-account>a,.primary-nav a.cg-account-button{padding:10px 18px!important;border-radius:999px;background:linear-gradient(90deg,var(--cg-footer-accent,var(--cg-cyan)),var(--cg-blue));color:#041526!important;font-weight:900;box-shadow:0 8px 20px rgba(24,174,240,.16)}
.primary-nav .cg-menu-login>a:after,.primary-nav .cg-menu-account>a:after,.primary-nav a.cg-account-button:after{display:none!important}.primary-nav .cg-menu-login>a:hover,.primary-nav .cg-menu-account>a:hover,.primary-nav a.cg-account-button:hover{filter:brightness(1.05);transform:translateY(-1px)}
@media(max-width:980px){.primary-nav .cg-menu-login,.primary-nav .cg-menu-account{width:100%}.primary-nav .cg-menu-login>a,.primary-nav .cg-menu-account>a,.primary-nav a.cg-account-button{display:flex!important;width:100%!important;justify-content:center!important;margin:10px 0 0!important;padding:12px 18px!important}}

/* v6.5 · cookie consent */
.cg-cookie-consent[hidden],.cg-cookie-modal[hidden]{display:none!important}.cg-cookie-consent{position:fixed;z-index:999999;left:18px;right:18px;bottom:18px;font-family:Cantarell,ui-sans-serif,system-ui,sans-serif;color:#dfeaf5}.cg-cookie-consent__banner{width:min(1180px,100%);margin:0 auto;background:rgba(6,20,34,.98);border:1px solid rgba(56,215,235,.25);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.28);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;backdrop-filter:blur(16px)}.cg-cookie-consent__copy{max-width:720px}.cg-cookie-consent__copy strong{display:block;color:#fff;font-size:15px;margin-bottom:4px}.cg-cookie-consent__copy p{margin:0;color:#9fb4c8;font-size:13px;line-height:1.55}.cg-cookie-consent__copy a{color:#54d7ff;text-decoration:underline}.cg-cookie-consent__actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.cg-cookie-btn{appearance:none;border:1px solid rgba(84,215,255,.35);border-radius:999px;min-height:40px;padding:0 16px;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.cg-cookie-btn--ghost{background:rgba(255,255,255,.04);color:#dce8f5}.cg-cookie-btn--primary{background:linear-gradient(90deg,var(--cg-cyan),var(--cg-blue));border-color:transparent;color:#041526}.cg-cookie-modal{position:fixed;z-index:1000000;inset:0;background:rgba(2,11,21,.72);display:grid;place-items:center;padding:20px}.cg-cookie-modal__panel{position:relative;width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;background:#fff;color:var(--cg-text);border-radius:22px;padding:28px;box-shadow:0 28px 90px rgba(0,0,0,.34)}.cg-cookie-modal__panel h2{margin:0 38px 6px 0}.cg-cookie-modal__panel>p{color:var(--cg-muted);margin:0 0 20px}.cg-cookie-modal__close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:1px solid var(--cg-line);border-radius:50%;background:#fff;font-size:24px;line-height:1;cursor:pointer}.cg-cookie-option{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--cg-line);padding:16px 0}.cg-cookie-option span{display:block}.cg-cookie-option strong{display:block}.cg-cookie-option small{display:block;color:var(--cg-muted);margin-top:3px}.cg-cookie-option input{width:22px;height:22px}.cg-cookie-save{width:100%;margin-top:8px}.cg-cookie-modal-open{overflow:hidden}
@media(max-width:760px){.cg-cookie-consent{left:10px;right:10px;bottom:10px}.cg-cookie-consent__banner{display:block;padding:16px}.cg-cookie-consent__actions{justify-content:flex-start;margin-top:14px}.cg-cookie-btn{flex:1 1 auto}.cg-cookie-modal__panel{padding:24px 20px}}

/* v6.5 · pagina manutenzione */
.cg-maintenance{background:radial-gradient(circle at 82% 18%,rgba(24,174,240,.2),transparent 30%),linear-gradient(135deg,#061422,#0b2948);color:#fff;min-height:540px;display:flex;align-items:center}.cg-maintenance__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding-top:86px;padding-bottom:86px}.cg-maintenance__copy h1{font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.04em;margin:12px 0 20px;color:#fff}.cg-maintenance__copy>p{font-size:18px;line-height:1.65;color:#b8cbe0;max-width:720px}.cg-maintenance__status{display:inline-flex;align-items:center;gap:10px;margin-top:18px;border:1px solid rgba(84,215,255,.24);background:rgba(255,255,255,.055);border-radius:999px;padding:9px 14px;color:#dff7ff;font-size:13px;font-weight:800}.cg-maintenance__pulse{width:9px;height:9px;border-radius:50%;background:var(--cg-cyan);box-shadow:0 0 0 0 rgba(56,215,235,.6);animation:cg-maint-pulse 1.8s infinite}.cg-maintenance__actions{margin-top:24px}.cg-maintenance__visual{display:flex;justify-content:center}.cg-maintenance__shield{width:min(360px,90vw);aspect-ratio:1/1;border:1px solid rgba(84,215,255,.24);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(24,174,240,.08));box-shadow:inset 0 1px rgba(255,255,255,.08),0 28px 70px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;justify-content:center}.cg-maintenance__shield span{font-size:88px;font-weight:900;color:#55d6ff;letter-spacing:-.08em}.cg-maintenance__shield small{margin-top:16px;text-transform:uppercase;letter-spacing:.18em;color:#91abc4;font-weight:800}@keyframes cg-maint-pulse{0%{box-shadow:0 0 0 0 rgba(56,215,235,.6)}70%{box-shadow:0 0 0 12px rgba(56,215,235,0)}100%{box-shadow:0 0 0 0 rgba(56,215,235,0)}}
@media(max-width:900px){.cg-maintenance__grid{grid-template-columns:1fr;gap:40px;padding-top:60px;padding-bottom:60px}.cg-maintenance__visual{justify-content:flex-start}.cg-maintenance__shield{width:240px}.cg-maintenance__shield span{font-size:58px}}@media(max-width:680px){.cg-maintenance__grid{padding-top:48px;padding-bottom:48px}.cg-maintenance__copy h1{font-size:48px}.cg-maintenance__copy>p{font-size:16px}.cg-maintenance__visual{display:none}}


/* v6.5 · server report, progetti e back to top */
.cg-server-hero{padding:76px 0;background:radial-gradient(circle at 82% 18%,rgba(56,215,235,.18),transparent 28%),linear-gradient(135deg,#061422,#0b2948);color:#fff}.cg-server-hero__grid{gap:48px;align-items:center}.cg-server-hero h1{font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.035em;margin:10px 0 18px}.cg-server-hero p{color:#bed0e1}.cg-server-lead{font-size:20px!important;color:#fff!important;max-width:760px}.cg-server-hero .wp-block-button__link{border-radius:999px;background:linear-gradient(90deg,var(--cg-cyan),var(--cg-blue));color:#041526;font-weight:900}.cg-server-hero .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border:1px solid #38d7eb}.cg-server-facts{padding:28px;border:1px solid rgba(98,194,244,.26);border-radius:20px;background:rgba(255,255,255,.06);box-shadow:0 18px 50px rgba(0,0,0,.12)}.cg-server-facts h3{margin-top:0;color:#fff}.cg-server-facts p{padding:10px 0;margin:0;border-bottom:1px solid rgba(255,255,255,.08)}.cg-server-facts p:last-child{border-bottom:0}.cg-server-section{padding:66px 0}.cg-server-section--soft{background:#f2f7fc}.cg-server-section--dark,.cg-server-section--logs{background:linear-gradient(135deg,#061422,#0a2440);color:#fff}.cg-server-section--dark h2,.cg-server-section--dark h3,.cg-server-section--logs h2,.cg-server-section--logs h3{color:#fff}.cg-server-section--dark>div>p,.cg-server-section--logs>div>p{color:#a9bdd0}.cg-server-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cg-server-grid--architecture{grid-template-columns:repeat(4,minmax(0,1fr))}.cg-server-card{padding:24px;border-radius:18px;background:#fff;border:1px solid #dce7f2;box-shadow:0 10px 28px rgba(7,27,50,.06)}.cg-server-card h3{margin:0 0 10px;font-size:20px}.cg-server-card p,.cg-server-card li{font-size:14px;color:#65768e}.cg-server-card .wp-block-list{padding-left:20px;margin-bottom:0}.cg-server-card--security{border-top:3px solid var(--cg-blue)}.cg-server-card .wp-block-code,.cg-server-section--logs .wp-block-code{margin-top:18px;padding:16px;border:1px solid rgba(56,215,235,.2);border-radius:12px;background:#061422;color:#d8efff;overflow:auto;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cg-server-section--dark .cg-server-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none}.cg-server-section--dark .cg-server-card p{color:#b9ccdd}.cg-server-note{margin-top:22px;padding:15px 18px;border-left:4px solid var(--cg-cyan);background:rgba(56,215,235,.08);color:#c9dbea!important;border-radius:10px}.cg-projects-hero{padding:76px 0;background:radial-gradient(circle at 76% 20%,rgba(24,174,240,.18),transparent 30%),linear-gradient(135deg,#06182c,#0b2948);color:#fff}.cg-projects-hero h1{font-size:clamp(42px,5vw,64px);line-height:1.04;letter-spacing:-.035em;max-width:880px;margin:10px 0 16px}.cg-projects-lead{font-size:19px;color:#c8d9e8;max-width:820px}.cg-projects-hero .wp-block-button__link{border-radius:999px;background:linear-gradient(90deg,var(--cg-cyan),var(--cg-blue));color:#041526;font-weight:900}.cg-projects-hero .is-style-outline .wp-block-button__link{background:transparent;color:#fff;border:1px solid #38d7eb}.cg-projects-section{padding:66px 0}.cg-projects-section--soft{background:#f2f7fc}.cg-projects-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.cg-project-card{padding:25px;border:1px solid #dce7f2;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(7,27,50,.06)}.cg-project-card h3{margin:7px 0 8px;font-size:21px}.cg-project-card p{color:#65768e}.cg-project-card a{color:#049fe8;font-weight:800}.cg-project-card--dark{background:#061b31;border-color:#164a6e}.cg-project-card--dark h3{color:#fff}.cg-project-card--dark p{color:#a9bdd0}.cg-project-card--history{background:#f8fbfe}.cg-back-to-top{position:fixed;right:20px;bottom:20px;z-index:160;width:46px;height:46px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:linear-gradient(135deg,var(--cg-cyan),var(--cg-blue));color:#041526;display:grid;place-items:center;font-size:24px;font-weight:900;box-shadow:0 12px 30px rgba(7,27,50,.22);opacity:0;visibility:hidden;transform:translateY(14px);transition:.2s;cursor:pointer}.cg-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.cg-back-to-top:hover{filter:brightness(1.05);transform:translateY(-2px)}.cg-cookie-consent:not([hidden])~.cg-back-to-top{bottom:110px}@media(max-width:980px){.cg-server-grid--architecture{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.cg-server-hero,.cg-projects-hero{padding:52px 0}.cg-server-hero__grid{gap:24px}.cg-server-grid,.cg-server-grid--architecture,.cg-projects-grid{grid-template-columns:1fr}.cg-server-section,.cg-projects-section{padding:46px 0}.cg-back-to-top{right:14px;bottom:14px;width:44px;height:44px}}

/* ==========================================================
   v6.7 · HEADER CAPSULE + DISPLAY PAGE
   ========================================================== */
:root{
  --cg-header-max:1230px;
  --cg-header-white:rgba(255,255,255,.975);
  --cg-header-text:#111827;
  --cg-header-blue:#18aef0;
  --cg-header-hover:rgba(15,23,42,.04);
  --cg-display-start:#071b32;
  --cg-display-end:#12223f;
  --cg-display-accent:#38d7eb;
  --cg-display-title:#fff;
  --cg-display-text:#b9c9d9;
}

/* Header flottante: sticky, ma senza creare una fascia sopra la pagina. */
.site-header,.cg-login-header,.login .site-header{
  position:sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:99999!important;
  width:100%!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
body.admin-bar .site-header{top:32px!important}

.site-header .site-header__inner,.cg-login-header .site-header__inner,.login .site-header .site-header__inner{
  position:relative!important;
  width:min(var(--cg-header-max),calc(100% - 40px))!important;
  height:64px!important;
  min-height:64px!important;
  margin:0 auto!important;
  transform:translateY(15px)!important;
  padding:7px 14px 7px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:20px!important;
  background:var(--cg-header-white)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:30px!important;
  box-shadow:0 9px 30px rgba(7,27,50,.11),0 1px 3px rgba(7,27,50,.04)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.site-header.is-scrolled .site-header__inner{
  background:rgba(255,255,255,.995)!important;
  border-color:rgba(15,23,42,.12)!important;
  box-shadow:0 14px 40px rgba(7,27,50,.17),0 2px 5px rgba(7,27,50,.05)!important;
}

/* Brand */
.site-branding,.login .site-branding,.cg-login-header .site-branding{
  display:flex!important;align-items:center!important;gap:11px!important;
  min-width:max-content!important;flex:0 0 auto!important;color:var(--cg-header-text)!important
}
.site-branding__logo{display:flex!important;align-items:center!important;justify-content:center!important}
.site-branding__logo img,.site-branding img.cg-logo-image{display:block!important;width:auto!important;height:auto!important;max-width:54px!important;max-height:46px!important;object-fit:contain!important}
.site-branding__name{display:block!important;color:#111827!important;font-size:17px!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.01em!important}
.site-branding__tag{display:block!important;margin-top:4px!important;color:#687386!important;font-size:9px!important;font-weight:500!important;line-height:1.2!important}

/* Menu desktop: nero/bold + pallino ciano su attivo e hover. */
.primary-nav,.cg-login-nav,.login .primary-nav{margin-left:auto!important}
.primary-nav ul,.cg-login-nav ul,.login .primary-nav ul{display:flex!important;align-items:center!important;gap:2px!important;margin:0!important;padding:0!important;list-style:none!important}
.primary-nav li,.cg-login-nav li{position:relative!important;margin:0!important;padding:0!important}
.primary-nav li>a,.cg-login-nav li>a,.login .primary-nav li>a{
  position:relative!important;display:flex!important;align-items:center!important;/*! justify-content:center!important; */
  height:44px!important;min-height:44px!important;padding:0 13px 5px!important;margin:0!important;
  color:#111827!important;background:transparent!important;background-image:none!important;border:0!important;border-radius:8px!important;
  box-shadow:none!important;font-size:13px!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;
  transition:color .16s ease,background-color .16s ease!important
}
.primary-nav li>a::after,.cg-login-nav li>a::after,.login .primary-nav li>a::after{
  content:""!important;position:absolute!important;left:50%!important;right:auto!important;bottom:3px!important;
  width:5px!important;height:5px!important;transform:translateX(-50%) scale(0)!important;background:var(--cg-header-blue)!important;
  border:0!important;border-radius:50%!important;opacity:0!important;transition:transform .16s ease,opacity .16s ease!important
}
.primary-nav li>a:hover,.cg-login-nav li>a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a,.primary-nav .current-menu-ancestor>a{
  color:#000!important;font-weight:800!important;background:var(--cg-header-hover)!important;transform:none!important;filter:none!important
}
.primary-nav li>a:hover::after,.cg-login-nav li>a:hover::after,.primary-nav .current-menu-item>a::after,.primary-nav .current_page_item>a::after,.primary-nav .current-menu-ancestor>a::after{
  opacity:1!important;transform:translateX(-50%) scale(1)!important
}

/* Area Accedi / Profilo colorata integrata nel bordo destro della capsula. */
.primary-nav .cg-menu-login,.primary-nav .cg-menu-account{
  display:flex!important;align-items:center!important;align-self:stretch!important;height:64px!important;
  margin:-7px -14px -7px 8px!important;padding:0 15px 0 13px!important;border-left:0!important;
  background:linear-gradient(135deg,#38d7eb 0%,#18aef0 100%)!important;border-radius:0 30px 30px 0!important;
  transition:background .18s ease,filter .18s ease!important
}
.primary-nav .cg-menu-login>a,.primary-nav .cg-menu-account>a,.primary-nav a.cg-account-button{
  display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;padding:0 15px!important;
  color:#061422!important;background:transparent!important;border:0!important;border-radius:0!important;font-weight:800!important;box-shadow:none!important
}
.primary-nav .cg-menu-login>a::after,.primary-nav .cg-menu-account>a::after,.primary-nav a.cg-account-button::after{display:none!important;content:none!important}
.primary-nav a.cg-account-button::before{
  content:""!important;display:inline-block!important;width:17px!important;height:17px!important;flex:0 0 17px!important;margin-right:8px!important;
  border:1.7px solid #061422!important;border-radius:50%!important;background:rgba(255,255,255,.2)!important
}
.primary-nav .cg-menu-login:hover,.primary-nav .cg-menu-account:hover{background:linear-gradient(135deg,#5de0ef 0%,#28bafa 100%)!important;filter:brightness(1.03)}
.primary-nav .cg-menu-login>a:hover,.primary-nav .cg-menu-account>a:hover,.primary-nav a.cg-account-button:hover{color:#000!important;background:transparent!important}

.menu-toggle,.cg-login-header .menu-toggle,.login .menu-toggle{display:none!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;background:#f3f5f7!important;color:#111827!important;border:1px solid #e5e7eb!important;border-radius:9px!important;box-shadow:none!important;font-size:21px!important;cursor:pointer!important}

/* Display Page: sotto la capsula, testo in colonna come le pagine interne BastionGuard. */
.cg-display-page{
  position:relative;
  width:100%;
  margin:0;
  padding:132px 0 72px;
  overflow:hidden;
  color:var(--cg-display-title);
  background:
    radial-gradient(circle at 10% 30%,color-mix(in srgb,var(--cg-display-accent) 12%,transparent),transparent 26%),
    linear-gradient(110deg,var(--cg-display-start) 0%,var(--cg-display-end) 72%,#10263a 100%);
  border-bottom:1px solid rgba(56,215,235,.35);
}
.cg-display-page::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--cg-display-accent),#18aef0 55%,transparent 100%);opacity:.8
}
.cg-display-page__inner{position:relative;z-index:1;display:block!important;text-align:left!important}
.cg-display-page__eyebrow{
  display:flex;align-items:center;gap:10px;margin:0 0 20px;color:var(--cg-display-accent);
  font-size:11px;font-weight:850;letter-spacing:.22em;text-transform:uppercase
}
.cg-display-page__eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--cg-display-accent);box-shadow:0 0 18px color-mix(in srgb,var(--cg-display-accent) 70%,transparent)}
.cg-display-page__title{max-width:980px;margin:0;color:var(--cg-display-title)!important;font-size:clamp(42px,5.3vw,68px);font-weight:800;letter-spacing:-.035em;line-height:1.02}
.cg-display-page__text{max-width:820px;margin-top:22px;color:var(--cg-display-text);font-size:17px;line-height:1.7;display:none;}
.cg-display-page__text p{margin:0;color:inherit}

/* La Home è l'unico punto in cui il Display Page non viene renderizzato. */
.site-main,.entry-content{margin-top:0!important;padding-top:0!important}

/* Login / reset password / registrazione. */
.login .cg-display-page{padding-top:132px;padding-bottom:58px}
.login .cg-display-page__title{font-size:clamp(42px,5.3vw,68px);}
.login .cg-display-page__text{max-width:720px}
.login .cg-login-main{padding:54px 0 64px!important;background:linear-gradient(180deg,#f5f9fc 0%,#eef5fa 100%)!important}
.login #login{margin:0 auto!important}
.login form{border-radius:14px!important}
.login .button.button-primary{border-radius:10px!important}
.login input[type=text],.login input[type=password],.login input[type=email],.login .button.wp-hide-pw{border-radius:9px!important}

@media(max-width:1120px){
  .site-header .site-header__inner,.cg-login-header .site-header__inner{width:calc(100% - 28px)!important;padding-left:15px!important;padding-right:10px!important;gap:12px!important}
  .primary-nav li>a{padding-left:9px!important;padding-right:9px!important;font-size:12px!important}
  .primary-nav .cg-menu-login,.primary-nav .cg-menu-account{margin-right:-10px!important}
}

@media(max-width:980px){
  .site-header .site-header__inner,.cg-login-header .site-header__inner,.login .site-header .site-header__inner{
    width:calc(100% - 20px)!important;height:58px!important;min-height:58px!important;margin:0 auto!important;transform:translateY(10px)!important;
    padding:6px 8px 6px 12px!important;border-radius:20px!important
  }
  .site-branding{min-width:0!important;flex:1 1 auto!important}
  .site-branding__logo img,.site-branding img.cg-logo-image{max-width:45px!important;max-height:40px!important}
  .site-branding__name{font-size:15px!important;white-space:nowrap!important}.site-branding__tag{display:none!important}
  .menu-toggle,.cg-login-header .menu-toggle,.login .menu-toggle{display:flex!important;flex:0 0 42px!important;margin-left:auto!important}
  .primary-nav,.cg-login-nav,.login .primary-nav{
    display:none!important;position:absolute!important;top:68px!important;left:0!important;right:0!important;width:100%!important;margin:0!important;padding:8px!important;
    background:#fff!important;border:1px solid #e5e7eb!important;border-radius:15px!important;box-shadow:0 18px 45px rgba(7,27,50,.16)!important;z-index:999999!important
  }
  .primary-nav.is-open,.cg-login-nav.is-open,.login .primary-nav.is-open{display:block!important}
  .primary-nav ul,.cg-login-nav ul{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;gap:1px!important}
  .primary-nav li{display:block!important;width:100%!important}
  .primary-nav li>a,.cg-login-nav li>a{width:100%!important;height:46px!important;justify-content:flex-start!important;padding:0 13px 5px!important;color:#111827!important;font-size:14px!important;font-weight:700!important;border-radius:8px!important}
  .primary-nav li>a::after,.cg-login-nav li>a::after{left:20px!important;bottom:3px!important;transform:scale(0)!important}
  .primary-nav li>a:hover::after,.primary-nav .current-menu-item>a::after,.primary-nav .current_page_item>a::after,.primary-nav .current-menu-ancestor>a::after{opacity:1!important;transform:scale(1)!important}
  .primary-nav .cg-menu-login,.primary-nav .cg-menu-account{
    width:100%!important;height:auto!important;margin:8px 0 0!important;padding:0!important;background:linear-gradient(135deg,#38d7eb,#18aef0)!important;
    border:0!important;border-radius:10px!important
  }
  .primary-nav .cg-menu-login>a,.primary-nav .cg-menu-account>a,.primary-nav a.cg-account-button{width:100%!important;min-height:50px!important;padding:0 16px!important;justify-content:flex-start!important;color:#061422!important;font-weight:800!important;border-radius:10px!important}
  .cg-display-page{padding:110px 0 56px}
  .cg-display-page__eyebrow{margin-bottom:16px}.cg-display-page__text{font-size:16px;margin-top:18px}
  .login .cg-display-page{padding-top:110px;padding-bottom:48px}
}

@media(max-width:782px){body.admin-bar .site-header{top:46px!important}}
@media(max-width:680px){
  .cg-display-page{padding:98px 0 46px}.cg-display-page__title{font-size:40px}.cg-display-page__text{font-size:15px;line-height:1.65}
  .login .cg-display-page{padding-top:98px;padding-bottom:42px}.login .cg-login-main{padding:38px 0 48px!important}
}
@media(max-width:520px){
  .site-header .site-header__inner,.cg-login-header .site-header__inner{width:calc(100% - 14px)!important}
  .site-branding__logo img,.site-branding img.cg-logo-image{max-width:41px!important;max-height:37px!important}.site-branding__name{font-size:14px!important}
}
/* ==========================================================
   FIX ALLINEAMENTO
   PROGETTI CODELINSOFT + CONFIGURAZIONE SERVER
   stesso asse dei blocchi Calogero / BastionGuard
   ========================================================== */

:root {
	--cg-content-max: 1180px;
	--cg-content-gutter: 40px;
}


/* ==========================================================
   CONTENITORE COMUNE
   ========================================================== */

/*
 * Gli alignwide qui sono ANNIDATI dentro alignfull,
 * quindi WordPress non applica il vecchio:
 *
 * .entry-content > .alignwide
 *
 * Li centriamo esplicitamente.
 */

.cg-projects-hero > .alignwide,
.cg-projects-section > .alignwide,

.cg-server-hero > .alignwide,
.cg-server-section > .alignwide,

.cg-nextcloud-hero > .alignwide {
	width: min(
		var(--cg-content-max),
		calc(100% - var(--cg-content-gutter))
	) !important;

	max-width: var(--cg-content-max) !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* ==========================================================
   HERO CODELINSOFT
   ========================================================== */

.cg-projects-hero {
	width: 100% !important;

	padding-left: 0 !important;
	padding-right: 0 !important;

	overflow: hidden !important;
}

.cg-projects-hero > .wp-block-group.alignwide {
	display: block !important;
}

/* Titolo e testo allineati allo stesso asse */
.cg-projects-hero .cg-kicker,
.cg-projects-hero h1,
.cg-projects-hero .cg-projects-lead,
.cg-projects-hero .wp-block-buttons {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.cg-projects-hero h1 {
	max-width: 860px !important;
}

.cg-projects-hero .cg-projects-lead {
	max-width: 760px !important;
}


/* ==========================================================
   SEZIONI CODELINSOFT
   ========================================================== */

.cg-projects-section {
	width: 100% !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cg-projects-section > .wp-block-group.alignwide {
	width: min(
		var(--cg-content-max),
		calc(100% - var(--cg-content-gutter))
	) !important;

	margin-inline: auto !important;
}


/* Griglia */
.cg-projects-grid {
	width: 100% !important;

	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* ==========================================================
   HERO CONFIGURAZIONE SERVER
   ========================================================== */

.cg-server-hero {
	width: 100% !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}


/*
 * Il server usa direttamente:
 *
 * .wp-block-columns.alignwide.cg-server-hero__grid
 */
.cg-server-hero > .cg-server-hero__grid {
	width: min(
		var(--cg-content-max),
		calc(100% - var(--cg-content-gutter))
	) !important;

	max-width: var(--cg-content-max) !important;

	margin-left: auto !important;
	margin-right: auto !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* Colonne */
.cg-server-hero__grid {
	display: grid !important;

	grid-template-columns:
		minmax(0, 1.08fr)
		minmax(0, .92fr) !important;

	gap: 48px !important;

	align-items: center !important;
}


/* ==========================================================
   CONTENUTO SERVER
   ========================================================== */

.cg-server-section {
	width: 100% !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cg-server-section > .wp-block-group.alignwide {
	width: min(
		var(--cg-content-max),
		calc(100% - var(--cg-content-gutter))
	) !important;

	max-width: var(--cg-content-max) !important;

	margin-left: auto !important;
	margin-right: auto !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* Le griglie non devono creare offset propri */
.cg-server-grid,
.cg-server-section .wp-block-columns {
	width: 100% !important;

	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* ==========================================================
   SPAZIATURE COERENTI CON BASTIONGUARD
   ========================================================== */

.cg-projects-hero,
.cg-server-hero {
	padding-top: 128px !important;
	padding-bottom: 76px !important;
}

.cg-projects-section,
.cg-server-section {
	padding-top: 64px !important;
	padding-bottom: 64px !important;
}


/* Eyebrow */
.cg-projects-hero .cg-kicker,
.cg-server-hero .cg-kicker,
.cg-projects-section .cg-kicker,
.cg-server-section .cg-kicker {
	margin-bottom: 14px !important;
}


/* Titoli sezioni */
.cg-projects-section h2,
.cg-server-section h2 {
	margin-top: 0 !important;
	margin-bottom: 16px !important;
}


/* Testo introduttivo */
.cg-projects-section > .alignwide > p,
.cg-server-section > .alignwide > p {
	max-width: 820px !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 980px) {

	:root {
		--cg-content-gutter: 30px;
	}

	.cg-server-hero__grid {
		grid-template-columns: 1fr !important;

		gap: 30px !important;
	}

	.cg-projects-hero,
	.cg-server-hero {
		padding-top: 112px !important;
		padding-bottom: 60px !important;
	}

	.cg-projects-section,
	.cg-server-section {
		padding-top: 54px !important;
		padding-bottom: 54px !important;
	}

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 680px) {

	:root {
		--cg-content-gutter: 28px;
	}

	.cg-projects-hero > .alignwide,
	.cg-projects-section > .alignwide,

	.cg-server-hero > .alignwide,
	.cg-server-section > .alignwide,

	.cg-server-hero > .cg-server-hero__grid {
		width: calc(100% - 28px) !important;
	}


	.cg-projects-hero,
	.cg-server-hero {
		padding-top: 98px !important;
		padding-bottom: 48px !important;
	}


	.cg-projects-section,
	.cg-server-section {
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}


	.cg-projects-hero h1,
	.cg-server-hero h1 {
		font-size: 42px !important;

		line-height: 1.04 !important;
	}


	.cg-projects-grid,
	.cg-server-grid,
	.cg-server-grid--architecture {
		grid-template-columns: 1fr !important;
	}

}
.login h1 {
  text-align: left!important;
}
/* ==========================================================
   CALOGERO MODERN · WPFORMS
   Allineamento + stile coerente col tema
   ========================================================== */

.wpforms-container {
	width: min(
		var(--cg-max, 1180px),
		calc(100% - 40px)
	) !important;

	max-width: var(--cg-max, 1180px) !important;

	margin: 0 auto 64px !important;
	padding: 0 !important;

	font-family:
		Cantarell,
		ui-sans-serif,
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif !important;
}


/* ==========================================================
   FORM
   ========================================================== */

.wpforms-container form {
	width: 100% !important;

	margin: 0 !important;
	padding: 30px !important;

	background: #ffffff !important;

	border: 1px solid #dce7f2 !important;
	border-radius: 14px !important;

	box-shadow:
		0 12px 34px rgba(7, 27, 50, .07) !important;
}


/* ==========================================================
   CAMPI
   ========================================================== */

.wpforms-container .wpforms-field {
	padding: 0 0 20px !important;
	margin: 0 !important;
}


.wpforms-container .wpforms-field:last-of-type {
	padding-bottom: 4px !important;
}


/* Label */
.wpforms-container .wpforms-field-label {
	display: block !important;

	margin: 0 0 8px !important;

	color: #0c1830 !important;

	font-size: 14px !important;
	font-weight: 700 !important;

	line-height: 1.3 !important;
}


/* Sub-label */
.wpforms-container .wpforms-field-sublabel {
	color: #65768e !important;

	font-size: 12px !important;
	font-weight: 500 !important;
}


/* ==========================================================
   INPUT / EMAIL / TEL / SELECT / TEXTAREA
   ========================================================== */

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container input[type="password"],
.wpforms-container input[type="date"],
.wpforms-container select,
.wpforms-container textarea {

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;

	padding: 12px 14px !important;

	background: #ffffff !important;

	color: #0c1830 !important;

	border: 1px solid #cbd8e6 !important;
	border-radius: 8px !important;

	box-shadow: none !important;

	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 500 !important;

	line-height: 1.4 !important;

	transition:
		border-color .16s ease,
		box-shadow .16s ease,
		background-color .16s ease !important;
}


/* Altezza campi normali */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container input[type="password"],
.wpforms-container select {
	min-height: 48px !important;
}


/* Textarea */
.wpforms-container textarea {
	min-height: 150px !important;

	resize: vertical !important;
}


/* Placeholder */
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
	color: #8795a8 !important;
	opacity: 1 !important;
}


/* Focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
	outline: none !important;

	border-color: #18aef0 !important;

	box-shadow:
		0 0 0 3px rgba(24, 174, 240, .12) !important;

	background: #ffffff !important;
}


/* ==========================================================
   PULSANTE INVIA
   ========================================================== */

.wpforms-container .wpforms-submit-container {
	margin: 8px 0 0 !important;
	padding: 0 !important;
}


.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"],
.wpforms-container .wpforms-submit {

	min-height: 46px !important;

	padding: 0 24px !important;

	background:
		linear-gradient(
			135deg,
			#38d7eb 0%,
			#18aef0 100%
		) !important;

	color: #061422 !important;

	border: 0 !important;
	border-radius: 8px !important;

	box-shadow: none !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 800 !important;

	line-height: 1 !important;

	cursor: pointer !important;

	transition:
		transform .16s ease,
		filter .16s ease,
		box-shadow .16s ease !important;
}


.wpforms-container button[type="submit"]:hover,
.wpforms-container input[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover {

	background:
		linear-gradient(
			135deg,
			#49ddef 0%,
			#25b8f4 100%
		) !important;

	color: #000000 !important;

	transform: translateY(-1px) !important;

	filter: none !important;

	box-shadow:
		0 8px 20px rgba(24, 174, 240, .18) !important;
}


/* ==========================================================
   CHECKBOX / RADIO
   ========================================================== */

.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] {
	accent-color: #18aef0 !important;
}


.wpforms-container .wpforms-field-checkbox li,
.wpforms-container .wpforms-field-radio li {
	margin-bottom: 7px !important;
}


.wpforms-container .wpforms-field-checkbox label,
.wpforms-container .wpforms-field-radio label {
	color: #344054 !important;

	font-size: 14px !important;
	font-weight: 500 !important;
}


/* ==========================================================
   MESSAGGI ERRORI
   ========================================================== */

.wpforms-container label.wpforms-error,
.wpforms-container em.wpforms-error {
	display: block !important;

	margin-top: 6px !important;

	color: #b42318 !important;

	font-size: 12px !important;
	font-weight: 600 !important;
}


.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error {
	border-color: #d92d20 !important;
}


/* ==========================================================
   CONFERMA INVIO
   ========================================================== */

.wpforms-confirmation-container,
.wpforms-confirmation-container-full {
	width: min(
		var(--cg-max, 1180px),
		calc(100% - 40px)
	) !important;

	margin: 28px auto 64px !important;
	padding: 20px 22px !important;

	background: #edfaff !important;

	color: #0c1830 !important;

	border: 1px solid #b9eafb !important;
	border-radius: 10px !important;
}


/* ==========================================================
   DUE COLONNE WPFORMS
   ========================================================== */

.wpforms-container .wpforms-field-row {
	max-width: none !important;
}


.wpforms-container .wpforms-field-row-block {
	padding-right: 12px !important;
}


.wpforms-container
.wpforms-field-row-block:last-child {
	padding-right: 0 !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 680px) {

	.wpforms-container {
		width: calc(100% - 28px) !important;

		margin-bottom: 44px !important;
	}


	.wpforms-container form {
		padding: 20px !important;

		border-radius: 12px !important;
	}


	.wpforms-container .wpforms-field {
		padding-bottom: 17px !important;
	}


	.wpforms-container
	.wpforms-field-row
	.wpforms-field-row-block {

		float: none !important;

		width: 100% !important;

		margin: 0 0 14px !important;
		padding: 0 !important;
	}


	.wpforms-container button[type="submit"],
	.wpforms-container input[type="submit"],
	.wpforms-container .wpforms-submit {

		width: 100% !important;

		min-height: 48px !important;
	}
}