:root {
    --hip-red: #c91e32;
    --hip-red-hover: #a51629;
    --hip-ink: #24272e;
    --hip-muted: #626874;
    --hip-line: #e5e7ec;
    --hip-bg: #f6f7f9;
    --hip-soft: #fff1f3;
    --hip-font: 'Vazirmatn FD NL', 'Vazir', system-ui, sans-serif;
}
body.hip-site, body.hip-admin {
    --primary: var(--hip-red);
    --primary-hover: var(--hip-red-hover);
    --primary-light: var(--hip-soft);
    --primary-rgb: 201,30,50;
    --dp: var(--hip-red); --dpd: var(--hip-red-hover); --dpl: var(--hip-soft);
    --bg: var(--hip-bg); --dbg: var(--hip-bg); --surface: #fff; --dcd: #fff;
    --text: var(--hip-ink); --dtx: var(--hip-ink);
    --text2: var(--hip-muted); --dtl: var(--hip-muted); --text3: #6f7580; --dtll: #6f7580;
    --border: var(--hip-line); --dbd: var(--hip-line); --font: var(--hip-font);
    --r: 16px; --rs: 12px; --rxs: 8px; --radius: 16px;
    --shadow-sm: none; --shadow-md: none; --sh-sm: none; --sh: none;
    background: var(--hip-bg);
    color: var(--hip-ink);
    font-family: var(--hip-font);
    caret-color: var(--hip-red);
}
body.hip-site { display: block; padding: 0; min-height: 100dvh; background-image: none; }
.hip-site ::selection, .hip-admin ::selection { background: #f8d8de; color: #68101d; }
.hip-site :focus-visible, .hip-admin :focus-visible { outline: 3px solid #b91930; outline-offset: 3px; }
.hip-site :where(button,input,select,textarea), .hip-admin :where(button,input,select,textarea) { font-family: inherit; }
.hip-site a, .hip-admin a { text-underline-offset: 4px; }
.hip-site #mainContent { min-height: 40vh; }
.hip-site :is(.products-page,.product-page,.cart-page-container,.checkout-container,.about-page,.consult-page,.dashboard-wrap,.orders-wrap,.detail-page,.addr-page,.profile-page,.sessions-page,.ticket-page) { max-width: 1280px; margin-inline: auto; }
.hip-site :is(.page-hero,.about-hero,.consult-hero,.dash-hero) { background: #fff; color: var(--hip-ink); border: 1px solid var(--hip-line); border-radius: 16px; box-shadow: none; padding: 25px 28px; }
.hip-site :is(.page-hero,.about-hero,.consult-hero,.dash-hero)::before,
.hip-site :is(.page-hero,.about-hero,.consult-hero,.dash-hero)::after { display: none; }
.hip-site :is(.page-hero,.about-hero,.consult-hero,.dash-hero) :is(h1,h2,h3,.dash-hero-info) { color: var(--hip-ink); }
.hip-site :is(.page-hero p,.about-hero p,.consult-hero p,.dash-hero-meta,.level-next) { color: var(--hip-muted); opacity: 1; }
.hip-site :is(.hero-stat,.about-stat,.level-badge) { background: var(--hip-bg); color: var(--hip-ink); border-color: var(--hip-line); border-radius: 10px; backdrop-filter: none; }
.hip-site .dash-hero-meta i { color: var(--hip-red); }
.hip-site .dash-avatar { background: var(--hip-soft); color: var(--hip-red); border: 0; box-shadow: none; border-radius: 14px; }
.hip-site :is(.btn,.btn-primary,.primary-button,.btn-submit,.cart-checkout-btn,.add-to-cart-btn-large,.sticky-add-cart-btn,.consult-btn,.btn-hero.primary) { border-radius: 10px; background: var(--hip-red); color: #fff; box-shadow: none; font-weight: 750; }
.hip-site :is(.btn-primary,.primary-button,.btn-submit,.cart-checkout-btn,.add-to-cart-btn-large,.sticky-add-cart-btn,.consult-btn,.btn-hero.primary):hover { background: var(--hip-red-hover); color: #fff; box-shadow: none; transform: none; }
.hip-site :is(.btn-outline,.btn-back,.btn-hero:not(.primary),.btn-sm:not(.btn-login):not(.btn-cart),.filter-reset-btn) { background: #fff; color: var(--hip-ink); border: 1px solid var(--hip-line); box-shadow: none; border-radius: 10px; backdrop-filter: none; }
.hip-site :is(.btn,.btn-submit,.primary-button,.cart-checkout-btn,.add-to-cart-btn-large,.btn-hero):disabled { opacity: .6; cursor: not-allowed; transform: none; }
.hip-site :is(.card,.dash-card,.stat-card,.cart-item-card,.cart-sidebar,.checkout-section,.description-card,.specs-section,.reviews-card,.review-form,.consult-card,.trust-card,.about-section,.nav-card,.profile-card,.auth-card) { background: #fff; color: var(--hip-ink); border: 1px solid var(--hip-line); border-radius: 16px; box-shadow: none; }
.hip-site :is(.card,.dash-card,.stat-card,.cart-item-card,.nav-card):hover { transform: none; box-shadow: none; border-color: #d1d5dd; }
.hip-site :is(.nav-card,.nav-card .nav-icon,.nav-badge,.btn-login,.cart-item-count-badge,.cart-item-discount-badge) { animation: none; }
.hip-site .nav-card::after { display: none; }
.hip-site :is(.card-head,.checkout-section h2) { border-bottom: 1px solid var(--hip-line); }
.hip-site :is(.form-group,.input-group) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.hip-site .text-input { background: #fff; border: 1px solid #cfd3dc; border-radius: 10px; color: var(--hip-ink); min-height: 44px; font-size: 14px; }
.hip-site :is(input,textarea)::placeholder { color: #737985; }
.hip-site :is(input,select,textarea):disabled { color: #68707d; background: #f1f2f5; cursor: not-allowed; }
.hip-site :is(.cart-item-title,.item-title,.product-info h1) { color: var(--hip-ink); }
.hip-site :is(.current-price-new,.cart-item-current-price,.order-total-price,.cart-summary-row.total-row .val) { color: var(--hip-ink); font-variant-numeric: tabular-nums; }
.hip-site :is(.qty-controls,.cart-item-qty,.qty-input,.cart-modal,.modal-box,.hipsup-box,.hip-chat-panel) { border-radius: 12px; }
.hip-site :is(.cart-modal-header,.modal-head,.hipsup-head) { background: #fff; color: var(--hip-ink); border-bottom: 1px solid var(--hip-line); }
.hip-site :is(.cart-modal-btn-danger,.cart-modal-btn-clear,.hipsup-btn-primary) { border-radius: 10px; background: var(--hip-red); color: #fff; box-shadow: none; }
.hip-site :is(.hipsup-opt,.sup-opt) { border: 1px solid var(--hip-line); border-radius: 12px; box-shadow: none; }
.hip-site .hip-chat-panel { box-shadow: 0 8px 32px #18212e24; }
.hip-site .hip-chat-send { background: var(--hip-red); }
.hip-site .footer { background: #fff; border-top: 1px solid var(--hip-line); color: var(--hip-ink); }
.hip-site .footer :is(.footer-logo strong,.footer-heading,.phone-link-large) { color: var(--hip-ink); }
.hip-site .footer :is(.footer-logo small,.footer-desc,.footer-links a,.footer-contact-list li,.footer-bottom,.enamad-preview-note) { color: var(--hip-muted); }
.hip-site .footer :is(.footer-links a,.footer-contact-list a):is(:hover,:focus-visible) { color: var(--hip-red); }
.hip-site .footer-heading::after { background: var(--hip-red); }
.hip-site .footer .fc-icon { background: var(--hip-bg); border: 0; box-shadow: none; color: var(--hip-red); }
.hip-site .footer-bottom { background: #fff; border-top: 1px solid var(--hip-line); }
.hip-site .footer-logo img { box-shadow: none; }
.hip-site .hip-chat-fab:hover { transform: none; }

/* The catalog reuses the exact merchandise component from the homepage. */
.hip-site .products-page { padding: 24px 20px 40px; }
.hip-site .page-hero h1 { font-size: 25px; line-height: 1.8; }
.hip-site .page-hero p { font-size: 13px; }
.hip-site .products-toolbar { border: 1px solid var(--hip-line); box-shadow: none; border-radius: 12px; }
.hip-site :is(.filter-card,.filter-reset-btn) { border: 1px solid var(--hip-line); border-radius: 10px; box-shadow: none; min-height: 44px; font-size: 13px; }
.hip-site .filter-card:hover { transform: none; background: #fff8f9; border-color: #d1a6af; }
.hip-site .filter-sidebar { top: 145px; }
.hip-site :is(.sort-select,.toggle-btn) { min-height: 40px; border-radius: 9px; font-size: 12px; }
.hip-site .catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; overflow: hidden; background: #fff; border: 1px solid var(--hip-line); border-radius: 16px; }
.hip-site .catalog-grid .store-product { display: flex; flex-direction: column; }
.hip-site .catalog-grid .store-product-info { flex: 1; }
.hip-site .catalog-grid .store-price { margin-top: auto; }
.hip-site .catalog-grid .store-product:nth-child(3n) { border-inline-end: 0; }
.hip-site .store-product-kind { color: var(--hip-muted); }
.hip-site .store-product-code { font-size: 11px; color: var(--hip-muted); margin-top: 8px; overflow-wrap: anywhere; }
.hip-site .store-stock-out { color: #6f6470; }
.hip-site .store-price-inquiry { font-size: 13px; font-weight: 700; color: var(--hip-muted); }
.hip-site .store-product-unavailable .store-product-buy { border-color: var(--hip-line); color: var(--hip-muted); }
.hip-site .catalog-grid.list { grid-template-columns: 1fr; }
.hip-site .catalog-grid.list .store-product { display: grid; grid-template-columns: 210px minmax(0,1fr); column-gap: 24px; border-inline-end: 0; }
.hip-site .catalog-grid.list .store-product-image { margin: 0; height: 190px; }
.hip-site .catalog-grid.list .store-product h3 { min-height: 0; }
.hip-site .catalog-grid.list .store-price { margin-top: 0; }
.hip-site .catalog-grid.list .store-product-buy { width: min(100%,260px); align-self: flex-end; }
.hip-site .related-grid { gap: 0; border: 1px solid var(--hip-line); border-radius: 16px; overflow: hidden; background: #fff; }
.hip-site .product-description { max-width: 1280px; padding-inline: 20px; }
.hip-site .description-card { padding: 28px; min-width: 0; }
.hip-site .description-content { max-width: 85ch; font-size: 15px; line-height: 2.2; color: var(--hip-ink); overflow-wrap: anywhere; }
.hip-site .description-content > :first-child { margin-top: 0; }
.hip-site .description-content > :last-child { margin-bottom: 0; }
.hip-site .description-content :is(img,figure) { max-width: 100%; height: auto; margin-inline: 0; }
.hip-site .description-content img { display: block; object-fit: contain; border-radius: 8px; margin-block: 18px; }
.hip-site .description-content figcaption { color: var(--hip-muted); font-size: 13px; line-height: 2; }
.hip-site .description-content :is(h2,h3) { color: var(--hip-ink); margin-block: 28px 12px; }
.hip-site #product-description-title { scroll-margin-top: 160px; }
.hip-site .description-content h2 { display: block; padding: 0; border: 0; }
.hip-site .description-content h2::after { display: none; }
.hip-site .description-table-scroll { max-width: 100%; overflow-x: auto; margin-block: 20px; border: 1px solid var(--hip-line); border-radius: 10px; }
.hip-site .description-content table { width: 100%; min-width: 400px; margin: 0; font-size: 14px; }
.hip-site .description-content :is(th,td) { min-width: 120px; vertical-align: top; }
.hip-site .description-content th { background: var(--hip-bg); }
.hip-site .description-content a { color: #a51629; }
.hip-site .filter-modal { border-radius: 16px; box-shadow: 0 12px 40px #18212e33; transition: opacity .18s, transform .18s; }
.hip-site .filter-modal.show { transform: translate(-50%,-50%); }
.hip-site .filter-modal-overlay.show { backdrop-filter: none; }
.hip-site .filter-modal-list a { min-height: 44px; font-size: 13px; }
.hip-site :is(.filter-modal-list a,.filter-modal-header,.filter-modal-search,.filter-modal-actions) { transition: none; }
.hip-site .filter-modal.show :is(.filter-modal-list a,.filter-modal-header,.filter-modal-search,.filter-modal-actions,.filter-modal-close) { visibility: visible; }
.hip-site .view-btn { min-width: 36px; min-height: 36px; }

/* Standalone customer forms and the printable invoice share the public shell. */
.hip-site.hip-auth .page { min-height: 60vh; padding: 36px 16px; }
.hip-site.hip-auth .brand { display: none; }
.hip-site.hip-auth .auth-card { width: 100%; }
.hip-site.hip-profile-setup .profile-container { margin: 32px auto; padding: 0 16px; max-width: 540px; }
.hip-site.hip-profile-setup .profile-card { padding: 28px; }
.hip-site.hip-profile-setup .logo-section { display: none; }
.hip-site.hip-profile-setup .progress-step { box-shadow: none; }
.hip-site.hip-profile-setup .bg-tool { display: none; }
.hip-site.hip-invoice .invoice { box-shadow: none; border: 1px solid var(--hip-line); border-radius: 12px; }
.hip-site.hip-invoice .toolbar button { background: var(--hip-red); border-radius: 10px; }
.hip-site.hip-invoice .head { border-color: var(--hip-red); }

/* Administration keeps its operational navigation with the same brand tokens. */
body.hip-admin { --bs-primary: #c91e32; --bs-primary-rgb: 201,30,50; --border-radius-xl: 16px; --border-radius-lg: 14px; --border-radius-md: 12px; }
.hip-admin :is(.sidebar,.top-header,.admin-card,.card,.login-card,.setup-card) { background: #fff; border: 1px solid var(--hip-line); box-shadow: none; border-radius: 14px; }
.hip-admin .sidebar { border-radius: 0; }
.hip-admin .sidebar-brand .logo { color: var(--hip-red); font-family: var(--hip-font); }
.hip-admin .sidebar-menu a { border-radius: 9px; color: #4d5562; }
.hip-admin .sidebar-menu a.active { color: var(--hip-red); background: var(--hip-soft); box-shadow: none; }
.hip-admin .btn-primary { --bs-btn-bg: #c91e32; --bs-btn-border-color: #c91e32; --bs-btn-hover-bg: #a51629; --bs-btn-hover-border-color: #a51629; background: var(--hip-red); border-color: var(--hip-red); }
.hip-admin :is(.btn,.form-control,.form-select,.btn-submit) { border-radius: 10px; font-family: var(--hip-font); }
.hip-admin :is(.form-control,.form-select):focus { border-color: var(--hip-red); box-shadow: 0 0 0 3px #c91e3214; }
.hip-admin.hip-admin-auth { background: var(--hip-bg); }
.hip-admin.hip-admin-auth :is(.login-card,.setup-card) { animation: none; }
.hip-admin.hip-admin-auth :is(.btn-login,.btn-submit,.submit-btn) { background: var(--hip-red); box-shadow: none; }

@media (max-width: 1024px) {
    .hip-site .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .hip-site .catalog-grid .store-product:nth-child(3n) { border-inline-end: 1px solid var(--hip-line); }
    .hip-site .catalog-grid .store-product:nth-child(2n), .hip-site .catalog-grid .store-product:last-child { border-inline-end: 0; }
}
@media (max-width: 900px) {
    .hip-site .products-area { width: 100%; }
    .hip-site .filter-modal.show { transform: translateY(0); }
}
@media (max-width: 640px) {
    .hip-site :is(.products-page,.product-page,.cart-page-container,.checkout-container,.about-page,.consult-page,.dashboard-wrap) { padding-inline: 12px; }
    .hip-site :is(.page-hero,.about-hero,.consult-hero,.dash-hero) { padding: 20px; }
    .hip-site .page-hero h1 { font-size: 22px; }
    .hip-site .products-toolbar { padding: 12px; gap: 12px; }
    .hip-site .products-page .page-hero { padding: 14px 18px; margin-bottom: 16px; }
    .hip-site .products-page .hero-stats { display: none; }
    .hip-site .products-page .filter-sidebar { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; max-width: 100%; }
    .hip-site .products-page .filter-sidebar > * { flex: 0 0 auto; min-width: auto; }
    .hip-site .products-page .filter-card { gap: 7px; padding: 10px 12px; font-size: 12px; }
    .hip-site .products-page .products-layout { gap: 12px; }
    .hip-site .toolbar-right { flex-wrap: wrap; gap: 6px; }
    .hip-site .sort-select { max-width: 100%; }
    .hip-site .catalog-grid.list .store-product { grid-template-columns: 110px minmax(0,1fr); gap: 12px; }
    .hip-site .catalog-grid.list .store-product-image { height: 120px; }
    .hip-site .catalog-grid.list .store-product-buy { width: 100%; }
    .hip-site .filter-modal.show { transform: translateY(0); }
    .hip-site .filter-modal { border-radius: 16px 16px 0 0; }
    .hip-site .product-description { padding-inline: 12px; }
    .hip-site .description-card { padding: 20px 18px; }
    .hip-site .description-content { font-size: 14px; line-height: 2.2; }
    .hip-site #product-description-title { scroll-margin-top: 170px; }
    .hip-site :is(.breadcrumb,.cart-breadcrumb) { overflow-wrap: anywhere; flex-wrap: wrap; }
    .hip-site .hip-chat-panel { border-radius: 12px 12px 0 0; }
    .hip-site.hip-profile-setup .profile-card { padding: 22px 18px; }
    .hip-site.hip-invoice .invoice { margin-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .hip-site *, .hip-site *::before, .hip-site *::after,
    .hip-admin *, .hip-admin *::before, .hip-admin *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
    body.hip-invoice > :not(main) { display: none !important; }
    body.hip-invoice, body.hip-invoice #mainContent { background: #fff; padding: 0; margin: 0; }
    body.hip-invoice .invoice { border: 0; border-radius: 0; max-width: none; margin: 0; padding: 0; }
}
