/* ============================================================
   SAVANA MOBILE-FIRST — Instagram/Pinterest Design System
   v2.0 — Full-site mobile-first overhaul
   ============================================================ */

:root {
  --savana-bottom-nav-height: 64px;
  --savana-bottom-nav-bg: rgba(255,255,255,0.96);
  --savana-bottom-nav-blur: 16px;
  --savana-bottom-nav-border: rgba(0,0,0,0.08);
  --savana-bottom-nav-active: var(--primary-color, #fab528);
  --savana-bottom-nav-inactive: #8e8e93;
  --savana-bottom-nav-icon-size: 26px;
  --savana-bottom-nav-font-size: 10px;
  --savana-primary: var(--primary-color, #fab528);
  --savana-primary-rgb: var(--primary-color-rgb, 250, 181, 40);
  --savana-bg: #fafafa;
  --savana-surface: #ffffff;
  --savana-text: #1c1c1e;
  --savana-text-secondary: #8e8e93;
  --savana-border: rgba(0,0,0,0.06);
  --savana-safe-bottom: env(safe-area-inset-bottom, 0px);
  --savana-radius-sm: 8px;
  --savana-radius-md: 12px;
  --savana-radius-lg: 16px;
  --savana-radius-xl: 24px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --savana-bg: #000000;
    --savana-surface: #121212;
    --savana-text: #f5f5f5;
    --savana-text-secondary: #8e8e93;
    --savana-border: rgba(255,255,255,0.08);
    --savana-bottom-nav-bg: rgba(18,18,18,0.96);
    --savana-bottom-nav-border: rgba(255,255,255,0.08);
  }
}

/* ============================================================
   BASE MOBILE RESETS
   ============================================================ */
@media (max-width: 1199px) {
  body {
    padding-bottom: calc(var(--savana-bottom-nav-height) + var(--savana-safe-bottom));
    background: var(--savana-bg);
  }

  /* Remove old desktop nav on mobile */
  .navigation--list { display: none !important; }

  /* Hide desktop header elements on mobile */
  .header--1 .header__top { display: none !important; }
  .header--1 .navigation { display: none !important; }

  /* Keep mobile header visible */
  .header--mobile { display: block !important; }

  /* Container - full width on mobile */
  .ps-container,
  .container { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }

  /* Remove gaps from row/col wrappers */
  .row { margin-left: 0 !important; margin-right: 0 !important; }
  .row > * { padding-left: 0 !important; padding-right: 0 !important; }

  /* Section spacing */
  .ps-section--shopping { padding-top: 0 !important; }
  .ps-page--shop { padding-top: 0; }
}

/* ============================================================
   HIGH-CONTRAST BUTTON SYSTEM
   Full-primary-color buttons with strong visual weight
   ============================================================ */
@media (max-width: 1199px) {
  /* All primary buttons get the high-contrast treatment */
  .ps-btn,
  .savana-btn,
  button.ps-btn,
  a.ps-btn,
  input[type="submit"].ps-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 24px !important;
    border-radius: var(--savana-radius-md) !important;
    background: var(--savana-primary) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: none !important;
    text-decoration: none !important;
    letter-spacing: 0.01em !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 8px rgba(var(--savana-primary-rgb, 250, 181, 40), 0.3) !important;
    min-height: 48px;
    line-height: 1.2;
    text-align: center;
    touch-action: manipulation;
    cursor: pointer;
  }

  .ps-btn:active,
  .savana-btn:active { transform: scale(0.96); opacity: 0.9; }

  .ps-btn--outline {
    background: transparent !important;
    color: var(--savana-primary) !important;
    border: 2px solid var(--savana-primary) !important;
    box-shadow: none !important;
  }

  .ps-btn--black {
    background: #1c1c1e !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .ps-btn--fullwidth { width: 100% !important; }

  /* Full-width button for mobile CTA */
  .savana-btn--block { width: 100% !important; }

  /* Pill shape for accent actions */
  .savana-btn--pill { border-radius: 999px !important; }

  /* Small secondary buttons */
  .savana-btn--sm {
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    min-height: 36px;
    border-radius: var(--savana-radius-sm) !important;
  }

  /* Bottom-fixed CTA (Pinterest-style floating action) */
  .savana-bottom-cta {
    position: fixed;
    bottom: calc(var(--savana-bottom-nav-height) + 16px + var(--savana-safe-bottom));
    left: 16px;
    right: 16px;
    z-index: 9999;
  }

  .savana-bottom-cta .ps-btn {
    width: 100%;
    padding: 16px !important;
    font-size: 16px !important;
    border-radius: var(--savana-radius-md) !important;
    box-shadow: 0 4px 20px rgba(var(--savana-primary-rgb, 250, 181, 40), 0.4) !important;
  }

  /* Text links using primary */
  a:not(.ps-btn):not(.savana-btn) { color: var(--savana-primary); font-weight: 600; }

  /* High-contrast underlines on active nav items */
  .navigation__right .menu > li > a:hover,
  .navigation__right .menu > li.active > a { color: var(--savana-primary) !important; }

  /* All .header__extra badges */
  .header__extra span i { background: var(--savana-primary) !important; }
}

/* ============================================================
   MOBILE HEADER (Instagram-style)
   ============================================================ */
@media (max-width: 1199px) {
  .header--mobile { background: var(--savana-surface) !important; border-bottom: 1px solid var(--savana-border) !important; }

  .header--mobile .navigation--mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    height: 52px;
  }

  .header--mobile .ps-logo img { max-height: 36px !important; }

  .header--mobile .header__actions { display: flex; align-items: center; gap: 12px; }

  .header--mobile .header__actions .ps-block--user-header a { font-size: 22px; color: var(--savana-text); }

  .header--mobile .header__actions .header__extra { font-size: 22px; color: var(--savana-text); position: relative; }

  .header--mobile .header__actions .header__extra span i {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--savana-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 999px;
    line-height: 1;
    padding: 0 4px;
    font-style: normal;
  }

  .header--mobile .ps-search--mobile {
    padding: 8px 16px 12px;
  }

  .header--mobile .ps-form--search-mobile .form-group--nest {
    display: flex;
    align-items: center;
    background: #f2f2f7;
    border-radius: var(--savana-radius-md);
    overflow: hidden;
  }

  .header--mobile .ps-form--search-mobile input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 10px 12px 10px 16px;
    font-size: 15px;
    outline: none;
    min-height: 44px;
    color: var(--savana-text);
  }

  .header--mobile .ps-form--search-mobile input::placeholder { color: #8e8e93; }

  .header--mobile .ps-form--search-mobile button {
    padding: 10px 14px;
    background: none;
    border: none;
    color: var(--savana-primary);
    font-size: 20px;
    cursor: pointer;
  }

  .header--mobile .spinner-icon { display: none; }

  .savana-mobile-account { display: none; }

  .savana-mobile-wallet { font-size: 12px; color: var(--savana-text-secondary); display: flex; align-items: center; gap: 4px; }

  .savana-mobile-wallet svg { width: 18px; height: 18px; }
}

