/* New Choice — v26 visual system
   Safe override layer: no endpoint changes, no form/id changes. */
:root{
  --nc-forest:#10291f;
  --nc-forest-2:#183c2e;
  --nc-mint:#eef7f2;
  --nc-mint-2:#dff1e8;
  --nc-gold:#b68a23;
  --nc-gold-2:#d1a948;
  --nc-cream:#f7f3ea;
  --nc-paper:#fffdf8;
  --nc-ink:#17231d;
  --nc-muted:#68766f;
  --nc-line:rgba(32,47,39,.10);
  --nc-soft-line:rgba(182,138,35,.18);
  --nc-radius:22px;
  --nc-radius-lg:30px;
  --nc-shadow:0 18px 50px rgba(16,41,31,.10);
  --nc-shadow-soft:0 10px 28px rgba(16,41,31,.07);
  --nc-speed:.22s cubic-bezier(.2,.8,.2,1);
}

html{background:var(--nc-cream)}
body{
  background:
    radial-gradient(circle at 100% -10%, rgba(182,138,35,.12), transparent 30%),
    radial-gradient(circle at -10% 20%, rgba(24,60,46,.10), transparent 32%),
    linear-gradient(180deg,#fbfaf6 0%,var(--nc-cream) 100%) !important;
  color:var(--nc-ink) !important;
}
body::before{
  content:"";
  position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(16,41,31,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,41,31,.03) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.38),transparent 70%);
}

/* Custom icon system */
.nc-svg-icon{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;min-width:1.1em;color:currentColor;vertical-align:-.16em;opacity:.96}
.nc-svg-icon svg{width:100%;height:100%;display:block}
.tab-btn .nc-svg-icon,.dropdown__item .nc-svg-icon,.btn .nc-svg-icon,.nav-pill .nc-svg-icon{width:18px;height:18px;min-width:18px}
.stat-icon .nc-svg-icon{width:24px;height:24px;min-width:24px}
.cart-btn>.nc-svg-icon{width:20px;height:20px}
.img-drop__icon .nc-svg-icon{width:38px;height:38px;color:var(--nc-gold)}
.product-card__trainer-name .nc-svg-icon{width:14px;height:14px;color:var(--nc-gold)}

/* Navigation */
.navbar,.nav{
  min-height:76px !important;
  height:76px !important;
  background:rgba(255,253,248,.82) !important;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid rgba(16,41,31,.08) !important;
  box-shadow:0 12px 34px rgba(16,41,31,.06) !important;
}
.navbar__mark img,.nav-brand-wordmark{filter:drop-shadow(0 12px 26px rgba(16,41,31,.10)) !important}
.navbar__right,.nav-actions{gap:12px !important}
.nav-pill{
  height:34px;padding:0 14px !important;border-radius:999px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.50)) !important;
  color:var(--nc-forest) !important;border:1px solid var(--nc-soft-line) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 7px 20px rgba(16,41,31,.06);
}
.user-menu{background:rgba(255,255,255,.72) !important;border-color:var(--nc-line) !important;box-shadow:0 8px 22px rgba(16,41,31,.06)}
.user-menu:hover{border-color:var(--nc-soft-line) !important;background:var(--nc-paper) !important}
.user-av,.trainer-av,.conv-avatar{background:linear-gradient(135deg,var(--nc-forest),var(--nc-gold-2)) !important;box-shadow:0 8px 18px rgba(16,41,31,.14)}
.dropdown{border-radius:18px !important;border-color:var(--nc-line) !important;box-shadow:var(--nc-shadow) !important;background:rgba(255,253,248,.96) !important;backdrop-filter:blur(14px)}
.dropdown__item{border-bottom-color:rgba(16,41,31,.07) !important;color:var(--nc-ink) !important}
.dropdown__item:hover{background:var(--nc-mint) !important;color:var(--nc-forest) !important}

