/* NoraCommerce V17.98 — Universal theme color bridge
   Shared storefront / commerce components automatically follow the active theme.
   Theme renderers only need to publish:
   --nora-theme-accent, --nora-theme-dark, --nora-theme-soft, --nora-theme-on-accent.
*/
:root{
  --nora-theme-accent:#d6ad32;
  --nora-theme-dark:#171914;
  --nora-theme-soft:#f4f3ee;
  --nora-theme-on-accent:#ffffff;
}

.nora-functional-page{
  --nc-accent:var(--nora-theme-accent);
  --nc-gold:var(--nora-theme-accent);
  --nc-gold-2:color-mix(in srgb,var(--nora-theme-accent) 56%,#ffffff);
  --nc-ink:var(--nora-theme-dark);
  --nc-dark:var(--nora-theme-dark);
  --nc-soft:var(--nora-theme-soft);
  --nc-border:color-mix(in srgb,var(--nora-theme-dark) 13%,#ffffff);
  --nc-shadow:0 24px 70px color-mix(in srgb,var(--nora-theme-dark) 9%,transparent);
  --nc-accent-soft:color-mix(in srgb,var(--nora-theme-accent) 10%,#ffffff);
  --nc-accent-soft-2:color-mix(in srgb,var(--nora-theme-accent) 17%,#ffffff);
  --nc-accent-border:color-mix(in srgb,var(--nora-theme-accent) 34%,#ffffff);
  --nc-accent-deep:color-mix(in srgb,var(--nora-theme-accent) 82%,var(--nora-theme-dark));
  --nc-dark-soft:color-mix(in srgb,var(--nora-theme-dark) 88%,#ffffff);
  --nc-muted:color-mix(in srgb,var(--nora-theme-dark) 55%,#ffffff);
  --nc-muted-2:color-mix(in srgb,var(--nora-theme-dark) 40%,#ffffff);
  --nc-on-accent:var(--nora-theme-on-accent);

  /* functional-base tokens: cart / checkout / auth / account / content pages */
  --ink:var(--nora-theme-dark);
  --muted:var(--nc-muted);
  --line:var(--nc-border);
  --surface:#ffffff;
  --bg:color-mix(in srgb,var(--nora-theme-soft) 72%,#ffffff);
  --primary:var(--nora-theme-accent);
  --purple:var(--nora-theme-accent);
  --shadow:0 16px 60px color-mix(in srgb,var(--nora-theme-dark) 7%,transparent);
}

/* Generic functional controls */
.nora-functional-page .btn{
  border-color:var(--nora-theme-accent);
  background:var(--nora-theme-accent);
  color:var(--nora-theme-on-accent);
}
.nora-functional-page .btn:hover:not(:disabled){
  box-shadow:0 8px 25px color-mix(in srgb,var(--nora-theme-accent) 28%,transparent);
}
.nora-functional-page .btn.secondary{
  background:var(--nc-accent-soft);
  color:var(--nc-accent-deep);
  border-color:var(--nc-accent-border);
}
.nora-functional-page input:focus,
.nora-functional-page select:focus,
.nora-functional-page textarea:focus{
  border-color:var(--nora-theme-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nora-theme-accent) 13%,transparent);
}

/* Catalog hero / toolbar */
.nora-functional-page .premium-catalog-hero{
  background:
    radial-gradient(circle at 92% 20%,color-mix(in srgb,var(--nora-theme-accent) 24%,transparent),transparent 24rem),
    linear-gradient(128deg,var(--nora-theme-dark),var(--nc-dark-soft) 68%,color-mix(in srgb,var(--nora-theme-dark) 77%,#ffffff));
}
.nora-functional-page .premium-catalog-hero::before{
  border-color:color-mix(in srgb,var(--nora-theme-accent) 28%,transparent);
  box-shadow:0 0 0 42px color-mix(in srgb,var(--nora-theme-accent) 5%,transparent),0 0 0 88px color-mix(in srgb,var(--nora-theme-accent) 3%,transparent);
}
.nora-functional-page .premium-catalog-breadcrumb a:hover,
.nora-functional-page .premium-product-breadcrumb a:hover,
.nora-functional-page .premium-category-chips a b,
.nora-functional-page .premium-catalog .product-details .eyebrow,
.nora-functional-page .premium-product-topline .eyebrow,
.nora-functional-page .premium-section-heading .eyebrow{
  color:var(--nora-theme-accent);
}
.nora-functional-page .premium-category-chips a:hover{
  border-color:var(--nc-accent-border);
  background:var(--nc-accent-soft);
}
.nora-functional-page .premium-filter-button,
.nora-functional-page .premium-add-cart{
  border-color:var(--nora-theme-dark)!important;
  background:var(--nora-theme-dark)!important;
  color:#ffffff!important;
}
.nora-functional-page .premium-filter-button span,
.nora-functional-page .premium-add-cart span{color:var(--nc-gold-2)}
.nora-functional-page .premium-add-cart:hover:not(:disabled){
  background:var(--nc-dark-soft)!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--nora-theme-dark) 22%,transparent)!important;
}

/* Breadcrumbs: category + product */
.nora-functional-page .premium-catalog--category .premium-category-breadcrumb,
.nora-functional-page .premium-product-breadcrumb{
  border-color:color-mix(in srgb,var(--nora-theme-accent) 22%,transparent);
  background:linear-gradient(135deg,rgba(255,255,255,.98),color-mix(in srgb,var(--nora-theme-soft) 72%,#ffffff));
  color:var(--nc-muted);
}
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-home,
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-link,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-home,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-link{
  color:color-mix(in srgb,var(--nora-theme-dark) 72%,#ffffff);
}
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-home-icon,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-home-icon{
  border-color:color-mix(in srgb,var(--nora-theme-accent) 28%,transparent);
  background:linear-gradient(145deg,#ffffff,var(--nc-accent-soft));
  color:var(--nora-theme-accent);
  box-shadow:0 3px 10px color-mix(in srgb,var(--nora-theme-accent) 10%,transparent);
}
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-home:hover,
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-link:hover,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-home:hover,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-link:hover{
  background:var(--nc-accent-soft);
  color:var(--nc-accent-deep);
}
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-current,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-current{
  border-color:color-mix(in srgb,var(--nora-theme-accent) 26%,transparent);
  background:linear-gradient(135deg,var(--nora-theme-dark),var(--nc-dark-soft));
  box-shadow:0 5px 14px color-mix(in srgb,var(--nora-theme-dark) 16%,transparent);
  color:#ffffff;
}
.nora-functional-page .premium-category-breadcrumb .premium-breadcrumb-current i,
.nora-functional-page .premium-product-breadcrumb .premium-breadcrumb-current i{
  background:var(--nora-theme-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nora-theme-accent) 18%,transparent);
}

/* Product list cards */
.nora-functional-page .premium-catalog .product-card:hover{border-color:var(--nc-accent-border)}
.nora-functional-page .premium-catalog .honor-product-badge,
.nora-functional-page .premium-product-sale-badge,
.nora-functional-page .premium-discount-note b{
  background:var(--nora-theme-accent);
  color:var(--nora-theme-on-accent);
  box-shadow:0 8px 18px color-mix(in srgb,var(--nora-theme-accent) 24%,transparent);
}
.nora-functional-page .premium-catalog .card-btn.card-btn-premium{
  background:linear-gradient(135deg,color-mix(in srgb,var(--nora-theme-accent) 92%,#ffffff) 0%,var(--nora-theme-accent) 52%,var(--nc-accent-deep) 100%);
  border-color:var(--nc-accent-deep);
  color:var(--nora-theme-on-accent)!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--nora-theme-accent) 28%,transparent),inset 0 1px 0 rgba(255,255,255,.22);
}
.nora-functional-page .premium-catalog .card-btn.card-btn-premium:hover:not(:disabled){
  background:linear-gradient(135deg,var(--nora-theme-accent) 0%,var(--nc-accent-deep) 100%);
  border-color:var(--nc-accent-deep);
  box-shadow:0 13px 28px color-mix(in srgb,var(--nora-theme-accent) 34%,transparent),inset 0 1px 0 rgba(255,255,255,.2);
}
.nora-functional-page .premium-pagination a.current{
  background:var(--nora-theme-dark);
  border-color:var(--nora-theme-dark);
  color:#ffffff;
}

/* Product detail */
.nora-functional-page .premium-product-stage{
  border-color:var(--nc-border);
  background:
    radial-gradient(circle at 75% 15%,color-mix(in srgb,var(--nora-theme-accent) 9%,transparent),transparent 18rem),
    linear-gradient(145deg,#ffffff,color-mix(in srgb,var(--nora-theme-soft) 64%,#ffffff));
}
.nora-functional-page .premium-product-thumb:hover,
.nora-functional-page .premium-product-thumb.is-active{
  border-color:var(--nora-theme-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nora-theme-accent) 14%,transparent);
}
.nora-functional-page .premium-product-info{
  border-color:var(--nc-border);
  box-shadow:0 20px 60px color-mix(in srgb,var(--nora-theme-dark) 8%,transparent);
}
.nora-functional-page .premium-product-info h1,
.nora-functional-page .premium-price-row .detail-price strong,
.nora-functional-page .premium-section-heading h2{color:var(--nora-theme-dark)}
.nora-functional-page .premium-product-meta a{
  border-color:var(--nc-border)!important;
  background:color-mix(in srgb,var(--nora-theme-soft) 58%,#ffffff)!important;
  color:color-mix(in srgb,var(--nora-theme-dark) 78%,#ffffff)!important;
}
.nora-functional-page .premium-product-options{
  border-color:var(--nc-border);
  background:color-mix(in srgb,var(--nora-theme-soft) 55%,#ffffff);
}
.nora-functional-page .premium-product-options label.product-option-chip:has(input:checked){
  border-color:var(--nora-theme-accent);
  background:var(--nc-accent-soft);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nora-theme-accent) 13%,transparent);
}
.nora-functional-page .premium-purchase-panel{
  border-color:var(--nc-border);
  background:linear-gradient(180deg,color-mix(in srgb,var(--nora-theme-soft) 52%,#ffffff),color-mix(in srgb,var(--nora-theme-soft) 78%,#ffffff));
}
.nora-functional-page .premium-purchase-trust{
  border-color:var(--nc-border);
  background:var(--nc-border);
}
.nora-functional-page .premium-purchase-trust>div>b{
  background:var(--nc-accent-soft);
  color:var(--nc-accent-deep);
}
.nora-functional-page .premium-review-head span,
.nora-functional-page .premium-review-login a{color:var(--nora-theme-accent)}

/* Brand pill in product detail */
.nora-functional-page .premium-product-brand{
  border-color:var(--nc-border);
  background:linear-gradient(180deg,#ffffff,color-mix(in srgb,var(--nora-theme-soft) 65%,#ffffff));
}
.nora-functional-page .premium-product-brand__label{
  background:var(--nora-theme-dark);
  color:var(--nc-gold-2);
}
.nora-functional-page .premium-product-brand__name{color:color-mix(in srgb,var(--nora-theme-dark) 82%,#ffffff)!important}
.nora-functional-page .premium-product-brand__name b{color:var(--nora-theme-accent)}
.nora-functional-page a.premium-product-brand__name:hover{color:var(--nc-accent-deep)!important}

/* Product gallery arrows */
.nora-functional-page .premium-product-stage[data-premium-gallery-stage]:focus-visible{
  box-shadow:0 22px 60px color-mix(in srgb,var(--nora-theme-dark) 8%,transparent),0 0 0 3px color-mix(in srgb,var(--nora-theme-accent) 14%,transparent);
}
.nora-functional-page .premium-gallery-arrow{
  border-color:color-mix(in srgb,var(--nora-theme-accent) 42%,transparent);
  color:var(--nc-accent-deep);
}
.nora-functional-page .premium-gallery-arrow:hover{
  background:var(--nora-theme-dark);
  color:var(--nc-gold-2);
  border-color:var(--nora-theme-accent);
}
.nora-functional-page .premium-gallery-arrow:focus-visible{outline-color:var(--nora-theme-accent)}

/* Favorites / price alerts */
.nora-functional-page .product-engagement-btn:hover,
.nora-functional-page .product-engagement-btn.is-active{
  border-color:var(--nora-theme-accent);
}
.nora-functional-page .product-engagement-btn.is-active{
  background:var(--nora-theme-dark);
  color:#ffffff;
}
.nora-functional-page .product-engagement-btn.is-active>span{color:var(--nc-gold-2)}
.nora-functional-page .product-price-alert-panel[data-has-alert="1"]>summary{
  background:var(--nc-accent-soft);
  border-color:var(--nc-accent-border);
}
.nora-functional-page .product-price-alert-panel form>button{
  background:var(--nora-theme-dark);
  color:#ffffff;
}

/* Member/account primary actions use the active theme as well. */
.nora-functional-page .member-primary-btn{
  background:var(--nora-theme-accent)!important;
  color:var(--nora-theme-on-accent)!important;
}
.nora-functional-page .member-primary-btn:hover{background:var(--nc-accent-deep)!important}
.nora-functional-page .member-menu-card a:hover,
.nora-functional-page .member-menu-card a.is-active,
.nora-functional-page .member-order-product-info>a:hover,
.nora-functional-page .member-order-detail-btn:hover,
.nora-functional-page .member-orders-error a{color:var(--nora-theme-accent)}

/* Native form accents */
.nora-functional-page input[type="checkbox"],
.nora-functional-page input[type="radio"]{accent-color:var(--nora-theme-accent)}
