/* brand.css — cohesion override layer (Rug & Kilim register)
   Loaded AFTER style.css and product.css on every public page:
     /                      api/home.js
     /rugs/*                api/_lib/chrome.js HEAD_ASSETS
     /rug/*                 api/rug.js (injected after product.css)
     /rug-cleaning-*-sc     api/city.js
     /404                   404.html
   Contains overrides only. All values come from tokens.css so dark theme
   still works. If a rule here starts to feel permanent, move it into the
   source stylesheet and delete it from here. */

/* ---------- prices: not shown to customers ---------- */
.product-price,
.product-card__price,
.related-card__price,
.ed-card__price{display:none!important}

/* ---------- buttons: one system ---------- */
.btn,
.header__cta,
.mobile-nav__cta,
.btn-contact,
.btn-call,
.ar-btn,
.filter-btn,
.filter-toggle,
body .chip{
  border-radius:0;
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:var(--tracking-label);
  text-transform:uppercase;
  box-shadow:none;
  transform:none;
}
.btn,.btn-contact,.btn-call,.ar-btn{padding:.95rem 1.9rem}
.btn--lg{padding:1.05rem 2.2rem;font-size:.74rem}
.btn--sm,.header__cta,.filter-btn,body .chip{padding:.55rem 1rem}
.btn--primary,.mobile-nav__cta,.btn-contact,.ar-btn,.filter-btn--active,body .chip.is-active,.hero__actions .btn--primary{
  background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text)}
.btn--primary:hover,.mobile-nav__cta:hover,.btn-contact:hover,.ar-btn:hover,.filter-btn:hover,body .chip.is-active:hover{
  background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:none;box-shadow:none}
.btn--secondary,.btn--gold,.btn-call,.filter-btn,.filter-toggle,body .chip{
  background:transparent;color:var(--color-text);border:1px solid var(--color-border)}
.btn--secondary:hover,.btn--gold:hover,.btn-call:hover,.filter-toggle:hover,body .chip:hover{
  background:transparent;color:var(--color-text);border-color:var(--color-text);transform:none;box-shadow:none}
.header__cta{background:transparent;color:var(--color-text);border:1px solid var(--color-text)}
.header__cta:hover{background:var(--color-text);color:var(--color-bg);transform:none;box-shadow:none}
.btn:active{transform:none!important;box-shadow:none!important}
.ar-btn::before{display:none}
.ar-btn__icon{animation:none;width:22px;height:22px}
.ar-btn__label{font-size:.72rem;letter-spacing:var(--tracking-label)}
.ar-btn__sub{text-transform:none;letter-spacing:0;font-size:.7rem;opacity:.7}

/* ---------- eyebrows / micro-labels ---------- */
.section__label,
.related-label,
.product-badge,
.blog-card__tag,
.blog-article__tag,
.footer-hours h4,
.contact-info__card h4,
.product-colors__label,
.spec-label,
.filter-group label,
.product-sku,
body .catalog-hero__label,
body .catalog-filters__title{
  font-family:var(--font-body);
  font-size:.66rem;
  font-weight:500;
  letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;
  color:var(--color-text-muted);
}
.product-badge svg{display:none}
.header__logo-text span{color:var(--color-text-faint);letter-spacing:var(--tracking-label)}

/* ---------- headings ---------- */
.section__title,
.related-title,
.product-name,
.footer-cta__info h3,
.service-detail__content h3,
.about-hero__content h2,
.blog-card__title,
.blog-article__title,
.contact-form h3,
.service-card__title,
.category-card__name,
.product-grid__empty h3,
.form-success h3,
.product-error h2,
body .catalog-hero h1,
body .catalog-seo h2{
  font-weight:400;
  letter-spacing:-.005em;
}
.section__title{font-size:clamp(1.7rem,3.2vw,2.6rem)}
.product-name{font-size:clamp(1.9rem,3.6vw,3rem)}
.stat-card__number{color:var(--color-text);font-weight:400}
.stat-card__title,.about-value h4,.footer-cta__phone a,.contact-phone a{font-weight:500}

