/* =========================================================
   HAWK PUBLIC CATALOG
   Clean category-logo browser
   ========================================================= */

.hawk-catalog,
.hawk-catalog * {
  box-sizing: border-box;
}

.hawk-catalog {
  padding: 58px 0 76px;
  background: #f7f9fc;
  color: #173b57;
}

.hawk-catalog-heading {
  margin-bottom: 25px;
}

.hawk-catalog-heading h2 {
  margin: 8px 0 10px;
  font-size: clamp(27px, 3vw, 37px);
  line-height: 1.2;
  letter-spacing: -0.5px;
}

.hawk-catalog-heading p {
  margin: 0;
  color: #708395;
  line-height: 1.6;
}

/* Main two-column browser */

.hawk-catalog-browser {
  display: grid;
  grid-template-columns: 265px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 14px;
  border: 1px solid #e8edf3;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(23, 59, 87, 0.055);
}

/* Left category navigation */

.hawk-catalog-nav {
  display: flex;
  flex-direction: column;
  gap: 3px;
  height: 640px;
  overflow-y: auto;
  padding: 5px;
  border-radius: 12px;
  background: #fff;
  scrollbar-width: thin;
  scrollbar-color: #cbd5df transparent;
}

.hawk-catalog-nav-item {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 54px;
  gap: 11px;
  padding: 7px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #24465e;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.18s ease;
}

.hawk-catalog-nav-item:hover {
  background: #f1f5f8;
}

.hawk-catalog-nav-item.is-selected {
  background: #e9f1f7;
  color: #173b57;
}

.hawk-catalog-nav-thumb {
  display: flex;
  flex: 0 0 39px;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 39px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}

.hawk-catalog-nav-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hawk-catalog-thumb-fallback {
  font-size: 17px;
  font-weight: 800;
  color: #173b57;
}

.hawk-catalog-nav-name {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.hawk-catalog-nav-arrow {
  flex-shrink: 0;
  font-size: 22px;
  color: #8ca0af;
  line-height: 1;
}

/* Right main content */

.hawk-catalog-main {
  min-width: 0;
  min-height: 640px;
  padding: 5px 5px 15px;
}

.hawk-catalog-view[hidden],
.hawk-catalog-product-card[hidden],
.hawk-catalog-filter[hidden],
.hawk-catalog-products-empty[hidden] {
  display: none !important;
}

.hawk-catalog-main-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin: 0 0 20px;
  padding: 4px 3px;
}

.hawk-catalog-main-heading h3 {
  margin: 0;
  color: #173b57;
  font-size: 21px;
  font-weight: 800;
}

.hawk-catalog-main-heading > span {
  color: #8292a0;
  font-size: 12px;
  font-weight: 600;
}

/* Default category logo grid */

.hawk-catalog-logo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.hawk-catalog-logo-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e8edf2;
  border-radius: 15px;
  background: #fff;
  color: #173b57;
  font: inherit;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(23, 59, 87, 0.055);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.hawk-catalog-logo-card:hover {
  transform: translateY(-3px);
  border-color: #d6e2eb;
  box-shadow: 0 10px 24px rgba(23, 59, 87, 0.11);
}

.hawk-catalog-logo-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 12px;
  border: 1px solid #eef1f4;
  border-radius: 12px;
  background: #fff;
}

.hawk-catalog-logo-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hawk-catalog-card-placeholder {
  color: #afc0ce;
  font-size: 45px;
  font-weight: 800;
}

.hawk-catalog-logo-name {
  display: block;
  padding: 2px 3px 5px;
  color: #173b57;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  overflow-wrap: anywhere;
}

/* Selected category view */

.hawk-catalog-detail-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #8297a8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.hawk-catalog-back {
  padding: 9px 13px;
  border: 1px solid #dce6ee;
  border-radius: 9px;
  background: #fff;
  color: #173b57;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.hawk-catalog-back:hover {
  background: #f0f5f8;
}

/* Subcategory filters */

.hawk-catalog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 22px;
}

.hawk-catalog-filter {
  padding: 9px 13px;
  border: 1px solid #e1e9ef;
  border-radius: 9px;
  background: #fff;
  color: #466277;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.hawk-catalog-filter:hover {
  background: #f3f7fa;
}

.hawk-catalog-filter.is-active {
  border-color: #173b57;
  background: #173b57;
  color: #fff;
}

/* Products grid */

.hawk-catalog-products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.hawk-catalog-product-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e8edf2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(23, 59, 87, 0.05);
}

.hawk-catalog-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 12px;
  background: #f8fafb;
}

.hawk-catalog-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hawk-catalog-product-placeholder {
  color: #b3c3ce;
  font-size: 48px;
  font-weight: 800;
}

.hawk-catalog-product-info {
  padding: 12px;
}

.hawk-catalog-product-info h4 {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.5;
}

.hawk-catalog-product-price {
  margin: 0 0 9px;
  font-size: 16px;
  font-weight: 800;
}

.hawk-catalog-stock {
  font-size: 11px;
  font-weight: 700;
}

.hawk-catalog-stock.in-stock {
  color: #278153;
}

.hawk-catalog-stock.out-of-stock {
  color: #a66d36;
}

/* Empty products state */

