@import url('https://fonts.googleapis.com/css2?family=Alexandria:wght@400;500;600;700;800&display=swap');

:root {
  --pb-forest-950: #071b13;
  --pb-forest-900: #0c2a1e;
  --pb-forest-800: #123d2b;
  --pb-forest-700: #1d5a3b;
  --pb-leaf-600: #347d2f;
  --pb-leaf-500: #58a83f;
  --pb-lime-400: #99c93c;
  --pb-gold-500: #8a651e;
  --pb-gold-300: #ddc47d;
  --pb-cream-100: #f7f5ec;
  --pb-cream-50: #fcfbf6;
  --pb-surface: #ffffff;
  --pb-ink: #17231c;
  --pb-muted: #66736b;
  --pb-line: #dfe7df;
  --pb-danger: #a53a35;
  --pb-shadow-sm: 0 6px 18px rgba(12, 42, 30, .06);
  --pb-shadow-md: 0 16px 42px rgba(12, 42, 30, .10);
  --pb-shadow-lg: 0 28px 80px rgba(7, 27, 19, .18);
  --pb-radius-sm: 12px;
  --pb-radius-md: 18px;
  --pb-radius-lg: 28px;
  --pb-page-title-size: 28px;
  --pb-page-title-line-height: 1.45;
}

* { font-family: 'Alexandria', Arial, sans-serif !important; }

:focus-visible {
  outline: 3px solid rgba(153, 201, 60, .46);
  outline-offset: 3px;
}

