/* ViesVAT — PL flag (white/red) + EU (blue/gold) themed
   Hero with EU star ring, country tiles with flag accents, decorated footer */
:root{
  /* Polska */
  --pl-red:#dc143c;
  --pl-red-dark:#a30f2d;
  --pl-white:#ffffff;
  /* EU */
  --eu-blue:#003399;
  --eu-blue-dark:#001d6e;
  --eu-gold:#ffcc00;
  /* Functional */
  --bg:#fafbfd;--surface:#f4f7fb;--ink:#0e1a2b;--muted:#5a6878;--border:#dde3ec;
  --accent:#0eaf6d;--brand:var(--eu-blue);--brand-dark:var(--eu-blue-dark);
  --shadow:0 1px 2px rgba(14,26,43,.06),0 4px 14px rgba(14,26,43,.06);
  --shadow-lg:0 8px 30px rgba(0,51,153,.12);
  --radius:12px;--max:1140px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.25;color:var(--ink);margin-top:1.6em;font-weight:700}
h1{font-size:clamp(1.9rem,3.8vw,2.6rem);margin-top:.4em}
h2{font-size:clamp(1.35rem,2.4vw,1.7rem);border-bottom:2px solid var(--border);padding-bottom:.35em}
h3{font-size:1.12rem}
p{margin:.8em 0}
ul,ol{padding-left:1.3em}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--surface);border:1px solid var(--border);border-radius:6px}
code{padding:.1em .4em;font-size:.92em;color:var(--eu-blue-dark)}
pre{padding:14px;overflow:auto;font-size:.9em}

/* HEADER — PL/EU flag stripe */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(14,26,43,.04)}
.site-header::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--pl-white) 0,var(--pl-white) 50%,var(--pl-red) 50%,var(--pl-red) 100%);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:14px 22px;gap:16px}
.brand{font-weight:800;font-size:1.2rem;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--eu-blue),var(--eu-blue-dark));box-shadow:0 2px 6px rgba(0,51,153,.3);position:relative}
.brand-icon::after{content:"";position:absolute;inset:0;border-radius:8px;background:radial-gradient(circle at center,transparent 55%,var(--eu-gold) 56%,var(--eu-gold) 58%,transparent 59%);opacity:.5}
.brand-icon svg{position:relative;width:18px;height:18px;color:#fff;z-index:1}
.brand-label{display:flex;flex-direction:column;line-height:1.1}
.brand-label small{font-size:.65rem;color:var(--muted);font-weight:500;letter-spacing:.5px;text-transform:uppercase}
.nav-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.nav-links a{color:var(--ink);font-weight:500;font-size:.96rem;position:relative;padding:4px 0}
.nav-links a:hover{color:var(--brand);text-decoration:none}
.nav-links a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--pl-red);border-radius:2px}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:1.2rem;cursor:pointer}
@media (max-width:820px){
  .nav-toggle{display:inline-block}
  .nav-links{display:none;flex-direction:column;flex-basis:100%;padding-top:12px;gap:14px}
  .nav-links.open{display:flex}
}