/* App layout: desktop sidebar */
@media (min-width: 980px){
  #adminPage.screen.on,#trainerPage.screen.on,#mainPage.screen.on{
    display:grid !important;
    grid-template-columns:282px minmax(0,1fr);
    grid-template-rows:76px minmax(0,1fr);
    min-height:100vh;
  }
  #adminPage>.navbar,#trainerPage>.navbar,#mainPage>.navbar{grid-column:1/-1;grid-row:1;position:sticky;top:0;z-index:250}
  #adminPage>.tabnav,#trainerPage>.tabnav,#mainPage>.tabnav{
    grid-column:1;grid-row:2;position:sticky;top:76px;height:calc(100vh - 76px);align-self:start;
    flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;
    padding:20px 16px;background:linear-gradient(180deg,rgba(255,253,248,.84),rgba(247,243,234,.76));
    border-bottom:0 !important;border-left:1px solid rgba(16,41,31,.08);box-shadow:-8px 0 30px rgba(16,41,31,.035) inset;
  }
  #adminPage>.page-body,#trainerPage>.page-body,#mainPage>.page-body{grid-column:2;grid-row:2;max-width:1320px;padding:32px 38px 52px !important}
  .tab-btn{
    width:100%;height:48px !important;justify-content:flex-start;border-radius:16px !important;
    padding:0 16px !important;color:var(--nc-muted) !important;background:transparent !important;
  }
  .tab-btn:hover{background:rgba(16,41,31,.055) !important;color:var(--nc-forest) !important}
  .tab-btn.active{background:linear-gradient(135deg,var(--nc-forest),var(--nc-forest-2)) !important;color:#fff !important;box-shadow:0 14px 26px rgba(16,41,31,.18)}
  .tab-btn.active::after{display:none !important}
}
@media (max-width:979px){
  .tabnav{background:rgba(255,253,248,.92) !important;backdrop-filter:blur(12px);gap:8px !important;padding:8px 16px !important}
  .tab-btn{border:1px solid var(--nc-line) !important;border-radius:999px !important;height:40px !important;background:rgba(255,255,255,.68) !important}
  .tab-btn.active{background:var(--nc-forest) !important;color:#fff !important;border-color:transparent !important}
  .tab-btn.active::after{display:none !important}
}

/* Auth */
.auth-screen{background:transparent !important;padding:24px}
.auth-card{
  border:1px solid rgba(16,41,31,.10) !important;border-radius:32px !important;background:rgba(255,253,248,.92) !important;
  box-shadow:0 28px 90px rgba(16,41,31,.16) !important;backdrop-filter:blur(18px);max-width:480px !important;
}
.auth-title{font-size:26px !important;color:var(--nc-forest)}
.auth-sub{color:var(--nc-muted) !important}
.auth-mark__img{filter:drop-shadow(0 14px 26px rgba(16,41,31,.12)) !important}

/* Buttons */
.btn,.btn-gold,.btn-ghost,.btn-ghost-dark{
  border-radius:16px !important;letter-spacing:-.1px;transition:transform var(--nc-speed),box-shadow var(--nc-speed),background var(--nc-speed),border-color var(--nc-speed),color var(--nc-speed) !important;
}
.btn--primary,.btn-gold{
  background:linear-gradient(135deg,var(--nc-forest) 0%,#235842 58%,var(--nc-gold) 140%) !important;
  color:#fff !important;box-shadow:0 14px 28px rgba(16,41,31,.18) !important;
}
.btn--primary:hover,.btn-gold:hover{transform:translateY(-2px) !important;box-shadow:0 18px 38px rgba(16,41,31,.23) !important}
.btn--ghost,.btn-ghost{background:rgba(255,255,255,.62) !important;color:var(--nc-forest) !important;border-color:var(--nc-line) !important}
.btn--ghost:hover,.btn-ghost:hover{background:var(--nc-mint) !important;border-color:rgba(16,41,31,.18) !important;color:var(--nc-forest) !important}
.btn--gold-soft,.btn--green{background:var(--nc-mint) !important;color:var(--nc-forest) !important;border-color:rgba(16,41,31,.10) !important}
.btn--danger{border-radius:14px !important}
button:active,.btn:active{transform:translateY(1px) scale(.985) !important}

/* Sections and cards */
.page-body,.container{position:relative}
.section-head{
  margin-bottom:24px !important;padding:20px 22px;border:1px solid rgba(16,41,31,.08);border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,253,248,.54));box-shadow:0 10px 28px rgba(16,41,31,.05);
}
.section-head__title,.section-title{color:var(--nc-forest) !important;letter-spacing:-.4px !important}
.section-head__desc,.section-desc,.section-sub{color:var(--nc-muted) !important}
.card,.form-card,.modal-content,.cart-modal,.profile-card,.chat-box,.conv-list,.empty-state{
  background:rgba(255,253,248,.92) !important;border:1px solid rgba(16,41,31,.09) !important;border-radius:var(--nc-radius-lg) !important;
  box-shadow:var(--nc-shadow-soft) !important;overflow:hidden;
}
.card__head{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.20));border-bottom-color:rgba(16,41,31,.08) !important}
.form-card{padding:24px !important}
.form-card__title{color:var(--nc-forest) !important;font-size:18px !important;margin-bottom:18px !important}

