/**
 * Flora Shell Styles
 * Extracted from stitch-site.js injectSharedStyle() — module 6/12
 */

      .flora-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 90;
        background: rgba(255,255,255,.86);
        backdrop-filter: blur(16px);
        border-top: 1px solid rgba(0,0,0,.08);
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        align-items: end;
        gap: 2px;
        padding: 8px 8px 24px;
      }
      .flora-side-nav {
        display: none;
        position: fixed;
        left: 14px;
        top: 84px;
        z-index: 90;
        background: transparent;
        border: 0;
        padding: 0;
        width: 200px;
        gap: 6px;
        flex-direction: column;
        align-items: stretch;
      }
      .flora-desktop-logo,
      .flora-desktop-profile,
      .flora-desktop-topbar {
        display: none;
      }
      html:not(.ms-icons-ready) .flora-bottom-nav,
      html:not(.ms-icons-ready) .flora-side-nav,
      html:not(.ms-icons-ready) .flora-desktop-logo,
      html:not(.ms-icons-ready) .flora-desktop-profile,
      html:not(.ms-icons-ready) .flora-desktop-topbar {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
      }
      html.ms-icons-ready .flora-bottom-nav,
      html.ms-icons-ready .flora-side-nav,
      html.ms-icons-ready .flora-desktop-logo,
      html.ms-icons-ready .flora-desktop-profile,
      html.ms-icons-ready .flora-desktop-topbar {
        opacity: 1;
        visibility: visible;
      }
      html.flora-post-auth-embed body {
        padding-left: 0 !important;
        background: #f8f7f4 !important;
      }
      html.flora-post-auth-embed .flora-side-nav,
      html.flora-post-auth-embed .flora-bottom-nav,
      html.flora-post-auth-embed .flora-desktop-logo,
      html.flora-post-auth-embed .flora-desktop-profile,
      html.flora-post-auth-embed .flora-desktop-topbar {
        display: none !important;
      }
      html.flora-post-auth-embed main,
      html.flora-post-auth-embed .page-shell,
      html.flora-post-auth-embed .main-shell {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
      }
      html.flora-post-auth-embed .catalog-section {
        margin: 0 !important;
        border: 0 !important;
      }
      html.flora-post-auth-embed footer,
      html.flora-post-auth-embed #colophon,
      html.flora-post-auth-embed .site-footer,
      html.flora-post-auth-embed .footer,
      html.flora-post-auth-embed [role="contentinfo"] {
        display: none !important;
      }
      .flora-mobile-header {
        position: fixed; top: 0; left: 0; right: 0; z-index: 91;
        display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px;
        height: 56px; padding: 0 12px;
        background: rgba(252,251,249,0.96);
        backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
        border-bottom: 1px solid rgba(0,0,0,0.06);
      }
      .flora-mobile-header-back {
        flex: 0 0 auto; width: 34px; height: 34px;
        border: 0; background: transparent; cursor: pointer; padding: 6px;
        display: inline-flex; align-items: center; justify-content: center; color: #111;
      }
      .flora-mobile-header-left {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
      }
      .flora-mobile-header-brand {
        font-size: 15px; font-weight: 600; letter-spacing: 0.04em; color: #111; white-space: nowrap;
      }
      .flora-mobile-header-logo-link {
        flex: 0 1 auto;
        display: inline-flex;
        align-items: center;
        min-width: 0;
        max-width: min(170px, calc(100vw - 190px));
        height: 42px;
        overflow: hidden;
        text-decoration: none;
      }
      .flora-mobile-header .flora-mobile-header-logo-img {
        display: block;
        width: auto;
        height: 35px;
        max-width: 100%;
        object-fit: contain;
        object-position: left center;
      }

      .flora-mobile-header-actions {
        flex: 0 0 auto; display: flex; align-items: center; gap: 14px;
      }
      .flora-mobile-header-actions button {
        border: 0; background: transparent; cursor: pointer; padding: 4px; color: #111; position: relative;
      }
      html.flora-hide-bottom-nav .flora-bottom-nav { display: none !important; }
      @media (min-width: 1024px) { .flora-mobile-header { display: none !important; } }
    @media (max-width: 768px) { nav[aria-label="Top App Bar"] .material-symbols-outlined { font-size: 20px !important; } nav[aria-label="Top App Bar"] { padding-top: 10px !important; padding-bottom: 10px !important; } }
      .flora-search-overlay {
        position: fixed;
        inset: 0;
        z-index: 130;
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding: 76px 18px 18px;
        background: rgba(20, 18, 16, .32);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
      }
      .flora-search-overlay.is-open {
        display: flex;
      }
      .flora-search-panel {
        width: min(560px, 100%);
        border-radius: 24px;
        border: 1px solid rgba(0,0,0,.08);
        background: rgba(255,255,255,.96);
        box-shadow: 0 24px 70px rgba(0,0,0,.16);
        padding: 18px;
        position: relative;
      }
      .flora-search-close {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 34px;
        height: 34px;
        border: 0;
        border-radius: 999px;
        background: rgba(0,0,0,.05);
        color: #111;
        display: grid;
        place-items: center;
        cursor: pointer;
      }
      .flora-search-close .material-symbols-outlined {
        font-size: 19px;
      }
      .flora-search-label {
        display: block;
        margin: 2px 44px 14px 2px;
        font-family: "Noto Serif", serif;
        font-size: 24px;
        line-height: 1.15;
        color: #171717;
      }
      .flora-search-field {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 44px;
        align-items: center;
        gap: 8px;
        min-height: 52px;
        border: 1px solid rgba(0,0,0,.13);
        border-radius: 999px;
        background: #fff;
        padding: 4px 5px 4px 18px;
      }
      .flora-search-input {
        width: 100%;
        border: 0;
        outline: 0;
        background: transparent;
        color: #222;
        font-size: 16px;
        line-height: 1.3;
      }
      .flora-search-submit {
        width: 44px;
        height: 44px;
        border: 0;
        border-radius: 999px;
        background: #111;
        color: #fff;
        display: grid;
        place-items: center;
        cursor: pointer;
      }
      .flora-search-submit .material-symbols-outlined {
        font-size: 20px;
      }
      .flora-nav-item {
        border: 0;
        background: transparent;
        color: #8a8a8a;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        min-height: 48px;
        font-size: 10px;
        letter-spacing: .08em;
        text-transform: uppercase;
        cursor: pointer;
      }
      .flora-nav-item .material-symbols-outlined {
        font-size: 20px;
      }
      .flora-nav-item.active {
        color: #111;
        font-weight: 700;
      }
      .flora-nav-plus {
        width: 46px;
        height: 46px;
        margin: 0 auto 8px;
        border-radius: 999px;
        border: 0;
        background: #111;
        color: #fff;
        display: grid;
        place-items: center;
        cursor: pointer;
      }
      .flora-nav-plus .material-symbols-outlined { font-size: 28px; }
      .flora-nav-plus-text { display: none; font-weight: 700; font-size: 14px; }
      .flora-add-cart-btn:hover {
        background: #fff !important;
        color: #111 !important;
        border-color: #111 !important;
      }
      @media (hover: hover) {
        button,
        .flora-nav-plus {
          transition: filter .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
        }
        button:hover:not([data-no-invert-hover="1"]):not(.moments-wallet-toggle),
        .flora-nav-plus:hover {
          filter: invert(1);
        }
        button[data-no-invert-hover="1"] {
          transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease, border-color .16s ease;
        }
        button[data-no-invert-hover="1"]:hover:not(.moments-wallet-toggle) {
          transform: scale(1.035);
        }
        .flora-desktop-icon-btn:hover,
        .flora-lang-btn:hover,
        .flora-lang-option:hover {
          filter: none !important;
        }
        .flora-desktop-icon-btn:hover,
        .flora-lang-btn:hover {
          transform: scale(1.035);
        }
        .bg-black:hover,
        .flora-nav-plus:hover,
        .flora-side-nav .flora-nav-plus:hover,
        .flora-support-open-tg:hover,
        .flora-support-send:hover,
        .flora-notice-clear:hover {
          filter: none !important;
          background: #fff !important;
          color: #111 !important;
          border: 1px solid #111 !important;
        }
      }
      .flora-lang-wrap {
        position: relative;
      }
      .flora-lang-menu {
        position: absolute;
        right: 0;
        top: calc(100% + 8px);
        min-width: 120px;
        background: #fff;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 12px;
        box-shadow: 0 12px 24px rgba(0,0,0,.12);
        padding: 6px;
        display: grid;
        gap: 4px;
        z-index: 120;
      }
      .flora-lang-menu[hidden] {
        display: none !important;
      }
      .flora-lang-option {
        border: none;
        border-radius: 8px;
        background: transparent;
        text-align: left;
        font-size: 13px;
        padding: 8px 10px;
        cursor: pointer;
      }
      .flora-lang-option:hover {
        background: rgba(0,0,0,.06);
        filter: none !important;
        color: #111 !important;
        transform: scale(1.02);
      }
      .flora-lang-option.active {
        background: #111;
        color: #fff;
        font-weight: 700;
      }

      .flora-cart-badge,
      .flora-notice-badge {
        position: absolute;
        right: -7px;
        top: -7px;
        min-width: 16px;
        height: 16px;
        line-height: 16px;
        border-radius: 999px;
        background: #111;
        color: #fff;
        font-size: 10px;
        text-align: center;
        padding: 0 4px;
        font-weight: 700;
      }

      #floraCartMask { position: fixed; inset: 0; background: rgba(15,17,21,.08); z-index: 80; }
      #floraCartDrawer {
        position: fixed;
        right: 0;
        top: 0;
        height: 100dvh;
        width: min(328px, calc(100vw - 12px));
        background: rgba(252,251,249,.98);
        border-left: 1px solid rgba(0,0,0,.08);
        box-shadow: -18px 0 40px rgba(0,0,0,.10);
        z-index: 81;
        transform: translateX(102%);
        transition: transform .2s ease;
        display: grid;
        grid-template-rows: auto 1fr auto;
      }
      #floraCartDrawer.open { transform: translateX(0); }
      .flora-cartdrawer-head { padding: 18px 18px 16px; border-bottom: 1px solid rgba(0,0,0,.08); display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
      .flora-cartdrawer-kicker { margin:0 0 4px; font-size:11px; line-height:1.3; letter-spacing:.22em; text-transform:uppercase; color:#8c7f72; font-weight:700; }
      .flora-cartdrawer-title { margin:0; font-family:"Noto Serif", serif; font-size:26px; line-height:1.02; letter-spacing:-.04em; font-weight:400; color:#171717; }
      .flora-cartdrawer-close { width:34px; height:34px; border-radius:999px; border:1px solid rgba(0,0,0,.08); background:#fff; color:#171717; font-size:22px; line-height:1; cursor:pointer; display:grid; place-items:center; }
      .flora-cartdrawer-list { padding:14px; display:grid; gap:10px; overflow:auto; align-content:start; }
      .flora-cartdrawer-empty { padding:16px; border-radius:16px; background:rgba(244,241,235,.85); color:#6b635a; font-size:14px; line-height:1.6; }
      .flora-cartdrawer-item { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; padding:12px; border-radius:18px; border:1px solid rgba(0,0,0,.07); background:rgba(255,255,255,.9); }
      .flora-cartdrawer-media { width:64px; height:64px; border-radius:16px; overflow:hidden; background:#f3ede4; display:grid; place-items:center; }
      .flora-cartdrawer-media img { width:100%; height:100%; object-fit:cover; display:block; }
      .flora-cartdrawer-copy { min-width:0; display:grid; gap:8px; }
      .flora-cartdrawer-row { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
      .flora-cartdrawer-titleblock { min-width:0; display:grid; gap:3px; }
      .flora-cartdrawer-name { margin:0; font-size:13px; line-height:1.4; font-weight:600; color:#171717; }
      .flora-cartdrawer-options { margin:0; font-size:11px; line-height:1.3; color:#7a7168; font-weight:500; }
      .flora-cartdrawer-price { flex:0 0 auto; font-size:13px; line-height:1.3; color:#171717; font-weight:600; }
      .flora-cartdrawer-qty { display:inline-flex; align-items:center; gap:8px; }
      .flora-cartdrawer-qty button { width:26px; height:26px; border-radius:999px; border:1px solid rgba(0,0,0,.08); background:#fff; color:#171717; cursor:pointer; display:grid; place-items:center; font-size:16px; line-height:1; }
      .flora-cartdrawer-qty span { min-width:18px; text-align:center; font-size:12px; color:#6b635a; font-weight:600; }
      .flora-cartdrawer-foot { padding:16px 18px 18px; border-top:1px solid rgba(0,0,0,.08); display:grid; gap:14px; background:linear-gradient(180deg, rgba(252,251,249,.92), rgba(248,245,239,.96)); }
      .flora-cartdrawer-total { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; color:#6b635a; letter-spacing:.08em; text-transform:uppercase; }
      .flora-cartdrawer-total strong { color:#171717; font-size:19px; letter-spacing:-.03em; text-transform:none; }
      .flora-cartdrawer-checkout { width:100%; min-height:48px; border-radius:999px; border:1px solid #171717; background:#171717; color:#fff; font-size:14px; font-weight:600; letter-spacing:.02em; cursor:pointer; }
      #floraNoticeMask { position: fixed; inset: 0; background: rgba(0,0,0,.2); z-index: 82; }
      #floraNoticePanel {
        position: fixed;
        right: 20px;
        top: 64px;
        width: min(360px, calc(100vw - 24px));
        max-height: min(70dvh, 560px);
        overflow: auto;
        background: #fff;
        border: 1px solid rgba(0,0,0,.08);
        border-radius: 14px;
        box-shadow: 0 14px 28px rgba(0,0,0,.12);
        z-index: 83;
      }
      .flora-notice-head {
        position: sticky;
        top: 0;
        background: #fff;
        padding: 10px 12px;
        border-bottom: 1px solid #eee;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      .flora-notice-clear {
        border: none;
        background: #111;
        color: #fff;
        border-radius: 999px;
        font-size: 11px;
        padding: 5px 10px;
        cursor: pointer;
      }
      .flora-notice-row {
        padding: 10px 12px;
        border-bottom: 1px solid #f2f2f2;
        font-size: 13px;
        line-height: 1.4;
        cursor: pointer;
      }
      .flora-notice-row.unread {
        background: #f8fafc;
        font-weight: 600;
      }
      #floraSupportMask {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.46);
        z-index: 130;
      }
      #floraSupportModal {
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: min(80vw, 1120px);
        height: min(80vh, 860px);
        background: #fff;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 18px;
        box-shadow: 0 20px 60px rgba(0,0,0,.3);
        z-index: 131;
        display: grid;
        grid-template-rows: auto 1fr auto;
        overflow: hidden;
      }
      .flora-support-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 18px;
        border-bottom: 1px solid #ececec;
        background: #fafafa;
      }
      .flora-support-title { font-size: 15px; font-weight: 700; }
      .flora-support-sub { font-size: 12px; color: #6b7280; margin-top: 2px; }
      .flora-support-actions { display: inline-flex; gap: 8px; align-items: center; }
      .flora-support-open-tg {
        border: none;
        border-radius: 999px;
        background: #111;
        color: #fff;
        padding: 7px 12px;
        font-size: 12px;
        cursor: pointer;
      }
      .flora-support-close {
        width: 30px;
        height: 30px;
        border: none;
        border-radius: 999px;
        background: #ededed;
        cursor: pointer;
        font-size: 20px;
        line-height: 1;
      }
      .flora-support-list {
        padding: 16px;
        overflow: auto;
        background: #f4f6fa;
        display: grid;
        gap: 10px;
      }
      .flora-support-row {
        max-width: min(70%, 720px);
        border-radius: 14px;
        padding: 10px 12px;
        font-size: 13px;
        line-height: 1.45;
        white-space: pre-wrap;
      }
      .flora-support-row.user { justify-self: end; background: #111; color: #fff; }
      .flora-support-row.agent { justify-self: start; background: #fff; border: 1px solid #e5e7eb; color: #111; }
      .flora-support-row.system { justify-self: center; background: #fff8e8; border: 1px solid #f3ddaa; color: #785a11; }
      .flora-support-inputbar {
        border-top: 1px solid #ececec;
        background: #fff;
        padding: 12px;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 10px;
        align-items: end;
      }
      .flora-support-input {
        width: 100%;
        min-height: 48px;
        max-height: 140px;
        resize: vertical;
        border-radius: 12px;
        border: 1px solid #d5d8de;
        padding: 10px 12px;
        outline: none;
        font-size: 13px;
      }
      .flora-support-send {
        border: none;
        border-radius: 999px;
        background: #111;
        color: #fff;
        font-size: 12px;
        font-weight: 700;
        padding: 10px 14px;
        cursor: pointer;
      }
      .flora-support-send[disabled] { opacity: .5; cursor: not-allowed; }
      #floraPostAuthMask {
        position: fixed;
        inset: 0;
        background: rgba(15, 18, 24, .42);
        z-index: 140;
      }
      #floraPostAuthModal {
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: min(980px, calc(100vw - 28px));
        height: min(82vh, 760px);
        max-height: min(92vh, 860px);
        background: #f8f7f4;
        border: 1px solid rgba(0, 0, 0, .08);
        border-radius: 22px;
        box-shadow: 0 22px 70px rgba(0, 0, 0, .25);
        z-index: 141;
        display: grid;
        grid-template-rows: auto 1fr;
        overflow: hidden;
      }
      .flora-post-auth-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 18px 20px 14px;
        border-bottom: 1px solid rgba(0, 0, 0, .08);
        background: rgba(255, 255, 255, .75);
      }
      .flora-post-auth-title {
        margin: 0;
        color: #111;
        font-family: "Noto Serif", serif;
        font-size: 28px;
        line-height: 1.08;
        letter-spacing: -.02em;
        font-weight: 500;
      }
      .flora-post-auth-hint {
        margin: 6px 0 0;
        font-size: 13px;
        line-height: 1.5;
        color: #6b635a;
      }
      .flora-post-auth-actions {
        display: inline-flex;
        align-items: center;
        gap: 8px;
      }
      .flora-post-auth-open,
      .flora-post-auth-close {
        border-radius: 999px;
        cursor: pointer;
      }
      .flora-post-auth-open {
        border: 1px solid rgba(0, 0, 0, .15);
        background: #fff;
        color: #171717;
        font-size: 12px;
        font-weight: 600;
        padding: 7px 12px;
      }
      .flora-post-auth-close {
        width: 34px;
        height: 24px;
        border: 1px solid rgba(0, 0, 0, .15);
        background: #fff;
        color: #171717;
        display: grid;
        place-items: center;
        font-size: 20px;
        line-height: 1;
      }
      .flora-post-auth-body {
        min-height: 0;
        height: 100%;
        background: #f8f7f4;
        overflow: auto;
      }
      .flora-post-auth-frame {
        border: 0;
        width: 100%;
        height: 100%;
        background: #f8f7f4;
        overflow: auto;
      }
      @media (max-width: 900px) {
        #floraPostAuthModal {
          width: calc(100vw - 14px);
          height: min(92vh, 900px);
          border-radius: 16px;
        }
        .flora-post-auth-head {
          padding: 14px 14px 12px;
        }
        .flora-post-auth-title {
          font-size: 22px;
        }
        .flora-post-auth-hint {
          font-size: 12px;
        }
        .flora-post-auth-open {
          display: none;
        }
      }

      @media (min-width: 1024px) {
        .flora-bottom-nav { display: none; }
        .flora-side-nav { display: flex; }

        .flora-desktop-logo {
          display: inline-flex;
          position: fixed;
          left: 24px;
          top: 14px;
          z-index: 92;
          align-items: center;
          justify-content: flex-start;
          gap: 10px;
          width: 240px;
          height: 48px;
          padding: 0 12px;
          border-radius: 999px;
          background: rgba(255,255,255,.86);
          backdrop-filter: blur(16px);
          border: 1px solid rgba(0,0,0,.08);
          cursor: pointer;
        }
        .flora-desktop-logo-mark {
          width: 28px;
          height: 28px;
          border-radius: 999px;
          background: #111;
          color: #fff;
          display: grid;
          place-items: center;
          font-family: "Noto Serif", serif;
          font-size: 14px;
        }
        .flora-desktop-logo-text {
          font-family: "Noto Serif", serif;
          font-size: 18px;
          font-weight: 700;
          letter-spacing: .01em;
          color: #111;
        }

      .flora-side-nav .flora-nav-item {
        width: 100%;
        min-height: 44px;
        flex-direction: row;
        justify-content: flex-start;
          align-items: center;
          gap: 12px;
          padding: 0 14px;
          border-radius: 999px;
        font-size: 15px;
        letter-spacing: 0;
        text-transform: none;
        color: #111;
        opacity: .78;
        transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease;
      }
      .flora-side-nav .flora-nav-item:hover {
        background: rgba(15,20,25,.08);
        opacity: 1;
      }
        .flora-side-nav .flora-nav-item.active {
          opacity: 1;
          font-weight: 700;
        }
      .flora-side-nav .flora-nav-item .material-symbols-outlined {
        font-size: 24px;
      }
      .flora-side-nav .flora-nav-plus {
        width: calc(100% - 24px);
        height: 46px;
        margin: 10px 12px 0;
        order: 99;
          margin-top: auto;
          border-radius: 999px;
          background: #111;
          color: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
        }
        .flora-side-nav .flora-nav-plus:hover {
          background: #1d1d1d;
        }
        .flora-side-nav .flora-nav-plus .material-symbols-outlined { display: none; }
        .flora-side-nav .flora-nav-plus .flora-nav-plus-text { display: inline; }
        .flora-side-legal {
          order: 120;
          margin: 12px 12px 0;
          display: grid;
          gap: 8px;
          font-size: 12px;
          line-height: 1.5;
          color: #536471;
        }
        .flora-side-legal-title {
          font-size: 11px;
          letter-spacing: 0.18em;
          font-weight: 700;
          color: #b0896e;
          text-transform: uppercase;
        }
        .flora-side-section {
          display: grid;
          gap: 4px;
        }
        .flora-side-section-toggle {
          border: none;
          background: transparent;
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 2px 0;
          cursor: pointer;
        }
        .flora-side-section-toggle .material-symbols-outlined {
          font-size: 16px;
          color: #8a8a8a;
          transition: transform .2s ease;
        }
        .flora-side-section-toggle[aria-expanded="false"] .material-symbols-outlined {
          transform: rotate(-90deg);
        }
        .flora-side-section-content {
          overflow: hidden;
          max-height: 0;
          transition: max-height .24s ease;
          display: grid;
          gap: 8px;
        }
        .flora-side-reach {
          margin-top: 8px;
          display: grid;
          gap: 8px;
        }
        .flora-side-reach .flora-side-legal-link {
          width: 100%;
          text-align: left;
          justify-self: start;
          white-space: normal;
          word-break: break-word;
          line-height: 1.45;
        }
        .flora-side-legal-link {
          border: none;
          background: transparent;
          padding: 0;
          color: inherit;
          width: fit-content;
          font-size: 13px;
          line-height: 1.35;
          font-family: "Noto Serif", serif;
          font-style: italic;
          color: #8a8a8a;
          cursor: pointer;
        }
        .flora-side-legal-link:hover {
          text-decoration: underline;
        }
        .flora-side-brand-card {
          margin-top: 10px;
          margin-bottom: 18px;
          padding: 0;
          background: transparent;
          border: 0;
          color: #2c3432;
        }
        .flora-side-socials {
          display: grid;
          width: 100%;
          max-width: 232px;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 12px 10px;
          justify-content: start;
          margin-top: 0;
        }
        .flora-side-social-btn {
          width: 36px;
          height: 36px;
          margin: 0 auto;
          border: 1px solid currentColor;
          background: #fafbfa;
          color: #2e3a35;
          border-radius: 999px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
        }
        .flora-side-social-btn:hover {
          background: #edf1ee;
        }
        .flora-side-social-btn svg {
          width: 18px;
          height: 18px;
          display: block;
          fill: currentColor;
        }

        .flora-desktop-profile {
          display: flex;
          position: fixed;
          left: 14px;
          bottom: 14px;
          width: 200px;
          align-items: center;
          gap: 10px;
          padding: 8px 10px;
          border-radius: 999px;
          cursor: pointer;
          color: #111;
          z-index: 92;
          background: rgba(255,255,255,.86);
          backdrop-filter: blur(16px);
          border: 1px solid rgba(0,0,0,.08);
        }
        .flora-desktop-profile:hover {
          background: rgba(15,20,25,.08);
        }
        .flora-desktop-profile .flora-side-avatar {
          width: 30px;
          height: 30px;
          border-radius: 999px;
          background: #111;
          color: #fff;
          display: grid;
          place-items: center;
          font-size: 12px;
          font-weight: 700;
        }
        .flora-desktop-profile .flora-side-user {
          display: grid;
          gap: 1px;
          min-width: 0;
        }
        .flora-desktop-profile .flora-side-name {
          font-size: 12px;
          font-weight: 700;
          line-height: 1.1;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        .flora-desktop-profile .flora-side-handle {
          font-size: 11px;
          color: #6b7280;
          line-height: 1.1;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        .flora-desktop-profile .flora-side-name-row {
          display: flex;
          align-items: center;
          gap: 6px;
          min-width: 0;
        }
        .flora-desktop-profile .flora-side-name-row .flora-side-name {
          flex: 0 1 auto;
          min-width: 0;
        }
        .flora-desktop-profile .flora-side-role-badge {
          flex: 0 0 auto;
          font-size: 9px;
          font-weight: 600;
          padding: 1px 6px;
          border-radius: 999px;
          letter-spacing: 0.02em;
          line-height: 1.35;
          color: #4b5563;
          background: #e5e7eb;
          text-transform: uppercase;
          white-space: nowrap;
        }
        .flora-desktop-profile .flora-role-administrator { color: #fff; background: #dc2626; }
        .flora-desktop-profile .flora-role-shop_manager { color: #fff; background: #7c3aed; }
        .flora-desktop-profile .flora-role-customer { color: #047857; background: #d1fae5; }
        .flora-desktop-profile .flora-role-editor,
        .flora-desktop-profile .flora-role-author { color: #1e40af; background: #dbeafe; }
        .flora-desktop-profile .flora-role-subscriber { color: #78716c; background: #f5f5f4; }
        .flora-desktop-profile .flora-role-class01 { color: #185FA5; background: transparent; border: 0.5px solid #378ADD; }
        .flora-desktop-profile .flora-role-class02 { color: #0F6E56; background: transparent; border: 0.5px solid #1D9E75; }

        .flora-desktop-topbar {
          display: flex;
          position: fixed;
          left: 300px;
          right: 20px;
          top: 14px;
          z-index: 92;
          align-items: center;
          justify-content: stretch;
          pointer-events: none;
        }
        .flora-desktop-topbar-inner {
          width: 100%;
          display: grid;
          grid-template-columns: 1fr auto;
          gap: 14px;
          align-items: center;
          pointer-events: auto;
        }
        .flora-desktop-search {
          height: 42px;
          border-radius: 999px;
          border: 1px solid rgba(0,0,0,.10);
          background: rgba(255,255,255,.92);
          backdrop-filter: blur(12px);
          padding: 0 16px;
          outline: none;
          width: 100%;
          font-size: 14px;
          text-indent: 0;
        }
        .flora-desktop-search-wrap {
          position: relative;
        }
        .flora-desktop-search-btn {
          position: absolute;
          right: 6px;
          top: 50%;
          transform: translateY(-50%);
          width: 30px;
          height: 30px;
          border: none;
          border-radius: 999px;
          background: #111;
          color: #fff;
          display: grid;
          place-items: center;
          cursor: pointer;
        }
        .flora-desktop-search-btn .material-symbols-outlined {
          font-size: 18px;
        }
        .flora-desktop-search:focus {
          border-color: rgba(0,0,0,.35);
        }
      .flora-desktop-actions {
          display: inline-flex;
          align-items: center;
          gap: 10px;
        }
        .flora-desktop-icon-btn {
          width: 42px;
          height: 42px;
          border-radius: 999px;
          border: 1px solid rgba(0,0,0,.10);
          background: rgba(255,255,255,.92);
          backdrop-filter: blur(12px);
          display: grid;
          place-items: center;
          cursor: pointer;
          position: relative;
          color: #111;
        }
        .flora-lang-btn {
          min-width: 72px;
          padding: 0 14px;
          display: inline-flex;
          gap: 10px;
          align-items: center;
          justify-content: center;
          font-size: 12px;
          font-weight: 700;
          letter-spacing: .02em;
        }
        .flora-lang-btn .material-symbols-outlined {
          font-size: 17px !important;
          flex: 0 0 auto;
        }
        .flora-lang-btn [data-lang-label="1"] {
          display: inline-block;
          line-height: 1;
          flex: 0 0 auto;
        }
        .flora-desktop-actions .flora-lang-wrap {
          display: inline-flex;
          align-items: center;
        }

        body { padding-left: 300px; }
      }

      /* ── FOUC pre-hide: keep cart/checkout content invisible until Flora JS
         translates and explicitly reveals (opacity:1).  The @keyframes fallback
         guarantees the content becomes visible after 4s even if JS never runs. ── */
      body.woocommerce-cart .woocommerce,
      body.woocommerce-checkout .woocommerce {
        opacity: 0;
        transition: opacity .15s ease;
        animation: flora-fouc-reveal 0s 4s forwards;
      }
      @keyframes flora-fouc-reveal {
        to { opacity: 1; }
      }
    

@media (max-width: 767px) {
  #floraCartMask {
    top: 84px;
    bottom: 96px;
  }

  #floraCartDrawer {
    top: 84px;
    bottom: 96px;
    height: auto;
    max-height: calc(100dvh - 180px);
    width: min(492px, calc(100vw - 28px));
    grid-template-rows: auto minmax(0, 1fr) auto;
    border-top-left-radius: 22px;
    border-bottom-left-radius: 22px;
    overflow: hidden;
  }

  .flora-cartdrawer-head {
    padding: 14px 18px 12px;
  }

  .flora-cartdrawer-list {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: 18px;
  }

  .flora-cartdrawer-foot {
    position: relative;
    z-index: 2;
    padding: 12px 18px calc(14px + env(safe-area-inset-bottom));
    background: rgba(252, 251, 249, .98);
    box-shadow: 0 -10px 24px rgba(0,0,0,.06);
  }

  .flora-cartdrawer-checkout {
    min-height: 44px;
  }
}

.flora-cartdrawer-message {
  margin: -4px 0 0;
  min-height: 0;
  color: #8a5a2b;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
}

.flora-cartdrawer-message:empty {
  display: none;
}

.flora-cartdrawer-checkout:disabled {
  cursor: not-allowed;
  opacity: .58;
  background: #e7e1d8;
  border-color: #d9d0c4;
  color: #6b635a;
}