/* ============================================================
   AUTH PAGES (Login / Register) — Full-screen Instagram-style
   ============================================================ */
@media (max-width: 1199px) {
  .ps-my-account {
    min-height: calc(100vh - 120px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 20px 80px;
    background: var(--savana-bg);
  }

  .ps-form--account {
    width: 100%;
    max-width: 400px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-lg);
    padding: 32px 24px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  }

  .ps-form--account h3,
  .ps-form--account .form__header h3 {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 8px;
    color: var(--savana-text);
  }

  .ps-form--account .form__header p {
    text-align: center;
    color: var(--savana-text-secondary);
    font-size: 14px;
    margin-bottom: 24px;
  }

  .ps-form--account .form-group {
    margin-bottom: 16px;
  }

  .ps-form--account .form-control {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e8e8e8;
    border-radius: var(--savana-radius-sm);
    font-size: 15px;
    background: #fafafa;
    color: var(--savana-text);
    transition: border-color 0.2s;
    min-height: 48px;
  }

  .ps-form--account .form-control:focus {
    border-color: var(--savana-primary);
    outline: none;
    background: #fff;
  }

  .ps-form--account .form-control::placeholder { color: #aeaeb2; }

  .ps-form--account label { font-size: 14px; font-weight: 600; color: var(--savana-text); margin-bottom: 6px; display: block; }

  .ps-form--account .ps-checkbox { display: flex; align-items: center; gap: 8px; }

  .ps-form--account .ps-checkbox input[type="checkbox"] {
    width: 20px; height: 20px; accent-color: var(--savana-primary);
  }

  .ps-form--account .ps-checkbox label { font-weight: 400; font-size: 14px; margin-bottom: 0; }

  .ps-form--account .ps-btn--fullwidth { width: 100%; margin-top: 8px; }

  .ps-form--account .text-center a { color: var(--savana-primary); font-weight: 600; }

  .ps-form--account .form-footer { text-align: center; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--savana-border); }

  .ps-form--account .form-footer a { font-weight: 600; }

  /* Error messages */
  .ps-form--account .help-block { font-size: 12px; color: #ff3b30; margin-top: 4px; }

  .ps-form--account .alert { border-radius: var(--savana-radius-sm); padding: 12px 16px; font-size: 14px; margin-bottom: 16px; }

  /* Password reset / forgot password pages */
  .ps-form--account .form-group .col-6 { flex: 0 0 50%; max-width: 50%; }
}

/* ============================================================
   CART PAGE — Mobile-first, swipeable cart items
   ============================================================ */
@media (max-width: 1199px) {
  .ps-shopping-cart { padding: 0 16px !important; }

  .ps-shopping-cart .ps-section__header {
    padding: 16px 0;
    border-bottom: 1px solid var(--savana-border);
    margin-bottom: 16px;
  }

  .ps-shopping-cart .ps-section__header h1 { font-size: 22px; font-weight: 700; color: var(--savana-text); }

  /* Replace table layout with card layout on mobile */
  .ps-shopping-cart .table-responsive { border: none !important; }

  .ps-shopping-cart .ps-table--shopping-cart thead { display: none; }

  .ps-shopping-cart .ps-table--shopping-cart tbody tr {
    display: flex;
    flex-direction: column;
    padding: 16px;
    margin-bottom: 12px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    border: 1px solid var(--savana-border);
    position: relative;
  }

  .ps-shopping-cart .ps-table--shopping-cart tbody tr td {
    display: block;
    border: none !important;
    padding: 4px 0;
    background: transparent !important;
  }

  .ps-shopping-cart .ps-table--shopping-cart td[data-label="Product"] {
    display: flex;
    gap: 12px;
    padding-bottom: 8px;
  }

  .ps-shopping-cart .ps-product--cart { display: flex; gap: 12px; width: 100%; }

  .ps-shopping-cart .ps-product--cart .ps-product__thumbnail {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: var(--savana-radius-sm);
    overflow: hidden;
    background: #f5f5f5;
  }

  .ps-shopping-cart .ps-product--cart .ps-product__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ps-shopping-cart .ps-product--cart .ps-product__content {
    flex: 1;
    min-width: 0;
  }

  .ps-shopping-cart .ps-product--cart .ps-product__content a {
    font-size: 14px;
    font-weight: 600;
    color: var(--savana-text);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .ps-shopping-cart .ps-product--cart .sold-by { font-size: 12px; color: var(--savana-text-secondary); margin-top: 2px; }

  .ps-shopping-cart .ps-product--cart .sold-by a { font-size: 12px; color: var(--savana-primary); font-weight: 600; }

  .ps-shopping-cart .ps-table--shopping-cart td.price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0 4px !important;
  }

  .ps-shopping-cart .ps-table--shopping-cart td.price .product__price { display: flex; align-items: center; gap: 8px; }

  .ps-shopping-cart .ps-table--shopping-cart td.price .product__price span { font-size: 16px; font-weight: 700; color: var(--savana-primary); }

  .ps-shopping-cart .ps-table--shopping-cart td.price .product__price del { font-size: 13px; color: var(--savana-text-secondary); }

  .ps-shopping-cart .product__qty {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: #f2f2f7;
    border-radius: var(--savana-radius-sm);
    overflow: hidden;
  }

  .ps-shopping-cart .product__qty button {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    font-size: 18px;
    font-weight: 600;
    color: var(--savana-primary);
    cursor: pointer;
  }

  .ps-shopping-cart .product__qty input {
    width: 44px;
    height: 36px;
    border: none;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    background: transparent;
    color: var(--savana-text);
  }

  .ps-shopping-cart .product__qty input:focus { outline: none; }

  /* Remove button */
  .remove-cart-button { color: #ff3b30 !important; font-size: 18px; }

  .remove-cart-mobile {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,59,48,0.1);
    z-index: 2;
  }

  .td-remove { display: none !important; }

  /* Cart total section */
  .ps-shopping-cart .ps-section__footer { padding: 16px 0 80px; }

  .ps-shopping-cart .form-coupon-wrapper {
    padding: 16px;
    margin-bottom: 16px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
  }

  .ps-shopping-cart .form-coupon-wrapper figcaption {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--savana-text);
  }

  .ps-shopping-cart .form-coupon-wrapper .form-group {
    display: flex;
    gap: 8px;
  }

  .ps-shopping-cart .form-coupon-wrapper .form-control {
    flex: 1;
    padding: 12px 14px;
    border: 2px solid #e8e8e8;
    border-radius: var(--savana-radius-sm);
    font-size: 14px;
    min-height: 44px;
  }

  .ps-shopping-cart .form-coupon-wrapper .form-control:focus {
    border-color: var(--savana-primary);
    outline: none;
  }

  .ps-shopping-cart .form-coupon-wrapper .ps-btn--outline {
    white-space: nowrap;
    padding: 12px 20px !important;
    min-height: 44px;
  }

  /* Cart total block */
  .ps-block--shopping-total {
    padding: 20px 16px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
    margin-bottom: 16px;
  }

  .ps-block--shopping-total .ps-block__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 14px;
    color: var(--savana-text);
  }

  .ps-block--shopping-total .ps-block__header span { font-weight: 700; }

  .ps-block--shopping-total .ps-block__content {
    border-top: 1px solid var(--savana-border);
    margin-top: 8px;
    padding-top: 12px;
  }

  .ps-block--shopping-total .ps-block__content h3 {
    display: flex;
    justify-content: space-between;
    font-size: 20px;
    font-weight: 800;
    color: var(--savana-primary);
  }

  .ps-block--shopping-total .ps-block__content p small { font-size: 12px; color: var(--savana-text-secondary); }

  /* Cart action buttons */
  .btn-cart-button-action {
    display: block;
    text-align: center;
    margin-top: 8px;
  }

  .btn-cart-button-action:first-of-type {
    background: transparent !important;
    color: var(--savana-primary) !important;
    border: 2px solid var(--savana-primary) !important;
    box-shadow: none !important;
  }

  .btn-cart-button-action:last-of-type {
    margin-top: 12px;
  }

  /* Empty cart */
  .ps-cart-empty { padding: 60px 20px; text-align: center; }

  .ps-cart-empty__icon svg { width: 72px; height: 72px; color: var(--savana-text-secondary); opacity: 0.4; }

  .ps-cart-empty h3 { font-size: 20px; font-weight: 700; margin: 16px 0 8px; color: var(--savana-text); }

  .ps-cart-empty p { font-size: 14px; color: var(--savana-text-secondary); margin-bottom: 24px; }
}