::selection { color: #fff; background: var(--pb-forest-700); }

/* Storefront foundation */
.storefront {
  --primary: var(--pb-forest-700);
  --ink: var(--pb-ink);
  --muted: var(--pb-muted);
  --soft: var(--pb-cream-100);
  --line: var(--pb-line);
  color: var(--pb-ink);
  background:
    radial-gradient(circle at 8% 8%, rgba(153, 201, 60, .08), transparent 25rem),
    linear-gradient(180deg, var(--pb-cream-50), #fff 32rem);
}

.pb-announcement {
  color: rgba(255, 255, 255, .88);
  background: var(--pb-forest-950);
  border-bottom: 1px solid rgba(221, 196, 125, .18);
}

.pb-announcement__inner {
  width: min(100% - 40px, 1280px);
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: auto;
  font-size: 10px;
  font-weight: 600;
}

.pb-announcement__inner > span,
.pb-announcement__inner > div { display: flex; align-items: center; gap: 9px; }
.pb-announcement__inner i { width: 6px; height: 6px; background: var(--pb-lime-400); border-radius: 50%; box-shadow: 0 0 0 5px rgba(153, 201, 60, .10); }
.pb-announcement__inner b { color: var(--pb-gold-300); }

.storefront .shop-header {
  color: var(--pb-ink);
  background: rgba(252, 251, 246, .94);
  border-bottom: 1px solid rgba(18, 61, 43, .12);
  box-shadow: 0 10px 34px rgba(12, 42, 30, .07);
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
}

.storefront .shop-header__inner {
  min-height: 88px;
  grid-template-columns: 220px minmax(280px, 1fr) auto !important;
  padding-block: 9px;
}

.storefront .shop-logo { gap: 11px; color: var(--pb-forest-900); text-decoration: none; }
.storefront .shop-logo img {
  width: 66px !important;
  height: 66px !important;
  padding: 3px;
  background: #fff;
  border: 1px solid rgba(18, 61, 43, .12);
  border-radius: 50%;
  box-shadow: 0 7px 20px rgba(12, 42, 30, .10);
  animation: none;
}

.shop-logo__wordmark { min-width: 0; display: flex; flex-direction: column; line-height: 1.1; direction: ltr; }
.shop-logo__wordmark strong { color: var(--pb-forest-900); font-size: 16px; font-weight: 800; letter-spacing: -.35px; white-space: nowrap; }
.shop-logo__wordmark small { margin-top: 5px; color: var(--pb-gold-500); font-size: 8px; font-weight: 700; letter-spacing: 2.8px; text-transform: uppercase; }

.storefront .shop-search {
  height: 50px;
  padding: 4px 5px 4px 15px;
  background: #fff;
  border-color: rgba(18, 61, 43, .14);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7), 0 6px 20px rgba(12, 42, 30, .04);
}

.storefront .shop-search:focus-within { border-color: var(--pb-leaf-500); box-shadow: 0 0 0 4px rgba(88, 168, 63, .11); }
.storefront .shop-search svg { margin-inline-start: 8px; stroke: var(--pb-forest-700); }
.storefront .shop-search input { color: var(--pb-ink); }
.storefront .shop-search input::placeholder { color: #8a958e; }
.storefront .shop-search button {
  min-width: 86px;
  color: #fff;
  background: linear-gradient(135deg, var(--pb-forest-700), var(--pb-forest-900));
  border-radius: 999px;
  box-shadow: 0 7px 16px rgba(18, 61, 43, .17);
}
.storefront .shop-search button:hover { background: linear-gradient(135deg, var(--pb-leaf-600), var(--pb-forest-700)); }

.storefront .header-action,
.currency-switch {
  color: var(--pb-forest-800) !important;
  background: rgba(255, 255, 255, .82);
  border-color: rgba(18, 61, 43, .14);
  border-radius: 999px;
}
.storefront .header-action:hover,
.currency-switch:hover { color: var(--pb-forest-900) !important; border-color: var(--pb-leaf-500); box-shadow: var(--pb-shadow-sm); }
.storefront .cart-action { color: #fff !important; background: var(--pb-forest-900); border-color: var(--pb-forest-900); }
.storefront .cart-action:hover { color: #fff !important; background: var(--pb-leaf-600); }
.storefront .cart-count { background: var(--pb-gold-500); }
.currency-switch { color: var(--pb-forest-800); background: #f0f6ed; border-color: #ccddc8; }

.storefront .shop-nav { background: rgba(255, 255, 255, .66); border-top-color: rgba(18, 61, 43, .08); }
.storefront .shop-nav a { color: #465249; font-size: 12px; font-weight: 600; }
.storefront .shop-nav a::after { height: 3px; background: linear-gradient(90deg, var(--pb-leaf-500), var(--pb-gold-300)); border-radius: 3px 3px 0 0; }
.storefront .shop-nav a:hover { color: var(--pb-forest-700); }

.desktop-header-social { border-color: rgba(255, 255, 255, .9); border-radius: 50%; box-shadow: var(--pb-shadow-sm); }
.smart-search-results { color: var(--pb-ink); border-color: var(--pb-line); box-shadow: var(--pb-shadow-lg); }
.smart-search-item { color: var(--pb-ink); }
.smart-search-item:hover,
.smart-search-item.is-active { background: #f0f5ed; }
.smart-search-item__details small,
.store-search-heading span { color: var(--pb-forest-700); }
.store-search-empty { background: var(--pb-cream-50); border-color: var(--pb-line); }
.store-search-empty a { color: #fff; background: var(--pb-forest-700); }

/* Homepage brand statement */
.pb-brand-intro {
  position: relative;
  width: min(calc(100% - 44px), 1236px);
  min-height: 310px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: center;
  gap: 30px;
  margin: 28px auto 0;
  padding: 48px clamp(28px, 5vw, 72px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 14% 8%, rgba(153, 201, 60, .22), transparent 19rem),
    linear-gradient(125deg, var(--pb-forest-950), var(--pb-forest-800));
  border: 1px solid rgba(221, 196, 125, .22);
  border-radius: 32px;
  box-shadow: var(--pb-shadow-lg);
  isolation: isolate;
}
.pb-brand-intro::before { content: ''; position: absolute; inset: auto -8% -55% auto; width: 470px; height: 470px; border: 1px solid rgba(221, 196, 125, .18); border-radius: 50%; box-shadow: 0 0 0 48px rgba(221, 196, 125, .04), 0 0 0 96px rgba(221, 196, 125, .025); z-index: -1; }
.pb-brand-intro__content { position: relative; z-index: 2; }
.pb-brand-intro__eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--pb-gold-300); font-size: 10px; font-weight: 700; letter-spacing: 2px; direction: ltr; }
.pb-brand-intro__eyebrow::before { content: ''; width: 30px; height: 1px; background: currentColor; }
.pb-brand-intro h3 { max-width: 680px; margin: 14px 0 13px; color: #fff; font-size: clamp(29px, 2.8vw, 42px); font-weight: 700; line-height: 1.4; letter-spacing: -.4px; }
.pb-brand-intro p { max-width: 620px; margin: 0 0 24px; color: rgba(255, 255, 255, .72); font-size: 14px; line-height: 2; }
.pb-brand-intro a { width: max-content; min-height: 48px; display: inline-flex; align-items: center; gap: 16px; padding: 0 20px; color: var(--pb-forest-950); background: linear-gradient(135deg, var(--pb-gold-300), #f0dda4); border-radius: 999px; text-decoration: none; font-size: 12px; font-weight: 800; box-shadow: 0 10px 26px rgba(0, 0, 0, .16); transition: transform .2s, box-shadow .2s; }
.pb-brand-intro a:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 0, 0, .22); }
.pb-brand-intro__mark { position: relative; z-index: 1; display: grid; place-items: center; }
.pb-brand-intro__mark::before { content: ''; position: absolute; width: 250px; height: 250px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12); border-radius: 50%; backdrop-filter: blur(7px); }
.pb-brand-intro__mark img { position: relative; width: min(265px, 100%); filter: drop-shadow(0 22px 32px rgba(0, 0, 0, .25)); }

.storefront .home-slider { width: min(calc(100% - 44px), 1236px); margin: 28px auto 0; overflow: hidden; border: 1px solid rgba(18, 61, 43, .11); border-radius: 28px; box-shadow: var(--pb-shadow-md); }
.storefront .home-slide img { border-radius: 0; }
.storefront .home-slider__dot { background: rgba(255, 255, 255, .7); }
.storefront .home-slider__dot.is-active { background: var(--pb-lime-400); }
.storefront .home-slider__arrow { color: var(--pb-forest-900); background: rgba(255, 255, 255, .9); border-color: rgba(18, 61, 43, .10); }

.storefront .wrap { max-width: 1280px; }
.storefront #products { scroll-margin-top: 150px; }
.home-section-heading { position: relative; margin-bottom: 22px; padding-right: 18px; }
.home-section-heading::before { content: ''; position: absolute; top: 4px; right: 0; width: 5px; height: calc(100% - 8px); background: linear-gradient(180deg, var(--pb-lime-400), var(--pb-gold-500)); border-radius: 99px; }
.home-section-heading h2::before { content: none !important; display: none !important; }
.home-section-heading h2,
.home-category-heading h2 { color: var(--pb-forest-900); font-size: clamp(20px, 1.65vw, 24px); font-weight: 700; line-height: 1.45; }
.home-products-empty { margin: 0; padding: 30px 20px; color: var(--pb-muted); background: rgba(255, 255, 255, .62); border: 1px dashed var(--pb-line); border-radius: 18px; text-align: center; font-size: 12px; }
.home-stories-heading > div > span,
.product-detail-eyebrow,
.product-details-eyebrow,
.cart-drawer__eyebrow,
.checkout-dialog__header span { color: var(--pb-gold-500); }

.storefront .card {
  color: var(--pb-ink);
  background: rgba(255, 255, 255, .92);
  border-color: rgba(18, 61, 43, .11);
  border-radius: 24px;
  box-shadow: var(--pb-shadow-sm);
}
.storefront .card:hover { border-color: rgba(63, 143, 53, .38); box-shadow: var(--pb-shadow-md); }
.storefront .card > img { background: linear-gradient(145deg, #fff, var(--pb-cream-50)); }
.storefront .card h3 { color: var(--pb-forest-900); font-weight: 700; }
.storefront .card p { color: var(--pb-muted); }
.storefront .price-box,
.product-details-price,
.product-detail-prices > div,
.checkout-summary { background: var(--pb-cream-100); border-color: var(--pb-line); }
.storefront .price-line strong,
.product-details-price,
.product-detail-prices strong { color: var(--pb-forest-700); }
.storefront .home-product-card .price-line { font-size: 11px; }
.storefront .home-product-card .price-line strong { font-size: 16px; line-height: 1.35; }
.storefront .home-product-card .order-btn { min-height: 42px; padding: 9px 8px; font-size: 12px; line-height: 1.4; }
.product-details-trigger { color: var(--pb-leaf-600); border-bottom-color: rgba(63, 143, 53, .3); }
.product-details-trigger:hover { color: var(--pb-gold-500); border-color: var(--pb-gold-500); }

.storefront .btn,
.storefront .order-btn,
.cart-checkout-btn,
.checkout-submit,
.branch-map-button,
.story-viewer__product {
  color: #fff !important;
  background: linear-gradient(135deg, var(--pb-forest-700), var(--pb-forest-900));
  border: 0;
  box-shadow: 0 10px 24px rgba(18, 61, 43, .18);
}
.storefront .btn:hover,
.storefront .order-btn:hover,
.cart-checkout-btn:hover,
.checkout-submit:hover,
.branch-map-button:hover,
.story-viewer__product:hover { color: #fff !important; background: linear-gradient(135deg, var(--pb-leaf-600), var(--pb-forest-700)); }
.storefront .order-btn.is-added { background: var(--pb-leaf-600) !important; }
.home-story-card { border: 1px solid rgba(221, 196, 125, .35); box-shadow: var(--pb-shadow-md); }
.home-story-card__play { background: rgba(12, 42, 30, .64); border-color: rgba(221, 196, 125, .48); }
.story-viewer__product small { color: var(--pb-forest-700); }

.storefront .top { padding: 28px 16px 24px; background: linear-gradient(145deg, var(--pb-cream-50), #eef5eb); border-bottom-color: var(--pb-line); }
.storefront .top h3,
.storefront .checkout-page-head h3,
.storefront .branches-hero h3,
.storefront .store-search-heading h3,
.storefront .wrap > h2,
.storefront .info-page__content > h3,
.storefront .product-detail-copy h3,
.storefront .product-details-content h2 {
  font-size: var(--pb-page-title-size);
  font-weight: 700;
  line-height: var(--pb-page-title-line-height);
}
.storefront .top h3 { margin: 0; color: var(--pb-forest-900); }
.storefront .checkout-page-head { margin-bottom: 24px; }
.storefront .checkout-page-head h3 { margin: 4px 0 8px; }
.storefront .branches-hero h3 { margin: 6px 0 10px; }
.storefront .store-search-heading h3 { margin: 5px 0 0; }
.storefront .wrap > h2 { margin-bottom: 18px; }
.storefront .info-page__content > h3 { margin: 0 0 22px; }
.storefront .product-detail-copy h3 { margin: 7px 0 18px; }
.storefront .breadcrumb a { color: var(--pb-forest-800) !important; border-color: var(--pb-line); box-shadow: 0 4px 12px rgba(12, 42, 30, .04); }
.storefront .breadcrumb a:hover { color: #fff !important; background: var(--pb-forest-700); border-color: var(--pb-forest-700); }

.product-detail-card,
.product-details-dialog,
.checkout-dialog { border-color: var(--pb-line); box-shadow: var(--pb-shadow-lg); }
.product-detail-media,
.product-details-media { background: linear-gradient(145deg, var(--pb-cream-50), #eef4eb); }
.product-detail-copy h3,
.product-details-content h2 { color: var(--pb-forest-900); }
.product-details-close:hover,
.cart-close:hover { color: #fff; background: var(--pb-forest-700); }
.cart-backdrop { background: rgba(7, 27, 19, .56); backdrop-filter: blur(3px); }
.cart-drawer { border-left: 1px solid var(--pb-line); box-shadow: -24px 0 70px rgba(7, 27, 19, .22); }
.cart-item__details p { color: var(--pb-leaf-600); }
.cart-quantity button { color: var(--pb-forest-800); background: var(--pb-cream-100); border-color: var(--pb-line); }
.checkout-form input:focus,
.checkout-form select:focus,
.checkout-form textarea:focus { border-color: var(--pb-leaf-500); box-shadow: 0 0 0 3px rgba(88, 168, 63, .11); }
.checkout-payment-card.is-selected,
.checkout-payment-card:has(input:checked) { background: #f4faef; border-color: var(--pb-leaf-500); box-shadow: 0 0 0 3px rgba(88, 168, 63, .09); }
.checkout-payment-card.is-selected .checkout-payment-card__icon,
.checkout-payment-card:has(input:checked) .checkout-payment-card__icon,
.checkout-payment-card.is-selected .checkout-payment-card__check,
.checkout-payment-card:has(input:checked) .checkout-payment-card__check { background: var(--pb-forest-700); }

.branches-hero { background: radial-gradient(circle at 5% 0, rgba(153, 201, 60, .13), transparent 18rem), linear-gradient(135deg, #fff, var(--pb-cream-100)); border-color: var(--pb-line); box-shadow: var(--pb-shadow-md); }
.branches-hero::after { background: radial-gradient(circle, rgba(184, 138, 53, .15), transparent 68%); }
.branches-hero > div:first-child > span,
.branch-card__number,
.branch-detail > svg { color: var(--pb-gold-500); stroke: var(--pb-gold-500); }
.branches-hero__count { background: linear-gradient(145deg, var(--pb-forest-700), var(--pb-forest-950)); }
.branch-card { border-color: var(--pb-line); box-shadow: var(--pb-shadow-sm); }
.branch-card:hover { border-color: rgba(63, 143, 53, .3); box-shadow: var(--pb-shadow-md); }
.branch-phones a:hover { color: var(--pb-forest-700); border-color: var(--pb-leaf-500); }

.store-footer { margin-top: 64px; color: #fff; background: radial-gradient(circle at 80% 0, rgba(153, 201, 60, .12), transparent 24rem), var(--pb-forest-950); border-top: 1px solid rgba(221, 196, 125, .35); }
.store-footer__column h2 { color: var(--pb-gold-300); }
.store-footer__links a { color: rgba(255, 255, 255, .67); }
.store-footer__links a:hover { color: var(--pb-lime-400); }
.store-footer__socials a { background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .1); }
.store-footer__socials a:hover { color: var(--pb-forest-950); background: var(--pb-gold-300); }
.store-footer__brand img { width: 118px !important; max-width: 118px !important; max-height: 118px !important; padding: 4px; background: rgba(255, 255, 255, .96); border-radius: 50%; filter: none; }
.store-footer__copyright { color: rgba(255, 255, 255, .45); border-top-color: rgba(255, 255, 255, .09); }

/* Admin shell */
body.admin-body {
  color: var(--pb-ink);
  background:
    radial-gradient(circle at 4% 0, rgba(153, 201, 60, .08), transparent 28rem),
    #f4f6f1;
}
.admin-sidebar {
  background:
    radial-gradient(circle at 90% 0, rgba(153, 201, 60, .17), transparent 18rem),
    linear-gradient(180deg, var(--pb-forest-900), var(--pb-forest-950));
  border-left-color: rgba(221, 196, 125, .15);
  box-shadow: -16px 0 44px rgba(7, 27, 19, .13);
  scrollbar-color: rgba(221, 196, 125, .32) transparent;
}
.admin-sidebar__brand > a { min-width: 0; width: 74px; height: 74px; margin: auto; padding: 3px; background: #fff; border: 1px solid rgba(221, 196, 125, .35); border-radius: 50%; box-shadow: 0 10px 28px rgba(0, 0, 0, .18); }
.admin-sidebar__brand img { width: 66px !important; height: 66px !important; }
.admin-user-card { background: rgba(255, 255, 255, .065); border-color: rgba(221, 196, 125, .14); }
.admin-user-card__avatar { color: var(--pb-forest-950); background: linear-gradient(145deg, var(--pb-gold-300), var(--pb-lime-400)); border-color: rgba(255, 255, 255, .24); }
.admin-user-card__status { background: var(--pb-lime-400); border-color: var(--pb-forest-900); }
.admin-nav-group__title { color: rgba(221, 196, 125, .62); }
.admin-nav-item { color: rgba(255, 255, 255, .68); }
.admin-nav-item:hover { color: #fff; background: rgba(255, 255, 255, .075); }
.admin-nav-item.is-active { color: #fff; background: linear-gradient(135deg, var(--pb-leaf-600), var(--pb-forest-700)); box-shadow: 0 9px 24px rgba(0, 0, 0, .19); }
.admin-nav-item.is-active::after { background: var(--pb-gold-300); }
.admin-sidebar__footer .admin-logout { color: #efb2ac; }

.admin-topbar { background: rgba(252, 251, 246, .92); border-bottom-color: var(--pb-line); box-shadow: 0 7px 24px rgba(12, 42, 30, .045); }
.admin-topbar strong { color: var(--pb-forest-700); }
.admin-topbar a { color: var(--pb-forest-800); background: #eaf1e7; }
.admin-topbar a:hover { color: #fff; background: var(--pb-forest-700); }
.admin-mobile-toggle { background: var(--pb-forest-900); }
.admin-footer { color: #7b887f; background: var(--pb-cream-50); border-top-color: var(--pb-line); }
.admin-footer a { color: var(--pb-forest-700); }

.admin-body .card,
.admin-branch-form-card,
.admin-branch-list-card,
.sales-summary-card,
.sales-table-wrap,
.sale-invoice-card,
.admin-body .stories-admin-form,
.stories-admin-live-preview,
.monthly-offer-admin-card,
.monthly-offer-admin-preview {
  color: var(--pb-ink);
  background: rgba(255, 255, 255, .94);
  border-color: var(--pb-line);
  box-shadow: var(--pb-shadow-sm);
}
.admin-body .card:hover { border-color: rgba(63, 143, 53, .22); }
.admin-content > h3,
.admin-content > h2,
.admin-body .card h3,
.admin-body .card h2,
.admin-body .card h3,
.stories-admin-heading h3,
.sales-page-heading h3,
.sale-detail-top h3,
.admin-branches-heading h3 { color: var(--pb-forest-900) !important; }
.admin-content > p,
.admin-body .card p { color: var(--pb-muted); }

.admin-body .btn,
.admin-branch-form-card .btn,
.sales-search button,
.sale-order-controls button,
.monthly-offer-admin-card > .btn,
.stories-admin-save {
  color: #fff !important;
  background: linear-gradient(135deg, var(--pb-forest-700), var(--pb-forest-900));
  border: 0;
  box-shadow: 0 8px 20px rgba(18, 61, 43, .16);
}
.admin-body .btn:hover,
.sales-search button:hover,
.sale-order-controls button:hover { background: linear-gradient(135deg, var(--pb-leaf-600), var(--pb-forest-700)); }
.admin-body .btn2 { background: var(--pb-gold-500); }
.admin-body input,
.admin-body select,
.admin-body textarea { color: var(--pb-ink); background: #fff; border-color: #d7e0d8; }
.admin-body input:focus,
.admin-body select:focus,
.admin-body textarea:focus { outline: 0; border-color: var(--pb-leaf-500); box-shadow: 0 0 0 4px rgba(88, 168, 63, .10); }
.admin-body table th { color: #58655d; background: #edf2e9; border-bottom-color: var(--pb-line); }
.admin-body table td { border-bottom-color: #e8eee8; }
.admin-body table tbody tr:hover { background: #f7faf5; }
.admin-body .icon-action { background: #edf2e9; }
.admin-body .edit-icon { color: var(--pb-forest-700) !important; }
.admin-body .delete-icon,
.admin-body .link-button { color: var(--pb-danger) !important; }
.admin-body .success { color: var(--pb-forest-700); background: #edf8ea; border-color: #cce6c7; }
.admin-payment-settings__heading span,
.monthly-offer-admin-heading span,
.stories-admin-heading span,
.monthly-offer-admin-card__title strong,
.monthly-offer-admin-preview__price { color: var(--pb-forest-700); }
.admin-payment-switch input:checked + span,
.monthly-offer-admin-toggle input:checked + span,
.stories-admin-toggle input:checked + span { background: var(--pb-leaf-600); }
.admin-payment-card:has(input:checked) { background: #f4faef; border-color: var(--pb-leaf-500); box-shadow: 0 0 0 3px rgba(88, 168, 63, .08); }
.admin-payment-card:has(input:checked) .admin-payment-icon { background: var(--pb-forest-700); }

.dashboard-welcome,
.admin-branches-heading,
.sales-page-heading,
.sale-detail-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 22px;
  padding: 25px 28px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 8% 0, rgba(153, 201, 60, .2), transparent 17rem),
    linear-gradient(125deg, var(--pb-forest-900), var(--pb-forest-700));
  border: 1px solid rgba(221, 196, 125, .18);
  border-radius: 22px;
  box-shadow: var(--pb-shadow-md);
}
.dashboard-welcome::after { content: ''; position: absolute; left: -50px; bottom: -110px; width: 230px; height: 230px; border: 1px solid rgba(221, 196, 125, .18); border-radius: 50%; box-shadow: 0 0 0 34px rgba(221, 196, 125, .035); }
.dashboard-welcome > div { position: relative; z-index: 1; }
.dashboard-welcome > div > span { color: var(--pb-gold-300); font-size: 10px; font-weight: 700; }
.dashboard-welcome h3 { margin: 5px 0 4px; color: #fff; font-size: clamp(24px, 3vw, 34px); }
.dashboard-welcome p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 12px; }
.dashboard-welcome > a { position: relative; z-index: 1; min-height: 43px; display: inline-flex; align-items: center; gap: 11px; padding: 0 16px; color: var(--pb-forest-950); background: var(--pb-gold-300); border-radius: 999px; text-decoration: none; font-size: 11px; font-weight: 800; white-space: nowrap; }

.dashboard-stats-panel { margin-bottom: 26px; padding: 24px !important; }
.dashboard-panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.dashboard-panel-heading > div > span,
.dashboard-section-heading span { color: var(--pb-gold-500); font-size: 10px; font-weight: 800; }
.dashboard-panel-heading h2,
.dashboard-section-heading h2 { margin: 4px 0 0; color: var(--pb-forest-900); font-size: 21px; }
.dashboard-range-form { display: flex; align-items: center; gap: 9px; margin: 0; }
.dashboard-range-form label { color: var(--pb-muted); font-size: 11px; font-weight: 700; }
.dashboard-range-form select { width: auto; min-width: 145px; margin: 0; padding: 8px 12px; border-radius: 10px; }
.visitor-stats-grid { gap: 12px; }
.admin-body .visitor-stats-grid > .dashboard-stat-card { position: relative; min-height: 132px; display: flex; flex-direction: column; justify-content: flex-end; padding: 17px; overflow: hidden; background: linear-gradient(145deg, #fff, #f7faf5); border: 1px solid var(--pb-line); border-radius: 17px; box-shadow: none; }
.dashboard-stat-card__icon { position: absolute; top: 14px; left: 14px; width: 34px; height: 34px; display: grid; place-items: center; color: var(--pb-forest-700); background: #eaf3e6; border-radius: 11px; font-size: 13px; font-weight: 800; direction: ltr; }
.dashboard-stat-card > span { color: var(--pb-muted); font-size: 10px; font-weight: 600; }
.dashboard-stat-card > strong { margin-top: 6px; color: var(--pb-forest-900); font-size: 27px; line-height: 1; }
.admin-body .visitor-stats-grid > .dashboard-stat-card--primary { color: #fff; background: linear-gradient(145deg, var(--pb-forest-700), var(--pb-forest-900)); border-color: transparent; }
.dashboard-stat-card--primary > span { color: rgba(255, 255, 255, .68); }
.dashboard-stat-card--primary > strong { color: #fff; }
.dashboard-stat-card--primary .dashboard-stat-card__icon { color: var(--pb-forest-900); background: var(--pb-gold-300); }
.dashboard-stat-card--online .dashboard-stat-card__icon { color: var(--pb-leaf-600); background: #eaf7e6; }
.dashboard-stat-card--online > strong { color: var(--pb-leaf-600); }
.dashboard-stats-note { margin: 15px 0 0 !important; color: #7b887f !important; font-size: 10px !important; }
.dashboard-stats-error { margin-bottom: 15px; padding: 12px 14px; color: #8e302c; background: #fff2f0; border: 1px solid #efd1ce; border-radius: 11px; font-size: 12px; }
.dashboard-section-heading { margin: 31px 0 14px; }
.dashboard-product-card { border: 1px solid var(--pb-line); box-shadow: var(--pb-shadow-sm); }
.dashboard-product-clicks { color: var(--pb-forest-700); background: #edf5e9; }

.admin-maintenance-card { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 17px; margin: 0 0 28px; padding: 21px; background: #fff; border: 1px solid var(--pb-line); border-radius: 18px; box-shadow: var(--pb-shadow-sm); }
.admin-maintenance-card__status { width: 54px; height: 54px; display: grid; place-items: center; background: #edf8ea; border-radius: 16px; }
.admin-maintenance-card__status span { width: 13px; height: 13px; background: var(--pb-leaf-500); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 5px rgba(88, 168, 63, .18); }
.admin-maintenance-card.is-paused .admin-maintenance-card__status { background: #fff1ef; }
.admin-maintenance-card.is-paused .admin-maintenance-card__status span { background: var(--pb-danger); box-shadow: 0 0 0 5px rgba(165, 58, 53, .14); }
.admin-maintenance-card__eyebrow { color: var(--pb-gold-500); font-size: 9px; font-weight: 800; }
.admin-maintenance-card h3 { margin: 3px 0 5px; color: var(--pb-forest-900); font-size: 18px; }
.admin-maintenance-card p { margin: 0 0 14px; color: var(--pb-muted); font-size: 12px; line-height: 1.8; }
.admin-maintenance-card form { margin: 0; }
.admin-maintenance-card .btn { width: auto; min-height: 40px; padding-inline: 18px; }
.admin-maintenance-card.is-paused .btn { background: linear-gradient(135deg, var(--pb-leaf-600), var(--pb-forest-700)); }
.admin-maintenance-card.is-live .btn { background: linear-gradient(135deg, #b54a42, #8f302c); }

.admin-manager-email-card { position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 18px; margin: 0 0 28px; padding: 22px; overflow: hidden; background: linear-gradient(145deg, #fff, #f7faf5); border: 1px solid var(--pb-line); border-radius: 20px; box-shadow: var(--pb-shadow-sm); }
.admin-manager-email-card::after { content: ''; position: absolute; left: -58px; bottom: -82px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(153, 201, 60, .13), transparent 68%); pointer-events: none; }
.admin-manager-email-card__icon { position: relative; z-index: 1; width: 58px; height: 58px; display: grid; place-items: center; color: var(--pb-forest-700); background: #e9f4e5; border: 1px solid #d7e8d1; border-radius: 17px; }
.admin-manager-email-card__icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.admin-manager-email-card__content { position: relative; z-index: 1; min-width: 0; }
.admin-manager-email-card__eyebrow { color: var(--pb-gold-500); font-size: 9px; font-weight: 800; }
.admin-manager-email-card h3 { margin: 3px 0 5px; color: var(--pb-forest-900); font-size: 18px; }
.admin-manager-email-card p { max-width: 720px; margin: 0 0 16px; color: var(--pb-muted); font-size: 12px; line-height: 1.8; }
.admin-manager-email-form { max-width: 760px; margin: 0; }
.admin-manager-email-form > label { display: block; margin-bottom: 7px; color: var(--pb-forest-800); font-size: 11px; font-weight: 700; }
.admin-manager-email-form > div { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 10px; }
.admin-manager-email-form input { min-width: 0; margin: 0; direction: ltr; text-align: left; }
.admin-manager-email-form .btn { width: auto; min-height: 43px; margin: 0; padding-inline: 19px; white-space: nowrap; }

.admin-branches-heading,
.sales-page-heading,
.sale-detail-top { align-items: flex-end; }
.admin-branches-heading h3,
.sales-page-heading h3,
.sale-detail-top h3,
.admin-branches-heading p,
.sales-page-heading p,
.sale-detail-top p { color: #fff !important; }
.admin-branches-heading p,
.sales-page-heading p,
.sale-detail-top p { opacity: .7; }
.admin-branches-heading a { color: var(--pb-forest-950); background: var(--pb-gold-300); }
.admin-branch-list-title span,
.stories-admin-form__title span { color: var(--pb-forest-700); background: #edf6e9; }
.admin-branch-table tbody tr:hover,
.sales-row:hover,
.sales-row:focus { background: #f5f9f2; }
.admin-branch-actions button { background: var(--pb-danger); }
.sales-summary-card { background: linear-gradient(145deg, #fff, #f6f9f3); }
.sales-view-link,
.sale-back-link { color: var(--pb-forest-700) !important; background: #edf5e9; }
.sale-invoice-header { border-bottom-color: var(--pb-gold-500); background: linear-gradient(135deg, #fff, var(--pb-cream-100)); }
.sale-invoice-header > div strong { color: var(--pb-forest-700); }
.sale-totals { background: var(--pb-forest-900); }

/* Admin login */
body.admin-login-body { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 28px; color: var(--pb-ink); background: radial-gradient(circle at 8% 5%, rgba(153, 201, 60, .12), transparent 25rem), var(--pb-cream-100); }
.admin-login-shell { width: min(1080px, 100%); min-height: 650px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: #fff; border: 1px solid rgba(18, 61, 43, .12); border-radius: 30px; box-shadow: var(--pb-shadow-lg); }
.admin-login-brand { position: relative; display: flex; align-items: flex-end; padding: 58px; overflow: hidden; color: #fff; background: radial-gradient(circle at 22% 16%, rgba(153, 201, 60, .23), transparent 21rem), linear-gradient(145deg, var(--pb-forest-700), var(--pb-forest-950)); isolation: isolate; }
.admin-login-brand::before,
.admin-login-brand::after { content: ''; position: absolute; border: 1px solid rgba(221, 196, 125, .16); border-radius: 50%; z-index: -1; }
.admin-login-brand::before { width: 420px; height: 420px; top: -160px; right: -160px; box-shadow: 0 0 0 55px rgba(221, 196, 125, .03); }
.admin-login-brand::after { width: 290px; height: 290px; bottom: -120px; left: -100px; }
.admin-login-brand__content { max-width: 430px; position: relative; z-index: 2; }
.admin-login-brand__content > span { color: var(--pb-gold-300); font-size: 9px; font-weight: 700; letter-spacing: 2px; direction: ltr; }
.admin-login-brand h3 { margin: 15px 0; color: #fff; font-size: clamp(30px, 4vw, 47px); line-height: 1.45; }
.admin-login-brand p { margin: 0; color: rgba(255, 255, 255, .7); font-size: 12px; line-height: 2; }
.admin-login-brand__leaf { position: absolute; top: 80px; left: 75px; width: 100px; height: 160px; background: linear-gradient(145deg, var(--pb-lime-400), var(--pb-leaf-600)); border-radius: 100% 0 100% 0; opacity: .75; transform: rotate(-12deg); box-shadow: -22px 30px 0 rgba(221, 196, 125, .32); }
.admin-login-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 70px); }
.admin-login-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 40px; }
.admin-login-logo img { width: 62px; height: 62px; padding: 3px; object-fit: contain; background: #fff; border: 1px solid var(--pb-line); border-radius: 50%; box-shadow: var(--pb-shadow-sm); }
.admin-login-logo > div { display: flex; flex-direction: column; }
.admin-login-logo strong { color: var(--pb-forest-900); font-size: 16px; direction: ltr; text-align: right; }
.admin-login-logo span { margin-top: 4px; color: var(--pb-gold-500); font-size: 9px; }
.admin-login-heading > span { color: var(--pb-gold-500); font-size: 10px; font-weight: 800; }
.admin-login-heading h2 { margin: 5px 0 5px; color: var(--pb-forest-900); font-size: 28px; }
.admin-login-heading p { margin: 0 0 24px; color: var(--pb-muted); font-size: 11px; }
.admin-login-error { margin: 0 0 15px; padding: 11px 13px; color: #8e302c; background: #fff2f0; border: 1px solid #efd1ce; border-radius: 11px; text-align: center; font-size: 11px; }
.admin-login-form label { display: block; margin-bottom: 15px; }
.admin-login-form label > span { display: block; margin-bottom: 7px; color: #48554d; font-size: 11px; font-weight: 700; }
.admin-login-form input { height: 48px; margin: 0; padding: 0 14px; color: var(--pb-ink); background: #fafbf8; border: 1px solid #d7e0d8; border-radius: 12px; }
.admin-login-form input:focus { outline: 0; background: #fff; border-color: var(--pb-leaf-500); box-shadow: 0 0 0 4px rgba(88, 168, 63, .10); }
.admin-login-form .btn { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 7px; background: linear-gradient(135deg, var(--pb-forest-700), var(--pb-forest-900)); border-radius: 12px; box-shadow: 0 10px 24px rgba(18, 61, 43, .2); }
.admin-login-form .btn:hover { background: linear-gradient(135deg, var(--pb-leaf-600), var(--pb-forest-700)); }
.admin-login-footnote { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 22px 0 0; color: #88938c; font-size: 9px; }
.admin-login-footnote i { width: 7px; height: 7px; background: var(--pb-leaf-500); border-radius: 50%; }

@media (max-width: 960px) {
  .storefront .shop-header__inner { grid-template-columns: 76px minmax(0, 1fr) auto !important; }
  .shop-logo__wordmark { display: none; }
  .admin-sidebar__brand > a { margin-right: 4px; }
  .admin-login-shell { grid-template-columns: 1fr; min-height: 0; }
  .admin-login-brand { display: none; }
}

@media (max-width: 768px) {
  .storefront .mobile-shop-bar { min-height: 72px; grid-template-columns: 50px minmax(0, 1fr) 50px; gap: 8px; padding: 9px 12px; }
  .storefront .mobile-shop-logo { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 7px; direction: rtl; color: var(--pb-forest-900); text-decoration: none; }
  .storefront .mobile-shop-logo img { width: 50px !important; height: 50px !important; flex: 0 0 50px; padding: 3px; object-fit: contain; background: #fff; border: 1px solid var(--pb-line); border-radius: 50%; box-shadow: var(--pb-shadow-sm); animation: none; }
  .storefront .mobile-shop-logo .shop-logo__wordmark { display: flex; flex: 0 1 auto; text-align: left; }
  .storefront .mobile-shop-logo .shop-logo__wordmark strong { font-size: 13px; letter-spacing: -.25px; }
  .storefront .mobile-shop-logo .shop-logo__wordmark small { margin-top: 3px; font-size: 6.5px; letter-spacing: 2.1px; }
  .storefront .mobile-menu-panel__inner { padding-top: calc(126px + env(safe-area-inset-top)); }
  .storefront .mobile-menu-search { width: 100%; min-height: 54px; height: auto; flex: 0 0 auto; box-sizing: border-box; overflow: visible; }
}

@media (max-width: 700px) {
  .storefront { --pb-page-title-size: 24px; }
  .storefront .top { padding: 22px 12px 16px; }
  .storefront .top .breadcrumb { margin-top: 12px; }
  .pb-announcement__inner { width: min(100% - 24px, 1280px); justify-content: center; }
  .pb-announcement__inner > div { display: none; }
  .storefront .shop-header__inner { min-height: 74px; grid-template-columns: 68px minmax(0, 1fr) auto !important; }
  .storefront .shop-logo img { width: 58px !important; height: 58px !important; }
  .storefront .shop-search { border-radius: 14px; }
  .storefront .shop-search button { min-width: 68px; border-radius: 11px; }
  .storefront .shop-nav { display: none; }
  .storefront .mobile-shop-bar { background: rgba(252, 251, 246, .98); border-bottom: 1px solid var(--pb-line); }
  .storefront .mobile-shop-logo img { width: 50px !important; height: 50px !important; }
  .storefront .mobile-menu-toggle { color: var(--pb-forest-800); background: #edf3e9; }
  .storefront .mobile-bar-cart { color: var(--pb-forest-800); background: #edf3e9; border-color: #dce7d8; }
  .storefront .mobile-menu-panel { color: var(--pb-ink); background: rgba(252, 251, 246, .99); }
  .storefront .mobile-menu-search { background: #fff; border-color: var(--pb-line); }
  .storefront .mobile-menu-search button { color: #fff; background: var(--pb-forest-700); }
  .storefront .mobile-menu-links a { color: var(--pb-forest-800); }
  .storefront .mobile-menu-links a::after { background: linear-gradient(90deg, var(--pb-leaf-500), var(--pb-gold-300)); }
  .storefront .mobile-menu-primary { color: #fff; background: linear-gradient(135deg, var(--pb-forest-700), var(--pb-forest-900)); box-shadow: 0 12px 28px rgba(18, 61, 43, .21); }
  .storefront .mobile-menu-cart { color: var(--pb-forest-800); background: #edf3e9; border-color: #dce7d8; }
  .pb-brand-intro { width: calc(100% - 20px); min-height: 0; grid-template-columns: 1fr; margin-top: 14px; padding: 34px 24px; border-radius: 23px; }
  .pb-brand-intro h3 { font-size: 26px; line-height: 1.5; }
  .pb-brand-intro__mark { display: none; }
  .storefront .home-slider { width: calc(100% - 20px); margin-top: 14px; border-radius: 19px; }
  .storefront .card { border-radius: 18px; }
  .home-section-heading h2,
  .home-category-heading h2 { font-size: 19px; line-height: 1.5; }
  .storefront .home-product-card .price-line strong { font-size: 14px; }
  .storefront .home-product-card .order-btn { min-height: 40px; font-size: 11px; }
  .store-footer { margin-top: 42px; }
  .dashboard-welcome { align-items: flex-start; flex-direction: column; padding: 22px; }
  .dashboard-welcome > a { width: 100%; justify-content: center; }
  .dashboard-panel-heading { align-items: stretch; flex-direction: column; }
  .dashboard-range-form { justify-content: space-between; }
  .dashboard-range-form select { flex: 1; }
  .admin-maintenance-card { grid-template-columns: 1fr; }
  .admin-manager-email-card { grid-template-columns: 1fr; padding: 19px; }
  .admin-manager-email-form > div { grid-template-columns: 1fr; }
  .admin-manager-email-form .btn { width: 100%; }
  .admin-maintenance-card__status { width: 45px; height: 45px; }
  body.admin-login-body { padding: 12px; }
  .admin-login-shell { border-radius: 22px; }
  .admin-login-card { padding: 28px 22px; }
  .admin-login-logo { margin-bottom: 30px; }
}

@media (max-width: 420px) {
  .storefront .mobile-shop-bar { grid-template-columns: 46px minmax(0, 1fr) 46px; gap: 6px; padding-inline: 8px; }
  .storefront .mobile-shop-logo { gap: 6px; }
  .storefront .mobile-shop-logo img { width: 44px !important; height: 44px !important; flex-basis: 44px; }
  .storefront .mobile-shop-logo .shop-logo__wordmark strong { font-size: 12px; }
  .storefront .mobile-shop-logo .shop-logo__wordmark small { font-size: 6px; letter-spacing: 1.8px; }
  .pb-brand-intro { padding: 28px 20px; }
  .pb-brand-intro h3 { font-size: 23px; }
  .pb-brand-intro p { font-size: 12px; }
  .home-section-heading { padding-right: 13px; }
  .home-section-heading::before { width: 4px; }
  .home-section-heading h2,
  .home-category-heading h2 { font-size: 17px; }
}

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