/* Forms */
.field__input,.form-group__input,.form-group__select,.form-group__textarea,.search-input,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="tel"],input[type="url"],input[type="date"],input[type="datetime-local"],textarea,select{
  border-radius:16px !important;border-color:rgba(16,41,31,.14) !important;background:rgba(255,255,255,.72) !important;color:var(--nc-ink) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.field__input:focus,.form-group__input:focus,.form-group__select:focus,.form-group__textarea:focus,.search-input:focus,textarea:focus,select:focus,input:focus{
  border-color:rgba(182,138,35,.55) !important;box-shadow:0 0 0 4px rgba(182,138,35,.12),inset 0 1px 0 rgba(255,255,255,.85) !important;background:#fff !important;
}
.form-group__label,.field__label{color:var(--nc-forest) !important;font-weight:800 !important}

/* Stats */
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;gap:18px !important}
.stat-card{
  border-radius:26px !important;background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(255,255,255,.72)) !important;
  border:1px solid rgba(16,41,31,.08) !important;box-shadow:var(--nc-shadow-soft) !important;padding:22px !important;
}
.stat-card:hover{transform:translateY(-4px) !important;box-shadow:var(--nc-shadow) !important}
.stat-card::after{opacity:.10 !important;background:var(--nc-forest) !important}
.stat-icon{width:44px;height:44px;border-radius:16px;background:var(--nc-mint);color:var(--nc-forest);display:flex;align-items:center;justify-content:center;margin-bottom:14px !important}
.stat-val{color:var(--nc-forest) !important;font-size:30px !important}
.stat-lbl{color:var(--nc-muted) !important}