/* ============================================================
   WISHLIST PAGE — Instagram-style card grid
   ============================================================ */
@media (max-width: 1199px) {
  .ps-section--shopping.ps-section--wishlist .ps-section__header,
  .ps-section > .container > .ps-section__header {
    padding: 16px;
    border-bottom: 1px solid var(--savana-border);
  }

  .ps-section--shopping.ps-section--wishlist .ps-section__header h1,
  .ps-section > .container > .ps-section__header h1 {
    font-size: 22px;
    font-weight: 700;
    color: var(--savana-text);
  }

  .ps-table--wishlist thead { display: none; }

  .ps-table--wishlist tbody tr {
    display: flex;
    flex-direction: column;
    padding: 16px;
    margin: 0 16px 12px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
  }

  .ps-table--wishlist tbody tr td {
    display: block;
    border: none !important;
    padding: 4px 0;
  }

  .ps-table--wishlist .ps-product--cart {
    display: flex;
    gap: 12px;
    width: 100%;
  }

  .ps-table--wishlist .ps-product__thumbnail {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: var(--savana-radius-sm);
    overflow: hidden;
    background: #f5f5f5;
  }

  .ps-table--wishlist .ps-product__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ps-table--wishlist .ps-product__content { flex: 1; }

  .ps-table--wishlist .ps-product__content a {
    font-size: 14px;
    font-weight: 600;
    color: var(--savana-text);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .ps-table--wishlist .price {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0 4px !important;
  }

  .ps-table--wishlist .price .price { font-size: 16px; font-weight: 700; color: var(--savana-primary); }

  .ps-table--wishlist td[data-label="Action"] {
    padding-top: 8px !important;
  }

  .ps-table--wishlist td[data-label="Action"] .add-to-cart-button {
    width: 100%;
  }

  .ps-table--wishlist .remove-cart-button { color: #ff3b30; }

  .ps-table--wishlist .ps-pagination { padding: 20px 16px; display: flex; justify-content: center; }
}

/* ============================================================
   COMPARE PAGE — Mobile-friendly
   ============================================================ */
@media (max-width: 1199px) {
  .ps-compare .ps-section__header { padding: 16px; border-bottom: 1px solid var(--savana-border); }
  .ps-compare .ps-section__header h1 { font-size: 22px; font-weight: 700; }
  .ps-compare .ps-section__content { padding: 16px; }
  .ps-compare .table-responsive { border: none; }
  .ps-table--compare td.heading { min-width: 100px; font-weight: 700; font-size: 13px; }
  .ps-table--compare .ps-product--compare .ps-product__thumbnail { width: 80px; height: 80px; }
  .ps-compare .add-to-cart-button { width: 100%; font-size: 13px; padding: 10px !important; }
}

/* ============================================================
   CHECKOUT PAGE — Mobile-first
   ============================================================ */
@media (max-width: 1199px) {
  .checkout-page { padding-bottom: 100px; }

  .checkout-page .container { padding: 0 16px !important; }

  .checkout-page .checkout-title {
    font-size: 22px;
    font-weight: 700;
    padding: 16px 0;
    border-bottom: 1px solid var(--savana-border);
    margin-bottom: 16px;
  }

  .checkout-page .form-group { margin-bottom: 16px; }

  .checkout-page .form-control {
    padding: 14px 16px;
    border: 2px solid #e8e8e8;
    border-radius: var(--savana-radius-sm);
    font-size: 15px;
    min-height: 48px;
    width: 100%;
  }

  .checkout-page .form-control:focus { border-color: var(--savana-primary); outline: none; }

  .checkout-page label { font-size: 14px; font-weight: 600; margin-bottom: 6px; display: block; }

  /* Checkout order summary card */
  .checkout-page .order-summary {
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
    padding: 20px 16px;
    margin-bottom: 16px;
  }

  .checkout-page .order-summary h3 { font-size: 16px; font-weight: 700; margin-bottom: 12px; }

  /* Payment method radio cards */
  .checkout-page .payment-method-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 2px solid #e8e8e8;
    border-radius: var(--savana-radius-sm);
    margin-bottom: 8px;
    cursor: pointer;
    transition: border-color 0.2s;
  }

  .checkout-page .payment-method-item.selected,
  .checkout-page .payment-method-item:has(input:checked) {
    border-color: var(--savana-primary);
  }

  .checkout-page .payment-method-item input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--savana-primary);
  }

  .checkout-page .payment-method-item .payment-name {
    font-size: 15px;
    font-weight: 600;
  }

  /* Checkout fixed bottom bar */
  .checkout-fixed-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10001;
    padding: 12px 16px calc(12px + var(--savana-safe-bottom));
    background: var(--savana-surface);
    border-top: 1px solid var(--savana-border);
    backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .checkout-fixed-bar .checkout-total {
    font-size: 14px;
    color: var(--savana-text-secondary);
  }

  .checkout-fixed-bar .checkout-total strong {
    font-size: 18px;
    color: var(--savana-primary);
    font-weight: 800;
    display: block;
  }

  .checkout-fixed-bar .checkout-btn {
    flex: 1;
    max-width: 200px;
  }
}