/* ---------- cards: hairlines, no rounding, no lift ---------- */
.service-card,
.testimonial-card,
.blog-card,
.about-value,
.contact-form,
.contact-info__card,
.blog-article,
.footer-map,
.gallery-notice,
.process-step,
.category-card,
.related-card,
.product-card,
.gallery__main,
.gallery__thumb,
.service-detail__image,
.about-hero__image,
.ar-fallback,
.blog-card__image{
  border-radius:0;
  box-shadow:none;
}
.service-card,
.testimonial-card,
.blog-card,
.about-value,
.contact-form,
.contact-info__card,
.blog-article,
.footer-map,
.category-card,
.related-card,
.product-card,
.gallery__main,
.ar-fallback{
  background:var(--color-surface-2);
  border:1px solid var(--color-divider);
}
.service-card:hover,
.testimonial-card:hover,
.blog-card:hover,
.category-card:hover,
.related-card:hover,
.product-card:hover,
.collection-card:hover{
  transform:none;
  box-shadow:none;
  border-color:var(--color-text);
}
.gallery-notice{border:1px dashed var(--color-border);background:transparent}
.footer-map{background:var(--color-surface)}
.gallery__thumb{border:1px solid transparent}
.gallery__thumb:hover{border-color:var(--color-border)}
.gallery__thumb.is-active{border-color:var(--color-text)}
.gallery__nav-btn{border-radius:0;box-shadow:none;background:var(--color-surface-2)}
.gallery__nav-btn:hover{background:var(--color-text);color:var(--color-bg)}
.gallery__counter{border-radius:0;background:rgba(20,16,14,.6);letter-spacing:.12em}
.lightbox__img{border-radius:0}

/* ---------- ornament: quiet ---------- */
.gold-accent{width:32px;height:1px;background:var(--color-text);border-radius:0}
.pattern-divider{height:1px;background:var(--color-divider)}
.feature-list li::before{width:10px;height:1px;border-radius:0;background:var(--color-text-muted);top:.95em}
.service-card__icon,
.about-value__icon,
.form-success__icon{
  background:transparent;
  border:1px solid var(--color-border);
  border-radius:0;
  color:var(--color-text);
  justify-content:center;
}
.testimonial-card__avatar{background:transparent;border:1px solid var(--color-border);color:var(--color-text);font-weight:500}
.testimonial-card__stars{color:var(--color-clay)}
.testimonial-card__text{font-style:normal;font-family:var(--font-display);font-size:1.15rem;line-height:1.55}
.testimonials-dot{border-radius:0;height:2px;width:18px;background:var(--color-border)}
.testimonials-dot--active{background:var(--color-text);width:36px}
.process-step{background:transparent;border-radius:0}
.process-step__number{background:transparent;color:var(--color-text);border:1px solid var(--color-text);font-weight:500;border-radius:0}
.service-highlight{background:transparent;border:1px solid var(--color-border);border-radius:0;color:var(--color-text-muted);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}
.origin-tag,.tag-pill,.color-swatch{border-radius:0;background:transparent}
.tag-pill:hover{background:transparent;border-color:var(--color-text)}
.trust-badge svg{color:var(--color-text-muted)}
.ar-fallback svg{color:var(--color-text-muted)}

/* ---------- nav ---------- */
.nav__link{
  font-size:.7rem;
  font-weight:500;
  letter-spacing:var(--tracking-nav);
  text-transform:uppercase;
  color:var(--color-text-muted);
  background:transparent;
  border-radius:0;
  padding:.4rem .6rem;
  position:relative;
}
.nav__link::after{content:'';position:absolute;left:.6rem;right:.6rem;bottom:.15rem;height:1px;background:var(--color-text);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-reveal)}
.nav__link:hover,.nav__link--active{background:transparent;color:var(--color-text)}
.nav__link:hover::after,.nav__link--active::after{transform:scaleX(1)}
.mobile-nav__link{font-weight:400}
.theme-toggle,.mobile-toggle,.site-footer__social a{border-radius:0}

/* ---------- links ---------- */
.related-card__name{font-weight:400;font-size:.95rem}
.related-card__meta{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text)}
.related-card__img-wrap{background:var(--color-surface-2)}
.related-card__img-wrap img{object-fit:contain;padding:6%;box-sizing:border-box}
.related-card__body{padding:.9rem 1rem 1.1rem}
.blog-card__readmore,.footer-map__link,.product-error a,.mobile-nav__contact a{color:var(--color-text);font-weight:500;text-decoration:underline;text-underline-offset:.2em}
.breadcrumb a:hover{color:var(--color-text);text-decoration:underline}
.footer-cta__phone a:hover,.contact-phone a:hover{color:var(--color-text);text-decoration:underline}

/* ---------- forms ---------- */
.form-group input,.form-group select,.form-group textarea,.filter-group select{
  border-radius:0;background:var(--color-surface-2);border:1px solid var(--color-border)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--color-text);box-shadow:none}
.form-group label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}

