
    .intimo-menu,
    .intimo-menu *,
    .intimo-menu *::before,
    .intimo-menu *::after { box-sizing: border-box; }

    .intimo-menu {
      width:100%;
      grid-column: 1 / -1; /* span the full header--inner grid row (like the native menu-below row) */
      --im-bg:#f4efec;
      --im-panel:#fff;
      --im-ink:#243746;
      --im-muted:#7b7370;
      --im-line:#efe4e0;
      --im-coral:#f48579;
      --im-coral-deep:#e5695c;
      --im-soft:#fbf7f5;
      --im-line-green:#06c755;
      --im-shadow:0 18px 50px -20px rgba(36,55,70,.32);
      position: relative;
      color: var(--im-ink);
      line-height: 1.5;
      font-size: 15px;
    }

    /* ---------- badges (ported for future use; no linklist field drives these yet) ---------- */
    .intimo-menu .im-bdg { display:inline-block; font-size:10px; font-weight:600; line-height:1.6; padding:0 6px; border-radius:999px; margin-left:6px; vertical-align:middle; white-space:nowrap; }
    .intimo-menu .im-bdg.im-hot { background:#fdecc8; color:#b45309; }
    .intimo-menu .im-bdg.im-new { background:#d5efe9; color:#0f766e; }
    .intimo-menu .im-bdg.im-sale { background:#fbdedb; color:#c0392b; }

    /* ---------- LINE button + social icons (the base button styles the desktop ffoot CTA and
       the drawer's reward button; the mobile foot is socials-only now) ---------- */
    .intimo-menu .im-line-btn { display:inline-flex; align-items:center; gap:7px; background:var(--im-line-green); color:#fff; text-decoration:none; font-size:13px; font-weight:600; padding:9px 15px; border-radius:999px; white-space:nowrap; }
    .intimo-menu .im-line-btn .im-d { width:7px; height:7px; border-radius:50%; background:#fff; }
    /* flat monochrome social icons, matching the header's top-bar style */
    .intimo-menu .im-socials { display:flex; align-items:center; gap:16px; }
    .intimo-menu .im-soc { display:inline-flex; align-items:center; justify-content:center; color:#3a4046; background:transparent; text-decoration:none; transition:color .15s; }
    .intimo-menu .im-soc svg { width:19px; height:19px; }
    .intimo-menu .im-soc:hover { color:var(--im-coral-deep); }

    /* ---------- desktop navbar ---------- */
    .intimo-menu .im-navbar { display:flex; gap:4px; }
    .intimo-menu .im-nav-item { appearance:none; border:0; background:transparent; font:inherit; font-size:15px; font-weight:500; color:#243746; text-decoration:none; padding:14px 16px 16px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; border-bottom:3px solid transparent; white-space:nowrap; }
    .intimo-menu .im-nav-item .im-car { font-size:11px; color:#b3a9a4; transition:transform .2s; }
    .intimo-menu .im-nav-item:hover { color:var(--im-coral-deep); }
    .intimo-menu .im-nav-item.im-on { color:var(--im-coral-deep); border-bottom-color:var(--im-coral); }
    .intimo-menu .im-nav-item.im-on .im-car { color:var(--im-coral-deep); }

    /* ---------- desktop mega flyout ---------- */
    @keyframes imFade { from{ opacity:0; } to{ opacity:1; } }
    .intimo-menu .im-flyout { position:absolute; left:0; right:0; top:100%; margin-top:-1px; background:#fff; border:1px solid #f0e6e2; border-top:none; border-radius:0 0 16px 16px; box-shadow:0 24px 46px -22px rgba(36,55,70,.4); display:none; flex-direction:column; overflow:hidden; z-index:20; animation:imFade .16s ease; }
    .intimo-menu .im-flyout.im-open { display:flex; }
    .intimo-menu .im-frow { display:flex; }
    .intimo-menu .im-fcol1 { width:264px; flex:none; padding:10px; border-right:1px solid #f2e9e5; }
    .intimo-menu .im-fcat { display:flex; align-items:center; gap:6px; width:100%; text-align:left; border:0; background:transparent; font:inherit; font-size:14px; font-weight:500; color:#33424c; padding:10px 12px; border-radius:9px; cursor:pointer; }
    .intimo-menu .im-fcat .im-lab { flex:1; white-space:nowrap; }
    .intimo-menu .im-fcat .im-arr { color:#c4b9b3; font-size:15px; line-height:1; }
    .intimo-menu .im-fcat:hover, .intimo-menu .im-fcat.im-on { background:rgba(244,133,121,.12); color:var(--im-coral-deep); }
    .intimo-menu .im-fcat.im-on .im-arr { color:var(--im-coral-deep); }
    .intimo-menu .im-fcat.im-sale { color:var(--im-coral-deep); }
    .intimo-menu .im-fcol2 { flex:1; min-width:0; padding:18px 30px 20px; background:var(--im-soft); }
    .intimo-menu .im-fcol2 .im-cat-title { font-size:12px; font-weight:600; color:#9a908b; letter-spacing:.04em; margin:0 0 12px; }
    .intimo-menu .im-fcol2 .im-cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:28px; row-gap:20px; align-items:start; }
    .intimo-menu .im-fgrp { margin:0; }
    .intimo-menu .im-fgrp h4 { margin:0 0 6px; font-size:13.5px; font-weight:600; color:#243746; }
    .intimo-menu .im-fgrp a { display:block; text-decoration:none; color:#5b6870; font-size:13.5px; padding:4px 0; transition:color .12s,padding-left .12s; }
    .intimo-menu .im-fgrp a:hover { color:var(--im-coral-deep); padding-left:4px; }
    .intimo-menu .im-fgrp a.im-viewall, .intimo-menu .im-m-sub a.im-viewall { color:var(--im-coral-deep); font-weight:600; }
    .intimo-menu .im-viewall .im-varr { margin-left:5px; display:inline-block; transition:transform .12s; }
    .intimo-menu .im-viewall:hover .im-varr { transform:translateX(3px); }
    .intimo-menu .im-ffoot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; border-top:1px solid #f0e6e2; background:#fff; }

    /* ---------- desktop article flyout (2026-07-07) ---------- */
    .intimo-menu .im-art-flyout { --iat:#1f6468; --iatd:#164a4d; --iatsoft:#eef4f3; }
    .intimo-menu .im-art-flyout .im-agrid { display:flex; }
    .intimo-menu .im-art-flyout .im-acats { width:280px; flex:none; padding:16px; border-right:1px solid #eef1f1; background:linear-gradient(180deg,#fbfdfc,#f4f8f7); }
    .intimo-menu .im-art-flyout .im-aeyebrow { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8a938f; margin:2px 6px 10px; }
    .intimo-menu .im-art-flyout .im-acat { display:flex; align-items:center; gap:12px; padding:9px 10px; border-radius:11px; text-decoration:none; color:#2c2d2e; }
    .intimo-menu .im-art-flyout .im-acat:hover { background:#fff; box-shadow:0 3px 12px rgba(22,74,77,.08); }
    .intimo-menu .im-art-flyout .im-aico { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; background:var(--iatsoft); color:var(--iat); flex:none; }
    .intimo-menu .im-art-flyout .im-aico svg { width:19px; height:19px; display:block; }
    .intimo-menu .im-art-flyout .im-acat:hover .im-aico { background:var(--iat); color:#fff; }
    .intimo-menu .im-art-flyout .im-alab { flex:1; font-size:14.5px; font-weight:600; line-height:1.3; }
    .intimo-menu .im-art-flyout .im-aright { flex:1; min-width:0; padding:18px; display:grid; grid-template-columns:1.15fr 1fr; gap:18px; background:var(--im-soft); }
    .intimo-menu .im-art-flyout .im-afeat { text-decoration:none; color:inherit; display:flex; flex-direction:column; border-radius:12px; overflow:hidden; background:#fff; border:1px solid #eef1f1; transition:box-shadow .18s,transform .18s; }
    .intimo-menu .im-art-flyout .im-afeat:hover { box-shadow:0 14px 30px -12px rgba(22,74,77,.3); transform:translateY(-2px); }
    .intimo-menu .im-art-flyout .im-afimg { display:block; aspect-ratio:16/10; background:#dfeae9 center/cover no-repeat; }
    .intimo-menu .im-art-flyout .im-anoimg { background:linear-gradient(135deg,#e2edec,#cfe0df); }
    .intimo-menu .im-art-flyout .im-afcap { padding:13px 14px 15px; }
    .intimo-menu .im-art-flyout .im-abadge { display:block; font-size:11px; font-weight:700; color:var(--iat); letter-spacing:.04em; text-transform:uppercase; }
    .intimo-menu .im-art-flyout .im-aftitle { display:block; font-size:15.5px; font-weight:700; line-height:1.34; margin-top:6px; color:#243746; }
    .intimo-menu .im-art-flyout .im-alatest { display:flex; flex-direction:column; gap:3px; }
    .intimo-menu .im-art-flyout .im-arow { display:flex; gap:11px; align-items:center; text-decoration:none; color:inherit; padding:7px; border-radius:10px; }
    .intimo-menu .im-art-flyout .im-arow:hover { background:#fff; }
    .intimo-menu .im-art-flyout .im-athumb { width:58px; height:44px; border-radius:8px; background:#dfeae9 center/cover no-repeat; flex:none; }
    .intimo-menu .im-art-flyout .im-armeta { display:flex; flex-direction:column; min-width:0; }
    .intimo-menu .im-art-flyout .im-artitle { font-size:13px; font-weight:600; line-height:1.32; color:#243746; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .intimo-menu .im-art-flyout .im-ardate { font-size:11px; color:#9a908b; margin-top:2px; }
    .intimo-menu .im-art-flyout .im-afoot { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 18px; border-top:1px solid #eef1f1; background:#fff; }
    .intimo-menu .im-art-flyout .im-anote { font-size:12.5px; color:#8a938f; }
    .intimo-menu .im-art-flyout .im-acta { display:inline-flex; align-items:center; gap:6px; background:var(--iat); color:#fff; font-weight:700; font-size:13px; text-decoration:none; padding:9px 17px; border-radius:10px; white-space:nowrap; }
    .intimo-menu .im-art-flyout .im-acta:hover { background:var(--iatd); }
    .intimo-menu .im-art-flyout .im-acat.im-on { background:#fff; box-shadow:0 3px 12px rgba(22,74,77,.08); }
    .intimo-menu .im-art-flyout .im-acat.im-on .im-aico { background:var(--iat); color:#fff; }
    .intimo-menu .im-art-flyout .im-aempty { grid-column:1 / -1; min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:30px; text-align:center; color:#6b7280; font-size:14.5px; }
    .intimo-menu .im-art-flyout .im-aempty b { color:#243746; }

    /* ---------- desktop / mobile switch ---------- */
    /* internal burger stays hidden — the header's own toggle (.intimo-mobile-toggle) opens the drawer */
    .intimo-menu .im-burger { display:none; }
    @media (max-width: 989px){
      .intimo-menu .im-navbar, .intimo-menu .im-flyout { display:none; }
    }
    /* external hamburger rendered in header-style5 (outside .intimo-menu) */
    .intimo-mobile-toggle { display:none; border:0; background:transparent; padding:10px 8px; cursor:pointer; flex-direction:column; gap:4px; }
    .intimo-mobile-toggle span { display:block; width:22px; height:2px; background:#243746; border-radius:2px; transition:transform .28s cubic-bezier(.4,0,.2,1), opacity .18s; }
    .intimo-mobile-toggle.is-x { position:relative; z-index:1000000; }
    .intimo-mobile-toggle.is-x span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
    .intimo-mobile-toggle.is-x span:nth-child(2){ opacity:0; }
    .intimo-mobile-toggle.is-x span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
    @media (max-width: 989px){
      .intimo-mobile-toggle { display:inline-flex; }
    }

    /* ---------- mobile drawer (3-level push nav) ---------- */
    .intimo-menu .im-drawer { position:fixed; inset:0; background:#fff; transform:translateX(-100%); visibility:hidden; overflow:hidden; transition:transform .26s cubic-bezier(.4,0,.2,1), visibility 0s linear .26s; z-index:999999; }
    .intimo-menu .im-drawer.im-open { transform:none; visibility:visible; transition:transform .26s cubic-bezier(.4,0,.2,1), visibility 0s linear 0s; }
    .intimo-menu .im-panes { position:absolute; inset:0; display:flex; width:400%; background:#fff; transition:transform .28s cubic-bezier(.4,0,.2,1); }
    .intimo-menu .im-pane { width:25%; height:100%; overflow-y:auto; background:#fff; display:flex; flex-direction:column; }
    .intimo-menu .im-p-head { display:flex; align-items:center; flex-wrap:nowrap; gap:7px; padding:16px 14px; border-bottom:1px solid #f0e6e2; }
    .intimo-menu .im-p-head .im-back { border:0; background:transparent; font-size:22px; cursor:pointer; color:var(--im-coral-deep); line-height:1; padding:2px 8px; }
    .intimo-menu .im-p-head b { font-size:17px; color:#243746; }
    .intimo-menu .im-p-head .im-m-signin { display:inline-flex; align-items:center; gap:7px; font-size:15.5px; font-weight:600; color:var(--im-coral-deep); text-decoration:none; cursor:pointer; }
    .intimo-menu .im-p-head .im-x { margin-left:auto; border:0; background:transparent; font-size:22px; cursor:pointer; color:#8a807b; padding:2px 4px; }
    .intimo-menu .im-m-list { flex:1; }
    .intimo-menu .im-m-row { display:flex; align-items:center; gap:8px; width:100%; text-align:left; border:0; background:transparent; font:inherit; font-size:16.5px; font-weight:500; color:#243746; padding:17px 18px; border-bottom:1px solid #f4ece9; cursor:pointer; text-decoration:none; }
    .intimo-menu .im-m-row .im-lab { flex:1; }
    .intimo-menu .im-m-row .im-arr { color:#c4b9b3; font-size:19px; }
    .intimo-menu .im-m-row.im-sale { color:var(--im-coral-deep); }
    .intimo-menu .im-m-sub { flex:1; }
    .intimo-menu .im-m-sub .im-grp-h { padding:16px 18px 6px; font-size:13px; font-weight:600; color:#9a908b; letter-spacing:.03em; }
    .intimo-menu .im-m-sub a { display:flex; align-items:center; gap:6px; text-decoration:none; color:#5b6870; font-size:15.5px; padding:14px 18px; border-bottom:1px solid #f6efec; }
    .intimo-menu .im-m-sub a .im-lab { flex:1; }
    .intimo-menu .im-m-foot { padding:18px 18px calc(52px + env(safe-area-inset-bottom, 0px)); border-top:1px solid #f0e6e2; display:flex; flex-direction:column; gap:14px; align-items:center; }
    .intimo-menu .im-m-foot .im-socials { gap:22px; }
    .intimo-menu .im-m-foot .im-soc svg { width:23px; height:23px; }
    /* the reward bar carries the bottom safe area itself, so the foot above it tightens up */
    .intimo-menu .im-m-foot--slim { padding-bottom:14px; }

    /* ---------- LINE friend reward (2026-10-03) ---------- */
    /* pinned to the bottom of the drawer while the list above it scrolls */
    .intimo-menu .im-m-reward { position:sticky; bottom:0; z-index:1; display:flex; flex-direction:column; gap:10px; padding:14px 18px calc(18px + env(safe-area-inset-bottom, 0px)); background:#fff; border-top:1px solid #f0e6e2; }
    .intimo-menu .im-m-reward-lead { margin:0; text-align:center; font-size:15px; font-weight:700; color:#243746; }
    .intimo-menu .im-m-reward-btn { width:100%; justify-content:center; padding:14px; font-size:15px; }
    .intimo-menu .im-m-reward-btn .im-reward-ic { display:inline-flex; align-items:center; }
    .intimo-menu .im-m-reward-btn .im-reward-ic svg { width:20px; height:20px; display:block; }
    .intimo-menu .im-m-reward-note { margin:0; text-align:center; font-size:11.5px; color:#9a908b; }
    /* after claiming: the small line under the chips row, in place of the bar */
    .intimo-menu .im-m-reward-claimed { margin:0; padding:9px 18px; text-align:center; font-size:12.5px; font-weight:600; color:#1f6468; background:#eef4f3; border-bottom:1px solid #e6f0ee; }
    /* the one-line claim result, announced once on the page the LINE callback returns to */

    /* ---------- sign-in sheet ---------- */
    .intimo-menu .im-signin-sheet { position:fixed; inset:0; background:#fff; z-index:1000000; transform:translateY(100%); visibility:hidden; transition:transform .3s cubic-bezier(.4,0,.2,1), visibility 0s linear .3s; overflow-y:auto; }
    .intimo-menu .im-signin-sheet.im-open { transform:none; visibility:visible; transition:transform .3s cubic-bezier(.4,0,.2,1), visibility 0s linear 0s; }
    .intimo-menu .im-ss-head { display:flex; align-items:center; gap:10px; padding:15px 16px; border-bottom:1px solid #f0e6e2; position:sticky; top:0; background:#fff; z-index:1; }
    .intimo-menu .im-ss-head b { font-size:18px; color:#243746; }
    .intimo-menu .im-ss-head .im-x { margin-left:auto; border:0; background:transparent; font-size:19px; color:#8a807b; cursor:pointer; }
    .intimo-menu .im-ss-body { padding:16px 16px 26px; }
    .intimo-menu .im-ss-row { display:flex; align-items:baseline; justify-content:space-between; }
    .intimo-menu .im-ss-h { font-size:16px; font-weight:700; margin:0 0 12px; color:#243746; }
    .intimo-menu .im-ss-h--big { font-size:20px; margin:0 0 16px; }
    .intimo-menu .im-ss-reset { font-size:12.5px; color:var(--im-coral-deep); text-decoration:none; }
    .intimo-menu .im-ss-field { margin:0 0 12px; }
    .intimo-menu .im-ss-field label { font-size:12px; font-weight:600; color:#5b6870; display:block; margin:0 0 5px; }
    .intimo-menu .im-ss-field label span { color:#b6aca6; font-weight:400; }
    .intimo-menu .im-ss-field input { width:100%; padding:11px 12px; border:1px solid #e2d8d3; border-radius:9px; font:inherit; font-size:14px; background:#fff; color:#243746; }
    .intimo-menu .im-ss-btn { display:block; width:100%; padding:13px; border-radius:999px; border:0; font:inherit; font-size:14px; font-weight:700; cursor:pointer; text-align:center; margin:6px 0 0; text-decoration:none; }
    .intimo-menu .im-ss-btn.im-primary { background:var(--im-coral-deep); color:#fff; }
    .intimo-menu .im-ss-terms { font-size:10.5px; color:#9a908b; text-align:center; margin:12px 6px 0; line-height:1.55; }
    .intimo-menu .im-ss-div { height:1px; background:#f0e6e2; margin:24px 0; }
    .intimo-menu .im-ss-benes { list-style:none; margin:0 0 20px; padding:0; }
    .intimo-menu .im-ss-benes li { display:flex; align-items:center; gap:15px; padding:11px 0; font-size:15px; color:#3f4a54; }
    .intimo-menu .im-ss-benes svg { width:26px; height:26px; flex:none; color:#8a807b; }

    @media (prefers-reduced-motion: reduce){
      .intimo-menu, .intimo-menu * { animation:none !important; transition:none !important; }
    }

    /* ---------- imx: mobile-menu upgrade (2026-07-07) ---------- */
    .intimo-menu .im-pane > .imx-quick,
    .intimo-menu .im-pane > .imx-reorder,
    .intimo-menu .im-pane > .imx-recent { flex-shrink: 0; }

    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill { display:inline-flex; align-items:center; gap:5px; height:28px; box-sizing:border-box; border:1.5px solid rgba(26,28,29,.22); border-radius:999px; padding:0 10px 0 9px; color:#3f4548; font-size:12px; font-weight:700; text-decoration:none; line-height:1; white-space:nowrap; flex:0 0 auto; }
    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill svg { width:14px; height:14px; color:#3f4548; flex:0 0 auto; }
    /* profile photo: no left padding, and the img is the pill's full outer height with the
       1.5px border covered on the left/top/bottom — the circle is the pill's left end and the
       border hugs it. Right side keeps the normal gap before the label. */
    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill.imx-has-avatar { padding-left:0; }
    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill.imx-has-avatar img[data-intimo-avatar] { display:block; width:28px; height:28px; border-radius:50%; object-fit:cover; padding:0; flex:none; margin:-1.5px 0 -1.5px -1.5px; }
    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill:active { background:rgba(26,28,29,.06); }
    .intimo-menu .im-p-head .imx-credit { display:inline-flex; align-items:center; gap:4px; height:28px; box-sizing:border-box; background:#eef4f3; border:1.5px solid #cfe0df; border-radius:999px; padding:0 10px 0 8px; color:#1f6468; font-size:11.5px; font-weight:800; text-decoration:none; line-height:1; white-space:nowrap; flex:0 0 auto; }
    .intimo-menu .im-p-head .imx-credit-ic svg { width:15px; height:15px; display:block; }

    .intimo-menu .imx-lang { display:inline-flex; align-items:stretch; height:28px; box-sizing:border-box; border:1.5px solid rgba(31,100,104,.28); border-radius:999px; overflow:hidden; flex:0 0 auto; }
    .intimo-menu .imx-lang a { display:inline-flex; align-items:center; padding:0 9px; font-size:11.5px; font-weight:800; letter-spacing:.3px; color:rgba(31,100,104,.62); text-decoration:none; line-height:1; }
    .intimo-menu .imx-lang a.on { background:#1f6468; color:#fff; }
    /* the pills stay left of the account row; the switch (and any close button after it)
       are pushed to the right end by this one auto margin */
    .intimo-menu .im-p-head .imx-lang { margin-left:auto; }
    .intimo-menu .im-p-head .imx-lang + .im-x { margin-left:5px; }
    /* one compact size on every phone width (P'Ek 2026-09-15: big phones look like small ones),
       so signin + points + credit + lang + close fit one line even with both pills shown */
    .intimo-menu .im-p-head { gap:4px; padding:16px 10px; }
    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill { font-size:11.5px; padding:0 9px 0 8px; gap:4px; }
    .intimo-menu .im-p-head .im-m-signin.imx-signin-pill.imx-has-avatar { padding-left:0; }
    .intimo-menu .im-p-head .imx-credit { font-size:11px; padding:0 8px 0 7px; }
    .intimo-menu .imx-lang a { padding:0 8px; font-size:11px; }

    .imx-quick { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:12px 14px 4px; }
    .imx-quick a { display:grid; gap:6px; justify-items:center; text-decoration:none; color:#17494d; background:#eef9f3; border:1px solid rgba(31,100,104,.14); border-radius:12px; padding:12px 4px 10px; font-size:11.5px; font-weight:700; line-height:1.2; text-align:center; }
    .imx-quick a:active { background:#ddf0e6; }
    .imx-quick svg { width:22px; height:22px; color:#1f6468; }

    .imx-reorder { padding:4px 0 2px; }
    .imx-reorder__head { display:flex; align-items:baseline; justify-content:space-between; padding:8px 16px 6px; }
    .imx-reorder__head b { font-size:13.5px; color:#1a1c1d; }
    .imx-reorder__row { display:flex; gap:10px; overflow-x:auto; padding:2px 16px 10px; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-padding-inline:16px; }
    .imx-reorder__row::-webkit-scrollbar { display:none; }
    .imx-ro { flex:0 0 calc(100% - 20px); scroll-snap-align:center; border:1px solid rgba(31,100,104,.16); border-radius:14px; background:#fff; overflow:hidden; }
    .imx-reorder__dots { display:flex; justify-content:center; gap:6px; padding:0 0 6px; }
    .imx-reorder__dots i { width:6px; height:6px; border-radius:999px; background:rgba(26,28,29,.18); transition:background .2s ease, width .2s ease; }
    .imx-reorder__dots i.on { background:rgba(26,28,29,.45); width:16px; }
    .imx-ro__head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; background:#eef9f3; font-size:12px; font-weight:800; color:#17494d; }
    .imx-ro__head span { color:rgba(23,73,77,.66); font-weight:600; }
    .imx-ro__body { display:flex; align-items:center; gap:10px; padding:10px 12px; }
    .imx-ro__thumbs { display:flex; flex:0 0 auto; }
    .imx-ro__thumbs img { width:38px; height:38px; border-radius:8px; object-fit:cover; border:2px solid #fff; margin-left:-8px; background:#f5f5f5; }
    .imx-ro__thumbs img:first-child { margin-left:0; }
    .imx-ro__info { flex:1; min-width:0; }
    .imx-ro__info b { display:block; font-size:12.5px; color:#1a1c1d; white-space:nowrap; }
    .imx-ro__info span { font-size:11.5px; color:rgba(44,45,46,.62); }
    .imx-ro__btn { flex:0 0 auto; background:#1f6468; color:#fff; border:0; border-radius:10px; font:inherit; font-size:12.5px; font-weight:800; padding:9px 12px; cursor:pointer; }
    .imx-ro__btn[disabled] { opacity:.6; cursor:wait; }

    .imx-recent { padding:4px 0 10px; }
    .imx-recent__head { display:flex; align-items:baseline; justify-content:space-between; padding:8px 16px 6px; }
    .imx-recent__head b { font-size:13.5px; color:#1a1c1d; }
    .imx-recent__head button { background:none; border:0; color:rgba(44,45,46,.55); font:inherit; font-size:12px; cursor:pointer; padding:0; }
    .imx-recent__row { display:flex; gap:10px; overflow-x:auto; padding:2px 16px 8px; scrollbar-width:none; }
    .imx-recent__row::-webkit-scrollbar { display:none; }
    .imx-card { flex:0 0 116px; text-decoration:none; color:inherit; }
    .imx-card img { width:116px; height:96px; object-fit:cover; border-radius:10px; background:#f6f6f6; border:1px solid rgba(26,28,29,.07); }
    .imx-card b { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11.5px; font-weight:600; line-height:1.35; margin-top:6px; min-height:31px; color:#1a1c1d; }
    .imx-card span { font-size:12px; font-weight:800; color:#1f6468; }

    /* drawer scrollbar: thin rail + rounded capsule thumb */
    .intimo-menu .im-pane::-webkit-scrollbar { width:8px; }
    .intimo-menu .im-pane::-webkit-scrollbar-track { background:linear-gradient(to right, transparent calc(50% - 1px), rgba(31,100,104,.22) calc(50% - 1px), rgba(31,100,104,.22) calc(50% + 1px), transparent calc(50% + 1px)); }
    .intimo-menu .im-pane::-webkit-scrollbar-thumb { background:#1f6468; border-radius:999px; box-shadow:0 1px 3px rgba(31,51,54,.35); }
    .intimo-menu .im-pane::-webkit-scrollbar-thumb:hover { background:#17494d; }
  