/* =========================================================
   Boutique — interface verticale compacte, serveur-authoritative
   ========================================================= */
body.shop-panel-open { overflow:hidden; }

.shopSideButton {
    position:relative;
    width:50px;
    max-width:50px;
    height:54px;
    margin:0;
    padding:3px;
    border:1px solid rgba(205,229,247,.68);
    border-radius:8px 0 0 8px;
    background:linear-gradient(180deg,rgba(23,65,101,.95),rgba(5,27,50,.98));
    box-shadow:0 6px 15px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.13),0 0 12px rgba(114,210,255,.10);
    cursor:pointer;
    overflow:visible;
}
.shopSideButton img {
    display:block;
    width:auto;
    max-width:44px;
    height:auto;
    max-height:44px;
    margin:auto;
    object-fit:contain;
    filter:drop-shadow(0 3px 4px rgba(0,0,0,.58));
}
.shopSideButton:hover,.shopSideButton:focus-visible {
    outline:0;
    transform:translateX(-2px);
    box-shadow:0 7px 18px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.17),0 0 16px rgba(130,219,255,.22);
}
.shopSideButton:active { transform:translateX(-1px) scale(.96); }

/* Découverte de la boutique : même langage visuel que le hint du portrait.
   Le signal apparaît au premier Écu reçu et disparaît après ouverture. */