/* ============================================================
   CUSTOMER DASHBOARD — Mobile profile-style
   ============================================================ */
@media (max-width: 1199px) {
  .ps-section--account { padding: 0 !important; min-height: calc(100vh - 120px); background: var(--savana-bg); }

  .ps-section--account .container { padding: 0 !important; max-width: 100% !important; }

  .ps-section--account .row { display: flex; flex-direction: column; }

  .ps-section--account .col-lg-4 { max-width: 100%; flex: 0 0 100%; }

  .ps-section--account .col-lg-8 { max-width: 100%; flex: 0 0 100%; }

  /* Sidebar becomes a horizontal scrollable bar */
  .ps-widget--account-dashboard {
    background: var(--savana-surface);
    border-bottom: 1px solid var(--savana-border);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: sticky;
    top: 0;
    z-index: 100;
  }

  .ps-widget--account-dashboard::-webkit-scrollbar { display: none; }

  .ps-widget--account-dashboard .ps-widget__content ul {
    display: flex;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
    white-space: nowrap;
  }

  .ps-widget--account-dashboard .ps-widget__content ul li {
    display: inline-flex;
    flex-shrink: 0;
  }

  .ps-widget--account-dashboard .ps-widget__content ul li a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--savana-text-secondary);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
  }

  .ps-widget--account-dashboard .ps-widget__content ul li a.active {
    color: var(--savana-primary);
    border-bottom-color: var(--savana-primary);
  }

  .ps-widget--account-dashboard .ps-widget__content ul li a svg {
    width: 18px;
    height: 18px;
  }

  .ps-section--account .ps-section__right {
    padding: 16px;
  }

  /* Overview card */
  .ps-section--account .ps-section__right .user-profile {
    text-align: center;
    padding: 32px 16px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-lg);
    border: 1px solid var(--savana-border);
    margin-bottom: 16px;
  }

  .ps-section--account .ps-section__right .user-profile .avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 12px;
    display: block;
  }

  .ps-section--account .ps-section__right .user-profile h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px;
  }

  .ps-section--account .ps-section__right .user-profile .email {
    font-size: 14px;
    color: var(--savana-text-secondary);
    margin-bottom: 16px;
  }

  .ps-section--account .ps-section__right .user-profile .wallet {
    font-size: 24px;
    font-weight: 800;
    color: var(--savana-primary);
  }

  /* Orders list */
  .ps-section--account .ps-section__right .order-card {
    padding: 16px;
    margin-bottom: 12px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
  }

  .ps-section--account .ps-section__right .order-card .order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
  }

  .ps-section--account .ps-section__right .order-card .order-id {
    font-weight: 700;
    font-size: 14px;
  }

  .ps-section--account .ps-section__right .order-card .order-status {
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 600;
  }

  .ps-section--account .ps-section__right .order-card .order-total {
    font-size: 16px;
    font-weight: 700;
    color: var(--savana-primary);
  }

  .ps-section--account .ps-section__right .order-card .order-date {
    font-size: 13px;
    color: var(--savana-text-secondary);
  }

  /* Order detail view */
  .ps-section--account .ps-section__right .order-detail-header {
    margin-bottom: 16px;
  }

  .ps-section--account .ps-section__right .order-detail-header h3 {
    font-size: 20px;
    font-weight: 700;
  }

  /* Address cards */
  .ps-section--account .ps-section__right .address-card {
    padding: 16px;
    margin-bottom: 12px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
  }

  .ps-section--account .ps-section__right .address-card .address-name {
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 4px;
  }

  .ps-section--account .ps-section__right .address-card .address-detail {
    font-size: 14px;
    color: var(--savana-text-secondary);
    line-height: 1.5;
  }

  .ps-section--account .ps-section__right .address-card .address-actions {
    display: flex;
    gap: 12px;
    margin-top: 8px;
  }

  .ps-section--account .ps-section__right .address-card .address-actions a {
    font-size: 13px;
    font-weight: 600;
  }
}

