
      :root {
        --red: #e83745;
        --red-dark: #bd2534;
        --ink: #202124;
        --muted: #72757b;
        --line: #e8e8e8;
        --soft: #faf9f7;
        --warm: #fff7ed;
        --butter: #fff0b8;
        --sage: #d9efc7;
        --lilac: #ead9f6;
        --pink: #ffd7df;
        --shadow: 0 12px 35px rgba(28, 26, 23, 0.08);
        --ease: cubic-bezier(0.23, 1, 0.32, 1);
      }
      * {
        box-sizing: border-box;
        scrollbar-width: thin;
        scrollbar-color: rgba(32, 33, 36, 0.22) transparent;
      }
      *::-webkit-scrollbar {
        width: 4px;
        height: 4px;
      }
      *::-webkit-scrollbar-track {
        background: transparent;
      }
      *::-webkit-scrollbar-thumb {
        background: rgba(32, 33, 36, 0.22);
        border-radius: 4px;
      }
      *::-webkit-scrollbar-thumb:hover {
        background: rgba(32, 33, 36, 0.38);
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        margin: 0;
        background: #fff;
        color: var(--ink);
        font-family: "DM Sans", sans-serif;
        font-size: 16px;
        line-height: 1.45;
      }
      button,
      input,
      select,
      textarea {
        font: inherit;
      }
      button {
        cursor: pointer;
        border: 0;
      }
      .hidden {
        display: none !important;
      }

      /* Imagens ImgBB: placeholder visual, transição suave e área reservada. */
      .imgbb-image {
        display: block;
        background-color: #f7e7e8;
        background-image: linear-gradient(90deg, #f7e7e8 0%, #fff4f4 42%, #f7e7e8 84%);
        background-size: 220% 100%;
        animation: imgbb-placeholder-shimmer 1.25s linear infinite;
        transition: opacity 0.18s ease;
      }
      .imgbb-image.is-loaded,
      .imgbb-image.imgbb-image-error {
        background-image: none;
        animation: none;
      }
      .imgbb-image.imgbb-image-error {
        opacity: 0.9;
      }
      @keyframes imgbb-placeholder-shimmer {
        from { background-position: 120% 0; }
        to { background-position: -120% 0; }
      }
      @media (prefers-reduced-motion: reduce) {
        .imgbb-image { animation: none; }
      }

      /* Mantém a moldura da página visível enquanto dados e imagens remotas chegam. */
      #main {
        min-height: calc(100vh - 72px);
      }
      .initial-home .stores {
        min-height: 190px;
      }
      .page {
        min-height: 100vh;
      }
      .topbar {
        height: 72px;
        border-bottom: 1px solid #eee;
        background: #fff;
        display: flex;
        align-items: center;
        position: sticky;
        top: 0;
        z-index: 20;
      }
      .topbar-inner {
        width: min(1240px, calc(100% - 44px));
        margin: auto;
        display: flex;
        align-items: center;
        gap: 18px;
        min-width: 0;
      }
      .topbar-left {
        display: flex;
        align-items: center;
        gap: 18px;
        min-width: 0;
        flex-shrink: 0;
      }
      .topbar-right {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-left: auto;
        flex-shrink: 0;
      }
      body.is-seller .search,
      body.is-seller .cart-cluster {
        display: none !important;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 9px;
        text-decoration: none;
        color: var(--ink);
        white-space: nowrap;
        background: transparent;
      }
      .brand img {
        width: 120px;
        height: 34px;
        object-fit: contain;
        display: block;
        transform: translateX(-32px) scale(1.85);
        transform-origin: left center;
      }
      .brand-word {
        font-family: "Space Grotesk";
        font-weight: 700;
        letter-spacing: -0.06em;
        font-size: 19px;
      }
      .brand-word span {
        color: var(--red);
      }
      .nav {
        display: flex;
        gap: 22px;
        color: #777;
        font-size: 15px;
        white-space: nowrap;
      }
      .nav button {
        background: transparent;
        color: inherit;
        padding: 8px 0;
        position: relative;
      }
      .nav button.active,
      .nav button:hover {
        color: var(--red);
      }
      .sd-carousel .home-coupon-copy p {
        white-space: pre-line;
      }
      .terms-list { display: grid; gap: 10px; margin-top: 14px; }
      .terms-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); text-align: left; font: inherit; cursor: pointer; }
      .terms-option:hover { border-color: var(--red); background: #fff8f8; }
      .terms-option strong { display: block; font-size: 14px; }
      .terms-option small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
      .terms-option-arrow { color: var(--red); font-size: 22px; line-height: 1; }
      .terms-reader { color: var(--ink); line-height: 1.65; }
      .terms-reader h3 { margin: 0 0 12px; font-family: "Space Grotesk"; font-size: 20px; }
      .terms-reader p { margin: 0 0 12px; color: var(--muted); font-size: 14px; }
      .terms-reader .terms-heading { margin-top: 18px; color: var(--ink); font-weight: 700; }
      .terms-reader .terms-highlight { padding: 14px; border-radius: 8px; background: #fff6f3; color: var(--ink); }
      .search {
        height: 44px;
        flex: 1;
        max-width: 420px;
        display: flex;
        align-items: center;
        background: #f7f7f7;
        border-radius: 10px;
        padding: 0 14px;
        color: var(--red);
        gap: 10px;
      }
      .search input {
        border: 0;
        background: transparent;
        outline: none;
        width: 100%;
        font-size: 14px;
        color: var(--ink);
      }
      .search input::placeholder {
        color: #a8a8aa;
      }
      .address {
        display: flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
        color: #666;
        font-size: 13px;
        max-width: 220px;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        background: transparent;
        padding: 6px 4px;
      }
      .address svg {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
        stroke: #888;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .address strong {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: #555;
        font-weight: 600;
      }
      .icon-btn {
        background: transparent;
        color: var(--red);
        position: relative;
        padding: 6px;
      }
      .header-icon.has-photo {
        padding: 0;
        border-radius: 50%;
        overflow: hidden;
      }
      .topbar-avatar {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        object-fit: cover;
        display: block;
      }
      .header-icon svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .cart-cluster {
        display: flex;
        align-items: center;
        gap: 8px;
        border-left: 1px solid var(--line);
        padding-left: 16px;
      }
      .cart-copy {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        line-height: 1.2;
        color: #444;
        font-size: 12px;
      }
      .cart-copy strong {
        font-size: 14px;
        color: #3b1f1f;
      }
      .cart-trigger {
        display: flex;
        background: transparent;
        padding: 0;
      }
      .cart-trigger svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: var(--red);
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .deposit-mini {
        display: block;
        background: transparent;
        color: var(--red);
        font-size: 11px;
        font-weight: 700;
        padding: 0;
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }
      .notification-trigger {
        margin-left: 2px;
      }
      .notification-count,
      .merchant-count {
        font-style: normal;
        font-size: 9px;
        width: 15px;
        height: 15px;
        top: 0;
        right: 0;
      }
      .cart-count {
        position: absolute;
        top: -5px;
        right: -8px;
        background: var(--red);
        color: #fff;
        border-radius: 50%;
        width: 16px;
        height: 16px;
        font-size: 8px;
        display: grid;
        place-items: center;
        font-weight: 700;
      }
      .cart-count.hidden {
        display: none !important;
      }
      .container {
        width: min(1080px, calc(100% - 44px));
        margin: 0 auto;
      }
      .hero {
        padding: 36px 0 28px;
      }
      .eyebrow {
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        color: var(--red);
        font-weight: 700;
        margin: 0 0 8px;
      }
      .hero h1 {
        font-family: "Space Grotesk";
        font-size: 28px;
        letter-spacing: -0.055em;
        margin: 0 0 24px;
        line-height: 1.15;
      }
      .categories {
        display: flex;
        gap: 28px;
        overflow: auto;
        padding: 4px 4px 16px;
      }
      .category {
        min-width: 82px;
        text-align: center;
        background: transparent;
        color: #696969;
        font-size: 14px;
      }
      .category .cat-img {
        width: 76px;
        height: 76px;
        border-radius: 16px;
        margin: 0 auto 10px;
        display: grid;
        place-items: center;
        overflow: hidden;
        transition:
          transform 0.18s var(--ease),
          box-shadow 0.18s var(--ease);
      }
      .category:hover .cat-img,
      .category.selected .cat-img {
        transform: translateY(-3px);
        box-shadow: 0 8px 17px rgba(25, 20, 20, 0.11);
      }
      .category.selected,
      .category.selected span {
        color: #696969 !important;
        font-weight: 700;
      }
      .cat-img img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
      }
      .category-placeholder {
        font-family: "Space Grotesk", sans-serif;
        font-size: 34px;
        font-weight: 700;
        line-height: 1;
        color: currentColor;
        opacity: 0.78;
      }
      .cat-img {
        border: 1px solid rgba(255, 255, 255, 0.7);
      }
      .cat-burger {
        background: var(--pink);
      }
      .cat-pizza {
        background: #ffe1d0;
      }
      .cat-sweet {
        background: var(--butter);
      }
      .cat-acai {
        background: var(--lilac);
      }
      .cat-combo {
        background: var(--sage);
      }
      .cat-salty {
        background: #ffe8a9;
      }
      .cat-drink {
        background: #d8eff7;
      }
      .cat-pharmacy {
        background: #dceff1;
      }
      .pharmacy-mark {
        font-size: 31px;
        color: #2c9298;
        font-weight: 700;
      }
      .filters {
        display: flex;
        gap: 10px;
        overflow: auto;
        padding: 10px 0 22px;
        border-bottom: 1px solid #f3f3f3;
      }
      .filter {
        height: 34px;
        border: 1px solid #ddd;
        border-radius: 20px;
        background: #fff;
        color: #636363;
        padding: 0 16px;
        white-space: nowrap;
        font-size: 13px;
        display: flex;
        gap: 6px;
        align-items: center;
        transition: 0.18s var(--ease);
      }
      .filter:hover,
      .filter.active {
        border-color: var(--red);
        color: var(--red);
        background: #fff7f7;
      }
      .section-head {
        display: flex;
        align-items: end;
        justify-content: space-between;
        margin: 28px 0 16px;
      }
      .section-head h2 {
        font-family: "Space Grotesk";
        font-size: 20px;
        letter-spacing: -0.035em;
        margin: 0;
      }
      .section-head p {
        font-size: 14px;
        color: var(--muted);
        margin: 0;
      }
      .stores {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
      }
      @media all {
        .stores {
          grid-template-columns: 1fr;
        }
      }
      .stores-loading {
        display: grid;
        place-items: center;
        min-height: 190px;
        padding: 28px;
        border: 1px solid #eee;
        border-radius: 14px;
        color: var(--muted);
        text-align: center;
      }
      .stores-loading > div {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
      }
      .stores-loading-spinner {
        width: 30px;
        height: 30px;
        border: 3px solid #f0d9dc;
        border-top-color: var(--red);
        border-radius: 50%;
        animation: stores-spin 0.8s linear infinite;
        margin: 0 auto 12px;
      }
      @keyframes stores-spin {
        to {
          transform: rotate(360deg);
        }
      }
      .store-card {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 14px 16px;
        border: 1px solid #eee;
        border-radius: 14px;
        transition: 0.2s var(--ease);
        cursor: pointer;
      }
      .store-card:hover {
        border-color: #eee;
        box-shadow: var(--shadow);
        transform: translateY(-2px);
      }
      .store-card.has-offer {
        border-color: #f6d9d9;
        background: linear-gradient(90deg, #fff 0%, #fffafa 100%);
      }
      .store-card.has-offer:hover {
        border-color: #efb7bd;
        box-shadow: 0 14px 34px rgba(232, 55, 69, 0.12);
      }
      .store-badges {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
        margin-top: 9px;
      }
      .store-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        border-radius: 999px;
        padding: 5px 9px;
        font-size: 11px;
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
      }
      .store-badge.coupon {
        background: #fff0b8;
        color: #7b5b00;
      }
      .store-badge.promotion {
        background: #ffe1e5;
        color: #b4232f;
      }
      .store-badge-icon {
        font-size: 12px;
      }
      .store-cover {
        width: 76px;
        flex: 0 0 76px;
        height: auto;
        align-self: stretch;
        border-radius: 10px;
        object-fit: cover;
        background: var(--warm);
      }
      .store-copy h3 {
        font-size: 17px;
        margin: 0 0 8px;
        font-weight: 700;
      }
      .store-meta {
        font-size: 14px;
        color: var(--muted);
        display: flex;
        gap: 7px;
        align-items: center;
        flex-wrap: wrap;
        line-height: 1.45;
      }
      .order-track-card {
        border: 1px solid var(--line);
        border-radius: 14px;
        padding: 14px 16px;
        background: var(--soft);
        margin-bottom: 14px;
        display: block;
        width: 100%;
      }
      .order-cancel-row {
        margin-top: 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        flex-wrap: wrap;
      }
      .order-cancel-btn {
        border: 1px solid #f2c2c2;
        background: #fff;
        color: var(--red-dark);
        font-weight: 700;
        font-size: 13px;
        border-radius: 999px;
        padding: 8px 14px;
        cursor: pointer;
        transition: 0.15s;
      }
      .order-cancel-btn:hover {
        background: #ffe1e5;
      }
      .order-cancel-btn {
        min-height: 44px;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        position: relative;
        z-index: 2;
        pointer-events: auto;
      }
      .order-cancel-btn:disabled {
        opacity: 0.6;
      }
      .app-confirm {
        position: fixed;
        inset: 0;
        z-index: 100000;
        background: rgba(20, 18, 18, 0.45);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
      }
      .app-confirm-box {
        background: #fff;
        border-radius: 18px;
        padding: 20px;
        max-width: 340px;
        width: 100%;
        box-shadow: var(--shadow);
      }
      .app-confirm-box p {
        margin: 0 0 16px;
        font-size: 15px;
        color: var(--ink);
      }
      .app-confirm-actions {
        display: flex;
        gap: 10px;
        justify-content: flex-end;
        flex-wrap: wrap;
      }
      .app-confirm-actions button {
        min-height: 44px;
        border-radius: 999px;
        padding: 10px 16px;
        font-weight: 700;
        font-size: 14px;
        background: #f2f2f2;
        color: var(--ink);
      }
      .app-confirm-actions button.danger {
        background: var(--red);
        color: #fff;
      }
      .order-cancel-hint {
        font-size: 12px;
        color: var(--muted);
      }
      select.small-outline option.opt-cancel {
        color: var(--red-dark);
        font-weight: 700;
      }
      .order-track-card.pinned {
        border-color: #f6d9d9;
        background: linear-gradient(180deg, #fffafa 0%, #fff 100%);
      }
      .order-track-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 12px;
      }
      .order-track-head strong {
        font-size: 15px;
      }
      .order-track-pin {
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--red-dark);
        background: #ffe1e5;
        border-radius: 999px;
        padding: 4px 8px;
        white-space: nowrap;
      }
      .order-track-sub {
        margin: 0 0 14px;
        color: var(--muted);
        font-size: 13px;
      }
      .order-track-items {
        margin: -4px 0 14px;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.45;
      }
      .order-track-items strong {
        color: var(--ink);
      }
      .order-steps {
        display: flex;
        align-items: flex-start;
        padding: 4px 2px 0;
      }
      .order-step {
        flex: 1;
        text-align: center;
        position: relative;
        font-size: 11px;
        color: var(--muted);
        font-weight: 600;
        line-height: 1.3;
        padding: 0 2px;
      }
      .order-step .dotmark {
        position: relative;
        z-index: 2;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        border: 2px solid var(--line);
        background: #fff;
        margin: 0 auto 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        line-height: 1;
        color: transparent;
        box-shadow: 0 0 0 4px #fff;
        transition: 0.25s var(--ease);
      }
      .order-step::before,
      .order-step::after {
        content: "";
        position: absolute;
        top: 16px;
        height: 3px;
        border-radius: 999px;
        background: var(--line);
        width: calc(50% - 19px);
        z-index: 1;
      }
      .order-step::before {
        left: 2px;
      }
      .order-step::after {
        right: 2px;
      }
      .order-step:first-child::before,
      .order-step:last-child::after {
        display: none;
      }
      .order-step.done .dotmark {
        border-color: #2e9d50;
        background: #2e9d50;
        color: #fff;
      }
      .order-step.current .dotmark {
        border-color: var(--red);
        background: var(--red);
        color: #fff;
        box-shadow: 0 0 0 4px #fff, 0 0 0 8px rgba(232, 55, 69, 0.14);
      }
      .order-step.done,
      .order-step.current {
        color: var(--ink);
      }
      .order-step.reached::before {
        background: #2e9d50;
      }
      .order-step.filled::after {
        background: #2e9d50;
      }
      .order-step.cancelled .dotmark {
        border-color: var(--red-dark);
        background: var(--red-dark);
        color: #fff;
      }
      .order-track-live {
        margin-top: 12px;
        font-size: 12px;
        color: var(--muted);
        display: flex;
        align-items: center;
        gap: 6px;
      }
      .order-track-live i {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #2e9d50;
        display: inline-block;
        animation: trackPulse 1.4s infinite;
      }
      @keyframes trackPulse {
        0%,
        100% {
          opacity: 1;
        }
        50% {
          opacity: 0.25;
        }
      }
      .store-rating-count {
        font-size: 13px;
        color: var(--muted);
        font-weight: 600;
      }
      .rating {
        color: #df9d00;
        font-weight: 700;
      }
      .dot {
        color: #c5c5c5;
      }
      .store-open {
        margin-left: auto;
        color: #4f8c42;
        font-size: 12px;
        background: #eff9eb;
        border-radius: 20px;
        padding: 7px 12px;
        white-space: nowrap;
      }
      .divider {
        height: 1px;
        background: #f3f3f3;
        margin: 22px 0;
      }
      .shop-view {
        padding: 18px 0 72px;
      }
      .shop-hero {
        display: flex;
        align-items: center;
        gap: 18px;
        padding: 18px 6px 22px;
        position: relative;
        border-bottom: 0;
      }
      .shop-hero img {
        flex-shrink: 0;
      }
      .shop-hero img {
        width: 136px;
        height: 136px;
        object-fit: cover;
        border-radius: 16px;
        border: 0;
        box-shadow: none;
        background: #fff;
      }
      .shop-hero h1 {
        font-family: "Space Grotesk";
        font-size: 28px;
        letter-spacing: -0.06em;
        margin: 0 0 8px;
      }
      .shop-hero p {
        margin: 0 0 5px;
        color: var(--muted);
        font-size: 14px;
        line-height: 1.5;
      }
      .shop-hero-copy {
        padding-bottom: 4px;
      }
      .back-link {
        color: var(--red);
        font-weight: 700;
        background: transparent;
        margin-bottom: 16px;
        padding: 0;
        font-size: 15px;
      }
      .shop-layout {
        display: grid;
        grid-template-columns: 1fr 300px;
        gap: 40px;
        padding-top: 6px;
      }
      .menu-title {
        font-family: "Space Grotesk";
        font-size: 22px;
        margin: 0 0 10px;
      }
      .menu-category-bar {
        position: sticky;
        top: 72px;
        z-index: 12;
        display: flex;
        gap: 6px;
        overflow-x: auto;
        padding: 10px 12px;
        margin: 0 0 38px;
        background: rgba(255, 255, 255, 0.97);
        border: 1px solid #eee;
        border-radius: 12px;
        box-shadow: 0 5px 16px rgba(28, 26, 23, 0.07);
        scrollbar-width: thin;
      }
      .menu-category-link {
        flex: 0 0 auto;
        background: transparent;
        color: #666;
        padding: 9px 14px;
        border-bottom: 2px solid transparent;
        border-radius: 8px;
        white-space: nowrap;
        font-size: 14px;
        font-weight: 600;
        transition: 0.18s var(--ease);
      }
      .menu-category-link:hover,
      .menu-category-link:focus {
        color: var(--red);
        background: #fff7f7;
        outline: none;
      }
      .menu-section {
        margin-bottom: 32px;
        scroll-margin-top: 145px;
      }
      .menu-section h3 {
        font-size: 17px;
        margin: 0 0 12px;
      }
      .products {
        display: grid;
        gap: 4px;
      }
      .product {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 16px 0;
        border-bottom: 1px solid #f1f1f1;
      }
      .product.promo {
        background: #fff8ee;
        border-left: 3px solid #e29a27;
        padding-left: 12px;
      }
      .product.is-unavailable {
        opacity: 0.5;
      }
      .product-admin-promo {
        background: #fffaf0;
        border-radius: 8px;
        padding: 10px;
      }
      .promo-section-title {
        font-family: "Space Grotesk";
        font-size: 16px;
        color: #b06b00;
        margin: 20px 0 8px;
      }
      .menu-section-title {
        font-family: "Space Grotesk";
        font-size: 16px;
        margin: 20px 0 8px;
      }
      .danger-outline {
        color: #b4232f;
        border-color: #f1c4c8;
      }
      .product img {
        width: 104px;
        height: 86px;
        border-radius: 12px;
        object-fit: cover;
        background: #f7e7e8;
      }
      .product-copy {
        flex: 1;
      }
      .product-copy h4 {
        margin: 0 0 6px;
        font-size: 16px;
      }
      .product-copy p {
        margin: 0 0 8px;
        color: var(--muted);
        font-size: 14px;
        line-height: 1.45;
        max-width: 420px;
      }
      .price {
        font-weight: 700;
        font-size: 15px;
      }
      .price .promo-price {
        color: var(--red);
        font-weight: 800;
      }
      .price del {
        color: var(--muted);
        font-weight: 500;
        margin-left: 7px;
      }
      .add-btn {
        width: 38px;
        height: 38px;
        border: 1.5px solid #f0c9cd;
        color: var(--red);
        background: #fff;
        border-radius: 50%;
        padding: 0;
        display: inline-grid;
        place-items: center;
        line-height: 0;
        transition: 0.15s var(--ease);
        flex-shrink: 0;
      }
      .add-btn svg {
        width: 18px;
        height: 18px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2.2;
        stroke-linecap: round;
      }
      .add-btn:hover {
        background: var(--red);
        color: #fff;
        transform: scale(1.06);
      }
      .order-box {
        border: 1px solid #e9e9e9;
        border-radius: 14px;
        padding: 20px;
        position: sticky;
        top: 90px;
        height: max-content;
        background: #fff;
      }
      .order-box h3 {
        margin: 0 0 14px;
        font-family: "Space Grotesk";
        font-size: 18px;
      }
      .empty-cart {
        text-align: center;
        color: var(--muted);
        padding: 24px 8px;
        font-size: 14px;
        line-height: 1.5;
      }
      .cart-line {
        display: flex;
        gap: 10px;
        align-items: center;
        padding: 12px 0;
        border-bottom: 1px solid #f1f1f1;
      }
      .cart-line-copy {
        flex: 1;
      }
      .cart-line-copy strong {
        display: block;
        font-size: 14px;
      }
      .cart-line-copy small {
        display: block;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.45;
      }
      .cart-line-copy small + small {
        margin-top: 4px;
        color: var(--ink);
        font-weight: 600;
      }
      .qty {
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .qty button {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        border: 1px solid #ddd;
        background: #fff;
        color: var(--red);
        line-height: 0;
        display: inline-grid;
        place-items: center;
        padding: 0;
        font-size: 16px;
      }
      .totals {
        border-top: 1px solid #eee;
        margin-top: 12px;
        padding-top: 12px;
        font-size: 14px;
      }
      .total-row {
        display: flex;
        justify-content: space-between;
        margin: 8px 0;
      }
      .total-row.final {
        font-weight: 700;
        font-size: 16px;
        margin-top: 14px;
      }
      .primary {
        width: 100%;
        height: 46px;
        background: var(--red);
        color: #fff;
        border-radius: 8px;
        font-weight: 700;
        transition: 0.16s var(--ease);
        margin-top: 14px;
        font-size: 15px;
      }
      .primary:hover {
        background: var(--red-dark);
        transform: translateY(-1px);
      }
      .primary:active,
      .filter:active,
      .add-btn:active {
        transform: scale(0.97);
      }
      .outline {
        width: 100%;
        height: 42px;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        color: #555;
        font-weight: 600;
        margin-top: 10px;
      }
      .footer {
        border-top: 1px solid var(--line);
        background: #fff;
        padding: 34px 0 30px;
        color: var(--muted);
        font-size: 13px;
      }
      .footer-inner {
        display: flex;
        justify-content: space-between;
      }
      .site-footer {
        padding: 6px 0 0;
      }
      .site-footer-card {
        background: #fff;
        border: 0;
        border-radius: 0;
        padding: 30px 0 22px;
        color: var(--ink);
        box-shadow: none;
      }
      .site-footer-grid {
        display: grid;
        grid-template-columns: 1.5fr 1fr 1fr;
        gap: 30px;
      }
      .footer-kicker {
        display: block;
        font-family: "Space Grotesk";
        font-weight: 700;
        letter-spacing: 0.22em;
        font-size: 12px;
        color: var(--red);
        margin-bottom: 12px;
      }
      .footer-logo {
        height: 42px;
        width: auto;
        object-fit: contain;
        display: block;
        margin-bottom: 16px;
      }
      .footer-brand h2 {
        font-family: "Space Grotesk";
        font-size: 24px;
        line-height: 1.2;
        letter-spacing: -0.05em;
        margin: 0 0 12px;
        color: var(--ink);
        max-width: 20ch;
      }
      .footer-brand p {
        margin: 0;
        color: var(--muted);
        font-size: 13.5px;
        line-height: 1.6;
        max-width: 34ch;
      }
      .footer-col h3 {
        font-family: "Space Grotesk";
        font-size: 15px;
        margin: 0 0 16px;
        color: var(--ink);
        letter-spacing: -0.02em;
      }
      .footer-col ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
      }
      .footer-link {
        background: transparent;
        border: 0;
        padding: 0;
        text-align: left;
        color: #4c4f55;
        font-family: inherit;
        font-size: 13.5px;
        cursor: pointer;
        transition: color 0.18s var(--ease);
      }
      .footer-link:hover {
        color: var(--red);
      }
      .footer-bottom {
        margin-top: 30px;
        border-top: 1px solid var(--line);
        padding-top: 18px;
        display: flex;
        justify-content: space-between;
        gap: 12px;
        color: var(--muted);
        font-size: 12.5px;
      }
      .legal-doc h3 {
        font-family: "Space Grotesk";
        font-size: 18px;
        letter-spacing: -0.04em;
        margin: 0 0 8px;
      }
      .legal-doc p {
        margin: 0 0 7px;
        font-size: 13px;
        line-height: 1.45;
        color: #3c3d40;
      }
      .legal-doc .legal-note {
        margin-top: 8px;
        border-top: 1px solid #eee;
        padding-top: 8px;
        color: var(--muted);
        font-size: 11.5px;
      }
      .drawer-head.legal-head {
        margin-bottom: 2px;
      }
      .drawer-head.legal-head .close {
        width: 30px;
        height: 30px;
        font-size: 22px;
      }
      .overlay.box .drawer {
        padding: 16px 18px 14px;
      }
      .seller-shell {
        padding: 32px 0 72px;
      }
      .seller-top {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 20px;
        margin-bottom: 28px;
      }
      .seller-top h1 {
        font-family: "Space Grotesk";
        font-size: 28px;
        letter-spacing: -0.055em;
        margin: 0 0 8px;
      }
      .seller-top p {
        margin: 0;
        color: var(--muted);
        font-size: 15px;
        line-height: 1.5;
      }
      .seller-badge {
        background: #fff0f1;
        color: var(--red);
        border-radius: 20px;
        padding: 8px 14px;
        font-size: 13px;
        font-weight: 700;
        white-space: nowrap;
      }
      .seller-nav {
        display: flex;
        gap: 4px;
        overflow: auto;
        border-bottom: 1px solid var(--line);
        margin-bottom: 24px;
      }
      .seller-tab {
        background: transparent;
        padding: 14px 18px;
        color: var(--muted);
        white-space: nowrap;
        border-bottom: 2px solid transparent;
        font-size: 15px;
      }
      .seller-tab.active {
        color: var(--red);
        border-color: var(--red);
        font-weight: 700;
      }
      .metric-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
        margin-bottom: 24px;
      }
      .metric {
        border: 1px solid #ededed;
        border-radius: 12px;
        padding: 18px;
        background: #fff;
      }
      .metric small {
        color: var(--muted);
        display: block;
        margin-bottom: 10px;
        font-size: 13px;
      }
      .metric strong {
        font-family: "Space Grotesk";
        font-size: 24px;
      }
      .metric.accent {
        background: var(--warm);
        border-color: #ffe5d5;
      }
      .seller-panel {
        border: 1px solid #ededed;
        border-radius: 14px;
        padding: 24px;
        background: #fff;
      }
      .history-toolbar {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 18px;
        flex-wrap: wrap;
      }
      .history-filter {
        display: flex;
        align-items: flex-end;
        gap: 8px;
        flex-wrap: wrap;
      }
      .history-filter label {
        display: grid;
        gap: 5px;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
      }
      .history-filter input {
        height: 38px;
        border: 1px solid #ddd;
        border-radius: 8px;
        padding: 0 10px;
        color: var(--ink);
        background: #fff;
      }
      .history-filter button {
        height: 38px;
      }
      .history-summary {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        margin: 18px 0;
      }
      .history-summary .metric {
        padding: 14px;
      }
      .history-summary .metric small {
        margin-bottom: 5px;
      }
      .history-summary .metric strong {
        font-size: 20px;
      }
      .history-profit {
        background: var(--warm);
        border-color: #ffe5d5;
      }
      .history-profit strong {
        color: var(--red);
      }
      .seller-panel h2 {
        font-family: "Space Grotesk";
        font-size: 20px;
        margin: 0 0 6px;
      }
      .seller-panel > p {
        margin: 0 0 8px;
      }
      .seller-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
      }
      .seller-table th {
        text-align: left;
        color: var(--muted);
        font-weight: 600;
        border-bottom: 1px solid var(--line);
        padding: 12px 10px;
      }
      .seller-table td {
        padding: 14px 10px;
        border-bottom: 1px solid #f2f2f2;
        vertical-align: middle;
      }
      .status {
        display: inline-flex;
        border-radius: 20px;
        padding: 5px 9px;
        font-size: 12px;
        font-weight: 700;
        background: #f2f2f2;
        color: #666;
      }
      .status.received {
        background: #fff1d1;
        color: #956900;
      }
      .status.preparing {
        background: #e9f2ff;
        color: #2763a4;
      }
      .status.out {
        background: #eee5ff;
        color: #7046a4;
      }
      .status.done {
        background: #eaf8e5;
        color: #4f8c42;
      }
      .status.held {
        background: #fff1d1;
        color: #956900;
      }
      .status.released {
        background: #eaf8e5;
        color: #4f8c42;
      }
      .status.paid {
        background: #eaf8e5;
        color: #4f8c42;
      }
      .status.pending {
        background: #e9f2ff;
        color: #2763a4;
      }
      .cash-freight-value {
        color: var(--red);
        font-weight: 800;
      }
      .cash-payment-label {
        color: var(--red);
        font-weight: 800;
      }
      .cash-settlement-note {
        display: block;
        color: #7c5b00;
        font-size: 12px;
        line-height: 1.35;
        margin-top: 4px;
      }
      .cash-order-summary {
        background: #fff8df;
        border: 1px solid #f0d37a;
        border-radius: 10px;
        padding: 12px;
        margin: 12px 0;
        font-size: 14px;
      }
      .cash-order-summary strong {
        display: block;
        color: #7c5b00;
        margin-bottom: 6px;
      }
      .cash-order-summary span {
        display: block;
        margin-top: 3px;
      }
      .delivery-code {
        font-family: "Space Grotesk";
        letter-spacing: 0.18em;
        font-size: 22px;
        background: #111;
        color: #fff;
        border-radius: 10px;
        padding: 12px 16px;
        display: inline-block;
      }
      .seller-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 18px;
      }
      .small-primary {
        height: 38px;
        background: var(--red);
        color: #fff;
        border-radius: 8px;
        padding: 0 14px;
        font-size: 14px;
        font-weight: 700;
        white-space: nowrap;
      }
      .small-outline {
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        border: 1px solid #ddd;
        background: #fff;
        color: #555;
        border-radius: 8px;
        padding: 0 12px;
        font-size: 13px;
        font-style: normal;
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
        vertical-align: middle;
      }
      .store-info-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      .store-info-actions .small-outline {
        margin: 0;
        font-style: normal;
      }
      .product-admin {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 16px 4px;
        border-bottom: 1px solid #f1f1f1;
      }
      .product-admin:last-child {
        border-bottom: 0;
      }
      .product-admin img {
        width: 72px;
        height: 60px;
        border-radius: 10px;
        object-fit: cover;
        flex-shrink: 0;
      }
      .product-admin > div {
        flex: 1;
        min-width: 0;
      }
      .product-admin strong {
        display: block;
        font-size: 16px;
        margin-bottom: 4px;
      }
      .product-admin small {
        color: var(--muted);
        font-size: 14px;
      }
      .product-admin-actions {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        flex-shrink: 0;
      }
      .bar-chart {
        display: flex;
        align-items: end;
        gap: 9px;
        height: 140px;
        border-bottom: 1px solid #eee;
        padding: 0 10px;
      }
      .bar {
        flex: 1;
        background: #ffd7dc;
        border-radius: 5px 5px 0 0;
        min-height: 12px;
        position: relative;
      }
      .bar span {
        position: absolute;
        bottom: -22px;
        font-size: 10px;
        color: var(--muted);
        left: 50%;
        transform: translateX(-50%);
      }
      .two-col {
        display: grid;
        grid-template-columns: 1.3fr 0.7fr;
        gap: 16px;
      }
      .overlay {
        position: fixed;
        inset: 0;
        background: rgba(20, 17, 16, 0.32);
        z-index: 50;
        display: flex;
        justify-content: flex-end;
      }
      .overlay.box {
        justify-content: center;
        align-items: center;
        padding: 16px;
      }
      .overlay.box .drawer {
        height: auto;
        max-height: 90vh;
        width: min(420px, 100%);
        border-radius: 16px;
        box-shadow: var(--shadow);
      }
      .overlay.lightbox {
        justify-content: center;
        align-items: stretch;
        padding: 0;
      }
      .product-lightbox {
        width: min(760px, 100%);
        height: 100%;
        background: #fff;
        overflow: auto;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.18);
      }
      .product-lightbox-photo {
        width: 100%;
        min-height: 58vh;
        background: #111;
        display: flex;
        align-items: center;
        justify-content: center;
      }
