/* =====================================================================
   Skoleom Page — maquette « Lady Gaga / RUNWAY »
   Bureau : scène fixe 1672×941 (proportions de l'affiche) mise à
   l'échelle par app.js → chaque élément reste exactement à sa place.
   Mobile (< 900 px) : l'écran du téléphone devient l'application plein écran.
   ===================================================================== */
:root{
  --blue:#0066FF; --blue-d:#0052d6; --blue-50:#eaf2ff;
  --ink:#0b0d12; --ink-2:#3b4150; --mute:#6b7280; --line:#e5e8ef;
  --card:#ffffff; --glass:rgba(255,255,255,.86);
  --shadow:0 18px 50px -18px rgba(16,24,40,.28), 0 4px 14px -6px rgba(16,24,40,.12);
  --r-pill:999px;
  --font:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Anton",Impact,"Arial Narrow",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:var(--font);color:var(--ink);background:#eef1f6;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}
img{display:block;max-width:100%}
[hidden]{display:none!important}
svg{display:block}
.ic{width:1em;height:1em;flex:none}

/* ---------- Fond : image du clip ---------- */
.backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;background:#f3f5f9}
.backdrop-img{position:absolute;right:-2%;top:-6%;width:78%;height:82%;object-fit:cover;object-position:50% 30%;filter:saturate(1.05) contrast(1.02);opacity:0;transition:opacity .8s}
.backdrop-img.ok{opacity:1}
.backdrop-fade{position:absolute;inset:0;background:
  linear-gradient(90deg,#f5f7fb 0%,#f5f7fb 24%,rgba(245,247,251,.86) 34%,rgba(245,247,251,0) 52%),
  linear-gradient(180deg,rgba(245,247,251,0) 38%,rgba(245,247,251,.9) 70%,#f5f7fb 84%),
  radial-gradient(120% 70% at 70% 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,.35) 100%)}

/* ---------- Scène ---------- */
.viewport{position:fixed;inset:0;z-index:1;overflow:hidden}
.stage{position:absolute;left:50%;top:50%;width:1672px;height:941px;transform-origin:center center;transform:translate(-50%,-50%)}

/* Logo */
.brand{position:absolute;left:66px;top:80px;width:248px;display:block}
.brand img{width:100%;height:auto}

/* Accroche */
.headline{position:absolute;left:64px;top:214px;width:520px;font-size:55.5px;line-height:54px;font-weight:700;letter-spacing:-2.6px;color:var(--ink)}
.headline .accent{color:var(--blue)}

/* Atouts */
.features{position:absolute;left:66px;top:520px;display:flex;gap:8px;list-style:none}
.features li{display:flex;align-items:flex-start;gap:10px}
.features li:nth-child(1){width:180px}.features li:nth-child(2){width:142px}.features li:nth-child(3){width:150px}
.feat-ic{width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 6px 18px -8px rgba(0,60,160,.35);display:grid;place-items:center;color:var(--blue);font-size:26px;flex:none}
.features b{display:block;font-size:13.5px;font-weight:600;margin-top:8px;line-height:1.2}
.features small{display:block;font-size:9.3px;line-height:1.35;color:var(--mute);margin-top:3px}

/* Boutons de connexion */
.cta{position:absolute;left:67px;top:607px;width:463px;display:flex;flex-direction:column;gap:11px}
.btn-apple,.btn-google{height:68px;border-radius:var(--r-pill);display:flex;align-items:center;padding:0 32px 0 48px;font-size:22px;font-weight:500;transition:transform .15s,box-shadow .2s,background .2s}
.btn-apple{background:var(--blue);color:#fff;box-shadow:0 14px 30px -12px rgba(0,102,255,.7)}
.btn-apple:hover{background:var(--blue-d)}
.btn-google{height:64px;background:#fff;border:1.5px solid #dde2ea;color:var(--ink);box-shadow:0 8px 22px -14px rgba(16,24,40,.3)}
.btn-google:hover{border-color:#c5ccd8}
.btn-apple:active,.btn-google:active{transform:scale(.985)}
.b-ic{width:38px;height:38px;display:grid;place-items:center;margin-right:18px;font-size:36px}
.btn-apple .b-ic svg{width:34px;height:34px;fill:#fff;margin-top:-4px}
.g-logo svg{width:36px;height:36px}
.b-lbl{flex:1;text-align:left}
.b-chev{font-size:20px;opacity:.9}
.btn-google .b-chev{color:var(--blue)}
.is-busy{pointer-events:none;opacity:.8}

.usercard{position:absolute;left:67px;top:607px;width:463px;height:92px;border-radius:24px;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px;padding:0 22px}
.uc-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#5aa0ff);color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px}
.uc-txt{flex:1}.uc-txt b{display:block;font-size:19px}.uc-txt small{color:var(--mute);font-size:14px}
.uc-out{font-size:14px;font-weight:600;color:var(--blue);padding:10px 14px;border-radius:12px}
.uc-out:hover{background:var(--blue-50)}

/* Recherche (inclinée comme l'affiche) */
.search{position:absolute;left:1142px;top:66px;width:380px;height:62px;border-radius:20px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);display:flex;align-items:center;padding:0 16px 0 18px;transform:rotate(-2.6deg);transform-origin:left center}
.s-ic{color:var(--blue);font-size:25px;margin-right:14px}
.search input{flex:1;border:0;outline:0;background:transparent;font-size:22px;font-weight:400;min-width:0}
.search input::-webkit-search-cancel-button{display:none}
.s-clear{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#8a93a3;font-size:20px}
.s-clear:hover{background:#eef1f6}
.filters{position:absolute;left:1530px;top:42px;width:58px;height:58px;border-radius:17px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);display:grid;place-items:center;font-size:24px;transform:rotate(-2.6deg)}
.chips{position:absolute;left:1146px;top:122px;display:flex;gap:8px;transform:rotate(-2.6deg);transform-origin:left top}
.chip{height:45px;padding:0 18px;border-radius:16px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 20px -12px rgba(16,24,40,.35);font-size:16px;font-weight:500;color:var(--ink-2);transition:background .2s,color .2s}
.chip:nth-child(1){margin-top:14px}.chip:nth-child(2){margin-top:12px}.chip:nth-child(3){margin-top:6px}.chip:nth-child(4){margin-top:2px}.chip:nth-child(5){margin-top:-6px}
.chip.is-on{background:var(--blue);color:#fff;box-shadow:0 10px 22px -10px rgba(0,102,255,.8)}

/* ---------- Lecteur principal ---------- */
.player{position:absolute;left:572px;top:326px;width:694px;height:296px;border-radius:18px;overflow:hidden;background:#0a0a0c;box-shadow:0 30px 60px -24px rgba(0,0,0,.55);isolation:isolate}
.pl-poster{position:absolute;inset:0;cursor:pointer;z-index:2}
.pl-img{position:absolute;right:0;top:0;width:78%;height:100%;object-fit:cover;object-position:60% 35%}
.pl-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0e 0%,#0b0b0e 20%,rgba(11,11,14,.75) 38%,rgba(11,11,14,0) 62%),linear-gradient(0deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,0) 34%)}
.pl-logo{position:absolute;left:26px;top:18px;width:92px;height:auto}
.pl-titles{position:absolute;left:26px;top:64px;color:#fff}
.pl-artist{font-size:22px;font-weight:500;letter-spacing:-.3px}
.pl-title{font-family:var(--display);font-size:70px;line-height:.95;letter-spacing:.5px;text-transform:uppercase;margin-top:2px;max-width:330px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-badge{display:flex;align-items:center;gap:9px;font-size:15.5px;margin-top:10px}
.yt-mini svg{width:25px;height:25px;fill:#FF0000;background:radial-gradient(circle,#fff 30%,transparent 31%)}
.pl-play{position:absolute;left:50%;top:44%;transform:translate(10%,-50%);width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;font-size:28px;opacity:0;transition:opacity .25s,transform .25s}
.pl-poster:hover .pl-play{opacity:1;transform:translate(10%,-50%) scale(1.04)}
.pl-bar{position:absolute;left:22px;right:22px;bottom:12px;color:#fff}
.pl-track{position:relative;height:4px;border-radius:4px;background:rgba(255,255,255,.35)}
.pl-fill{position:absolute;left:0;top:0;bottom:0;width:27%;border-radius:4px;background:#fff}
.pl-knob{position:absolute;top:50%;left:27%;width:17px;height:17px;margin:-8.5px 0 0 -8.5px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.pl-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-top:12px}
.pl-right{display:flex;align-items:center;gap:22px;font-size:16px}.pl-right b{font-weight:600}
.pl-yt{position:absolute;inset:0;z-index:1}
.pl-yt iframe{width:100%;height:100%;border:0}
.player.is-live .pl-poster{opacity:0;pointer-events:none;transition:opacity .35s}
.pl-bag{position:absolute;right:26px;top:20px;z-index:4;width:58px;height:58px;border-radius:15px;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:30px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);transition:transform .15s}
.pl-bag:hover{transform:scale(1.05)}
.count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--blue);color:#fff;font-size:12px;font-style:normal;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.player.is-live .pl-bag{top:14px;right:14px;width:50px;height:50px;font-size:26px}

/* Pastilles produits pendant la lecture (Watch. Touch. Buy.®) */
.pl-hot{position:absolute;left:14px;top:14px;z-index:3;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.hot{pointer-events:auto;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);border-radius:12px;padding:6px 12px 6px 6px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5);animation:hotIn .35s cubic-bezier(.2,.9,.3,1.2) both;cursor:pointer}
.hot .pimg{width:38px;height:38px;border-radius:8px}
.hot small{display:block;font-size:10.5px;color:var(--mute);line-height:1.1}.hot b{font-size:14px}
.hot .hb{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:17px;color:var(--ink)}
.hot:hover .hb{background:var(--blue);color:#fff}
@keyframes hotIn{from{opacity:0;transform:translateX(-12px) scale(.96)}}

/* Onglets + vignettes */
.tabs{position:absolute;left:588px;top:632px;display:flex;gap:6px}
.tab{height:37px;padding:0 17px;border-radius:var(--r-pill);background:rgba(255,255,255,.9);border:1px solid #e4e7ee;font-size:13px;color:var(--ink-2);transition:background .2s,color .2s}
.tab:hover{border-color:#cfd5df}
.tab.is-on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:500}
.tab-more{width:44px;padding:0;display:grid;place-items:center;font-size:20px}
.strip{position:absolute;left:574px;top:680px;width:694px;height:88px;display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory}
.strip::-webkit-scrollbar{display:none}
.tile{position:relative;flex:0 0 133px;height:87px;border-radius:7px;overflow:hidden;background:#1b1c22;scroll-snap-align:start;cursor:pointer;transition:transform .18s}
.tile:hover{transform:translateY(-2px)}
.tile img{width:100%;height:100%;object-fit:cover}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,0) 55%)}
.tile span{position:absolute;left:8px;bottom:6px;right:6px;z-index:1;color:#fff;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile.is-on{outline:3px solid #fff;box-shadow:0 0 0 5px rgba(0,102,255,.9),0 10px 20px -8px rgba(0,0,0,.5)}
.tile.is-product{background:#fff;border:1px solid var(--line)}
.tile.is-product::after{display:none}
.tile.is-product .pimg{position:absolute;left:8px;top:8px;width:50px;height:50px;border-radius:8px}
.tile.is-product span{color:var(--ink);font-size:11.5px;font-weight:500;left:64px;top:12px;bottom:auto;white-space:normal;line-height:1.25}
.tile.is-product em{position:absolute;left:64px;bottom:10px;font-style:normal;font-weight:700;font-size:14px}
.tile.is-product .hb{position:absolute;right:8px;bottom:8px;width:26px;height:26px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:15px}
.tile.is-note{flex:1 0 100%;background:#fff;border:1px dashed #cdd4df;display:flex;align-items:center;gap:14px;padding:0 18px;cursor:default}
.tile.is-note::after{display:none}
.tile.is-note span{position:static;color:var(--ink-2);font-weight:500;white-space:normal}
.tile.is-artist img{object-position:50% 25%}

/* ---------- Téléphone ---------- */
.phone{position:absolute;left:1276px;top:176px;width:360px;height:660px;transform:rotate(4.2deg);transform-origin:50% 50%}
.phone-body{position:absolute;inset:0;border-radius:58px;padding:11px;background:linear-gradient(145deg,#f4f6fa,#b8bfcb 40%,#eef1f5 60%,#9aa3b1);box-shadow:0 40px 70px -26px rgba(10,20,40,.55),inset 0 0 0 1.5px rgba(255,255,255,.8)}
.phone-body::before{content:"";position:absolute;inset:5px;border-radius:53px;background:#0b0c10}
.phone-screen{position:relative;height:100%;border-radius:47px;overflow:hidden;background:#fff;display:flex;flex-direction:column;isolation:isolate}
.island{position:absolute;left:50%;top:10px;width:100px;height:29px;margin-left:-50px;border-radius:20px;background:#000;z-index:30}
.statusbar{height:46px;flex:none;display:flex;justify-content:space-between;align-items:flex-end;padding:0 26px 6px 32px;font-size:14px;font-weight:600;z-index:5}
.sb-ic svg{width:66px;height:13px}

.view{display:none;flex:1;min-height:0;flex-direction:column}
.view.is-on{display:flex}
.app-head{display:flex;align-items:center;justify-content:space-between;padding:4px 16px 6px 18px;flex:none}
.app-logo{width:96px;height:auto}
.app-head-ic{display:flex;gap:6px}
.app-head-ic button{width:32px;height:32px;display:grid;place-items:center;font-size:20px;color:#555c6a}
.stories{display:flex;gap:9px;padding:4px 14px 8px;overflow-x:auto;scrollbar-width:none;flex:none}
.stories::-webkit-scrollbar{display:none}
.story{flex:none;width:52px;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:10px;font-weight:500;color:var(--ink-2)}
.story .ring{display:block;width:52px;height:52px;border-radius:50%;padding:2px;background:#e6e9ef;margin-bottom:4px}
.story.is-on .ring{background:var(--blue)}
.story .ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #fff}
.story.is-on{color:var(--blue)}

.feed{flex:1;min-height:0;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain}
.feed::-webkit-scrollbar{display:none}
.post{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#0c0c10;color:#fff}
.post-media{position:absolute;inset:0;overflow:hidden}
.post-media img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.post-yt{position:absolute;inset:0;overflow:hidden;z-index:1}
.post-yt iframe{position:absolute;top:0;left:50%;height:100%;border:0;transform:translateX(-50%)}
.post.is-live .post-media img{opacity:0}
.post-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,0) 36%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0) 20%)}
.post-tap{position:absolute;inset:0;z-index:3;display:grid;place-items:center}
.post-tap i{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;font-size:24px;animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.45)}60%{box-shadow:0 0 0 14px rgba(255,255,255,0)}}
.post.is-live .post-tap{display:none}
.ptags{position:absolute;left:10px;top:12%;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ptag{display:flex;align-items:center;gap:6px;background:#fff;color:var(--ink);border-radius:10px;padding:5px 8px 5px 5px;box-shadow:0 8px 18px -8px rgba(0,0,0,.6);text-align:left;animation:hotIn .35s both}
.ptag:nth-child(2){margin-left:34px}.ptag:nth-child(3){margin-left:-2px}
.ptag .pimg{width:34px;height:34px;border-radius:6px}
.ptag small{display:block;font-size:8.5px;color:#4b5261;line-height:1.1}
.ptag b{font-size:13px;letter-spacing:-.2px}
.ptag .hb{font-size:15px;margin-left:4px}
.pact{position:absolute;right:8px;bottom:62px;z-index:4;display:flex;flex-direction:column;gap:12px;align-items:center}
.pact button{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:26px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.pact small{font-size:10px;font-weight:600}
.pact .liked{color:#ff3b5c}
.pmeta{position:absolute;left:12px;right:52px;bottom:10px;z-index:4;font-size:11.5px;line-height:1.35}
.puser{display:flex;align-items:center;gap:7px;font-weight:600;font-size:12px;margin-bottom:5px}
.puser img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1.5px solid #fff}
.verified{width:13px;height:13px;color:#2d8cff}
.ptags-h{color:#7db4ff;font-weight:500}
.pmore{position:absolute;right:14px;bottom:18px;z-index:4;font-size:20px}

.app-nav{flex:none;height:66px;display:flex;align-items:flex-start;justify-content:space-around;padding:8px 6px 0;background:#fff;border-top:1px solid #eef0f4;z-index:6}
.app-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:22px;color:#6b7280;min-width:52px}
.app-nav small{font-size:9.5px;font-weight:500}
.app-nav .is-on{color:var(--blue)}
.app-nav .nav-plus{width:44px;height:44px;min-width:0;margin-top:-4px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 18px -6px rgba(0,102,255,.7)}
.home-ind{position:absolute;left:50%;bottom:7px;width:120px;height:4.5px;margin-left:-60px;border-radius:3px;background:#111;z-index:7}

.app-top{display:flex;align-items:center;gap:8px;padding:6px 12px 8px;flex:none;font-size:16px}
.back{width:34px;height:34px;display:grid;place-items:center;font-size:22px;border-radius:50%}
.back:hover{background:#f1f3f7}
.app-search{margin:0 14px 10px;height:42px;border-radius:14px;background:#f1f3f7;display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--blue);font-size:18px;flex:none}
.app-search input{flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px;min-width:0}
.app-chips{display:flex;gap:6px;padding:0 14px 10px;overflow-x:auto;scrollbar-width:none;flex:none}
.app-chips::-webkit-scrollbar{display:none}
.app-chips button{flex:none;height:32px;padding:0 14px;border-radius:var(--r-pill);background:#f1f3f7;font-size:12.5px;font-weight:500;color:var(--ink-2)}
.app-chips .is-on{background:var(--blue);color:#fff}
.app-results{flex:1;min-height:0;overflow-y:auto;padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}
.res{display:block;text-align:left;width:100%;flex:none}
.res .rimg{display:block;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#111}
.res .rimg img{width:100%;height:100%;object-fit:cover}
.res .rimg i{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.7);color:#fff;font-style:normal;font-size:11px;padding:2px 6px;border-radius:6px}
.res .rimg .rbag{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:9px;background:#fff;display:grid;place-items:center;font-size:17px}
.res b{display:block;font-size:13.5px;margin-top:7px}.res small{color:var(--mute);font-size:11.5px}
.res-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rprod{background:#f7f8fb;border-radius:14px;padding:10px;text-align:left}
.rprod .pimg{width:100%;height:auto;aspect-ratio:1;border-radius:10px;margin-bottom:8px}
.rprod b{display:block;font-size:12.5px;font-weight:500}.rprod em{font-style:normal;font-weight:700;font-size:14px}
.rimgs{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rimgs button{aspect-ratio:1;border-radius:10px;overflow:hidden}.rimgs img{width:100%;height:100%;object-fit:cover}

.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 30px;gap:8px}
.empty-ic{width:64px;height:64px;border-radius:50%;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;font-size:28px;margin-bottom:6px}
.empty b{font-size:16px}.empty p{font-size:12.5px;color:var(--mute);line-height:1.5}

.profile{flex:1;overflow-y:auto;padding:4px 18px 18px}
.pf-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 0 16px}
.pf-av{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#5aa0ff);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:700;box-shadow:0 10px 24px -10px rgba(0,102,255,.7)}
.pf-head b{font-size:18px}.pf-head small{color:var(--mute)}
.pf-stats{display:flex;justify-content:center;gap:26px;padding:10px 0 16px;border-bottom:1px solid var(--line);margin-bottom:12px}
.pf-stats span{text-align:center;font-size:11px;color:var(--mute)}.pf-stats b{display:block;font-size:16px;color:var(--ink)}
.pf-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 4px;font-size:14px;border-bottom:1px solid #f0f2f6;text-align:left}
.pf-row span:first-child{font-size:20px;color:var(--blue)}
.pf-row.danger{color:#d92d20}.pf-row.danger span:first-child{color:#d92d20}

/* ---------- Plateformes ---------- */
.platforms{position:absolute;left:30px;top:820px;width:1242px;height:112px;border-radius:26px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 20px 50px -30px rgba(16,24,40,.35);display:flex;align-items:center;padding:0 40px}
.pf-txt{width:370px;flex:none}.platforms p{font-size:18px;line-height:23px;color:var(--ink)}
.pf-count{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--blue);font-weight:500;padding:3px 10px;border-radius:999px;background:var(--blue-50)}.pf-count b{font-weight:700}.pf-count:hover{background:#dbe8ff}
.platforms ul{display:flex;list-style:none;gap:0;margin-left:0}
.platforms li{width:83px;text-align:center}
.platforms a{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);text-decoration:none;transition:transform .15s}
.platforms a:hover{transform:translateY(-2px)}
.pf-tile{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 10px -4px rgba(0,0,0,.25)}
.pf-tile svg{width:28px;height:28px}
.pf-tile.plain{box-shadow:none;background:transparent!important}
.pf-tile.plain svg{width:46px;height:46px}
.pf-tile.txt{font-weight:700;line-height:.95;font-size:10px;text-align:center;letter-spacing:-.2px}
.pf-tile.disney{background:radial-gradient(120% 90% at 30% 20%,#1f6fb3,#0b1f5a 60%,#08133a);font-family:Georgia,serif;font-style:italic;font-size:11.5px}
.pf-tile.more{background:#fff;border:1.5px solid #dfe3ea;box-shadow:none;color:var(--ink);font-size:24px}

/* ---------- Boutique ---------- */
.scrim{position:fixed;inset:0;z-index:40;background:rgba(10,14,24,.42);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade .2s}
@keyframes fade{from{opacity:0}}
.shop{position:fixed;z-index:41;top:16px;right:16px;bottom:16px;width:min(420px,calc(100vw - 32px));background:#fff;border-radius:26px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);display:flex;flex-direction:column;transform:translateX(calc(100% + 30px));transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.shop.is-open{transform:none}
.shop-head{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 10px 24px}
.wtb{display:block;font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.2px}
.shop-head b{font-family:var(--display);font-size:30px;letter-spacing:.4px;text-transform:uppercase;font-weight:400}
.icon-btn{width:40px;height:40px;border-radius:50%;background:#f1f3f7;display:grid;place-items:center;font-size:20px}
.icon-btn:hover{background:#e6e9ef}
.shop-tabs{display:flex;gap:6px;padding:0 20px 12px}
.shop-tabs button{height:36px;padding:0 16px;border-radius:var(--r-pill);background:#f1f3f7;font-size:13.5px;font-weight:500}
.shop-tabs .is-on{background:var(--ink);color:#fff}
.shop-tabs em{font-style:normal;margin-left:4px;opacity:.7}
.shop-body{flex:1;overflow-y:auto;padding:4px 20px 12px;display:flex;flex-direction:column;gap:10px}
.prow{display:flex;align-items:center;gap:14px;padding:10px;border-radius:18px;border:1px solid var(--line);transition:border-color .2s,background .2s}
.prow.flash{border-color:var(--blue);background:var(--blue-50)}
.prow .pimg{width:72px;height:72px;border-radius:12px}
.prow .pinfo{flex:1;min-width:0}.prow b{display:block;font-size:15px;font-weight:600}.prow small{font-size:12px;color:var(--mute)}
.prow em{display:block;font-style:normal;font-weight:700;font-size:16px;margin-top:4px}
.add{height:40px;padding:0 14px;border-radius:12px;background:var(--blue);color:#fff;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}
.add.in{background:#e9f7ef;color:#067647}
.qty{display:flex;align-items:center;gap:8px;font-weight:600}
.qty button{width:30px;height:30px;border-radius:9px;background:#f1f3f7;font-size:16px}
.shop-foot{padding:14px 20px 20px;border-top:1px solid var(--line)}
.tot{display:flex;justify-content:space-between;font-size:15px;margin-bottom:12px}.tot b{font-size:19px}
.btn-primary{width:100%;height:54px;border-radius:16px;background:var(--blue);color:#fff;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,transform .15s}
.btn-primary:hover{background:var(--blue-d)}.btn-primary:active{transform:scale(.99)}
.btn-primary:disabled{background:#b8c7e6;cursor:not-allowed}
.btn-primary.sm{width:auto;height:42px;padding:0 22px;font-size:14px;border-radius:13px;margin-top:6px}
.btn-ghost{width:100%;height:50px;border-radius:15px;font-weight:600;color:var(--ink-2)}
.btn-ghost:hover{background:#f1f3f7}
.pimg{background:#f3f4f7;display:grid;place-items:center;flex:none}
.pimg svg{width:74%;height:74%}

/* ---------- Connexion ---------- */
.auth{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(8,12,22,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .2s}
.auth-card{position:relative;width:min(460px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;border-radius:30px;padding:34px 34px 28px;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);animation:pop .3s cubic-bezier(.2,.9,.3,1.1)}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
.a-close{position:absolute;right:16px;top:16px}
.a-back{position:absolute;left:16px;top:16px}
.a-logo{width:170px;margin:0 auto 18px}
.a-mark{width:46px;margin:0 auto 14px}
.a-h{font-size:25px;font-weight:700;letter-spacing:-.6px;text-align:center;line-height:1.2}
.a-p{font-size:14px;color:var(--mute);text-align:center;margin:8px 0 22px;line-height:1.5}
.a-p b{color:var(--ink)}
.a-stack{display:flex;flex-direction:column;gap:10px}
.a-btn{height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:15.5px;border:1.5px solid #dfe3ea;background:#fff;transition:background .2s,border-color .2s,transform .15s}
.a-btn:hover{border-color:#c5ccd8}.a-btn:active{transform:scale(.99)}
.a-btn svg{width:22px;height:22px}
.a-btn.apple{background:#000;color:#fff;border-color:#000}.a-btn.apple svg{fill:#fff;margin-top:-3px}
.a-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.a-btn.primary:hover{background:var(--blue-d)}
.a-btn:disabled{opacity:.55;cursor:not-allowed}
.a-or{display:flex;align-items:center;gap:12px;color:#98a1b0;font-size:12.5px;margin:6px 0}
.a-or::before,.a-or::after{content:"";flex:1;height:1px;background:var(--line)}
.a-link{color:var(--blue);font-weight:600;font-size:14px}
.a-link:hover{text-decoration:underline}
.a-foot{text-align:center;font-size:14px;color:var(--mute);margin-top:18px}
.a-legal{text-align:center;font-size:11.5px;color:#98a1b0;margin-top:16px;line-height:1.5}
.a-legal a{color:var(--ink-2)}
.field{display:block;margin-bottom:12px}
.field>span:first-child{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}
.inp{position:relative;display:flex;align-items:center;height:52px;border-radius:14px;border:1.5px solid #dfe3ea;background:#fff;padding:0 14px;transition:border-color .2s,box-shadow .2s}
.inp:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,102,255,.12)}
.inp.err{border-color:#d92d20;box-shadow:0 0 0 4px rgba(217,45,32,.1)}
.inp input,.inp select{flex:1;border:0;outline:0;background:transparent;font-size:16px;min-width:0;height:100%}
.inp select{flex:none;width:92px;font-weight:600;appearance:none;-webkit-appearance:none;cursor:pointer}
.inp .sep{width:1px;height:24px;background:var(--line);margin:0 12px}
.inp .eye{font-size:20px;color:#8a93a3;padding:6px}
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.msg{display:block;font-size:12.5px;color:#d92d20;margin-top:6px}
.msg:empty{display:none}
.a-alert{background:#fef3f2;color:#b42318;border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:12px}
.meter{display:flex;gap:4px;margin-top:8px}.meter i{flex:1;height:4px;border-radius:2px;background:#e6e9ef}
.meter[data-s="1"] i:nth-child(-n+1){background:#f04438}.meter[data-s="2"] i:nth-child(-n+2){background:#f79009}.meter[data-s="3"] i:nth-child(-n+3){background:#12b76a}.meter[data-s="4"] i{background:#12b76a}
.check{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.45;margin:4px 0 16px;cursor:pointer}
.check input{width:18px;height:18px;margin-top:1px;accent-color:var(--blue);flex:none}
.forgot{display:block;text-align:right;margin:-4px 0 16px}
.otp{display:flex;gap:8px;justify-content:center;margin:4px 0 8px}
.otp input{width:50px;height:60px;border-radius:14px;border:1.5px solid #dfe3ea;text-align:center;font-size:24px;font-weight:700;outline:0}
.otp input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,102,255,.12)}
.resend{text-align:center;font-size:13px;color:var(--mute);margin:10px 0 18px}
.interests{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}
.interests button{height:40px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid #dfe3ea;font-size:14px;font-weight:500;transition:all .15s}
.interests .is-on{background:var(--blue);border-color:var(--blue);color:#fff}
.spin{width:54px;height:54px;border-radius:50%;border:4px solid var(--blue-50);border-top-color:var(--blue);animation:rot .8s linear infinite;margin:10px auto 18px}
.spin.sm{width:18px;height:18px;border-width:2.5px;margin:0;border-color:rgba(255,255,255,.35);border-top-color:#fff}
@keyframes rot{to{transform:rotate(360deg)}}
.ok-ic{width:78px;height:78px;border-radius:50%;background:#e9f7ef;color:#12b76a;display:grid;place-items:center;font-size:38px;margin:4px auto 16px}
.prov{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}
.prov .pv{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;box-shadow:0 6px 16px -8px rgba(0,0,0,.35)}
.prov .pv svg{width:30px;height:30px}
.prov .dots{display:flex;gap:4px}.prov .dots i{width:6px;height:6px;border-radius:50%;background:#c5ccd8;animation:blink 1s infinite}
.prov .dots i:nth-child(2){animation-delay:.15s}.prov .dots i:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{background:var(--blue)}}

/* Créer */
.sheet{position:fixed;inset:0;z-index:55;background:rgba(8,12,22,.45);display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.sheet-card{width:min(440px,100%);background:#fff;border-radius:26px 26px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));animation:up .3s cubic-bezier(.2,.9,.3,1)}
@media (min-width:900px){.sheet{align-items:center}.sheet-card{border-radius:26px}}
@keyframes up{from{transform:translateY(40px);opacity:0}}
.grab{width:40px;height:5px;border-radius:3px;background:#dfe3ea;margin:0 auto 12px}
.sheet-title{display:block;font-size:18px;text-align:center;margin-bottom:10px}
.sheet-row{display:flex;gap:14px;align-items:center;width:100%;padding:12px;border-radius:16px;text-align:left}
.sheet-row:hover{background:#f5f7fa}
.sheet-row>span:first-child{width:46px;height:46px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;font-size:22px;flex:none}
.sheet-row b{display:block;font-size:15px}.sheet-row small{color:var(--mute);font-size:12.5px}

.toast{position:fixed;left:50%;bottom:28px;z-index:80;transform:translate(-50%,20px);background:#0f1320;color:#fff;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:all .25s;max-width:calc(100vw - 32px);box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* =====================================================================
   MOBILE — l'application plein écran
   ===================================================================== */
body.is-mobile{background:#fff}
body.is-mobile .backdrop{display:none}
body.is-mobile .viewport{display:block}
body.is-mobile .stage{left:0;top:0;width:100%;height:100%;transform:none!important}
body.is-mobile .stage>*:not(.phone){display:none!important}
body.is-mobile .phone{position:fixed;inset:0;width:auto;height:auto;transform:none}
body.is-mobile .phone-body{border-radius:0;padding:0;background:#fff;box-shadow:none}
body.is-mobile .phone-body::before,body.is-mobile .island,body.is-mobile .statusbar,body.is-mobile .home-ind{display:none}
body.is-mobile .phone-screen{border-radius:0;padding-top:env(safe-area-inset-top)}
body.is-mobile .app-head{padding-top:10px}
body.is-mobile .app-logo{width:112px}
body.is-mobile .app-nav{height:calc(62px + env(safe-area-inset-bottom))}
body.is-mobile .story{width:60px;font-size:11px}
body.is-mobile .story .ring{width:60px;height:60px}
body.is-mobile .ptag b{font-size:14px}
body.is-mobile .ptag .pimg{width:40px;height:40px}
body.is-mobile .pmeta{font-size:13px}
body.is-mobile .auth{padding:0;place-items:end center}
body.is-mobile .auth-card{border-radius:28px 28px 0 0;max-height:96dvh;padding:30px 22px calc(24px + env(safe-area-inset-bottom))}
body.is-mobile .shop{top:auto;left:0;right:0;bottom:0;width:100%;height:88dvh;border-radius:26px 26px 0 0;transform:translateY(100%)}
body.is-mobile .shop.is-open{transform:none}
body.is-mobile .otp input{width:44px;height:56px}

/* ---------- Titres longs dans le lecteur ---------- */
.pl-title.is-long{font-size:48px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:360px;line-height:1}
.pl-title.is-xlong{font-size:36px;-webkit-line-clamp:3}
.tile .dur{position:absolute;right:6px;top:6px;z-index:1;background:rgba(0,0,0,.72);color:#fff;font-style:normal;font-size:10.5px;font-weight:600;padding:1px 5px;border-radius:5px}
.skel,.tile.skel{background:linear-gradient(100deg,#e8ebf1 20%,#f5f7fa 40%,#e8ebf1 60%);background-size:200% 100%;animation:shim 1.2s linear infinite}
.tile.skel::after{display:none}
@keyframes shim{to{background-position:-200% 0}}
.skel-post{display:grid;place-items:center}
.pimg.look{background:var(--blue);color:#fff;font-size:20px}
.pimg.look svg{width:58%;height:58%}
.tile.is-shoplink{text-decoration:none;color:inherit}
.tile.is-shoplink .fav{position:absolute;left:8px;top:8px;width:44px;height:44px}
.tile.is-shoplink em{color:var(--blue);font-size:13px}

/* Favicon + initiale de secours */
.fav{position:relative;width:36px;height:36px;border-radius:10px;background:#f1f3f7;display:grid;place-items:center;flex:none;overflow:hidden}
.fav i{font-style:normal;font-weight:700;color:#6b7280;font-size:15px}
.fav img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;background:#f1f3f7}

/* Liens « acheter le look » */
.look-note{font-size:13px;color:var(--mute);line-height:1.5;margin:2px 2px 4px}
.look-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:14px;transition:border-color .2s,background .2s}
.look-row:hover{border-color:var(--blue);background:var(--blue-50)}
.look-row>span:nth-child(2){flex:1;min-width:0}.look-row small{display:block;color:var(--mute);font-size:12px}
.look-row>.ic{color:#98a1b0}
.look-row.lens{border-color:var(--blue);background:var(--blue-50)}
.fav.lensic{background:var(--blue);color:#fff;font-size:18px}
.app-results .look-row{margin-top:2px}
.app-dir{display:flex;align-items:center;gap:10px;margin:0 14px 10px;padding:10px 12px;border-radius:14px;background:var(--blue-50);color:var(--blue);text-align:left;flex:none;font-size:18px}
.app-dir>span:nth-child(2){flex:1}.app-dir b{display:block;font-size:12.5px}.app-dir small{display:block;font-size:11px;color:#4d6fae}

/* ---------- Annuaire des plateformes ---------- */
.dir{position:fixed;inset:0;z-index:58;display:grid;place-items:center;padding:24px;background:rgba(8,12,22,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .2s}
.dir-card{width:min(940px,100%);height:min(760px,calc(100dvh - 48px));background:#fff;border-radius:28px;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden;animation:pop .3s cubic-bezier(.2,.9,.3,1.1)}
.dir-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 22px 10px 26px}
.dir-head h2{font-size:24px;letter-spacing:-.5px}
.dir-stats{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.dir-stats span{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--blue-50);color:var(--blue)}
.dir-stats b{font-weight:700}
.dir-search{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;padding:6px 26px 10px}
.dir-field{display:flex;align-items:center;gap:10px;height:50px;border-radius:15px;border:1.5px solid #dfe3ea;padding:0 14px;color:var(--blue);font-size:19px}
.dir-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,102,255,.12)}
.dir-field input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;color:var(--ink)}
.dir-web{padding:0 26px;display:flex;flex-direction:column;gap:8px}
.web-card{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:18px;background:linear-gradient(120deg,#0066FF,#3d8bff);color:#fff}
.web-ic{width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:24px;flex:none}
.web-txt{flex:1;min-width:0}.web-txt b{display:block;font-size:16px}.web-txt small{font-size:12.5px;opacity:.9}
.web-eng{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.web-eng a{background:#fff;color:var(--blue);text-decoration:none;font-weight:600;font-size:13px;padding:8px 12px;border-radius:11px}
.web-eng a:hover{background:#eaf2ff}
.web-site{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;border:1.5px solid var(--blue);text-decoration:none;color:var(--ink);font-size:14px}
.web-site>span:nth-child(2){flex:1}
.dir-cats{display:flex;gap:6px;padding:12px 26px 10px;overflow-x:auto;scrollbar-width:none;flex:none}
.dir-cats::-webkit-scrollbar{display:none}
.dir-cats button{flex:none;height:36px;padding:0 15px;border-radius:999px;background:#f1f3f7;font-size:13.5px;font-weight:500;color:var(--ink-2)}
.dir-cats .is-on{background:var(--ink);color:#fff}
.dir-grid{flex:1;min-height:0;overflow-y:auto;padding:4px 26px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;align-content:start}
.dtile{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:14px;border:1px solid var(--line);text-decoration:none;color:var(--ink);min-width:0;transition:border-color .15s,background .15s}
.dtile:hover{border-color:var(--blue);background:var(--blue-50)}
.dtile>span:last-child{min-width:0}.dtile b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dtile small{display:block;font-size:11.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dir-more{padding:4px 26px 18px}
.dir-load,.dir-empty{grid-column:1/-1;display:grid;place-items:center;padding:40px;color:var(--mute);font-size:14px;text-align:center}
body.is-mobile .dir{padding:0;place-items:end center}
body.is-mobile .dir-card{height:94dvh;border-radius:26px 26px 0 0}
body.is-mobile .dir-head,body.is-mobile .dir-search,body.is-mobile .dir-web,body.is-mobile .dir-cats,body.is-mobile .dir-grid,body.is-mobile .dir-more{padding-left:16px;padding-right:16px}
body.is-mobile .dir-search{grid-template-columns:1fr}
body.is-mobile .web-card{flex-wrap:wrap}
body.is-mobile .web-eng{justify-content:flex-start;width:100%}
body.is-mobile .dir-grid{grid-template-columns:1fr 1fr}

/* ---------- Visionneuse photo ---------- */
.lb{position:fixed;inset:0;z-index:59;display:grid;place-items:center;padding:24px;background:rgba(8,12,22,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .2s}
.lb-card{position:relative;width:min(760px,100%);max-height:calc(100dvh - 48px);background:#fff;border-radius:26px;overflow:hidden;display:flex;flex-direction:column;animation:pop .3s}
.lb-x{position:absolute;right:12px;top:12px;z-index:1;background:rgba(255,255,255,.9)}
.lb-img{background:#0b0b0e;display:grid;place-items:center;min-height:0;flex:1}
.lb-img img{max-width:100%;max-height:56dvh;object-fit:contain}
.lb-body{padding:16px 20px 20px}
.lb-body>b{display:block;font-size:17px;margin:2px 0}
.lb-src{color:var(--mute);font-size:12.5px}
.lb-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.lb-actions a{text-decoration:none}
.btn-primary.alt{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}
body.is-mobile .lb{padding:0;place-items:end center}
body.is-mobile .lb-card{border-radius:26px 26px 0 0}

/* Produits réels (SerpApi) */
.prow.ext{text-decoration:none;color:inherit}
.prow.ext:hover{border-color:var(--blue);background:var(--blue-50)}
.prow .pimg img,.tile .pimg img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:inherit}
.prow.ext .pinfo b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.3}
.prow.ext .add{background:var(--ink)}
.tile.is-real{text-decoration:none;color:inherit}
.tile.is-real span:not(.pimg){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.app-results .prow{margin-bottom:0}
.tile.is-shoplink span:not(.fav){font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;right:6px}

.build{position:absolute;right:14px;bottom:4px;font-size:10px;color:#9aa3b1;letter-spacing:.3px}

/* ---------- Skoleom Detection ---------- */
.shop-head b.is-long{font-size:21px;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shop-head>div{min-width:0;padding-right:10px}
.det{border:1.5px solid var(--blue);border-radius:20px;padding:12px;background:linear-gradient(180deg,var(--blue-50),#fff 120px)}
.det-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.det-logo{width:40px;height:40px;border-radius:12px;background:var(--blue);display:grid;place-items:center;flex:none}
.det-logo img{width:18px}
.det-head b{display:block;font-size:15px}.det-head small{display:block;font-size:12px;color:var(--mute);line-height:1.35}
.det-frames{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.det-frame{aspect-ratio:4/3;border-radius:10px;overflow:hidden;outline:2px solid transparent;outline-offset:1px;opacity:.75;transition:opacity .15s,outline-color .15s}
.det-frame img{width:100%;height:100%;object-fit:cover}
.det-frame.is-on,.det-frame:hover{opacity:1;outline-color:var(--blue)}
.det-scan{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px;font-size:13.5px}
.det-img{position:relative;width:70%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#111}
.det-img img{width:100%;height:100%;object-fit:cover;opacity:.9}
.det-line{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#3d8bff,transparent);box-shadow:0 0 16px 4px rgba(0,102,255,.6);animation:scan 1.4s ease-in-out infinite alternate}
@keyframes scan{from{top:0}to{top:calc(100% - 3px)}}
.det-count{font-size:13px;color:var(--ink-2);margin:2px 2px 8px}.det-count b{color:var(--blue)}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pcard{display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--line);background:#fff;overflow:hidden;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.pcard:hover{border-color:var(--blue);transform:translateY(-1px)}
.pc-img{aspect-ratio:1;background:#fff;display:grid;place-items:center;border-bottom:1px solid #f0f2f6}
.pc-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.pc-img.noimg{background:#f3f4f7}
.pc-body{padding:8px 9px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-body b{font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-body em{font-style:normal;font-weight:700;font-size:14px}
.pc-body em.np{font-weight:500;font-size:12px;color:var(--blue)}
.pc-body small{font-size:11px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-body{overflow-y:auto;max-height:60dvh}
.lb-card{overflow:hidden}
.lb-body .det{margin-top:12px}
.lb-body .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.is-mobile .lb-body .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lb-card{overflow-y:auto}
.lb-img{flex:none;height:min(42dvh,420px);overflow:hidden}
.lb-img img{width:100%;height:100%;max-height:none;object-fit:contain}
.lb-body{max-height:none;overflow:visible}

/* SKOLEOM : icônes au trait (e-mail, compte) dans les boutons de connexion,
   à la place des logos pleins d'Apple / Google — sans ce correctif, la
   règle .btn-apple .b-ic svg les remplissait de blanc. */
.cta .b-ic[data-ic] svg{width:30px;height:30px;fill:none;margin-top:0}
.btn-google .b-ic[data-ic]{color:var(--blue)}