/* ---------- #gallery product grid (was hard-coded dark) ---------- */
.product-card{background:var(--color-surface-2);border:1px solid var(--color-divider);color:var(--color-text)}
.product-card:focus-visible{outline:2px solid var(--color-text)}
.product-card__image-wrap{aspect-ratio:1/1;background:var(--color-surface-2)}
.product-card__image{object-fit:contain;padding:6%;box-sizing:border-box}
.product-card__image-placeholder{background:var(--color-surface-offset)}
.product-card__body{padding:.9rem 1rem 1.1rem;gap:.25rem}
.product-card__name{color:var(--color-text);font-weight:400;font-size:1rem}
.product-card__meta{color:var(--color-text-muted);font-size:.7rem;letter-spacing:.06em}
.product-card__sep{color:var(--color-border)}
.product-grid__count{color:var(--color-text-faint)}
.product-grid__empty{color:var(--color-text-muted)}
.product-grid__empty h3{color:var(--color-text)}
.product-grid__empty a{color:var(--color-text)}
.product-grid__empty svg rect,.product-grid__empty svg circle,.product-grid__empty svg path{stroke:var(--color-border)}
.skeleton-box,.skeleton-line{background:linear-gradient(90deg,var(--color-surface-offset) 25%,var(--color-surface-offset-2) 50%,var(--color-surface-offset) 75%);background-size:800px 100%;border-radius:0}
.color-swatch:hover,.color-swatch--active{transform:none;outline:none;border-color:var(--color-text)}

/* ---------- /rugs collection pages (inline PAGE_CSS wins on specificity, so prefix with body) ---------- */
body .catalog-hero{border-bottom:1px solid var(--color-divider)}
body .catalog-grid{gap:clamp(1rem,1.8vw,1.6rem)}
body .pagination a,body .pagination span{border-radius:0;font-size:.74rem;letter-spacing:.08em}
body .pagination a:hover{border-color:var(--color-text);color:var(--color-text)}
body .pagination .is-current{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}
body .catalog-seo a{color:var(--color-text);text-decoration:underline}

/* ---------- sections ---------- */
.section--alt,.footer-cta{background:var(--color-surface-offset)}
.site-footer{background:var(--color-bg)}
.service-detail{border-bottom:1px solid var(--color-divider)}

/* ---------- city landing pages (api/city.js; inline <style> wins on specificity, so prefix) ---------- */
.city-page .city-hero{background:var(--color-surface-offset);color:var(--color-text);padding:clamp(3.5rem,7vw,6rem) var(--pad);border-bottom:1px solid var(--color-divider)}
.city-page .city-hero h1{font-weight:400;color:var(--color-text);letter-spacing:-.005em}
.city-page .city-hero p.lede{opacity:1;color:var(--color-text-muted);font-weight:300;line-height:1.75}
.city-page .btn{border-radius:0;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;padding:.95rem 1.9rem;transform:none;box-shadow:none}
.city-page .btn:hover{transform:none}
.city-page .btn--primary{background:var(--color-text)!important;color:var(--color-bg)!important;border:1px solid var(--color-text)!important}
.city-page .btn--primary:hover{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}
.city-page .btn--ghost{background:transparent!important;color:var(--color-text)!important;border:1px solid var(--color-text)!important}
.city-page .btn--ghost:hover{background:var(--color-text)!important;color:var(--color-bg)!important}
.city-page .city-section h2{font-weight:400;color:var(--color-text);font-size:clamp(1.6rem,3vw,2.3rem)}
.city-page .city-section p{color:var(--color-text-muted);line-height:1.7}
.city-page .city-card{background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:0}
.city-page .city-card h3{color:var(--color-text);font-weight:500;font-size:1.2rem}
.city-page .city-card p{color:var(--color-text-muted);font-size:.92rem}
.city-page .neighborhood-list li{background:transparent;border:1px solid var(--color-border);border-radius:0;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text)}
.city-page .price-badge{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:0;font-weight:500;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;padding:.35rem .7rem}
.city-page .back-home a{color:var(--color-text);font-weight:500;text-decoration:underline;text-underline-offset:.2em}
.city-page .skip-link{left:-9999px}
.city-page .skip-link:focus{left:var(--space-4)}

/* ---------- 404 ---------- */
body .nf__code{color:var(--color-text);font-weight:400}
body .nf h1{font-weight:400}
body .nf__links a{color:var(--color-text);font-weight:500;border-radius:0;font-size:.72rem;letter-spacing:var(--tracking-label);text-transform:uppercase;padding:.7rem 1.1rem}
body .nf__links a:hover{border-color:var(--color-text)}
