/* =========================================================================
   BANNER VISUAL PASS V2 - clearer elemental FX + distinct country identities
   ========================================================================= */
[data-cosmetic-banner] > * { position:relative; z-index:5; }
[data-cosmetic-banner]::after {
    pointer-events:none;
    position:absolute;
    z-index:3;
}

/* ELEMENTS: deliberately more literal so the theme reads instantly. */
[data-cosmetic-banner="fire"] {
    box-shadow:0 0 0 1px #fb923ccc,0 0 16px #ef444455,0 0 34px -9px #f97316aa;
    background-image:radial-gradient(circle at 50% 112%,rgba(239,68,68,.20),transparent 42%);
}
[data-cosmetic-banner="fire"]::before {
    padding:3px;
    background-image:linear-gradient(115deg,#7f1d1d 0 8%,#ef4444 15%,#fb923c 27%,#fde047 35%,#f97316 44%,#ef4444 58%,#fde047 72%,#fb923c 84%,#7f1d1d 100%);
    background-size:260% 100%;
    animation:banner-fire-border 2.2s linear infinite;
}
[data-cosmetic-banner="fire"]::after {
    content:"🔥  🔥  🔥";
    left:8%; right:8%; bottom:-10px;
    height:31px;
    display:flex; align-items:flex-end; justify-content:space-around;
    font-size:17px; line-height:1;
    filter:drop-shadow(0 0 7px #f97316);
    opacity:.9;
    animation:banner-fire-flames 1.35s ease-in-out infinite alternate;
}

[data-cosmetic-banner="snow"] {
    box-shadow:0 0 0 1px #e0f2fe,0 0 18px #7dd3fc66,0 0 36px -12px #60a5facc;
    background-image:linear-gradient(145deg,rgba(224,242,254,.045),transparent 55%);
}
[data-cosmetic-banner="snow"]::before {
    padding:3px;
    background-image:repeating-linear-gradient(118deg,#fff 0 7%,#bae6fd 7% 14%,#60a5fa 14% 21%,#e0f2fe 21% 29%);
    animation:banner-snow-border 6s linear infinite;
}
[data-cosmetic-banner="snow"]::after {
    content:"❄  ·  ❅  ·  ❄";
    inset:-8px 8px auto 8px;
    color:#e0f2fe;
    font-size:14px;
    letter-spacing:.20em;
    text-align:center;
    text-shadow:0 0 8px #7dd3fc;
    animation:banner-snowflakes 3.8s ease-in-out infinite;
}

[data-cosmetic-banner="lightning"] {
    box-shadow:0 0 0 1px #67e8f9cc,0 0 19px #818cf877,0 0 36px -10px #c084fccc;
}
[data-cosmetic-banner="lightning"]::before {
    padding:3px;
    background-image:linear-gradient(118deg,#22d3ee 0 13%,#fff 14% 16%,#4338ca 17% 35%,#c084fc 36% 48%,#fff 49% 51%,#3b82f6 52% 72%,#67e8f9 73% 100%);
    background-size:240% 100%;
    animation:banner-electric-border 2.8s linear infinite,banner-lightning-flash 5.1s steps(1,end) infinite;
}
[data-cosmetic-banner="lightning"]::after {
    content:"ϟ";
    right:-7px; top:-14px;
    color:#f8fafc;
    font-size:30px;
    font-weight:900;
    transform:rotate(8deg);
    text-shadow:-3px 5px 0 #6366f1,0 0 12px #22d3ee;
    animation:banner-bolt 5.1s steps(1,end) infinite;
}

[data-cosmetic-banner="nature"] {
    box-shadow:0 0 0 1px #22c55ecc,0 0 18px #16a34a66,0 0 34px -10px #4ade80aa;
    background-image:radial-gradient(circle at 0 100%,rgba(34,197,94,.10),transparent 40%);
}
[data-cosmetic-banner="nature"]::before {
    padding:3px;
    background-image:repeating-linear-gradient(125deg,#14532d 0 10%,#22c55e 10% 18%,#86efac 18% 22%,#166534 22% 34%,#4ade80 34% 39%);
    background-size:210% 100%;
    animation:banner-vine-border 6s linear infinite;
}
[data-cosmetic-banner="nature"]::after {
    content:"🍃     🍂     🍃";
    left:5%; right:5%; top:-10px;
    height:34px;
    font-size:15px;
    letter-spacing:.08em;
    text-align:center;
    filter:drop-shadow(0 2px 5px #052e16);
    animation:banner-leaves 4.8s ease-in-out infinite;
}

/* COUNTRY BANNERS: flag watermark + country-specific border geometry. */
:is(
[data-cosmetic-banner="england"],[data-cosmetic-banner="wales"],[data-cosmetic-banner="scotland"],[data-cosmetic-banner="ireland"],
[data-cosmetic-banner="france"],[data-cosmetic-banner="south_africa"],[data-cosmetic-banner="australia"],[data-cosmetic-banner="new_zealand"],
[data-cosmetic-banner="italy"],[data-cosmetic-banner="argentina"],[data-cosmetic-banner="japan"],[data-cosmetic-banner="fiji"],
[data-cosmetic-banner="samoa"],[data-cosmetic-banner="tonga"],[data-cosmetic-banner="georgia"],[data-cosmetic-banner="portugal"],
[data-cosmetic-banner="spain"],[data-cosmetic-banner="usa"],[data-cosmetic-banner="canada"],[data-cosmetic-banner="germany"],
[data-cosmetic-banner="netherlands"],[data-cosmetic-banner="belgium"],[data-cosmetic-banner="brazil"],[data-cosmetic-banner="chile"],
[data-cosmetic-banner="uruguay"],[data-cosmetic-banner="romania"],[data-cosmetic-banner="namibia"],[data-cosmetic-banner="kenya"],
[data-cosmetic-banner="zimbabwe"],[data-cosmetic-banner="hong_kong"],[data-cosmetic-banner="singapore"],[data-cosmetic-banner="philippines"],
[data-cosmetic-banner="mexico"]
)::after {
    content:var(--banner-mark,"◆");
    right:8px; top:6px;
    font-size:22px; line-height:1;
    opacity:.72;
    filter:drop-shadow(0 2px 4px #0008);
}

/* Cross / saltire identities */
[data-cosmetic-banner="england"]::before { background-image:linear-gradient(90deg,#fff 0 40%,#dc2626 40% 59%,#fff 59%),linear-gradient(#fff 0 40%,#dc2626 40% 59%,#fff 59%); }
[data-cosmetic-banner="scotland"]::before { background-image:linear-gradient(35deg,transparent 43%,#fff 43% 55%,transparent 55%),linear-gradient(-35deg,#2563eb 0 43%,#fff 43% 55%,#2563eb 55%); }
[data-cosmetic-banner="georgia"]::before { background-image:linear-gradient(90deg,#fff 0 43%,#dc2626 43% 57%,#fff 57%),linear-gradient(#fff 0 43%,#dc2626 43% 57%,#fff 57%); }
[data-cosmetic-banner="tonga"]::before { background-image:linear-gradient(90deg,#fff 0 34%,#dc2626 34% 100%); }

/* Tricolours */
[data-cosmetic-banner="ireland"]::before,[data-cosmetic-banner="italy"]::before,[data-cosmetic-banner="mexico"]::before { background-image:linear-gradient(90deg,#16a34a 0 33%,#fff 33% 66%,#f97316 66%); }
[data-cosmetic-banner="italy"]::before,[data-cosmetic-banner="mexico"]::before { background-image:linear-gradient(90deg,#16a34a 0 33%,#fff 33% 66%,#ef4444 66%); }
[data-cosmetic-banner="france"]::before { background-image:linear-gradient(90deg,#1d4ed8 0 33%,#fff 33% 66%,#ef4444 66%); }
[data-cosmetic-banner="romania"]::before { background-image:linear-gradient(90deg,#2563eb 0 33%,#facc15 33% 66%,#dc2626 66%); }
[data-cosmetic-banner="belgium"]::before { background-image:linear-gradient(90deg,#111827 0 33%,#facc15 33% 66%,#dc2626 66%); }
[data-cosmetic-banner="germany"]::before { background-image:linear-gradient(#111827 0 33%,#dc2626 33% 66%,#facc15 66%); }
[data-cosmetic-banner="netherlands"]::before { background-image:linear-gradient(#dc2626 0 33%,#fff 33% 66%,#2563eb 66%); }
[data-cosmetic-banner="spain"]::before { background-image:linear-gradient(#dc2626 0 27%,#facc15 27% 73%,#dc2626 73%); }

/* Rugby identities with more distinctive geometry. */
[data-cosmetic-banner="wales"]::before { background-image:linear-gradient(#fff 0 47%,#16a34a 47%),linear-gradient(115deg,transparent 35%,#dc2626 36% 57%,transparent 58%); }
[data-cosmetic-banner="south_africa"]::before { background-image:linear-gradient(30deg,#15803d 0 34%,#facc15 34% 43%,#fff 43% 48%,#2563eb 48% 66%,#dc2626 66%); }
[data-cosmetic-banner="australia"]::before { background-image:radial-gradient(circle at 78% 25%,#facc15 0 4%,transparent 5%),radial-gradient(circle at 65% 72%,#facc15 0 4%,transparent 5%),linear-gradient(135deg,#172554 0 72%,#fff 72% 78%,#dc2626 78%); }
[data-cosmetic-banner="new_zealand"]::before { background-image:radial-gradient(circle at 75% 30%,#ef4444 0 4%,#fff 5% 6%,transparent 7%),radial-gradient(circle at 66% 70%,#ef4444 0 4%,#fff 5% 6%,transparent 7%),linear-gradient(135deg,#050505,#111827); }
[data-cosmetic-banner="argentina"]::before { background-image:linear-gradient(#7dd3fc 0 33%,#fff 33% 66%,#7dd3fc 66%),radial-gradient(circle at center,#facc15 0 9%,transparent 10%); }
[data-cosmetic-banner="japan"]::before { background-image:radial-gradient(circle at center,#dc2626 0 23%,#fff 24%); }
[data-cosmetic-banner="fiji"]::before { background-image:linear-gradient(135deg,#7dd3fc 0 68%,#fff 68% 78%,#dc2626 78%); }
[data-cosmetic-banner="samoa"]::before { background-image:linear-gradient(135deg,#1d4ed8 0 32%,#fff 32% 35%,#dc2626 35%); }
[data-cosmetic-banner="portugal"]::before { background-image:linear-gradient(90deg,#15803d 0 40%,#facc15 40% 45%,#dc2626 45%); }
[data-cosmetic-banner="usa"]::before { background-image:repeating-linear-gradient(#dc2626 0 8%,#fff 8% 16%); }
[data-cosmetic-banner="canada"]::before { background-image:linear-gradient(90deg,#dc2626 0 25%,#fff 25% 75%,#dc2626 75%); }
[data-cosmetic-banner="brazil"]::before { background-image:linear-gradient(30deg,#16a34a 0 35%,#facc15 35% 66%,#2563eb 66%); }
[data-cosmetic-banner="chile"]::before { background-image:linear-gradient(#fff 0 50%,#dc2626 50%),linear-gradient(90deg,#2563eb 0 31%,transparent 31%); }
[data-cosmetic-banner="uruguay"]::before { background-image:repeating-linear-gradient(#fff 0 11%,#7dd3fc 11% 22%); }
[data-cosmetic-banner="namibia"]::before { background-image:linear-gradient(145deg,#2563eb 0 37%,#fff 37% 41%,#dc2626 41% 58%,#fff 58% 62%,#16a34a 62%); }
[data-cosmetic-banner="kenya"]::before { background-image:linear-gradient(#111827 0 30%,#fff 30% 34%,#dc2626 34% 65%,#fff 65% 69%,#16a34a 69%); }
[data-cosmetic-banner="zimbabwe"]::before { background-image:linear-gradient(#16a34a 0 24%,#facc15 24% 48%,#dc2626 48% 72%,#111827 72%); }
[data-cosmetic-banner="hong_kong"]::before { background-image:radial-gradient(circle at center,#fff 0 8%,transparent 9%),linear-gradient(135deg,#dc2626,#991b1b); }
[data-cosmetic-banner="singapore"]::before { background-image:linear-gradient(#dc2626 0 50%,#fff 50%); }
[data-cosmetic-banner="philippines"]::before { background-image:linear-gradient(#2563eb 0 50%,#dc2626 50%),linear-gradient(135deg,#fff 0 27%,transparent 28%); }

@keyframes banner-fire-border { from{background-position:0% 50%} to{background-position:260% 50%} }
@keyframes banner-fire-flames { from{transform:translateY(3px) scaleY(.86);filter:drop-shadow(0 0 5px #ef4444)} to{transform:translateY(-3px) scaleY(1.10);filter:drop-shadow(0 0 10px #facc15)} }
@keyframes banner-snow-border { from{background-position:0 0} to{background-position:220px 0} }
@keyframes banner-snowflakes { 0%,100%{transform:translateY(-2px);opacity:.55} 50%{transform:translateY(7px);opacity:1} }
@keyframes banner-electric-border { from{background-position:0% 50%} to{background-position:240% 50%} }
@keyframes banner-lightning-flash { 0%,88%,100%{filter:brightness(1)} 89%{filter:brightness(2)} 91%{filter:brightness(.9)} 93%{filter:brightness(1.7)} }
@keyframes banner-bolt { 0%,88%,94%,100%{opacity:.45;transform:rotate(8deg) scale(.9)} 89%,92%{opacity:1;transform:rotate(2deg) scale(1.12)} }
@keyframes banner-vine-border { from{background-position:0% 50%} to{background-position:210% 50%} }
@keyframes banner-leaves { 0%,100%{transform:translate(0,-2px) rotate(-2deg);opacity:.65} 50%{transform:translate(9px,7px) rotate(5deg);opacity:1} }

@media (prefers-reduced-motion:reduce) {
    [data-cosmetic-banner]::after { animation:none!important; }
}

/* =========================================================================
   BANNER ART DIRECTION V2
   Thicker, integrated frames. No emoji decoration in the banner itself.
   ========================================================================= */

/* Every cosmetic gets a more substantial frame and a thicker feature rail. */
[data-cosmetic-banner] {
    --banner-edge: var(--banner-c1);
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 13px;
    overflow: visible;
    box-shadow:
        0 0 0 2px color-mix(in srgb, var(--banner-edge) 72%, transparent),
        0 10px 24px -18px var(--banner-c2),
        inset 0 1px 0 rgba(255,255,255,.055) !important;
}

[data-cosmetic-banner]::before,
[data-cosmetic-banner]::after {
    pointer-events: none;
    z-index: 6;
    -webkit-mask: none !important;
    mask: none !important;
    padding: 0 !important;
    opacity: 1;
}

/* ELEMENTS ---------------------------------------------------------------- */
[data-cosmetic-banner="fire"] {
    --banner-edge:#ef6a32;
    background-image:
        radial-gradient(circle at 20% 100%,rgba(239,68,68,.10),transparent 38%),
        linear-gradient(145deg,#182235,#0a1220) !important;
    box-shadow:
        0 0 0 2px #f97316cc,
        0 0 22px -5px #ef444477,
        0 16px 34px -26px #f59e0b,
        inset 0 1px 0 rgba(255,255,255,.06) !important;
}
[data-cosmetic-banner="fire"]::before {
    content:"" !important;
    position:absolute;
    left:10px; right:10px; top:-11px;
    height:18px;
    border-radius:11px 11px 5px 5px;
    background:
        radial-gradient(ellipse at 9% 105%,#ffd166 0 16%,#fb923c 17% 31%,#ef4444 32% 43%,transparent 44%),
        radial-gradient(ellipse at 25% 115%,#ffe08a 0 13%,#f97316 14% 29%,#dc2626 30% 44%,transparent 45%),
        radial-gradient(ellipse at 43% 100%,#fde68a 0 14%,#fb923c 15% 30%,#ef4444 31% 46%,transparent 47%),
        radial-gradient(ellipse at 62% 115%,#ffe08a 0 12%,#f97316 13% 28%,#dc2626 29% 43%,transparent 44%),
        radial-gradient(ellipse at 79% 100%,#fde68a 0 15%,#fb923c 16% 31%,#ef4444 32% 46%,transparent 47%),
        linear-gradient(90deg,#7c2d12,#ef4444 30%,#f59e0b 52%,#dc2626 74%,#7c2d12);
    background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,220% 100%;
    clip-path:polygon(0 64%,4% 40%,8% 61%,12% 18%,16% 58%,22% 30%,27% 65%,33% 19%,38% 58%,44% 26%,49% 64%,55% 15%,60% 57%,66% 29%,72% 62%,78% 13%,84% 56%,90% 31%,95% 60%,100% 42%,100% 100%,0 100%);
    box-shadow:0 4px 10px #ef444455;
    animation:banner-fire-rail 2.7s ease-in-out infinite !important;
}
[data-cosmetic-banner="fire"]::after {
    content:"" !important;
    position:absolute;
    left:12px; bottom:-4px;
    width:42%; height:5px;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,#ef4444 18%,#fbbf24 55%,#ef4444 85%,transparent);
    filter:blur(.2px);
    animation:banner-fire-ember 2.2s ease-in-out infinite !important;
}

[data-cosmetic-banner="snow"] {
    --banner-edge:#c7ecff;
    background-image:
        linear-gradient(180deg,rgba(224,242,254,.06),transparent 40%),
        linear-gradient(145deg,#182235,#0a1220) !important;
    box-shadow:
        0 0 0 2px #dbeafecc,
        0 0 22px -4px #7dd3fc55,
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}
[data-cosmetic-banner="snow"]::before {
    content:"" !important;
    position:absolute;
    left:10px; right:10px; top:-10px;
    height:15px;
    border-radius:10px 10px 5px 5px;
    background:
        radial-gradient(circle at 8% 0,#fff 0 3px,transparent 3.5px),
        radial-gradient(circle at 25% 30%,#dff6ff 0 2px,transparent 2.5px),
        radial-gradient(circle at 48% 0,#fff 0 3px,transparent 3.5px),
        radial-gradient(circle at 71% 35%,#bfe9ff 0 2px,transparent 2.5px),
        radial-gradient(circle at 92% 0,#fff 0 3px,transparent 3.5px),
        linear-gradient(180deg,#f8fdff 0 36%,#cbeeff 37% 68%,#7dd3fc 69% 100%);
    clip-path:polygon(0 0,100% 0,100% 58%,94% 76%,88% 58%,81% 82%,73% 62%,64% 80%,56% 60%,47% 84%,39% 61%,30% 79%,22% 58%,13% 82%,6% 64%,0 76%);
    box-shadow:0 4px 10px #7dd3fc44;
    animation:banner-snow-drift 5.5s ease-in-out infinite !important;
}
[data-cosmetic-banner="snow"]::after {
    content:"" !important;
    position:absolute;
    right:14px; bottom:-5px;
    width:34%; height:5px;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,#e0f2fe,#7dd3fc,transparent);
    opacity:.8;
}

[data-cosmetic-banner="lightning"] {
    --banner-edge:#67e8f9;
    background-image:
        radial-gradient(circle at 85% 0,rgba(129,140,248,.12),transparent 35%),
        linear-gradient(145deg,#182235,#0a1220) !important;
    box-shadow:
        0 0 0 2px #67e8f9cc,
        0 0 24px -4px #6366f188,
        inset 0 1px 0 rgba(255,255,255,.06) !important;
}
[data-cosmetic-banner="lightning"]::before {
    content:"" !important;
    position:absolute;
    left:10px; right:10px; top:-10px;
    height:15px;
    border-radius:8px;
    background:linear-gradient(90deg,#22d3ee 0 18%,#eefbff 19% 22%,#4f46e5 23% 43%,#a855f7 44% 59%,#fff 60% 62%,#3b82f6 63% 82%,#22d3ee 83% 100%);
    clip-path:polygon(0 28%,14% 28%,18% 0,27% 72%,33% 18%,40% 70%,49% 0,57% 76%,65% 24%,72% 64%,79% 10%,87% 70%,93% 30%,100% 30%,100% 100%,0 100%);
    box-shadow:0 4px 12px #6366f177;
    animation:banner-lightning-rail 4.6s steps(1,end) infinite !important;
}
[data-cosmetic-banner="lightning"]::after {
    content:"" !important;
    position:absolute;
    right:-5px; top:16px;
    width:5px; height:48%;
    border-radius:999px;
    background:linear-gradient(#67e8f9,#fff,#818cf8);
    box-shadow:0 0 11px #22d3ee;
    animation:banner-lightning-side 4.6s steps(1,end) infinite !important;
}

[data-cosmetic-banner="nature"] {
    --banner-edge:#34d399;
    background-image:
        radial-gradient(circle at 12% 100%,rgba(22,163,74,.12),transparent 34%),
        linear-gradient(145deg,#182235,#0a1220) !important;
    box-shadow:
        0 0 0 2px #22c55eaa,
        0 0 22px -5px #16a34a66,
        inset 0 1px 0 rgba(255,255,255,.055) !important;
}
[data-cosmetic-banner="nature"]::before {
    content:"" !important;
    position:absolute;
    left:9px; right:9px; top:-11px;
    height:18px;
    border-radius:12px 12px 5px 5px;
    background:
        radial-gradient(ellipse 15px 7px at 10% 58%,#86efac 0 45%,transparent 48%),
        radial-gradient(ellipse 14px 6px at 25% 35%,#22c55e 0 45%,transparent 48%),
        radial-gradient(ellipse 16px 7px at 43% 62%,#4ade80 0 45%,transparent 48%),
        radial-gradient(ellipse 14px 6px at 61% 32%,#16a34a 0 45%,transparent 48%),
        radial-gradient(ellipse 15px 7px at 78% 60%,#86efac 0 45%,transparent 48%),
        radial-gradient(ellipse 13px 6px at 92% 35%,#22c55e 0 45%,transparent 48%),
        linear-gradient(90deg,#052e16,#166534 30%,#22c55e 54%,#166534 78%,#052e16);
    background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,200% 100%;
    box-shadow:0 4px 10px #16a34a44;
    animation:banner-nature-canopy 5.8s ease-in-out infinite !important;
}
[data-cosmetic-banner="nature"]::after {
    content:"" !important;
    position:absolute;
    left:-5px; top:18%;
    width:6px; height:58%;
    border-radius:999px;
    background:linear-gradient(#14532d,#4ade80 35%,#166534 70%,#86efac);
    box-shadow:0 0 8px #22c55e55;
    transform-origin:center;
    animation:banner-vine-breathe 4.8s ease-in-out infinite !important;
}

@keyframes banner-fire-rail { 0%,100%{filter:brightness(.92) saturate(1);transform:translateY(1px)} 50%{filter:brightness(1.16) saturate(1.18);transform:translateY(-1px)} }
@keyframes banner-fire-ember { 0%,100%{opacity:.45;transform:scaleX(.88)} 50%{opacity:1;transform:scaleX(1.05)} }
@keyframes banner-snow-drift { 0%,100%{transform:translateX(0);filter:brightness(.96)} 50%{transform:translateX(2px);filter:brightness(1.08)} }
@keyframes banner-lightning-rail { 0%,86%,100%{filter:brightness(1)} 87%{filter:brightness(1.9)} 89%{filter:brightness(.88)} 91%{filter:brightness(1.55)} }
@keyframes banner-lightning-side { 0%,86%,100%{opacity:.45} 87%,91%{opacity:1} }
@keyframes banner-nature-canopy { 0%,100%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0% 0;transform:translateY(0)} 50%{background-position:1px 0,-2px 1px,2px 0,-1px 1px,2px 0,-2px 1px,100% 0;transform:translateY(1px)} }
@keyframes banner-vine-breathe { 0%,100%{transform:scaleY(.92);opacity:.72} 50%{transform:scaleY(1.05);opacity:1} }

/* COUNTRIES --------------------------------------------------------------- */
/* Country cards use a thick flag rail plus a small matching badge, instead
   of a thin neon outline. This keeps them immediately recognisable without
   turning the whole player card into a flag. */
:is(
[data-cosmetic-banner="england"],[data-cosmetic-banner="wales"],[data-cosmetic-banner="scotland"],[data-cosmetic-banner="ireland"],
[data-cosmetic-banner="france"],[data-cosmetic-banner="south_africa"],[data-cosmetic-banner="australia"],[data-cosmetic-banner="new_zealand"],
[data-cosmetic-banner="italy"],[data-cosmetic-banner="argentina"],[data-cosmetic-banner="japan"],[data-cosmetic-banner="fiji"],
[data-cosmetic-banner="samoa"],[data-cosmetic-banner="tonga"],[data-cosmetic-banner="georgia"],[data-cosmetic-banner="portugal"],
[data-cosmetic-banner="spain"],[data-cosmetic-banner="usa"],[data-cosmetic-banner="canada"],[data-cosmetic-banner="germany"],
[data-cosmetic-banner="netherlands"],[data-cosmetic-banner="belgium"],[data-cosmetic-banner="brazil"],[data-cosmetic-banner="chile"],
[data-cosmetic-banner="uruguay"],[data-cosmetic-banner="romania"],[data-cosmetic-banner="namibia"],[data-cosmetic-banner="kenya"],
[data-cosmetic-banner="zimbabwe"],[data-cosmetic-banner="hong_kong"],[data-cosmetic-banner="singapore"],[data-cosmetic-banner="philippines"],
[data-cosmetic-banner="mexico"]
) {
    background-image:linear-gradient(145deg,#182235,#0a1220) !important;
    box-shadow:
        0 0 0 2px color-mix(in srgb,var(--banner-c1) 70%,#ffffff 10%),
        0 10px 22px -20px var(--banner-c1),
        inset 0 1px 0 rgba(255,255,255,.06) !important;
}
:is(
[data-cosmetic-banner="england"],[data-cosmetic-banner="wales"],[data-cosmetic-banner="scotland"],[data-cosmetic-banner="ireland"],
[data-cosmetic-banner="france"],[data-cosmetic-banner="south_africa"],[data-cosmetic-banner="australia"],[data-cosmetic-banner="new_zealand"],
[data-cosmetic-banner="italy"],[data-cosmetic-banner="argentina"],[data-cosmetic-banner="japan"],[data-cosmetic-banner="fiji"],
[data-cosmetic-banner="samoa"],[data-cosmetic-banner="tonga"],[data-cosmetic-banner="georgia"],[data-cosmetic-banner="portugal"],
[data-cosmetic-banner="spain"],[data-cosmetic-banner="usa"],[data-cosmetic-banner="canada"],[data-cosmetic-banner="germany"],
[data-cosmetic-banner="netherlands"],[data-cosmetic-banner="belgium"],[data-cosmetic-banner="brazil"],[data-cosmetic-banner="chile"],
[data-cosmetic-banner="uruguay"],[data-cosmetic-banner="romania"],[data-cosmetic-banner="namibia"],[data-cosmetic-banner="kenya"],
[data-cosmetic-banner="zimbabwe"],[data-cosmetic-banner="hong_kong"],[data-cosmetic-banner="singapore"],[data-cosmetic-banner="philippines"],
[data-cosmetic-banner="mexico"]
)::before {
    content:"" !important;
    position:absolute;
    left:10px; right:40px; top:-10px;
    height:14px;
    border-radius:9px 3px 3px 9px;
    background:var(--country-pattern,linear-gradient(90deg,var(--banner-c1),var(--banner-c2),var(--banner-c3))) !important;
    box-shadow:0 4px 10px rgba(0,0,0,.28),0 0 8px color-mix(in srgb,var(--banner-c1) 40%,transparent);
    clip-path:polygon(0 0,100% 0,96% 100%,0 100%);
    animation:none !important;
}
:is(
[data-cosmetic-banner="england"],[data-cosmetic-banner="wales"],[data-cosmetic-banner="scotland"],[data-cosmetic-banner="ireland"],
[data-cosmetic-banner="france"],[data-cosmetic-banner="south_africa"],[data-cosmetic-banner="australia"],[data-cosmetic-banner="new_zealand"],
[data-cosmetic-banner="italy"],[data-cosmetic-banner="argentina"],[data-cosmetic-banner="japan"],[data-cosmetic-banner="fiji"],
[data-cosmetic-banner="samoa"],[data-cosmetic-banner="tonga"],[data-cosmetic-banner="georgia"],[data-cosmetic-banner="portugal"],
[data-cosmetic-banner="spain"],[data-cosmetic-banner="usa"],[data-cosmetic-banner="canada"],[data-cosmetic-banner="germany"],
[data-cosmetic-banner="netherlands"],[data-cosmetic-banner="belgium"],[data-cosmetic-banner="brazil"],[data-cosmetic-banner="chile"],
[data-cosmetic-banner="uruguay"],[data-cosmetic-banner="romania"],[data-cosmetic-banner="namibia"],[data-cosmetic-banner="kenya"],
[data-cosmetic-banner="zimbabwe"],[data-cosmetic-banner="hong_kong"],[data-cosmetic-banner="singapore"],[data-cosmetic-banner="philippines"],
[data-cosmetic-banner="mexico"]
)::after {
    content:"" !important;
    position:absolute;
    width:28px; height:28px;
    right:8px; top:-15px;
    border-radius:50%;
    background:var(--country-pattern,linear-gradient(135deg,var(--banner-c1),var(--banner-c2),var(--banner-c3))) !important;
    border:2px solid rgba(255,255,255,.55);
    box-shadow:0 4px 12px rgba(0,0,0,.45),0 0 0 2px rgba(15,23,42,.9);
    opacity:1 !important;
    filter:none !important;
    animation:none !important;
}

[data-cosmetic-banner="england"] { --country-pattern:linear-gradient(90deg,#f8fafc 0 39%,#cf1736 39% 61%,#f8fafc 61%); }
[data-cosmetic-banner="wales"] { --country-pattern:linear-gradient(180deg,#f8fafc 0 47%,#15803d 47% 100%),linear-gradient(115deg,transparent 0 40%,#b91c1c 41% 58%,transparent 59%); }
[data-cosmetic-banner="scotland"] { --country-pattern:linear-gradient(32deg,transparent 0 42%,#fff 43% 56%,transparent 57%),linear-gradient(-32deg,#1d4ed8 0 42%,#fff 43% 56%,#1d4ed8 57%); }
[data-cosmetic-banner="ireland"] { --country-pattern:linear-gradient(90deg,#169b62 0 33%,#fff 33% 66%,#ff883e 66%); }
[data-cosmetic-banner="france"] { --country-pattern:linear-gradient(90deg,#1f3f91 0 33%,#fff 33% 66%,#e33b4d 66%); }
[data-cosmetic-banner="south_africa"] { --country-pattern:linear-gradient(28deg,#007749 0 30%,#ffb81c 30% 38%,#fff 38% 43%,#001489 43% 61%,#de3831 61% 100%); }
[data-cosmetic-banner="australia"] { --country-pattern:radial-gradient(circle at 75% 40%,#fff 0 7%,transparent 8%),radial-gradient(circle at 90% 70%,#fff 0 5%,transparent 6%),linear-gradient(135deg,#012169 0 70%,#fff 70% 76%,#c8102e 76%); }
[data-cosmetic-banner="new_zealand"] { --country-pattern:radial-gradient(circle at 76% 35%,#cc142b 0 7%,#fff 8% 10%,transparent 11%),radial-gradient(circle at 89% 70%,#cc142b 0 5%,#fff 6% 8%,transparent 9%),linear-gradient(135deg,#050505,#121826); }
[data-cosmetic-banner="italy"] { --country-pattern:linear-gradient(90deg,#009246 0 33%,#fff 33% 66%,#ce2b37 66%); }
[data-cosmetic-banner="argentina"] { --country-pattern:radial-gradient(circle at center,#f6c344 0 8%,transparent 9%),linear-gradient(180deg,#75aadb 0 33%,#fff 33% 66%,#75aadb 66%); }
[data-cosmetic-banner="japan"] { --country-pattern:radial-gradient(circle at center,#bc002d 0 22%,#fff 23%); }
[data-cosmetic-banner="fiji"] { --country-pattern:linear-gradient(135deg,#68bfe5 0 66%,#fff 66% 74%,#cf142b 74%); }
[data-cosmetic-banner="samoa"] { --country-pattern:linear-gradient(135deg,#002b7f 0 30%,#fff 30% 33%,#ce1126 33%); }
[data-cosmetic-banner="tonga"] { --country-pattern:linear-gradient(90deg,#fff 0 33%,#c10000 33%); }
[data-cosmetic-banner="georgia"] { --country-pattern:linear-gradient(90deg,#fff 0 43%,#ff0000 43% 57%,#fff 57%); }
[data-cosmetic-banner="portugal"] { --country-pattern:linear-gradient(90deg,#046a38 0 39%,#f6c343 39% 44%,#da291c 44%); }
[data-cosmetic-banner="spain"] { --country-pattern:linear-gradient(180deg,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%); }
[data-cosmetic-banner="usa"] { --country-pattern:linear-gradient(90deg,#3c3b6e 0 31%,transparent 31%),repeating-linear-gradient(180deg,#b22234 0 8%,#fff 8% 16%); }
[data-cosmetic-banner="canada"] { --country-pattern:linear-gradient(90deg,#d80621 0 25%,#fff 25% 75%,#d80621 75%); }
[data-cosmetic-banner="germany"] { --country-pattern:linear-gradient(180deg,#111 0 33%,#dd0000 33% 66%,#ffce00 66%); }
[data-cosmetic-banner="netherlands"] { --country-pattern:linear-gradient(180deg,#ae1c28 0 33%,#fff 33% 66%,#21468b 66%); }
[data-cosmetic-banner="belgium"] { --country-pattern:linear-gradient(90deg,#111 0 33%,#fdda24 33% 66%,#ef3340 66%); }
[data-cosmetic-banner="brazil"] { --country-pattern:radial-gradient(circle at center,#002776 0 16%,transparent 17%),linear-gradient(28deg,#009c3b 0 35%,#ffdf00 35% 67%,#009c3b 67%); }
[data-cosmetic-banner="chile"] { --country-pattern:linear-gradient(90deg,#0039a6 0 30%,transparent 30%),linear-gradient(180deg,#fff 0 50%,#d52b1e 50%); }
[data-cosmetic-banner="uruguay"] { --country-pattern:radial-gradient(circle at 12% 28%,#fcd116 0 8%,transparent 9%),repeating-linear-gradient(180deg,#fff 0 12%,#5bbbd8 12% 22%); }
[data-cosmetic-banner="romania"] { --country-pattern:linear-gradient(90deg,#002b7f 0 33%,#fcd116 33% 66%,#ce1126 66%); }
[data-cosmetic-banner="namibia"] { --country-pattern:linear-gradient(145deg,#003580 0 36%,#fff 36% 40%,#d21034 40% 58%,#fff 58% 62%,#009543 62%); }
[data-cosmetic-banner="kenya"] { --country-pattern:linear-gradient(180deg,#111 0 28%,#fff 28% 34%,#bb0000 34% 64%,#fff 64% 70%,#006600 70%); }
[data-cosmetic-banner="zimbabwe"] { --country-pattern:linear-gradient(180deg,#319208 0 24%,#ffd200 24% 48%,#de2010 48% 72%,#111 72%); }
[data-cosmetic-banner="hong_kong"] { --country-pattern:radial-gradient(circle at center,#fff 0 9%,transparent 10%),linear-gradient(135deg,#de2910,#a71912); }
[data-cosmetic-banner="singapore"] { --country-pattern:linear-gradient(180deg,#ef3340 0 50%,#fff 50%); }
[data-cosmetic-banner="philippines"] { --country-pattern:linear-gradient(135deg,#fff 0 27%,transparent 28%),linear-gradient(180deg,#0038a8 0 50%,#ce1126 50%); }
[data-cosmetic-banner="mexico"] { --country-pattern:linear-gradient(90deg,#006847 0 33%,#fff 33% 66%,#ce1126 66%); }

/* The old emoji-style element overlays are intentionally suppressed. */
[data-cosmetic-banner="fire"]::after,
[data-cosmetic-banner="snow"]::after,
[data-cosmetic-banner="lightning"]::after,
[data-cosmetic-banner="nature"]::after { font-size:0 !important; letter-spacing:0 !important; }

@media (prefers-reduced-motion:reduce) {
    [data-cosmetic-banner="fire"]::before,
    [data-cosmetic-banner="fire"]::after,
    [data-cosmetic-banner="snow"]::before,
    [data-cosmetic-banner="lightning"]::before,
    [data-cosmetic-banner="lightning"]::after,
    [data-cosmetic-banner="nature"]::before,
    [data-cosmetic-banner="nature"]::after { animation:none !important; }
}

/* =========================================================================
   BANNER VISUAL PASS V3 - restrained, premium, integrated
   ========================================================================= */

/* Cleaner shared shell. Cosmetics should feel built into the card, not stuck on. */
[data-cosmetic-banner] {
    border-radius: 14px !important;
    border: 1px solid rgba(148,163,184,.22) !important;
    background: linear-gradient(180deg, rgba(17,24,39,.98), rgba(12,18,31,.98)) !important;
    box-shadow: 0 12px 26px -22px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.025) !important;
    overflow: visible !important;
}

/* Remove the V2 circular country medallion / badge. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content: none !important;
    display: none !important;
}

/* Country cards use one substantial integrated ribbon, with a quiet lower accent. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    left: 12px !important;
    right: 12px !important;
    top: -5px !important;
    height: 11px !important;
    border-radius: 999px !important;
    background: var(--country-pattern, linear-gradient(90deg,var(--banner-c1),var(--banner-c2),var(--banner-c3))) !important;
    background-size: 100% 100% !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.28), 0 0 0 1px rgba(0,0,0,.18) !important;
    filter: saturate(.90) brightness(.95) !important;
    clip-path: none !important;
    animation: none !important;
    opacity: .98 !important;
}

/* Thin colour echo at the bottom keeps the identity without framing every edge. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) {
    box-shadow:
      inset 0 -2px 0 color-mix(in srgb, var(--banner-c1) 54%, transparent),
      0 12px 26px -22px rgba(0,0,0,.95),
      inset 0 1px 0 rgba(255,255,255,.025) !important;
}

/* Element banners: richer material treatment, no icons or cartoon symbols. */
[data-cosmetic-banner="fire"],
[data-cosmetic-banner="snow"],
[data-cosmetic-banner="lightning"],
[data-cosmetic-banner="nature"] {
    border-color: rgba(148,163,184,.20) !important;
    overflow: visible !important;
}

/* FIRE: molten upper edge. Soft overlapping heat pockets read as flame without clipart. */
[data-cosmetic-banner="fire"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    left:10px !important;
    right:10px !important;
    top:-7px !important;
    height:16px !important;
    border-radius:999px 999px 7px 7px !important;
    background:
      radial-gradient(18px 16px at 9% 100%, rgba(255,203,84,.95) 0 34%, rgba(249,115,22,.92) 36% 58%, transparent 60%),
      radial-gradient(20px 18px at 25% 100%, rgba(255,177,48,.94) 0 31%, rgba(239,68,68,.9) 34% 60%, transparent 62%),
      radial-gradient(22px 20px at 46% 100%, rgba(255,213,103,.95) 0 28%, rgba(249,115,22,.94) 31% 58%, transparent 61%),
      radial-gradient(18px 17px at 67% 100%, rgba(255,183,56,.94) 0 30%, rgba(239,68,68,.9) 33% 59%, transparent 61%),
      radial-gradient(19px 18px at 87% 100%, rgba(255,203,84,.95) 0 30%, rgba(249,115,22,.92) 33% 60%, transparent 62%),
      linear-gradient(90deg,#c2410c,#ef4444 38%,#f59e0b 63%,#c2410c) !important;
    box-shadow:0 4px 15px rgba(234,88,12,.30), inset 0 -3px 5px rgba(127,29,29,.42) !important;
    border:1px solid rgba(255,183,77,.28) !important;
    clip-path:none !important;
    animation:banner-fire-pro 3.2s ease-in-out infinite !important;
}
[data-cosmetic-banner="fire"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:18px !important;
    right:18px !important;
    bottom:-3px !important;
    height:4px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,transparent,#ea580c 20%,#f59e0b 52%,#ef4444 80%,transparent) !important;
    filter:blur(1px) !important;
    opacity:.72 !important;
    animation:none !important;
}

/* SNOW: a compressed frost ridge, more material than decorative. */
[data-cosmetic-banner="snow"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    left:11px !important;
    right:11px !important;
    top:-6px !important;
    height:13px !important;
    border-radius:999px 999px 6px 6px !important;
    background:
      radial-gradient(18px 9px at 10% 95%,#fff 0 53%,transparent 56%),
      radial-gradient(22px 10px at 30% 100%,#dff6ff 0 55%,transparent 58%),
      radial-gradient(18px 9px at 52% 95%,#fff 0 50%,transparent 53%),
      radial-gradient(22px 10px at 72% 100%,#dff6ff 0 54%,transparent 57%),
      radial-gradient(18px 9px at 91% 95%,#fff 0 53%,transparent 56%),
      linear-gradient(90deg,#d9f3ff,#7dd3fc 42%,#eaf9ff 72%,#9bdcff) !important;
    box-shadow:0 4px 14px rgba(125,211,252,.18), inset 0 -2px 4px rgba(14,116,144,.20) !important;
    border:1px solid rgba(224,242,254,.58) !important;
    clip-path:none !important;
    animation:banner-snow-pro 6s ease-in-out infinite !important;
}
[data-cosmetic-banner="snow"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:20px !important;
    right:20px !important;
    bottom:-2px !important;
    height:3px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,transparent,#7dd3fc 25%,#fff 52%,#60a5fa 78%,transparent) !important;
    opacity:.46 !important;
    animation:none !important;
}

/* LIGHTNING: angular conductive rail, no bolt glyph. */
[data-cosmetic-banner="lightning"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    left:11px !important;
    right:11px !important;
    top:-6px !important;
    height:13px !important;
    border-radius:7px !important;
    background:linear-gradient(90deg,#0f172a 0 10%,#22d3ee 10% 24%,#312e81 24% 40%,#a855f7 40% 55%,#2563eb 55% 72%,#22d3ee 72% 89%,#0f172a 89%) !important;
    clip-path:polygon(0 38%,8% 38%,12% 0,20% 38%,31% 38%,36% 100%,43% 38%,57% 38%,62% 0,68% 38%,82% 38%,88% 100%,92% 38%,100% 38%,100% 100%,0 100%) !important;
    border:0 !important;
    box-shadow:0 4px 13px rgba(59,130,246,.20) !important;
    animation:banner-lightning-pro 5s steps(1,end) infinite !important;
}
[data-cosmetic-banner="lightning"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    right:-3px !important;
    top:25% !important;
    width:3px !important;
    height:50% !important;
    border-radius:999px !important;
    background:linear-gradient(#22d3ee,#8b5cf6,#22d3ee) !important;
    box-shadow:0 0 10px rgba(34,211,238,.45) !important;
    opacity:.55 !important;
    animation:banner-lightning-side-pro 5s steps(1,end) infinite !important;
}

/* NATURE: dense canopy and a quiet vine. Leaf shapes are CSS ellipses, not emoji. */
[data-cosmetic-banner="nature"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    left:10px !important;
    right:10px !important;
    top:-7px !important;
    height:16px !important;
    border-radius:999px 999px 7px 7px !important;
    background:
      radial-gradient(10px 6px at 8% 52%,#86efac 0 45%,transparent 48%),
      radial-gradient(12px 7px at 18% 38%,#4ade80 0 46%,transparent 49%),
      radial-gradient(10px 6px at 31% 58%,#bbf7d0 0 44%,transparent 47%),
      radial-gradient(13px 7px at 44% 35%,#22c55e 0 46%,transparent 49%),
      radial-gradient(11px 6px at 58% 57%,#86efac 0 45%,transparent 48%),
      radial-gradient(13px 7px at 72% 38%,#4ade80 0 46%,transparent 49%),
      radial-gradient(10px 6px at 87% 55%,#bbf7d0 0 44%,transparent 47%),
      linear-gradient(90deg,#14532d,#15803d 40%,#166534 70%,#14532d) !important;
    border:1px solid rgba(74,222,128,.22) !important;
    box-shadow:0 4px 14px rgba(22,163,74,.18), inset 0 -3px 5px rgba(5,46,22,.45) !important;
    clip-path:none !important;
    animation:banner-nature-pro 5.5s ease-in-out infinite !important;
}
[data-cosmetic-banner="nature"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:14px !important;
    top:18% !important;
    width:3px !important;
    height:64% !important;
    border-radius:999px !important;
    background:linear-gradient(#22c55e,#14532d) !important;
    box-shadow:4px 10px 0 -1px #166534, -3px 23px 0 -1px #15803d !important;
    opacity:.68 !important;
    animation:banner-nature-vine-pro 4.8s ease-in-out infinite !important;
}

/* Keep the shop copy clean: section headings only. */
.unr-shop-section-title > p { display:none !important; }

@keyframes banner-fire-pro {
  0%,100%{transform:translateY(0) scaleY(.96);filter:saturate(.96) brightness(.98)}
  50%{transform:translateY(-1px) scaleY(1.04);filter:saturate(1.08) brightness(1.05)}
}
@keyframes banner-snow-pro {
  0%,100%{filter:brightness(.98);transform:translateY(0)}
  50%{filter:brightness(1.05);transform:translateY(.5px)}
}
@keyframes banner-lightning-pro {
  0%,86%,100%{filter:brightness(1)} 87%{filter:brightness(1.35)} 89%{filter:brightness(.96)} 91%{filter:brightness(1.22)}
}
@keyframes banner-lightning-side-pro { 0%,86%,100%{opacity:.5} 87%,91%{opacity:.92} }
@keyframes banner-nature-pro {
  0%,100%{transform:translateX(0);filter:saturate(.94)} 50%{transform:translateX(1px);filter:saturate(1.04)}
}
@keyframes banner-nature-vine-pro { 0%,100%{transform:scaleY(.96);opacity:.62} 50%{transform:scaleY(1.03);opacity:.78} }

@media (prefers-reduced-motion: reduce) {
  [data-cosmetic-banner]::before,
  [data-cosmetic-banner]::after { animation:none !important; }
}

/* =========================================================================
   BANNER VISUAL PASS V4 - premium sports-card trim
   Less novelty graphic, more integrated identity system.
   ========================================================================= */

/* Reset previous decorative rails into a cleaner premium card shell. */
[data-cosmetic-banner] {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    background:
      radial-gradient(circle at 84% 18%, rgba(255,255,255,.025), transparent 28%),
      linear-gradient(180deg, rgba(17,24,39,.99), rgba(11,17,29,.99)) !important;
    box-shadow:
      0 16px 30px -26px rgba(0,0,0,.95),
      inset 0 1px 0 rgba(255,255,255,.025) !important;
}

/* Hide every old gimmick. V4 rebuilds the trim from scratch. */
[data-cosmetic-banner]::before,
[data-cosmetic-banner]::after {
    content: "" !important;
    position: absolute !important;
    pointer-events: none !important;
    display: block !important;
    clip-path: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    filter: none !important;
    opacity: 1 !important;
    animation: none !important;
}

/* -------------------------------------------------------------------------
   COUNTRY BANNERS
   A restrained flag-textured side blade + thin top identity seam.
   ------------------------------------------------------------------------- */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    left: 0 !important;
    top: 9px !important;
    bottom: 9px !important;
    width: 12px !important;
    height: auto !important;
    right: auto !important;
    background: var(--country-pattern, linear-gradient(180deg,var(--banner-c1),var(--banner-c2),var(--banner-c3))) !important;
    background-size: cover !important;
    background-position: center !important;
    box-shadow:
      inset -1px 0 0 rgba(255,255,255,.16),
      3px 0 12px rgba(0,0,0,.24) !important;
    filter: saturate(.72) brightness(.88) !important;
}

[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    left: 12px !important;
    right: 18px !important;
    top: 0 !important;
    width: auto !important;
    height: 3px !important;
    bottom: auto !important;
    background:
      linear-gradient(90deg,
        color-mix(in srgb, var(--banner-c1) 82%, white 6%) 0%,
        color-mix(in srgb, var(--banner-c2) 74%, transparent) 42%,
        color-mix(in srgb, var(--banner-c3) 48%, transparent) 68%,
        transparent 100%) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.03) !important;
}

[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) {
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.008),
      0 16px 30px -26px rgba(0,0,0,.95) !important;
}

/* Keep each country's existing flag recipe, but make difficult dark flags readable. */
[data-cosmetic-banner="new_zealand"]::before,
[data-cosmetic-banner="germany"]::before,
[data-cosmetic-banner="belgium"]::before,
[data-cosmetic-banner="kenya"]::before {
    box-shadow:
      inset -1px 0 0 rgba(255,255,255,.20),
      inset 1px 0 0 rgba(255,255,255,.05),
      3px 0 12px rgba(0,0,0,.26) !important;
    filter: saturate(.82) brightness(1.08) !important;
}

/* -------------------------------------------------------------------------
   ELEMENT BANNERS
   Same premium architecture, each with a material instead of literal icons.
   ------------------------------------------------------------------------- */
[data-cosmetic-banner="fire"]::before,
[data-cosmetic-banner="snow"]::before,
[data-cosmetic-banner="lightning"]::before,
[data-cosmetic-banner="nature"]::before {
    left: 0 !important;
    top: 8px !important;
    bottom: 8px !important;
    width: 14px !important;
    height: auto !important;
    right: auto !important;
    box-shadow:
      inset -1px 0 0 rgba(255,255,255,.14),
      3px 0 14px rgba(0,0,0,.28) !important;
}

[data-cosmetic-banner="fire"]::after,
[data-cosmetic-banner="snow"]::after,
[data-cosmetic-banner="lightning"]::after,
[data-cosmetic-banner="nature"]::after {
    left: 14px !important;
    right: 16px !important;
    top: 0 !important;
    width: auto !important;
    height: 3px !important;
    bottom: auto !important;
}

/* FIRE: dark forged metal with a molten copper core, not cartoon flames. */
[data-cosmetic-banner="fire"]::before {
    background:
      radial-gradient(circle at 45% 18%, rgba(255,206,91,.92) 0 7%, transparent 8%),
      radial-gradient(circle at 58% 44%, rgba(251,146,60,.90) 0 8%, transparent 9%),
      radial-gradient(circle at 40% 72%, rgba(239,68,68,.84) 0 7%, transparent 8%),
      linear-gradient(180deg,#4b160d 0%,#c2410c 28%,#f97316 50%,#991b1b 76%,#3f120d 100%) !important;
}
[data-cosmetic-banner="fire"]::after {
    background: linear-gradient(90deg,#fb923c 0%,#f59e0b 28%,#ef4444 58%,rgba(127,29,29,.15) 84%,transparent) !important;
    box-shadow: 0 0 8px rgba(249,115,22,.16) !important;
}
[data-cosmetic-banner="fire"] {
    box-shadow:
      inset 14px 0 28px -24px rgba(249,115,22,.5),
      0 16px 30px -26px rgba(0,0,0,.95) !important;
}

/* SNOW: translucent glacier edge, cool rather than festive. */
[data-cosmetic-banner="snow"]::before {
    background:
      linear-gradient(180deg,rgba(255,255,255,.96),#dff6ff 20%,#7dd3fc 48%,#0ea5e9 72%,#164e63 100%) !important;
}
[data-cosmetic-banner="snow"]::after {
    background: linear-gradient(90deg,#f8fdff 0%,#bae6fd 34%,#7dd3fc 62%,rgba(14,165,233,.12) 88%,transparent) !important;
    box-shadow: 0 0 8px rgba(125,211,252,.13) !important;
}
[data-cosmetic-banner="snow"] {
    box-shadow:
      inset 14px 0 28px -24px rgba(186,230,253,.48),
      0 16px 30px -26px rgba(0,0,0,.95) !important;
}

/* LIGHTNING: graphite/electric conductor strip with a subtle pulse. */
[data-cosmetic-banner="lightning"]::before {
    background:
      linear-gradient(180deg,#111827 0 18%,#22d3ee 19% 26%,#312e81 27% 48%,#8b5cf6 49% 61%,#2563eb 62% 78%,#0f172a 79%) !important;
    animation: banner-v4-electric 5.4s ease-in-out infinite !important;
}
[data-cosmetic-banner="lightning"]::after {
    background: linear-gradient(90deg,#22d3ee 0%,#60a5fa 32%,#8b5cf6 58%,rgba(34,211,238,.08) 88%,transparent) !important;
    animation: banner-v4-electric-line 5.4s ease-in-out infinite !important;
}
[data-cosmetic-banner="lightning"] {
    box-shadow:
      inset 14px 0 28px -24px rgba(34,211,238,.42),
      0 16px 30px -26px rgba(0,0,0,.95) !important;
}

/* NATURE: deep forest material with leaf-vein geometry, no leaf blobs. */
[data-cosmetic-banner="nature"]::before {
    background:
      linear-gradient(155deg,transparent 0 42%,rgba(187,247,208,.24) 43% 45%,transparent 46% 100%),
      linear-gradient(25deg,transparent 0 36%,rgba(74,222,128,.20) 37% 39%,transparent 40% 100%),
      linear-gradient(180deg,#0f3d24,#166534 38%,#15803d 58%,#0f5132 78%,#0b2e1c) !important;
    animation: banner-v4-nature 6.5s ease-in-out infinite !important;
}
[data-cosmetic-banner="nature"]::after {
    background: linear-gradient(90deg,#4ade80 0%,#22c55e 34%,#15803d 66%,rgba(20,83,45,.08) 90%,transparent) !important;
}
[data-cosmetic-banner="nature"] {
    box-shadow:
      inset 14px 0 28px -24px rgba(34,197,94,.42),
      0 16px 30px -26px rgba(0,0,0,.95) !important;
}

/* Keep content visually above the trim without changing layout. */
[data-cosmetic-banner] > * {
    position: relative;
    z-index: 1;
}

@keyframes banner-v4-electric {
    0%,86%,100% { filter: brightness(1); }
    88% { filter: brightness(1.28); }
    90% { filter: brightness(.98); }
    92% { filter: brightness(1.12); }
}
@keyframes banner-v4-electric-line {
    0%,86%,100% { opacity:.92; }
    88% { opacity:1; box-shadow:0 0 10px rgba(34,211,238,.22); }
    90% { opacity:.78; }
}
@keyframes banner-v4-nature {
    0%,100% { filter:saturate(.90) brightness(.94); background-position:0 0,0 0,0 0; }
    50% { filter:saturate(1) brightness(.99); background-position:1px 0,-1px 0,0 0; }
}

@media (prefers-reduced-motion: reduce) {
    [data-cosmetic-banner="lightning"]::before,
    [data-cosmetic-banner="lightning"]::after,
    [data-cosmetic-banner="nature"]::before {
        animation:none !important;
    }
}

/* =========================================================================
   BANNER VISUAL PASS V5 - sleek CSS-only skins
   Full-card atmosphere, restrained motion, no icons, no pasted-on ornaments.
   ========================================================================= */

[data-cosmetic-banner] {
    isolation: isolate !important;
    border: 1px solid rgba(148,163,184,.20) !important;
    background-color: #0d1524 !important;
    box-shadow:
      0 12px 28px -22px rgba(0,0,0,.95),
      inset 0 1px 0 rgba(255,255,255,.035),
      inset 0 -1px 0 rgba(255,255,255,.015) !important;
}

[data-cosmetic-banner] > * { position: relative; z-index: 2; }

/* Country skins: the flag identity is diffused into the left third of the card
   instead of appearing as a literal stripe stuck on top. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) {
    background:
      radial-gradient(circle at 8% 50%, color-mix(in srgb, var(--banner-c1) 22%, transparent), transparent 34%),
      radial-gradient(circle at 96% 8%, rgba(255,255,255,.022), transparent 28%),
      linear-gradient(145deg,#0f1728 0%,#0b1321 100%) !important;
}

[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:42% !important;
    height:auto !important;
    right:auto !important;
    border:0 !important;
    border-radius:0 !important;
    opacity:.72 !important;
    background:var(--country-pattern,linear-gradient(135deg,var(--banner-c1),var(--banner-c2),var(--banner-c3))) !important;
    background-size:cover !important;
    background-position:center !important;
    filter:saturate(.84) brightness(.82) contrast(1.04) !important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 26%,rgba(0,0,0,.38) 64%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 26%,rgba(0,0,0,.38) 64%,transparent 100%);
    box-shadow:none !important;
}

[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    border-radius:inherit !important;
    border:0 !important;
    background:
      linear-gradient(90deg,rgba(255,255,255,.10) 0 1px,transparent 1px 100%),
      linear-gradient(115deg,transparent 0 58%,rgba(255,255,255,.025) 72%,transparent 84%) !important;
    opacity:.82 !important;
    box-shadow:
      inset 3px 0 0 color-mix(in srgb,var(--banner-c1) 72%,white 8%),
      inset 0 0 34px color-mix(in srgb,var(--banner-c1) 8%,transparent) !important;
}

/* Extra clarity for very dark flag palettes without changing the design language. */
[data-cosmetic-banner="new_zealand"]::before,
[data-cosmetic-banner="germany"]::before,
[data-cosmetic-banner="belgium"]::before,
[data-cosmetic-banner="kenya"]::before {
    filter:saturate(.92) brightness(1.02) contrast(1.08) !important;
}

/* ELEMENTS: use the entire card surface as the material. */
[data-cosmetic-banner="fire"],
[data-cosmetic-banner="snow"],
[data-cosmetic-banner="lightning"],
[data-cosmetic-banner="nature"] {
    border-color:rgba(255,255,255,.12) !important;
}

[data-cosmetic-banner="fire"] {
    background:
      radial-gradient(ellipse at 7% 80%,rgba(251,146,60,.24),transparent 28%),
      radial-gradient(ellipse at 74% -8%,rgba(239,68,68,.17),transparent 34%),
      linear-gradient(135deg,#151014 0%,#151521 44%,#0c1422 100%) !important;
    box-shadow:
      0 14px 30px -24px rgba(0,0,0,.96),
      inset 0 0 38px rgba(249,115,22,.055),
      inset 3px 0 0 rgba(249,115,22,.72) !important;
}
[data-cosmetic-banner="fire"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:-12% -8% !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    opacity:.78 !important;
    background:
      radial-gradient(circle at 8% 82%,rgba(255,190,72,.92) 0 1.2%,transparent 1.8%),
      radial-gradient(circle at 18% 68%,rgba(249,115,22,.85) 0 1%,transparent 1.6%),
      radial-gradient(circle at 34% 88%,rgba(239,68,68,.72) 0 .8%,transparent 1.4%),
      repeating-linear-gradient(128deg,transparent 0 24px,rgba(251,146,60,.18) 25px 26px,transparent 27px 54px),
      linear-gradient(100deg,rgba(127,29,29,.52),rgba(249,115,22,.12) 48%,transparent 78%) !important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.82) 44%,transparent 92%);
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.82) 44%,transparent 92%);
    filter:blur(.1px) !important;
    animation:unr-fire-drift 5.6s ease-in-out infinite !important;
}
[data-cosmetic-banner="fire"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:0 !important; right:0 !important; top:0 !important;
    height:2px !important; bottom:auto !important;
    background:linear-gradient(90deg,#f59e0b,#fb923c 30%,#ef4444 58%,transparent 92%) !important;
    box-shadow:0 0 12px rgba(249,115,22,.26) !important;
    opacity:.88 !important;
    animation:unr-heat-line 3.8s ease-in-out infinite !important;
}

[data-cosmetic-banner="snow"] {
    background:
      radial-gradient(circle at 10% 22%,rgba(224,247,255,.16),transparent 26%),
      radial-gradient(circle at 92% 112%,rgba(56,189,248,.10),transparent 40%),
      linear-gradient(145deg,#101b2a 0%,#0c1726 48%,#0a1421 100%) !important;
    box-shadow:
      0 14px 30px -24px rgba(0,0,0,.96),
      inset 0 0 34px rgba(125,211,252,.045),
      inset 3px 0 0 rgba(186,230,253,.80) !important;
}
[data-cosmetic-banner="snow"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    background:
      linear-gradient(126deg,transparent 0 18%,rgba(224,247,255,.10) 18.5% 19.2%,transparent 20% 45%,rgba(125,211,252,.07) 45.5% 46.2%,transparent 47%),
      linear-gradient(54deg,transparent 0 30%,rgba(255,255,255,.055) 30.5% 31.1%,transparent 32%),
      radial-gradient(circle at 12% 14%,rgba(255,255,255,.18) 0 1px,transparent 1.5px),
      radial-gradient(circle at 30% 42%,rgba(186,230,253,.12) 0 1px,transparent 1.5px) !important;
    background-size:auto,auto,38px 38px,52px 52px !important;
    opacity:.82 !important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 55%,transparent 96%);
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 55%,transparent 96%);
    animation:unr-frost-shift 8s ease-in-out infinite !important;
}
[data-cosmetic-banner="snow"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:0 !important; right:0 !important; top:0 !important;
    height:2px !important; bottom:auto !important;
    background:linear-gradient(90deg,#f8fdff,#bae6fd 42%,#38bdf8 66%,transparent 94%) !important;
    box-shadow:0 0 10px rgba(125,211,252,.18) !important;
    opacity:.9 !important;
}

[data-cosmetic-banner="lightning"] {
    background:
      radial-gradient(ellipse at 12% 55%,rgba(34,211,238,.15),transparent 30%),
      radial-gradient(ellipse at 66% -10%,rgba(139,92,246,.16),transparent 40%),
      linear-gradient(145deg,#101427 0%,#0e1426 56%,#0b1321 100%) !important;
    box-shadow:
      0 14px 30px -24px rgba(0,0,0,.96),
      inset 0 0 34px rgba(59,130,246,.045),
      inset 3px 0 0 rgba(34,211,238,.78) !important;
}
[data-cosmetic-banner="lightning"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:-20% -8% !important;
    width:auto !important;
    height:auto !important;
    background:
      linear-gradient(112deg,transparent 0 22%,rgba(34,211,238,.62) 22.4% 22.9%,transparent 23.4% 38%,rgba(139,92,246,.46) 38.4% 39%,transparent 39.5% 100%),
      linear-gradient(64deg,transparent 0 51%,rgba(96,165,250,.25) 51.4% 51.8%,transparent 52.2%) !important;
    opacity:.68 !important;
    filter:drop-shadow(0 0 6px rgba(34,211,238,.20)) !important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.76) 65%,transparent 98%);
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.76) 65%,transparent 98%);
    animation:unr-electric-pulse 5.2s steps(1,end) infinite !important;
}
[data-cosmetic-banner="lightning"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:0 !important;right:0 !important;top:0 !important;
    height:2px !important;bottom:auto !important;
    background:linear-gradient(90deg,#22d3ee 0%,#60a5fa 34%,#8b5cf6 66%,transparent 96%) !important;
    box-shadow:0 0 12px rgba(96,165,250,.20) !important;
    opacity:.88 !important;
    animation:unr-electric-edge 5.2s steps(1,end) infinite !important;
}

[data-cosmetic-banner="nature"] {
    background:
      radial-gradient(ellipse at 8% 85%,rgba(34,197,94,.15),transparent 32%),
      radial-gradient(ellipse at 80% -8%,rgba(22,163,74,.10),transparent 38%),
      linear-gradient(145deg,#0d1b18 0%,#0c181b 52%,#0a1420 100%) !important;
    box-shadow:
      0 14px 30px -24px rgba(0,0,0,.96),
      inset 0 0 38px rgba(34,197,94,.04),
      inset 3px 0 0 rgba(34,197,94,.66) !important;
}
[data-cosmetic-banner="nature"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:-12% -4% !important;
    width:auto !important;
    height:auto !important;
    background:
      radial-gradient(ellipse 16px 7px at 12% 28%,rgba(74,222,128,.16) 0 58%,transparent 62%),
      radial-gradient(ellipse 18px 8px at 28% 66%,rgba(34,197,94,.13) 0 58%,transparent 62%),
      radial-gradient(ellipse 13px 6px at 41% 36%,rgba(134,239,172,.10) 0 58%,transparent 62%),
      linear-gradient(146deg,transparent 0 29%,rgba(74,222,128,.16) 29.4% 30%,transparent 30.5% 100%),
      linear-gradient(32deg,transparent 0 47%,rgba(22,163,74,.13) 47.4% 48%,transparent 48.5%) !important;
    opacity:.9 !important;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 64%,transparent 98%);
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 64%,transparent 98%);
    animation:unr-canopy-breathe 7.2s ease-in-out infinite !important;
}
[data-cosmetic-banner="nature"]::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:0 !important;right:0 !important;top:0 !important;
    height:2px !important;bottom:auto !important;
    background:linear-gradient(90deg,#22c55e,#4ade80 34%,#15803d 68%,transparent 95%) !important;
    box-shadow:0 0 10px rgba(34,197,94,.15) !important;
    opacity:.86 !important;
}

/* Shop preview cards should feel slightly more vivid than in-play cards. */
.cosmetic-preview-card[data-cosmetic-banner] {
    box-shadow:
      0 14px 28px -22px rgba(0,0,0,.95),
      inset 0 1px 0 rgba(255,255,255,.045) !important;
}

@keyframes unr-fire-drift {
  0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.72; }
  50% { transform:translate3d(5px,-2px,0) scale(1.015); opacity:.9; }
}
@keyframes unr-heat-line {
  0%,100% { opacity:.66; filter:brightness(.95); }
  50% { opacity:1; filter:brightness(1.16); }
}
@keyframes unr-frost-shift {
  0%,100% { background-position:0 0,0 0,0 0,0 0; opacity:.72; }
  50% { background-position:3px -1px,-2px 2px,8px 5px,-7px 4px; opacity:.9; }
}
@keyframes unr-electric-pulse {
  0%,84%,100% { opacity:.50; filter:drop-shadow(0 0 4px rgba(34,211,238,.12)); }
  85% { opacity:.98; filter:drop-shadow(0 0 9px rgba(34,211,238,.46)); }
  87% { opacity:.34; }
  89% { opacity:.88; filter:drop-shadow(0 0 7px rgba(139,92,246,.38)); }
}
@keyframes unr-electric-edge {
  0%,84%,100% { opacity:.68; }
  85%,89% { opacity:1; filter:brightness(1.35); }
  87% { opacity:.48; }
}
@keyframes unr-canopy-breathe {
  0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.74; }
  50% { transform:translate3d(2px,-1px,0) scale(1.01); opacity:.94; }
}

@media (prefers-reduced-motion: reduce) {
  [data-cosmetic-banner]::before,
  [data-cosmetic-banner]::after { animation:none !important; }
}

/* =========================================================================
   BANNER VISUAL PASS V6 - full-edge country frames
   Country identity now lives around the entire perimeter while the centre
   remains clean and dark. Internal category stays "element" for save safety,
   but UI calls the four premium skins EFFECTS.
   ========================================================================= */

/* Country cards: neutral centre, full flag-pattern perimeter. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) {
    border: 0 !important;
    background:
      radial-gradient(circle at 18% 15%, rgba(255,255,255,.025), transparent 28%),
      linear-gradient(145deg,#101827 0%,#0b1320 100%) !important;
    box-shadow:
      0 14px 30px -24px rgba(0,0,0,.96),
      inset 0 1px 0 rgba(255,255,255,.04),
      inset 0 -1px 0 rgba(255,255,255,.018) !important;
}

[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:3px !important;
    border:0 !important;
    border-radius:inherit !important;
    opacity:.92 !important;
    background:var(--country-pattern,linear-gradient(135deg,var(--banner-c1),var(--banner-c2),var(--banner-c3))) !important;
    background-size:180% 180% !important;
    background-position:center !important;
    filter:saturate(.92) brightness(.92) contrast(1.05) !important;
    box-shadow:none !important;
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0) !important;
    mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;
    mask-composite:exclude !important;
    pointer-events:none !important;
}

/* =========================================================================
   BANNER VISUAL PASS V7.1 - isolated Britain + Japan repair
   Do not alter the other country skins.  These two need a visible flag field
   rather than a nearly invisible perimeter slice at preview size.
   ========================================================================= */
[data-cosmetic-banner="britain"]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before,
[data-cosmetic-banner="japan"]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:inherit !important;
    background-image:var(--country-flag) !important;
    background-color:#111827 !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:.46 !important;
    filter:saturate(1.12) contrast(1.05) !important;
    -webkit-mask:none !important;
    mask:none !important;
    box-shadow:none !important;
    animation:none !important;
    pointer-events:none !important;
}
[data-cosmetic-banner="britain"]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after,
[data-cosmetic-banner="japan"]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    border:2px solid rgba(255,255,255,.22) !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(7,13,25,.46),rgba(7,13,25,.60)) !important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.24),0 0 0 1px rgba(0,0,0,.36) !important;
    opacity:1 !important;
    pointer-events:none !important;
}
[data-cosmetic-banner="britain"]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) > *,
[data-cosmetic-banner="japan"]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) > * {
    position:relative !important;
    z-index:10 !important;
}

/* =========================================================================
   BANNER VISUAL PASS V8 - readable flag watermarks
   The previous perimeter-only treatment made detailed flags collapse into
   stray colour dashes and, on some previews, left the dark veil above the
   player text.  Keep the same card dimensions, but let each real flag occupy
   the card surface at low opacity with the text layer explicitly on top.
   ========================================================================= */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:inherit !important;
    background-image:var(--country-flag) !important;
    background-color:#111827 !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:.34 !important;
    filter:saturate(1.18) contrast(1.06) !important;
    -webkit-mask:none !important;
    mask:none !important;
    box-shadow:none !important;
    animation:none !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    border:2px solid color-mix(in srgb,var(--banner-c2) 68%,white 18%) !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(7,13,25,.70),rgba(7,13,25,.86)) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 1px rgba(0,0,0,.35) !important;
    opacity:1 !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) > *,
.cosmetic-preview-card[data-cosmetic-banner] > * {
    position:relative !important;
    z-index:10 !important;
}

/* Soft inner separation keeps the flag frame feeling integrated, not pasted on. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    inset:3px !important;
    width:auto !important;
    height:auto !important;
    border:1px solid rgba(255,255,255,.045) !important;
    border-radius:calc(inherit - 3px) !important;
    background:
      linear-gradient(125deg,rgba(255,255,255,.022),transparent 32%,transparent 72%,rgba(255,255,255,.012)) !important;
    opacity:1 !important;
    box-shadow:
      inset 0 0 18px rgba(0,0,0,.18),
      0 0 14px color-mix(in srgb,var(--banner-c1) 7%,transparent) !important;
    pointer-events:none !important;
}

/* Give the perimeter a subtle premium movement without making it arcade-y. */
@media (prefers-reduced-motion: no-preference) {
  .unr-shop-shell [data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
      animation:country-frame-drift 10s ease-in-out infinite alternate;
  }
}

@keyframes country-frame-drift {
    0% { background-position:42% 48%; filter:saturate(.88) brightness(.90) contrast(1.04); }
    100% { background-position:58% 52%; filter:saturate(.98) brightness(.97) contrast(1.07); }
}

/* Dark flags need a fraction more lift around the edge. */
[data-cosmetic-banner="new_zealand"]::before,
[data-cosmetic-banner="germany"]::before,
[data-cosmetic-banner="belgium"]::before,
[data-cosmetic-banner="kenya"]::before {
    filter:saturate(1) brightness(1.12) contrast(1.08) !important;
}


/* =========================================================================
   BANNER VISUAL PASS V6.1 - final country identity tweaks
   IDs remain unchanged for save compatibility. Display names are premium skin
   names; England gets a full St George cross and Wales gets a red identity
   accent over its white/green perimeter.
   ========================================================================= */
[data-cosmetic-banner="england"] {
    --country-pattern:
      linear-gradient(90deg,transparent 0 42%,#cf1736 42% 58%,transparent 58%),
      linear-gradient(180deg,#f8fafc 0 42%,#cf1736 42% 58%,#f8fafc 58% 100%);
}
[data-cosmetic-banner="wales"] {
    --country-pattern:
      linear-gradient(125deg,transparent 0 43%,#b91c1c 43% 54%,transparent 54% 100%),
      linear-gradient(180deg,#f8fafc 0 49%,#15803d 49% 100%);
}


/* V6.2 - Britain + Northern Ireland country perimeter skins */
[data-cosmetic-banner="britain"] {
    --country-pattern:
      linear-gradient(27deg,transparent 0 42%,#ffffff 42% 47%,#cf1736 47% 53%,#ffffff 53% 58%,transparent 58%),
      linear-gradient(-27deg,transparent 0 42%,#ffffff 42% 47%,#cf1736 47% 53%,#ffffff 53% 58%,transparent 58%),
      linear-gradient(90deg,transparent 0 40%,#ffffff 40% 44%,#cf1736 44% 56%,#ffffff 56% 60%,transparent 60%),
      linear-gradient(180deg,#173f8f 0 40%,#ffffff 40% 44%,#cf1736 44% 56%,#ffffff 56% 60%,#173f8f 60% 100%);
}
[data-cosmetic-banner="northern_ireland"] {
    --country-pattern:
      linear-gradient(90deg,transparent 0 42%,#cf1736 42% 58%,transparent 58%),
      linear-gradient(180deg,#f8fafc 0 42%,#cf1736 42% 58%,#f8fafc 58% 100%);
}
/* A restrained green seam distinguishes Northern Ireland from England while
   preserving the red-on-white cross identity in the perimeter treatment. */
[data-cosmetic-banner="northern_ireland"]::after {
    background:
      linear-gradient(90deg,rgba(21,128,61,.9),rgba(21,128,61,0) 34%),
      radial-gradient(circle at 78% 50%,rgba(21,128,61,.16),transparent 24%) !important;
}

/* =========================================================================
   BANNER VISUAL PASS V6.3 - prominent Britain / Northern Ireland / South Africa
   These three need more legible flag geometry at the same restrained 3px
   perimeter weight as the rest of the country collection.
   ========================================================================= */

/* Britain / Union Jack: navy field, broad white saltires, narrower red
   saltires, then the central St George cross. Kept entirely in the perimeter. */
[data-cosmetic-banner="britain"] {
    --country-pattern:
      linear-gradient(90deg, transparent 0 43%, #ffffff 43% 57%, transparent 57%),
      linear-gradient(180deg, transparent 0 40%, #ffffff 40% 60%, transparent 60%),
      linear-gradient(90deg, transparent 0 47%, #cf1736 47% 53%, transparent 53%),
      linear-gradient(180deg, transparent 0 46%, #cf1736 46% 54%, transparent 54%),
      linear-gradient(32deg, transparent 0 40%, #ffffff 40% 46%, #cf1736 46% 52%, #ffffff 52% 58%, transparent 58%),
      linear-gradient(-32deg, transparent 0 40%, #ffffff 40% 46%, #cf1736 46% 52%, #ffffff 52% 58%, transparent 58%),
      #173f8f;
}
[data-cosmetic-banner="britain"]::before {
    background-size:100% 100% !important;
    background-position:center !important;
    filter:saturate(1.06) brightness(1.03) contrast(1.08) !important;
}

/* Northern Ireland: use the traditional St Patrick's saltire treatment the
   user referenced. No badge/emblem is needed, just a crisp red saltire on
   white wrapped around the card perimeter. */
[data-cosmetic-banner="northern_ireland"] {
    --country-pattern:
      linear-gradient(34deg, transparent 0 42%, #c8102e 42% 58%, transparent 58%),
      linear-gradient(-34deg, transparent 0 42%, #c8102e 42% 58%, transparent 58%),
      #f8fafc;
}
[data-cosmetic-banner="northern_ireland"]::before {
    background-size:100% 100% !important;
    background-position:center !important;
    filter:saturate(1.02) brightness(1.04) contrast(1.08) !important;
}
[data-cosmetic-banner="northern_ireland"]::after {
    background:linear-gradient(125deg,rgba(255,255,255,.022),transparent 32%,transparent 72%,rgba(255,255,255,.012)) !important;
}

/* South Africa: stronger recognisable Y geometry. The green/gold/white fork
   cuts through red and blue fields, with a black hoist wedge. */
[data-cosmetic-banner="south_africa"] {
    --country-pattern:
      linear-gradient(90deg, #000000 0 18%, transparent 18%),
      linear-gradient(31deg, transparent 0 31%, #ffb81c 31% 36%, #007749 36% 47%, #ffffff 47% 51%, transparent 51%),
      linear-gradient(-31deg, transparent 0 31%, #ffb81c 31% 36%, #007749 36% 47%, #ffffff 47% 51%, transparent 51%),
      linear-gradient(90deg, transparent 0 17%, #ffb81c 17% 21%, #007749 21% 52%, #ffffff 52% 56%, transparent 56%),
      linear-gradient(180deg, #de3831 0 50%, #001489 50% 100%);
}
[data-cosmetic-banner="south_africa"]::before {
    background-size:100% 100% !important;
    background-position:center !important;
    filter:saturate(1.08) brightness(1.02) contrast(1.08) !important;
}

/* V6.4 - final prominence fixes for Britain and South Africa */
[data-cosmetic-banner="britain"]::before {
    opacity: 1 !important;
    filter: saturate(1.28) brightness(1.15) contrast(1.16) !important;
    animation: none !important;
}

/* South Africa: black hoist wedge edged in gold, green Y through the middle,
   red upper-right and blue lower-right. The artwork remains perimeter-only. */
[data-cosmetic-banner="south_africa"] {
    --country-pattern:
      /* green horizontal stem */
      linear-gradient(180deg, transparent 0 39%, #ffffff 39% 43%, #007749 43% 57%, #ffffff 57% 61%, transparent 61%),
      /* upper arm: gold outer edge, green centre, white inner edge */
      linear-gradient(31deg, transparent 0 27%, #ffb81c 27% 31%, #007749 31% 42%, #ffffff 42% 46%, transparent 46%),
      /* lower arm */
      linear-gradient(-31deg, transparent 0 27%, #ffb81c 27% 31%, #007749 31% 42%, #ffffff 42% 46%, transparent 46%),
      /* black left/hoist block with gold right edge */
      linear-gradient(90deg, #000000 0 17%, #ffb81c 17% 21%, transparent 21%),
      /* red top-right / blue bottom-right field */
      linear-gradient(180deg, #de3831 0 50%, #001489 50% 100%);
}
[data-cosmetic-banner="south_africa"]::before {
    background-size:100% 100% !important;
    background-position:center !important;
    opacity:1 !important;
    filter:saturate(1.14) brightness(1.06) contrast(1.1) !important;
    animation:none !important;
}

/* =========================================================================
   V6.5 - exact flag-replica perimeter treatments
   These use inline SVG flag artwork as the border source. The existing
   country-card mask keeps the artwork on the perimeter while the card centre
   remains dark and readable.
   ========================================================================= */

/* United Kingdom / Union Flag */
[data-cosmetic-banner="britain"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0 L60 30 M60 0 L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0 L60 30 M60 0 L0 30' stroke='%23C8102E' stroke-width='3'/%3E%3Cpath d='M30 0 V30 M0 15 H60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0 V30 M0 15 H60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    filter: none !important;
    opacity: 1 !important;
    animation: none !important;
}

/* Northern Ireland visual identity requested by user: St Patrick's Saltire */
[data-cosmetic-banner="northern_ireland"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23ffffff'/%3E%3Cpath d='M0 0 L60 30 M60 0 L0 30' stroke='%23C8102E' stroke-width='5'/%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    filter: none !important;
    opacity: 1 !important;
    animation: none !important;
}
[data-cosmetic-banner="northern_ireland"]::after {
    background: linear-gradient(125deg,rgba(255,255,255,.018),transparent 34%,transparent 70%,rgba(255,255,255,.012)) !important;
}

/* South Africa: black hoist triangle with gold border, green Y with white
   edging, red upper-right field and blue lower-right field. */
[data-cosmetic-banner="south_africa"]::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 60'%3E%3Crect width='90' height='30' y='0' fill='%23DE3831'/%3E%3Crect width='90' height='30' y='30' fill='%23001489'/%3E%3Cpath d='M0 0 L30 30 L0 60 Z' fill='%23000'/%3E%3Cpath d='M0 0 L34 30 L0 60 L0 51 L24 30 L0 9 Z' fill='%23FFB81C'/%3E%3Cpath d='M0 7 L27 30 L0 53 L0 43 L18 30 L0 17 Z' fill='%23007749'/%3E%3Cpath d='M23 24 H90 V36 H23 L8 49 V42 L20 30 L8 18 V11 Z' fill='%23fff'/%3E%3Cpath d='M19 26 H90 V34 H19 L6 45 V39 L16 30 L6 21 V15 Z' fill='%23007749'/%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    filter: none !important;
    opacity: 1 !important;
    animation: none !important;
}

/* =========================================================================
   V6.6 - exact prominent flag frames for Britain, Northern Ireland, South Africa
   Keep the player-card centre dark; use a thicker 7px perimeter so the real
   flag geometry remains readable instead of collapsing into tiny colour marks.
   ========================================================================= */
[data-cosmetic-banner="britain"]::before,
[data-cosmetic-banner="northern_ireland"]::before,
[data-cosmetic-banner="south_africa"]::before {
    padding: 7px !important;
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
}

[data-cosmetic-banner="britain"]::after,
[data-cosmetic-banner="northern_ireland"]::after,
[data-cosmetic-banner="south_africa"]::after {
    inset: 7px !important;
    background: linear-gradient(125deg,rgba(255,255,255,.018),transparent 32%,transparent 72%,rgba(255,255,255,.01)) !important;
    border-color: rgba(255,255,255,.055) !important;
}

/* Proper Union Flag proportions and colour blocks. */
[data-cosmetic-banner="britain"]::before {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0 L60 30 M60 0 L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0 L60 30' stroke='%23C8102E' stroke-width='3'/%3E%3Cpath d='M60 0 L0 30' stroke='%23C8102E' stroke-width='3'/%3E%3Cpath d='M30 0V30 M0 15H60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0V30 M0 15H60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E") !important;
}

/* Northern Ireland reference requested: white field with red St Patrick saltire. */
[data-cosmetic-banner="northern_ireland"]::before {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23fff'/%3E%3Cpath d='M0 0L60 30M60 0L0 30' stroke='%23C8102E' stroke-width='5'/%3E%3C/svg%3E") !important;
}

/* South African flag: black hoist triangle, gold edging, green Y with white
   edging, red upper field and blue lower field. */
[data-cosmetic-banner="south_africa"]::before {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 60'%3E%3Crect width='90' height='30' fill='%23DE3831'/%3E%3Crect y='30' width='90' height='30' fill='%23001489'/%3E%3Cpath d='M0 0L34 30L0 60Z' fill='%23fff'/%3E%3Cpath d='M0 4L29 30L0 56Z' fill='%23FFB81C'/%3E%3Cpath d='M0 9L24 30L0 51Z' fill='%23000'/%3E%3Cpath d='M0 12L21 30L0 48L0 39L11 30L0 21Z' fill='%23000'/%3E%3Cpath d='M0 7L27 30L0 53L0 45L18 30L0 15Z' fill='%23007749'/%3E%3Cpath d='M21 23H90V37H21L5 51V43L19 30L5 17V9Z' fill='%23fff'/%3E%3Cpath d='M18 26H90V34H18L8 43V38L17 30L8 22V17Z' fill='%23007749'/%3E%3C/svg%3E") !important;
}

/* =========================================================================
   BANNER VISUAL PASS V8 - final near-replica country flags
   Britain has been removed from the catalogue.  All remaining country
   banners use the actual inline flag artwork as a visible, contained card
   watermark; the card dimensions and text layout do not change.
   ========================================================================= */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:inherit !important;
    background-image:var(--country-flag) !important;
    background-color:#111827 !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:.64 !important;
    filter:saturate(1.08) contrast(1.04) !important;
    -webkit-mask:none !important;
    mask:none !important;
    box-shadow:none !important;
    animation:none !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    border:2px solid rgba(255,255,255,.24) !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(7,13,25,.34),rgba(7,13,25,.48)) !important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.38) !important;
    opacity:1 !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]) > * {
    position:relative !important;
    z-index:10 !important;
}

/* Japan: retain the Hinomaru and add the requested small red centre marks on
   the top and bottom edges, like a stitched flag tab. */
[data-cosmetic-banner="japan"]::after {
    background:
        linear-gradient(#BC002D,#BC002D) center top / 34px 4px no-repeat,
        linear-gradient(#BC002D,#BC002D) center bottom / 34px 4px no-repeat,
        linear-gradient(180deg,rgba(7,13,25,.34),rgba(7,13,25,.48)) !important;
}

/* =========================================================================
   BANNER VISUAL PASS V7.2 - final isolated Britain + Japan override
   This is intentionally the last rule in the file so the two repaired skins
   cannot be overwritten by the earlier shared country-frame passes.
   ========================================================================= */
[data-cosmetic-banner="britain"]::before,
[data-cosmetic-banner="japan"]::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:inherit !important;
    background-image:var(--country-flag) !important;
    background-color:#111827 !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:.48 !important;
    filter:saturate(1.15) contrast(1.06) !important;
    -webkit-mask:none !important;
    mask:none !important;
    box-shadow:none !important;
    animation:none !important;
    pointer-events:none !important;
}
[data-cosmetic-banner="britain"]::after,
[data-cosmetic-banner="japan"]::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    border:2px solid rgba(255,255,255,.24) !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(7,13,25,.44),rgba(7,13,25,.58)) !important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.38) !important;
    opacity:1 !important;
    pointer-events:none !important;
}
[data-cosmetic-banner="britain"] > *,
[data-cosmetic-banner="japan"] > * {
    position:relative !important;
    z-index:10 !important;
}

/* =========================================================================
   BANNER VISUAL PASS V7 - real flag artwork for every country banner
   The outer dimensions are unchanged.  Only the existing frame pseudo-
   elements are widened slightly so the flag geometry stays legible.
   ========================================================================= */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:5px !important;
    border:0 !important;
    border-radius:inherit !important;
    background:var(--country-flag, var(--country-pattern)) !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:1 !important;
    filter:none !important;
    box-shadow:0 0 0 1px color-mix(in srgb,var(--banner-c1) 55%,transparent),0 10px 26px -20px var(--banner-c1) !important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
    -webkit-mask-composite:xor !important;
    mask-composite:exclude !important;
    animation:none !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"])::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:2 !important;
    inset:5px !important;
    border:1px solid rgba(255,255,255,.055) !important;
    border-radius:9px !important;
    background:linear-gradient(180deg,rgba(17,24,39,.99),rgba(8,13,24,.985)) !important;
    box-shadow:inset 0 0 18px rgba(0,0,0,.22) !important;
    opacity:1 !important;
    pointer-events:none !important;
}

/* =========================================================================
   BANNER VISUAL PASS V9 - final real-flag treatment
   Britain is removed from the catalogue.  This last block is for every
   remaining country only, and deliberately wins over the older passes above.
   ========================================================================= */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"])::before {
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:inherit !important;
    background-image:var(--country-flag) !important;
    background-color:#111827 !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:.68 !important;
    filter:saturate(1.1) contrast(1.05) !important;
    -webkit-mask:none !important;
    mask:none !important;
    box-shadow:none !important;
    animation:none !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"])::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:0 !important;
    border:2px solid rgba(255,255,255,.24) !important;
    border-radius:inherit !important;
    background:linear-gradient(180deg,rgba(7,13,25,.32),rgba(7,13,25,.46)) !important;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.38) !important;
    opacity:1 !important;
    pointer-events:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"]) > * {
    position:relative !important;
    z-index:10 !important;
}

/* Japan's Hinomaru plus the small red centre tabs requested by the user. */
[data-cosmetic-banner="japan"]::after {
    background:
        linear-gradient(#BC002D,#BC002D) center top / 34px 4px no-repeat,
        linear-gradient(#BC002D,#BC002D) center bottom / 34px 4px no-repeat,
        linear-gradient(180deg,rgba(7,13,25,.32),rgba(7,13,25,.46)) !important;
}

/* =========================================================================
   BANNER VISUAL PASS V10 - deterministic country flag backgrounds
   Use the real inline flag artwork directly on the card.  This supersedes
   every earlier country pseudo-element pass and leaves all text in the
   normal stacking flow.  Britain is intentionally absent from the catalogue.
   ========================================================================= */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"]) {
    position:relative !important;
    isolation:isolate !important;
    box-sizing:border-box !important;
    border:2px solid rgba(255,255,255,.22) !important;
    border-radius:14px !important;
    background-image:
        linear-gradient(180deg,rgba(7,13,25,.14),rgba(7,13,25,.28)),
        var(--country-flag) !important;
    background-color:#111827 !important;
    background-size:100% 100%,100% 100% !important;
    background-position:center,center !important;
    background-repeat:no-repeat,no-repeat !important;
    background-blend-mode:normal,normal !important;
    box-shadow:0 0 0 1px rgba(0,0,0,.38),0 10px 26px -20px var(--banner-c1) !important;
    overflow:hidden !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"])::before,
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"])::after {
    content:none !important;
    display:none !important;
}
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"]) > * {
    position:relative !important;
    z-index:1 !important;
}

/* Japan: the flag remains the background, with the requested red centre tabs
   stitched across the top and bottom edges. */
[data-cosmetic-banner="japan"] {
    background-image:
        linear-gradient(#BC002D,#BC002D),
        linear-gradient(#BC002D,#BC002D),
        linear-gradient(180deg,rgba(7,13,25,.14),rgba(7,13,25,.28)),
        var(--country-flag) !important;
    background-size:34px 4px,34px 4px,100% 100%,100% 100% !important;
    background-position:center top,center bottom,center,center !important;
    background-repeat:no-repeat,no-repeat,no-repeat,no-repeat !important;
}

/* =========================================================================
   BANNER VISUAL PASS V11 - real flag perimeter, clean player centre
   Keeps the exact country flag artwork, but confines it to a substantial
   frame around the edge. The middle returns to the normal dark card surface
   so OVR / PLAYER / position stay crisp and readable.
   ========================================================================= */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"]) {
    position:relative !important;
    isolation:isolate !important;
    box-sizing:border-box !important;
    border:0 !important;
    border-radius:14px !important;
    background:#111827 !important;
    box-shadow:0 0 0 1px rgba(0,0,0,.42),0 10px 26px -20px var(--banner-c1) !important;
    overflow:hidden !important;
}

/* Full real flag underneath. The dark centre panel below masks its middle,
   leaving the flag visible only as the perimeter/frame. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"])::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    border:0 !important;
    border-radius:inherit !important;
    background-image:var(--country-flag) !important;
    background-color:var(--banner-c1) !important;
    background-size:100% 100% !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
    opacity:1 !important;
    filter:saturate(1.08) contrast(1.04) !important;
    -webkit-mask:none !important;
    mask:none !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.24) !important;
    pointer-events:none !important;
}

/* Neutral centre. 9px inset gives the flag enough room to read as a flag,
   rather than degrading into a generic coloured hairline. */
[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"])::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:9px !important;
    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:9px !important;
    background:linear-gradient(145deg,rgba(17,24,39,.985),rgba(10,16,29,.985)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 0 12px rgba(0,0,0,.34) !important;
    opacity:1 !important;
    pointer-events:none !important;
}

[data-cosmetic-banner]:not([data-cosmetic-banner="fire"]):not([data-cosmetic-banner="snow"]):not([data-cosmetic-banner="lightning"]):not([data-cosmetic-banner="nature"]):not([data-cosmetic-banner="britain"]) > * {
    position:relative !important;
    z-index:2 !important;
}

/* Japan keeps the real Hinomaru perimeter. No extra centre decoration is
   needed here because the centre is intentionally clean in this treatment. */
[data-cosmetic-banner="japan"] {
    background:#111827 !important;
}


/* =========================================================================
   COUNTRY BANNERS V12 — PURE OVERLAY, ZERO CARD-STYLE INTERACTION
   The flag lives in its own child layer. It never changes the parent card's
   background, border, box-shadow, ::before, ::after, quality, or variant.
   ========================================================================= */

[data-country-banner] {
    position: relative;
}

/* Dedicated perimeter-only flag layer. */
[data-country-banner] > .country-banner-overlay {
    position: absolute;
    inset: 0;
    z-index: 50;
    box-sizing: border-box;
    border-radius: inherit;
    pointer-events: none;

    /* Real flag artwork. */
    background-image: var(--country-flag);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;

    /* Keep ONLY a 7px perimeter. The middle is genuinely transparent,
       so the original card effect beneath remains completely untouched. */
    padding: 7px;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    mask-composite: exclude;

    filter: saturate(1.08) contrast(1.04);
    opacity: 1;
}

/* Japan keeps its requested red centre marks on the TOP and BOTTOM border. */
[data-country-banner="japan"] > .country-banner-overlay {
    background-image:
        linear-gradient(#BC002D, #BC002D),
        linear-gradient(#BC002D, #BC002D),
        var(--country-flag);
    background-size:
        36px 7px,
        36px 7px,
        100% 100%;
    background-position:
        center top,
        center bottom,
        center;
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat;
}

/* Overlay must never affect interaction or selection states. */
[data-country-banner] > .country-banner-overlay,
[data-country-banner] > .country-banner-overlay * {
    pointer-events: none !important;
}


/* =========================================================================
   FINAL BANNER VISUAL PATCH
   - Country banners stay as overlays only.
   - Compact draft cards use a thinner perimeter so flags do not dominate.
   - Original card quality/variant identities are strengthened underneath.
   ========================================================================= */

/* Country flag frame thickness tuned by card surface. */
[data-country-banner] > .country-banner-overlay {
    padding: 5px;
}

/* Thin horizontal cards: keep the flag readable without turning the card
   into a giant white/red/green stripe. */
[data-country-banner][data-card-surface="preview"] > .country-banner-overlay,
[data-country-banner][data-card-surface="options"] > .country-banner-overlay {
    padding: 3px;
}

/* Formation / lineup cards get a medium frame. */
[data-country-banner][data-card-surface="lineup"] > .country-banner-overlay,
[data-country-banner][data-card-surface="tactical"] > .country-banner-overlay,
[data-country-banner][data-card-surface="history"] > .country-banner-overlay {
    padding: 4px;
}

/* Keep Japan's centre tabs proportional to the thinner mode frames. */
[data-country-banner="japan"][data-card-surface="preview"] > .country-banner-overlay,
[data-country-banner="japan"][data-card-surface="options"] > .country-banner-overlay {
    background-size:
        28px 3px,
        28px 3px,
        100% 100%;
}

[data-country-banner="japan"][data-card-surface="lineup"] > .country-banner-overlay,
[data-country-banner="japan"][data-card-surface="tactical"] > .country-banner-overlay,
[data-country-banner="japan"][data-card-surface="history"] > .country-banner-overlay {
    background-size:
        32px 4px,
        32px 4px,
        100% 100%;
}

/* -------------------------------------------------------------------------
   STRONGER ORIGINAL CARD IDENTITIES
   These styles live on the card itself, UNDER every cosmetic banner layer.
   ------------------------------------------------------------------------- */

/* Normal/high card ladder. */
:is(.draft-stage, .card-presentation) [data-card-quality="normal"] {
    --card-accent: 100,116,139;
    background-image:
        radial-gradient(circle at 10% 50%, rgba(100,116,139,.12), transparent 42%),
        linear-gradient(125deg, rgba(100,116,139,.08), #111827 70%) !important;
    box-shadow:
        inset 0 0 0 1px rgba(148,163,184,.16),
        0 8px 20px -15px rgba(100,116,139,.55) !important;
}

:is(.draft-stage, .card-presentation) [data-card-quality="high"] {
    --card-accent: 96,165,250;
    background-image:
        radial-gradient(circle at 8% 50%, rgba(59,130,246,.28), transparent 42%),
        linear-gradient(125deg, rgba(59,130,246,.18), #111827 72%) !important;
    border-color: rgba(96,165,250,.92) !important;
    box-shadow:
        inset 0 0 18px rgba(59,130,246,.12),
        0 0 0 1px rgba(96,165,250,.2),
        0 10px 24px -14px rgba(59,130,246,.65) !important;
}

:is(.draft-stage, .card-presentation) [data-card-quality="elite"] {
    --card-accent: 167,139,250;
    background-image:
        radial-gradient(circle at 8% 50%, rgba(139,92,246,.34), transparent 44%),
        linear-gradient(125deg, rgba(139,92,246,.22), #111827 72%) !important;
    border-color: rgba(167,139,250,.98) !important;
    box-shadow:
        inset 0 0 20px rgba(139,92,246,.14),
        0 0 0 1px rgba(167,139,250,.24),
        0 10px 26px -14px rgba(139,92,246,.72) !important;
}

:is(.draft-stage, .card-presentation) [data-card-quality="superstar"],
:is(.draft-stage, .card-presentation) [data-card-quality="superstar-plus"],
:is(.draft-stage, .card-presentation) [data-card-quality="legend"] {
    background-image:
        radial-gradient(circle at 8% 50%, rgba(251,191,36,.34), transparent 46%),
        linear-gradient(125deg, rgba(180,120,20,.22), #151a2b 72%) !important;
    box-shadow:
        inset 0 0 22px rgba(251,191,36,.12),
        0 0 0 1px rgba(251,191,36,.28),
        0 12px 30px -15px rgba(251,191,36,.72) !important;
}

/* Named special identities. These intentionally beat generic quality colours. */
:is(.draft-stage, .card-presentation) [data-card-variant="poty"] {
    --card-accent: 192,132,252;
    border-color: rgb(var(--card-accent)) !important;
    background-image:
        radial-gradient(circle at 8% 50%, rgba(168,85,247,.46), transparent 46%),
        linear-gradient(125deg, rgba(126,34,206,.30), #171225 72%) !important;
    box-shadow:
        inset 0 0 24px rgba(168,85,247,.16),
        0 0 0 1px rgba(192,132,252,.30),
        0 12px 32px -14px rgba(168,85,247,.85) !important;
}

:is(.draft-stage, .card-presentation) [data-card-variant="gold"] {
    --card-accent: 251,191,36;
    border-color: #fbbf24 !important;
    background-image:
        radial-gradient(circle at 8% 50%, rgba(251,191,36,.50), transparent 46%),
        linear-gradient(125deg, rgba(180,120,20,.34), #20170a 72%) !important;
    box-shadow:
        inset 0 0 24px rgba(251,191,36,.18),
        0 0 0 1px rgba(251,191,36,.32),
        0 12px 34px -14px rgba(251,191,36,.90) !important;
}

:is(.draft-stage, .card-presentation) [data-card-variant="grass"] {
    --card-accent: 74,222,128;
    border-color: #4ade80 !important;
    background-image:
        radial-gradient(circle at 8% 50%, rgba(34,197,94,.46), transparent 46%),
        linear-gradient(125deg, rgba(22,163,74,.30), #0e1b14 72%) !important;
    box-shadow:
        inset 0 0 24px rgba(34,197,94,.16),
        0 0 0 1px rgba(74,222,128,.30),
        0 12px 32px -14px rgba(34,197,94,.82) !important;
}

:is(.draft-stage, .card-presentation) [data-card-variant="fergus"] {
    --card-accent: 251,113,163;
    border-color: #fb7185 !important;
    background-image:
        radial-gradient(circle at 8% 50%, rgba(244,63,94,.44), transparent 46%),
        linear-gradient(125deg, rgba(190,24,93,.30), #211019 72%) !important;
    box-shadow:
        inset 0 0 24px rgba(244,63,94,.16),
        0 0 0 1px rgba(251,113,163,.30),
        0 12px 32px -14px rgba(244,63,94,.82) !important;
}

/* Stronger sheen so elite/special cards are visibly alive even with a banner. */
:is(.draft-stage, .card-presentation) [data-card-quality="superstar"]::after,
:is(.draft-stage, .card-presentation) [data-card-quality="superstar-plus"]::after,
:is(.draft-stage, .card-presentation) [data-card-quality="legend"]::after,
:is(.draft-stage, .card-presentation) [data-card-variant="poty"]::after,
:is(.draft-stage, .card-presentation) [data-card-variant="gold"]::after,
:is(.draft-stage, .card-presentation) [data-card-variant="grass"]::after,
:is(.draft-stage, .card-presentation) [data-card-variant="fergus"]::after {
    background: linear-gradient(
        110deg,
        transparent 26%,
        transparent 38%,
        rgba(var(--card-accent),.30) 50%,
        rgba(255,255,255,.11) 54%,
        transparent 65%
    ) !important;
}

/* Banner layer stays visually on top but never suppresses the card identity. */
[data-country-banner] > .country-banner-overlay {
    opacity: .96;
    filter: saturate(1.02) contrast(1.02);
}


