/* ===================================
   STILI PRINCIPALI - ESTRAZIONI.IT
   =================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-blue: #1E3A8A;
    --accent-gold: #F59E0B;
    --success-green: #10B981;
    --danger-red: #EF4444;
    --light-gray: #F3F4F6;
    --text-dark: #1F2937;
    --text-gray: #6B7280;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    background: #ffffff;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Header */
.header {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #3B82F6 100%);
    box-shadow: 0 4px 20px rgba(30, 58, 138, 0.2);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header .container {
    max-width: 1840px;
}

.header-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 1rem 0;
}

.logo {
    flex: 0 0 auto;
    text-align: center;
}

.logo h1 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    color: white;
    font-weight: 800;
    line-height: 1.1;
}

.nav {
    display: flex;
    flex: 1 1 1000px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem 1rem;
    align-items: center;
    min-width: 0;
}

.nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.9);
    text-decoration: none;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    padding: 0.25rem 0;
    transition: all 0.3s ease;
    position: relative;
}

.nav-link:hover,
.nav-link.active {
    color: var(--accent-gold);
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--accent-gold);
    transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.mobile-menu-btn {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
}

.mobile-menu-btn span {
    width: 25px;
    height: 3px;
    background: white;
    border-radius: 3px;
    transition: all 0.3s ease;
}

/* Hero */
.hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 6rem 0;
    text-align: center;
}

.hero-title {
    font-family: 'Poppins', sans-serif;
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    line-height: 1.2;
}

.text-gradient {
    background: linear-gradient(90deg, var(--accent-gold) 0%, #FCD34D 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-subtitle {
    font-size: 1.3rem;
    max-width: 800px;
    margin: 0 auto 2.5rem;
    opacity: 0.95;
    line-height: 1.8;
}

.hero-cta {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 2rem;
    max-width: 700px;
    margin: 4rem auto 0;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 3rem;
    font-weight: 800;
    color: var(--accent-gold);
}

.stat-label {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Sections */
.section {
    padding: 5rem 0;
}

.section.bg-light {
    background: var(--light-gray);
}

.section.bg-gradient {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.section-header {
    text-align: center;
    margin-bottom: 4rem;
}

.section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.section-subtitle {
    font-size: 1.2rem;
    color: var(--text-gray);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.8;
}

/* Cards */
.card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

/* Software Grid */
.software-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}

.software-card {
    padding: 2rem;
    position: relative;
}

.software-badge {
    position: absolute;
    top: -10px;
    right: 20px;
    background: linear-gradient(135deg, var(--accent-gold) 0%, #EF4444 100%);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.3);
}

.software-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
}

.card-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.card-text {
    color: var(--text-gray);
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.feature-list {
    list-style: none;
    margin: 1.5rem 0;
}

.feature-list li {
    padding: 0.5rem 0;
    color: var(--text-dark);
}

.price {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--success-green);
    margin: 1.5rem 0;
}

.savings-badge {
    display: inline-block;
    background: #DCFCE7;
    color: #166534;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    font-weight: 700;
    margin-top: 1rem;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 0.75rem 2rem;
    border-radius: 10px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    font-size: 1rem;
    text-align: center;
}

.btn-primary {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #3B82F6 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(30, 58, 138, 0.3);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(30, 58, 138, 0.4);
}

.btn-secondary {
    background: white;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
}

.btn-secondary:hover {
    background: var(--primary-blue);
    color: white;
}

.btn-outline-primary {
    background: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
}

.btn-outline-primary:hover {
    background: var(--primary-blue);
    color: white;
}

.btn-whatsapp {
    background: #25D366;
    color: white;
}

.btn-whatsapp:hover {
    background: #128C7E;
}

.btn-white {
    background: white;
    color: var(--primary-blue);
}

.btn-white:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,255,255,0.3);
}

.btn-large {
    padding: 1rem 3rem;
    font-size: 1.1rem;
}

.btn-small {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
}

.btn-link {
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 600;
    display: block;
    margin-top: 0.5rem;
    transition: color 0.3s ease;
}

.btn-link:hover {
    color: var(--accent-gold);
}

