/* ==============================================
   Nellore Stores — Frontend Styles
   ============================================== */

:root {
  --ns-primary:       #2563EB;
  --ns-primary-dark:  #1D4ED8;
  --ns-primary-light: #EFF6FF;
  --ns-green:         #16A34A;
  --ns-green-light:   #F0FDF4;
  --ns-yellow:        #F59E0B;
  --ns-red:           #DC2626;
  --ns-gray-50:       #F9FAFB;
  --ns-gray-100:      #F3F4F6;
  --ns-gray-200:      #E5E7EB;
  --ns-gray-400:      #9CA3AF;
  --ns-gray-600:      #4B5563;
  --ns-gray-800:      #1F2937;
  --ns-white:         #FFFFFF;
  --ns-radius:        10px;
  --ns-radius-sm:     6px;
  --ns-shadow:        0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
  --ns-shadow-md:     0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);
  --ns-shadow-lg:     0 10px 15px rgba(0,0,0,.1);
  --ns-font:          -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

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

.ns-wrap { font-family: var(--ns-font); color: var(--ns-gray-800); line-height: 1.6; }

.ns-container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* ---- Buttons ---- */
.ns-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 18px; border-radius: var(--ns-radius-sm);
  font-size: 14px; font-weight: 600; cursor: pointer;
  border: 2px solid transparent; text-decoration: none;
  transition: all .2s; white-space: nowrap;
}
.ns-btn--primary  { background: var(--ns-primary); color: #fff; border-color: var(--ns-primary); }
.ns-btn--primary:hover { background: var(--ns-primary-dark); }
.ns-btn--green    { background: var(--ns-green); color: #fff; border-color: var(--ns-green); }
.ns-btn--green:hover { filter: brightness(1.1); }
.ns-btn--outline  { background: transparent; color: var(--ns-primary); border-color: var(--ns-primary); }
.ns-btn--outline:hover { background: var(--ns-primary-light); }
.ns-btn--white    { background: #fff; color: var(--ns-primary); }
.ns-btn--outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.ns-btn--outline-white:hover { background: rgba(255,255,255,.15); }
.ns-btn--danger   { background: var(--ns-red); color: #fff; border-color: var(--ns-red); }
.ns-btn--sm       { padding: 6px 12px; font-size: 13px; }
.ns-btn--lg       { padding: 13px 28px; font-size: 16px; }
.ns-btn--full     { width: 100%; justify-content: center; }

/* ---- Hero ---- */
.ns-hero {
  background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #0ea5e9 100%);
  padding: 64px 16px; text-align: center; color: #fff;
}
.ns-hero__title { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; margin: 0 0 12px; }
.ns-hero__title span { color: #FCD34D; }
.ns-hero__sub { font-size: 1.1rem; opacity: .85; margin: 0 0 32px; }

/* ---- Search Bar ---- */
.ns-search-bar__inner {
  display: flex; gap: 8px; background: #fff;
  border-radius: 50px; padding: 6px 6px 6px 20px;
  box-shadow: var(--ns-shadow-lg); max-width: 760px; margin: 0 auto;
  flex-wrap: wrap;
}
.ns-search-bar__input { flex: 1; border: none; outline: none; font-size: 15px; min-width: 160px; background: transparent; }
.ns-search-bar__cat { border: none; outline: none; font-size: 14px; background: transparent; color: var(--ns-gray-600); max-width: 160px; }
.ns-search-bar__area { border: none; outline: none; font-size: 14px; background: transparent; max-width: 140px; }
.ns-search-bar .ns-btn--primary { border-radius: 50px; }

/* ---- Section ---- */
.ns-section { padding: 48px 0; }
.ns-section--gray { background: var(--ns-gray-50); }
.ns-section--blue { background: linear-gradient(135deg, #1e3a8a, #2563eb); color: #fff; text-align: center; }
.ns-section__title { font-size: 1.5rem; font-weight: 700; margin: 0 0 24px; }
.ns-section__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.ns-section__header .ns-section__title { margin-bottom: 0; }

/* ---- Categories Grid ---- */
.ns-categories-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 12px; }
.ns-category-card {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 20px 12px; border-radius: var(--ns-radius); background: #fff;
  border: 2px solid var(--ns-gray-200); text-decoration: none; color: var(--ns-gray-800);
  transition: all .2s; cursor: pointer;
}
.ns-category-card:hover { border-color: var(--cat-color, var(--ns-primary)); box-shadow: var(--ns-shadow-md); transform: translateY(-2px); }
.ns-category-card__icon { font-size: 2rem; }
.ns-category-card__name { font-size: 13px; font-weight: 600; text-align: center; }
.ns-category-card__count { font-size: 11px; color: var(--ns-gray-400); }

/* ---- Store Card ---- */
.ns-store-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.ns-store-card { background: #fff; border-radius: var(--ns-radius); overflow: hidden; box-shadow: var(--ns-shadow); transition: all .2s; }
.ns-store-card:hover { box-shadow: var(--ns-shadow-lg); transform: translateY(-3px); }
.ns-store-card__cover-wrap { display: block; position: relative; height: 140px; overflow: hidden; }
.ns-store-card__cover { width: 100%; height: 100%; object-fit: cover; }
.ns-store-card__cover-placeholder { width: 100%; height: 100%; }
.ns-store-card__body { padding: 12px 16px 16px; position: relative; }
.ns-store-card__logo-wrap { margin-top: -28px; margin-bottom: 8px; }
.ns-store-card__logo { width: 52px; height: 52px; border-radius: 10px; border: 3px solid #fff; box-shadow: var(--ns-shadow); object-fit: cover; }
.ns-store-card__logo-placeholder {
  width: 52px; height: 52px; border-radius: 10px; border: 3px solid #fff; box-shadow: var(--ns-shadow);
  background: var(--ns-primary); color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; font-weight: 700;
}
.ns-store-card__name { font-size: 15px; font-weight: 700; margin: 0 0 4px; display: flex; align-items: center; gap: 4px; }
.ns-store-card__name a { text-decoration: none; color: var(--ns-gray-800); }
.ns-store-card__name a:hover { color: var(--ns-primary); }
.ns-store-card__category, .ns-store-card__area { font-size: 12px; color: var(--ns-gray-600); display: block; margin-bottom: 2px; }

/* ---- Stars ---- */
.ns-stars { display: flex; align-items: center; gap: 2px; font-size: 14px; margin-top: 4px; }
.ns-stars--lg { font-size: 18px; }
.ns-star { color: var(--ns-gray-200); }
.ns-star.filled { color: var(--ns-yellow); }
.ns-stars__count { font-size: 12px; color: var(--ns-gray-600); margin-left: 4px; }

/* ---- Badges ---- */
.ns-badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 50px; font-size: 11px; font-weight: 700; }
.ns-badge--featured { background: #FEF3C7; color: #92400E; position: absolute; top: 10px; left: 10px; }
.ns-badge--offer    { background: #FEE2E2; color: #991B1B; }
.ns-badge--active   { background: #D1FAE5; color: #065F46; }
.ns-badge--inactive { background: var(--ns-gray-100); color: var(--ns-gray-600); }
.ns-badge--unavailable { background: #FEE2E2; color: var(--ns-red); }

/* ---- Offer Cards ---- */
.ns-offers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.ns-offer-card { background: #fff; border-radius: var(--ns-radius); overflow: hidden; box-shadow: var(--ns-shadow); }
.ns-offer-card__img { width: 100%; height: 160px; object-fit: cover; }
.ns-offer-card__body { padding: 14px; }
.ns-offer-card__title { font-size: 15px; font-weight: 700; margin: 6px 0 4px; }
.ns-offer-card__expires { font-size: 12px; color: var(--ns-red); margin: 0; }

/* ---- Pricing CTA ---- */
.ns-pricing-cta { padding: 48px 16px; }
.ns-pricing-cta h2 { font-size: 1.8rem; font-weight: 800; margin: 0 0 12px; }
.ns-pricing-cta p { opacity: .85; margin: 0 0 28px; font-size: 1.05rem; }
.ns-pricing-cta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ---- Pricing Cards ---- */
.ns-pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; max-width: 800px; margin: 0 auto; }
.ns-pricing-card { background: #fff; border-radius: var(--ns-radius); border: 2px solid var(--ns-gray-200); padding: 32px; position: relative; text-align: center; }
.ns-pricing-card--featured { border-color: var(--ns-primary); box-shadow: 0 0 0 4px rgba(37,99,235,.1); }
.ns-pricing-card__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--ns-primary); color: #fff; padding: 3px 16px; border-radius: 50px; font-size: 12px; font-weight: 700; }
.ns-pricing-card__name { font-size: 1.2rem; font-weight: 700; margin: 0 0 16px; }
.ns-price-amount { font-size: 2.5rem; font-weight: 800; color: var(--ns-primary); }
.ns-price-period { font-size: 1rem; color: var(--ns-gray-600); }
.ns-pricing-card__yearly { font-size: 13px; color: var(--ns-gray-600); margin: 8px 0 20px; }
.ns-pricing-card__features { list-style: none; padding: 0; margin: 0 0 24px; text-align: left; }
.ns-pricing-card__features li { padding: 6px 0; font-size: 14px; border-bottom: 1px solid var(--ns-gray-100); }
.ns-pricing-card__btns { display: flex; flex-direction: column; gap: 8px; }

/* ---- Auth Cards ---- */
.ns-auth-wrap { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 32px 16px; background: var(--ns-gray-50); }
.ns-auth-card { background: #fff; border-radius: var(--ns-radius); box-shadow: var(--ns-shadow-lg); padding: 40px; width: 100%; max-width: 480px; }
.ns-auth-card__header { text-align: center; margin-bottom: 28px; }
.ns-auth-card__header h1 { font-size: 1.5rem; font-weight: 800; margin: 0 0 8px; }
.ns-auth-card__header p  { color: var(--ns-gray-600); margin: 0; font-size: 14px; }
.ns-auth-card__footer { text-align: center; margin-top: 20px; font-size: 14px; color: var(--ns-gray-600); }

/* ---- Forms ---- */
.ns-form { display: flex; flex-direction: column; gap: 16px; }
.ns-form__group { display: flex; flex-direction: column; gap: 5px; }
.ns-form__group label { font-size: 14px; font-weight: 600; color: var(--ns-gray-800); }
.ns-form__row { display: flex; justify-content: flex-end; }
.ns-form__row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ns-form__row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.ns-form__terms { font-size: 12px; color: var(--ns-gray-600); margin: 0; }
.ns-form__submit-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.ns-input {
  width: 100%; padding: 10px 14px; border: 1.5px solid var(--ns-gray-200);
  border-radius: var(--ns-radius-sm); font-size: 14px; color: var(--ns-gray-800);
  transition: border-color .2s; background: #fff;
}
.ns-input:focus { outline: none; border-color: var(--ns-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.ns-input-password-wrap { position: relative; }
.ns-input-password-wrap .ns-input { padding-right: 40px; }
.ns-toggle-password { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 16px; }
.ns-input-prefix { display: flex; border: 1.5px solid var(--ns-gray-200); border-radius: var(--ns-radius-sm); overflow: hidden; }
.ns-input-prefix span { padding: 10px 12px; background: var(--ns-gray-100); font-size: 14px; font-weight: 600; border-right: 1.5px solid var(--ns-gray-200); white-space: nowrap; }
.ns-input-prefix .ns-input { border: none; border-radius: 0; }

.ns-form-msg { font-size: 13px; padding: 8px 12px; border-radius: var(--ns-radius-sm); display: none; }
.ns-form-msg.success { background: var(--ns-green-light); color: var(--ns-green); display: block; }
.ns-form-msg.error   { background: #FEE2E2; color: var(--ns-red); display: block; }
.required { color: var(--ns-red); }
.optional { color: var(--ns-gray-400); font-size: 12px; font-weight: 400; }

/* ---- Upload Zone ---- */
.ns-upload-zone {
  border: 2px dashed var(--ns-gray-200); border-radius: var(--ns-radius);
  padding: 24px; text-align: center; cursor: pointer; position: relative;
  transition: border-color .2s; overflow: hidden;
}
.ns-upload-zone:hover { border-color: var(--ns-primary); }
.ns-upload-zone input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.ns-upload-zone--wide { height: 120px; display: flex; align-items: center; justify-content: center; }
.ns-upload-preview { max-width: 100%; max-height: 100px; border-radius: var(--ns-radius-sm); }

/* ---- Store Single ---- */
.ns-store-cover { height: 260px; background-size: cover; background-position: center; position: relative; }
.ns-store-cover__overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,.5)); }
.ns-store-header { display: flex; gap: 20px; align-items: flex-start; padding: 20px 0 24px; flex-wrap: wrap; }
.ns-store-header__logo-wrap { margin-top: -48px; flex-shrink: 0; }
.ns-store-header__logo { width: 96px; height: 96px; border-radius: 16px; border: 4px solid #fff; object-fit: cover; box-shadow: var(--ns-shadow-lg); }
.ns-store-header__logo-placeholder { width: 96px; height: 96px; border-radius: 16px; border: 4px solid #fff; background: var(--ns-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 2.4rem; font-weight: 800; box-shadow: var(--ns-shadow-lg); }
.ns-store-header__info { flex: 1; min-width: 200px; }
.ns-store-header__name-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ns-store-header__name { font-size: 1.6rem; font-weight: 800; margin: 0; }
.ns-store-header__category, .ns-store-header__address { color: var(--ns-gray-600); margin: 4px 0 0; font-size: 14px; }
.ns-store-header__actions { display: flex; gap: 10px; flex-wrap: wrap; align-self: flex-end; }
.ns-verified-badge { background: var(--ns-primary-light); color: var(--ns-primary); padding: 3px 10px; border-radius: 50px; font-size: 12px; font-weight: 700; }

/* ---- Tabs ---- */
.ns-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--ns-gray-200); margin-bottom: 24px; flex-wrap: wrap; }
.ns-tab { padding: 12px 20px; border: none; background: none; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--ns-gray-600); border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all .2s; }
.ns-tab.active, .ns-tab:hover { color: var(--ns-primary); border-bottom-color: var(--ns-primary); }
.ns-tab-panel { display: none; }
.ns-tab-panel.active { display: block; }

/* ---- Two Column ---- */
.ns-two-col { display: grid; grid-template-columns: 1fr 360px; gap: 24px; align-items: start; }
@media (max-width: 768px) { .ns-two-col { grid-template-columns: 1fr; } }

/* ---- Card ---- */
.ns-card { background: #fff; border-radius: var(--ns-radius); box-shadow: var(--ns-shadow); padding: 20px; margin-bottom: 20px; }
.ns-card h3 { font-size: 15px; font-weight: 700; margin: 0 0 14px; color: var(--ns-gray-800); }

/* ---- Contact Card ---- */
.ns-contact-card p { margin: 0 0 8px; font-size: 14px; display: flex; gap: 8px; align-items: center; }
.ns-contact-card a { color: var(--ns-primary); text-decoration: none; }

/* ---- Hours ---- */
.ns-hours-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ns-hours-table tr.today td { font-weight: 700; color: var(--ns-primary); }
.ns-hours-table td { padding: 5px 0; }
.ns-hours-table td:first-child { width: 100px; }
.ns-hours-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.ns-hours-day { width: 90px; font-size: 14px; font-weight: 600; }
.closed { color: var(--ns-red); }

/* ---- Google Map ---- */
.ns-map-embed { width: 100%; height: 220px; border: none; border-radius: var(--ns-radius-sm); }

/* ---- Gallery ---- */
.ns-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; }
.ns-gallery__item { width: 100%; height: 100px; object-fit: cover; border-radius: var(--ns-radius-sm); cursor: pointer; }

/* ---- Products Grid ---- */
.ns-products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.ns-product-card { background: #fff; border-radius: var(--ns-radius); overflow: hidden; box-shadow: var(--ns-shadow); transition: all .2s; }
.ns-product-card:hover { box-shadow: var(--ns-shadow-md); transform: translateY(-2px); }
.ns-product-card--link { text-decoration: none; color: inherit; }
.ns-product-card__img { width: 100%; height: 160px; object-fit: cover; }
.ns-product-card__body { padding: 12px; }
.ns-product-card__name { font-size: 14px; font-weight: 700; margin: 0 0 4px; }
.ns-product-card__desc { font-size: 12px; color: var(--ns-gray-600); margin: 0 0 8px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ns-product-card__price-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ns-product-card__store { font-size: 12px; color: var(--ns-gray-600); display: block; margin-top: 4px; }

/* ---- Prices ---- */
.ns-price { font-size: 15px; font-weight: 700; color: var(--ns-gray-800); }
.ns-price--sale { color: var(--ns-green); }
.ns-price--original { font-size: 13px; color: var(--ns-gray-400); text-decoration: line-through; font-weight: 400; }

/* ---- Reviews ---- */
.ns-review-card { background: #fff; border-radius: var(--ns-radius); box-shadow: var(--ns-shadow); padding: 16px; margin-bottom: 14px; }
.ns-review-card__header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.ns-review-card__author { font-weight: 700; font-size: 14px; }
.ns-review-card__date { font-size: 12px; color: var(--ns-gray-400); margin-left: auto; }
.ns-star-pick { font-size: 2rem; color: var(--ns-gray-200); cursor: pointer; transition: color .15s; }
.ns-star-pick.active, .ns-star-pick:hover { color: var(--ns-yellow); }
.ns-star-picker { display: flex; gap: 4px; margin-bottom: 12px; }

/* ---- Dashboard ---- */
.ns-dashboard { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: start; margin: 32px 0; }
@media (max-width: 768px) { .ns-dashboard { grid-template-columns: 1fr; } }
.ns-dashboard__sidebar { background: #fff; border-radius: var(--ns-radius); box-shadow: var(--ns-shadow); padding: 20px; position: sticky; top: 24px; }
.ns-dashboard__user { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--ns-gray-200); }
.ns-dashboard__user img { border-radius: 50%; }
.ns-dashboard__user strong { display: block; font-size: 14px; }
.ns-dashboard__user span { font-size: 12px; color: var(--ns-gray-600); }
.ns-dashboard__nav { display: flex; flex-direction: column; gap: 4px; }
.ns-dash-nav { display: block; padding: 10px 14px; border-radius: var(--ns-radius-sm); font-size: 14px; font-weight: 600; color: var(--ns-gray-600); text-decoration: none; transition: all .2s; }
.ns-dash-nav:hover, .ns-dash-nav.active { background: var(--ns-primary-light); color: var(--ns-primary); }
.ns-dash-nav--logout { color: var(--ns-red) !important; margin-top: 16px; }
.ns-dashboard__main { }
.ns-dash-section { display: none; }
.ns-dash-section.active { display: block; }
.ns-stats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 16px; margin-bottom: 24px; }
.ns-stat-card { background: #fff; border-radius: var(--ns-radius); box-shadow: var(--ns-shadow); padding: 16px 20px; display: flex; gap: 14px; align-items: center; }
.ns-stat-card span { font-size: 2rem; }
.ns-stat-card strong { display: block; font-size: 1.5rem; font-weight: 800; color: var(--ns-gray-800); }
.ns-stat-card span + div span { font-size: 13px; color: var(--ns-gray-600); }

/* ---- Table ---- */
.ns-table-wrap { overflow-x: auto; }
.ns-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.ns-table th { background: var(--ns-gray-50); padding: 10px 12px; font-weight: 700; text-align: left; border-bottom: 2px solid var(--ns-gray-200); }
.ns-table td { padding: 10px 12px; border-bottom: 1px solid var(--ns-gray-100); vertical-align: middle; }
.ns-table-img { width: 48px; height: 48px; border-radius: var(--ns-radius-sm); object-fit: cover; }

/* ---- Status ---- */
.ns-status--active    { color: var(--ns-green); font-weight: 700; }
.ns-status--pending   { color: var(--ns-yellow); font-weight: 700; }
.ns-status--suspended { color: var(--ns-red); font-weight: 700; }

/* ---- Misc ---- */
.ns-link { color: var(--ns-primary); text-decoration: none; font-size: 14px; font-weight: 600; }
.ns-link:hover { text-decoration: underline; }
.ns-empty { color: var(--ns-gray-400); text-align: center; padding: 32px; font-style: italic; }
.ns-empty-state { text-align: center; padding: 60px 20px; }
.ns-empty-state span { font-size: 4rem; display: block; margin-bottom: 16px; }
.ns-empty-state h3 { font-size: 1.2rem; font-weight: 700; margin: 0 0 8px; }
.ns-alert { padding: 12px 16px; border-radius: var(--ns-radius-sm); margin-bottom: 16px; font-size: 14px; }
.ns-alert--info { background: #EFF6FF; color: var(--ns-primary); border-left: 4px solid var(--ns-primary); }
.ns-plan-limit { font-size: 13px; color: var(--ns-gray-600); padding: 10px 14px; background: #FFFBEB; border-radius: var(--ns-radius-sm); margin-top: 12px; }
.ns-login-prompt { text-align: center; color: var(--ns-gray-600); font-size: 14px; padding: 16px; }
.ns-fieldset { border: 1.5px solid var(--ns-gray-200); border-radius: var(--ns-radius); padding: 20px; margin-bottom: 16px; }
.ns-fieldset legend { font-weight: 700; font-size: 14px; padding: 0 8px; color: var(--ns-primary); }
.ns-page-header { display: flex; align-items: center; justify-content: space-between; margin: 24px 0 20px; flex-wrap: wrap; gap: 12px; }
.ns-page-header h1 { margin: 0; font-size: 1.4rem; font-weight: 800; }
.ns-quick-nav { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.ns-store-status-bar { background: var(--ns-gray-50); border-radius: var(--ns-radius-sm); padding: 12px 16px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; font-size: 14px; margin-bottom: 24px; }
.ns-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ns-section-header h2 { margin: 0; font-size: 1.1rem; font-weight: 700; }
.ns-verified svg { display: inline; vertical-align: middle; }
.ns-heart { font-size: 18px; }
.ns-img-preview { max-width: 100%; max-height: 100px; border-radius: var(--ns-radius-sm); margin-top: 8px; }
.ns-search-page-bar { padding: 24px 0 20px; }
.ns-search-count { margin-bottom: 16px; font-size: 14px; color: var(--ns-gray-600); }
.ns-search-type-toggle { display: flex; gap: 16px; margin-top: 12px; font-size: 14px; font-weight: 600; }
.ns-search-type-toggle label { display: flex; gap: 6px; cursor: pointer; }

/* ---- Responsive ---- */
@media (max-width: 600px) {
  .ns-form__row-2, .ns-form__row-3 { grid-template-columns: 1fr; }
  .ns-store-header { flex-direction: column; }
  .ns-store-header__logo-wrap { margin-top: -40px; }
  .ns-search-bar__inner { border-radius: var(--ns-radius); padding: 12px; }
}