/* ============================================================
   PRODUCT DETAIL PAGE — Full-bleed Instagram images
   ============================================================ */
@media (max-width: 1199px) {
  .ps-page--product { padding-top: 0; }

  .ps-page--product .ps-container { padding: 0 !important; }

  .ps-product--detail {
    max-width: 100%;
  }

  /* Full-bleed gallery */
  .ps-product--detail .ps-product__header { display: flex; flex-direction: column; }

  .ps-product--detail .ps-product__thumbnail {
    width: 100%;
    margin: 0;
  }

  .ps-product--detail .ps-product__thumbnail .ps-product__gallery {
    width: 100%;
  }

  .ps-product--detail .ps-product__thumbnail .ps-product__gallery .slick-track { display: flex; }

  .ps-product--detail .ps-product__thumbnail .ps-product__gallery .slick-slide {
    aspect-ratio: 1;
    overflow: hidden;
    background: #f5f5f5;
  }

  .ps-product--detail .ps-product__thumbnail .ps-product__gallery .slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Action buttons overlay on gallery */
  .savana-product-gallery-actions {
    position: absolute;
    bottom: 16px;
    right: 16px;
    z-index: 5;
    display: flex;
    gap: 8px;
  }

  .savana-product-gallery-actions button,
  .savana-product-gallery-actions a {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.95);
    border: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--savana-text);
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: transform 0.2s;
  }

  .savana-product-gallery-actions button:active { transform: scale(0.9); }

  /* Product info section */
  .ps-product--detail .ps-product__info {
    padding: 20px 16px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-lg) var(--savana-radius-lg) 0 0;
    margin-top: -16px;
    position: relative;
    z-index: 2;
  }

  .ps-product--detail .ps-product__info h1 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 8px;
  }

  .ps-product--detail .ps-product__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
  }

  .ps-product--detail .ps-product__meta p { font-size: 13px; margin: 0; }

  .ps-product--detail .ps-product__meta p a { font-weight: 600; }

  .ps-product--detail .ps-product__price {
    font-size: 24px;
    font-weight: 800;
    color: var(--savana-primary);
    margin-bottom: 4px;
  }

  .ps-product--detail .ps-product__price del {
    font-size: 16px;
    font-weight: 400;
    color: var(--savana-text-secondary);
    margin-left: 8px;
  }

  .ps-product--detail .ps-product__tax-text { font-size: 12px; margin-bottom: 12px; }

  .ps-product--detail .ps-product__desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--savana-text-secondary);
    margin-bottom: 16px;
  }

  .ps-product--detail .ps-product__desc p { margin-bottom: 4px; }

  .ps-product--detail .ps-product__desc .ps-list--dot { padding-left: 16px; }

  /* Store badge */
  .ps-product--detail .ps-product__desc a strong { color: var(--savana-primary); }

  /* Flash sale countdown */
  .ps-product--detail .ps-product__countdown {
    padding: 16px;
    background: linear-gradient(135deg, #fff5f5, #fff0f0);
    border-radius: var(--savana-radius-md);
    margin-bottom: 16px;
  }

  .ps-product--detail .ps-product__countdown figcaption { font-size: 13px; font-weight: 600; margin-bottom: 8px; }

  .ps-product--detail .ps-product__countdown .ps-countdown {
    display: flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .ps-product--detail .ps-product__countdown .ps-countdown li {
    text-align: center;
    background: #fff;
    border-radius: var(--savana-radius-sm);
    padding: 8px 12px;
    min-width: 52px;
  }

  .ps-product--detail .ps-product__countdown .ps-countdown li span { font-size: 18px; font-weight: 800; display: block; color: #ff3b30; }
  .ps-product--detail .ps-product__countdown .ps-countdown li p { font-size: 10px; color: var(--savana-text-secondary); margin: 0; }

  /* Swatch selectors - Instagram story-style */
  .pr_switch_wrap { margin-bottom: 16px; }

  .pr_switch_wrap .attribute-values .text-swatch { display: flex; gap: 8px; flex-wrap: wrap; padding: 0; list-style: none; }

  .pr_switch_wrap .attribute-values .text-swatch li label span {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 999px;
    background: #f2f2f7;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.2s;
  }

  .pr_switch_wrap .attribute-values .text-swatch li.active label span {
    border-color: var(--savana-primary);
    background: rgba(var(--savana-primary-rgb, 250, 181, 40), 0.1);
  }

  .pr_switch_wrap .visual-swatch { display: flex; gap: 8px; flex-wrap: wrap; padding: 0; list-style: none; }

  .pr_switch_wrap .visual-swatch li label span {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.2s;
  }

  .pr_switch_wrap .visual-swatch li.active label span { border-color: var(--savana-primary); }

  /* Quantity + Add to cart - Pinterest-style sticky bottom bar */
  .ps-product--detail .add-to-cart-form { margin-bottom: 16px; }

  .savana-product-sticky-bar {
    position: fixed;
    bottom: calc(var(--savana-bottom-nav-height) + var(--savana-safe-bottom));
    left: 0;
    right: 0;
    z-index: 10000;
    padding: 12px 16px;
    background: var(--savana-surface);
    border-top: 1px solid var(--savana-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: savana-slide-up 0.3s ease;
  }

  @keyframes savana-slide-up {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
  }

  .savana-product-sticky-bar .savana-product-sticky-price {
    font-size: 18px;
    font-weight: 800;
    color: var(--savana-primary);
    white-space: nowrap;
  }

  .savana-product-sticky-bar .savana-product-sticky-price del {
    font-size: 13px;
    font-weight: 400;
    color: var(--savana-text-secondary);
    margin-left: 4px;
  }

  .savana-product-sticky-bar .product__qty {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: #f2f2f7;
    border-radius: var(--savana-radius-sm);
    overflow: hidden;
  }

  .savana-product-sticky-bar .product__qty button {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    font-size: 18px;
    font-weight: 700;
    color: var(--savana-primary);
    cursor: pointer;
  }

  .savana-product-sticky-bar .product__qty input {
    width: 36px;
    height: 36px;
    border: none;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    background: transparent;
    color: var(--savana-text);
  }

  .savana-product-sticky-bar .ps-btn { flex: 1; white-space: nowrap; }

  /* Trust badges section */
  .savana-product-trust {
    padding: 20px 16px;
    margin: 0 -16px;
    background: #f9f9f9;
  }

  .savana-product-trust h2 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--savana-text-secondary);
    margin-bottom: 12px;
  }

  .savana-product-trust__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .savana-product-trust__item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--savana-surface);
    border-radius: var(--savana-radius-sm);
    font-size: 12px;
  }

  .savana-product-trust__item svg,
  .savana-product-trust__item i {
    color: var(--savana-primary);
    font-size: 18px;
    flex-shrink: 0;
  }

  .savana-product-trust__item strong { display: block; font-size: 12px; }
  .savana-product-trust__item span { font-size: 11px; color: var(--savana-text-secondary); }

  /* Product detail tabs (reviews) */
  .ps-product--detail .ps-product__thumbnail .ps-product__gallery .ps-product__gallery__item { border: none; }

  .ps-product--detail .nav-tabs {
    display: flex;
    border-bottom: 1px solid var(--savana-border);
    margin: 0 -16px;
    padding: 0 16px;
    background: var(--savana-surface);
    position: sticky;
    top: 0;
    z-index: 10;
  }

  .ps-product--detail .nav-tabs .nav-link {
    flex: 1;
    text-align: center;
    padding: 14px 12px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--savana-text-secondary);
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    cursor: pointer;
  }

  .ps-product--detail .nav-tabs .nav-link.active {
    color: var(--savana-primary);
    border-bottom-color: var(--savana-primary);
  }

  .ps-product--detail .tab-content { padding: 16px; }

  /* Hide desktop product header sticky */
  .header--product { display: none; }
}

