/* Generaltrade Licencie – globálny štýl (modrá + zlatá prémiová paleta) */
:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.45rem);
  --text-xl: clamp(1.55rem, 1.2rem + 1.3vw, 2.35rem);

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.25rem;
  --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; --space-20: 5rem;

  /* Light mode – krémovo-modrá s nádychom zlata */
  --color-bg: #f5f3ee;
  --color-surface: #fcfbf8;
  --color-surface-2: #f5f1ea;
  --color-surface-offset: #ebe6de;
  --color-border: #d6d0c7;
  --color-divider: #ddd7cf;
  --color-text: #0b1f48;
  --color-text-muted: #4a5878;
  --color-text-faint: #8a93a8;
  --color-text-inverse: #fbfaf7;
  --color-primary: #1d3a78;       /* modrá */
  --color-primary-hover: #0b1f48;
  --color-primary-highlight: rgba(29,58,120,.1);
  --color-accent: #d4a64a;        /* zlatá */
  --color-accent-hover: #b8862a;
  --color-success: #3b7d28;

  --shadow-sm: 0 1px 2px rgba(11,31,72,.10);
  --shadow-md: 0 14px 40px rgba(11,31,72,.16);

  --radius-sm: .4rem; --radius-md: .65rem; --radius-lg: .95rem; --radius-xl: 1.35rem; --radius-full: 9999px;
  --font-body: 'General Sans', Inter, sans-serif;
  --font-display: 'Cabinet Grotesk', Inter, sans-serif;
  --content: 1180px;
}

[data-theme="dark"] {
  /* Dark mode – tmavá modrá s teplou zlatou */
  --color-bg: #0a1428;
  --color-surface: #0f1d3a;
  --color-surface-2: #14264a;
  --color-surface-offset: #1b3055;
  --color-border: #243a63;
  --color-divider: #1f3358;
  --color-text: #ebeef7;
  --color-text-muted: #aab5cf;
  --color-text-faint: #7a86a3;
  --color-text-inverse: #08122a;
  --color-primary: #d4a64a;        /* v tme je zlatá ako akcent */
  --color-primary-hover: #f0c168;
  --color-primary-highlight: rgba(212,166,74,.14);
  --color-accent: #d4a64a;
  --color-accent-hover: #f0c168;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.30);
  --shadow-md: 0 18px 44px rgba(0,0,0,.45);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}
body{
  min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;
  color:var(--color-text);
  background:
    radial-gradient(circle at 88% 8%, rgba(212,166,74,.14), transparent 22%),
    radial-gradient(circle at 0% 35%, rgba(29,58,120,.10), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 24%),
    var(--color-bg);
}
img,svg{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}

.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}

.skip-link{position:absolute;left:-999px;top:var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);z-index:100}
.skip-link:focus{left:var(--space-4)}

.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--color-divider);backdrop-filter:blur(16px);background:color-mix(in srgb, var(--color-bg) 78%, transparent)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0}
.brand{display:flex;align-items:center;gap:var(--space-3)}
.brand-mark{width:46px;height:46px;border-radius:14px}
.brand-name{font-family:var(--font-display);font-size:1.28rem;line-height:1;font-weight:800;color:var(--color-text)}
.brand-sub{margin-top:.18rem;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}

nav ul{display:flex;gap:var(--space-5);list-style:none;flex-wrap:wrap}
nav a{font-size:var(--text-sm);color:var(--color-text-muted)}
nav a:hover{color:var(--color-text)}
.header-actions{display:flex;align-items:center;gap:var(--space-3)}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:44px;padding:.9rem 1.2rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;transition:all .18s ease;text-align:center}
.btn-primary{background:var(--color-accent);color:#0b1f48;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}
.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}
.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}

main section{padding-block:clamp(var(--space-10),8vw,var(--space-20))}
.hero{padding-top:var(--space-12)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--space-8);align-items:center}

.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem .85rem;border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}

h1,h2,h3{font-family:var(--font-display);line-height:1.04;color:var(--color-text)}
h1{font-size:clamp(2.8rem,6vw,5rem);max-width:12ch;margin-top:var(--space-4)}
.hero-copy p{margin-top:var(--space-4);max-width:60ch;color:var(--color-text-muted)}
.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}
.hero-proof{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}

.hero-panel{background:linear-gradient(180deg,color-mix(in srgb, var(--color-surface) 92%, transparent), var(--color-surface-2));border:1px solid var(--color-border);border-radius:28px;padding:var(--space-6);box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.hero-panel::after{content:"";position:absolute;inset:auto -50px -50px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(212,166,74,.22), transparent 70%);pointer-events:none}

.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-top:var(--space-5)}
.metric{padding:var(--space-4);border-radius:18px;background:var(--color-surface-offset);border:1px solid var(--color-border)}
.metric strong{display:block;font-family:var(--font-display);font-size:1.45rem;color:var(--color-accent)}
.metric span{font-size:var(--text-sm);color:var(--color-text-muted)}

