/* ==========================================================
     SUUQ Reels Feed
     Safe for normal browsers + Flutter WebView + Samsung Internet
  ========================================================== */

  :root{
  --suuq-font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --suuq-font-heading:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

    --brand:#2E7D32;
    --brand-600:#256b29;
    --brand-050:#e8f5e9;
    --accent:#FF7A00;
    --accent-050:#FFF2E6;
    --heart:#ff2d55;

    --rail-pad:clamp(12px,3vw,24px);
    --ads-w:360px;
    --reel-col:400px;
    --col-gap:24px;
    --feed-width:calc(var(--ads-w) + var(--reel-col) + var(--col-gap));
    --feed-max:1280px;

    --nav-h:86px;
    --app-vh:100dvh;
    --reel-visible-h:calc(var(--app-vh) - var(--nav-h));
    --nav-blur:20px;
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html,body{
    margin:0;
    width:100%;
    min-height:100%;
    overflow-x:hidden;
    background:#fff;
    color:#0f172a;
    font-family:var(--suuq-font-body);
  }
  body{
    padding-top:0;
    -webkit-tap-highlight-color:transparent;
  }

  a{ color:inherit; }
  button,input,select{ font:inherit; }
  button{ border:0; }
  img,video{ max-width:100%; }

  a,button,.action-btn,.chip,.fab,.search-pill,input,select{
    -webkit-tap-highlight-color:transparent;
  }

  html.using-mouse :focus{ outline:none !important; box-shadow:none !important; }
  :focus{ outline:none; }
  :focus-visible{
    outline:2px solid #0ea5e9;
    outline-offset:2px;
    box-shadow:none !important;
  }

  /* ===============================
     Header
  =============================== */
  .feed-nav{
    position:sticky;
    top:max(0px,env(safe-area-inset-top));
    z-index:5000;
    -webkit-backdrop-filter:blur(var(--nav-blur)) saturate(160%);
    backdrop-filter:blur(var(--nav-blur)) saturate(160%);
    background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.14));
    border-bottom:1px solid rgba(15,23,42,.06);
    box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 24px rgba(2,6,23,.06);
  }
  @supports not ((backdrop-filter:blur(1px))){
    .feed-nav{ background:rgba(255,255,255,.76); }
  }

  .feed-nav .nav-inner{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:nowrap;
    padding:10px var(--rail-pad);
    width:min(var(--feed-width),var(--feed-max));
    margin:0 auto;
  }
  .brand{
    font-weight:900;
    letter-spacing:.2px;
    text-decoration:none;
    color:var(--brand);
    font-size:1.25rem;
    white-space:nowrap;
  }
  .search-pill{
    display:flex;
    align-items:center;
    gap:10px;
    flex:1 1 auto;
    height:44px;
    padding:0 14px;
    min-width:160px;
    border-radius:999px;
    background:linear-gradient(90deg,#f8fafc,#fff);
    border:1px solid #e5e7eb;
    box-shadow:0 6px 18px rgba(2,6,23,.05) inset;
  }
  .search-pill i{ color:#64748b; font-size:18px; }
  .search-pill input{
    width:100%;
    border:none;
    outline:none;
    background:transparent;
    font-size:15px;
    color:#0f172a;
  }
  .search-pill input::placeholder{ color:#94a3b8; }

  .btn-upload{
    border-radius:999px;
    padding:.55rem 1rem;
    border:1px solid var(--brand);
    color:var(--brand);
    background:#fff;
    text-decoration:none;
    font-weight:800;
    white-space:nowrap;
  }
  .btn-upload:hover{ background:var(--brand-050); }

  .chips{
    display:flex;
    align-items:center;
    gap:8px;
    padding:6px var(--rail-pad) 10px;
    width:min(var(--feed-width),var(--feed-max));
    margin:0 auto;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    white-space:nowrap;
  }
  .chips::-webkit-scrollbar{ display:none; }
  .chip{
    flex:0 0 auto;
    border:1px solid var(--brand);
    color:var(--brand-600);
    background:#fff;
    border-radius:999px;
    padding:6px 12px;
    cursor:pointer;
    font-weight:800;
    font-size:.9rem;
    text-decoration:none;
    line-height:1.25;
  }
  .chip:hover,.chip.is-active{
    background:var(--brand-050);
    border-color:var(--brand);
    color:var(--brand);
  }
  .chip:active{
    background:var(--accent-050);
    border-color:var(--accent);
    color:var(--accent);
  }
  select.chip{ padding-right:34px; }
  select.chip:disabled{ opacity:.55; cursor:not-allowed; }
  .chips .chip-form{
    display:flex;
    gap:8px;
    align-items:center;
    margin:0;
    padding:0;
  }
  .chip.is-match{
    background:var(--brand-050);
    border-color:var(--brand);
    color:var(--brand);
    box-shadow:0 0 0 2px rgba(46,125,50,.18);
  }

  .feed-nav-spacer{ display:none; }

  /* ===============================
     Layout
  =============================== */
  .feed-outer{
    width:min(var(--feed-width),var(--feed-max));
    margin:0 auto;
    padding:0 var(--rail-pad);
  }
  @media (min-width:992px){
    .feed-outer{
      display:grid;
      grid-template-columns:var(--ads-w) var(--reel-col);
      column-gap:var(--col-gap);
      margin-top:8px;
    }
    .feed-nav .search-pill{
      flex-basis:clamp(520px,48vw,720px);
      min-width:420px;
    }
    .feed-nav .btn-upload{ margin-right:calc(var(--rail-pad) * -1); }
  }

  .ad-rail{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding-top:12px;
  }
  .ad-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(155deg,#fff 0%,#fbfefb 72%,#f0fdf4 100%);
    border:1px solid rgba(15,23,42,.09);
    border-radius:18px;
    padding:14px;
    box-shadow:0 12px 34px rgba(15,23,42,.055),0 1px 0 rgba(255,255,255,.9) inset;
  }
  .rail-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }
  .rail-title-copy{ min-width:0; }
  .rail-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    color:#0f172a;
    font-size:1rem;
    font-weight:900;
    line-height:1.2;
  }
  .rail-title i{ color:var(--brand); font-size:.92rem; }
  .rail-subtitle{
    margin:4px 0 0;
    color:#64748b;
    font-size:.72rem;
    font-weight:700;
    line-height:1.2;
  }
  .rail-live-dot{
    display:inline-flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
    padding:4px 7px;
    border-radius:999px;
    color:var(--brand-600);
    background:rgba(232,245,233,.82);
    border:1px solid rgba(46,125,50,.16);
    font-size:.64rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .rail-live-dot::before{
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:#22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.13);
  }
  .accounts-list{ display:flex; flex-direction:column; gap:8px; }
  .account{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px;
    border-radius:13px;
    text-decoration:none;
    color:inherit;
    border:1px solid transparent;
    transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease;
  }
  .account:hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.92);
    border-color:rgba(46,125,50,.16);
    box-shadow:0 8px 22px rgba(15,23,42,.06);
  }
  .account img{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    object-fit:cover;
    background:#e5e7eb;
    border:2px solid #fff;
    box-shadow:0 0 0 1px rgba(46,125,50,.15),0 5px 14px rgba(15,23,42,.08);
  }
  .account-copy{
    min-width:0;
    flex:1 1 auto;
  }
  .account .name{
    font-weight:800;
    font-size:.9rem;
    margin:0;
    color:#0f172a;
    line-height:1.25;
  }
  .account .handle{
    margin:2px 0 0;
    color:#64748b;
    font-size:.76rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .account-arrow{
    color:#94a3b8;
    font-size:.72rem;
  }

  .products-card{ padding:13px; }
  .product-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .product-mini{
    min-width:0;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    box-shadow:0 6px 18px rgba(15,23,42,.045);
    transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
  }
  .product-mini:hover{
    transform:translateY(-2px);
    border-color:rgba(46,125,50,.28);
    box-shadow:0 12px 26px rgba(15,23,42,.085);
  }
  .product-media{
    position:relative;
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    background:linear-gradient(145deg,#f1f5f9,#e2e8f0);
  }
  .product-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .22s ease;
  }
  .product-mini:hover .product-media img{ transform:scale(1.025); }
  .product-image-fallback{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:var(--brand);
    background:linear-gradient(145deg,#f0fdf4,#e8f5e9);
    font-size:1.5rem;
  }
  .product-plan{
    position:absolute;
    left:7px;
    top:7px;
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    padding:0;
    border-radius:8px;
    color:#087a55;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(18,194,91,.42);
    box-shadow:0 4px 12px rgba(16,25,20,.12);
    -webkit-backdrop-filter:blur(5px);
    backdrop-filter:blur(5px);
    line-height:1;
  }
  .product-plan--master{
    color:#ff6600;
    border-color:rgba(255,102,0,.5);
  }
  .product-plan .plan-icon{
    display:block;
    width:15px;
    height:15px;
    overflow:visible;
  }
  .product-info{ padding:8px 9px 9px; }
  .product-name{
    min-height:2.45em;
    margin:0;
    color:#0f172a;
    font-size:.78rem;
    line-height:1.22;
    font-weight:850;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2; line-clamp:2;
    overflow:hidden;
  }
  .product-price{
    margin:6px 0 0;
    color:var(--brand-600);
    font-size:.76rem;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .product-handle{
    margin:2px 0 0;
    color:#64748b;
    font-size:.67rem;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .desktop-reel-nav{
    display:none;
  }
  .desktop-reel-nav-btn{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#101820;
    background:#f1f2f3;
    border:1px solid rgba(15,23,42,.055);
    box-shadow:0 9px 24px rgba(15,23,42,.08);
    cursor:pointer;
    transition:transform .14s ease,background .14s ease,box-shadow .14s ease,opacity .14s ease;
  }
  .desktop-reel-nav-btn i{ font-size:1.18rem; }
  .desktop-reel-nav-btn:hover:not(:disabled){
    transform:translateY(-2px);
    background:#e8f5e9;
    box-shadow:0 12px 28px rgba(46,125,50,.15);
  }
  .desktop-reel-nav-btn:active:not(:disabled){ transform:scale(.96); }
  .desktop-reel-nav-btn:disabled{
    opacity:.38;
    cursor:default;
  }
  @media (min-width:992px){
    .ad-rail{
      position:sticky;
      top:calc(var(--nav-h) + 10px);
      max-height:calc(100svh - var(--nav-h) - 24px);
      overflow:auto;
      padding-right:2px;
      padding-bottom:130px;
    }
    .ad-rail::-webkit-scrollbar{ width:6px; }
    .ad-rail::-webkit-scrollbar-thumb{
      background:#e5e7eb;
      border-radius:999px;
    }
    .desktop-reel-nav{
      position:fixed;
      left:calc(50% - 94px);
      bottom:28px;
      z-index:120;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
  }
  @media (min-width:992px) and (max-height:820px){
    .product-mini:nth-child(n+5){ display:none; }
    .product-media{ aspect-ratio:16/10; }
  }

  /* ===============================
     Reels
  =============================== */
  .reels{
    height:100svh;
    margin-top:calc(var(--nav-h) * -1);
    padding-top:var(--nav-h);
    overflow-y:auto;
    overflow-x:hidden;
    scroll-snap-type:y mandatory;
    scroll-padding-top:calc(var(--nav-h) + 6px);
    overscroll-behavior-y:contain;
    scrollbar-width:none;
    background:transparent;
  }
  .reels::-webkit-scrollbar{ width:0; height:0; display:none; }
  .reels.is-scrubbing{ scroll-snap-type:none !important; }

  .reel{
    position:relative;
    min-height:calc(100svh - var(--nav-h));
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    background:transparent;
  }

  .phone-frame{
    width:100%;
    aspect-ratio:9/16;
    max-height:calc(100svh - var(--nav-h) - 24px);
    position:relative;
    overflow:hidden;
    background:#000;
    border-radius:18px;
    border:1px solid rgba(0,0,0,.06);
    box-shadow:none;
    --scrub-gap:34px;
  }
  .phone-frame video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    background:#000;
  }
  .phone-frame::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:30%;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,0));
  }

  .reel.is-active .phone-frame{
    box-shadow:
      inset 0 0 0 3px rgba(255,122,0,.78),
      inset 0 0 0 6px rgba(46,125,50,.18) !important;
  }

  .duration{
    position:absolute;
    right:12px;
    top:12px;
    z-index:4;
    background:rgba(0,0,0,.55);
    color:#fff;
    font-size:.8rem;
    padding:2px 8px;
    border-radius:10px;
  }

  .actions{
    position:absolute;
    right:12px;
    bottom:clamp(56px,12vh,120px);
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
  .stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
  }
  .count{
    font-size:.8rem;
    line-height:1;
    min-height:1em;
  }
  .action-btn{
    width:48px;
    height:48px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    cursor:pointer;
    background:rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.25);
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
    text-decoration:none;
    transition:transform .12s ease,background .12s ease,border-color .12s ease;
  }
  .action-btn:hover{ transform:translateY(-1px); }
  .action-btn i{
    font-size:22px;
    transition:color .12s ease,transform .12s ease;
  }
  .action-btn.like.is-liked i{
    color:var(--heart);
    transform:scale(1.06);
  }
  @keyframes pop{
    0%{ transform:scale(1); }
    40%{ transform:scale(1.18); }
    100%{ transform:scale(1); }
  }
  .action-btn.like.is-popping i{ animation:pop .18s ease-out; }

  .profile{ position:relative; }
  .profile .avatar{
    width:50px;
    height:50px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #fff;
    background:#222;
  }
  .profile .plus{
    position:absolute;
    right:-3px;
    bottom:-3px;
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--brand);
    color:#fff;
    border:2px solid #fff;
    display:grid;
    place-items:center;
    font-weight:900;
    line-height:1;
    font-size:14px;
    cursor:pointer;
  }

  .bottom{
    position:absolute;
    left:12px;
    right:96px;
    bottom:calc(16px + var(--scrub-gap));
    z-index:5;
    color:#fff;
    pointer-events:none;
  }
  .bottom .handle,.bottom .caption{ pointer-events:auto; }
  .handle{
    font-weight:900;
    margin-bottom:4px;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
  }
  .handle a{
    color:#fff;
    text-decoration:none;
  }
  .handle a:hover{ text-decoration:underline; }
  .handle-line{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
  }
  .caption{
    opacity:.98;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3; line-clamp:3;
    overflow:hidden;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
    position:relative;
    line-height:1.35;
  }
  .caption::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:22px;
    background:linear-gradient(to top,rgba(0,0,0,.65),rgba(0,0,0,0));
    pointer-events:none;
  }
  .caption.is-expanded{
    -webkit-line-clamp:unset; line-clamp:unset;
    max-height:none;
  }
  .caption.is-expanded::after{ display:none; }

  .reel-report{
    position:relative;
    margin-top:7px;
    width:max-content;
    color:#fff;
    pointer-events:auto;
  }
  .reel-report > summary{
    list-style:none;
    cursor:pointer;
    width:max-content;
    padding:3px 8px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    background:rgba(0,0,0,.34);
    font-size:.76rem;
    font-weight:800;
  }
  .reel-report > summary::-webkit-details-marker{ display:none; }
  .reel-report-form{
    position:absolute;
    left:0;
    bottom:calc(100% + 7px);
    z-index:60;
    width:min(285px,76vw);
    display:grid;
    gap:7px;
    padding:10px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:12px;
    background:rgba(15,23,42,.96);
    box-shadow:0 14px 35px rgba(0,0,0,.4);
  }
  .reel-report-form select,
  .reel-report-form textarea{
    width:100%;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    padding:8px;
    color:#111827;
    background:#fff;
  }
  .reel-report-form button,
  .reel-report-login{
    border:0;
    border-radius:8px;
    padding:8px 10px;
    background:#dc2626;
    color:#fff;
    font-weight:900;
    text-align:center;
    text-decoration:none;
  }

  .plan-badge-mini{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:22px;
    height:22px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(18,194,91,.5);
    border-radius:7px;
    box-shadow:0 3px 10px rgba(0,0,0,.16);
    padding:0;
    margin:0;
    color:#087a55;
    line-height:1;
  }
  .plan-badge-mini.is-master{
    color:#ff6600;
    border-color:rgba(255,102,0,.58);
  }
  .plan-badge-mini .plan-icon{
    display:block;
    width:13px;
    height:13px;
    overflow:visible;
  }

  .play-overlay{
    position:absolute;
    inset:0;
    z-index:6;
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    color:#fff;
    font-size:54px;
    text-shadow:0 8px 28px rgba(0,0,0,.55);
    transition:opacity .12s ease;
  }
  .reel.is-paused .play-overlay{ opacity:.9; }
  .reel.is-loading .play-overlay{ opacity:0 !important; }

  .buffer-overlay{
    position:absolute;
    inset:0;
    z-index:7;
    display:grid;
    place-items:center;
    pointer-events:none;
    opacity:0;
    transition:opacity .12s ease;
  }
  .buffer-spinner{
    width:38px;
    height:38px;
    border-radius:50%;
    border:3px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    animation:suuqSpin .75s linear infinite;
    filter:drop-shadow(0 4px 14px rgba(0,0,0,.35));
  }
  @keyframes suuqSpin{ to{ transform:rotate(360deg); } }
  .reel.is-loading .buffer-overlay{
    opacity:1;
    background:rgba(0,0,0,.08);
  }

  /* If video is actually moving, never keep the spinner on top. */
  .reel.is-playing .buffer-overlay{ opacity:0 !important; }

  .reel-error{
    position:absolute;
    left:14px;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    z-index:8;
    color:#fff;
    background:rgba(0,0,0,.72);
    border:1px solid rgba(255,255,255,.18);
    border-radius:14px;
    padding:12px 14px;
    text-align:center;
    font-weight:800;
    line-height:1.35;
  }

  .scrub-ui{
    position:absolute;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:8;
    display:flex;
    align-items:center;
    gap:10px;
    pointer-events:auto;
  }
  .scrub-time{
    color:#fff;
    white-space:nowrap;
    font-size:.85rem;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
  }
  .skip-btn{
    flex:0 0 auto;
    width:34px;
    height:34px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(0,0,0,.42);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:.72rem;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }
  .skip-btn:active{ transform:scale(.96); background:rgba(0,0,0,.58); }
  .skip-btn:focus{ outline:none; }
  .scrub-range{
    flex:1;
    height:22px;
    background:transparent;
    -webkit-appearance:none;
    appearance:none;
    touch-action:none;
    -webkit-tap-highlight-color:transparent;
  }
  .scrub-range:focus{ outline:none; }
  .scrub-range::-webkit-slider-runnable-track{
    height:3px;
    border-radius:999px;
    background:linear-gradient(to right,rgba(255,255,255,.95) var(--pct,0%),rgba(255,255,255,.35) 0);
  }
  .scrub-range::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:12px;
    height:12px;
    border-radius:50%;
    background:#fff;
    margin-top:-4.5px;
    box-shadow:0 2px 10px rgba(0,0,0,.25);
  }
  .scrub-range::-moz-range-track{
    height:3px;
    border-radius:999px;
    background:rgba(255,255,255,.35);
  }
  .scrub-range::-moz-range-progress{
    height:3px;
    border-radius:999px;
    background:rgba(255,255,255,.95);
  }
  .scrub-range::-moz-range-thumb{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#fff;
    border:0;
    box-shadow:0 2px 10px rgba(0,0,0,.25);
  }

  .fab{
    position:fixed;
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom));
    z-index:50;
    width:56px;
    height:56px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--brand);
    color:#fff;
    box-shadow:0 12px 28px rgba(46,125,50,.35);
    text-decoration:none;
  }
  .fab::before,.fab::after{
    content:"";
    position:absolute;
    background:#fff;
    border-radius:2px;
  }
  .fab::before{ width:24px; height:3px; }
  .fab::after{ width:3px; height:24px; }

  .reel-upload-btn{ display:none; text-decoration:none; }

  /* ===============================
     Flash
  =============================== */
  .flash-wrap{
    position:fixed;
    right:12px;
    top:calc(var(--nav-h) + 10px);
    z-index:6000;
    display:grid;
    gap:8px;
  }
  .flash{
    max-width:min(86vw,420px);
    border-radius:12px;
    padding:10px 12px;
    font-weight:700;
    color:#0f172a;
    background:#ecfdf5;
    border:1px solid #10b981;
    box-shadow:0 8px 24px rgba(2,6,23,.08);
  }
  .flash.is-error{
    background:#fef2f2;
    border-color:#ef4444;
  }
  .flash.is-info{
    background:#ecfdf5;
    border-color:#10b981;
  }
  .flash .x{
    margin-left:10px;
    cursor:pointer;
    font-weight:900;
    color:#334155;
  }

  /* ===============================
     Mobile / Flutter WebView
  =============================== */
  @media (max-width:991.98px){
    html,body{
      height:var(--app-vh);
      overflow:hidden;
    }

    .feed-nav{
      position:fixed !important;
      top:max(0px,env(safe-area-inset-top));
      left:0;
      right:0;
      z-index:5000;
      -webkit-backdrop-filter:blur(20px) saturate(160%) !important;
      backdrop-filter:blur(20px) saturate(160%) !important;
      background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.12)) !important;
      transform:translateZ(0);
      will-change:transform;
    }
    .feed-nav .nav-inner{
      display:flex !important;
      width:100%;
      max-width:none;
      margin:0;
      padding:6px var(--rail-pad) !important;
    }
    .feed-nav .brand,
    .feed-nav .btn-upload{
      display:none !important;
    }
    .feed-nav .search-pill{
      order:1;
      width:100%;
      height:40px !important;
    }
    .chips{
      width:100%;
      max-width:none;
      margin:0;
      padding-left:var(--rail-pad);
      padding-right:var(--rail-pad);
      padding-top:4px;
      padding-bottom:10px;
    }
    .chip{ padding:6px 12px; font-size:.9rem; }
    .chip.is-mobile-hidden{ display:none !important; }

    .feed-nav-spacer{
      display:block !important;
      height:var(--nav-h) !important;
    }

    .feed-outer{
      width:100% !important;
      max-width:none !important;
      margin:0 !important;
      padding:0 !important;
    }

    .ad-rail{
      display:none;
    }

    .reels{
      margin:0 !important;
      padding:0 !important;
      height:var(--reel-visible-h) !important;
      max-height:var(--reel-visible-h) !important;
      overflow-y:auto !important;
      overflow-x:hidden !important;
      scroll-snap-type:y mandatory !important;
      scroll-padding-top:0 !important;
      scroll-behavior:auto !important;
      overscroll-behavior-y:contain !important;
      touch-action:pan-y;
    }
    .reel{
      height:var(--reel-visible-h) !important;
      min-height:var(--reel-visible-h) !important;
      max-height:var(--reel-visible-h) !important;
      margin:0 !important;
      padding:0 !important;
      display:grid !important;
      place-items:center !important;
      scroll-snap-align:start !important;
      scroll-snap-stop:always !important;
    }
    .phone-frame{
      width:100vw !important;
      height:var(--reel-visible-h) !important;
      max-height:var(--reel-visible-h) !important;
      border:none !important;
      border-radius:0 !important;
    }
    .actions{
      right:12px !important;
      bottom:19vh !important;
    }
    .bottom{
      left:12px !important;
      right:100px !important;
      bottom:calc(max(18px,env(safe-area-inset-bottom)) + 42px) !important;
      z-index:8 !important;
    }
    .caption{ -webkit-line-clamp:4; line-clamp:4; }
    .scrub-ui{
      left:14px !important;
      right:22px !important;
      bottom:calc(max(18px,env(safe-area-inset-bottom)) + 8px) !important;
      z-index:40 !important;
    }
    .scrub-time{ font-size:.82rem !important; }
    .skip-btn{ width:32px !important; height:32px !important; font-size:.68rem !important; }
    .flash-wrap{ left:12px; right:12px; }

    .fab{ display:none !important; }
    .reel-upload-btn{
      display:grid !important;
      width:48px !important;
      height:48px !important;
      border-radius:50% !important;
      background:var(--brand) !important;
      color:#fff !important;
      border:1px solid rgba(255,255,255,.25) !important;
      box-shadow:0 8px 20px rgba(46,125,50,.32) !important;
      place-items:center !important;
      padding:0 !important;
    }
    .reel-upload-btn i{
      font-size:24px !important;
      line-height:1 !important;
    }
  }

  @media (max-width:380px){
    .scrub-ui{ gap:7px !important; }
    .scrub-time{ font-size:.76rem !important; }
    .skip-btn{ width:30px !important; height:30px !important; font-size:.64rem !important; }
    .bottom{ right:94px !important; }
    .plan-badge-mini{ width:20px; height:20px; border-radius:6px; }
    .plan-badge-mini .plan-icon{ width:12px; height:12px; }
  }

  @media (prefers-reduced-motion:reduce){
    *{
      animation-duration:.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:.01ms !important;
      scroll-behavior:auto !important;
    }
  }


/* ==========================================================
   SUUQ typography alignment
   Same family used by Product List / Product Detail / Live:
   Inter for interface/content, Poppins for deliberate headings.
   ========================================================== */
body,
button,
input,
select,
textarea,
.chip,
.search-pill,
.btn-upload,
.handle,
.caption,
.product-name,
.product-price,
.product-handle,
.account,
.meta,
.see-reel {
  font-family:var(--suuq-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand,
.rail-title {
  font-family:var(--suuq-font-heading);
}