/* Product cards */
.products-grid,.grid{gap:24px !important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important}
.product-card,.card{
  transition:transform var(--nc-speed),box-shadow var(--nc-speed),border-color var(--nc-speed) !important;
}
.product-card,.grid>.card{
  border-radius:28px !important;border:1px solid rgba(16,41,31,.09) !important;background:rgba(255,253,248,.95) !important;
  box-shadow:0 12px 32px rgba(16,41,31,.07) !important;
}
.product-card:hover,.grid>.card:hover{transform:translateY(-6px) !important;box-shadow:0 22px 55px rgba(16,41,31,.14) !important;border-color:rgba(182,138,35,.26) !important}
.product-card__thumb,.card-thumb{
  height:196px !important;background:linear-gradient(135deg,#f5ead3 0%,#edf6ef 100%) !important;
}
.product-card__thumb::after,.card-thumb::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(16,41,31,.20));pointer-events:none;
}
.product-card__thumb img,.card-thumb img{transition:transform .4s ease;z-index:0}
.product-card:hover .product-card__thumb img,.card:hover .card-thumb img{transform:scale(1.04)}
.product-card__thumb-badge,.card-thumb-badge{top:14px !important;right:14px !important;z-index:4 !important}
.product-card__body,.card-body{padding:20px !important}
.product-card__title,.card-title{font-size:17px !important;color:var(--nc-forest) !important;letter-spacing:-.2px}
.product-card__desc,.card-desc{color:var(--nc-muted) !important;line-height:1.75 !important}
.product-card__footer{border-top-color:rgba(16,41,31,.08) !important}
.product-card__price,.card-price{color:var(--nc-forest) !important}
.product-card__trainer-name{color:var(--nc-muted) !important}
.product-card__trainer-name:hover{color:var(--nc-forest) !important}
.badge,.card-badge,.type-badge{
  border-radius:999px !important;border:1px solid rgba(16,41,31,.10) !important;background:rgba(255,255,255,.86) !important;color:var(--nc-forest) !important;
  box-shadow:0 6px 16px rgba(16,41,31,.07);backdrop-filter:blur(10px);
}
.badge--onl,.badge-blue{background:#eef5ff !important;color:#23508e !important}
.badge--inp,.badge-green{background:var(--nc-mint) !important;color:var(--nc-forest) !important}
.badge--rec,.badge-gold{background:#fff7e6 !important;color:#865e08 !important}

/* Landing/store pages */
.hero,.hero-card,.hero-shell .hero{
  border-radius:34px !important;border:1px solid rgba(16,41,31,.09) !important;
  background:linear-gradient(135deg,rgba(255,253,248,.94),rgba(238,247,242,.82)) !important;box-shadow:0 28px 80px rgba(16,41,31,.10) !important;
}
.hero h1,.hero-title{color:var(--nc-forest) !important;letter-spacing:-.8px !important}
.gradient-text{background:linear-gradient(135deg,var(--nc-forest),var(--nc-gold-2)) !important;-webkit-background-clip:text !important;background-clip:text !important}
.filter-wrap{border-radius:22px !important;background:rgba(255,253,248,.88) !important;box-shadow:var(--nc-shadow-soft) !important}
.filter-btn{border-radius:999px !important}
.filter-btn.active{background:var(--nc-forest) !important;border-color:var(--nc-forest) !important;color:#fff !important}

/* Tables */
table{border-collapse:separate !important;border-spacing:0 !important}
thead th{background:rgba(16,41,31,.045) !important;color:var(--nc-muted) !important;border-bottom:1px solid rgba(16,41,31,.07) !important}
tbody tr{transition:background var(--nc-speed)}
tbody tr:hover{background:rgba(16,41,31,.035) !important}
td{border-bottom:1px solid rgba(16,41,31,.06) !important}

/* Chat, modals, uploads */
.img-drop{border-radius:26px !important;border:1.5px dashed rgba(182,138,35,.36) !important;background:linear-gradient(135deg,rgba(255,247,230,.64),rgba(238,247,242,.60)) !important}
.img-drop:hover{border-color:var(--nc-gold) !important;background:#fff !important}
.modal,.cart-overlay{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.chat-input,.message-input{border-radius:20px !important}
.conv-item{border-radius:18px !important}
.conv-item:hover,.conv-item.active{background:var(--nc-mint) !important}

/* Empty states and loaders */
.empty-state{padding:38px !important;text-align:center;color:var(--nc-muted) !important}
.skeleton,.nc-skeleton{position:relative;overflow:hidden;background:rgba(16,41,31,.06)!important;border-radius:14px}
.skeleton::after,.nc-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:ncShimmer 1.25s infinite}
@keyframes ncShimmer{100%{transform:translateX(-100%)}}
.spinner{border-color:rgba(255,255,255,.35) !important;border-top-color:#fff !important}

/* Better focus */
:focus-visible{outline:3px solid rgba(182,138,35,.28) !important;outline-offset:2px}

@media (max-width:760px){
  .navbar,.nav{height:auto !important;min-height:68px !important;padding:0 16px !important}
  .page-body,.container{padding-left:16px !important;padding-right:16px !important}
  .products-grid,.grid{grid-template-columns:1fr !important}
  .section-head{padding:16px !important;border-radius:20px !important}
  .form-card{padding:18px !important;border-radius:22px !important}
  .product-card__thumb,.card-thumb{height:176px !important}
}

/* v32 polish — meta chips for product cards */
.product-meta-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.product-meta-chips span{display:inline-flex;align-items:center;border:1px solid rgba(16,41,31,.08);background:rgba(238,247,242,.75);color:var(--nc-forest,#10291f);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;line-height:1.2}
.product-card__desc{min-height:48px}
.nc-v32-note{border:1px solid rgba(182,138,35,.18);background:linear-gradient(135deg,rgba(255,247,230,.78),rgba(238,247,242,.72));border-radius:22px;padding:16px 18px;color:var(--nc-forest,#10291f);box-shadow:0 10px 28px rgba(16,41,31,.06)}
@media (max-width:760px){.product-meta-chips span{font-size:10.5px}.product-card__desc{min-height:auto}}