.hawk-catalog-products-empty,
.hawk-catalog-empty {
  padding: 75px 20px;
  border: 1px dashed #dce5ed;
  border-radius: 14px;
  background: #fafcfd;
  text-align: center;
}

.hawk-catalog-empty-icon {
  margin-bottom: 14px;
  color: #9eb2c1;
  font-size: 40px;
}

.hawk-catalog-products-empty h4,
.hawk-catalog-empty h3 {
  margin: 0 0 9px;
  font-size: 19px;
}

.hawk-catalog-products-empty p,
.hawk-catalog-empty p {
  margin: 0;
  color: #8293a0;
  font-size: 13px;
  line-height: 1.6;
}

.hawk-catalog button:focus-visible {
  outline: 3px solid #70add2;
  outline-offset: 3px;
}

/* Responsive */

@media (max-width: 1100px) {
  .hawk-catalog-logo-grid,
  .hawk-catalog-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .hawk-catalog-browser {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 12px;
  }

  .hawk-catalog-logo-grid,
  .hawk-catalog-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 600px) {
  .hawk-catalog {
    padding: 45px 0 60px;
  }

  .hawk-catalog-browser {
    grid-template-columns: 1fr;
    padding: 10px;
  }

  .hawk-catalog-nav {
    height: auto;
    max-height: 235px;
  }

  .hawk-catalog-main {
    min-height: 300px;
    padding: 8px 2px;
  }

  .hawk-catalog-main-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .hawk-catalog-logo-grid,
  .hawk-catalog-products-grid {
    gap: 10px;
  }

  .hawk-catalog-logo-card {
    padding: 8px;
  }

  .hawk-catalog-logo-image {
    padding: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hawk-catalog-nav-item,
  .hawk-catalog-logo-card {
    transition: none;
  }
}

/* Home Page: reduce space between Hero and Catalog */
.hero + .hawk-catalog {
  padding-top: 10px;
}

@media (max-width: 600px) {
  .hero + .hawk-catalog {
    padding-top: 20px;
  }
}

/* HOME PAGE ONLY — Hero to Category section spacing */
body:has(.hero) .hero {
  padding-bottom: 5px; 
}

body:has(.hero) .hawk-catalog {
  padding-top: 8px;
}

body:has(.hero) .hawk-catalog-heading {
  margin-bottom: 20px;
}

@media (max-width: 600px) {
  body:has(.hero) .hero {
    padding-bottom: 0px;
  }

  body:has(.hero) .hawk-catalog {
    padding-top: 10px;
  }
}

/* =========================================
   HAWK — COMPACT PAGE SPACING
   Home + Products
========================================= */

/* Header ke neeche extra gap kam */
.site-header + main {
  padding-top: 0 !important;
}

/* Products page top spacing */
.hawk-catalog {
  padding-top: 22px !important;
  padding-bottom: 35px !important;
}

/* Catalog heading spacing */
.hawk-catalog-heading {
  margin-bottom: 18px !important;
}

.hawk-catalog-heading h1,
.hawk-catalog-heading h2 {
  margin-top: 5px !important;
  margin-bottom: 7px !important;
}

.hawk-catalog-heading p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Products page inner heading */
.hawk-catalog-main-heading {
  margin-bottom: 14px !important;
}

/* Category cards ke darmiyan gap */
.hawk-catalog-logo-grid {
  gap: 12px !important;
}

/* Sidebar category rows compact */
.hawk-catalog-nav-item {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

/* Mobile */
@media (max-width: 600px) {
  .hawk-catalog {
    padding-top: 15px !important;
    padding-bottom: 24px !important;
  }

  .hawk-catalog-heading {
    margin-bottom: 12px !important;
  }
}

/* ==========================================
   HAWK HOME — COMPACT SPACING
========================================== */

/* Home page: Header se Hero ka gap */
body:has(.hero) .hero {
  padding-top: 35px !important;
  padding-bottom: 30px !important;
  min-height: 0 !important;
}

/* Hero ke andar text ki spacing */
body:has(.hero) .hero h1 {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}

body:has(.hero) .hero p {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Hero ke baad Category section */
body:has(.hero) .hawk-catalog {
  padding-top: 20px !important;
  padding-bottom: 30px !important;
}

/* Shop by Category heading */
body:has(.hero) .hawk-catalog-heading {
  margin-bottom: 16px !important;
}

/* Mobile spacing */
@media (max-width: 600px) {
  body:has(.hero) .hero {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  body:has(.hero) .hawk-catalog {
    padding-top: 14px !important;
    padding-bottom: 22px !important;
  }
}

/* =====================================
   HOME — SHOP BY CATEGORY COMPACT
===================================== */

/* Category section ki outer spacing */
body:has(.hero) .hawk-catalog {
  padding-top: 10px !important;
  padding-bottom: 18px !important;
}

/* Heading ke upar aur neeche gap */
body:has(.hero) .hawk-catalog-heading {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

body:has(.hero) .hawk-catalog-heading h2 {
  margin-top: 3px !important;
  margin-bottom: 5px !important;
}

body:has(.hero) .hawk-catalog-heading p {
  margin: 0 !important;

}

/* Category logo cards compact

/* PRODUCTS PAGE — REMOVE LEFT SIDEBAR SCROLL */

.hawk-catalog-browser .hawk-catalog-nav {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  overflow-y: visible !important;
  overflow-x: visible !important;
  position: static !important;
}