.panel-note{margin-top:var(--space-4);padding:var(--space-5);border-radius:22px;background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 12%, transparent), color-mix(in srgb, var(--color-primary) 6%, transparent));border:1px solid color-mix(in srgb, var(--color-accent) 24%, var(--color-border))}
.panel-note p{margin-top:var(--space-3);color:var(--color-text-muted)}

.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-6)}
.section-head p{max-width:64ch;color:var(--color-text-muted)}

.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}

.card,.tile,.step,.benefit,.article,.comparison,.banner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-sm)}
.card{display:flex;flex-direction:column;overflow:hidden;min-height:100%}
.card-media{padding:var(--space-5);aspect-ratio:16/10;background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 58%), linear-gradient(180deg, var(--color-surface-2), var(--color-surface-offset));border-bottom:1px solid var(--color-divider)}

.platform{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .72rem;border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.product-icon{width:68px;height:68px;margin-top:var(--space-5);display:grid;place-items:center;border-radius:20px;border:1px solid color-mix(in srgb, var(--color-accent) 35%, var(--color-border));background:rgba(212,166,74,.06);font-family:var(--font-display);font-size:1.3rem;color:var(--color-accent)}

.card-body{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);flex:1}
.card h3{font-size:1.42rem;color:var(--color-text)}
.card p,.tile p,.step p,.benefit p,.article p,.comparison p{color:var(--color-text-muted);font-size:var(--text-sm)}

.badge-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.badge{display:inline-flex;padding:.35rem .7rem;border-radius:var(--radius-full);background:var(--color-surface-offset);border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted)}

.price-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}
.price{font-family:var(--font-display);font-size:1.72rem;color:var(--color-accent)}

.card-actions{display:flex;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2)}
.card-actions .btn{flex:1}

.tile,.step,.benefit,.article,.comparison{padding:var(--space-5)}
.tile strong,.step strong,.benefit strong,.article strong,.comparison strong{display:block;margin-top:var(--space-4);font-family:var(--font-display);font-size:1.3rem;line-height:1.1;color:var(--color-text)}
.tile small{display:block;margin-top:var(--space-4);font-size:var(--text-xs);font-weight:700;color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase}

.banner{padding:var(--space-6);background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent) 12%, transparent), color-mix(in srgb, var(--color-primary) 8%, transparent))}
.banner p{margin-top:var(--space-3);color:var(--color-text-muted)}

footer{padding:var(--space-8) 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm);color:var(--color-text-muted);background:color-mix(in srgb, var(--color-surface) 60%, transparent)}
.footer-row{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;align-items:flex-start}
.footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.footer-nav a{color:var(--color-text-muted)}
.footer-nav a:hover{color:var(--color-accent)}
.disclaimer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-divider);max-width:80ch}

/* Legal pages – clean reading layout */
.legal-page{padding:var(--space-12) 0 var(--space-16);max-width:78ch;margin-inline:auto}
.legal-page h1{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:var(--space-4)}
.legal-page h2{font-size:1.55rem;margin-top:var(--space-8);margin-bottom:var(--space-3)}
.legal-page h3{font-size:1.2rem;margin-top:var(--space-5);margin-bottom:var(--space-2)}
.legal-page p,.legal-page li{color:var(--color-text-muted);margin-bottom:var(--space-3)}
.legal-page ul,.legal-page ol{padding-left:var(--space-5);margin-bottom:var(--space-4)}
.legal-page a{color:var(--color-accent);text-decoration:underline}
.legal-page strong{color:var(--color-text)}
.legal-toc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-8)}
.legal-toc strong{display:block;font-family:var(--font-display);margin-bottom:var(--space-2);color:var(--color-text)}
.legal-toc ol{margin-bottom:0;padding-left:var(--space-5)}
.legal-meta{font-size:var(--text-sm);color:var(--color-text-faint);margin-bottom:var(--space-6)}

/* Cookie banner */
.cookie-banner{position:fixed;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);z-index:200;
  background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-md);padding:var(--space-5)}
.cookie-banner[hidden]{display:none}
.cookie-inner{display:flex;gap:var(--space-5);align-items:center;justify-content:space-between;flex-wrap:wrap}
.cookie-text{flex:1;min-width:280px}
.cookie-text strong{display:block;font-family:var(--font-display);font-size:1.1rem;color:var(--color-text);margin-bottom:.25rem}
.cookie-text p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:62ch}
.cookie-text a{color:var(--color-accent);text-decoration:underline}
.cookie-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}

@media (max-width:1080px){
  .hero-grid,.cards-4,.cards-3,.cta-box{grid-template-columns:1fr 1fr}
  nav{display:none}
}
@media (max-width:720px){
  .container{width:min(calc(100% - 1.25rem),var(--content))}
  .hero-grid,.cards-4,.cards-3,.cta-box,.metrics{grid-template-columns:1fr}
  .header-row,.section-head,.footer-row{flex-direction:column;align-items:flex-start}
  .header-actions{width:100%;justify-content:space-between}
  .card-actions{flex-direction:column}
  .hero{padding-top:var(--space-8)}
  .cookie-banner{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);padding:var(--space-4)}
  .cookie-actions{width:100%}
  .cookie-actions .btn{flex:1}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.btn{transition:none}}
