.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:12px 24px;background:#003d6b;color:#fff;font-weight:600;text-decoration:none;border-radius:0 0 8px 0;font-family:"Titillium Web",sans-serif}
.skip-link:focus{top:0}
html{font-size:100%}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}
*,::after,::before{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:"Ubuntu","Titillium Web",-apple-system,sans-serif;color:#333;background:#f4f6fa;line-height:1.6}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.anim-fade-in{animation:fadeIn .6s ease forwards}
.anim-fade-up{animation:fadeInUp .6s ease forwards}
.anim-delay-1{animation-delay:.1s}
.anim-delay-2{animation-delay:.2s}
.anim-delay-3{animation-delay:.3s}
.anim-delay-4{animation-delay:.4s}
.anim-delay-5{animation-delay:.5s}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:50px;font-weight:700;font-size:0.9375rem;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease,opacity .3s ease;cursor:pointer;border:0;font-family:inherit}
.btn--primary{background:linear-gradient(135deg,#06c,#004999);color:#fff;box-shadow:0 4px 15px rgba(0,102,204,.3)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,102,204,.4)}
.btn--secondary{background:#1e293b;color:#fff}
.btn--secondary:hover{background:#0f172a;transform:translateY(-2px)}
.btn--outline{background:0 0;color:#06c;border:2px solid #06c}
.btn--outline:hover{background:#06c;color:#fff;transform:translateY(-2px)}
.btn--green{background:#16803a;color:#fff;box-shadow:0 4px 15px rgba(22,128,58,.3)}
.btn--green:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(22,128,58,.4)}
.btn--small{padding:10px 20px;font-size:0.8125rem}
.btn--block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#06c;transition:box-shadow .3s ease}
.header--scrolled{box-shadow:0 2px 20px rgba(0,0,0,.15)}
.header .logo{color:#fff}
.header .logo span{color:#93c5fd}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-size:1.625rem;font-weight:900;color:#0f172a;letter-spacing:-.5px;line-height:0}
.logo span{color:#06c}
.logo img{display:block;max-height:56px;width:auto}
.logo--footer img{max-height:44px}
.nav{display:flex;align-items:center;gap:4px}
.nav__link{padding:8px 16px;border-radius:8px;font-weight:600;font-size:0.875rem;color:#fff;transition:color .2s,background .2s}
.nav__link:hover{color:#fff;background:rgba(255,255,255,.15)}
.nav__link--active{color:#06c;background:#fff}
.nav--open .nav__link{color:#1e293b}
.nav--open .nav__link--active,.nav--open .nav__link:hover{color:#06c;background:#eef2ff}
.nav__close,.nav__toggle{display:none;background:0 0;border:0;cursor:pointer;padding:8px}
.nav__toggle{flex-direction:column;gap:5px}
.nav__toggle span{width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,background .3s}
.nav__close{font-size:2rem;color:#0f172a}
.header-phone{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#25d366;color:#fff;font-size:0.875rem;font-weight:600;text-decoration:none;border-radius:50px;transition:background .3s ease,box-shadow .3s ease,transform .3s ease,color .3s ease;box-shadow:0 2px 12px rgba(37,211,102,.3);white-space:nowrap;animation:pulseWa 2s infinite}
.header-phone:hover{background:#20bd5a;box-shadow:0 4px 20px rgba(37,211,102,.4);transform:translateY(-1px);color:#fff;animation:none}
.header-phone i{font-size:1rem}
.section{padding:80px 0}
.section__header{text-align:center;margin-bottom:48px}
.section__title{font-size:2rem;font-weight:900;margin-bottom:12px;color:#0f172a}
.section__desc{font-size:1.0625rem;color:#475569;max-width:600px;margin:0 auto}
.section__footer{text-align:center;margin-top:40px}
.pd-documents{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.pd-doc-card{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:8px 16px 8px 8px;border:1px solid #e8ecf1;transition:border-color .2s,box-shadow .2s}
.pd-doc-card:hover{border-color:#06c;box-shadow:0 4px 16px rgba(0,102,204,.1)}
.pd-doc-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:#334155;font-weight:600;font-size:0.875rem;width:100%}
.pd-doc-link:hover{color:#06c}
.pd-doc-thumb{width:48px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0}
.pd-doc-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fef2f2;border-radius:8px;flex-shrink:0}
.pd-doc-link i:last-child{margin-left:auto;font-size:0.75rem;color:#475569}
.pd-doc-preview{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:16px;border:1px solid #e8ecf1;transition:border-color .2s,box-shadow .2s;text-decoration:none}
.pd-doc-preview:hover{border-color:#06c;box-shadow:0 4px 16px rgba(0,102,204,.1)}
.pd-doc-preview-img{width:100%;height:auto;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:transform .3s ease}
.pd-doc-preview-img[src*="Corso"],.pd-doc-preview-img[src*="CORSO"]{max-width:320px}
.pd-doc-preview:hover .pd-doc-preview-img{transform:scale(1.02)}
.pd-doc-preview-label{font-size:0.8125rem;font-weight:600;color:#334155;text-align:center}
.pd-doc-preview:hover .pd-doc-preview-label{color:#06c}
.btn--scopri{background:0 0;color:var(--card-accent);border:2px solid var(--card-accent);display:inline-flex;align-items:center;gap:8px}
.btn--scopri i{font-size:0.875rem;transition:transform .2s}
.btn--scopri:hover{background:var(--card-accent);color:#fff;transform:translateY(-2px)}
.btn--scopri:hover i{transform:translateX(3px)}
.footer{background:#0f172a;color:#fff;padding:64px 0 0}
.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:40px}
.footer__col .logo,.footer__col a:hover{color:#fff;text-decoration-color:#fff}
.footer__desc{font-size:0.875rem;color:#cbd5e1;margin:16px 0 24px;line-height:1.7}
.footer__col .footer__col-title,.product-page__features h3{font-size:0.9375rem;font-weight:700;margin-bottom:16px}
.footer__col a,.footer__col p{display:block;font-size:0.875rem;color:#cbd5e1;margin-bottom:10px;transition:color .2s}
.footer__col a{text-decoration:underline;text-decoration-color:rgba(255,255,255,0.15);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}
.footer__social{display:flex;gap:10px}
.footer__social a{width:40px;height:40px;background:rgba(255,255,255,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.875rem;color:#fff;transition:background .3s,transform .3s}
.footer__social a:hover{background:#06c;transform:translateY(-2px)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:24px 0;text-align:center}
.footer__bottom p{font-size:0.8125rem;color:#cbd5e1}
.product-hero{display:flex;align-items:center;gap:24px;padding:36px 40px;border-radius:16px;margin-bottom:20px}
.product-hero__icon{font-size:3.5rem;color:rgba(255,255,255,.9);flex-shrink:0}
.product-hero__cat{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.9);display:block;margin-bottom:4px}
.section--page-header .product-hero__title{font-size:1.75rem;font-weight:700;color:#fff;line-height:1.2;margin:0}
.product-page__back{display:inline-flex;align-items:center;gap:6px;color:#475569;font-weight:600;font-size:0.875rem;margin-bottom:24px}
.product-page__back:hover{color:#06c}
.product-page__grid{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start;min-height:60vh}
.product-page__info{min-height:40vh}
.product-page__desc{font-size:1rem;color:#475569;line-height:1.7;margin-bottom:24px}
.product-page__meta{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap}
.product-page__duration,.product-page__points,.product-page__price{padding:8px 16px;border-radius:10px;font-weight:700;font-size:0.875rem}
.product-page__points{background:#eef2ff;color:#06c}
.product-page__price{background:#ecfdf5;color:#059669}
.product-page__duration{background:#fef3c7;color:#92400e}
.product-page__features{margin:32px 0}
.product-page__features h3{font-size:1.0625rem;color:#0f172a}
.product-page__features ul{display:flex;flex-direction:column;gap:10px}
.product-page__features li{display:flex;align-items:center;gap:10px;font-size:0.9375rem;color:#475569}
.product-page__features li::before{content:"?";color:#06c;font-weight:700}
.product-page__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.pd-section{margin:40px 0;scroll-margin-top:24px}
.pd-section--compact{margin:24px 0}
.pd-section__title{font-size:1.25rem;font-weight:700;margin-bottom:20px;color:#0f172a;display:flex;align-items:center;gap:10px}
.pd-desc{font-size:0.9375rem;line-height:1.8;color:#334155}
.pd-desc strong{color:#0f172a}
.pd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:32px 0}
.pd-stat{background:#fff;border-radius:16px;padding:20px;text-align:center;border:1px solid #e8ecf1;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.pd-stat__icon{width:44px;height:44px;margin:0 auto 10px;background:var(--accent,#0066CC);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.125rem}
.pd-stat__label{font-size:0.6875rem;color:#475569;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.pd-stat__value{font-size:1.25rem;font-weight:700;color:var(--accent,#0f172a)}
.pd-stat__value .product-card__price-prefix{font-size:0.8125rem;font-weight:600;color:#475569}
.pd-stat__sub{font-size:0.75rem;color:#475569;margin-top:2px}
.pd-feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pd-feat{display:flex;align-items:flex-start;gap:12px;background:#fff;border-radius:12px;padding:14px 16px;border:1px solid #e8ecf1;transition:border-color .2s,box-shadow .2s}
.pd-feat:hover{border-color:#0066cc44;box-shadow:0 2px 8px rgba(0,102,204,.08)}
.pd-feat__icon{width:36px;height:36px;min-width:36px;background:#eef2ff;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#06c;font-size:0.9375rem}
.pd-feat__text{font-size:0.8125rem;line-height:1.5;color:#334155}
.pd-req{display:flex;flex-wrap:wrap;gap:10px}
.pd-req__item{font-size:0.875rem;color:#334155;display:flex;align-items:center;gap:8px;background:#f0fdf4;padding:10px 16px;border-radius:10px;border:1px solid #dcfce7}
.pd-exam-desc{font-size:0.875rem;line-height:1.7;color:#475569;margin-bottom:24px}
.pd-exam-steps{display:flex;flex-direction:column;gap:0;position:relative;padding-left:40px}
.pd-exam-steps::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,#06c,#3b82f6)}
.pd-step{position:relative;padding:16px 20px;background:#fff;border-radius:12px;margin-bottom:12px;border:1px solid #e8ecf1;transition:border-color .2s,box-shadow .2s}
.pd-step:hover{border-color:#0066cc44;box-shadow:0 2px 8px rgba(0,102,204,.06)}
.pd-step__num{position:absolute;left:-32px;top:16px;width:28px;height:28px;background:#06c;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.8125rem;font-weight:700;z-index:1}
.pd-step__body{font-size:0.8125rem;line-height:1.6;color:#334155}
.pd-step__body strong{color:#06c}
.pd-exam-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.pd-exam-meta__item{background:#fff;border:1px solid #e8ecf1;padding:12px 16px;overflow:hidden;gap:12px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .25s,transform .25s;display:flex;align-items:flex-start}
.pd-exam-meta__item:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-1px)}
.pd-exam-meta__item i{width:auto;color:inherit}
.pd-exam-meta__icon-box{width:44px;min-width:44px;display:flex;align-items:center;justify-content:center;font-size:0.9375rem;color:var(--meta-color,#0066CC);background:var(--meta-bg,linear-gradient(135deg,#eef2ff,#dbeafe));border-radius:10px 0 0 10px;flex-shrink:0;align-self:stretch;margin:-12px 0 -12px -16px;padding:12px 0}
.pd-exam-meta__text{font-size:0.8125rem;line-height:1.5;color:#334155}
.pd-exam-meta__item--wide{grid-column:1/-1}
.pd-cert{background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px;padding:28px;border:1px solid #e8ecf1;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.pd-cert__main{margin-bottom:16px}
.pd-cert__issuer{font-size:1.125rem;font-weight:700;color:#0f172a}
.pd-cert__accred{font-size:0.875rem;color:#06c;margin-top:4px;display:flex;align-items:center;gap:6px}
.pd-cert__badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.pd-badge,.pd-cert__renew{display:flex;align-items:center;margin-top:12px}
.pd-badge{font-size:0.75rem;font-weight:600;color:#334155;background:#f1f5f9;padding:6px 12px;border-radius:20px;gap:6px}
.pd-badge i{color:#06c}
.pd-badge--region{background:#fef3c7;color:#b45309}
.pd-badge--region i{color:#b45309}
.pd-cert__renew{font-size:0.8125rem;color:#475569;padding:10px 14px;background:#fffbeb;border-radius:10px;border:1px solid #fef3c7;gap:8px}
.product-page__sidebar{background:linear-gradient(180deg,#fff 0,#fafbfc 100%);border-radius:20px;padding:24px;border:1px solid #e8ecf1;box-shadow:0 4px 24px rgba(0,0,0,.04)}
.sidebar-price{text-align:center;padding-bottom:8px;margin-bottom:4px}
.sidebar-price__label{font-size:0.6875rem;color:#475569;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px}
.sidebar-price__amount{font-size:2.5rem;font-weight:700;color:var(--accent, #0066CC);line-height:1.1;letter-spacing:0}
.sidebar-price__amount .product-card__price-prefix{font-size:1.125rem;font-weight:600;color:#475569;margin-right:2px}
.sidebar-price__note{font-size:0.8125rem;color:#475569;margin-top:6px}
.pd-sidebar-rating .stars{color:#f59e0b;font-size:1.125rem;letter-spacing:2px}

@media(max-width:768px){.sticky-bar--visible{display:flex}.product-page__actions{display:none}.product-page__back{margin-top:16px;margin-bottom:4px}.pd-related{margin-top:56px}}

/* === A11y: link underline in text blocks === */
.pd-desc a,.pd-faq__a a,.pd-step__body a,.pd-exam-desc a,.product-page__desc a,p a[href]{text-decoration:underline;text-decoration-color:rgba(0,102,204,.4);text-underline-offset:2px;transition:text-decoration-color .2s}.pd-desc a:hover,.pd-faq__a a:hover,.pd-step__body a:hover,.pd-exam-desc a:hover,.product-page__desc a:hover,p a[href]:hover{text-decoration-color:rgba(0,102,204,1)}
