/* ── NexaCore Store CSS ──────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root {
    --nc-primary:   #4f46e5;
    --nc-primary-h: #4338ca;
    --nc-dark:      #0f172a;
    --nc-dark-2:    #1e293b;
    --nc-text:      #334155;
    --nc-muted:     #64748b;
    --nc-border:    #e2e8f0;
    --nc-surface:   #ffffff;
    --nc-surface-2: #f8fafc;
    --nc-radius:    12px;
    --nc-shadow:    0 4px 24px rgba(0,0,0,.08);
    --nc-shadow-lg: 0 12px 48px rgba(0,0,0,.14);
}
*, *::before, *::after { box-sizing: border-box; }
body { font-family: 'Inter', -apple-system, sans-serif; color: var(--nc-text); background: #fff; overflow-x: hidden; padding-top: 70px; }
body.has-statusbar { padding-top: 110px; }

/* ── Navbar ── */
.nc-navbar { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-bottom:1px solid var(--nc-border); padding:12px 0; transition:box-shadow .2s; }
.nc-navbar.scrolled { box-shadow:0 4px 20px rgba(0,0,0,.08); }
.nc-navbar .nav-link { font-size:14px; font-weight:600; color:var(--nc-text)!important; padding:6px 14px!important; border-radius:8px; transition:all .15s; }
.nc-navbar .nav-link:hover, .nc-navbar .nav-link.active { color:var(--nc-primary)!important; background:#eef2ff; }
.nc-statusbar { position:fixed; top:58px; left:0; right:0; z-index:999; background:#fef2f2; border-bottom:1px solid #fecaca; padding:8px 0; font-size:13px; color:#b91c1c; text-align:center; }
.nc-statusbar-link { color:#b91c1c; font-weight:700; text-decoration:underline; }

/* ── Buttons ── */
.btn { font-family:'Inter',sans-serif; font-weight:600; border-radius:10px; transition:all .18s; }
.btn-primary { background:var(--nc-primary); border-color:var(--nc-primary); }
.btn-primary:hover { background:var(--nc-primary-h); border-color:var(--nc-primary-h); }
.btn-outline-primary { color:var(--nc-primary); border-color:var(--nc-primary); }
.btn-outline-primary:hover { background:var(--nc-primary); border-color:var(--nc-primary); }

/* ── Hero ── */
.store-hero { background:linear-gradient(135deg, var(--nc-dark) 0%, #1e1b4b 100%); color:#fff; padding:80px 0 100px; text-align:center; position:relative; overflow:hidden; }
.store-hero::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%234f46e5' fill-opacity='0.1'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.store-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight:800; letter-spacing:-.02em; position:relative; }
.store-hero p { font-size:1.1rem; color:#94a3b8; max-width:540px; margin:.8rem auto 0; position:relative; }
.store-hero .badge-pill { display:inline-block; background:rgba(79,70,229,.25); color:#a5b4fc; border:1px solid rgba(79,70,229,.4); border-radius:50px; padding:5px 16px; font-size:13px; font-weight:600; margin-bottom:20px; }

/* ── Filter tabs ── */
.filter-tabs { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.filter-tab { padding:8px 22px; border-radius:50px; font-size:14px; font-weight:600; border:1px solid var(--nc-border); background:#fff; color:var(--nc-muted); cursor:pointer; text-decoration:none; transition:all .15s; }
.filter-tab:hover { border-color:var(--nc-primary); color:var(--nc-primary); }
.filter-tab.active { background:var(--nc-primary); border-color:var(--nc-primary); color:#fff; }

/* ── Product cards ── */
.product-card { background:#fff; border:1px solid var(--nc-border); border-radius:var(--nc-radius); padding:28px; display:flex; flex-direction:column; transition:all .2s; height:100%; }
.product-card:hover { box-shadow:var(--nc-shadow-lg); transform:translateY(-3px); border-color:transparent; }
.product-card.featured { border-color:var(--nc-primary); position:relative; overflow:hidden; }
.product-card.featured::before { content:'Empfehlung'; position:absolute; top:14px; right:-28px; background:var(--nc-primary); color:#fff; font-size:11px; font-weight:700; padding:3px 36px; transform:rotate(45deg); }
.product-type-badge { display:inline-flex; align-items:center; gap:6px; background:#eef2ff; color:var(--nc-primary); border-radius:6px; padding:4px 10px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px; width:fit-content; }
.product-name { font-size:1.15rem; font-weight:700; color:var(--nc-dark); margin:0 0 4px; }
.product-tagline { font-size:13px; color:var(--nc-muted); margin-bottom:16px; }
.product-price { margin:16px 0; }
.product-price .amount { font-size:2rem; font-weight:800; color:var(--nc-dark); line-height:1; }
.product-price .currency { font-size:.9rem; font-weight:700; color:var(--nc-muted); margin-right:2px; vertical-align:super; }
.product-price .period { font-size:12px; color:var(--nc-muted); margin-left:2px; }
.product-price .yearly-save { font-size:11px; color:#16a34a; font-weight:600; background:#dcfce7; border-radius:4px; padding:2px 8px; margin-left:6px; }
.product-features { list-style:none; padding:0; margin:0 0 20px; flex-grow:1; }
.product-features li { display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--nc-text); padding:5px 0; border-bottom:1px solid var(--nc-surface-2); }
.product-features li:last-child { border-bottom:none; }
.product-features li i { color:#22c55e; font-size:14px; flex-shrink:0; }

/* ── Checkout ── */
.checkout-wrap { max-width: 960px; margin: 40px auto; }
.checkout-card { background:#fff; border:1px solid var(--nc-border); border-radius:var(--nc-radius); padding:32px; }
.checkout-step-badge { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; background:var(--nc-primary); color:#fff; border-radius:50%; font-size:13px; font-weight:700; flex-shrink:0; }
.order-summary-item { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--nc-surface-2); font-size:14px; }
.order-summary-item:last-child { border-bottom:none; font-size:15px; font-weight:700; }
.order-summary-total { color:var(--nc-primary); font-size:1.4rem; font-weight:800; }
.form-control, .form-select { border-radius:8px; border-color:var(--nc-border); font-size:14px; padding:10px 14px; }
.form-control:focus, .form-select:focus { border-color:var(--nc-primary); box-shadow:0 0 0 3px rgba(79,70,229,.1); }
.form-label { font-size:13px; font-weight:600; color:var(--nc-dark); }

/* ── Footer ── */
.nc-footer { background:var(--nc-dark); color:#94a3b8; padding:60px 0 0; }
.nc-footer h5 { color:#f8fafc; font-size:14px; font-weight:700; margin-bottom:16px; }
.nc-footer-brand img { filter:brightness(0) invert(1); opacity:.85; }
.nc-footer-desc { font-size:13.5px; color:#64748b; line-height:1.7; }
.nc-footer-links { list-style:none; padding:0; margin:0; }
.nc-footer-links li { margin-bottom:8px; }
.nc-footer-links a { color:#64748b; text-decoration:none; font-size:13.5px; transition:color .15s; }
.nc-footer-links a:hover { color:#e2e8f0; }
.nc-footer-divider { border-color:rgba(255,255,255,.06); margin:40px 0 24px; }
.nc-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; padding-bottom:32px; font-size:13px; color:#475569; }

/* ── Alerts ── */
.alert { border-radius:10px; font-size:14px; }
