/* =============================================
   BASE
   ============================================= */
.noise-overlay { position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:.4; }

/* =============================================
   NAVBAR
   ============================================= */
.navbar { position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 40px;background:rgba(10,10,15,.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border); }
.logo { font-family:var(--font-title);font-weight:800;font-size:22px;color:var(--text); }
.logo span { color:var(--accent); }
.nav-links { display:flex;align-items:center;gap:24px;list-style:none; }
.nav-links a { font-size:14px;font-weight:500;color:var(--muted);transition:color .2s; }
.nav-links a:hover,.nav-links a.active { color:var(--text); }
.nav-right { display:flex;align-items:center;gap:12px; }
.nav-cta { display:flex;align-items:center;gap:6px;background:var(--accent);color:#000;font-weight:600;font-size:13px;padding:8px 18px;border-radius:6px;transition:opacity .2s; }
.nav-cta:hover { opacity:.85; }

/* Search in nav */
.nav-search { display:flex;align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden; }
.nav-search input { background:transparent;border:none;padding:7px 12px;color:var(--text);font-size:13px;outline:none;width:160px; }
.nav-search input::placeholder { color:var(--muted); }
.nav-search button { background:transparent;border:none;padding:7px 10px;cursor:pointer;font-size:14px;color:var(--muted); }

/* Hamburger */
.hamburger { display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px; }
.hamburger span { display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s; }
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* =============================================
   TICKER
   ============================================= */
.ticker-wrap { background:var(--accent);padding:10px 0;overflow:hidden; }
.ticker { display:flex;animation:ticker 35s linear infinite;white-space:nowrap; }
.ticker-item { display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:700;color:#000;padding:0 40px; }
.ticker-item::after { content:'//';margin-left:24px;opacity:.4; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* =============================================
   HERO
   ============================================= */
.hero { position:relative;padding:100px 40px 80px;overflow:hidden; }
.hero-bg { position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 20% 50%,rgba(0,229,255,.08) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 80% 30%,rgba(255,61,107,.06) 0%,transparent 70%);pointer-events:none; }
.hero-grid { position:absolute;inset:0;background-image:linear-gradient(rgba(0,229,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none; }
.hero-inner { position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center; }
.hero-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.2);border-radius:100px;padding:6px 14px;font-family:var(--font-mono);font-size:11px;color:var(--accent);margin-bottom:24px;animation:fadeUp .6s ease both; }
.hero-badge .dot { width:6px;height:6px;background:var(--accent);border-radius:50%;animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.3)} }
h1 { font-family:var(--font-title);font-weight:800;font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-1px;animation:fadeUp .6s .1s ease both; }
h1 .highlight { color:var(--accent); }
h1 .highlight2 { color:var(--accent3); }
.hero-sub { font-size:17px;color:var(--muted);line-height:1.7;margin-top:20px;font-weight:300;animation:fadeUp .6s .2s ease both; }
.hero-actions { display:flex;gap:12px;margin-top:36px;animation:fadeUp .6s .3s ease both; }
.btn-primary { display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#000;font-weight:600;font-size:15px;padding:14px 28px;border-radius:8px;transition:transform .2s,box-shadow .2s;box-shadow:0 0 30px rgba(0,229,255,.25); }
.btn-primary:hover { transform:translateY(-2px);box-shadow:0 0 50px rgba(0,229,255,.4); }
.btn-secondary { display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text);font-weight:500;font-size:15px;padding:14px 28px;border-radius:8px;border:1px solid var(--border);transition:border-color .2s,background .2s; }
.btn-secondary:hover { border-color:var(--accent);background:rgba(0,229,255,.05); }
.hero-stats { display:flex;gap:32px;margin-top:48px;animation:fadeUp .6s .4s ease both; }
.stat { display:flex;flex-direction:column; }
.stat-number { font-family:var(--font-title);font-weight:800;font-size:26px;letter-spacing:-1px; }
.stat-label { font-size:12px;color:var(--muted);margin-top:2px; }
.hero-visual { animation:fadeUp .7s .2s ease both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* Hero card */
.deal-card-big { background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;position:relative;overflow:hidden; }
.deal-card-big::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2)); }
.floating-badge { position:absolute;top:-12px;right:-12px;background:var(--accent2);color:#fff;font-family:var(--font-mono);font-size:10px;padding:6px 10px;border-radius:8px;box-shadow:0 4px 20px rgba(255,61,107,.4);animation:float 3s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.deal-card-tag { display:inline-flex;align-items:center;gap:6px;background:rgba(255,230,0,.1);border:1px solid rgba(255,230,0,.25);border-radius:6px;padding:4px 10px;font-family:var(--font-mono);font-size:11px;color:var(--accent3);margin-bottom:16px; }
.deal-product-img { width:100%;height:160px;background:var(--surface2);border-radius:10px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;font-size:72px;overflow:hidden; }
.deal-product-img img { width:100%;height:100%;object-fit:cover; }
.deal-card-big h3 { font-family:var(--font-title);font-size:20px;font-weight:700;margin-bottom:6px; }
.deal-meta { display:flex;align-items:center;gap:12px;margin-bottom:18px; }
.price-now { font-family:var(--font-title);font-weight:800;font-size:28px;color:var(--accent);letter-spacing:-1px; }
.price-old { font-size:16px;color:var(--muted);text-decoration:line-through; }
.discount-badge { background:var(--accent2);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:700;padding:4px 8px;border-radius:6px;margin-left:auto; }
.deal-btn { width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#000;font-weight:700;font-size:14px;padding:14px;border-radius:8px;transition:opacity .2s; }
.deal-btn:hover { opacity:.85; }

/* =============================================
   SEZIONI
   ============================================= */
.section { max-width:1200px;margin:0 auto;padding:80px 40px; }
.section-header { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px; }
.section-label { font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px; }
.section-title { font-family:var(--font-title);font-weight:800;font-size:32px;letter-spacing:-1px; }
.see-all { font-size:14px;color:var(--accent);font-weight:500;display:flex;align-items:center;gap:4px;transition:gap .2s; }
.see-all:hover { gap:8px; }

/* =============================================
   CATEGORIE
   ============================================= */
.categories-grid { display:grid;grid-template-columns:repeat(6,1fr);gap:12px; }
.cat-card { background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 14px;text-align:center;transition:border-color .2s,background .2s,transform .2s; }
.cat-card:hover { border-color:var(--accent);background:rgba(0,229,255,.05);transform:translateY(-3px); }
.cat-icon { font-size:32px;margin-bottom:10px;display:block; }
.cat-name { font-size:13px;font-weight:600;margin-bottom:4px; }
.cat-count { font-family:var(--font-mono);font-size:10px;color:var(--muted); }

/* =============================================
   FEATURED DEAL
   ============================================= */
.featured-deal { background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden; }
.featured-deal::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 0% 50%,rgba(0,229,255,.05) 0%,transparent 70%);pointer-events:none; }
.featured-deal-left { position:relative; }
.featured-label { display:inline-flex;align-items:center;gap:6px;background:rgba(255,230,0,.1);border:1px solid rgba(255,230,0,.3);padding:5px 12px;border-radius:6px;font-family:var(--font-mono);font-size:11px;color:var(--accent3);margin-bottom:20px; }
.featured-deal h2 { font-family:var(--font-title);font-weight:800;font-size:34px;letter-spacing:-1px;line-height:1.1;margin-bottom:12px; }
.featured-desc { font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:24px; }
.featured-prices { display:flex;align-items:center;gap:16px;margin-bottom:28px; }
.featured-price-now { font-family:var(--font-title);font-weight:800;font-size:42px;color:var(--accent);letter-spacing:-2px; }
.featured-price-was { font-size:20px;color:var(--muted);text-decoration:line-through; }
.featured-badge { background:var(--accent2);color:#fff;font-family:var(--font-mono);font-size:14px;font-weight:700;padding:6px 12px;border-radius:8px; }
.featured-image { height:300px;background:var(--surface2);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.featured-image img { width:100%;height:100%;object-fit:cover; }

/* =============================================
   FILTER TOOLBAR
   ============================================= */
.filter-toolbar { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px; }
.filter-cats { display:flex;flex-wrap:wrap;gap:8px; }
.filter-cat-btn { background:var(--surface);border:1px solid var(--border);color:var(--muted);font-family:var(--font-body);font-size:13px;padding:7px 16px;border-radius:100px;cursor:pointer;transition:all .2s; }
.filter-cat-btn:hover { border-color:var(--accent);color:var(--text); }
.filter-cat-btn.active { background:var(--accent);border-color:var(--accent);color:#000;font-weight:600; }
.filter-order { display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted); }
.filter-order select { background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:13px;padding:7px 12px;border-radius:8px;outline:none;cursor:pointer; }

/* =============================================
   ALERT BANNER
   ============================================= */
.alert-banner { background:linear-gradient(90deg,rgba(0,229,255,.08),rgba(255,61,107,.08));border:1px solid rgba(0,229,255,.15);border-radius:12px;padding:14px 20px;display:flex;align-items:center;gap:12px;margin-bottom:28px;font-size:14px; }
.alert-icon { font-size:20px; }
.alert-text strong { color:var(--accent); }

/* =============================================
   DEAL CARDS GRID
   ============================================= */
.deals-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;transition:opacity .2s; }
.deal-card { background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;animation:fadeUp .5s ease both; }
.deal-card:hover { transform:translateY(-4px);border-color:rgba(0,229,255,.3);box-shadow:0 12px 40px rgba(0,0,0,.4); }
.deal-image { height:200px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:64px;position:relative;overflow:hidden; }
.deal-image img { width:100%;height:100%;object-fit:contain;padding:12px; }
.deal-discount { position:absolute;top:12px;left:12px;background:var(--accent2);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px; }
.deal-store { position:absolute;top:12px;right:12px;background:rgba(0,0,0,.6);color:var(--muted);font-family:var(--font-mono);font-size:10px;padding:4px 8px;border-radius:5px;backdrop-filter:blur(4px); }
.badge-new { position:absolute;bottom:12px;left:12px;background:var(--green);color:#000;font-family:var(--font-mono);font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px; }
.deal-body { padding:18px 20px 20px; }
.deal-category { font-family:var(--font-mono);font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px; }
.deal-title { font-family:var(--font-title);font-weight:600;font-size:15px;line-height:1.3;margin-bottom:12px;color:var(--text); }
.deal-prices { display:flex;align-items:center;gap:10px;margin-bottom:14px; }
.price-current { font-family:var(--font-title);font-weight:800;font-size:22px;color:var(--accent);letter-spacing:-.5px; }
.price-original { font-size:14px;color:var(--muted);text-decoration:line-through; }
.deal-footer { display:flex;align-items:center;justify-content:space-between; }
.deal-expires { display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted); }
.deal-link { display:inline-flex;align-items:center;gap:6px;background:rgba(0,229,255,.1);border:1px solid rgba(0,229,255,.2);color:var(--accent);font-size:13px;font-weight:600;padding:8px 16px;border-radius:7px;transition:background .2s; }
.deal-link:hover { background:rgba(0,229,255,.2); }

/* =============================================
   PAGINAZIONE / LOAD MORE
   ============================================= */
.pagination { text-align:center;margin-top:40px; }
.btn-load-more { background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:15px;font-weight:500;padding:14px 36px;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s; }
.btn-load-more:hover { border-color:var(--accent);background:rgba(0,229,255,.05); }
.no-more { font-size:14px;color:var(--muted); }
.no-results { grid-column:1/-1;text-align:center;padding:60px 0;color:var(--muted);font-size:16px; }

/* =============================================
   ARCHIVIO CATEGORIA
   ============================================= */
.archive-hero { background:var(--surface);border-bottom:1px solid var(--border);padding:60px 40px; }
.archive-hero-inner { max-width:1200px;margin:0 auto; }
.archive-title { font-family:var(--font-title);font-weight:800;font-size:48px;letter-spacing:-1px;margin-bottom:12px; }
.archive-desc { font-size:16px;color:var(--muted);margin-bottom:16px; }
.archive-meta { font-family:var(--font-mono);font-size:12px;color:var(--accent); }

/* =============================================
   SINGLE OFFERTA
   ============================================= */
.single-wrap { max-width:1200px;margin:0 auto;padding:60px 40px; }
.single-breadcrumb { display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:36px;flex-wrap:wrap; }
.single-breadcrumb a { color:var(--muted);transition:color .2s; }
.single-breadcrumb a:hover { color:var(--accent); }
.single-grid { display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:48px; }
.single-image-wrap {}
.single-image { position:relative;background:var(--surface);border-radius:16px;overflow:hidden;height:380px;display:flex;align-items:center;justify-content:center;margin-bottom:16px; }
.single-image img { width:100%;height:100%;object-fit:cover; }
.single-emoji { font-size:120px; }
.single-badge { position:absolute;top:16px;left:16px;background:var(--accent2);color:#fff;font-family:var(--font-mono);font-size:14px;font-weight:700;padding:6px 14px;border-radius:8px; }
.single-badge-new { position:absolute;top:16px;right:16px;background:var(--green);color:#000;font-family:var(--font-mono);font-size:11px;font-weight:700;padding:5px 10px;border-radius:6px; }
.single-risparmio { background:rgba(0,255,136,.08);border:1px solid rgba(0,255,136,.2);border-radius:10px;padding:12px 16px;font-size:14px;color:var(--muted); }
.single-risparmio strong { color:var(--green); }
.single-cat-badge { display:inline-block;font-family:var(--font-mono);font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px; }
.single-title { font-family:var(--font-title);font-weight:800;font-size:36px;letter-spacing:-1px;line-height:1.1;margin-bottom:24px; }
.single-prices { display:flex;align-items:center;gap:16px;margin-bottom:28px; }
.single-price-now { font-family:var(--font-title);font-weight:800;font-size:48px;color:var(--accent);letter-spacing:-2px; }
.single-price-was { font-size:22px;color:var(--muted);text-decoration:line-through; }
.single-sconto-badge { background:var(--accent2);color:#fff;font-family:var(--font-mono);font-size:16px;font-weight:700;padding:6px 12px;border-radius:8px; }
.single-info-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px; }
.single-info-item { background:var(--surface2);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:4px; }
.single-info-label { font-family:var(--font-mono);font-size:10px;color:var(--muted);text-transform:uppercase; }
.single-info-value { font-size:14px;font-weight:500;color:var(--text); }
.single-cta { display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#000;font-weight:700;font-size:16px;padding:16px 32px;border-radius:10px;box-shadow:0 0 30px rgba(0,229,255,.3);transition:transform .2s,box-shadow .2s;margin-bottom:12px; }
.single-cta:hover { transform:translateY(-2px);box-shadow:0 0 50px rgba(0,229,255,.4); }
.single-disclaimer { font-size:12px;color:var(--muted);margin-bottom:24px; }
.single-content { background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px;font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:60px; }
.single-content h2 { font-family:var(--font-title);color:var(--text);font-size:24px;margin:24px 0 12px; }
.single-content p { margin-bottom:16px; }
.single-correlate { margin-top:60px; }
.single-correlate .section-title { font-size:26px;margin-bottom:28px; }

/* =============================================
   404
   ============================================= */
.notfound-wrap { max-width:800px;margin:0 auto;padding:100px 40px;text-align:center; }
.notfound-code { font-family:var(--font-title);font-weight:800;font-size:120px;letter-spacing:-4px;color:var(--border);line-height:1; }
.notfound-title { font-family:var(--font-title);font-weight:800;font-size:40px;letter-spacing:-1px;margin-bottom:16px; }
.notfound-desc { font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:32px; }
.notfound-search { display:flex;gap:10px;max-width:480px;margin:0 auto; }
.notfound-recent { margin-top:60px;text-align:left; }

/* =============================================
   NEWSLETTER
   ============================================= */
.newsletter { background:var(--surface);border-top:1px solid var(--border);padding:80px 40px;text-align:center;position:relative;overflow:hidden; }
.newsletter::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 50% 100%,rgba(0,229,255,.06) 0%,transparent 70%);pointer-events:none; }
.newsletter-inner { position:relative;max-width:560px;margin:0 auto; }
.newsletter h2 { font-family:var(--font-title);font-weight:800;font-size:36px;letter-spacing:-1px;margin-bottom:12px; }
.newsletter h2 .accent { color:var(--accent); }
.newsletter p { color:var(--muted);font-size:16px;margin-bottom:32px;line-height:1.6; }
.newsletter-form { display:flex;gap:10px; }
.newsletter-input { flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 18px;color:var(--text);font-size:15px;outline:none;transition:border-color .2s; }
.newsletter-input:focus { border-color:var(--accent); }
.newsletter-input::placeholder { color:var(--muted); }
.newsletter-btn { background:var(--accent);color:#000;border:none;border-radius:8px;padding:14px 24px;font-weight:700;font-size:15px;cursor:pointer;transition:opacity .2s; }
.newsletter-btn:hover { opacity:.85; }

/* =============================================
   FOOTER
   ============================================= */
.site-footer { border-top:1px solid var(--border);padding:40px;display:flex;align-items:center;justify-content:space-between; }
.footer-logo { font-family:var(--font-title);font-weight:800;font-size:18px; }
.footer-logo span { color:var(--accent); }
.footer-links { display:flex;gap:24px;list-style:none; }
.footer-links a { font-size:13px;color:var(--muted);transition:color .2s; }
.footer-links a:hover { color:var(--text); }
.footer-copy { font-size:13px;color:var(--muted); }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:1024px) {
  .categories-grid { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:900px) {
  .navbar { padding:14px 20px; }
  .nav-links { display:none;position:fixed;top:56px;left:0;right:0;background:rgba(10,10,15,.98);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;padding:20px;gap:16px;z-index:99; }
  .nav-links.open { display:flex; }
  .nav-links li { width:100%; }
  .nav-search { width:100%; }
  .nav-search input { width:100%; }
  .hamburger { display:flex; }
  .hero { padding:60px 20px 40px; }
  .hero-inner { grid-template-columns:1fr; }
  .hero-visual { display:none; }
  .section { padding:60px 20px; }
  .categories-grid { grid-template-columns:repeat(3,1fr); }
  .deals-grid { grid-template-columns:1fr 1fr; }
  .featured-deal { grid-template-columns:1fr; }
  .featured-image { display:none; }
  .single-grid { grid-template-columns:1fr; }
  .single-info-grid { grid-template-columns:1fr; }
  .filter-toolbar { flex-direction:column;align-items:flex-start; }
  .site-footer { flex-direction:column;gap:20px;text-align:center; }
  .newsletter-form { flex-direction:column; }
  .archive-hero { padding:40px 20px; }
  .archive-title { font-size:36px; }
  .single-wrap { padding:40px 20px; }
  .notfound-search { flex-direction:column; }
}
@media (max-width:600px) {
  .deals-grid { grid-template-columns:1fr; }
  .categories-grid { grid-template-columns:repeat(2,1fr); }
  .hero-actions { flex-direction:column; }
  .hero-stats { gap:20px; }
}