/* ============================================================
   PRODUCT LISTING — Pinterest-style grid
   ============================================================ */
@media (max-width: 1199px) {
  .ps-layout--shop { display: flex; flex-direction: column; }

  .ps-layout__left {
    position: fixed;
    top: 0;
    left: -100%;
    width: 85%;
    max-width: 340px;
    height: 100vh;
    z-index: 10005;
    background: var(--savana-surface);
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ps-layout__left.open { left: 0; }

  .screen-darken {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 10004;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
  }

  .screen-darken.active { opacity: 1; pointer-events: auto; }

  .ps-layout__left-container { padding: 16px; }

  .ps-filter__header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
  }

  .ps-filter__header h3 { font-size: 18px; font-weight: 700; }

  .ps-filter__header .ps-btn--close {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f2f2f7;
    color: var(--savana-text);
    font-size: 18px;
    text-decoration: none;
  }

  /* Filter bar at top */
  .header__filter button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 999px;
    background: var(--savana-surface);
    border: 1px solid var(--savana-border);
    font-size: 14px;
    font-weight: 600;
    color: var(--savana-text);
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
  }

  .header__filter button i { font-size: 16px; }

  /* Product grid: Pinterest-style 2-column */
  .ps-tabs.ps-products-listing {
    padding: 0 12px;
  }

  .ps-shopping .row.ps-products {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 0;
  }

  .ps-shopping .row.ps-products > * {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* Product cards in listing */
  .ps-shopping .row.ps-products .ps-product {
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
    border: 1px solid var(--savana-border);
    transition: transform 0.2s;
  }

  .ps-shopping .row.ps-products .ps-product:active { transform: scale(0.97); }

  .ps-shopping .row.ps-products .ps-product__image {
    aspect-ratio: 1;
    overflow: hidden;
    background: #f5f5f5;
  }

  .ps-shopping .row.ps-products .ps-product__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ps-shopping .row.ps-products .ps-product__content {
    padding: 10px;
  }

  .ps-shopping .row.ps-products .ps-product__title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
  }

  .ps-shopping .row.ps-products .ps-product__vendor {
    font-size: 11px;
    color: var(--savana-text-secondary);
    margin-bottom: 4px;
  }

  .ps-shopping .row.ps-products .ps-product__price {
    font-size: 14px;
    font-weight: 700;
    color: var(--savana-primary);
  }

  .ps-shopping .row.ps-products .ps-product__price del {
    font-size: 12px;
    color: var(--savana-text-secondary);
    margin-left: 4px;
  }

  .ps-shopping .row.ps-products .rating_wrap,
  .ps-shopping .row.ps-products .ps-product__actions,
  .ps-shopping .row.ps-products .ps-product__badges,
  .ps-shopping .row.ps-products .ps-product__shopping {
    display: none !important;
  }

  /* Products listing toolbar */
  .ps-shopping .bg-light {
    background: var(--savana-surface) !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid var(--savana-border);
  }

  .ps-shopping .products-found { font-size: 13px; color: var(--savana-text-secondary); }

  .ps-shopping .products-found strong { font-weight: 700; }

  .ps-shopping .ps-shopping__view { display: none !important; }

  /* Sort dropdown */
  .ps-shopping .sort-by { display: flex; align-items: center; gap: 4px; }

  .ps-shopping .sort-by label {
    font-size: 13px;
    color: var(--savana-text-secondary);
    white-space: nowrap;
  }

  .ps-shopping .sort-by select {
    padding: 8px 28px 8px 12px;
    border: 1px solid var(--savana-border);
    border-radius: var(--savana-radius-sm);
    font-size: 13px;
    font-weight: 600;
    background: var(--savana-surface);
    color: var(--savana-text);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
  }

  /* Pagination */
  .ps-shopping .ps-pagination {
    padding: 20px 16px;
    display: flex;
    justify-content: center;
  }

  .ps-shopping .ps-pagination .pagination { gap: 4px; }

  .ps-shopping .ps-pagination .page-link {
    padding: 8px 14px;
    border-radius: var(--savana-radius-sm);
    border: 1px solid var(--savana-border);
    font-size: 13px;
    font-weight: 600;
    color: var(--savana-text);
    background: var(--savana-surface);
  }

  .ps-shopping .ps-pagination .page-item.active .page-link {
    background: var(--savana-primary);
    color: #fff;
    border-color: var(--savana-primary);
  }

  /* Category banner */
  .ps-block--shop-features { padding: 16px; }
  .ps-block--shop-features .ps-block__header h1 { font-size: 22px; font-weight: 700; }
  .ps-block--shop-features .ps-block__content { font-size: 14px; color: var(--savana-text-secondary); line-height: 1.5; }

  /* Search results */
  .ps-page--shop .ps-block--shop-features .ps-block__header h1 { font-size: 18px; }
}