.product-lightbox-photo img {
        width: 100%;
        height: auto;
        max-height: 78vh;
        object-fit: contain;
        display: block;
      }
      .photo-viewer {
        position: fixed;
        inset: 0;
        z-index: 200;
        background: rgba(12, 10, 10, 0.9);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 28px;
        cursor: zoom-out;
      }
      .photo-viewer img {
        max-width: 94vw;
        max-height: 90vh;
        width: auto;
        height: auto;
        object-fit: contain;
        border-radius: 14px;
        box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
        background: #fff;
        cursor: default;
      }
      .product-hit img,
      .product-lightbox-photo img {
        cursor: zoom-in;
      }
      .product-lightbox-body {
        padding: 22px 24px 36px;
      }
      .product-lightbox-body h2 {
        font-family: "Space Grotesk";
        font-size: 26px;
        letter-spacing: -0.04em;
        margin: 0 0 10px;
      }
      .product-hit {
        cursor: pointer;
        background: transparent;
        padding: 0;
        text-align: left;
        display: flex;
        align-items: center;
        gap: 16px;
        flex: 1;
        min-width: 0;
        color: inherit;
      }
      .product-hit img {
        width: 104px;
        height: 86px;
        border-radius: 12px;
        object-fit: cover;
        background: #f7e7e8;
        flex-shrink: 0;
      }
      .drawer {
        height: 100%;
        background: #fff;
        width: min(440px, 100%);
        padding: 28px;
        overflow-y: auto;
        box-shadow: -15px 0 40px rgba(0, 0, 0, 0.12);
        animation: slide 0.25s var(--ease);
      }
      @keyframes slide {
        from {
          transform: translateX(35px);
          opacity: 0.6;
        }
        to {
          transform: none;
          opacity: 1;
        }
      }
      .drawer-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 24px;
        gap: 12px;
      }
      .drawer-head h2 {
        font-family: "Space Grotesk";
        margin: 0;
        font-size: 22px;
      }
      .close {
        background: transparent;
        border-radius: 0;
        width: 40px;
        height: 40px;
        color: #777;
        flex-shrink: 0;
        font-size: 30px;
        line-height: 1;
        display: grid;
        place-items: center;
        padding: 0;
      }
      .form-grid {
        display: grid;
        gap: 18px;
      }
      .hours-editor {
        display: grid;
        gap: 5px;
        margin-top: 12px;
        border: 1px solid var(--line);
        border-radius: 8px;
        padding: 9px;
        background: #fff;
        overflow-x: auto;
      }
      .hours-row {
        display: grid;
        grid-template-columns: 150px 86px 86px;
        gap: 8px;
        align-items: center;
        padding: 2px 0;
        min-width: 338px;
      }
      .hours-day {
        display: flex !important;
        align-items: center;
        gap: 7px;
        width: 150px;
        min-width: 150px;
        font-size: 13px;
        font-weight: 500;
        margin: 0;
        white-space: nowrap;
      }
      .hours-day input {
        width: 15px;
        height: 15px;
        min-width: 15px;
        flex: 0 0 15px;
        margin: 0;
        accent-color: var(--red);
      }
      .hours-row input[type="time"] {
        padding: 6px 5px;
        font-size: 12px;
        border-radius: 6px;
      }
      .store-hours {
        margin: 12px 0 0;
        padding: 10px 12px;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: var(--soft);
      }
      .store-hours h3 {
        font-family: "Space Grotesk";
        font-size: 15px;
        margin: 0 0 5px;
      }
      .store-hours-list {
        display: block;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.35;
      }
      .store-hours-list span {
        display: block;
        margin: 2px 0;
      }
      .store-hours-list b {
        font-weight: 600;
      }
      .store-hours-list strong {
        color: var(--ink);
        font-weight: 600;
        margin-left: 5px;
      }
      @media all {
        .store-hours {
          padding: 9px 11px;
        }
      }
      @media all {
        .hours-editor {
          margin-top: 12px;
        }
        .hours-row {
          grid-template-columns: 150px 82px 82px;
          min-width: 330px;
        }
        .hours-day {
          width: 150px;
          min-width: 150px;
        }
        .store-hours-list {
          grid-template-columns: 1fr;
        }
      }
      .field label {
        display: block;
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 8px;
        color: var(--ink);
      }
      .form-section-heading {
        display: flex;
        align-items: center;
        gap: 8px;
        border-top: 1px solid var(--line);
        padding-top: 18px;
        margin-top: 8px;
        font-family: "Space Grotesk";
        font-size: 16px;
      }
      .form-section-heading::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 2px;
        background: var(--red);
        display: inline-block;
      }
      .field-help,
      .upload-note {
        display: block;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.45;
        margin-top: 6px;
      }
      .image-upload-loading {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 92px;
        padding: 18px;
        border: 1px dashed var(--line);
        border-radius: 10px;
        background: var(--soft);
        color: var(--muted);
        font-size: 14px;
      }
      .image-upload-spinner {
        width: 22px;
        height: 22px;
        border: 3px solid #ead9dc;
        border-top-color: var(--red);
        border-radius: 50%;
        animation: imageUploadSpin 0.8s linear infinite;
      }
      @keyframes imageUploadSpin {
        to {
          transform: rotate(360deg);
        }
      }
      .field input,
      .field textarea,
      .field select {
        width: 100%;
        border: 1px solid #ddd;
        border-radius: 8px;
        padding: 12px 14px;
        outline: none;
        background: #fff;
        font-size: 15px;
      }
      .field input:focus,
      .field textarea:focus,
      .field select:focus {
        border-color: var(--red);
        box-shadow: 0 0 0 3px #e8374514;
      }
      .settings-card {
        border: 1px solid #ededed;
        border-radius: 12px;
        padding: 16px;
        display: grid;
        gap: 14px;
        background: var(--soft);
      }
      .settings-title {
        font-weight: 700;
        font-size: 15px;
      }
      .check-row {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 15px;
        font-weight: 500;
      }
      .zone-table {
        display: grid;
        gap: 8px;
        margin-top: 10px;
      }
      .zone-table .check-row {
        display: grid;
        grid-template-columns: 24px 1fr 100px;
        gap: 8px;
        align-items: center;
      }
      .zone-table input[data-delivery-zone-fee] {
        width: 100%;
        height: 36px;
        min-width: 0;
        padding: 6px 8px;
        border: 1px solid #ddd;
        border-radius: 8px;
        background: #fff;
      }
      .zone-table input[data-delivery-zone] {
        width: 18px;
        height: 18px;
      }
      .check-row input {
        width: 18px;
        height: 18px;
        accent-color: var(--red);
      }
      .auth-switch {
        text-align: center;
        color: var(--muted);
        font-size: 14px;
        margin: 16px 0 0;
      }
      .auth-switch button {
        background: transparent;
        color: var(--red);
        font-weight: 700;
      }
      .profile-avatar {
        width: 76px;
        height: 76px;
        flex: 0 0 76px;
        object-fit: cover;
        border-radius: 12px;
        background: var(--pink);
        display: block;
        margin: 0 auto 13px;
      }
      .profile-avatar.clickable {
        cursor: pointer;
      }
      .toast {
        position: fixed;
        bottom: 22px;
        left: 50%;
        transform: translateX(-50%) translateY(14px);
        background: #242424;
        color: #fff;
        padding: 12px 18px;
        border-radius: 8px;
        font-size: 14px;
        opacity: 0;
        pointer-events: none;
        transition: 0.22s var(--ease);
        z-index: 100;
      }
      .toast.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
      }
      .wallet-card {
        background: var(--warm);
        border: 1px solid #ffe5d5;
        border-radius: 12px;
        padding: 16px;
        text-align: center;
        margin-bottom: 16px;
      }
      .wallet-card small {
        display: block;
        color: var(--muted);
        font-size: 13px;
        margin-bottom: 6px;
      }
      .wallet-card strong {
        font-family: "Space Grotesk";
        font-size: 26px;
        display: block;
      }
      .wallet-card .primary {
        margin-top: 12px;
      }
      .metric-deposit {
        margin-top: 12px;
        width: 100%;
      }
      .deposit-intro {
        color: var(--muted);
        font-size: 14px;
        line-height: 1.55;
        margin: -8px 0 18px;
      }
      .deposit-pix-card {
        background: linear-gradient(135deg, #fff0ed 0%, #fff8ed 100%);
        border: 1px solid #ffd9d2;
        border-radius: 14px;
        padding: 16px;
        text-align: center;
        margin-bottom: 12px;
      }
      .deposit-pix-label,
      .deposit-user-card span,
      .deposit-details span {
        display: block;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
      }
      .deposit-pix-card strong {
        display: block;
        color: var(--red-dark);
        font-family: "Space Grotesk";
        font-size: 22px;
        letter-spacing: .08em;
        margin: 8px 0 12px;
      }
      .deposit-copy {
        background: #fff;
        border: 1px solid #f0c9cd;
        border-radius: 999px;
        color: var(--red-dark);
        font-size: 12px;
        font-weight: 700;
        padding: 8px 13px;
      }
      .deposit-copy:hover {
        background: var(--red);
        color: #fff;
      }
      .deposit-details {
        margin-top: 20px;
      }
      .deposit-user-card,
      .deposit-details {
        background: #faf9f7;
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 13px 14px;
        margin-bottom: 16px;
      }
      .deposit-user-card strong,
      .deposit-details strong {
        display: block;
        font-size: 15px;
        margin-top: 4px;
      }
      .deposit-user-card small {
        display: block;
        color: var(--muted);
        font-size: 12px;
        line-height: 1.45;
        margin-top: 5px;
      }
      .deposit-confirm-row {
        display: flex;
        align-items: flex-start;
        gap: 9px;
        color: #4c4f55;
        font-size: 13px;
        line-height: 1.45;
      }
      .deposit-confirm-row input {
        flex: 0 0 auto;
        width: 17px;
        height: 17px;
        margin-top: 2px;
        accent-color: var(--red);
      }
      .deposit-confirm-row strong {
        color: var(--ink);
      }
      .seller-banner {
        width: 100%;
        height: 168px;
        object-fit: cover;
        border-radius: 16px;
        display: block;
        margin-bottom: 18px;
        background: var(--warm);
      }
      .media-frame {
        display: grid;
        gap: 8px;
      }
      .media-preview-logo {
        width: 120px;
        height: 120px;
        object-fit: cover;
        border-radius: 16px;
        background: #f4f4f4;
        border: 1px solid #eee;
        display: block;
      }
      .media-preview-banner {
        width: 100%;
        height: 132px;
        object-fit: cover;
        border-radius: 12px;
        background: #f4f4f4;
        border: 1px solid #eee;
        display: block;
      }
      .crop-stage {
        position: relative;
        overflow: hidden;
        background: #1c1a17;
        border-radius: 12px;
        touch-action: none;
        cursor: grab;
        width: 100%;
      }
      .crop-stage:active {
        cursor: grabbing;
      }
      .crop-stage.logo-crop {
        aspect-ratio: 1;
        max-height: 280px;
      }
      .crop-stage.banner-crop {
        aspect-ratio: 3/1;
        margin-top: 4px;
      }
      .crop-stage img {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        user-select: none;
        pointer-events: none;
        max-width: none;
      }
      .crop-label {
        font-size: 13px;
        font-weight: 700;
        margin: 4px 0 8px;
      }
      .product-checks {
        display: grid;
        gap: 10px;
        max-height: 180px;
        overflow: auto;
        padding: 4px 0;
      }

      .overlay,
      .drawer,
      .addon-builder,
      .addon-group-editor,
      .addon-group-options {
        overflow-x: hidden;
      }
      .drawer {
        max-width: 100vw;
      }
      .addon-builder {
        display: grid;
        gap: 14px;
        min-width: 0;
      }
      .addon-group-editor {
        border: 1px solid #e5e5e5;
        border-radius: 12px;
        padding: 14px;
        background: #fcfbfa;
        min-width: 0;
      }
      .addon-group-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        align-items: start;
      }
      .addon-group-options {
        display: grid;
        gap: 8px;
        margin-top: 12px;
        min-width: 0;
      }
      .addon-option-editor {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 105px) 34px;
        gap: 8px;
        align-items: center;
        min-width: 0;
      }
      .addon-option-editor input {
        padding: 9px 10px !important;
        font-size: 14px !important;
      }
      .addon-option-editor button {
        height: 34px;
        border-radius: 7px;
        background: #fff0f1;
        color: var(--red);
        font-weight: 700;
      }
      .addon-group-settings {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 8px;
        margin-top: 10px;
      }
      .addon-group-settings label {
        font-size: 12px;
        color: var(--muted);
        font-weight: 600;
      }
      .addon-group-settings input,
      .addon-group-settings select {
        width: 100%;
        border: 1px solid #ddd;
        border-radius: 7px;
        padding: 8px;
        font-size: 13px;
        background: #fff;
      }
      .addon-preview-note {
        background: #f1f8f2;
        color: #337345;
        border-radius: 8px;
        padding: 10px 12px;
        font-size: 13px;
        line-height: 1.45;
      }
      @media all {
        .addon-group-head {
          grid-template-columns: 1fr;
        }
        .addon-group-settings {
          grid-template-columns: 1fr 1fr;
        }
        .addon-option-editor {
          grid-template-columns: 1fr 92px 34px;
        }
      }

      .order-items-button {
        display: block;
        width: 100%;
        background: transparent;
        text-align: left;
        padding: 5px 8px;
        border-radius: 7px;
        color: var(--ink);
        font-size: 13px;
        line-height: 1.45;
      }
      .order-items-button:hover {
        background: #fff4f5;
        color: var(--red);
      }
      .order-items-button strong {
        font-size: 12px;
        color: var(--red);
        display: block;
        margin-top: 4px;
      }

      .addon-group-editor input,
      .addon-group-editor select,
      .addon-group-editor button {
        max-width: 100%;
        min-width: 0;
      }
      .addon-option-editor input {
        width: 100%;
        min-width: 0;
      }
      .seller-panel + .seller-panel {
        margin-top: 20px;
      }
      .seller-panel p {
        line-height: 1.55;
      }

      .store-rating-inline {
        color: #e09a00;
        font-size: 13px;
        font-weight: 700;
      }
      .rating-card {
        margin: 10px 0;
        padding: 14px;
        border: 1px solid #eee;
        border-radius: 12px;
        background: #fffaf3;
      }
      .store-hero-rating-col .rating-card {
        margin: 0;
        padding: 8px 12px;
        text-align: center;
        max-width: 210px;
      }
      .store-hero-rating-col .rating-card strong {
        font-size: 13px;
      }
      .store-hero-rating-col .rating-stars {
        justify-content: center;
        margin-top: 2px;
      }
      .store-hero-rating-col .rating-star {
        font-size: 20px;
      }
      .store-hero-rating-col .rating-card small {
        font-size: 10.5px;
        line-height: 1.25;
        display: block;
      }
      .rating-stars {
        display: flex;
        gap: 4px;
        margin-top: 8px;
      }
      .rating-star {
        background: transparent;
        color: #d8d8d8;
        font-size: 30px;
        line-height: 1;
        padding: 0;
      }
      .rating-star.active,
      .rating-star:hover {
        color: #e09a00;
      }
      .store-card.is-closed {
        opacity: 0.58;
        cursor: pointer;
        filter: grayscale(0.15);
      }

      .store-open.closed {
        background: #f2f2f2;
        color: #777;
      }
      .store-open.paused {
        background: #fff4d6;
        color: #a66a00;
      }
      .payment-methods {
        margin-top: 12px;
      }
      .payment-group {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 8px;
      }
      .payment-group b {
        width: 100%;
        font-size: 13px;
        color: var(--ink);
      }
      .payment-group span {
        background: #fff;
        border: 1px solid #e4e4e4;
        border-radius: 16px;
        padding: 5px 9px;
        font-size: 12px;
        color: #555;
      }
      .payment-checks {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 12px;
      }
      .payment-checks .check-row {
        display: flex !important;
        align-items: center;
        margin: 0;
        gap: 10px;
      }
      .payment-checks .check-row {
        font-size: 13px;
      }
      .store-info-actions {
        display: flex;
        gap: 10px;
        flex-wrap: nowrap;
        margin: 0;
        position: absolute;
        right: -250px;
        top: 68%;
        bottom: auto;
        transform: translateY(-50%);
        white-space: nowrap;
      }
      .store-info-actions button {
        width: auto;
        padding: 0 14px;
        margin: 0;
      }
      .shop-hero-copy {
        position: relative;
        padding-right: 270px;
      }
      .store-info-modal h3 {
        margin: 0 0 10px;
        font-family: "Space Grotesk";
        font-size: 18px;
      }
      .store-info-modal .store-hours {
        margin: 0;
        border: 0;
        padding: 0;
        background: transparent;
      }
      .skeleton {
        height: 95px;
        background: linear-gradient(90deg, #fafafa, #f1f1f1, #fafafa);
        background-size: 200% 100%;
        animation: shine 1.1s infinite;
      }
      @keyframes shine {
        to {
          background-position: -200% 0;
        }
      }
      @media all {
        .metric-grid {
          grid-template-columns: repeat(2, 1fr);
        }
        .two-col {
          grid-template-columns: 1fr;
        }
        .seller-top {
          align-items: flex-start;
          flex-direction: column;
        }
        .seller-table {
          min-width: 660px;
        }
        .seller-panel {
          overflow: auto;
        }
        .topbar {
          height: auto;
          padding: 10px 0;
        }
        .topbar-inner {
          flex-wrap: wrap;
          gap: 12px;
        }
        .nav {
          order: 3;
          overflow: auto;
          width: 100%;
          gap: 18px;
        }
        .search {
          order: 2;
          min-width: 100%;
          max-width: none;
        }
        .topbar-left {
          flex-wrap: wrap;
          width: 100%;
        }
        .topbar-right {
          margin-left: auto;
        }
        .address {
          max-width: 140px;
        }
        .container {
          width: min(100% - 28px, 680px);
        }
        .hero {
          padding-top: 25px;
        }
        .categories {
          gap: 18px;
        }
        .shop-layout {
          grid-template-columns: 1fr;
          gap: 23px;
        }
        .order-box {
          position: static;
          order: -1;
        }
        .shop-banner {
          height: 168px;
          border-radius: 14px;
        }
        .shop-hero {
          margin-top: -36px;
          padding-bottom: 20px;
        }
        .shop-hero-copy {
          padding-right: 0;
        }
        .store-info-actions {
          position: static;
          margin-top: 10px;
          white-space: normal;
        }
        .shop-hero img {
          width: 78px;
          height: 78px;
        }
        .shop-hero h1 {
          font-size: 24px;
        }
        .product-admin {
          flex-wrap: wrap;
        }
        .product-admin-actions {
          width: 100%;
        }
        .footer-inner {
          display: block;
          line-height: 1.7;
        }
        .site-footer-card {
          padding: 26px 20px 18px;
          border-radius: 18px;
        }
        .site-footer-grid {
          grid-template-columns: 1fr;
          gap: 24px;
        }
        .footer-brand h2 {
          font-size: 21px;
        }
        .footer-bottom {
          display: block;
          line-height: 1.8;
        }
        .store-open {
          display: none;
        }
      }
      .shop-view {
        padding: 16px 0 88px;
      }
      .store-hero-card {
        display: flex;
        align-items: center;
        gap: 18px;
        padding: 14px 0 16px;
        position: relative;
      }
      .store-hero-rating-col {
        flex: 0 0 auto;
        margin-left: auto;
      }
      .store-hero-avatar-wrap {
        position: relative;
        width: 136px;
        height: 136px;
        flex-shrink: 0;
        border-radius: 16px;
        overflow: hidden;
        background: #fdfaf6;
        border: 1px solid #f0ece6;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
      }
      .store-hero-avatar-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
      .store-hero-rating-badge {
        position: absolute;
        bottom: 6px;
        right: 6px;
        background: rgba(35, 35, 35, 0.78);
        backdrop-filter: blur(4px);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        padding: 2px 7px;
        border-radius: 6px;
        display: inline-flex;
        align-items: center;
        gap: 3px;
        line-height: 1.2;
      }
      .store-hero-rating-badge .star-icon {
        color: #f59e0b;
        font-size: 11px;
      }
      .store-hero-address {
        margin: -6px 0 4px;
        color: #6b7280;
        font-size: 13.5px;
      }
      .store-hero-info {
        flex: 1;
        min-width: 0;
      }
      .store-hero-title {
        font-family: "Space Grotesk", "DM Sans", sans-serif;
        font-size: 23px;
        font-weight: 700;
        letter-spacing: -0.04em;
        margin: 0 0 3px;
        color: var(--ink);
      }
      .store-hero-category {
        color: #6b7280;
        font-size: 13px;
        font-weight: 500;
        margin: 0 0 6px;
      }
      .store-hero-badges-row {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 7px;
      }
      .store-badge-status {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 12.5px;
        font-weight: 600;
        padding: 4px 10px;
        border-radius: 999px;
      }
      .store-badge-status.open {
        background: #ecfdf5;
        color: #059669;
      }
      .store-badge-status.closed {
        background: #f3f4f6;
        color: #6b7280;
      }
      .store-badge-status.paused {
        background: #fff4d6;
        color: #a66a00;
      }
      .store-badge-status svg {
        width: 14px;
        height: 14px;
        fill: currentColor;
      }
      .store-badge-min {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        color: #475569;
        font-size: 12.5px;
        font-weight: 600;
        padding: 4px 10px;
        border-radius: 999px;
      }
      .store-badge-min svg {
        width: 13px;
        height: 13px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
      }
      .store-hero-actions-row {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
      }
      .store-quick-btn {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        color: #334155;
        border-radius: 8px;
        padding: 5px 12px;
        font-size: 13px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: all 0.16s ease;
      }
      .store-quick-btn:hover {
        background: #f1f5f9;
        border-color: #cbd5e1;
        color: #0f172a;
      }
      .store-quick-btn svg.chevron {
        width: 11px;
        height: 11px;
        stroke: #64748b;
        stroke-width: 2.5;
        fill: none;
        transition: transform 0.15s ease;
      }
      .store-quick-btn:hover svg.chevron {
        transform: translateX(2px);
        stroke: var(--red);
      }

      .store-coupons-scroller {
        position: relative;
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 4px 0 8px;
      }
      .store-coupons-wrap {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 4px 2px 8px;
        margin: 0;
        scrollbar-width: none;
      }
      .store-coupons-wrap::-webkit-scrollbar {
        display: none;
      }
      .coupon-card-blue {
        position: relative;
        flex: 0 0 auto;
        width: 220px;
        min-width: 220px;
        max-width: 220px;
        height: 64px;
        padding: 0;
        overflow: hidden;
        border: 0;
        border-radius: 14px;
        background: var(--red);
        color: #fff;
        display: flex;
        align-items: stretch;
        text-align: left;
        cursor: pointer;
        box-shadow: 0 7px 17px rgba(232, 55, 69, .22);
        transition: transform .16s ease, box-shadow .16s ease;
        user-select: none;
      }
      .coupon-card-blue:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(232, 55, 69, .32); }
      .coupon-code-zone {
        position: relative;
        width: 34px;
        min-width: 34px;
        display: grid;
        place-items: center;
        border-right: 1px dashed rgba(255,255,255,.78);
      }
      .coupon-code-zone::before, .coupon-code-zone::after {
        content: "";
        position: absolute;
        right: -6px;
        width: 11px;
        height: 11px;
        border-radius: 50%;
        background: #fff;
      }
      .coupon-code-zone::before { top: -6px; }
      .coupon-code-zone::after { bottom: -6px; }
      .coupon-code-vertical {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .12em;
        max-height: 52px;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .coupon-dot { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #fff; opacity: .86; left: 10px; }
      .coupon-dot-one { top: 17px; }
      .coupon-dot-two { bottom: 17px; }
      .coupon-main {
        min-width: 0;
        flex: 1;
        padding: 7px 6px 6px 10px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        line-height: 1;
      }
      .coupon-main small { font-size: 7px; font-weight: 700; letter-spacing: .08em; opacity: .92; }
      .coupon-main strong { font-size: 9px; letter-spacing: .02em; margin-top: 3px; }
      .coupon-main b { font-family: "Space Grotesk"; font-size: 18px; line-height: 1; margin-top: 4px; letter-spacing: -.05em; }
      .coupon-main em { font-size: 7px; font-style: normal; opacity: .84; margin-top: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
      .coupon-seal {
        align-self: center;
        width: 30px;
        height: 30px;
        margin: 0 8px 0 2px;
        border: 2px solid rgba(232,55,69,.72);
        border-radius: 50%;
        background: #fff;
        color: var(--red);
        display: grid;
        place-items: center;
        transform: rotate(-12deg);
      }
      .coupon-seal::before { content: ""; position: absolute; width: 25px; height: 25px; border: 1px dotted var(--red); border-radius: 50%; opacity: .8; }
      .coupon-seal-mark { position: relative; font-size: 15px; font-weight: 800; line-height: 1; }
      .coupon-card-blue.coupon-freight { background: var(--red); box-shadow: 0 7px 17px rgba(232, 55, 69, .22); }
      .coupon-card-blue.coupon-free { background: #ef4444; box-shadow: 0 7px 17px rgba(239, 68, 68, .24); }
      .coupon-card-blue.coupon-free .coupon-seal { color: #ef4444; border-color: rgba(239,68,68,.72); }
      .coupon-card-blue.coupon-free .coupon-seal::before { border-color: #ef4444; }
      .coupon-scroll-next {
        width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: #fff; color: var(--ink); border: 1px solid #e8e8e8; box-shadow: 0 3px 10px rgba(28,26,23,.10); font-size: 23px; line-height: 24px; display: grid; place-items: center; padding: 0 0 3px 1px;
      }
      .coupon-scroll-next:hover { color: var(--red); border-color: var(--red); }
      .coupon-scroll-prev { margin-right: 0; }
      .store-coupons-scroller { background: transparent; border: 0; box-shadow: none; }
      .store-coupons-wrap { background: transparent; border: 0; box-shadow: none; }
      .coupon-card-blue { box-shadow: none; }
      .coupon-card-blue:hover { box-shadow: none; }
      .coupon-card-blue.coupon-freight, .coupon-card-blue.coupon-free { box-shadow: none; }
      .coupon-scroll-next { box-shadow: none; }

      .store-tabs-bar {
        position: sticky;
        top: 72px;
        z-index: 12;
        display: flex;
        gap: 22px;
        overflow-x: auto;
        padding: 4px 4px 0;
        margin: 0 0 4px;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid #f1f5f9;
        scrollbar-width: none;
      }
      .store-tabs-bar::-webkit-scrollbar {
        display: none;
      }
      .store-tab-link {
        flex: 0 0 auto;
        background: transparent;
        color: #64748b;
        padding: 6px 2px 8px;
        font-size: 14.5px;
        font-weight: 600;
        border: 0;
        border-bottom: 3px solid transparent;
        cursor: pointer;
        white-space: nowrap;
        transition:
          color 0.15s ease,
          border-color 0.15s ease;
      }
      .store-tab-link:hover {
        color: var(--red);
      }
      .store-tab-link.active {
        color: var(--red);
        font-weight: 700;
        border-bottom-color: var(--red);
      }
      .store-menu-section {
        margin-bottom: 36px;
        scroll-margin-top: 135px;
      }
      .store-section-header {
        margin-bottom: 14px;
      }
      .store-section-kicker {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #94a3b8;
        font-weight: 700;
        display: block;
        margin-bottom: 3px;
      }
      .store-section-title {
        font-family: "Space Grotesk", "DM Sans", sans-serif;
        font-size: 20px;
        font-weight: 700;
        color: #1e293b;
        margin: 0;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .store-title-dash {
        display: inline-block;
        width: 18px;
        height: 3px;
        background: #f97316;
        border-radius: 2px;
      }
      .store-products-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
        gap: 14px;
      }
      .product-card-modern {
        background: #fff;
        border: 1px solid #f1f5f9;
        border-radius: 14px;
        padding: 10px 12px;
        display: flex;
        align-items: center;
        gap: 12px;
        cursor: pointer;
        transition:
          transform 0.16s ease,
          box-shadow 0.16s ease,
          border-color 0.16s ease;
        position: relative;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
        text-align: left;
      }
      .product-card-modern:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
        border-color: #e2e8f0;
      }
      .product-card-modern.is-unavailable {
        opacity: 0.52;
        cursor: not-allowed;
      }
      .product-card-modern .product-media-wrap {
        width: 86px;
        height: 78px;
        border-radius: 10px;
        overflow: hidden;
        position: relative;
        flex-shrink: 0;
        background: #f8fafc;
      }
      .product-card-modern .product-media-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
      .product-card-modern .product-promo-badge {
        position: absolute;
        top: 4px;
        left: 4px;
        background: #ea580c;
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        padding: 2px 5px;
        border-radius: 4px;
        line-height: 1.1;
        letter-spacing: 0.02em;
      }
      .product-card-modern .product-info-wrap {
        flex: 1;
        min-width: 0;
      }
      .product-card-modern .product-name-modern {
        font-size: 14px;
        font-weight: 700;
        color: #1e293b;
        margin: 0 0 4px;
        line-height: 1.3;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
      }
      .product-card-modern .product-desc-modern {
        font-size: 12px;
        color: #64748b;
        margin: 0 0 6px;
        line-height: 1.35;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
      }
      .product-card-modern .product-price-modern {
        display: flex;
        align-items: baseline;
        gap: 6px;
      }
      .product-card-modern .product-price-modern del {
        font-size: 12px;
        color: #94a3b8;
        font-weight: 500;
      }
      .product-card-modern .product-price-modern strong {
        font-size: 14.5px;
        color: #1e293b;
        font-weight: 800;
      }
      .floating-cart-btn {
        position: fixed;
        bottom: 24px;
        right: 24px;
        z-index: 99;
        width: min(340px, calc(100vw - 32px));
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 0;
        display: block;
        box-shadow: var(--shadow);
        cursor: pointer;
        overflow: hidden;
        text-align: left;
        transition:
          transform 0.18s ease,
          box-shadow 0.18s ease,
          opacity 0.2s ease;
        user-select: none;
      }
      .floating-cart-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 16px 40px rgba(28, 26, 23, 0.12);
      }
      .floating-cart-btn:active {
        transform: scale(0.98);
      }
      .floating-cart-btn.hidden {
        display: none !important;
      }
      .floating-cart-head {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 16px;
      }
      .floating-cart-avatar {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        object-fit: cover;
        border: 1px solid var(--line);
        flex-shrink: 0;
        background: var(--soft);
      }
      .floating-cart-info {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
      }
      .floating-cart-store {
        font-weight: 700;
        font-size: 15px;
        color: var(--ink);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .floating-cart-meta {
        font-size: 13px;
        color: var(--muted);
        display: flex;
        align-items: center;
        gap: 6px;
        white-space: nowrap;
      }
      .floating-cart-meta strong {
        color: var(--red);
        font-weight: 800;
      }
      .floating-cart-action {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        background: var(--red);
        color: #fff;
        padding: 13px 16px;
        font-size: 14.5px;
        font-weight: 700;
        transition: background 0.18s ease;
      }
      .floating-cart-btn:hover .floating-cart-action {
        background: var(--red-dark);
      }
      .floating-cart-badge {
        background: #fff;
        color: var(--red);
        border-radius: 50%;
        width: 20px;
        height: 20px;
        display: grid;
        place-items: center;
        font-size: 11.5px;
        font-weight: 800;
        line-height: 1;
        flex-shrink: 0;
      }
      .floating-cart-icon {
        width: 19px;
        height: 19px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        flex-shrink: 0;
      }
      .floating-cart-text {
        white-space: nowrap;
      }

      @media all {
        .store-hero-rating-col {
          width: 100%;
          margin: 8px 0 0;
        }
        .store-hero-card {
          flex-direction: column;
          align-items: flex-start;
          gap: 14px;
        }
        .store-hero-avatar-wrap {
          width: 112px;
          height: 112px;
        }
        .store-products-grid {
          grid-template-columns: 1fr;
        }
        .floating-cart-btn {
          bottom: 14px;
          right: 14px;
          left: 14px;
          width: auto;
        }
      }
      /* Layout público da loja: produtos lado a lado e carrinho somente no botão fixo. */
      .shop-view .shop-layout {
        display: block;
      }
      .shop-view .shop-layout > div:first-child {
        width: 100%;
      }
      .shop-view .shop-layout .products {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
      }
      .shop-view .shop-layout .product {
        min-height: 150px;
        padding: 14px 16px;
        border: 1px solid #eceff2;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 2px 7px rgba(28, 26, 23, 0.025);
      }
      .shop-view .shop-layout .product-hit {
        flex-direction: row-reverse;
        align-items: center;
        gap: 14px;
      }
      .shop-view .shop-layout .product-hit img {
        width: 120px;
        height: 120px;
        border-radius: 12px;
      }
      .shop-view .shop-layout .product-copy {
        min-width: 0;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 2px 0;
      }
      .shop-view .shop-layout .product-copy h4 {
        margin-bottom: 7px;
        line-height: 1.28;
      }
      .shop-view .shop-layout .product-copy p {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-bottom: 8px;
      }
      .shop-view .shop-layout .add-btn {
        width: 34px;
        height: 34px;
        margin-left: 2px;
      }
      @media all {
        .shop-view .shop-layout .products {
          grid-template-columns: 1fr;
        }
      }

      .promotions-page {
        padding-top: 28px;
        padding-bottom: 110px;
      }
      .promotions-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        margin: 10px 0 18px;
      }
      .promotions-heading h1 {
        font-family: "Space Grotesk";
        font-size: 30px;
        letter-spacing: -0.055em;
        margin: 0 0 5px;
      }
      .promotions-heading p:not(.eyebrow) {
        color: var(--muted);
        margin: 0;
        font-size: 14px;
      }
      .promotions-banner {
        min-height: 235px;
        border-radius: 18px;
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        padding: 28px 34px;
        color: #fff;
        overflow: hidden;
        box-shadow: 0 14px 28px rgba(28, 26, 23, 0.12);
      }
      .promotions-banner span {
        font-size: 12px;
        letter-spacing: .14em;
        font-weight: 800;
      }
      .promotions-banner h2 {
        font-family: "Space Grotesk";
        font-size: clamp(27px, 4vw, 44px);
        line-height: 1.02;
        letter-spacing: -.055em;
        margin: 10px 0;
      }
      .promotions-banner p { margin: 0; font-size: 15px; }
      .promotions-toolbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 28px 0 14px;
      }
      .promotions-toolbar h2 {
        font-family: "Space Grotesk";
        font-size: 21px;
        margin: 0;
        letter-spacing: -.04em;
      }
      .promotions-toolbar span { color: var(--muted); font-size: 13px; }
      .promotions-products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
      }
      .promotions-products .product {
        display: block;
        position: relative;
        padding: 0;
        min-height: 0;
        overflow: hidden;
        border: 1px solid #e9edf0;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(28, 26, 23, .035);
      }
      .promotions-products .product-hit {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
      }
      .promotions-products .product-hit img {
        width: 100%;
        height: 174px;
        border-radius: 0;
        object-fit: cover;
      }
      .promotions-products .offer-badges {
        position: absolute;
        top: 8px;
        left: 8px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        gap: 4px;
        max-width: calc(100% - 16px);
      }
      .promotions-products .offer-badges .status {
        margin: 0;
        box-shadow: 0 1px 4px rgba(0,0,0,.16);
      }
      .promotions-products .product-copy {
        padding: 12px 12px 15px;
        min-height: 126px;
      }
      .promotions-products .product-copy h4 {
        font-size: 14px;
        line-height: 1.28;
        margin: 0 0 7px;
      }
      .promotions-products .product-copy p {
        font-size: 12px;
        line-height: 1.3;
        margin: 0 0 11px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
      }
      .promotions-products .status.coupon { background: #ffe1e5; color: #b4232f; margin-left: 4px; vertical-align: middle; }

      .promotions-products .price,
      .promotions-products .promo-price { color: var(--red); font-weight: 800; }
      .promotions-products .price del { color: #a1a1a1; font-size: 11px; margin-left: 4px; }
      .promotions-products .add-btn {
        position: absolute;
        right: 10px;
        bottom: 12px;
        z-index: 5;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        width: 34px;
        height: 34px;
        background: #fff;
        display: grid;
        place-items: center;
      }
      .promotions-products .add-btn:hover {
        opacity: 1 !important;
        visibility: visible !important;
        display: grid;
        place-items: center;
        color: #fff !important;
        background: var(--red) !important;
      }
      .promotions-products .add-btn svg { display: none !important; }
      .promotions-products .add-btn::before,
      .promotions-products .add-btn::after {
        content: "";
        position: absolute;
        width: 14px;
        height: 2px;
        border-radius: 2px;
        background: var(--red);
        pointer-events: none;
      }
      .promotions-products .add-btn::after { transform: rotate(90deg); }
      .promotions-products .add-btn:hover::before,
      .promotions-products .add-btn:hover::after,
      .promotions-products .add-btn:focus-visible::before,
      .promotions-products .add-btn:focus-visible::after { background: #fff; }
      @media all { .promotions-products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
      @media all {
        .promotions-products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
        .promotions-banner { min-height: 190px; padding: 22px; }
        .promotions-products .product-hit img { height: 145px; }
      }

      .profile-section-title { font-family: "Space Grotesk"; font-size: 17px; font-weight: 700; letter-spacing: -.03em; margin: 6px 0 0; }
      .favorite-addresses-section { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
      .favorite-address-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; margin: 10px 0; background: #fff; }
      .favorite-address-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
      .favorite-address-copy strong { font-size: 14px; }
      .favorite-address-copy span { font-size: 13px; color: var(--muted); }
      .favorite-address-actions { display: flex; gap: 6px; flex-shrink: 0; }
      .favorite-address-actions .small-outline { padding: 7px 9px; font-size: 12px; }
      /* ===== Perfil estilo app (menu) ===== */
      .profile-page { padding: 0; }
      .profile-hero { display: flex; align-items: center; gap: 12px; padding: 0 2px 12px; }
      .profile-hero img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; border: 2px solid var(--line); cursor: pointer; }
      .profile-hero-copy { min-width: 0; }
      .profile-hero-copy strong { display: block; font-family: "Space Grotesk"; font-size: 17px; letter-spacing: 0; }
      .profile-hero-copy span { display: block; font-size: 12px; color: var(--muted); margin-top: 1px; word-break: break-all; }
      .profile-hero-copy small { display: inline-block; margin-top: 3px; font-size: 11px; color: var(--muted); font-weight: 500; }
      .profile-points { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
      .profile-points-badge { width: 22px; height: 22px; display: grid; place-items: center; color: var(--ink); }
      .profile-points-badge svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.8; }
      .profile-points-copy { flex: 1; min-width: 0; line-height: 1.15; }
      .profile-points-copy span { display: block; font-size: 10px; color: var(--muted); }
      .profile-points-copy strong { display: block; font-family: "Space Grotesk"; font-size: 16px; letter-spacing: 0; }
      .profile-menu { display: flex; flex-direction: column; margin-top: 7px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
      .profile-menu-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; background: #fff; color: var(--ink); text-align: left; border-bottom: 1px solid var(--line); transition: background .18s var(--ease); }
      .profile-menu-item:last-child { border-bottom: 0; }
      .profile-menu-item:hover { background: var(--soft); }
      .profile-menu-item svg { width: 19px; height: 19px; flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
      .profile-menu-copy { flex: 1; min-width: 0; }
      .profile-menu-copy strong { display: block; font-size: 13px; font-weight: 600; }
      .profile-menu-copy span { display: block; font-size: 11px; color: var(--muted); margin-top: 0; }
      .profile-menu-arrow { color: var(--ink); font-size: 17px; }
      .profile-group-title { font-family: "Space Grotesk"; font-size: 13px; font-weight: 700; letter-spacing: 0; color: var(--muted); margin: 12px 2px 5px; }
      .profile-logout { margin-top: 9px; width: 100%; min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font-size: 13px; font-weight: 600; }
      .profile-logout svg { width: 19px; height: 19px; flex: 0 0 19px; stroke: currentColor; fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
      .profile-logout:hover { background: var(--soft); }
      .profile-logout:disabled { opacity: .55; cursor: wait; }
      .drawer.profile-drawer { overflow-y: auto; -webkit-overflow-scrolling: touch; }
      @media all {
        .drawer.profile-drawer { height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border-radius: 0; padding: 18px 18px calc(28px + env(safe-area-inset-bottom, 0px)); overflow-y: auto; -webkit-overflow-scrolling: touch; }
        .profile-drawer .drawer-head { margin-bottom: 10px; }
      }
      .profile-back { display: inline-flex; align-items: center; gap: 6px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; padding: 0 0 10px; }
      .profile-order-card { border: 1px solid var(--line); border-radius: 14px; padding: 13px 14px; margin: 10px 0; background: #fff; }
      .profile-order-card .row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
      .profile-order-card strong { font-size: 15px; }
      .profile-order-card .status { font-size: 12px; font-weight: 600; color: var(--red); }
      .profile-order-card .meta { font-size: 12.5px; color: var(--muted); margin-top: 4px; }

      .category-icon {
        width: 74%;
        height: 74%;
        object-fit: contain;
        display: block;
        margin: auto;
        pointer-events: none;
      }
      /* ======= ÁREA DO VENDEDOR — NOVA ARQUITETURA ======= */
      .sv-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        margin-bottom: 18px;
      }
      .sv-head-left {
        display: flex;
        align-items: center;
        gap: 14px;
      }
      .sv-head-left img {
        width: 46px;
        height: 46px;
        border-radius: 12px;
        object-fit: cover;
        border: 1px solid #e8e8e8;
      }
      .sv-hello {
        font-family: "Space Grotesk", sans-serif;
        font-size: 22px;
        margin: 0;
        line-height: 1.2;
      }
      .sv-hello small {
        display: block;
        font-family: inherit;
        font-size: 13px;
        color: var(--muted);
        font-weight: 500;
        margin-top: 2px;
      }
      .sv-status {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: 1px solid #e8e8e8;
        background: #fff;
        border-radius: 999px;
        padding: 8px 14px;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        color: var(--ink);
      }
      .sv-status:hover {
        border-color: #d5d5d5;
      }
      .sv-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #22a45d;
        box-shadow: 0 0 0 3px rgba(34, 164, 93, 0.16);
      }
      .sv-dot.paused {
        background: #e8a33d;
        box-shadow: 0 0 0 3px rgba(232, 163, 61, 0.16);
      }
      .sv-dot.closed {
        background: #c9c9c9;
        box-shadow: 0 0 0 3px rgba(160, 160, 160, 0.16);
      }
      .sv-nav {
        display: flex;
        gap: 4px;
        border-bottom: 1px solid #e8e8e8;
        margin-bottom: 20px;
        overflow-x: auto;
        scrollbar-width: none;
      }
      .sv-nav::-webkit-scrollbar {
        display: none;
      }
      .sv-nav button {
        border: 0;
        background: none;
        padding: 12px 14px;
        font: inherit;
        font-size: 14px;
        font-weight: 600;
        color: var(--muted);
        cursor: pointer;
        border-bottom: 2px solid transparent;
        white-space: nowrap;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        border-radius: 8px 8px 0 0;
      }
      .sv-nav button:hover {
        color: var(--ink);
        background: #fafafa;
      }
      .sv-nav button.active {
        color: var(--red);
        border-bottom-color: var(--red);
      }
      .sv-count {
        background: var(--red);
        color: #fff;
        font-size: 11px;
        min-width: 18px;
        height: 18px;
        border-radius: 999px;
        display: inline-grid;
        place-items: center;
        padding: 0 5px;
        font-weight: 700;
      }
      .sv-sub {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 16px;
      }
      .sv-sub button {
        border: 1px solid #e8e8e8;
        background: #fff;
        border-radius: 999px;
        padding: 7px 14px;
        font: inherit;
        font-size: 13px;
        font-weight: 600;
        color: var(--muted);
        cursor: pointer;
      }
      .sv-sub button.active {
        background: var(--ink);
        border-color: var(--ink);
        color: #fff;
      }
      .sv-cards {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin-bottom: 22px;
      }
      .sv-card {
        border: 1px solid #e8e8e8;
        border-radius: 12px;
        background: #fff;
        padding: 16px;
      }
      .sv-card small {
        display: block;
        color: var(--muted);
        font-size: 13px;
        font-weight: 600;
      }
      .sv-card strong {
        display: block;
        font-family: "Space Grotesk", sans-serif;
        font-size: 24px;
        margin-top: 6px;
        line-height: 1.1;
      }
      .sv-card.good strong {
        color: #1f8a4c;
      }
      .sv-card.warn strong {
        color: #b4762a;
      }
      .sv-section-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 0 0 12px;
      }
      .sv-section-title h2 {
        font-family: "Space Grotesk", sans-serif;
        font-size: 17px;
        margin: 0;
        letter-spacing: 0.02em;
        text-transform: uppercase;
      }
      .sv-order {
        border: 1px solid #e8e8e8;
        border-radius: 12px;
        background: #fff;
        padding: 14px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 10px;
      }
      .sv-order-main strong {
        font-size: 15px;
        display: block;
      }
      .sv-order-main small {
        display: block;
        color: var(--muted);
        font-size: 13px;
        margin-top: 3px;
      }
      .sv-order-right {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
      }
      .sv-price {
        font-family: "Space Grotesk", sans-serif;
        font-size: 17px;
        font-weight: 700;
      }
      .sv-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        font-weight: 700;
        border-radius: 999px;
        padding: 5px 11px;
        border: 1px solid transparent;
      }
      .sv-pill.blue {
        background: #eaf2ff;
        color: #1f5fbf;
      }
      .sv-pill.yellow {
        background: #fff5e2;
        color: #96651b;
      }
      .sv-pill.green {
        background: #e9f7ef;
        color: #1f8a4c;
      }
      .sv-pill.gray {
        background: #f3f3f3;
        color: #6b6b6b;
      }
      .sv-pill.red {
        background: var(--pink);
        color: var(--red);
      }
      .sv-alert {
        border: 1px solid #f2d7a8;
        background: #fffaf0;
        border-radius: 12px;
        padding: 14px 16px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        flex-wrap: wrap;
        margin-bottom: 10px;
      }
      .sv-kanban {
        display: grid;
        grid-template-columns: repeat(5, minmax(190px, 1fr));
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 8px;
      }
      .sv-col {
        background: #fafafa;
        border: 1px solid #ededed;
        border-radius: 12px;
        padding: 12px;
        min-width: 190px;
      }
      .sv-col h3 {
        font-size: 12px;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        margin: 0 0 10px;
        color: var(--muted);
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      .sv-col h3 span {
        background: #fff;
        border: 1px solid #e8e8e8;
        border-radius: 999px;
        padding: 1px 8px;
        font-size: 11px;
        color: var(--ink);
      }
      .sv-kcard {
        background: #fff;
        border: 1px solid #e8e8e8;
        border-radius: 10px;
        padding: 11px;
        margin-bottom: 9px;
      }
      .sv-kcard b {
        font-size: 13px;
        display: block;
      }
      .sv-kcard small {
        display: block;
        color: var(--muted);
        font-size: 12px;
        margin-top: 2px;
        line-height: 1.4;
      }
      .sv-kcard .sv-kprice {
        font-family: "Space Grotesk", sans-serif;
        font-weight: 700;
        margin: 7px 0;
        display: block;
      }
      .sv-kcard button,
      .sv-kcard select {
        width: 100%;
        font-size: 12px;
      }
      .sv-empty {
        color: var(--muted);
        font-size: 13px;
        text-align: center;
        padding: 14px 4px;
      }
      .sv-list {
        border: 1px solid #e8e8e8;
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
      }
      .sv-row {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 13px 16px;
        border-bottom: 1px solid #f0f0f0;
      }
      .sv-row:last-child {
        border-bottom: 0;
      }
      .sv-row img {
        width: 46px;
        height: 46px;
        border-radius: 10px;
        object-fit: cover;
        flex-shrink: 0;
      }
      .sv-row .sv-grow {
        flex: 1;
        min-width: 140px;
      }
      .sv-row strong {
        display: block;
        font-size: 15px;
      }
      .sv-row small {
        display: block;
        color: var(--muted);
        font-size: 13px;
        margin-top: 2px;
      }
      .sv-row-actions {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
      }
      .sv-fin {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 12px;
        margin-bottom: 18px;
      }
      .sv-fin .sv-card.hero {
        background: #0f1115;
        border-color: #0f1115;
      }
      .sv-fin .sv-card.hero small {
        color: #b9bcc4;
      }
      .sv-fin .sv-card.hero strong {
        color: #fff;
        font-size: 30px;
      }
      .sv-fin .sv-card.hero button {
        margin-top: 12px;
      }
      @media all {
        .sv-cards,
        .sv-fin {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      @media all {
        .sv-cards,
        .sv-fin {
          grid-template-columns: 1fr;
        }
        .sv-head {
          align-items: flex-start;
        }
      }
    
      /* Isolamento das versões: o código original permanece abaixo sem remoção. */
      body[data-app-variant="seller"] [data-nav]:not([data-nav="lojista"]),
      body[data-app-variant="seller"] .search,
      body[data-app-variant="seller"] .cart-cluster,
      body[data-app-variant="seller"] .address,
      body[data-app-variant="seller"] #headerDepositBtn,
      body[data-app-variant="seller"] #notificationBtn,
      body[data-app-variant="seller"] #profileBtn { display: none !important; }
      body[data-app-variant="seller"] #main { min-height: calc(100vh - 72px); }
      body[data-app-variant="seller"] #toggleAuth,
      body[data-app-variant="seller"] .auth-switch,
      body[data-app-variant="seller"] [data-nav="lojista"],
      body[data-app-variant="seller"] .site-footer { display: none !important; }
      .seller-access-gate { width: min(520px, calc(100% - 44px)); margin: 80px auto; padding: 34px; border: 1px solid #eee; border-radius: 18px; box-shadow: var(--shadow); text-align: center; background: #fff; }
      .seller-access-gate h1 { font-family: "Space Grotesk"; margin: 0 0 10px; letter-spacing: -0.04em; }
      .seller-access-gate p { color: var(--muted); margin: 0 0 24px; }
      .courier-access-gate { width: min(520px, calc(100% - 44px)); margin: 80px auto; padding: 34px; border: 1px solid #eee; border-radius: 18px; box-shadow: var(--shadow); text-align: center; background: #fff; }
      .role-note { margin: 0 0 14px; color: var(--muted); font-size: 13px; line-height: 1.5; }

      /* =========================================================
         MOBILE-FIRST / ESTÉTICA MINIMALISTA (estilo iFood, Android)
         Camada aditiva: não remove nenhuma função, só otimiza.
         ========================================================= */

      :root { --header-h: 72px; --bottomnav-h: 60px; }

      /* Toques mais responsivos e sem realce azul no Android */
      * { -webkit-tap-highlight-color: transparent; }
      button, a, .store-card, .category, .filter { touch-action: manipulation; }

      /* --- Minimalismo: remove brilhos, halos e gradientes decorativos --- */
      .order-step.current .dotmark {
        box-shadow: none;
      }
      .store-card.has-offer {
        background: #fff;
      }
      .store-card.has-offer:hover {
        box-shadow: var(--shadow);
      }
      .floating-cart-btn:hover {
        transform: none;
        box-shadow: var(--shadow);
      }
      .photo-viewer img { box-shadow: none; }

      /* ================= BARRA DE NAVEGAÇÃO INFERIOR ================= */
      .bottom-nav { display: none; }
      @media all {
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          position: fixed;
          left: 0;
          right: 0;
          bottom: 0;
          z-index: 60;
          background: #fff;
          border-top: 1px solid var(--line);
          padding-bottom: env(safe-area-inset-bottom, 0px);
        }
      }
      .bottom-nav button {
        background: transparent;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 8px 0 9px;
        color: #9a9a9e;
        font-size: 10.5px;
        font-weight: 600;
        letter-spacing: 0.01em;
        min-height: var(--bottomnav-h);
      }
      .bottom-nav button svg {
        width: 23px;
        height: 23px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .bottom-nav button.active { color: var(--red); }

      /* ============================ MOBILE ============================ */
      @media all {
        html, body { -webkit-text-size-adjust: 100%; }

        /* Larguras / respiro geral */
        .container { width: calc(100% - 28px); }
        .topbar-inner { width: calc(100% - 28px); }

        /* -------- HEADER COMPACTO EM 2 LINHAS -------- */
        .topbar {
          height: auto;
          padding: 8px 0 10px;
        }
        .topbar-inner {
          flex-wrap: wrap;
          gap: 10px 12px;
          align-items: center;
        }
        .topbar-left {
          gap: 10px;
          flex: 1 1 auto;
          min-width: 0;
          order: 1;
        }
        .brand {
          flex-shrink: 0;
        }
        .brand img {
          width: 150px;
          height: 46px;
          object-fit: contain;
          object-position: left center;
          transform: none;
        }
        .topbar-right {
          order: 2;
          gap: 4px;
        }
        /* Endereço vira pill discreto */
        .address {
          max-width: 150px;
          font-size: 12px;
          padding: 6px 8px;
          background: #f7f7f7;
          border-radius: 999px;
        }
        /* Nav em texto vira linha de pílulas roláveis (mantém as funções) */
        .nav {
          order: 4;
          flex: 1 1 100%;
          gap: 8px;
          overflow-x: auto;
          padding-bottom: 2px;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: none;
        }
        .nav::-webkit-scrollbar { display: none; }
        .nav button {
          padding: 7px 14px;
          background: #f6f6f6;
          border-radius: 999px;
          font-size: 13px;
          white-space: nowrap;
          font-weight: 600;
        }
        .nav button.active { background: #fff1f2; }
        /* Busca ocupa a linha inteira, estilo iFood */
        .search {
          order: 5;
          flex: 1 1 100%;
          max-width: none;
          height: 46px;
          background: #f4f4f4;
          border-radius: 12px;
        }
        .search input { font-size: 16px; }

        /* Barra de categorias fixa da loja acompanha o header dinâmico */
        .menu-category-bar { top: var(--header-h, 72px) !important; }

        /* -------- HERO / TIPOGRAFIA -------- */
        .hero { padding: 20px 0 16px; }
        .hero h1 { font-size: 22px; margin-bottom: 16px; }
        .section-head { margin: 22px 0 12px; }
        .section-head h2 { font-size: 18px; }

        /* -------- CATEGORIAS (menu rolável estilo iFood) -------- */
        .categories {
          display: flex;
          flex-wrap: nowrap;
          gap: 14px;
          padding: 4px 2px 14px;
          overflow-x: auto;
          overflow-y: hidden;
          -webkit-overflow-scrolling: touch;
          scrollbar-width: none;
        }
        .categories::-webkit-scrollbar { display: none; }
        .category {
          flex: 0 0 auto;
          width: 72px;
          min-width: 72px;
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 6px;
          font-size: 12px;
          line-height: 1.25;
          background: transparent;
          padding: 0;
        }
        .category .cat-img {
          width: 60px;
          height: 60px;
          border-radius: 16px;
          margin: 0;
          flex-shrink: 0;
        }
        .category:hover .cat-img,
        .category.selected .cat-img {
          transform: none;
          box-shadow: none;
        }
        .category.selected .cat-img {
          outline: 2px solid var(--red);
          outline-offset: 2px;
        }
        .category span {
          display: block;
          width: 100%;
          text-align: center;
          white-space: normal;
          word-break: break-word;
          hyphens: auto;
        }
        .category.selected span { color: var(--red) !important; }
        .category-icon { width: 82%; height: 82%; }

        /* -------- CARDS DE LOJA (1 coluna, flat) -------- */
        .stores { grid-template-columns: 1fr; gap: 10px; }
        .store-card {
          padding: 12px;
          border-radius: 14px;
          box-shadow: none;
        }
        .store-card:hover { transform: none; box-shadow: none; }
        .store-cover { width: 76px; flex: 0 0 76px; height: auto; align-self: stretch; }
        .store-copy h3 { font-size: 15.5px; margin-bottom: 5px; }
        .store-meta { font-size: 12.5px; }

        /* -------- PRODUTOS DA LOJA -------- */
        .shop-view { padding: 12px 0 96px; }
        .shop-view .shop-layout .products { grid-template-columns: 1fr; gap: 10px; }
        .shop-view .shop-layout .product {
          min-height: 0;
          box-shadow: none;
        }
        .shop-view .shop-layout .product-hit img { width: 92px; height: 92px; }
        .product-hit img { width: 88px; height: 74px; }

        /* -------- BOTTOM SHEETS estilo app (drawers deslizam de baixo) -------- */
        .overlay { align-items: flex-end; justify-content: center; }
        .drawer {
          width: 100%;
          max-width: 100%;
          height: auto;
          max-height: 92vh;
          border-radius: 0;
          padding: 20px 18px calc(24px + env(safe-area-inset-bottom, 0px));
          box-shadow: 0 -8px 30px rgba(0,0,0,0.14);
          animation: sheetUp 0.26s var(--ease);
        }
        .overlay.box { align-items: flex-end; padding: 0; }
        .overlay.box .drawer {
          width: 100%;
          max-width: 100%;
          border-radius: 0;
          box-shadow: 0 -8px 30px rgba(0,0,0,0.14);
        }
        .drawer-head h2 { font-size: 19px; }
        /* “pegador” visual do bottom sheet */
        .drawer-head::before {
          content: "";
          position: absolute;
          top: 8px;
          left: 50%;
          transform: translateX(-50%);
          width: 38px;
          height: 4px;
          border-radius: 999px;
          background: #e2e2e2;
        }
        .drawer-head { position: relative; padding-top: 14px; }

        /* Padronização: fontes e espaçamentos iguais em todas as janelas */
        .drawer .form-grid { gap: 14px; }
        .drawer .field label { font-size: 13px; font-weight: 700; margin-bottom: 6px; }
        .drawer .field input,
        .drawer .field select,
        .drawer .field textarea { font-size: 15px !important; padding: 11px 13px; border-radius: 8px; }
        .drawer .field-help,
        .drawer .upload-note { font-size: 12.5px; margin-top: 5px; }
        .drawer .profile-back { font-size: 13px; padding-bottom: 8px; }
        .drawer-head { margin-bottom: 16px; }

        @keyframes sheetUp {
          from { transform: translateY(28px); opacity: 0.6; }
          to { transform: none; opacity: 1; }
        }

        /* Lightbox de produto em tela cheia */
        .overlay.lightbox { align-items: stretch; }
        .product-lightbox { width: 100%; box-shadow: none; }
        .product-lightbox-photo { min-height: 44vh; }
        .product-lightbox-body { padding: 18px 18px 40px; }
        .product-lightbox-body h2 { font-size: 22px; }

        /* -------- CARRINHO FLUTUANTE acima da bottom nav -------- */
        body[data-app-variant="customer"]:not(.is-seller) .floating-cart-btn {
          bottom: calc(var(--bottomnav-h) + 12px + env(safe-area-inset-bottom, 0px));
          left: 14px;
          right: 14px;
          width: auto;
          border-radius: 14px;
          box-shadow: 0 6px 20px rgba(28,26,23,0.14);
        }

        /* Espaço para não ficar atrás da bottom nav */
        body[data-app-variant="customer"]:not(.is-seller) #main {
          padding-bottom: calc(var(--bottomnav-h) + env(safe-area-inset-bottom, 0px));
        }
        body[data-app-variant="customer"]:not(.is-seller) .footer {
          margin-bottom: calc(var(--bottomnav-h) + env(safe-area-inset-bottom, 0px));
        }

        /* -------- FOOTER em coluna -------- */
        .site-footer-grid { grid-template-columns: 1fr; gap: 20px; }
        .footer-bottom { flex-direction: column; gap: 6px; text-align: center; }

        /* Formulários confortáveis no toque (evita zoom no iOS/Android) */
        .drawer input,
        .drawer select,
        .drawer textarea,
        input[type="text"],
        input[type="tel"],
        input[type="number"],
        input[type="email"],
        input[type="password"] { font-size: 16px !important; }
      }

      /* Telas bem estreitas */
      @media (max-width: 380px) {
        .category { min-width: 60px; }
        .category .cat-img { width: 58px; height: 58px; }
        .nav button { padding: 7px 11px; font-size: 12.5px; }
        .bottom-nav button { font-size: 10px; }
      }

      /* ================= POLIMENTO MOBILE ================= */
      @media all {
        :root {
          --mobile-gutter: 14px;
          --bottomnav-h: 64px;
        }
        body {
          background: #fff;
          font-size: 14px;
          overflow-x: hidden;
        }
        .topbar {
          box-shadow: 0 1px 0 rgba(30, 30, 30, 0.04);
        }
        .topbar-inner,
        .container {
          width: calc(100% - (var(--mobile-gutter) * 2));
        }
        .topbar-inner {
          gap: 8px 10px;
        }
        .topbar-left {
          gap: 8px;
        }
        .brand img {
          width: 92px;
          height: 32px;
        }
        .address {
          max-width: 132px;
          padding: 5px 8px;
          background: #f7f7f7;
          color: #4e4e4e;
        }
        .address svg { width: 14px; height: 14px; }
        .topbar-right { gap: 1px; }
        .header-icon svg { width: 18px; height: 18px; }
        .cart-cluster { padding-left: 8px; gap: 4px; }
        .cart-copy { font-size: 9px; }
        .cart-copy strong { font-size: 11px; }
        .search {
          height: 40px;
          border-radius: 9px;
          padding-inline: 11px;
          border: 1px solid #f0f0f0;
        }
        .search input { font-size: 14px; }
        .nav { display: none; }
        .hero { padding: 14px 0 10px; }
        .eyebrow { font-size: 10px; margin-bottom: 5px; letter-spacing: .1em; }
        .hero h1 {
          max-width: 320px;
          font-size: 17px;
          line-height: 1.22;
          letter-spacing: -.035em;
          margin-bottom: 13px;
        }
        .categories {
          gap: 12px;
          margin-inline: calc(var(--mobile-gutter) * -1);
          padding: 2px var(--mobile-gutter) 11px;
        }
        .category { width: 58px; min-width: 58px; font-size: 10px; gap: 5px; }
        .category .cat-img { width: 50px; height: 50px; border-radius: 12px; }
        .filters { padding: 8px 0 13px; gap: 7px; }
        .filter { height: 29px; padding: 0 11px; font-size: 11px; }
        .section-head { margin: 17px 0 9px; align-items: center; }
        .section-head h2 { font-size: 16px; }
        .section-head p { font-size: 11px; }
        .stores { gap: 8px; }
        .store-card {
          min-height: 76px;
          gap: 10px;
          padding: 9px;
          border-color: #eeeeee;
          border-radius: 10px;
        }
        .store-cover { width: 64px; flex: 0 0 64px; height: auto; align-self: stretch; border-radius: 10px; }
        .store-copy { min-width: 0; }
        .store-copy h3 { font-size: 13px; margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .store-meta { gap: 4px; font-size: 11px; }
        .store-open { padding: 5px 7px; font-size: 10px; }
        .store-badges { gap: 4px; margin-top: 5px; }
        .store-badge { padding: 4px 6px; font-size: 9px; }
        .bottom-nav {
          height: calc(var(--bottomnav-h) + env(safe-area-inset-bottom, 0px));
          box-shadow: 0 -4px 16px rgba(30, 30, 30, .06);
        }
        .bottom-nav button { min-height: var(--bottomnav-h); padding: 6px 0 5px; font-size: 9px; }
        .bottom-nav button svg { width: 20px; height: 20px; }
        .floating-cart-btn { font-size: 12px; }
        .footer { display: none; }
      }
      @media (max-width: 380px) {
        .brand img { width: 82px; }
        .address { max-width: 116px; }
        .category { width: 54px; min-width: 54px; }
        .category .cat-img { width: 47px; height: 47px; }
      }

      /* ================= CABEÇALHO MOBILE FINAL ================= */
      @media all {
        .topbar {
          position: static;
          top: auto;
          z-index: auto;
          padding: 8px 0 12px;
        }
        .topbar-inner {
          display: flex;
          flex-wrap: wrap;
          gap: 9px 10px;
        }
        .topbar-left { display: contents; }
        .brand { display: none; }
        .topbar-right {
          order: 1;
          width: 100%;
          margin: 0;
          justify-content: flex-start;
        }
        .topbar-right > :not(.address) { display: none; }
        .address {
          width: 100%;
          max-width: none;
          justify-content: flex-start;
          padding: 5px 2px;
          background: transparent;
          border-radius: 0;
          font-size: 12px;
          color: #555;
        }
        .address strong {
          overflow: hidden;
          text-overflow: ellipsis;
        }
        .nav {
          order: 2;
          width: 100%;
          flex: 1 1 100%;
          padding: 0 0 1px;
          gap: 8px;
        }
        .nav button {
          padding: 7px 13px;
          background: #f6f6f6;
          font-size: 12px;
        }
        .search {
          order: 3;
          width: 100%;
          flex: 1 1 100%;
          height: 42px;
          border-radius: 10px;
        }
        .search input { font-size: 14px; }
        .menu-category-bar,
        .store-tabs-bar {
          position: static !important;
          top: auto !important;
        }
        .hero { padding-top: 14px; }

        /* Apenas localização no topo; remove os atalhos de navegação */
        .nav { display: none !important; }
        .topbar {
          position: static !important;
          padding: 10px 0 12px;
        }
        .topbar-inner { gap: 8px; }
        .topbar-right {
          order: 1;
          width: 100%;
          margin: 0;
        }
        .topbar-right > :not(.address) { display: none !important; }
        .address {
          display: flex !important;
          width: 100%;
          max-width: none;
          padding: 0;
          background: transparent;
          border-radius: 0;
          font-size: 12px;
        }
        .search {
          order: 2;
          width: 100%;
          flex-basis: 100%;
          height: 42px;
          margin-top: 2px;
        }

        /* Cards de produtos: largura estável e conteúdo sem cortes */
        .promotions-products {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          align-items: stretch;
        }
        .promotions-products .product { min-width: 0; }
        .promotions-products .product-hit img {
          width: 100%;
          height: 145px;
          object-fit: cover;
        }
        .promotions-products .product-copy {
          min-height: 132px;
          padding: 11px 10px 14px;
        }
        .promotions-products .product-copy h4 {
          font-size: 14px;
          overflow-wrap: anywhere;
        }
        .promotions-products .product-copy p { max-width: 100%; }
        .promotions-products .add-btn { right: 8px; bottom: 10px; }

        /* Perfil da loja mais compacto */
        .store-view,
        .store-profile,
        .store-page-header { padding-top: 0 !important; }
        .store-menu-section { margin-bottom: 22px; }
        .store-section-header { margin-bottom: 9px; }
        .store-section-title { font-size: 18px; }
        .store-products-grid {
          grid-template-columns: 1fr !important;
          gap: 8px;
        }
        .product-card-modern {
          min-height: 92px;
          padding: 8px 10px;
          gap: 10px;
          border-radius: 11px;
        }
        .product-card-modern .product-media-wrap {
          width: 76px;
          height: 70px;
          border-radius: 8px;
        }
        .product-card-modern .product-name-modern { font-size: 13px; }
        .product-card-modern .product-desc-modern { font-size: 11px; margin-bottom: 4px; }
        .product-card-modern .product-price-modern strong { font-size: 14px; }
        .sv-head { gap: 10px; margin-bottom: 10px; }
        .sv-nav { margin-bottom: 12px; }
        .sv-nav button { padding: 9px 11px; font-size: 13px; }

        /* Perfil da loja: compacto e confortável no celular */
        .shop-view {
          width: calc(100% - 28px);
          padding: 10px 0 92px;
        }
        .back-link {
          margin: 0 0 14px;
          font-size: 13px;
        }
        .store-hero-card {
          display: grid;
          grid-template-columns: 72px minmax(0, 1fr);
          align-items: start;
          gap: 12px;
          padding: 0 0 14px;
        }
        .store-hero-avatar-wrap {
          width: 72px;
          height: 72px;
          border-radius: 13px;
        }
        .store-hero-rating-badge {
          right: 3px;
          bottom: 3px;
          font-size: 9px;
          padding: 2px 4px;
        }
        .store-hero-title { font-size: 20px; margin-top: 2px; }
        .store-hero-category { font-size: 12px; margin-bottom: 7px; }
        .store-hero-badges-row { gap: 5px; margin-bottom: 7px; }
        .store-badge-status,
        .store-badge-min {
          font-size: 11px;
          padding: 4px 7px;
        }
        .store-hero-actions-row { gap: 6px; }
        .store-quick-btn {
          font-size: 11px;
          padding: 6px 8px;
          border-radius: 7px;
        }
        .store-hero-address { grid-column: 1 / -1; font-size: 11px; margin: 0; }
        .store-tabs-bar {
          gap: 16px;
          padding: 5px 0 0;
          margin-bottom: 12px;
        }
        .store-tab-link { font-size: 12px; padding-bottom: 7px; }
        .store-coupons-scroller { gap: 5px; margin: 3px 0 15px; }
        .store-coupons-wrap { gap: 7px; padding: 3px 0 5px; }
        .coupon-card-blue {
          width: 174px;
          min-width: 174px;
          max-width: 174px;
          height: 52px;
          border-radius: 10px;
        }
        .coupon-code-zone { width: 26px; min-width: 26px; }
        .coupon-code-vertical { font-size: 8px; max-height: 42px; }
        .coupon-main { padding: 5px 5px 5px 7px; }
        .coupon-main small { font-size: 6px; }
        .coupon-main strong { font-size: 8px; margin-top: 2px; }
        .coupon-main b { font-size: 15px; margin-top: 3px; }
        .coupon-main em { font-size: 6px; margin-top: 3px; }
        .coupon-seal { width: 24px; height: 24px; margin-right: 6px; }
        .coupon-seal::before { width: 19px; height: 19px; }
        .coupon-seal-mark { font-size: 12px; }
        .coupon-scroll-next { width: 26px; height: 26px; flex-basis: 26px; font-size: 18px; }
        .store-menu-section { margin-bottom: 22px; }
        .store-section-header { margin-bottom: 8px; }
        .store-section-title { font-size: 17px; }

        /* Tela da loja seguindo a referência mobile */
        .shop-view {
          width: 100%;
          padding: 0 14px 82px;
        }
        .shop-view .back-link {
          display: inline-flex;
          margin: 8px 0 10px;
          font-size: 13px;
        }
        .shop-view .shop-hero {
          display: grid;
          grid-template-columns: 58px minmax(0, 1fr);
          gap: 10px;
          align-items: start;
          padding: 0 0 10px;
        }
        .shop-view .shop-hero img {
          width: 58px;
          height: 58px;
          border-radius: 11px;
        }
        .shop-view .shop-hero h1 {
          font-size: 18px;
          line-height: 1.1;
          margin: 3px 0 3px;
          letter-spacing: -.04em;
        }
        .shop-view .shop-hero p {
          font-size: 11px;
          line-height: 1.25;
          margin: 0 0 5px;
        }
        .shop-view .shop-hero-copy { padding: 0; }
        .shop-view .shop-layout {
          display: block;
          padding-top: 0;
        }
        .shop-view .menu-category-bar {
          position: static;
          gap: 4px;
          padding: 5px 0;
          margin: 0 0 12px;
          border: 0;
          box-shadow: none;
          background: transparent;
        }
        .shop-view .menu-category-link {
          padding: 6px 9px;
          border: 1px solid #e8edf2;
          border-radius: 7px;
          font-size: 11px;
        }
        .shop-view .menu-title {
          font-size: 20px;
          margin-bottom: 7px;
        }
        .shop-view .menu-section {
          margin-bottom: 18px;
          scroll-margin-top: 12px;
        }
        .shop-view .menu-section h3 { font-size: 14px; margin-bottom: 7px; }
        .shop-view .products { gap: 0; }
        .shop-view .product {
          gap: 9px;
          padding: 9px 0;
          min-height: 82px;
        }
        .shop-view .product img {
          width: 78px;
          height: 70px;
          border-radius: 9px;
          object-fit: cover;
        }
        .shop-view .product h4 { font-size: 13px; margin-bottom: 2px; }
        .shop-view .product p { font-size: 10px; line-height: 1.3; margin-bottom: 4px; }
        .shop-view .product strong { font-size: 13px; }
        .shop-view .product button { min-width: 28px; min-height: 28px; }
        .shop-view .store-coupons-scroller {
          margin: 3px 0 9px;
          gap: 4px;
        }
        .shop-view .store-coupons-wrap {
          gap: 5px;
          padding: 2px 0 4px;
        }
        .shop-view .coupon-card-blue {
          width: 142px;
          min-width: 142px;
          max-width: 142px;
          height: 44px;
          border-radius: 8px;
        }
        .shop-view .coupon-code-zone { width: 22px; min-width: 22px; }
        .shop-view .coupon-code-vertical { font-size: 7px; }
        .shop-view .coupon-main { padding: 4px 4px 4px 6px; }
        .shop-view .coupon-main small { font-size: 5px; }
        .shop-view .coupon-main strong { font-size: 7px; margin-top: 1px; }
        .shop-view .coupon-main b { font-size: 13px; margin-top: 2px; }
        .shop-view .coupon-main em { font-size: 5px; margin-top: 2px; }
        .shop-view .coupon-seal { width: 20px; height: 20px; margin-right: 4px; }
        .shop-view .coupon-seal::before { width: 16px; height: 16px; }
        .shop-view .coupon-seal-mark { font-size: 10px; }
        .shop-view .coupon-scroll-next { width: 24px; height: 24px; flex-basis: 24px; font-size: 16px; }
      }

      /* =========================================================
         ACABAMENTO FINAL MOBILE — vitrine da loja
         Camada somente visual: preserva todos os fluxos e handlers.
         ========================================================= */
      @media all {
        :root {
          --mobile-gutter: 16px;
          --mobile-purple: #c81d25;
        }

        body {
          overflow-x: hidden;
          background: #fff;
        }

        .topbar-inner,
        .container {
          width: calc(100% - (var(--mobile-gutter) * 2));
        }

        /* O topo fica leve e não ocupa espaço desnecessário na tela da loja. */
        .topbar {
          padding: 9px 0 12px;
          background: #fff;
          border-bottom: 1px solid #f1f2f4;
        }

        .address {
          min-height: 28px;
          font-size: 12px;
          color: #475569;
        }

        .search {
          height: 44px;
          border: 1px solid #e9edf1;
          border-radius: 13px;
          background: #f7f8fa;
          box-shadow: none;
        }

        .search span {
          font-size: 22px;
          line-height: 1;
          color: #64748b;
        }

        .search input {
          min-width: 0;
          font-size: 15px;
        }

        /* Perfil da loja: primeiro bloco compacto, mas com leitura de app. */
        .shop-view {
          width: 100%;
          padding: 8px var(--mobile-gutter) calc(92px + env(safe-area-inset-bottom, 0px));
        }

        .shop-view .back-link {
          display: inline-flex;
          align-items: center;
          min-height: 36px;
          margin: 0 0 13px;
          padding: 0 10px 0 0;
          color: #1e293b;
          font-size: 14px;
          font-weight: 700;
        }

        .store-hero-card {
          display: grid;
          grid-template-columns: 96px minmax(0, 1fr);
          align-items: start;
          gap: 13px;
          padding: 0 0 16px;
        }

        .store-hero-avatar-wrap {
          width: 96px;
          height: 96px;
          border-radius: 17px;
          border: 1px solid #ece7f1;
          box-shadow: 0 5px 16px rgba(51, 23, 78, .09);
        }

        .store-hero-rating-badge {
          right: 5px;
          bottom: 5px;
          padding: 3px 6px;
          border-radius: 8px;
          font-size: 10px;
        }

        .store-hero-info {
          min-width: 0;
          padding-top: 2px;
        }

        .store-hero-title {
          margin: 0 0 3px;
          font-size: 23px;
          line-height: 1.08;
          letter-spacing: -.045em;
          overflow-wrap: anywhere;
        }

        .store-hero-category {
          margin: 0 0 8px;
          font-size: 13px;
          color: #64748b;
        }

        .store-hero-badges-row {
          gap: 6px;
          margin: 0;
        }

        .store-badge-status,
        .store-badge-min {
          min-height: 29px;
          padding: 5px 8px;
          font-size: 11px;
          white-space: nowrap;
        }

        .store-hero-actions-row {
          grid-column: 1 / -1;
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 9px;
          width: 100%;
          margin-top: 1px;
        }

        .store-quick-btn {
          justify-content: space-between;
          min-height: 44px;
          padding: 9px 11px;
          border: 1px solid #e7eaf0;
          border-radius: 12px;
          background: #fafbfc;
          color: #1e293b;
          font-size: 12px;
          font-weight: 700;
        }

        .store-quick-btn::before {
          color: #1e293b;
          font-size: 16px;
          font-weight: 500;
          line-height: 1;
          margin-right: 5px;
        }

        #openStoreHours::before,
        #openStorePayment::before,
        #openStoreDelivery::before,
        #openInstagram::before { content: none; }

        .store-quick-btn .chevron {
          width: 13px;
          height: 13px;
          margin-left: auto;
        }

        .store-hero-rating-col {
          grid-column: 1 / -1;
          width: 100%;
          margin: 0;
        }

        .rating-card {
          border-radius: 12px;
          padding: 11px 12px;
        }

        /* Cupons em carrossel, sem quebrar a largura da página. */
        .store-coupons-scroller {
          width: calc(100% + 2px);
          gap: 5px;
          margin: 0 -1px 2px;
        }

        .store-coupons-wrap {
          min-width: 0;
          flex: 1;
          gap: 9px;
          padding: 3px 1px 7px;
          scroll-snap-type: x proximity;
        }

        .coupon-card-blue {
          width: min(264px, calc(100vw - 92px));
          min-width: min(264px, calc(100vw - 92px));
          max-width: min(264px, calc(100vw - 92px));
          height: 72px;
          border-radius: 12px;
          scroll-snap-align: start;
        }

        .coupon-code-zone {
          width: 35px;
          min-width: 35px;
        }

        .coupon-main {
          padding: 8px 7px 7px 10px;
        }

        .coupon-main small { font-size: 7px; }
        .coupon-main strong { font-size: 10px; margin-top: 3px; }
        .coupon-main b { font-size: 20px; margin-top: 4px; }
        .coupon-main em { font-size: 7px; margin-top: 5px; }
        .coupon-seal { width: 31px; height: 31px; margin-right: 9px; }

        .coupon-scroll-next {
          flex: 0 0 28px;
          width: 28px;
          height: 28px;
          font-size: 19px;
          border: 1px solid #e5e7eb;
          background: #fff;
        }

        /* Categorias do cardápio no estilo de abas do aplicativo. */
        .store-tabs-bar {
          position: sticky !important;
          top: 0 !important;
          z-index: 15;
          gap: 21px;
          width: calc(100% + (var(--mobile-gutter) * 2));
          margin: 0 calc(var(--mobile-gutter) * -1) 8px;
          padding: 0 var(--mobile-gutter) 0;
          border-bottom: 1px solid #edf0f2;
          background: rgba(255, 255, 255, .97);
          backdrop-filter: blur(10px);
        }

        .store-tab-link {
          padding: 4px 0 10px;
          color: #64748b;
          font-size: 13px;
          border-bottom-width: 3px;
        }

        .store-tab-link.active {
          color: var(--mobile-purple);
          border-bottom-color: var(--mobile-purple);
        }

        .shop-view .shop-layout {
          display: block;
          padding: 0;
        }

        .shop-view .menu-title {
          margin: 0 0 4px;
          color: #172033;
          font-size: 28px;
          line-height: 1;
          letter-spacing: -.055em;
        }

        .shop-view .menu-section {
          margin-bottom: 18px;
          scroll-margin-top: 48px;
        }

        .shop-view .menu-section h3 {
          display: flex;
          align-items: center;
          gap: 8px;
          margin: 0 0 10px;
          color: #172033;
          font-size: 19px;
          line-height: 1.2;
        }

        .shop-view .menu-section h3::after {
          content: "";
          width: 34px;
          height: 3px;
          margin-top: 5px;
          border-radius: 4px;
          background: var(--mobile-purple);
        }

        /* Produto horizontal: imagem à direita, texto livre à esquerda. */
        .shop-view .shop-layout .products {
          display: grid;
          grid-template-columns: 1fr;
          gap: 11px;
        }

        .shop-view .shop-layout .product {
          position: relative;
          min-height: 154px;
          padding: 12px;
          border: 1px solid #e8ebef;
          border-radius: 16px;
          background: #fff;
          box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
        }

        .shop-view .shop-layout .product-hit {
          flex-direction: row-reverse;
          align-items: center;
          gap: 12px;
          width: 100%;
          padding: 0 37px 0 0;
        }

        .shop-view .shop-layout .product-hit img {
          width: clamp(108px, 32vw, 144px);
          height: clamp(108px, 32vw, 144px);
          border-radius: 13px;
          object-fit: cover;
        }

        .shop-view .shop-layout .product-copy {
          align-self: stretch;
          justify-content: center;
          min-width: 0;
          padding: 3px 0;
        }

        .shop-view .shop-layout .product-copy h4 {
          margin: 0 0 6px;
          color: #172033;
          font-size: 15px;
          line-height: 1.25;
        }

        .shop-view .shop-layout .product-copy p {
          display: -webkit-box;
          -webkit-line-clamp: 3;
          -webkit-box-orient: vertical;
          margin: 0 0 9px;
          color: #667085;
          font-size: 12px;
          line-height: 1.42;
          overflow: hidden;
        }

        .shop-view .shop-layout .product-copy .price {
          color: var(--mobile-purple);
          font-size: 17px;
          font-weight: 800;
        }

        .shop-view .shop-layout .product-copy .price .promo-price {
          color: var(--mobile-purple);
        }

        .shop-view .shop-layout .product-copy .upload-note {
          font-size: 10px;
        }

        .shop-view .shop-layout .add-btn {
          position: absolute;
          right: 10px;
          bottom: 11px;
          z-index: 2;
          width: 38px;
          height: 38px;
          border: 0;
          background: var(--mobile-purple);
          color: #fff;
          box-shadow: 0 4px 10px rgba(81, 32, 143, .22);
        }

        .shop-view .shop-layout .add-btn svg {
          width: 22px;
          height: 22px;
        }

        .shop-view .shop-layout .product.is-unavailable .add-btn {
          background: #cbd5e1;
          box-shadow: none;
        }

        /* Espaço seguro para a barra inferior e uso confortável no Android. */
        .bottom-nav {
          min-height: 64px;
          padding-bottom: env(safe-area-inset-bottom, 0px);
        }

        .bottom-nav button,
        .store-quick-btn,
        .store-tab-link,
        .add-btn,
        .coupon-scroll-next {
          -webkit-user-select: none;
          user-select: none;
          -webkit-tap-highlight-color: transparent;
        }
      }

      @media (max-width: 390px) {
        .shop-view {
          --mobile-gutter: 14px;
        }

        .store-hero-card {
          grid-template-columns: 82px minmax(0, 1fr);
          gap: 11px;
        }

        .store-hero-avatar-wrap {
          width: 82px;
          height: 82px;
          border-radius: 14px;
        }

        .store-hero-title { font-size: 20px; }
        .store-badge-status,
        .store-badge-min { padding-inline: 6px; font-size: 10px; }
        .store-quick-btn { min-height: 42px; padding-inline: 9px; font-size: 11px; }
        .coupon-card-blue {
          width: calc(100vw - 84px);
          min-width: calc(100vw - 84px);
          max-width: calc(100vw - 84px);
        }
      }

      /* Ajuste de fidelidade da vitrine mobile conforme a referência final. */
      @media all {
        .shop-view .back-link {
          display: none !important;
        }

        .shop-view .store-hero-rating-col {
          display: none !important;
        }

        .shop-view {
          padding-top: 15px;
        }

        .store-hero-card {
          grid-template-columns: 64px minmax(0, 1fr);
          gap: 11px;
          padding-bottom: 11px;
        }

        .store-hero-avatar-wrap {
          width: 64px;
          height: 64px;
          border-radius: 12px;
        }

        .store-hero-rating-badge {
          right: 3px;
          bottom: 3px;
          padding: 2px 4px;
          border-radius: 6px;
          font-size: 9px;
        }

        .store-hero-title {
          font-size: 18px;
          line-height: 1.05;
          margin-top: 2px;
        }

        .store-hero-category {
          font-size: 11px;
          margin-bottom: 6px;
        }

        .store-hero-badges-row {
          gap: 5px;
        }

        .store-badge-status,
        .store-badge-min {
          min-height: 24px;
          padding: 4px 6px;
          font-size: 10px;
        }

        .store-badge-status svg {
          width: 12px;
          height: 12px;
        }

        .store-badge-min svg {
          width: 11px;
          height: 11px;
        }

        .store-hero-actions-row {
          gap: 8px;
          margin-top: 1px;
        }

        .store-quick-btn {
          min-height: 40px;
          padding: 8px 9px;
          border-radius: 10px;
          font-size: 11px;
        }

        .store-quick-btn::before {
          font-size: 14px;
        }

        .store-quick-btn .chevron {
          width: 11px;
          height: 11px;
        }

        .store-coupons-scroller {
          margin-top: 4px;
          margin-bottom: 13px;
        }

        .store-coupons-wrap {
          gap: 7px;
        }

        .coupon-card-blue {
          width: 174px;
          min-width: 174px;
          max-width: 174px;
          height: 52px;
          border-radius: 9px;
        }

        .coupon-code-zone {
          width: 25px;
          min-width: 25px;
        }

        .coupon-main {
          padding: 5px 5px 5px 7px;
        }

        .coupon-main small {
          font-size: 5px;
        }

        .coupon-main strong {
          font-size: 7px;
          margin-top: 2px;
        }

        .coupon-main b {
          font-size: 15px;
          margin-top: 3px;
        }

        .coupon-main em {
          font-size: 5px;
          margin-top: 3px;
        }

        .coupon-seal {
          width: 23px;
          height: 23px;
          margin-right: 6px;
        }

        .coupon-seal::before {
          width: 18px;
          height: 18px;
        }

        .coupon-seal-mark {
          font-size: 11px;
        }

        .coupon-scroll-next {
          width: 25px;
          height: 25px;
          flex-basis: 25px;
          font-size: 17px;
        }

        .shop-view .menu-title {
          display: none;
        }

        .shop-view .store-tabs-bar {
          display: none;
        }

        .shop-view .menu-section {
          margin-bottom: 20px;
        }

        .shop-view .menu-section h3 {
          margin: 0 0 9px;
          color: var(--red);
          font-size: 17px;
        }

        .shop-view .menu-section h3::after {
          width: 30px;
          height: 3px;
          background: var(--red);
        }

        .shop-view .shop-layout .product {
          min-height: 0;
          padding: 9px;
          border-radius: 13px;
        }

        .shop-view .shop-layout .product-hit {
          gap: 9px;
          padding-right: 31px;
        }

        .shop-view .shop-layout .product-hit img {
          width: 92px;
          height: 92px;
          border-radius: 10px;
        }

        .shop-view .shop-layout .product-copy h4 {
          font-size: 13px;
          margin-bottom: 4px;
        }

        .shop-view .shop-layout .product-copy p {
          -webkit-line-clamp: 2;
          font-size: 10px;
          margin-bottom: 5px;
        }

        .shop-view .shop-layout .product-copy .price,
        .shop-view .shop-layout .product-copy .price .promo-price {
          font-size: 14px;
        }

        .shop-view .shop-layout .add-btn {
          right: 7px;
          bottom: 7px;
          width: 29px;
          height: 29px;
        }

        .shop-view .shop-layout .add-btn svg {
          width: 18px;
          height: 18px;
        }
      }

      @media (max-width: 390px) {
        .shop-view .shop-layout .product-hit img {
          width: 84px;
          height: 84px;
        }

        .store-quick-btn {
          padding-inline: 7px;
        }
      }

      /* Cabeçalho mobile: logo em cima e informações gerais logo abaixo,
         sem o espaço vazio causado pelo cartão de avaliação. */
      @media all {
        .store-hero-card {
          grid-template-columns: clamp(82px, 22vw, 124px) minmax(0, 1fr);
          grid-template-rows: auto auto auto auto auto;
          align-items: center;
          column-gap: 14px;
          row-gap: 7px;
          padding-bottom: 10px;
        }

        .store-hero-avatar-wrap {
          grid-column: 1;
          grid-row: 1 / span 3;
          width: clamp(82px, 22vw, 124px);
          height: 100%;
          min-height: clamp(82px, 22vw, 124px);
          align-self: stretch;
        }

        .store-hero-avatar-wrap img {
          object-fit: contain;
          background: #fdfaf6;
        }

        .store-hero-info {
          display: contents;
        }

        .store-hero-title {
          grid-column: 2;
          grid-row: 1;
          align-self: end;
          margin: 0;
        }

        .store-hero-category {
          grid-column: 2;
          grid-row: 2;
          align-self: start;
          margin: 0;
        }

        .store-hero-badges-row {
          display: contents;
        }

        .store-hero-badges-row .store-badge-status {
          grid-column: 2;
          grid-row: 3;
          justify-self: start;
          align-self: start;
        }

        .store-hero-badges-row .store-badge-min {
          grid-column: 1;
          grid-row: 4;
          justify-self: start;
        }

        .store-badge-rating {
          grid-column: 2;
          grid-row: 4;
          display: inline-flex;
          align-items: center;
          justify-self: start;
          gap: 5px;
          min-height: 24px;
          padding: 4px 8px;
          border: 1px solid #e2e8f0;
          border-radius: 999px;
          background: #fff;
          color: #334155;
          font-size: 11px;
          font-weight: 600;
          white-space: nowrap;
        }

        .store-badge-rating span {
          color: #f2b51d;
          font-size: 16px;
          line-height: 1;
        }

        .store-hero-actions-row {
          grid-column: 1 / -1;
          grid-row: 5;
          align-self: stretch;
          margin-top: 1px;
        }
      }

      @media (max-width: 390px) {
        .store-hero-card {
          column-gap: 11px;
        }

        .store-badge-rating {
          padding-inline: 6px;
          gap: 3px;
          font-size: 10px;
        }
      }

      /* Cor principal do SdFood na ação de adicionar e nos preços. */
      @media all {
        .shop-view .shop-layout .product-copy .price,
        .shop-view .shop-layout .product-copy .price .promo-price {
          color: var(--red) !important;
        }

        .shop-view .shop-layout .add-btn {
          background: var(--red) !important;
          box-shadow: 0 4px 10px rgba(232, 55, 69, .22);
        }

        /* Garante que formulários longos alcancem o botão final no Android. */
        .overlay {
          overflow: hidden;
          min-height: 100vh;
          min-height: 100dvh;
        }

        .overlay:not(.lightbox) .drawer,
        .overlay.box .drawer {
          height: 100vh;
          height: 100dvh;
          max-height: 100vh;
          max-height: 100dvh;
          min-height: 0;
          overflow-x: hidden;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          overscroll-behavior: contain;
          scroll-padding-bottom: 110px;
          padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
        }

        .overlay.lightbox .product-lightbox {
          min-height: 0;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
          padding-bottom: calc(36px + env(safe-area-inset-bottom, 0px));
        }

        .drawer > form:last-child,
        .drawer > section:last-child {
          padding-bottom: 24px;
        }
      }

      /* =========================================================
         TIPOGRAFIA, ÍCONES E HOME — acabamento final
         ========================================================= */
      body,
      body * {
        font-family: "Inter", sans-serif !important;
      }

      body {
        font-size: 16px;
        font-weight: 400;
      }

      h1,
      h2,
      h3,
      h4,
      strong,
      b {
        font-weight: 600;
      }

      @media all {
        body {
          font-size: 15px;
          line-height: 1.48;
        }

        .hero {
          padding-top: 20px;
          padding-bottom: 24px;
        }

        .hero .eyebrow {
          margin-bottom: 8px;
          color: var(--red);
          font-size: 12px;
          letter-spacing: .09em;
          font-weight: 700;
        }

        .hero h1 {
          max-width: 330px;
          margin-bottom: 20px;
          color: #202124;
          font-size: 22px;
          line-height: 1.17;
          letter-spacing: -.035em;
          font-weight: 600;
        }

        /* Categorias com ícones mais limpos e destaque vermelho. */
        .categories {
          gap: 15px;
          margin-inline: calc(var(--mobile-gutter) * -1);
          padding: 5px var(--mobile-gutter) 16px;
        }

        .category {
          width: 67px;
          min-width: 67px;
          color: #5f6368;
          font-size: 12px;
          line-height: 1.2;
          font-weight: 400;
        }

        .category .cat-img {
          width: 62px;
          height: 62px;
          margin-bottom: 8px;
          border: 1px solid #f1dfe1;
          border-radius: 17px;
          background: #fff7f7;
          box-shadow: 0 4px 10px rgba(232, 55, 69, .06);
        }

        .category .cat-img img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: inherit;
        }

        .category.selected .cat-img {
          outline: 2px solid var(--red);
          outline-offset: 2px;
          background: #fff1f2 !important;
          box-shadow: 0 5px 14px rgba(232, 55, 69, .14);
        }

        .category.selected,
        .category.selected span {
          color: var(--red) !important;
          font-weight: 600;
        }

        .cat-combo,
        .cat-pharmacy,
        .cat-drink {
          background: #fff3f4 !important;
        }

        .filters {
          gap: 9px;
          padding: 7px 0 17px;
          border-bottom-color: #f3e5e7;
        }

        .filter {
          height: 36px;
          padding-inline: 13px;
          border-color: #eadfe1;
          color: #5f6368;
          font-size: 13px;
        }

        .filter.active,
        .filter:hover {
          border-color: var(--red);
          color: var(--red);
          background: #fff1f2;
        }

        .section-head {
          margin-top: 21px;
        }

        .section-head h2 {
          font-size: 20px;
          font-weight: 600;
        }

        .section-head p {
          font-size: 13px;
        }

        .store-copy h3 {
          font-size: 16px;
          font-weight: 600;
        }

        .store-meta {
          font-size: 12px;
        }

        /* O carrinho passa a existir somente no menu inferior no celular. */
        .floating-cart-btn {
          display: none !important;
        }

        .bottom-nav {
          grid-template-columns: repeat(4, 1fr);
          min-height: 68px;
          background: rgba(255, 255, 255, .98);
          border-top-color: #ece7e8;
          box-shadow: 0 -5px 18px rgba(32, 33, 36, .08);
          backdrop-filter: blur(10px);
        }

        .bottom-nav button {
          position: relative;
          min-height: 68px;
          gap: 4px;
          padding: 7px 0 6px;
          color: #8a8d93;
          font-size: 11px;
          font-weight: 500;
        }

        .bottom-nav button svg {
          width: 22px;
          height: 22px;
          stroke-width: 1.8;
        }

        .bottom-nav button.active {
          color: var(--red);
          font-weight: 600;
        }

        .bottom-cart-badge {
          position: absolute;
          top: 5px;
          left: calc(50% + 6px);
          display: grid;
          place-items: center;
          min-width: 17px;
          height: 17px;
          padding: 0 4px;
          border: 2px solid #fff;
          border-radius: 999px;
          background: var(--red);
          color: #fff;
          font-size: 9px;
          line-height: 1;
          font-weight: 700;
        }

        .bottom-cart-badge.hidden {
          display: none !important;
        }
      }

      /* Na página da loja, o conteúdo começa direto no perfil,
         como na referência mobile, sem busca ou barra superior. */
      @media all {
        body.is-shop-view .topbar {
          display: none !important;
        }

        body.is-shop-view #main {
          padding-top: 0;
        }

        body.is-shop-view .shop-view {
          padding-top: 16px;
        }
      }

      /* Espaçamento final do cabeçalho da loja, conforme a segunda referência. */
      @media all {
        body.is-shop-view .shop-view {
          padding-top: 14px;
        }

        body.is-shop-view .store-hero-card {
          grid-template-columns: clamp(90px, 23vw, 96px) minmax(0, 1fr);
          column-gap: 12px;
          row-gap: 4px;
        }

        body.is-shop-view .store-hero-avatar-wrap {
          width: clamp(90px, 23vw, 96px);
          height: clamp(90px, 23vw, 96px);
        }

        body.is-shop-view .store-hero-title {
          font-size: 20px;
          line-height: 1.08;
        }

        body.is-shop-view .store-hero-category {
          font-size: 12px;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-status,
        body.is-shop-view .store-hero-badges-row .store-badge-min,
        body.is-shop-view .store-badge-rating {
          min-height: 25px;
        }
      }

      /* Cardápio: mais respiro e botão de adicionar sobre a foto. */
      @media all {
        body.is-shop-view .store-coupons-scroller {
          margin-bottom: 8px;
        }

        body.is-shop-view .shop-view .menu-title {
          display: block;
          margin: 0 0 15px;
          color: #172033;
          font-size: 23px;
          line-height: 1.05;
        }

        body.is-shop-view .shop-view .menu-section h3 {
          color: #172033;
        }

        body.is-shop-view .shop-view .menu-section h3::after {
          background: var(--mobile-purple);
        }

        body.is-shop-view .shop-view .shop-layout .product-hit {
          padding-right: 0;
        }

        body.is-shop-view .shop-view .shop-layout .add-btn {
          right: 13px;
          bottom: 13px;
        }
      }

      /* Ajuste final do espaçamento da aba da loja no mobile,
         mantendo o restante do layout e todos os comportamentos. */
      @media all {
        body.is-shop-view .shop-view {
          padding: 18px var(--mobile-gutter) calc(92px + env(safe-area-inset-bottom, 0px));
        }

        body.is-shop-view .store-hero-card {
          grid-template-columns: clamp(84px, 23vw, 96px) minmax(0, 1fr);
          grid-template-rows: 33px 24px 30px 39px auto;
          column-gap: 11px;
          row-gap: 6px;
          padding-bottom: 4px;
        }

        body.is-shop-view .store-hero-avatar-wrap {
          width: clamp(84px, 23vw, 96px);
          height: clamp(84px, 23vw, 96px);
          border-radius: 14px;
        }

        body.is-shop-view .store-hero-title {
          font-size: 24px;
          line-height: 1;
          align-self: end;
          margin: 0;
        }

        body.is-shop-view .store-hero-category {
          align-self: start;
          margin: 5px 0 0;
          font-size: 15px;
          line-height: 1;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-status {
          min-height: 28px;
          align-self: start;
          padding: 5px 9px;
          font-size: 13px;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-min,
        body.is-shop-view .store-badge-rating {
          min-height: 34px;
          align-self: start;
          padding: 6px 10px;
          font-size: 13px;
        }

        body.is-shop-view .store-hero-actions-row {
          gap: 9px;
          margin-top: 0;
        }

        body.is-shop-view .store-quick-btn {
          min-height: 40px;
          padding: 8px 10px;
          border-radius: 10px;
          font-size: 13px;
        }

        body.is-shop-view .store-quick-btn::before {
          font-size: 16px;
        }

        body.is-shop-view .store-quick-btn .chevron {
          width: 12px;
          height: 12px;
        }

        body.is-shop-view .shop-view .shop-layout {
          padding-top: 0;
        }

        /* No mobile, a categoria aparece antes dos cupons e do cardápio. */
        body.is-shop-view .shop-view {
          display: flex;
          flex-direction: column;
        }

        body.is-shop-view .store-hero-card {
          order: 1;
        }

        body.is-shop-view .store-tabs-bar {
          display: flex;
          order: 2;
          position: static !important;
          width: 100%;
          gap: 22px;
          margin: 4px 0 21px;
          padding: 0 0 10px;
          border-bottom: 1px solid #e3e5e8;
          background: transparent;
          box-shadow: none;
        }

        body.is-shop-view .store-tab-link {
          padding: 0 0 10px;
          color: var(--red);
          font-size: 19px;
          font-weight: 700;
          line-height: 1.1;
          border-bottom: 4px solid var(--red);
        }

        body.is-shop-view .store-coupons-scroller {
          order: 3;
          margin: 0 0 8px;
        }

        body.is-shop-view .store-coupons-wrap {
          gap: 10px;
          padding: 3px 2px 7px;
        }

        body.is-shop-view .shop-view .coupon-card-blue {
          width: min(236px, calc(100vw - 92px));
          min-width: min(236px, calc(100vw - 92px));
          max-width: min(236px, calc(100vw - 92px));
          height: 72px;
          border-radius: 12px;
        }

        body.is-shop-view .shop-view .coupon-code-zone {
          width: 35px;
          min-width: 35px;
        }

        body.is-shop-view .shop-view .coupon-main {
          padding: 8px 7px 7px 10px;
        }

        body.is-shop-view .shop-view .coupon-main small { font-size: 7px; }
        body.is-shop-view .shop-view .coupon-main strong { font-size: 10px; }
        body.is-shop-view .shop-view .coupon-main b { font-size: 20px; }
        body.is-shop-view .shop-view .coupon-main em { font-size: 7px; }
        body.is-shop-view .shop-view .coupon-seal {
          width: 31px;
          height: 31px;
          margin-right: 9px;
        }

        body.is-shop-view .shop-view .coupon-seal::before {
          width: 25px;
          height: 25px;
        }

        body.is-shop-view .shop-view .coupon-seal-mark { font-size: 14px; }

        body.is-shop-view .shop-view .shop-layout {
          order: 4;
        }

        body.is-shop-view .shop-view .menu-title {
          display: block;
          margin: 0 0 18px;
          color: #172033;
          font-size: 27px;
          line-height: 1.05;
        }

        body.is-shop-view .shop-view .menu-section {
          margin-bottom: 26px;
        }

        body.is-shop-view .shop-view .menu-section h3 {
          display: block;
          margin: 0 0 10px;
          padding: 0;
          border: 0;
          color: #172033;
          font-size: 18px;
          line-height: 1.2;
        }

        body.is-shop-view .shop-view .menu-section h3::after {
          display: none;
          margin: 0;
        }
      }

      /* Referência compacta 304 x 545: escala e proporções da tela mobile. */
      @media (max-width: 390px) {
        body.is-shop-view .shop-view {
          --mobile-gutter: 9px;
          width: 100%;
          padding: 16px var(--mobile-gutter) calc(92px + env(safe-area-inset-bottom, 0px));
          overflow-x: hidden;
        }

        body.is-shop-view .store-hero-card {
          grid-template-columns: 68px minmax(0, 1fr);
          grid-template-rows: 24px 18px 27px 27px auto;
          column-gap: 8px;
          row-gap: 6px;
          padding-bottom: 0;
        }

        body.is-shop-view .store-hero-avatar-wrap {
          width: 68px;
          height: 68px;
          border-radius: 14px;
        }

        body.is-shop-view .store-hero-title {
          font-size: 18px;
          line-height: 1;
        }

        body.is-shop-view .store-hero-category {
          margin-top: 2px;
          font-size: 12px;
          line-height: 1;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-status {
          min-height: 22px;
          padding: 4px 8px;
          font-size: 11px;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-status svg {
          width: 12px;
          height: 12px;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-min,
        body.is-shop-view .store-badge-rating {
          min-height: 27px;
          padding: 5px 8px;
          font-size: 11px;
        }

        body.is-shop-view .store-hero-badges-row .store-badge-min svg {
          width: 12px;
          height: 12px;
        }

        body.is-shop-view .store-badge-rating span {
          font-size: 14px;
        }

        body.is-shop-view .store-hero-actions-row {
          gap: 6px;
        }

        body.is-shop-view .store-quick-btn {
          min-height: 32px;
          padding: 6px 8px;
          border-radius: 8px;
          font-size: 11px;
        }

        body.is-shop-view .store-quick-btn::before {
          font-size: 14px;
        }

        body.is-shop-view .store-quick-btn .chevron {
          width: 11px;
          height: 11px;
        }

        body.is-shop-view .store-tabs-bar {
          gap: 16px;
          margin: 4px 0 14px;
          padding: 0 0 0;
          overflow-x: auto;
        }

        body.is-shop-view .store-tab-link {
          padding: 0 0 7px;
          font-size: 14px;
          line-height: 1;
          border-bottom-width: 2px;
        }

        body.is-shop-view .store-coupons-scroller {
          margin: 0 0 8px;
          gap: 7px;
        }

        body.is-shop-view .store-coupons-wrap {
          gap: 8px;
          padding: 0 1px 5px;
        }

        body.is-shop-view .shop-view .coupon-card-blue {
          width: 177px;
          min-width: 177px;
          max-width: 177px;
          height: 53px;
          border-radius: 8px;
        }

        body.is-shop-view .shop-view .coupon-code-zone {
          width: 25px;
          min-width: 25px;
        }

        body.is-shop-view .shop-view .coupon-main {
          padding: 5px 5px 5px 7px;
        }

        body.is-shop-view .shop-view .coupon-main small { font-size: 5px; }
        body.is-shop-view .shop-view .coupon-main strong { font-size: 7px; }
        body.is-shop-view .shop-view .coupon-main b { font-size: 15px; }
        body.is-shop-view .shop-view .coupon-main em { font-size: 5px; }
        body.is-shop-view .shop-view .coupon-seal {
          width: 23px;
          height: 23px;
          margin-right: 6px;
        }

        body.is-shop-view .shop-view .coupon-seal::before {
          width: 18px;
          height: 18px;
        }

        body.is-shop-view .shop-view .coupon-seal-mark { font-size: 11px; }

        body.is-shop-view .shop-view .shop-layout {
          padding-top: 0;
        }

        body.is-shop-view .shop-view .menu-title {
          margin: 0 0 10px;
          font-size: 20px;
          line-height: 1.05;
        }

        body.is-shop-view .shop-view .menu-section {
          margin-bottom: 18px;
        }

        body.is-shop-view .shop-view .menu-section h3 {
          position: relative;
          margin: 0 0 10px;
          padding: 0 0 7px;
          border-bottom: 1px solid #e3e5e8;
          font-size: 13px;
          line-height: 1.2;
        }

        body.is-shop-view .shop-view .menu-section h3::after {
          display: block;
          position: absolute;
          left: 0;
          bottom: -1px;
          width: 52px;
          height: 2px;
          border-radius: 2px;
          background: var(--mobile-purple);
        }

        body.is-shop-view .shop-view .shop-layout .product {
          min-height: 116px;
          padding: 10px;
          border-radius: 8px;
        }

        body.is-shop-view .shop-view .shop-layout .product-hit {
          gap: 8px;
          padding-right: 0;
        }

        body.is-shop-view .shop-view .shop-layout .product-hit img {
          width: 102px;
          height: 102px;
          border-radius: 9px;
        }

        body.is-shop-view .shop-view .shop-layout .product-copy h4 {
          font-size: 13px;
          margin-bottom: 3px;
        }

        body.is-shop-view .shop-view .shop-layout .product-copy p {
          max-width: 145px;
          font-size: 10px;
          line-height: 1.3;
          margin-bottom: 5px;
        }

        body.is-shop-view .shop-view .shop-layout .product-copy .price,
        body.is-shop-view .shop-view .shop-layout .product-copy .price .promo-price {
          font-size: 15px;
        }

        body.is-shop-view .shop-view .shop-layout .add-btn {
          right: 8px;
          bottom: 8px;
          width: 28px;
          height: 28px;
        }

        body.is-shop-view .shop-view .shop-layout .add-btn svg {
          width: 17px;
          height: 17px;
        }

        /* Respiro entre os pills, ações, título e carrossel. */
        body.is-shop-view .store-hero-card {
          row-gap: 9px;
        }

        body.is-shop-view .store-hero-actions-row {
          margin-top: 2px;
        }

        body.is-shop-view .store-tabs-bar {
          margin-top: 19px;
          margin-bottom: 18px;
        }

        body.is-shop-view .store-coupons-scroller {
          margin-bottom: 8px;
        }

        /* Evita que os dois pills de informação fiquem colados. */
        body.is-shop-view .store-badge-rating {
          margin-left: 32px !important;
        }
      }

      /* Tipografia da interface: Inter em toda a experiência. */
      body,
      body * {
        font-family: "Inter", sans-serif !important;
      }

      body {
        font-weight: 400;
      }

      h1,
      h2,
      h3,
      h4,
      .brand-word,
      .hero h1,
      .section-head h2,
      .menu-title,
      .store-hero-title {
        font-weight: 600 !important;
      }

      button,
      .store-quick-btn,
      .store-tab-link {
        font-weight: 500 !important;
      }

      .primary,
      .outline,
      .store-quick-btn,
      .store-tab-link {
        font-weight: 600 !important;
      }

      .price,
      .price strong,
      .price .promo-price,
      .product-copy .price,
      .product-copy .price strong,
      .product-price-modern strong {
        font-weight: 700 !important;
      }

      .store-badge-status,
      .store-badge-min,
      .store-badge-rating,
      .store-rating-count,
      .rating,
      .coupon-main b,
      .coupon-code-vertical {
        font-weight: 500 !important;
      }

      @media (max-width: 390px) {
        /* Respiro entre os itens do cardápio, inclusive na aba Promoções. */
        body.is-shop-view .shop-view .products {
          gap: 12px;
          padding-top: 3px;
        }

        body.is-shop-view .shop-view .shop-layout .product-hit {
          gap: 10px;
        }

        body.is-shop-view .shop-view .shop-layout .product-copy {
          padding: 4px 0;
        }
      }

      /* Menu de escolhas minimalista, com chips horizontais. */
      @media (max-width: 390px) {
        body.is-shop-view .store-tabs-bar {
          align-items: center;
          gap: 8px;
          margin: 4px 0 14px;
          padding: 0 0 2px;
          border: 0;
          background: transparent;
          box-shadow: none;
          scrollbar-width: none;
        }

        body.is-shop-view .store-tabs-bar::-webkit-scrollbar {
          display: none;
        }

        body.is-shop-view .store-tab-link {
          flex: 0 0 auto;
          min-height: 34px;
          padding: 8px 15px;
          border: 1px solid #e5e7eb;
          border-radius: 999px;
          background: #fff;
          color: #5f6368;
          font-size: 13px;
          font-weight: 500 !important;
          line-height: 1;
        }

        body.is-shop-view .store-tab-link.active {
          border-color: var(--red) !important;
          background: #fff;
          color: var(--red) !important;
        }
      }

      /* O mesmo menu em chips também vale para celulares acima de 390px. */
      @media all {
        body.is-shop-view .store-tabs-bar {
          align-items: center;
          gap: 8px;
          margin: 4px 0 14px;
          padding: 0 0 2px;
          border: 0;
          background: transparent;
          box-shadow: none;
          scrollbar-width: none;
        }

        body.is-shop-view .store-tabs-bar::-webkit-scrollbar {
          display: none;
        }

        body.is-shop-view .store-tab-link {
          flex: 0 0 auto;
          min-height: 34px;
          padding: 8px 15px;
          border: 1px solid #e5e7eb;
          border-radius: 999px;
          background: #fff;
          color: #5f6368;
          font-size: 13px;
          font-weight: 500 !important;
          line-height: 1;
        }

        body.is-shop-view .store-tab-link.active {
          border-color: var(--red) !important;
          background: #fff;
          color: var(--red) !important;
        }
      }

      /* Ícones vetoriais 2D para as ações da loja. */
      .store-quick-btn::before {
        display: none !important;
        content: none !important;
      }

      .store-quick-icon {
        flex: 0 0 16px;
        width: 16px;
        height: 16px;
        color: #94a3b8;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: color .16s ease;
      }

      .store-quick-btn:hover .store-quick-icon,
      .store-quick-btn:focus-visible .store-quick-icon {
        color: var(--red);
      }

      @media all {
        body.is-shop-view .store-quick-icon {
          flex-basis: 15px;
          width: 15px;
          height: 15px;
          stroke-width: 1.5;
        }
      }

      /* A tela de Promoções começa direto em Ofertas especiais no mobile. */
      @media all {
        body.is-promotions-view .topbar {
          display: none !important;
        }

        body.is-promotions-view #main {
          padding-top: 0;
        }

        body.is-promotions-view .promotions-page {
          width: 100%;
          padding: 20px var(--mobile-gutter) calc(92px + env(safe-area-inset-bottom, 0px));
        }

        body.is-promotions-view .promotions-page .back-link {
          display: none !important;
        }

        body.is-promotions-view .promotions-heading {
          display: block;
          margin: 0 0 18px;
        }

        body.is-promotions-view .promotions-heading .eyebrow {
          margin: 0;
          color: var(--red);
          font-size: 12px;
          font-weight: 700;
          letter-spacing: .08em;
          text-transform: uppercase;
        }
      }

      /* Barra inferior com ícones lineares mais refinados. */
      @media all {
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav {
          height: calc(68px + env(safe-area-inset-bottom, 0px));
          padding-bottom: env(safe-area-inset-bottom, 0px);
          border-top: 1px solid #edf0f2;
          box-shadow: 0 -4px 16px rgba(15, 23, 42, .06);
        }

        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button {
          min-height: 68px;
          gap: 5px;
          padding: 7px 0 5px;
          color: #8b9098;
          font-size: 11px;
          font-weight: 500 !important;
          letter-spacing: 0;
        }

        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button svg {
          width: 22px;
          height: 22px;
          stroke-width: 1.75;
          overflow: visible;
        }

        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button.active {
          color: var(--red);
          font-weight: 600 !important;
        }

        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button.active svg {
          stroke-width: 2;
        }
      }

      /* Home mobile no formato do app: endereço, ações, busca, categorias e oferta. */
      @media all {
        body.is-home-view .topbar {
          padding: 10px 0 12px;
          border-bottom: 0;
          box-shadow: none;
        }

        body.is-home-view .topbar-right {
          order: 1;
          width: 100%;
          margin: 0;
          justify-content: flex-start;
          gap: 8px;
        }

        body.is-home-view .topbar-right > .header-icon {
          display: flex !important;
          align-items: center;
          justify-content: center;
        }

        body.is-home-view .topbar-right > .cart-cluster {
          display: none !important;
        }

        body.is-home-view .address {
          flex: 1 1 auto;
          width: auto;
          max-width: calc(100% - 86px);
          min-width: 0;
          padding: 0;
          background: transparent;
          border-radius: 0;
          font-size: 13px;
        }

        body.is-home-view .address svg {
          width: 22px;
          height: 22px;
          fill: var(--red);
          stroke: var(--red);
          stroke-width: 1.2;
        }

        body.is-home-view .address svg circle {
          fill: #fff;
          stroke: #fff;
        }

        body.is-home-view #notificationBtn {
          margin-left: auto;
          color: #202124;
        }

        body.is-home-view #profileBtn {
          width: 32px;
          height: 32px;
          padding: 0;
          border-radius: 50%;
          overflow: hidden;
          background: var(--red);
          color: #fff;
        }

        body.is-home-view #profileBtn:not(.has-photo) svg {
          width: 19px;
          height: 19px;
          stroke: #fff;
          stroke-width: 2;
        }

        body.is-home-view #profileBtn.has-photo .topbar-avatar {
          width: 32px;
          height: 32px;
        }

        body.is-home-view .search {
          order: 2;
          width: 100%;
          flex: 1 1 100%;
          height: 44px;
          margin-top: 1px;
          border: 0;
          border-radius: 14px;
          background: #f3f4f6;
          box-shadow: none;
        }

        body.is-home-view .search > span {
          color: #4b5563;
          font-size: 20px;
        }

        body.is-home-view .search input {
          font-size: 13px;
        }

        body.is-home-view .hero {
          padding: 4px 0 94px;
        }

        body.is-home-view .categories {
          gap: 10px;
          margin-inline: 0;
          padding: 4px 0 2px;
        }

        body.is-home-view .category {
          width: 58px;
          min-width: 58px;
          gap: 5px;
          font-size: 10px;
        }

        body.is-home-view .category .cat-img {
          width: 50px;
          height: 50px;
          border-radius: 13px;
          background: #fff5f3;
        }

        body.is-home-view .home-filters {
          display: none !important;
        }

        body.is-home-view .home-coupon-banner {
          position: relative;
          display: flex;
          align-items: stretch;
          min-height: 126px;
          margin: 14px 0 0;
          overflow: hidden;
          border-radius: 9px;
          background: linear-gradient(105deg, #e62735 0%, #ed1c2d 64%, #b90e1c 100%);
          color: #fff;
        }

        body.is-home-view .home-coupon-copy {
          position: relative;
          z-index: 1;
          width: 62%;
          padding: 13px 0 12px 15px;
        }

        body.is-home-view .home-coupon-copy > span {
          display: block;
          margin-bottom: 2px;
          font-size: 9px;
          opacity: .88;
        }

        body.is-home-view .home-coupon-copy h2 {
          margin: 0 0 5px;
          font-size: 18px;
          line-height: 1.05;
          letter-spacing: -.03em;
        }

        body.is-home-view .home-coupon-copy p {
          margin: 0;
          font-size: 9px;
          line-height: 1.25;
          opacity: .9;
        }

        body.is-home-view .home-coupon-copy button {
          display: inline-flex;
          align-items: center;
          gap: 7px;
          margin-top: 9px;
          padding: 6px 10px;
          border-radius: 999px;
          background: #fff;
          color: var(--red);
          font-size: 9px;
          font-weight: 700;
        }

        body.is-home-view .home-coupon-copy button b {
          font-size: 14px;
          line-height: 8px;
        }

        body.is-home-view .home-coupon-banner > img {
          position: absolute;
          right: -2px;
          bottom: 0;
          width: 52%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          mix-blend-mode: screen;
          opacity: .96;
        }

        body.is-home-view .home-banner-dots {
          display: flex;
          justify-content: center;
          gap: 5px;
          margin: 7px 0 0;
        }

        body.is-home-view .home-banner-dots i {
          width: 5px;
          height: 5px;
          border-radius: 50%;
          background: #e6e7e9;
        }

        body.is-home-view .home-banner-dots i.active {
          width: 12px;
          border-radius: 999px;
          background: var(--red);
        }

        body.is-home-view .home-nearby-head {
          margin-top: 13px;
          margin-bottom: 9px;
        }

        body.is-home-view .home-nearby-head h2 {
          font-size: 16px;
          letter-spacing: -.025em;
        }

        body.is-home-view .home-see-all {
          display: inline-flex;
          align-items: center;
          gap: 5px;
          padding: 0;
          background: transparent;
          color: var(--red);
          font-size: 10px;
          font-weight: 600;
        }

        body.is-home-view .initial-store-cover {
          display: grid;
          place-items: center;
          background: #fff0ee;
          font-size: 25px;
        }

        body.is-home-view .initial-home .cat-img {
          display: grid;
          place-items: center;
          font-size: 25px;
          line-height: 1;
        }

        body.is-home-view .home-coupon-banner > img.home-art-banner {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          mix-blend-mode: normal;
          opacity: 1;
          filter: none;
        }

        body.is-home-view .initial-home .cat-img {
          font-size: 0;
        }
      }

      /* Perfil em tela cheia (estilo app): abre completo, com rolagem interna. */
      @media all {
        .overlay:not(.lightbox) .drawer.profile-drawer {
          height: 100vh !important;
          height: 100dvh !important;
          max-height: 100vh !important;
          max-height: 100dvh !important;
          border-radius: 0 !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
          scroll-padding-bottom: 110px;
          padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
        }
      }

      /* =========================================================
         AJUSTE FINAL: TODAS AS JANELAS ABREM COMO PAGINA INTEIRA
         - remove a linha/pegador cinza do topo do painel
         - o painel sobe 100% da tela (sem parar no meio)
         ========================================================= */
      .drawer-head::before,
      .drawer-head::after {
        content: none !important;
        display: none !important;
        background: none !important;
        width: 0 !important;
        height: 0 !important;
      }

      @media all {
        /* O fundo passa a ocupar a tela inteira e o painel encosta no topo. */
        .overlay,
        .overlay.box,
        .overlay.lightbox {
          align-items: stretch !important;
          justify-content: center !important;
          padding: 0 !important;
          overflow: hidden;
        }

        .overlay:not(.lightbox) .drawer,
        .overlay.box .drawer,
        .drawer.profile-drawer {
          width: 100% !important;
          max-width: 100% !important;
          height: 100vh !important;
          height: 100dvh !important;
          min-height: 100vh !important;
          min-height: 100dvh !important;
          max-height: none !important;
          border-radius: 0 !important;
          box-shadow: none !important;
          overflow-x: hidden !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
          overscroll-behavior: contain;
          scroll-padding-bottom: 110px;
          padding: 14px 18px calc(88px + env(safe-area-inset-bottom, 0px)) !important;
          animation: sheetFullUp 0.24s var(--ease);
        }

        /* Sem a linha, o titulo nao precisa mais do espaco extra no topo. */
        .drawer-head,
        .profile-drawer .drawer-head {
          padding-top: 4px !important;
          margin-bottom: 14px !important;
        }

        .overlay.lightbox .product-lightbox {
          width: 100% !important;
          height: 100vh !important;
          height: 100dvh !important;
          min-height: 100vh !important;
          min-height: 100dvh !important;
          border-radius: 0 !important;
          box-shadow: none !important;
          overflow-y: auto !important;
          -webkit-overflow-scrolling: touch;
          padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
        }

        @keyframes sheetFullUp {
          from {
            transform: translateY(24px);
            opacity: 0.7;
          }
          to {
            transform: none;
            opacity: 1;
          }
        }
      }

      /* ==========================================================
         PADRONIZACAO DE TIPOGRAFIA (escala unica do app)
         Bloco adicionado no final: nada do CSS anterior foi
         removido, apenas normalizamos tamanhos/pesos/altura de
         linha com !important para vencer as regras espalhadas.
         Escala: titulo 24 | secao 18-20 | nome 16 | texto 14-16
                 secundario 12-14 | preco 16-18 | botao 14-16
                 labels 11-12 | nav inferior 10-12
         ========================================================== */
      :root {
        --fs-base: 16px;
        --lh-base: 1.5;
      }

      html {
        font-size: 100%;
      }

      body {
        font-size: var(--fs-base) !important;
        line-height: var(--lh-base) !important;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }

      /* --- Titulo principal de tela: 24px / 700 --- */
      .hero h1,
      .shop-hero h1,
      .store-hero-title,
      .auth-card h1,
      .page-title,
      h1 {
        font-size: 24px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
      }

      /* --- Titulo de secao / painel: 20px (18px no mobile) / 700 --- */
      .section-head h2,
      .drawer-head h2,
      .menu-title,
      .seller-panel > h2,
      .seller-panel > h3,
      .modal-title,
      h2 {
        font-size: 20px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
      }

      /* --- Subtitulo / bloco de formulario: 18px / 600 --- */
      h3,
      .form-section-heading,
      .checkout-step-title,
      .summary-title {
        font-size: 18px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
      }

      /* --- Nome de restaurante e de produto: 16px / 600 --- */
      .store-copy h3,
      .product-copy h4,
      .product-title,
      .cart-item-name,
      .order-card h4,
      h4 {
        font-size: 16px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
      }

      /* --- Texto corrido: 15px, confortavel em qualquer tela --- */
      p,
      li,
      .product-copy p,
      .shop-hero p,
      .deposit-intro,
      .empty,
      .empty p,
      .totals,
      .total-row,
      .checkout-text,
      .address-line,
      textarea,
      input,
      select {
        font-size: 15px !important;
        line-height: 1.5 !important;
      }

      .total-row.final {
        font-size: 17px !important;
        font-weight: 700 !important;
      }

      /* --- Texto secundario / apoio: 13px --- */
      .store-meta,
      .store-rating-count,
      .field-help,
      .upload-note,
      .metric small,
      .wallet-card small,
      small,
      .muted,
      .hint,
      .order-meta,
      .cart-item-meta,
      .product-copy .desc,
      .coupon-terms {
        font-size: 13px !important;
        line-height: 1.45 !important;
        font-weight: 400 !important;
      }

      /* --- Precos e valores em destaque: 17px / 700 --- */
      .price,
      .price strong,
      .product-price-modern strong,
      .cart-item-price,
      .order-total {
        font-size: 17px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
      }

      .price .promo-price,
      .price s,
      .price del,
      .price-old {
        font-size: 13px !important;
        font-weight: 500 !important;
      }

      .metric strong,
      .wallet-card strong {
        font-size: 24px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
      }

      /* --- Botoes: 15px / 600 --- */
      button,
      .primary,
      .outline,
      .btn,
      .back-link,
      .store-quick-btn,
      .store-tab-link,
      .coupon-scroll-next {
        font-size: 15px !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
      }

      .add-btn {
        font-size: 15px !important;
        font-weight: 700 !important;
      }

      /* --- Labels, tags e pills: 12px --- */
      .field label,
      label,
      .tag,
      .chip,
      .store-badge,
      .store-badge-status,
      .store-badge-min,
      .store-badge-rating,
      .badge,
      .filter,
      .category {
        font-size: 12px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
      }

      .field label,
      label {
        font-weight: 600 !important;
      }

      /* --- Navegacao inferior: 11px / 600 --- */
      .bottom-nav button,
      .bottom-nav button span {
        font-size: 11px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
      }

      /* --- Ajuste fino para telas pequenas: mantem a mesma escala,
             so reduz o titulo principal e o de secao. --- */
      @media all {
        .hero h1,
        .shop-hero h1,
        .store-hero-title,
        h1 {
          font-size: 24px !important;
        }

        .section-head h2,
        .drawer-head h2,
        .menu-title,
        h2 {
          font-size: 18px !important;
        }

        h3,
        .form-section-heading {
          font-size: 16px !important;
        }

        .store-copy h3,
        .product-copy h4,
        h4 {
          font-size: 16px !important;
        }

        p,
        li,
        .product-copy p,
        .shop-hero p {
          font-size: 14px !important;
        }

        /* Campos ficam em 16px no celular para o navegador nao dar
           aquele zoom automatico ao tocar no campo. */
        input,
        textarea,
        select {
          font-size: 16px !important;
        }

        .store-meta,
        .field-help,
        .upload-note,
        small,
        .order-meta,
        .cart-item-meta {
          font-size: 12px !important;
        }

        .price,
        .price strong,
        .product-price-modern strong {
          font-size: 16px !important;
        }

        button,
        .primary,
        .outline,
        .btn,
        .add-btn,
        .store-quick-btn,
        .store-tab-link {
          font-size: 14px !important;
        }

        .field label,
        label,
        .tag,
        .chip,
        .store-badge,
        .store-badge-status,
        .store-badge-min,
        .store-badge-rating,
        .filter,
        .category {
          font-size: 11px !important;
        }

        .bottom-nav button,
        .bottom-nav button span {
          font-size: 11px !important;
        }
      }

      @media (max-width: 390px) {
        .hero h1,
        .shop-hero h1,
        .store-hero-title,
        h1 {
          font-size: 22px !important;
        }

        .bottom-nav button,
        .bottom-nav button span {
          font-size: 10px !important;
        }
      }

      /* ================= AJUSTE FINAL: CARD DE PRODUTO NA BUSCA / HOME ================= */
      .hero .products .product,
      .products:not(.promotions-products) .product {
        align-items: center !important;
        gap: 14px !important;
      }
      .products:not(.promotions-products) .product .product-hit {
        position: relative !important;
        align-items: center !important;
        gap: 14px !important;
        min-width: 0 !important;
      }
      .products:not(.promotions-products) .product .product-hit > img {
        width: 104px !important;
        height: 86px !important;
        border-radius: 12px !important;
        object-fit: cover !important;
        flex: 0 0 auto !important;
      }
      .products:not(.promotions-products) .product .product-hit > .offer-badges {
        position: absolute !important;
        top: 6px !important;
        left: 6px !important;
        z-index: 2 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        max-width: 92px !important;
        pointer-events: none !important;
      }
      .products:not(.promotions-products) .product .product-hit > .offer-badges:empty {
        display: none !important;
      }
      .products:not(.promotions-products) .product .product-hit > .offer-badges .status {
        margin: 0 !important;
        padding: 3px 7px !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        border-radius: 20px !important;
        white-space: nowrap !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, .18) !important;
      }
      .products:not(.promotions-products) .product .product-hit > .offer-badges .status.coupon {
        background: #ffe1e5 !important;
        color: #b4232f !important;
      }
      .products:not(.promotions-products) .product .product-hit > .product-copy {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 4px !important;
      }
      .products:not(.promotions-products) .product .product-hit > .product-copy h4 {
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
      }
      .products:not(.promotions-products) .product .product-hit > .product-copy p {
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        color: var(--muted) !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        word-break: break-word !important;
      }
      .products:not(.promotions-products) .product .product-hit > .product-copy .price {
        display: block !important;
        margin-top: 2px !important;
        font-size: 15px !important;
      }
      @media all {
        .products:not(.promotions-products) .product .product-hit > .product-image-wrap {
          position: relative !important;
          width: 104px !important;
          height: 86px !important;
          flex: 0 0 104px !important;
          border-radius: 12px !important;
          overflow: hidden !important;
        }
        .products:not(.promotions-products) .product .product-hit > .product-image-wrap > img {
          width: 100% !important;
          height: 100% !important;
          border-radius: 0 !important;
        }
        .products:not(.promotions-products) .product .product-hit > .product-image-wrap > .offer-badges {
          position: absolute !important;
          top: 6px !important;
          left: 6px !important;
          right: 4px !important;
          z-index: 2 !important;
          display: inline-flex !important;
          align-items: flex-start !important;
          flex-wrap: wrap !important;
          gap: 4px !important;
          max-width: calc(100% - 10px) !important;
          pointer-events: none !important;
        }
        .products:not(.promotions-products) .product .product-hit > .product-image-wrap > .offer-badges .status {
          margin: 0 !important;
          padding: 3px 6px !important;
          font-size: 10px !important;
          line-height: 1.15 !important;
          border-radius: 20px !important;
          white-space: nowrap !important;
          box-shadow: 0 1px 4px rgba(0, 0, 0, .18) !important;
        }
        .products:not(.promotions-products) .product .product-hit > .offer-badges {
          position: static !important;
        }
        .products:not(.promotions-products) .product .product-hit > .product-copy {
          flex: 1 1 auto !important;
        }
      }
      @media all and (max-width: 600px) {
        .products:not(.promotions-products) .product .product-hit > .product-image-wrap {
          width: clamp(108px, 32vw, 144px) !important;
          height: clamp(108px, 32vw, 144px) !important;
          flex-basis: clamp(108px, 32vw, 144px) !important;
          border-radius: 13px !important;
        }
      }
      @media all {
        .products:not(.promotions-products) .product .product-hit > img {
          width: 88px !important;
          height: 78px !important;
        }
        .products:not(.promotions-products) .product .product-hit > .offer-badges {
          max-width: 78px !important;
        }
        .products:not(.promotions-products) .product .product-hit > .product-copy h4 {
          font-size: 14px !important;
        }
        .products:not(.promotions-products) .product .product-hit > .product-copy p {
          font-size: 12px !important;
        }
      }

      /* ================= AJUSTE FINAL: CUPONS INTEIROS (SEM CORTE) ================= */
      .coupon-card-blue,
      .store-coupons-wrap .coupon-card-blue,
      .shop-view .coupon-card-blue,
      body.is-shop-view .shop-view .coupon-card-blue {
        height: auto !important;
        min-height: 68px !important;
        align-items: stretch !important;
        overflow: hidden !important;
      }
      .coupon-card-blue .coupon-code-zone,
      .shop-view .coupon-card-blue .coupon-code-zone {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 6px 0 !important;
      }
      .coupon-card-blue .coupon-code-vertical,
      .shop-view .coupon-card-blue .coupon-code-vertical {
        font-size: 8px !important;
        line-height: 1.1 !important;
        letter-spacing: .05em !important;
        max-height: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
      }
      .coupon-card-blue .coupon-main,
      .shop-view .coupon-card-blue .coupon-main {
        padding: 8px 6px 8px 9px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 2px !important;
        min-width: 0 !important;
        overflow: hidden !important;
      }
      .coupon-card-blue .coupon-main small,
      .shop-view .coupon-card-blue .coupon-main small {
        font-size: 8px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        letter-spacing: .06em !important;
        margin: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      .coupon-card-blue .coupon-main strong,
      .shop-view .coupon-card-blue .coupon-main strong {
        font-size: 8px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      .coupon-card-blue .coupon-main b,
      .shop-view .coupon-card-blue .coupon-main b {
        font-size: 16px !important;
        line-height: 1.15 !important;
        margin: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      .coupon-card-blue .coupon-main em,
      .shop-view .coupon-card-blue .coupon-main em {
        font-size: 8px !important;
        line-height: 1.2 !important;
        font-style: normal !important;
        margin: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
      }
      .coupon-card-blue .coupon-seal,
      .shop-view .coupon-card-blue .coupon-seal {
        align-self: center !important;
        flex: 0 0 auto !important;
      }
      @media all {
        .coupon-card-blue,
        .store-coupons-wrap .coupon-card-blue,
        .shop-view .coupon-card-blue,
        body.is-shop-view .shop-view .coupon-card-blue {
          width: min(258px, calc(100vw - 96px)) !important;
          min-width: min(258px, calc(100vw - 96px)) !important;
          max-width: min(258px, calc(100vw - 96px)) !important;
          height: auto !important;
          min-height: 66px !important;
          border-radius: 12px !important;
        }
        .coupon-card-blue .coupon-code-zone,
        .shop-view .coupon-card-blue .coupon-code-zone {
          width: 30px !important;
          min-width: 30px !important;
        }
        .coupon-card-blue .coupon-code-vertical,
        .shop-view .coupon-card-blue .coupon-code-vertical {
          font-size: 7.5px !important;
        }
        .coupon-card-blue .coupon-main,
        .shop-view .coupon-card-blue .coupon-main {
          padding: 7px 5px 7px 8px !important;
        }
        .coupon-card-blue .coupon-main small,
        .shop-view .coupon-card-blue .coupon-main small,
        .coupon-card-blue .coupon-main strong,
        .shop-view .coupon-card-blue .coupon-main strong,
        .coupon-card-blue .coupon-main em,
        .shop-view .coupon-card-blue .coupon-main em {
          font-size: 7.5px !important;
        }
        .coupon-card-blue .coupon-main b,
        .shop-view .coupon-card-blue .coupon-main b {
          font-size: 15px !important;
        }
        .coupon-card-blue .coupon-seal,
        .shop-view .coupon-card-blue .coupon-seal {
          width: 26px !important;
          height: 26px !important;
          margin: 0 7px 0 2px !important;
        }
        .coupon-card-blue .coupon-seal::before,
        .shop-view .coupon-card-blue .coupon-seal::before {
          width: 21px !important;
          height: 21px !important;
        }
        .coupon-card-blue .coupon-seal-mark,
        .shop-view .coupon-card-blue .coupon-seal-mark {
          font-size: 13px !important;
        }
      }
      @media (max-width: 390px) {
        .coupon-card-blue,
        .store-coupons-wrap .coupon-card-blue,
        .shop-view .coupon-card-blue,
        body.is-shop-view .shop-view .coupon-card-blue {
          width: min(238px, calc(100vw - 88px)) !important;
          min-width: min(238px, calc(100vw - 88px)) !important;
          max-width: min(238px, calc(100vw - 88px)) !important;
          min-height: 62px !important;
        }
        .coupon-card-blue .coupon-main small,
        .shop-view .coupon-card-blue .coupon-main small,
        .coupon-card-blue .coupon-main strong,
        .shop-view .coupon-card-blue .coupon-main strong,
        .coupon-card-blue .coupon-main em,
        .shop-view .coupon-card-blue .coupon-main em {
          font-size: 7px !important;
        }
        .coupon-card-blue .coupon-main b,
        .shop-view .coupon-card-blue .coupon-main b {
          font-size: 14px !important;
        }
        .coupon-card-blue .coupon-seal,
        .shop-view .coupon-card-blue .coupon-seal {
          width: 24px !important;
          height: 24px !important;
          margin: 0 6px 0 2px !important;
        }
        .coupon-card-blue .coupon-seal::before,
        .shop-view .coupon-card-blue .coupon-seal::before {
          width: 19px !important;
          height: 19px !important;
        }
        .coupon-card-blue .coupon-seal-mark,
        .shop-view .coupon-card-blue .coupon-seal-mark {
          font-size: 12px !important;
        }
      }
      /* ================= AJUSTE FINAL: ESCALA UNICA DE FONTES (v3_3) =================
         Nada foi removido: este bloco vem por ultimo e apenas normaliza
         tamanhos, usando a tela de perfil da loja como referencia.
         Escala: titulo 22-24 | secao 18-20 | nome 16 | texto 14-15
                 secundario 12.5 | preco 17 | botao 14-15 | pill 12.5
                 menu inferior 12 | campo de busca 14
         ================================================================= */

      /* --- Barra de busca: deixa de ficar gigante --- */
      .search input,
      body.is-home-view .search input,
      #searchInput,
      .search input::placeholder,
      body.is-home-view .search input::placeholder {
        font-size: 14px !important;
        line-height: 1.4 !important;
      }
      .search > span,
      body.is-home-view .search > span {
        font-size: 18px !important;
        line-height: 1 !important;
      }

      /* --- Textos secundarios / apoio: 12.5px em todo o app --- */
      .store-meta,
      .store-open,
      .store-rating-count,
      .store-badge,
      .store-badge-status,
      .store-badge-min,
      .store-badge-rating,
      .store-hero-category,
      .store-hero-address,
      .store-section-kicker,
      .section-head p,
      .filter,
      .category,
      .eyebrow,
      .cart-copy,
      .cart-copy strong,
      .merchant-count,
      .order-step,
      .order-meta,
      .cart-item-meta,
      .field-help,
      .upload-note,
      .hint,
      .muted,
      small,
      .product-copy .desc,
      .product-card-modern .product-desc-modern,
      .promotions-products .price del,
      .shop-view .product p,
      .shop-view .shop-layout .product-copy p,
      .shop-view .shop-layout .product-copy .upload-note,
      body.is-shop-view .shop-view .shop-layout .product-copy p,
      .deposit-mini,
      .sv-count,
      .store-hero-rating-badge,
      .store-hero-rating-col .rating-card small,
      body.is-home-view .home-coupon-copy > span,
      body.is-home-view .home-coupon-copy p,
      body.is-home-view .home-coupon-copy button,
      body.is-home-view .home-see-all,
      body.is-home-view .category {
        font-size: 12.5px !important;
        line-height: 1.35 !important;
      }

      /* --- Pills / botoes de atalho da loja --- */
      .store-quick-btn,
      body.is-shop-view .store-quick-btn,
      .store-tab-link,
      .menu-category-link,
      .shop-view .menu-category-link {
        font-size: 12.5px !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;
      }

      /* --- Menu inferior: letras maiores e legiveis --- */
      .bottom-nav button,
      .bottom-nav button span,
      body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button,
      body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button span {
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 600 !important;
      }
      .bottom-nav button svg,
      body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button svg {
        width: 22px !important;
        height: 22px !important;
      }

      /* --- Tela de Perfil: mesma escala do perfil da loja --- */
      .profile-hero-copy strong {
        font-size: 17px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
      }
      .profile-hero-copy span,
      .profile-hero-copy small,
      .profile-points-copy span,
      .profile-menu-copy span,
      .favorite-address-copy span {
        font-size: 12.5px !important;
        line-height: 1.35 !important;
      }
      .profile-menu-copy strong,
      .favorite-address-copy strong {
        font-size: 15px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
      }
      .profile-points-copy strong {
        font-size: 17px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
      }
      .profile-section-title,
      .profile-group-title {
        font-size: 15px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
      }
      .profile-menu-item,
      .profile-logout,
      .favorite-address-actions .small-outline {
        font-size: 15px !important;
        line-height: 1.4 !important;
      }
      .profile-menu-arrow {
        font-size: 18px !important;
        line-height: 1 !important;
      }
      .profile-menu-item {
        padding: 12px 12px !important;
      }

      /* --- Selos e contadores minusculos: piso de leitura --- */
      .store-badge,
      .store-open,
      .store-badge-status,
      .store-badge-min,
      .store-badge-rating {
        line-height: 1.2 !important;
      }

      /* --- Ajuste no celular: mantem a mesma escala, sem letra minuscula --- */
      @media all {
        .search input,
        body.is-home-view .search input,
        #searchInput {
          font-size: 16px !important;
        }
        .search input::placeholder,
        body.is-home-view .search input::placeholder {
          font-size: 14px !important;
        }
        .search > span,
        body.is-home-view .search > span {
          font-size: 18px !important;
        }

        .bottom-nav button,
        .bottom-nav button span,
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button,
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button span {
          font-size: 12px !important;
        }
        .bottom-nav button svg,
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button svg {
          width: 22px !important;
          height: 22px !important;
        }

        .store-meta,
        .store-open,
        .store-badge,
        .store-badge-status,
        .store-badge-min,
        .store-badge-rating,
        .store-hero-category,
        .store-hero-address,
        .section-head p,
        .filter,
        .category,
        .eyebrow,
        .cart-copy,
        .cart-copy strong,
        small,
        .product-card-modern .product-desc-modern,
        .shop-view .product p,
        .shop-view .shop-layout .product-copy p,
        body.is-shop-view .shop-view .shop-layout .product-copy p,
        .profile-hero-copy span,
        .profile-hero-copy small,
        .profile-points-copy span,
        .profile-menu-copy span,
        body.is-home-view .category,
        body.is-home-view .home-coupon-copy > span,
        body.is-home-view .home-coupon-copy p,
        body.is-home-view .home-coupon-copy button,
        body.is-home-view .home-see-all {
          font-size: 12.5px !important;
        }

        .store-quick-btn,
        body.is-shop-view .store-quick-btn,
        .store-tab-link,
        .menu-category-link,
        .shop-view .menu-category-link {
          font-size: 12.5px !important;
        }

        .profile-menu-copy strong,
        .profile-menu-item,
        .profile-logout,
        .profile-section-title,
        .profile-group-title {
          font-size: 15px !important;
        }
      }

      @media (max-width: 390px) {
        .bottom-nav button,
        .bottom-nav button span,
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button,
        body[data-app-variant="customer"]:not(.is-seller) .bottom-nav button span {
          font-size: 11.5px !important;
        }
        .store-meta,
        .store-badge,
        .store-badge-status,
        .store-badge-min,
        .store-badge-rating,
        .category,
        body.is-home-view .category,
        small,
        .profile-menu-copy span,
        .profile-hero-copy span,
        .profile-hero-copy small {
          font-size: 12px !important;
        }
        .store-quick-btn,
        body.is-shop-view .store-quick-btn,
        .store-tab-link {
          font-size: 12px !important;
        }
      }

      /* --- Os cupons continuam com a fonte propria (bloco anterior),
             para nao voltar a cortar o texto dentro do card. --- */


      /* ================================================================
         ESCALA UNICA DE FONTES - COMPLEMENTO (v3_4)
         Fecha as lacunas: rotulos de formulario, opcoes de entrega,
         titulos de bloco, tabelas de taxa e textos de apoio.
         Tambem esconde o botao X dos modais (o fechamento continua
         funcionando por fora do modal / troca de tela).
         ================================================================ */

      /* --- Rotulos de campo: 15px (16px no celular para nao dar zoom) --- */
      .field label,
      .drawer .field label,
      .drawer-body .field label,
      form label,
      .settings-card label,
      label {
        font-size: 15px !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
      }

      /* --- Opcoes com marcador (Entrega em casa / Pegar na loja) --- */
      .check-row,
      .check-row span,
      .check-row label,
      .drawer .check-row,
      .settings-card .check-row,
      .cash-payment-label,
      .radio-row,
      .radio-row span,
      .option-row,
      .option-row span {
        font-size: 15px !important;
        line-height: 1.4 !important;
        font-weight: 500 !important;
      }

      /* --- Titulos de bloco dentro de formularios --- */
      .settings-title,
      .drawer .settings-title,
      .form-section-heading,
      .drawer .form-section-heading {
        font-size: 16px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
      }

      /* --- Tabela de zonas / taxas de entrega --- */
      .zone-table,
      .zone-table .check-row,
      .zone-table .check-row span,
      .zone-table label,
      .zone-table input {
        font-size: 15px !important;
        line-height: 1.4 !important;
      }

      /* --- Linhas de total e resumo --- */
      .total-row,
      .total-row span,
      .total-row strong,
      .summary-row,
      .summary-row span {
        font-size: 15px !important;
        line-height: 1.4 !important;
      }

      /* --- Carrinho vazio e avisos de tela --- */
      .empty-cart,
      .empty-cart p,
      .empty-state,
      .empty-state p {
        font-size: 15px !important;
        line-height: 1.5 !important;
      }

      /* --- Texto de apoio: 12,5px --- */
      .upload-note,
      .field-help,
      .map-help,
      .role-note,
      .metric small,
      .wallet-card small,
      .deposit-intro,
      .deposit-mini,
      .deposit-pix-label,
      .deposit-user-card span,
      .deposit-details span,
      .profile-order-card .status,
      .profile-order-card .meta {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
      }

      .deposit-copy {
        font-size: 13px !important;
      }

      /* --- Celular: campos com 16px para o navegador nao dar zoom --- */
      @media all {
        .field label,
        .drawer .field label,
        form label,
        label {
          font-size: 16px !important;
        }
        .check-row,
        .check-row span,
        .check-row label,
        .cash-payment-label,
        .zone-table .check-row,
        .zone-table .check-row span {
          font-size: 16px !important;
        }
        .zone-table input,
        .settings-card input,
        .drawer input,
        .drawer select,
        .drawer textarea {
          font-size: 16px !important;
        }
      }


        /* === v3_5: banner de cupons rotativo (carrossel automatico) === */
        body.is-home-view .home-coupon-banner.sd-carousel {
          position: relative !important;
          touch-action: pan-y !important;
          cursor: pointer !important;
        }

        body.is-home-view .home-coupon-banner.sd-carousel > img {
          position: absolute !important;
          inset: 0 !important;
          display: block !important;
          width: 100% !important;
          height: 100% !important;
          object-fit: cover !important;
          object-position: center center !important;
          transition: opacity .45s ease !important;
        }

        body.is-home-view .home-coupon-banner.sd-carousel > img.sd-slide-img {
          mix-blend-mode: normal !important;
          opacity: 0 !important;
        }

        body.is-home-view .home-coupon-banner.sd-carousel > img.sd-hide {
          opacity: 0 !important;
        }

        body.is-home-view .home-coupon-banner.sd-carousel > img.sd-show {
          opacity: 1 !important;
        }

        body.is-home-view .home-coupon-banner.sd-carousel .home-coupon-copy {
          transition: opacity .28s ease, transform .28s ease !important;
        }

        body.is-home-view .home-coupon-banner.sd-carousel .home-coupon-copy.sd-copy-out {
          opacity: 0 !important;
          transform: translateX(-9px) !important;
        }

        body.is-home-view .home-banner-dots i {
          transition: width .3s ease, background .3s ease !important;
          cursor: pointer !important;
        }

        body.is-home-view .home-banner-dots.sd-dots-live {
          padding: 3px 0 !important;
        }

        @media (prefers-reduced-motion: reduce) {
          body.is-home-view .home-coupon-banner.sd-carousel > img,
          body.is-home-view .home-coupon-banner.sd-carousel .home-coupon-copy {
            transition: none !important;
          }
        }
      /* ===== v3_6: logo do card inteira (quadrada, ~1/4 do card) ===== */
      .store-card > .store-cover,
      body.is-home-view .store-card > .store-cover,
      body.is-shop-view .store-card > .store-cover {
        width: 25% !important;
        flex: 0 0 25% !important;
        min-width: 60px !important;
        max-width: 96px !important;
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        align-self: center !important;
        object-fit: contain !important;
        object-position: center center !important;
        background: #ffffff !important;
        border: 1px solid #f1f1f1 !important;
        border-radius: 12px !important;
        padding: 4px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
      }
      .store-card > div.store-cover {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }
      /* ===== v3_6: novas secoes da home (Promocoes / Lojas) ===== */
      .sd-lojas-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
      }
      .sd-hidden-section {
        display: none !important;
      }
      .sd-empty-note {
        color: var(--muted);
        font-size: 13px;
        margin: 0;
      }
      .sd-history-note {
        color: var(--muted);
        font-size: 13.5px;
        margin: 10px 0 0;
      }

      /* Categorias mobile: faixa pastel curta atrás e arte PNG em primeiro plano. */
      @media all {
        .home-page .categories {
          gap: 16px;
          padding: 8px 2px 18px;
          margin-right: -22px;
          overflow-x: auto;
          scrollbar-width: none;
        }
        .home-page .categories::-webkit-scrollbar { display: none; }
        .home-page .category {
          min-width: 82px;
          width: 82px;
          color: #696969;
          font-size: 13px;
          line-height: 1.2;
        }
        .home-page .category .cat-img {
          position: relative;
          width: 82px;
          height: 44px;
          margin: 0 auto 13px;
          border: 0;
          border-radius: 8px;
          background: transparent !important;
          overflow: visible;
          display: block;
          isolation: isolate;
          box-shadow: none;
        }
        .home-page .category .cat-img img.home-cat-art {
          position: absolute;
          left: 50%;
          bottom: -3px;
          width: 54px;
          height: 54px;
          max-width: none;
          transform: translateX(-50%);
          object-fit: contain;
          display: block;
          z-index: 2;
          filter: drop-shadow(0 3px 2px rgba(40, 30, 20, .08));
        }

        .home-page .category .cat-img::before {
          content: "";
          position: absolute;
          left: 50%;
          right: auto;
          bottom: 4px;
          width: 42px;
          height: 24px;
          transform: translateX(-50%);
          border-radius: 8px;
          z-index: -1;
        }
        .home-page .category .cat-img.cat-burger::before { background: #b7d63a; }
        .home-page .category .cat-img.cat-pizza::before { background: #ee86ad; }
        .home-page .category .cat-img.cat-sweet::before { background: #f2c94c; }
        .home-page .category .cat-img.cat-acai::before { background: #b68ad8; }
        .home-page .category .cat-img.cat-combo::before { background: #75c878; }
        .home-page .category .cat-img.cat-salty::before { background: #f5a623; }
        .home-page .category .cat-img.cat-drink::before { background: #56c7df; }
        .home-page .category .cat-img.cat-pharmacy::before { background: #4db6ac; }
        .home-page .category .cat-img:not(.cat-burger):not(.cat-pizza):not(.cat-sweet):not(.cat-acai):not(.cat-combo):not(.cat-salty):not(.cat-drink):not(.cat-pharmacy)::before { background: #b7d63a; }
        .home-page .category:hover .cat-img,
        .home-page .category.selected .cat-img { transform: translateY(-3px); box-shadow: none; outline: none !important; border: 0 !important; }
        .home-page .category.selected,
        .home-page .category.selected span { color: #696969 !important; font-weight: 700; }
      }
    .auth-divider{display:flex;align-items:center;gap:12px;margin:14px 0 10px;color:#98a2b3;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#e4e7ec}.auth-divider span{padding:0 2px}.google-auth-btn{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#3c4043;font-size:15px;font-weight:600;letter-spacing:.01em;box-shadow:0 1px 2px rgba(60,64,67,.12);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.google-auth-btn::before{content:"";width:20px;height:20px;display:block;background:url("https://www.gstatic.com/firebasejs/ui/2.0.0/images/auth/google.svg") center/contain no-repeat}.google-auth-btn:hover{background:#f8fafd;box-shadow:0 2px 6px rgba(60,64,67,.18)}.google-auth-btn:active{transform:translateY(1px)}.google-auth-btn:focus-visible{outline:3px solid rgba(66,133,244,.25);outline-offset:2px}
    
