/* Angora Catalog · INTEGRATION 01
   Aligns the dynamic catalog customer experience with the Rev10 Angora site design system.
   The main website navigation is intentionally NOT rewired yet; that is Integration 02. */

.catalog-body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  overflow-x: hidden;
}

.catalog-body .announcement,
.catalog-body .site-header,
.catalog-body .mobile-menu,
.catalog-body .site-footer {
  font-family: var(--sans);
}

.catalog-site-header .mega-item.is-active > .mega-trigger::after {
  transform: scaleX(1);
  transform-origin: left;
}

.catalog-context-bar {
  position: sticky;
  top: 82px;
  z-index: 900;
  border-bottom: 1px solid var(--line);
  background: rgba(251, 250, 247, .965);
  backdrop-filter: blur(16px);
}

.catalog-context-inner {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.catalog-context-title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.catalog-context-title span {
  color: var(--muted);
}

.catalog-context-links {
  display: flex;
  align-items: center;
  gap: 24px;
}

.catalog-context-links a,
.catalog-context-filter {
  position: relative;
  border: 0;
  padding: 15px 0 14px;
  background: transparent;
  color: var(--ink);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}

.catalog-context-links a[aria-current="page"]::after,
.catalog-context-links a.is-active::after {
  position: absolute;
  right: 0;
  bottom: 9px;
  left: 0;
  height: 1px;
  background: var(--ink);
  content: "";
}

.catalog-context-quote {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.catalog-context-quote strong {
  min-width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--ink);
  color: var(--white);
  font-size: 8px;
}

.catalog-context-filter {
  display: none;
}

.public-container {
  width: min(var(--container), calc(100% - 48px));
}

.catalog-hero {
  padding: clamp(58px, 7vw, 96px) 0 clamp(48px, 6vw, 80px);
  background: var(--sand);
}

.catalog-hero h1,
.detail-info h1,
.detail-info-v4 h1,
.quote-draft-heading h1,
.quote-draft-empty h2,
.rfq-customer-intro h2,
.rfq-success-shell h1,
.catalog-toolbar strong,
.filter-head h2,
.product-title h2,
.draft-item-copy h2 {
  font-family: var(--serif);
}

.catalog-hero h1 {
  max-width: 760px;
  font-weight: 500;
  letter-spacing: -.035em;
}

.catalog-hero p,
.detail-lead,
.quote-draft-heading p,
.rfq-customer-intro > p,
.rfq-success-shell p {
  color: var(--muted);
}

.catalog-hero .hero-note {
  position: static;
  inset: auto;
  z-index: auto;
  color: var(--ink);
  text-transform: none;
  letter-spacing: normal;
  border-top-color: var(--line);
}

.catalog-shell {
  gap: clamp(34px, 4vw, 58px);
  padding-top: 52px;
  padding-bottom: 110px;
}

.catalog-filters {
  top: 150px;
}

.catalog-toolbar strong {
  font-weight: 500;
}

.public-product-media {
  background: #f3efe8;
}

.public-product-copy {
  padding-top: 18px;
}

.product-title h2 {
  font-weight: 500;
  letter-spacing: -.015em;
}

.view-product,
.clear-filters,
.load-more,
.rfq-add-button,
.draft-next,
.rfq-submit-row button {
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.view-product:hover {
  color: var(--accent);
}

.load-more:hover,
.clear-filters:hover {
  background: var(--ink);
  color: var(--white);
}

/* Product detail: retain the BaliSwim-like functional structure, but use Angora typography and spacing. */
.detail-shell-v4 {
  width: min(var(--container), calc(100% - 48px));
  gap: clamp(40px, 4.4vw, 62px);
  padding-top: 54px;
  padding-bottom: 112px;
}

.detail-info-v4 {
  top: 152px;
}

.detail-info-v4 h1 {
  font-weight: 500;
  letter-spacing: -.025em;
}

.detail-main-image-v4,
.detail-thumb,
.rfq-size-cell,
.rfq-action-panel,
.detail-b2b-note {
  border-radius: var(--radius);
}

.quote-pricing-note strong,
.detail-material-block strong,
.rfq-fieldset > legend,
.rfq-field-head legend {
  font-family: var(--sans);
}

/* Quote workspace */
.quote-draft-shell,
.rfq-success-shell {
  width: min(var(--container), calc(100% - 48px));
}

.quote-draft-shell {
  padding-top: 72px;
  padding-bottom: 120px;
}

.quote-draft-heading h1,
.rfq-customer-intro h2,
.rfq-success-shell h1 {
  font-weight: 500;
  letter-spacing: -.03em;
}

.quote-draft-summary {
  top: 152px;
}

.rfq-customer-section {
  border-top-color: var(--line);
}

.catalog-world-map {
  margin-top: 0;
}

/* The old standalone catalog header/footer are no longer used. Keep them hidden if a cached fragment survives. */
.public-header,
.public-footer {
  display: none !important;
}

@media (max-width: 1100px) {
  .catalog-context-bar { top: 82px; }
  .catalog-context-filter { display: inline-flex; }
}

@media (max-width: 980px) {
  .catalog-context-bar { top: 82px; }
  .catalog-context-title { display: none; }
  .catalog-context-inner { justify-content: flex-end; }
  .catalog-context-links { width: 100%; justify-content: space-between; }
}

@media (max-width: 760px) {
  .catalog-context-bar { top: 72px; }
  .catalog-context-inner { min-height: 46px; }
  .catalog-context-links { gap: 14px; }
  .catalog-context-links a,
  .catalog-context-filter { padding: 13px 0 12px; }
  .public-container,
  .detail-shell-v4,
  .quote-draft-shell,
  .rfq-success-shell { width: min(100% - 30px, var(--container)); }
  .catalog-hero { padding-top: 48px; }
  .catalog-hero h1 { font-size: clamp(43px, 13vw, 62px); }
  .catalog-world-map { height: 320px; }
}

@media (max-width: 560px) {
  .catalog-context-links a:first-child { display: none; }
  .catalog-context-links { justify-content: flex-end; }
  .catalog-context-filter { margin-left: auto; }
}