/* HERO — EU star ring + Polish flag stripe */
.hero{position:relative;background:linear-gradient(160deg,#eaf2ff 0%,#fff 60%,#fff 100%);padding:60px 0 50px;overflow:hidden;border-bottom:1px solid var(--border)}
.hero::before{content:"";position:absolute;top:-80px;right:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(0,51,153,.06) 0,transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--pl-white) 0,var(--pl-white) 50%,var(--pl-red) 50%,var(--pl-red) 100%)}
.hero .wrap{position:relative;z-index:1}
.hero-stars{position:absolute;top:30px;right:30px;width:160px;height:160px;opacity:.4;pointer-events:none}
@media (max-width:780px){.hero-stars{display:none}}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#fff;border:1px solid var(--border);border-radius:999px;font-size:.85rem;color:var(--muted);margin-bottom:18px;box-shadow:var(--shadow)}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(14,175,109,.2)}
.hero h1{margin:0 0 .3em;max-width:760px}
.hero h1 .accent{color:var(--eu-blue);position:relative;display:inline-block}
.hero h1 .accent::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:6px;background:var(--eu-gold);border-radius:3px;opacity:.5;z-index:-1}
.hero p.tagline{font-size:1.12rem;color:#3b4858;max-width:740px;margin:0 0 22px}
.hero-stats{display:flex;flex-wrap:wrap;gap:22px;margin-top:14px}
.hero-stat{display:flex;align-items:baseline;gap:6px}
.hero-stat strong{font-size:1.5rem;color:var(--eu-blue);font-weight:800}
.hero-stat span{font-size:.9rem;color:var(--muted)}

main{padding:32px 0 60px}
.article{padding:8px 0}
.breadcrumb{font-size:.9rem;color:var(--muted);margin:8px 0 18px}
.breadcrumb a{color:var(--muted)}
.meta-row{font-size:.88rem;color:var(--muted);display:flex;gap:14px;margin:-6px 0 20px;flex-wrap:wrap}
.section-intro{font-size:1.08rem;color:var(--ink)}

.answer-box{background:linear-gradient(135deg,#eef5ff 0%,#f6faff 100%);border-left:4px solid var(--eu-blue);padding:16px 20px;border-radius:10px;margin:20px 0;font-weight:500;box-shadow:var(--shadow)}

.toc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;margin:24px 0}
.toc h2{font-size:1rem;margin:.2em 0 .4em;border:0;padding:0;color:var(--eu-blue)}
.toc ol{margin:0;padding-left:1.2em;font-size:.95rem}
.toc li{margin:.18em 0}

.faq-item{border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin:11px 0;background:#fff;box-shadow:0 1px 2px rgba(14,26,43,.03)}
.faq-item h3{margin:.2em 0 .4em;font-size:1.02rem;color:var(--eu-blue-dark)}

/* HUB CARDS */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin:22px 0}
.card{display:block;border:1px solid var(--border);border-radius:var(--radius);padding:22px;background:#fff;box-shadow:var(--shadow);color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--eu-blue),var(--pl-red));transform:translateX(-100%);transition:transform .3s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--eu-blue);text-decoration:none}
.card:hover::before{transform:translateX(0)}
.card h3{margin:.2em 0 .5em;color:var(--eu-blue)}
.card p{color:var(--muted);margin:0;font-size:.94rem}

.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
.related a{display:block;padding:11px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.95rem;transition:border-color .15s}
.related a:hover{border-color:var(--eu-blue);text-decoration:none}

/* TOOL CARD — distinctive */
.tool-card{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);border:2px solid var(--eu-blue);border-radius:var(--radius);padding:26px;margin:22px 0;box-shadow:var(--shadow-lg);position:relative}
.tool-card::before{content:"✓ Sprawdź w bazie VIES";position:absolute;top:-12px;left:22px;background:var(--eu-blue);color:#fff;padding:4px 12px;font-size:.78rem;font-weight:600;border-radius:6px;letter-spacing:.3px}
.tool-form{display:grid;grid-template-columns:170px 1fr auto;gap:12px;align-items:end;margin-top:8px}
@media (max-width:680px){.tool-form{grid-template-columns:1fr}}
.tool-form label{display:block;font-size:.86rem;color:var(--muted);font-weight:600;margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.tool-form input,.tool-form select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:#fff;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.tool-form input:focus,.tool-form select:focus{outline:none;border-color:var(--eu-blue);box-shadow:0 0 0 3px rgba(0,51,153,.15)}
.tool-form button{padding:12px 26px;background:linear-gradient(135deg,var(--eu-blue),var(--eu-blue-dark));color:#fff;font-weight:600;border:0;border-radius:8px;cursor:pointer;font-size:1rem;box-shadow:0 2px 6px rgba(0,51,153,.3);transition:transform .1s,box-shadow .15s}
.tool-form button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,51,153,.4)}
.tool-result{margin-top:18px;padding:18px 22px;border-radius:12px;background:var(--surface);border:1px dashed var(--border);font-size:.96rem;min-height:48px;box-shadow:0 1px 2px rgba(14,26,43,.04)}
.tool-result.ok{background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);border:1px solid #10b981;color:#064e3b;box-shadow:0 4px 16px rgba(16,185,129,.12)}
.tool-result.err{background:linear-gradient(135deg,#fef2f2 0%,#fef1f1 100%);border:1px solid #ef4444;color:#7f1d1d;box-shadow:0 4px 16px rgba(239,68,68,.12)}
.tool-result.warn{background:linear-gradient(135deg,#eff6ff 0%,#f0f7ff 100%);border:1px solid #3b82f6;color:#1e3a8a;box-shadow:0 4px 16px rgba(59,130,246,.12)}

/* CARD with thematic ICON */
.card{display:flex;flex-direction:column;gap:10px}
.card-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#eef5ff 0%,#e0ecff 100%);display:inline-flex;align-items:center;justify-content:center;color:var(--eu-blue);margin-bottom:4px}
.card-icon svg{width:26px;height:26px}
.card-icon.icon-search{background:linear-gradient(135deg,#eef5ff,#dce8ff);color:#003399}
.card-icon.icon-book{background:linear-gradient(135deg,#fff4e0,#ffe5b8);color:#a05a00}
.card-icon.icon-globe{background:linear-gradient(135deg,#e0fff0,#b8f5d6);color:#0d6e44}
.card-icon.icon-code{background:linear-gradient(135deg,#f3eaff,#e0ceff);color:#5a1fbf}
.card-icon.icon-info{background:linear-gradient(135deg,#ffe5ec,#ffc8d4);color:#a30f2d}
.card-icon.icon-tool{background:linear-gradient(135deg,#fff8d6,#ffe98a);color:#7a5d00}

/* HOMEPAGE LAYOUT — main + sidebar */
.home-layout{display:grid;grid-template-columns:1fr 320px;gap:38px;margin-top:24px}
@media (max-width:980px){.home-layout{grid-template-columns:1fr}}
.home-main{min-width:0}
.home-sidebar{display:flex;flex-direction:column;gap:18px;position:sticky;top:90px;align-self:start}
@media (max-width:980px){.home-sidebar{position:static}}
.sidebar-box{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}
.sidebar-box h3{margin:0 0 12px;font-size:1rem;color:var(--eu-blue);border:0;padding:0;text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.sidebar-box ul{list-style:none;padding:0;margin:0}
.sidebar-box li{margin:.5em 0;font-size:.92rem}
.sidebar-box li a{color:var(--ink);display:flex;align-items:center;gap:8px}
.sidebar-box li a::before{content:"›";color:var(--pl-red);font-weight:700}
.sidebar-box li a:hover{color:var(--eu-blue);text-decoration:none}
.sidebar-cta{background:linear-gradient(135deg,var(--eu-blue),var(--eu-blue-dark));color:#fff;padding:22px;border-radius:var(--radius);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.sidebar-cta::after{content:"★";position:absolute;top:-12px;right:-10px;font-size:80px;color:var(--eu-gold);opacity:.18}
.sidebar-cta h3{color:#fff;margin:0 0 8px;font-size:1.05rem;border:0;padding:0}
.sidebar-cta p{color:#cfe1f7;font-size:.9rem;margin:0 0 14px;line-height:1.5}
.sidebar-cta .cta-btn{display:inline-block;background:var(--eu-gold);color:var(--eu-blue-dark);padding:9px 16px;border-radius:7px;font-weight:700;font-size:.92rem;text-decoration:none;transition:transform .12s}
.sidebar-cta .cta-btn:hover{transform:translateY(-1px);text-decoration:none}
.sidebar-flags{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.sidebar-flag{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 8px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.72rem;color:var(--muted);text-decoration:none;transition:all .15s;position:relative;overflow:hidden}
.sidebar-flag:hover{border-color:var(--eu-blue);background:#f6faff;text-decoration:none;color:var(--eu-blue);transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,51,153,.08)}
.sidebar-flag .fcode{font-weight:700;font-size:.78rem;color:var(--ink);letter-spacing:.3px}
.sidebar-flag .flag-img{display:block;width:38px;height:26px;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.08);overflow:hidden;position:relative}
/* CSS-painted flags */
.fimg-DE{background:linear-gradient(180deg,#000 0,#000 33.33%,#dd0000 33.33%,#dd0000 66.66%,#ffce00 66.66%,#ffce00 100%)}
.fimg-FR{background:linear-gradient(90deg,#0055a4 0,#0055a4 33.33%,#fff 33.33%,#fff 66.66%,#ef4135 66.66%,#ef4135 100%)}
.fimg-IT{background:linear-gradient(90deg,#009246 0,#009246 33.33%,#fff 33.33%,#fff 66.66%,#ce2b37 66.66%,#ce2b37 100%)}
.fimg-ES{background:linear-gradient(180deg,#aa151b 0,#aa151b 25%,#f1bf00 25%,#f1bf00 75%,#aa151b 75%,#aa151b 100%)}
.fimg-CZ{background:linear-gradient(180deg,#fff 0,#fff 50%,#d7141a 50%,#d7141a 100%);position:relative}
.fimg-CZ::before{content:"";position:absolute;top:0;bottom:0;left:0;width:50%;background:#11457e;clip-path:polygon(0 0, 100% 50%, 0 100%)}
.fimg-SK{background:linear-gradient(180deg,#fff 0,#fff 33.33%,#0b4ea2 33.33%,#0b4ea2 66.66%,#ee1c25 66.66%,#ee1c25 100%)}
.fimg-NL{background:linear-gradient(180deg,#ae1c28 0,#ae1c28 33.33%,#fff 33.33%,#fff 66.66%,#21468b 66.66%,#21468b 100%)}
.fimg-BE{background:linear-gradient(90deg,#000 0,#000 33.33%,#fae042 33.33%,#fae042 66.66%,#ed2939 66.66%,#ed2939 100%)}
.fimg-PL{background:linear-gradient(180deg,#fff 0,#fff 50%,#dc143c 50%,#dc143c 100%)}
.fimg-AT{background:linear-gradient(180deg,#ed2939 0,#ed2939 33.33%,#fff 33.33%,#fff 66.66%,#ed2939 66.66%,#ed2939 100%)}
.fimg-HU{background:linear-gradient(180deg,#ce2939 0,#ce2939 33.33%,#fff 33.33%,#fff 66.66%,#477050 66.66%,#477050 100%)}
.fimg-PT{background:linear-gradient(90deg,#006600 0,#006600 40%,#ff0000 40%,#ff0000 100%)}
.fimg-RO{background:linear-gradient(90deg,#002b7f 0,#002b7f 33.33%,#fcd116 33.33%,#fcd116 66.66%,#ce1126 66.66%,#ce1126 100%)}
.fimg-IE{background:linear-gradient(90deg,#169b62 0,#169b62 33.33%,#fff 33.33%,#fff 66.66%,#ff883e 66.66%,#ff883e 100%)}
.fimg-DK{background:#c8102e;position:relative}
.fimg-DK::before{content:"";position:absolute;top:0;bottom:0;left:35%;width:14%;background:#fff}
.fimg-DK::after{content:"";position:absolute;left:0;right:0;top:42%;height:16%;background:#fff}
.fimg-SE{background:#006aa7;position:relative}
.fimg-SE::before{content:"";position:absolute;top:0;bottom:0;left:32%;width:14%;background:#fecc00}
.fimg-SE::after{content:"";position:absolute;left:0;right:0;top:42%;height:16%;background:#fecc00}
.fimg-FI{background:#fff;position:relative}
.fimg-FI::before{content:"";position:absolute;top:0;bottom:0;left:32%;width:14%;background:#003580}
.fimg-FI::after{content:"";position:absolute;left:0;right:0;top:42%;height:16%;background:#003580}
.fimg-NO{background:#ef2b2d;position:relative}
.fimg-EE{background:linear-gradient(180deg,#0072ce 0,#0072ce 33.33%,#000 33.33%,#000 66.66%,#fff 66.66%,#fff 100%)}
.fimg-LV{background:linear-gradient(180deg,#9e3039 0,#9e3039 40%,#fff 40%,#fff 60%,#9e3039 60%,#9e3039 100%)}
.fimg-LT{background:linear-gradient(180deg,#fdb913 0,#fdb913 33.33%,#006a44 33.33%,#006a44 66.66%,#c1272d 66.66%,#c1272d 100%)}
.fimg-LU{background:linear-gradient(180deg,#ed2939 0,#ed2939 33.33%,#fff 33.33%,#fff 66.66%,#00a1de 66.66%,#00a1de 100%)}
.fimg-BG{background:linear-gradient(180deg,#fff 0,#fff 33.33%,#00966e 33.33%,#00966e 66.66%,#d62612 66.66%,#d62612 100%)}
.fimg-HR{background:linear-gradient(180deg,#ff0000 0,#ff0000 33.33%,#fff 33.33%,#fff 66.66%,#171796 66.66%,#171796 100%)}
.fimg-SI{background:linear-gradient(180deg,#fff 0,#fff 33.33%,#0000a0 33.33%,#0000a0 66.66%,#ff0000 66.66%,#ff0000 100%)}
.fimg-MT{background:linear-gradient(90deg,#fff 0,#fff 50%,#cf142b 50%,#cf142b 100%)}
.fimg-CY{background:#fff;position:relative}
.fimg-CY::before{content:"";position:absolute;top:32%;left:32%;right:32%;height:25%;background:#d57800;border-radius:50%/40%}
.fimg-EL{background:linear-gradient(180deg,#0d5eaf 0,#0d5eaf 11.11%,#fff 11.11%,#fff 22.22%,#0d5eaf 22.22%,#0d5eaf 33.33%,#fff 33.33%,#fff 44.44%,#0d5eaf 44.44%,#0d5eaf 55.55%,#fff 55.55%,#fff 66.66%,#0d5eaf 66.66%,#0d5eaf 77.77%,#fff 77.77%,#fff 88.88%,#0d5eaf 88.88%,#0d5eaf 100%)}
.fimg-EL::before{content:"";position:absolute;top:0;left:0;width:44%;height:55%;background:#0d5eaf}
.fimg-EL::after{content:"";position:absolute;top:11%;left:18%;width:8%;height:33%;background:#fff;box-shadow:-13px 11px 0 0 #fff,13px 11px 0 0 #fff,0 -11px 0 0 transparent}
.sidebar-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--border);font-size:.9rem}
.sidebar-stat:last-child{border-bottom:0}
.sidebar-stat strong{color:var(--eu-blue);font-size:1.05rem}

/* RESULT — richer formatting */
.tool-result.loading{background:#f6faff;border:1px solid var(--eu-blue);border-style:solid}
.tool-result.warn{background:#fff8ec;border:1px solid #e8a91a;color:#7a5d00}
.loader-wrap{display:flex;align-items:center;gap:16px}
.loader-wrap>div{flex:1}
.loader-sub{font-size:.85rem;color:var(--muted);margin-top:3px}
.loader-progress{margin-top:10px;height:4px;background:#dde6f3;border-radius:2px;overflow:hidden}
.loader-bar{height:100%;background:linear-gradient(90deg,var(--eu-blue),var(--eu-gold),var(--eu-blue));background-size:200% 100%;animation:slide 1.4s linear infinite,fill 4s linear forwards;width:0}
@keyframes slide{0%{background-position:0 0}100%{background-position:200% 0}}
@keyframes fill{to{width:100%}}
.spinner-lg{display:inline-block;width:28px;height:28px;border:3px solid #cfd9e6;border-top-color:var(--eu-blue);border-radius:50%;animation:spin .9s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}

.result-status{margin-bottom:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:14px;border-bottom:2px solid rgba(0,0,0,.08)}
.status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-weight:700;font-size:.88rem;letter-spacing:.5px;text-transform:uppercase;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.status-badge.ok{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}
.status-badge.err{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}
.status-badge.warn{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}
.demo-tag{font-size:.72rem;background:rgba(0,0,0,.08);padding:4px 10px;border-radius:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-weight:600;border:1px solid rgba(0,0,0,.05)}

.result-row{display:flex;align-items:flex-start;padding:10px 0;font-size:.95rem;border-bottom:1px solid rgba(0,0,0,.05);gap:18px}
.result-row:last-of-type{border-bottom:0}
.result-label{flex-shrink:0;min-width:200px;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;padding-top:2px}
.result-row > :not(.result-label){flex:1;color:var(--ink);font-weight:500}
@media (max-width:580px){.result-row{flex-direction:column;gap:4px;padding:8px 0}.result-label{min-width:0}}
.val-ok{color:#047857;font-weight:700}
.val-err{color:#b91c1c;font-weight:700}
.val-warn{color:#1e40af;font-weight:700}
.tool-result code{background:rgba(255,255,255,.7);padding:3px 9px;border-radius:5px;font-size:.92em;color:var(--eu-blue-dark);border:1px solid rgba(0,0,0,.06);font-weight:600}
.tool-result p{margin:14px 0 0;line-height:1.6}

/* Result toolbar */
.result-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,0,0,.08)}
.result-btn{background:#fff;border:1px solid var(--border);color:var(--ink);padding:10px 18px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;box-shadow:0 1px 2px rgba(0,0,0,.04);display:inline-flex;align-items:center;gap:6px}
.result-btn:hover{border-color:var(--eu-blue);color:var(--eu-blue);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,51,153,.12);background:#f6faff}
.result-btn:active{transform:translateY(0)}
.tool-result.warn .result-btn:hover{border-color:#3b82f6;color:#1e40af;background:#eff6ff;box-shadow:0 4px 12px rgba(59,130,246,.15)}
.tool-result.ok .result-btn:hover{border-color:#10b981;color:#047857;background:#f0fdf4;box-shadow:0 4px 12px rgba(16,185,129,.12)}
.tool-result.err .result-btn:hover{border-color:#ef4444;color:#b91c1c;background:#fef2f2;box-shadow:0 4px 12px rgba(239,68,68,.12)}

/* EXAMPLES PANEL — clickable test buttons */
.examples-panel{margin-top:22px;padding-top:20px;border-top:1px dashed var(--border)}
.examples-head{margin-bottom:10px}
.examples-head strong{display:block;color:var(--eu-blue);font-size:.95rem;margin-bottom:2px}
.examples-head small{display:block;color:var(--muted);font-size:.82rem}
.examples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:8px}
.ex-btn{display:flex;align-items:center;gap:8px;padding:9px 11px;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-family:inherit;font-size:.86rem;color:var(--ink);transition:all .15s;text-align:left;overflow:hidden}
.ex-btn:hover{border-color:var(--eu-blue);background:#f6faff;transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,51,153,.1)}
.ex-btn .flag-img{width:24px;height:16px;flex-shrink:0}
.ex-btn .ex-label{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.84rem}
.ex-btn .ex-cat{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:rgba(0,0,0,.05);padding:2px 6px;border-radius:4px;flex-shrink:0}
.ex-btn-test{border-style:dashed}
.ex-btn-test .ex-label{font-weight:500}
.ex-btn-test.ex-err:hover{border-color:#ef4444;background:#fef2f2;color:#b91c1c}
.ex-btn-test.ex-warn:hover{border-color:#f97316;background:#fff7ed;color:#c2410c}
.ex-btn-test .ex-cat{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:600}

/* COUNTRY GRID with flag dots */
.country-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.country-grid a{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--ink);font-size:.95rem;transition:all .15s}
.country-grid a::before{content:"";display:inline-block;width:18px;height:12px;border-radius:2px;background:var(--eu-blue);box-shadow:0 0 0 1px var(--border);flex-shrink:0}
.country-grid a:hover{border-color:var(--eu-blue);transform:translateY(-1px);box-shadow:var(--shadow);text-decoration:none}

table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.95rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}
th{background:var(--eu-blue);color:#fff;font-weight:600}

/* TRUST STRIP — under hero */
.trust-strip{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0}
.trust-strip-inner{display:flex;flex-wrap:wrap;justify-content:space-around;gap:18px;align-items:center;font-size:.88rem;color:var(--muted)}
.trust-item{display:inline-flex;align-items:center;gap:8px}
.trust-item svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}

/* FOOTER — rich decorated */
.site-footer{background:linear-gradient(180deg,#0a1c3d 0%,#061330 100%);color:#cfd8e6;padding:0;margin-top:60px;position:relative}
.site-footer::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--pl-white) 0,var(--pl-white) 50%,var(--pl-red) 50%,var(--pl-red) 100%)}
.footer-eu-strip{background:var(--eu-blue);color:#fff;padding:8px 0;text-align:center;font-size:.82rem;letter-spacing:.4px}
.footer-eu-strip .stars{color:var(--eu-gold);letter-spacing:2px}
.footer-main{padding:40px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:30px}
@media (max-width:780px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-brand h3{color:#fff;margin:0 0 10px;font-size:1.1rem;border:0;padding:0}
.footer-brand p{margin:0 0 16px;font-size:.92rem;color:#9fadc2;line-height:1.6}
.footer-badges{display:flex;flex-wrap:wrap;gap:8px}
.footer-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:5px 10px;border-radius:6px;font-size:.78rem;color:#cfd8e6}
.footer-col h4{color:#fff;font-size:.92rem;margin:0 0 14px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;border:0;padding:0}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin:.4em 0;font-size:.92rem}
.footer-col a{color:#cfd8e6;transition:color .12s}
.footer-col a:hover{color:var(--eu-gold);text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0 22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.85rem;color:#9fadc2}
.footer-bottom a{color:#9fadc2}
.footer-bottom a:hover{color:var(--eu-gold);text-decoration:none}
.footer-flag-pair{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;color:#9fadc2}
.mini-flag{display:inline-block;width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.flag-pl{background:linear-gradient(180deg,#fff 0,#fff 50%,var(--pl-red) 50%,var(--pl-red) 100%)}
.flag-eu{background:var(--eu-blue);position:relative}
.flag-eu::after{content:"★";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--eu-gold);font-size:8px}