/* ============================================================
   STORES LISTING — Card grid
   ============================================================ */
@media (max-width: 1199px) {
  .ps-page--vendor { padding: 0; }

  .ps-vendor-stores {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px;
  }

  .ps-vendor-stores .ps-block--vendor {
    background: var(--savana-surface);
    border-radius: var(--savana-radius-md);
    overflow: hidden;
    border: 1px solid var(--savana-border);
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__thumbnail {
    width: 100%;
    aspect-ratio: 2/1;
    overflow: hidden;
    background: #f5f5f5;
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__content {
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__content .ps-block__vendor-logo {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid var(--savana-border);
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__content .ps-block__vendor-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__content h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
  }

  .ps-vendor-stores .ps-block--vendor .ps-block__content p {
    font-size: 13px;
    color: var(--savana-text-secondary);
    margin: 0;
  }

  /* Become vendor page */
  .page-become-vendor {
    padding: 24px 16px 80px;
  }

  .page-become-vendor .form__header h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 16px;
  }
}

/* ============================================================
   VENDOR DASHBOARD — Mobile-first
   ============================================================ */
@media (max-width: 1199px) {
  /* Override vendor dashboard for mobile */
  .ps-dashboard { padding: 16px; }

  .ps-dashboard .report-chart-content { padding: 0; }

  .ps-dashboard .row { margin: 0 -6px !important; }
  .ps-dashboard .row > * { padding: 6px !important; }

  .ps-dashboard .card {
    border-radius: var(--savana-radius-md);
    border: 1px solid var(--savana-border);
    box-shadow: none;
  }

  .ps-dashboard .card-header {
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 700;
    background: transparent;
    border-bottom: 1px solid var(--savana-border);
  }

  .ps-dashboard .card-body { padding: 14px; }

  /* Vendor sidebar nav collapses */
  .ps-dashboard .sidebar { display: none; }
}

/* ============================================================
   ORDER TRACKING PAGE
   ============================================================ */
@media (max-width: 1199px) {
  .ps-page--order-tracking {
    padding: 24px 16px 80px;
    text-align: center;
  }

  .ps-page--order-tracking h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
  .ps-page--order-tracking p { font-size: 14px; color: var(--savana-text-secondary); margin-bottom: 24px; }

  .ps-page--order-tracking .form-control {
    padding: 14px 16px;
    border: 2px solid #e8e8e8;
    border-radius: var(--savana-radius-sm);
    font-size: 15px;
    width: 100%;
    min-height: 48px;
  }

  .ps-page--order-tracking .form-control:focus { border-color: var(--savana-primary); outline: none; }
}

/* ============================================================
   ERROR PAGES (404, 500, 503)
   ============================================================ */
@media (max-width: 1199px) {
  .ps-page--404,
  .ps-page--500,
  .ps-page--503 {
    padding: 60px 20px 100px;
    text-align: center;
  }

  .ps-page--404 h1,
  .ps-page--500 h1,
  .ps-page--503 h1 {
    font-size: 48px;
    font-weight: 800;
    color: var(--savana-primary);
    margin-bottom: 8px;
  }

  .ps-page--404 h2,
  .ps-page--500 h2,
  .ps-page--503 h2 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
  }

  .ps-page--404 p,
  .ps-page--500 p,
  .ps-page--503 p {
    font-size: 14px;
    color: var(--savana-text-secondary);
    margin-bottom: 24px;
  }
}

/* ============================================================
   BECOME VENDOR / APPROVING VENDOR
   ============================================================ */
@media (max-width: 1199px) {
  .ps-page--become-vendor,
  .ps-page--approving-vendor {
    padding: 24px 16px 80px;
  }

  .ps-page--become-vendor h3,
  .ps-page--approving-vendor h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 16px;
  }
}