.shopDiscoveryHint {
    position:absolute;
    inset:-5px -5px -5px -5px;
    z-index:3;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.shopDiscoveryHint.is-active {
    opacity:1;
    visibility:visible;
}
.shopDiscoveryHalo {
    position:absolute;
    inset:0;
    border:2px solid rgba(255,224,137,.96);
    border-radius:10px 2px 2px 10px;
    box-shadow:0 0 5px rgba(255,232,168,.9),0 0 13px rgba(255,198,74,.62);
    animation:shopDiscoveryPulse 1.15s ease-in-out infinite;
}
.shopDiscoveryBadge {
    position:absolute;
    left:-5px;
    top:-6px;
    display:grid;
    place-items:center;
    width:19px;
    height:19px;
    border:2px solid rgba(255,244,210,.98);
    border-radius:50%;
    background:#d89b20;
    color:#fff;
    font:900 12px/1 "Poppins",sans-serif;
    text-shadow:0 1px 1px rgba(0,0,0,.5);
    box-shadow:0 2px 6px rgba(0,0,0,.45);
}
@keyframes shopDiscoveryPulse {
    0%,100% { transform:scale(1); opacity:.78; }
    50% { transform:scale(1.08); opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
    .shopDiscoveryHalo { animation:none; }
}

.shopPanel {
    position:fixed;
    inset:0;
    z-index:6550;
    display:none;
    font-family:"Poppins",sans-serif;
}
.shopPanel.is-open { display:block; }
.shopPanelBackdrop {
    position:absolute;
    inset:0;
    margin:0;
    padding:0;
    border:0;
    background:rgba(0,5,14,.76);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.shopPanelDialog {
    position:absolute;
    top:50%;
    left:50%;
    display:flex;
    flex-direction:column;
    width:min(calc(100% - 12px),500px);
    max-height:calc(100dvh - max(12px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));
    overflow:hidden;
    border:1px solid rgba(187,219,246,.58);
    border-radius:16px;
    background:linear-gradient(180deg,#0d2947 0%,#071d34 58%,#06182c 100%);
    box-shadow:0 20px 60px rgba(0,0,0,.75),inset 0 1px rgba(255,255,255,.09);
    color:#fff;
    transform:translate(-50%,-50%);
}
.shopPanelHeader {
    position:relative;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    padding:5px 8px 5px 12px;
    border-bottom:1px solid rgba(202,227,248,.22);
    background:linear-gradient(180deg,rgba(22,59,91,.97),rgba(9,34,60,.96));
}
.shopPanelTitle {
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
}
.shopPanelTitle img {
    width:36px;
    height:32px;
    object-fit:contain;
    filter:drop-shadow(0 3px 4px rgba(0,0,0,.55));
}
.shopPanelHeader strong { color:#fff5d4; font-size:20px; line-height:1; }
.shopPanelClose {
    width:34px;
    height:34px;
    margin:0;
    padding:0;
    border:1px solid rgba(213,235,251,.28);
    border-radius:11px;
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:20px;
}

.shopPanelBody {
    padding:6px;
    overflow:auto;
    scrollbar-width:thin;
    background:
        radial-gradient(circle at 50% 20%,rgba(64,157,220,.11),transparent 46%),
        linear-gradient(180deg,rgba(4,20,37,.24),rgba(2,12,24,.45));
}
.shopBalances {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    margin-bottom:6px;
}
.shopBalance {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:31px;
    padding:4px 7px;
    border:1px solid rgba(189,222,245,.18);
    border-radius:9px;
    background:rgba(0,0,0,.20);
    color:#cfe8f7;
    font-size:10px;
    font-weight:800;
}
.shopBalance img { width:22px; height:22px; object-fit:contain; }
.shopBalance strong { color:#fff; font-size:14px; }

.shopSection + .shopSection { margin-top:7px; }
.shopSectionHeader {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin:0 1px 4px;
}
.shopSectionHeader strong {
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.25px;
}
.shopSectionHeader small {
    display:inline-flex;
    align-items:center;
    gap:3px;
    color:#8fc9eb;
    font-size:8px;
    font-weight:800;
}
.shopSectionHeader small img { width:13px; height:13px; object-fit:contain; }
.shopCurrencySection + .shopCurrencySection {
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid rgba(125,203,245,.18);
}
.shopOfferGrid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
}
.shopOffer {
    --shop-accent:190,216,235;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
    min-height:147px;
    padding:8px 6px 6px;
    border:1px solid rgba(var(--shop-accent),.27);
    border-radius:10px;
    background:linear-gradient(180deg,rgba(var(--shop-accent),.08),rgba(0,0,0,.18));
    box-shadow:inset 0 1px rgba(255,255,255,.05);
    text-align:center;
}

.shopOfferBody {
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-height:0;
}
.shopOffer.is-summon-item .shopOfferBody {
    justify-content:center;
    padding:2px 0 5px;
}
.shopOffer.is-permanent-bonus .shopOfferBody {
    justify-content:center;
    padding:3px 0;
}
.shopOffer.is-permanent-bonus .shopOfferVisual {
    margin-top:0;
}
.shopOffer.is-permanent-bonus .shopOfferLabel {
    min-height:0;
    margin-top:4px;
    font-size:11px;
    line-height:1.08;
}
.shopOffer.is-permanent-bonus .shopOfferMeta {
    min-height:0;
    margin:3px 0 0;
}
.shopOffer.is-summon-item .shopOfferVisual {
    width:68px;
    height:62px;
    margin-top:0;
}
.shopOffer.is-summon-item .shopOfferVisual img {
    max-width:62px;
    max-height:60px;
}
.shopOffer.is-summon-item .shopOfferLabel {
    min-height:0;
    margin-top:4px;
    font-size:11px;
    line-height:1.1;
}
.shopOffer.is-summon-item .shopOfferMeta {
    min-height:0;
    margin:4px 0 0;
    font-size:7.5px;
    line-height:1.15;
}

.shopOffer[data-tier="small"] { --shop-accent:85,227,127; }
.shopOffer[data-tier="medium"] { --shop-accent:255,175,52; }
.shopOffer[data-tier="legendary"] { --shop-accent:183,112,255; }
.shopOfferVisual {
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:52px;
    margin-top:5px;
}
.shopOfferVisual img {
    max-width:50px;
    max-height:49px;
    object-fit:contain;
    filter:drop-shadow(0 4px 5px rgba(0,0,0,.55));
}
.shopPermanentBonusSigil {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid rgba(255,224,145,.52);
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,224,145,.22),rgba(17,61,89,.72));
    color:#ffe08c;
    font-size:34px;
    font-weight:900;
    line-height:1;
    text-shadow:0 0 10px rgba(142,220,255,.55);
}
.shopOffer.is-acquired { border-color:rgba(142,220,255,.35); opacity:.82; }
.shopOfferAmount {
    position:absolute;
    top:6px;
    right:6px;
    min-width:26px;
    padding:2px 6px;
    border:1px solid rgba(255,255,255,.36);
    border-radius:999px;
    background:rgba(0,0,0,.68);
    color:#fff;
    font-size:11px;
    font-weight:900;
    line-height:1;
    z-index:1;
}
.shopOfferLabel {
    display:flex;
    align-items:flex-start;
    justify-content:center;
    width:100%;
    max-width:100%;
    min-height:30px;
    margin-top:8px;
    color:#eef8ff;
    font-size:10px;
    font-weight:900;
    line-height:1.12;
    text-align:center;
    text-wrap:balance;
    letter-spacing:-0.01em;
}
.shopOfferMeta {
    min-height:11px;
    margin:-4px 0 4px;
    color:#8fc9eb;
    font-size:7px;
    font-weight:800;
    line-height:1.1;
}
.shopBuyButton {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    width:100%;
    min-height:28px;
    margin-top:auto;
    padding:3px 5px;
    border:1px solid rgba(255,232,141,.70);
    border-radius:7px;
    background:linear-gradient(180deg,#b97816,#774807);
    color:#fffbe8;
    font:900 10px/1 "Poppins",sans-serif;
    text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.shopBuyButton img { width:17px; height:17px; object-fit:contain; }
.shopBuyButton:not(:disabled):hover,.shopBuyButton:not(:disabled):focus-visible { outline:0; filter:brightness(1.1); }
.shopBuyButton:disabled {
    border-color:rgba(183,201,214,.22);
    background:linear-gradient(180deg,#465765,#283744);
    color:#8fa2b1;
    text-shadow:none;
}
.shopStatus {
    min-height:16px;
    margin:6px 2px 0;
    color:#9ee8b1;
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    text-align:center;
}
.shopStatus.is-error { color:#ff9c9c; }
.shopPanel.is-busy .shopPanelClose { pointer-events:none; opacity:.55; }

@media (max-height:700px) {
    .shopPanelDialog { max-height:calc(100dvh - 8px); }
    .shopPanelBody { padding:4px 5px; }
    .shopOffer { min-height:132px; padding:6px 5px 5px; }
    .shopOfferVisual { height:44px; margin-top:4px; }
    .shopOfferVisual img { max-height:42px; }
    .shopOffer.is-summon-item .shopOfferVisual { width:58px; height:52px; margin-top:0; }
    .shopOffer.is-summon-item .shopOfferVisual img { max-width:54px; max-height:50px; }
}
@media (max-width:520px) {
    .shopOffer.is-permanent-bonus .shopOfferBody {
        justify-content:center;
        padding:2px 0;
    }
    .shopOffer.is-permanent-bonus .shopOfferVisual { margin-top:0; }
    .shopOffer.is-permanent-bonus .shopOfferLabel {
        min-height:0;
        margin-top:3px;
        font-size:10px;
        line-height:1.04;
    }
    .shopOffer.is-permanent-bonus .shopOfferMeta {
        min-height:0;
        margin:3px 0 0;
    }
}

@media (max-width:360px) {
    .shopPanelDialog { width:calc(100% - 4px); border-radius:13px; }
    .shopPanelHeader strong { font-size:18px; }
    .shopSideButton { width:50px; max-width:50px; height:54px; border-radius:8px 0 0 8px; }
    .shopOfferGrid { gap:3px; }
    .shopOffer { min-height:126px; padding:6px 4px 4px; }
    .shopOfferLabel { font-size:9px; }
    .shopBuyButton { font-size:9px; }
}

/* Achat multiple global : même logique tactile que le multiplicateur de niveau. */
.shopPanelHeaderActions {
    display:flex;
    align-items:center;
    gap:6px;
}
.shopPurchaseModeButton {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    min-width:48px;
    height:34px;
    margin:0;
    padding:2px 6px;
    border:1px solid rgba(116,205,240,.58);
    border-radius:9px;
    background:linear-gradient(180deg,rgba(26,107,145,.96),rgba(12,62,91,.98));
    color:#eafaff;
    box-shadow:inset 0 1px rgba(255,255,255,.12);
    font-family:"Poppins",sans-serif;
    cursor:pointer;
    touch-action:manipulation;
    user-select:none;
}
.shopPurchaseModeButton strong {
    color:inherit;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.shopPurchaseModeButton span {
    font-size:5.8px;
    font-weight:800;
    line-height:1;
    letter-spacing:.45px;
    opacity:.76;
}
.shopPurchaseModeButton.is-active {
    border-color:rgba(255,218,91,.88);
    background:linear-gradient(180deg,rgba(174,119,25,.98),rgba(103,63,9,.98));
    color:#fff7d1;
}
.shopPurchaseModeButton:not(:disabled):hover,
.shopPurchaseModeButton:not(:disabled):focus-visible {
    outline:0;
    filter:brightness(1.08);
}
.shopPurchaseModeButton:disabled { opacity:.55; cursor:default; }
.shopBuyButton { position:relative; }
.shopBuyQuantity {
    flex:0 0 auto;
    min-width:24px;
    padding:2px 3px;
    border-radius:5px;
    background:rgba(0,0,0,.28);
    color:#fff1b5;
    font-size:7px;
    font-weight:900;
    line-height:1;
}
.shopOffer.is-partial .shopBuyButton:not(:disabled) {
    border-color:rgba(255,218,91,.88);
}


/* Daily limit upgrades — compact card, visual-first, details on demand. */
.shopOffer.is-daily-limit-upgrade { min-height:147px; padding-top:6px; }
.shopOffer.is-daily-limit-upgrade .shopOfferBody { justify-content:center; padding:0 0 4px; }
.shopOffer.is-daily-limit-upgrade .shopOfferVisual { width:92px; height:82px; margin-top:0; }
.shopOffer.is-daily-limit-upgrade .shopOfferVisual img { max-width:88px; max-height:80px; }
.shopOffer.is-daily-limit-upgrade .shopOfferLabel { min-height:0; margin-top:1px; font-size:10.5px; line-height:1.06; }
.shopSummonRatesInfoButton {
    position:absolute;
    top:6px;
    left:6px;
    z-index:12;
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    margin:0;
    padding:0;
    border:1px solid rgba(255,255,255,.72);
    border-radius:50%;
    background:rgba(7,29,52,.86);
    color:#fff;
    font-size:11px;
    box-shadow:0 2px 6px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.10);
    cursor:pointer;
}
.shopSummonRatesInfoButton:hover,.shopSummonRatesInfoButton:focus-visible {
    outline:0;
    border-color:#fff;
    background:rgba(24,63,96,.96);
}
.shopSummonRatesInfoButton[aria-expanded="true"] {
    background:#f4f8fb;
    color:#0b2943;
}
.shopSummonRatesPopover {
    position:absolute;
    top:5px;
    left:34px;
    z-index:30;
    width:154px;
    padding:6px;
    border:1px solid rgba(213,235,251,.38);
    border-radius:10px;
    background:rgba(5,22,39,.97);
    box-shadow:0 8px 20px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.06);
    color:#fff;
    text-align:left;
}
.shopOffer:nth-child(3n) .shopSummonRatesPopover { left:auto; right:34px; }
.shopSummonRatesPopover[hidden] { display:none; }
.shopSummonRatesPopoverTitle {
    display:block;
    margin:0 2px 5px;
    color:#e8f4fb;
    font-size:9px;
    font-weight:900;
    line-height:1;
    letter-spacing:.2px;
}
.shopSummonRatesList { display:grid; gap:3px; }
.shopSummonRateRow {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:24px;
    padding:4px 7px;
    border-radius:5px;
    background:rgba(14,43,66,.94);
    color:#fff;
    font-size:11px;
    line-height:1;
}
.shopSummonRateRow strong { color:#ffd44c; letter-spacing:-1px; }
.shopSummonRateRow span { color:#fff; font-weight:900; }
.shopOfferInfoButton { position:absolute; top:6px; left:6px; z-index:2; display:grid; place-items:center; width:22px; height:22px; padding:0; border:1px solid rgba(157,220,255,.65); border-radius:50%; background:rgba(4,31,48,.88); color:#bde9ff; font-size:11px; box-shadow:0 2px 6px rgba(0,0,0,.35); }
.shopOfferInfoButton:hover,.shopOfferInfoButton:focus-visible { outline:0; border-color:#e3f7ff; background:#115277; color:#fff; }
.shopUpgradeInfo[hidden] { display:none !important; }
.shopUpgradeInfo { position:fixed; inset:0; z-index:10080; display:grid; place-items:center; padding:14px; }
.shopUpgradeInfoBackdrop { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:rgba(0,11,18,.72); }
.shopUpgradeInfoDialog { position:relative; z-index:1; width:min(330px,calc(100vw - 28px)); overflow:hidden; border:1px solid rgba(132,211,255,.50); border-radius:14px; background:linear-gradient(180deg,#0d2c3d,#071a27); box-shadow:0 18px 48px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.06); color:#eef9ff; }
.shopUpgradeInfoHeader { display:flex; align-items:center; gap:8px; min-height:42px; padding:8px 10px 8px 12px; border-bottom:1px solid rgba(132,211,255,.20); }
.shopUpgradeInfoHeader strong { flex:1; font-size:12px; line-height:1.15; }
.shopUpgradeInfoClose { display:grid; place-items:center; width:28px; height:28px; padding:0; border:1px solid rgba(157,220,255,.40); border-radius:8px; background:#12374d; color:#fff; font-size:20px; line-height:1; }
.shopUpgradeInfoContent { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:center; gap:10px; padding:12px; }
.shopUpgradeInfoIcon { width:104px; height:104px; object-fit:contain; filter:drop-shadow(0 6px 8px rgba(0,0,0,.45)); }
.shopUpgradeInfoStats { display:grid; gap:5px; margin:0; }
.shopUpgradeInfoStats > div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding-bottom:4px; border-bottom:1px solid rgba(132,211,255,.10); }
.shopUpgradeInfoStats > div:last-child { border-bottom:0; padding-bottom:0; }
.shopUpgradeInfoStats dt,.shopUpgradeInfoStats dd { margin:0; }
.shopUpgradeInfoStats dt { color:#91cbe9; font-size:9px; font-weight:700; }
.shopUpgradeInfoStats dd { color:#fff; font-size:10px; font-weight:900; text-align:right; }
@media (max-width:520px) {
    .shopOffer.is-daily-limit-upgrade .shopOfferVisual { width:82px; height:72px; }
    .shopOffer.is-daily-limit-upgrade .shopOfferVisual img { max-width:80px; max-height:70px; }
    .shopOffer.is-daily-limit-upgrade .shopOfferLabel { margin-top:1px; font-size:9.5px; line-height:1.04; }
    .shopUpgradeInfoContent { grid-template-columns:88px minmax(0,1fr); gap:8px; padding:10px; }
    .shopUpgradeInfoIcon { width:88px; height:88px; }
}

#premiumShopSection[hidden],.shopOfferTabs[hidden],#shopBasicOffers[hidden] {display:none!important;}
.shopOfferTabs {display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 16px;}
.shopOfferTabs button {min-height:36px;padding:8px 6px;border:1px solid #466984;border-radius:8px;background:#10293e;color:#9cb9d0;font:inherit;font-size:11px;cursor:pointer;}
.shopOfferTabs button[aria-selected="true"] {color:#d8f4ff;background:linear-gradient(#24577a,#163951);border-color:#75cfff;box-shadow:inset 0 1px #ffffff20;}
#shopPremiumTab {background:#24262c;border-color:#69645b;color:#e8d7ac;}
#shopPremiumTab[aria-selected="true"] {background:#36342e;border-color:#d7b768;color:#ffe4a2;box-shadow:inset 0 -3px #d7b768;}
.shopOfferTabs button:focus-visible {outline:2px solid #fff;outline-offset:2px;}
#premiumShopSection .shopSectionHeader strong {font-size:11px;}
.premiumShopNotice {margin:0 0 8px;color:#8da8ba;font-size:9px;line-height:1.4;}
#premiumShopOffers {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch;}
.premiumShopOffer {display:flex;flex-direction:column;min-width:0;overflow:hidden;box-sizing:border-box;padding:0;background:#24272e;border:1px solid #454a54;border-radius:4px;box-shadow:0 4px 10px #0003;color:#fff;font-family:inherit;text-align:left;}
.premiumShopBody {display:flex;flex-direction:column;flex:1;min-width:0;}
.premiumShopIcons {position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;flex:none;width:100%;aspect-ratio:2/1;overflow:hidden;background:radial-gradient(ellipse,#b58ada60,transparent 70%),#182235;}
.premiumShopIcons img {display:block;width:35%;height:70%;object-fit:contain;}
.premiumShopIcons.has-illustration img {width:100%;height:100%;object-fit:cover;}
.premiumShopOffer[data-feature="auto_level"] .premiumShopIcons {background:#18302a;}
.premiumShopOffer[data-feature="auto_team"] .premiumShopIcons {background:radial-gradient(ellipse,#75cfff66,transparent 70%),#14253d;}
.premiumShopOffer[data-feature="auto_collect"] .premiumShopIcons {background:radial-gradient(ellipse,#f1cb7555,transparent 70%),#352b20;}
.premiumShopEmblems {position:absolute;top:6px;right:6px;display:flex;gap:5px;padding:4px;background:#121820aa;color:#fff0c5;font-size:11px;}
.premiumShopLabel {padding:9px 10px 3px;font-size:13px;font-weight:700;line-height:1.25;overflow-wrap:anywhere;}
.premiumShopMeta {padding:0 10px 5px;color:#e7c476;font-size:9px;line-height:1.3;}
.premiumShopDescription {margin:3px 0 7px;padding:0 10px;font-size:10px;line-height:1.4;color:#ccd1da;white-space:pre-wrap;overflow-wrap:anywhere;}
.premiumShopBuyButton {margin:7px 10px 10px;padding:8px 4px;min-height:32px;border:1px solid #1596ed;border-radius:4px;background:#0878d1;color:#fff;font:inherit;cursor:pointer;}
.premiumShopBuyButton strong {font-size:12px;font-weight:700;}
.premiumShopBuyButton:hover {background:#138fe8;}
.premiumShopBuyButton:focus-visible {outline:2px solid #fff;outline-offset:2px;}
.premiumShopBuyButton:disabled {opacity:.6;cursor:wait;}
.premiumShopEmpty {grid-column:1/-1;box-sizing:border-box;width:100%;margin:8px 0;padding:10px 12px;border:1px solid #75cfff59;border-radius:7px;background:#3a85b726;color:#a2d6f4;font-size:10px;line-height:1.4;}
#premiumShopStatus:empty {display:none;}
#premiumShopStatus:not(:empty) {margin:8px 0 0;padding:8px 10px;border:1px solid #60dca552;border-radius:7px;background:#2aaf791f;color:#91e8ba;font-size:10px;line-height:1.4;}
#premiumShopStatus.is-loading {border-color:#75cfff59;background:#3a85b726;color:#a2d6f4;}
#premiumShopStatus.is-error {border-color:#ff878759;background:#b4303026;color:#ffabab;}

/* Recharge Écus : une carte large, les choix restent dans la boutique. */
 .premiumEcuOffer {grid-column:1/-1;display:flex;flex-direction:column;}
.premiumEcuVisual {display:flex;align-items:center;justify-content:center;background:#20232a;min-width:0;overflow:hidden;}
.premiumEcuVisual img {display:block;width:100%;height:160px;object-fit:cover;object-position:center;}
.premiumEcuBody {padding:10px;min-width:0;}
.premiumEcuTitle {font-size:14px;color:#fff;}
.premiumEcuDescription {margin:4px 0 8px;font-size:9px;line-height:1.5;color:#ccd1da;}
.premiumEcuChoices {display:grid;grid-template-columns:repeat(var(--ecu-choice-count),minmax(0,1fr));gap:4px;}
.premiumEcuChoice {display:flex;flex-direction:column;gap:3px;padding:8px 5px;background:#1d2026;color:#eee;border:1px solid #535966;border-radius:4px;font:inherit;cursor:pointer;text-align:center;min-width:0;}
.premiumEcuChoice strong {font-size:11px;}.premiumEcuChoice span {font-size:14px;font-weight:700;}
.premiumEcuQuantity {display:flex;align-items:center;justify-content:center;gap:2px;}
.premiumEcuQuantity img {width:18px;height:18px;object-fit:contain;}
.premiumEcuChoice[aria-pressed="true"] {border-color:#fff;background:#242a32;box-shadow:inset 5px 0 #1596ed,inset -5px 0 #1596ed;}
.premiumEcuChoice:focus-visible {outline:2px solid #36b2ff;outline-offset:2px;}
.premiumEcuChoice:disabled {opacity:.4;cursor:not-allowed;}
.premiumEcuBody .premiumShopBuyButton {width:100%;margin:8px 0 0;}
@media(max-width:379px){.premiumEcuChoice span{font-size:12px;}.premiumEcuChoice strong{font-size:10px;}.premiumEcuQuantity img{width:15px;height:15px;}.premiumEcuVisual img{height:130px;}}

.premiumShopBuyButton[data-unavailable="true"]:disabled {cursor:not-allowed;}

.shopPanelBody {scrollbar-color:rgba(100,213,231,.70) rgba(4,20,36,.55);}
.shopPanelBody::-webkit-scrollbar {width:6px;height:6px;}
.shopPanelBody::-webkit-scrollbar-track {border-radius:999px;background:rgba(4,20,36,.55);}
.shopPanelBody::-webkit-scrollbar-thumb {border-radius:999px;background:linear-gradient(180deg,rgba(100,213,231,.88),rgba(36,126,166,.92));}

.premiumShopOffer[data-columns="2"] {grid-column:1/-1;}

.premiumEcuOffer[data-columns="1"] {grid-column:span 1;}
.premiumEcuOffer[data-columns="1"] .premiumEcuChoices {grid-template-columns:repeat(2,minmax(0,1fr));}
.premiumEcuOffer[data-columns="1"] .premiumEcuVisual img {height:120px;}

/* Essai carrousel : une carte par offre, sans défilement automatique. */
#premiumShopOffers {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:4px 2px 10px;scrollbar-width:thin;scrollbar-color:rgba(100,213,231,.70) rgba(4,20,36,.55);}
#premiumShopOffers .premiumShopOffer {flex:0 0 calc((100% - 10px)/2);scroll-snap-align:start;}
#premiumShopOffers .premiumShopBody {flex:1;}
.premiumCarouselNav {display:flex;justify-content:flex-end;gap:6px;margin:0 0 4px;}
.premiumCarouselNav button {width:30px;height:28px;padding:0;border:1px solid #1596ed;border-radius:4px;background:#0878d1;color:#fff;font:inherit;font-size:22px;cursor:pointer;}
.premiumEcuCardQuantity {margin:8px 10px;justify-content:flex-start;font-size:18px;}
#premiumShopOffers::-webkit-scrollbar {height:6px;}
#premiumShopOffers::-webkit-scrollbar-track {border-radius:999px;background:rgba(4,20,36,.55);}
#premiumShopOffers::-webkit-scrollbar-thumb {border-radius:999px;background:linear-gradient(180deg,rgba(100,213,231,.88),rgba(36,126,166,.92));}
@media(prefers-reduced-motion:reduce){#premiumShopOffers{scroll-behavior:auto;}}

#premiumShopOffers .premiumShopMeta, #premiumShopOffers .premiumShopDescription {font-size:10px;}
#premiumShopOffers .premiumEcuCardQuantity {margin:7px 10px 4px;font-size:14px;}

.premiumShopImageBadge {position:absolute;bottom:6px;left:6px;z-index:2;padding:3px 5px;border:1px dashed rgba(255,255,255,.8);border-radius:3px;background:rgba(15,22,32,.88);color:#fff;font-size:10px;line-height:1.3;}
#premiumShopOffers .premiumEcuCardQuantity {margin:8px 10px 4px;font-size:24px;gap:8px;flex-wrap:wrap;line-height:1.2;}
#premiumShopOffers .premiumEcuCardQuantity img {width:36px;height:36px;object-fit:contain;flex:none;}

#premiumShopOffers .premiumEcuCardQuantity {justify-content:center;align-items:center;flex-wrap:nowrap;min-height:36px;}
#premiumShopOffers .premiumEcuCardQuantity img {order:-1;}
.premiumShopImageBadge {font-size:8px;padding:2px 4px;}

#premiumShopOffers .premiumEcuAmount {display:flex;align-items:center;height:36px;line-height:1;font-size:24px;}
#premiumShopOffers .premiumEcuCardQuantity img {display:block;margin:0;vertical-align:middle;}

/* Alignement optique des chiffres avec le centre visible de la pièce. */
#premiumShopOffers .premiumEcuAmount {transform:none;}

#premiumShopOffers .premiumShopOffer[data-feature="ecus"] .premiumShopBody {display:flex;flex-direction:column;}
#premiumShopOffers .premiumShopOffer[data-feature="ecus"] .premiumEcuCardQuantity {flex:1;margin:0;padding:12px 10px;box-sizing:border-box;}
#premiumShopOffers .premiumShopOffer[data-feature="ecus"] .premiumShopBuyButton {margin-top:0;}

.premiumCarouselNav button {display:grid;place-items:center;box-sizing:border-box;line-height:1;}
.premiumCarouselNav button::before {content:"";display:block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateX(-2px) rotate(45deg);}
.premiumCarouselNav #premiumCarouselPrev::before {transform:translateX(2px) rotate(-135deg);}

/* Compact centered contents with wrapping inside card margins. */
.premiumMixedContents{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin:0px 10px;width:calc(100% - 20px);min-width:0;box-sizing:border-box;overflow:visible;padding:4px 0}
.premiumMixedContents .premiumMixedItem{display:flex;flex:0 0 64px;width:64px;box-sizing:border-box;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:44px;padding:0;border:0;border-bottom: 3px solid #0878d1; border-radius:3px;background:transparent;color:#eaf4ff;cursor:pointer;font:inherit}
.premiumMixedContents .premiumMixedItem img{display:block;width:28px;height:28px;object-fit:contain;flex:none}
.premiumMixedContents .premiumMixedItem i{display:block;width:28px;line-height:28px;text-align:center;font-size:23px;color:#c898ff}
.premiumMixedContents .premiumMixedItem strong{font-size:14px;line-height:1;font-weight:700;white-space:nowrap}
.premiumMixedContents .premiumMixedItem[data-feature="auto_level"] i{color:#70dba4}
.premiumMixedContents .premiumMixedItem[data-feature="auto_team"] i{color:#75cfff}
.premiumMixedContents .premiumMixedItem[data-feature="auto_collect"] i{color:#f1cb75}
.premiumMixedContents .premiumMixedItem[data-feature="auto_prestige"] i{color:#c898ff}
.premiumMixedContents .premiumMixedItem:hover{background:transparent;color:#fff}
.premiumMixedContents .premiumMixedItem:focus-visible{outline:2px solid #75cfff;outline-offset:1px}

/* Body-mounted tooltip must sit above the shop modal (6550). */
#premiumContentTooltip{z-index:7000}

/* Payment reservations: on-demand checks only. */
.premiumPendingPayment{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px;padding:10px;border:1px solid #3682b8;border-radius:4px;background:#17364c;color:#eaf4ff;font-size:12px}
.premiumPendingPayment button{flex:none;cursor:pointer;border:1px solid #84b6da;border-radius:3px;background:#0878d1;color:white;padding:6px}
@media(max-width:420px){.premiumPendingPayment{flex-wrap:wrap}}

.premiumShopCancelButton{margin:0 10px 10px;padding:0;min-height:28px;border:1px solid #8995a1;border-radius:3px;background:transparent;color:#dae1e8;font:inherit;font-size:10px;cursor:pointer;}
.premiumShopCancelButton:hover{background:#ffffff12;color:#fff;}
.premiumShopCancelButton:disabled{opacity:.6;cursor:wait;}

.gameConfirmDialog--premium-purchase .gameConfirmButton--cancel.gameConfirmButton--danger{background:#a72f38;border-color:#e16a72;color:#fff;}
.gameConfirmDialog--premium-purchase .gameConfirmButton--cancel.gameConfirmButton--danger:hover{background:#c43a45;}