/* Video Section */
.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2rem;
}

.video-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.video-card iframe {
    width: 100%;
    height: 250px;
    border: none;
}

.video-cta {
    padding: 1.5rem;
}

.video-cta h4 {
    color: var(--primary-blue);
    margin-bottom: 0.5rem;
}

.video-cta p {
    color: var(--text-gray);
    margin-bottom: 1rem;
}

/* Books Grid */
.books-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
}

.book-card {
    background: white;
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.book-card:hover {
    transform: translateY(-5px);
}

.book-cover {
    width: 100%;
    height: 300px;
    background: linear-gradient(135deg, var(--light-gray) 0%, #e0e0e0 100%);
    border-radius: 15px;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.book-placeholder {
    font-size: 5rem;
}

.book-price {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--success-green);
    margin: 1rem 0;
}

/* Tools Teaser */
.tools-teaser-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.tool-teaser-card {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
}

.tool-teaser-card:hover {
    transform: translateY(-5px);
    background: rgba(255,255,255,0.25);
}

.tool-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.tool-teaser-card h4 {
    color: white;
    margin-bottom: 0.5rem;
}

.tool-teaser-card p {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
}

/* CTA Box */
.cta-box {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #3B82F6 100%);
    color: white;
    padding: 4rem;
    border-radius: 30px;
    text-align: center;
    box-shadow: 0 20px 60px rgba(30, 58, 138, 0.3);
}

.cta-box h2 {
    color: white;
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.cta-box p {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    opacity: 0.9;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* WhatsApp Float */
.whatsapp-float {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    background: #25D366;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
    z-index: 999;
    transition: all 0.3s ease;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 30px rgba(37, 211, 102, 0.6);
}

.whatsapp-icon {
    font-size: 2rem;
}

/* Cookie Banner */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.1);
    padding: 1.5rem;
    z-index: 1000;
    animation: slideUp 0.5s ease;
}

.cookie-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}

.cookie-content p {
    margin: 0;
    color: var(--text-gray);
}

.cookie-content a {
    color: var(--primary-blue);
    text-decoration: underline;
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

/* Responsive */
@media (max-width: 768px) {
    .header-content {
        justify-content: space-between;
        flex-wrap: nowrap;
    }

    .logo {
        text-align: left;
    }

    .mobile-menu-btn {
        display: flex;
    }
    
    .nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--primary-blue);
        flex-direction: column;
        padding: 2rem;
        gap: 1rem;
    }
    
    .nav.active {
        display: flex;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .section-title {
        font-size: 2rem;
    }
    
    .software-grid,
    .books-grid,
    .video-grid {
        grid-template-columns: 1fr;
    }
    
    .cta-box {
        padding: 2rem;
    }
    
    .cta-box h2 {
        font-size: 1.8rem;
    }
    
    .whatsapp-float {
        bottom: 1rem;
        right: 1rem;
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 2rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .btn-large {
        padding: 0.75rem 2rem;
        font-size: 1rem;
    }
}

/* Footer / legal pages */
.footer{background:#111827;color:#E5E7EB;padding:3rem 0 1rem;margin-top:3rem}.footer a{color:#FDE68A}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}.footer h3,.footer h4{color:#fff;margin-top:0}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:.45rem 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1rem;text-align:center;color:#9CA3AF}.legal-page{max-width:950px;margin:0 auto}.legal-page h1{margin-bottom:1rem}.legal-box{background:#F9FAFB;border-left:5px solid #1E3A8A;padding:1rem 1.2rem;border-radius:10px;margin:1rem 0}.notice{background:#FEF3C7;border-left:5px solid #F59E0B;padding:1rem;border-radius:10px;margin:1rem 0}.table-simple{width:100%;border-collapse:collapse;background:#fff}.table-simple th,.table-simple td{border:1px solid #E5E7EB;padding:.75rem;text-align:left}.table-simple th{background:#F3F4F6}

/* ===================================
   Schede prodotto con video affiancato
   =================================== */
.product-list {
    display: grid;
    gap: 2rem;
}

.product-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 2rem;
    padding: 2rem;
    align-items: center;
}

.product-info h2 {
    color: var(--primary-blue);
    margin-bottom: 1rem;
}

.product-video iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.feature-list {
    margin: 1rem 0 1.5rem 1.2rem;
    color: var(--text-dark);
}

.feature-list li {
    margin-bottom: 0.45rem;
}

.button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.consent-box {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1rem;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    margin-bottom: 1rem;
    font-size: 0.95rem;
}

.legal-note {
    margin-top: 2rem;
}

@media (max-width: 850px) {
    .product-row {
        grid-template-columns: 1fr;
    }
}

/* Area previsioni, articoli e sezione privata */
.hero-small { padding: 3.5rem 0; }
.hero-actions, .article-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:1.5rem; }
.notice { background:#fff7ed; border-left:5px solid var(--accent-gold); padding:1rem 1.25rem; border-radius:12px; margin:1.5rem 0; }
.prediction-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; margin-top:2rem; }
.prediction-card, .login-card, .article-card, .sidebar-card { background:#fff; border:1px solid #e5e7eb; border-radius:20px; padding:1.6rem; box-shadow:0 12px 35px rgba(15,23,42,.08); }
.prediction-card h2, .article-card h2 { margin:.8rem 0 1rem; color:var(--primary-blue); }
.prediction-card ul, .article-card ul, .article-card ol { margin-left:1.25rem; margin-top:.75rem; }
.badge-free, .badge-premium { display:inline-block; font-weight:800; border-radius:999px; padding:.35rem .75rem; font-size:.82rem; }
.badge-free { background:#dcfce7; color:#166534; }
.badge-premium { background:#fef3c7; color:#92400e; }
.locked-card { background:linear-gradient(180deg,#ffffff,#fffbeb); }
.premium-report { border-color:#f59e0b; }
.muted { color:var(--text-gray); font-size:.92rem; margin-top:.75rem; }
.btn-outline { border:2px solid var(--primary-blue); color:var(--primary-blue); background:#fff; }
.btn-outline:hover { background:var(--primary-blue); color:#fff; }
.private-wrap { max-width:980px; }
.private-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; }
.login-card label { display:block; font-weight:700; margin:.9rem 0 .35rem; }
.login-card input { width:100%; padding:.9rem 1rem; border:1px solid #d1d5db; border-radius:12px; font-size:1.1rem; margin-bottom:1rem; }
.alert { padding:1rem 1.25rem; border-radius:12px; margin:1rem 0; font-weight:700; }
.alert-error { background:#fee2e2; color:#991b1b; }
.alert-success { background:#dcfce7; color:#166534; }
.private-topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:2rem; align-items:start; }
.article-main { display:grid; gap:1.25rem; }
.article-sidebar { position:sticky; top:110px; display:grid; gap:1rem; }
.sidebar-card a { display:block; text-decoration:none; color:var(--primary-blue); font-weight:700; padding:.5rem 0; border-bottom:1px solid #e5e7eb; }
.example-box { background:#eff6ff; border-left:5px solid #3b82f6; padding:1rem; border-radius:12px; margin:1rem 0; }
.warning-card { background:#fff7ed; border-color:#fed7aa; }
.responsive-table { overflow-x:auto; }
table { width:100%; border-collapse:collapse; margin:1rem 0; }
th, td { border:1px solid #e5e7eb; padding:.75rem; text-align:left; }
th { background:#f3f4f6; }
@media (max-width: 900px) { .article-layout { grid-template-columns:1fr; } .article-sidebar { position:static; } }


/* === Estrazioni SEO / archivio === */
.seo-draw-hero,.seo-draw-preview{background:linear-gradient(135deg,#f8fafc,#eef2ff)}
.draw-hero-card,.draw-preview-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:2rem;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.draw-preview-card{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}.draw-preview-actions{display:flex;gap:.75rem;flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#1e3a8a;font-size:.8rem}.table-responsive{overflow-x:auto}.draw-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.06)}.draw-table th,.draw-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;text-align:center}.draw-table th{background:#1e3a8a;color:#fff}.ball-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-weight:800;margin:2px}.ball-number.big{min-width:42px;height:42px;font-size:1.05rem}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.analysis-card{background:#fff;border-left:5px solid #1e3a8a;border-radius:16px;padding:1rem;box-shadow:0 10px 25px rgba(15,23,42,.06)}.tenelotto-box{background:#fff;border-radius:22px;padding:1.5rem;text-align:center;box-shadow:0 12px 32px rgba(15,23,42,.07)}.small-note{font-size:.9rem;color:#64748b;margin-top:1rem}.year-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}.year-pill{padding:.55rem .8rem;border-radius:999px;background:#eef2ff;color:#1e3a8a;text-decoration:none;font-weight:700}.year-pill.active{background:#1e3a8a;color:#fff}.cta-box.light{background:rgba(255,255,255,.95);color:#111827}@media(max-width:760px){.draw-preview-card{grid-template-columns:1fr}.draw-table th,.draw-table td{padding:.5rem;font-size:.86rem}.draw-hero-card h1{font-size:1.7rem}}

/* === Popup offerta uscita === */
.exit-offer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9998;display:none;align-items:center;justify-content:center;padding:1rem}.exit-offer-modal{max-width:520px;background:#fff;border-radius:24px;padding:1.5rem;box-shadow:0 25px 80px rgba(0,0,0,.25);position:relative}.exit-offer-modal h3{margin-top:0;color:#1e3a8a}.exit-offer-close{position:absolute;right:14px;top:10px;border:0;background:#f1f5f9;border-radius:999px;width:34px;height:34px;cursor:pointer}.exit-offer-badge{display:inline-block;background:#fee2e2;color:#991b1b;border-radius:999px;padding:.35rem .7rem;font-weight:800;font-size:.8rem;margin-bottom:.7rem}

/* --- Estrazioni Lotto / 10eLotto: layout commerciale responsive --- */
.home-seo-title{font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.15;margin:.25rem 0 1rem;}
.draw-full-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;box-shadow:0 18px 50px rgba(15,23,42,.08);padding:clamp(1rem,2vw,1.6rem);margin:1.5rem 0;overflow:hidden;}
.draw-full-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.draw-full-header h2{margin:.15rem 0 0;font-size:clamp(1.25rem,2.2vw,1.8rem);}
.mini-heading{margin:1.25rem 0 .75rem;font-size:1.1rem;}
.draw-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;border:1px solid rgba(15,23,42,.08);}
.draw-table{width:100%;border-collapse:collapse;min-width:620px;background:#fff;}
.draw-table th,.draw-table td{padding:.75rem .6rem;text-align:center;border-bottom:1px solid rgba(15,23,42,.06);}
.draw-table th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1;}
.ball-number{display:inline-flex;align-items:center;justify-content:center;min-width:2.15rem;height:2.15rem;border-radius:999px;background:#f3f6ff;border:1px solid rgba(38,99,235,.18);font-weight:800;color:#102a60;}
.ball-number.big{min-width:2.45rem;height:2.45rem;margin:.18rem;}
.tenelotto-box{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:1rem;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#eef4ff);}
.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem;}
.analysis-card{padding:1rem;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 26px rgba(15,23,42,.05);}
.analysis-card h3{margin:.35rem 0 .5rem;font-size:1.05rem;}
.analysis-card p{margin:0;line-height:1.55;}
.analysis-type{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#2857b8;background:#eef4ff;border-radius:999px;padding:.25rem .55rem;}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.stats-grid .wide{grid-column:1/-1;}
.number-list,.wheel-top-grid{display:flex;flex-wrap:wrap;gap:.55rem;}
.number-list span,.wheel-top-grid span{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:999px;padding:.45rem .7rem;}
.wheel-top-grid small{opacity:.7;}
.year-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;}
.year-tab{display:inline-flex;gap:.35rem;align-items:center;text-decoration:none;border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:.55rem .85rem;background:#fff;font-weight:700;}
.year-tab.active{background:#102a60;color:#fff;}
.archive-toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:1rem 0;}
.archive-list .draw-full-card{margin-bottom:1.25rem;}
@media(max-width:700px){.draw-full-header,.archive-toolbar{display:block}.draw-full-header .btn{margin-top:.8rem}.draw-full-card{border-radius:18px}.draw-table th,.draw-table td{padding:.55rem .4rem}.ball-number{min-width:1.9rem;height:1.9rem;font-size:.92rem}.analysis-grid{grid-template-columns:1fr}.year-tab{padding:.5rem .7rem}}

/* === REVISIONE RESPONSIVE ESTRAZIONI v3 ===
   Obiettivo: ruote sempre visibili, Lotto e 10eLotto leggibili da cellulare,
   statistiche chiare per frequenze e ritardi. */
.draw-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px;border:1px solid rgba(15,23,42,.10);background:#fff;}
.draw-table{width:100%;border-collapse:separate;border-spacing:0;min-width:0;background:#fff;}
.draw-table thead th{background:#1e3a8a!important;color:#fff!important;position:static;}
.draw-table th:first-child,.draw-table tbody th{background:#f8fafc!important;color:#0f172a!important;font-weight:900;text-align:left;min-width:115px;position:sticky;left:0;z-index:2;box-shadow:8px 0 12px rgba(15,23,42,.03);}
.draw-table td,.draw-table th{padding:.7rem .55rem;border-bottom:1px solid rgba(15,23,42,.08);vertical-align:middle;}
.draw-table td{text-align:center;}
.ball-number{min-width:34px;height:34px;padding:0 .35rem;border:1px solid #dbeafe;background:#eef4ff;color:#1e3a8a;font-weight:900;}
.ball-number.big{min-width:40px;height:40px;}
.tenelotto-box{justify-content:flex-start;}
.draw-stats-panel{margin:2rem 0 0;}
.stats-head{margin-bottom:1rem;}
.stat-card{padding:1.2rem;}
.number-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.55rem;margin-top:.8rem;}
.number-list span,.wheel-top-grid span{display:block;padding:.65rem .75rem;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);line-height:1.35;}
.number-list b,.wheel-top-grid b{color:#1e3a8a;}
.number-list small,.wheel-top-grid small{display:block;color:#64748b;margin-top:.1rem;}
.wheel-top-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;margin-top:.8rem;}
.archive-list .analysis-grid{display:none!important;}
.archive-list .mini-heading + .analysis-grid{display:none!important;}
@media(max-width:640px){
  .draw-full-card{padding:.85rem;border-radius:16px;margin:1rem 0;}
  .draw-full-header{display:block;}
  .draw-full-header .btn{display:inline-flex;margin-top:.7rem;}
  .draw-table-wrap{overflow:visible;border:0;background:transparent;}
  .draw-table,.draw-table tbody,.draw-table tr,.draw-table th,.draw-table td{display:block;width:100%;}
  .draw-table thead{display:none;}
  .draw-table tr{display:grid;grid-template-columns:1fr repeat(5,minmax(38px,1fr));align-items:center;gap:.25rem;margin:.55rem 0;padding:.55rem;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 22px rgba(15,23,42,.05);}
  .draw-table th:first-child,.draw-table tbody th{position:static;box-shadow:none;background:transparent!important;color:#0f172a!important;min-width:0;padding:.3rem .25rem;font-size:.88rem;}
  .draw-table td{padding:.25rem;border:0;}
  .draw-table td::before{content:attr(data-label);display:block;font-size:.68rem;color:#64748b;font-weight:800;margin-bottom:.12rem;}
  .ball-number{min-width:31px;height:31px;font-size:.86rem;margin:0 auto;}
  .ball-number.big{min-width:36px;height:36px;font-size:.95rem;}
  .tenelotto-box{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;padding:.8rem;}
  .number-list{grid-template-columns:1fr;}
  .wheel-top-grid{grid-template-columns:1fr;}
  .home-seo-title{font-size:1.45rem;line-height:1.18;}
  .stats-head h2{font-size:1.35rem;}
}

/* === REVISIONE v4: mobile reale + home non ridondante === */
.draw-stats-panel.compact{margin-top:1.25rem;}
.draw-stats-panel.compact .stats-head h2{font-size:clamp(1.25rem,2vw,1.65rem);}
.draw-stats-panel.compact .stats-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.draw-stats-panel.compact .stat-card{box-shadow:0 8px 24px rgba(15,23,42,.06);}
.draw-table-wrap{max-width:100%;}
.draw-table th,.draw-table td{white-space:nowrap;}
@media(max-width:900px){
  .container{padding-left:1rem;padding-right:1rem;}
  .section{padding:3rem 0;}
  .draw-preview-card,.draw-hero-card{padding:1.25rem;border-radius:18px;}
  .draw-preview-actions,.cta-buttons{display:grid;grid-template-columns:1fr;gap:.65rem;}
  .draw-preview-actions .btn,.cta-buttons .btn{width:100%;justify-content:center;}
}
@media(max-width:520px){
  .draw-table tr{grid-template-columns:1fr repeat(5,minmax(30px,1fr));gap:.18rem;padding:.45rem;}
  .draw-table th:first-child,.draw-table tbody th{font-size:.82rem;}
  .draw-table td::before{font-size:.62rem;}
  .ball-number{min-width:28px;height:28px;font-size:.78rem;padding:0 .15rem;}
  .ball-number.big{min-width:32px;height:32px;font-size:.86rem;}
  .tenelotto-box{grid-template-columns:repeat(4,1fr);}
  .number-list span,.wheel-top-grid span{border-radius:12px;padding:.55rem .6rem;}
}
@media print{
  .draw-table-wrap{overflow:visible!important;}
  .draw-table{display:table!important;width:100%!important;}
  .draw-table thead{display:table-header-group!important;}
  .draw-table tbody{display:table-row-group!important;}
  .draw-table tr{display:table-row!important;box-shadow:none!important;}
  .draw-table th,.draw-table td{display:table-cell!important;width:auto!important;}
}

/* Area utenti, admin e contenuti dinamici */
.alert{padding:1rem 1.1rem;border-radius:10px;margin:1rem 0;font-weight:700}
.alert-success{background:#dcfce7;border-left:5px solid #16a34a;color:#14532d}
.alert-error{background:#fee2e2;border-left:5px solid #dc2626;color:#7f1d1d}
.muted{color:#64748b;font-size:.95rem}
.privacy-check,.consent-box{display:flex!important;gap:.7rem;align-items:flex-start;margin:1rem 0;font-weight:500!important}
.privacy-check input,.consent-box input{width:auto!important;margin-top:.2rem}
.login-card textarea,.login-card select,.login-card input[type="date"],.admin-form textarea,.admin-form select{width:100%;padding:.9rem 1rem;border:1px solid #d1d5db;border-radius:12px;font-size:1rem;margin-bottom:1rem}
.admin-header .header-content{align-items:flex-start}
.admin-nav{flex-wrap:wrap;gap:.35rem}
.admin-nav .nav-link{font-size:.9rem;padding:.45rem .55rem}
.admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0}
.admin-metrics .card{padding:1.2rem;text-align:center}
.admin-metrics h2{font-size:2rem;margin:0;color:var(--primary-blue)}
.admin-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0 1.5rem}
.admin-status-grid code{word-break:break-word}
.admin-form{max-width:880px;margin:1.5rem 0}
.inline-form{display:inline}
.admin-row-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.admin-row-form select,.admin-row-form input{padding:.55rem;border:1px solid #d1d5db;border-radius:8px;min-width:130px}
.features-grid a.feature-card{text-decoration:none;color:inherit}
.feature-card .btn{margin-top:.8rem}
.number-list{display:flex;flex-wrap:wrap;gap:.55rem}
.number-list span{display:inline-flex;align-items:center;gap:.35rem;background:#eef2ff;color:#1e3a8a;border-radius:999px;padding:.45rem .7rem}
.wheel-top-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.7rem}
.wheel-top-grid span{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem}
@media(max-width:700px){
  .admin-header .header-content{display:block}
  .admin-nav{display:flex;margin-top:1rem}
  .admin-row-form{display:block}
  .admin-row-form select,.admin-row-form input,.admin-row-form button{width:100%;margin:.25rem 0}
  .login-card{padding:1.1rem!important}
}