/* ============================================================
   FOOTER — Clean, minimal mobile
   ============================================================ */
@media (max-width: 1199px) {
  .ps-footer {
    padding: 24px 16px 100px;
    background: var(--savana-surface);
    border-top: 1px solid var(--savana-border);
  }

  .ps-footer .ps-footer__widgets { display: flex; flex-direction: column; gap: 16px; }

  .ps-footer .widget_footer { margin-bottom: 0; }

  .ps-footer .ps-list--link { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }

  .ps-footer .ps-list--link li { width: calc(50% - 4px); }

  .ps-footer .ps-list--link li a {
    display: block;
    padding: 8px 0;
    font-size: 13px;
    color: var(--savana-text-secondary);
    text-decoration: none;
  }

  .ps-footer .ps-footer__copyright {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--savana-border);
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .ps-footer .site-copyright {
    font-size: 12px;
    color: var(--savana-text-secondary);
    margin: 0;
  }

  .ps-footer .footer-payments { font-size: 12px; color: var(--savana-text-secondary); }

  .ps-footer .footer-payments span { display: block; margin-bottom: 8px; }

  .ps-footer .footer-payments img {
    height: 24px;
    margin: 4px;
    border-radius: 4px;
    background: #f5f5f5;
    padding: 2px;
  }

  /* Footer links section */
  .ps-footer__links { display: none; }

  /* Hide newsletter popup on mobile */
  .ps-popup { display: none !important; }

  /* Hide back to top */
  #back2top { display: none !important; }

  .ps-site-overlay { display: none; }
}

/* ============================================================
   BOTTOM NAV — Existing refinements
   ============================================================ */
@media (max-width: 1199px) {
  .savana-bottom-nav {
    display: flex !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10002;
    height: var(--savana-bottom-nav-height);
    padding-bottom: var(--savana-safe-bottom);
    background: var(--savana-bottom-nav-bg);
    backdrop-filter: blur(var(--savana-bottom-nav-blur));
    -webkit-backdrop-filter: blur(var(--savana-bottom-nav-blur));
    border-top: 1px solid var(--savana-bottom-nav-border);
    transform: translateZ(0);
    contain: layout style paint;
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .savana-bottom-nav--hidden { transform: translateY(100%); }

  .savana-bottom-nav__items {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    height: 100%;
    padding: 0 4px;
  }

  .savana-bottom-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 48px;
    min-height: 48px;
    padding: 4px 0;
    background: none;
    border: none;
    color: var(--savana-bottom-nav-inactive);
    cursor: pointer;
    text-decoration: none;
    font-size: var(--savana-bottom-nav-font-size);
    font-weight: 500;
    line-height: 1;
    transition: color 150ms cubic-bezier(0.4,0,0.2,1), transform 150ms ease;
    user-select: none;
    -webkit-user-select: none;
    position: relative;
    gap: 2px;
  }

  .savana-bottom-nav__item svg,
  .savana-bottom-nav__item i {
    width: var(--savana-bottom-nav-icon-size);
    height: var(--savana-bottom-nav-icon-size);
    margin-bottom: 0;
    transition: transform 150ms ease;
  }

  .savana-bottom-nav__item span {
    font-size: var(--savana-bottom-nav-font-size);
    line-height: 1;
    max-width: 48px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .savana-bottom-nav__item--active {
    color: var(--savana-bottom-nav-active);
  }

  .savana-bottom-nav__item--active svg { transform: scale(1.05); }
  .savana-bottom-nav__item:active { transform: scale(0.92); }

  .savana-bottom-nav__badge {
    position: absolute;
    top: 2px;
    right: calc(50% - 18px);
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff3b30;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    animation: savana-badge-pop 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 1;
    line-height: 1;
  }

  @keyframes savana-badge-pop {
    0% { transform: scale(0); }
    100% { transform: scale(1); }
  }

  @media (prefers-reduced-motion: reduce) {
    .savana-bottom-nav,
    .savana-bottom-nav__item,
    .savana-bottom-nav__badge {
      transition: none;
      animation: none;
    }
  }
}

/* ============================================================
   HOME PAGE — Top padding for mobile header
   ============================================================ */
@media (max-width: 1199px) {
  .ps-home { padding-top: 0; }

  /* Full-width hero on mobile */
  .ps-banner { border-radius: 0 !important; }

  /* Remove old navigation-homepage fallback */
  .navigation--homepage { display: none; }
}

/* ============================================================
   ANIMATIONS & MICRO-INTERACTIONS
   ============================================================ */
@keyframes savana-heart-burst {
  0% { transform: scale(0); opacity: 1; }
  15% { transform: scale(1.3); }
  30% { transform: scale(0.95); }
  45% { transform: scale(1.15); }
  60% { transform: scale(1); opacity: 1; }
  100% { transform: scale(1); opacity: 0; }
}
.savana-like-animation { animation: savana-heart-burst 0.6s ease; }

@keyframes savana-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.savana-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: savana-shimmer 1.5s ease-in-out infinite;
  border-radius: 4px;
}

.savana-skeleton--text { height: 14px; margin-bottom: 8px; width: 80%; }
.savana-skeleton--title { height: 20px; margin-bottom: 12px; width: 60%; }
.savana-skeleton--image { aspect-ratio: 1; width: 100%; border-radius: 8px; }

img[loading="lazy"] { opacity: 0; transition: opacity 0.3s ease; }
img[loading="lazy"].loaded,
img[loading="lazy"]:not([src*="default"]) { opacity: 1; }

/* Tap highlight */
* { -webkit-tap-highlight-color: rgba(var(--savana-primary-rgb, 250, 181, 40), 0.1); }
