/* Sarcastee brand overrides — bold black & white.
 *
 * Loaded site-wide via theme-overrides/hummingbird/templates/_partials/copyright.tpl
 * (hummingbird does NOT auto-register <theme>/assets/css/custom.css — verified live 2026-09-02:
 * the file was served but never linked from any page).
 *
 * Focus: legibility, quiet chrome, stronger product/price hierarchy.
 */

:root {
  --bs-primary: #0a0a0a;
  --bs-primary-rgb: 10, 10, 10;
  --bs-link-color: #0a0a0a;
  --bs-link-color-rgb: 10, 10, 10;
  --bs-link-hover-color: #444444;
  --bs-link-hover-color-rgb: 68, 68, 68;
  --sarcastee-black: #0a0a0a;
  --sarcastee-ink: #111111;
  --sarcastee-muted: #555;
}

html { -webkit-text-size-adjust: 100%; }
body {
  color: #1a1a1a;
  line-height: 1.55;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.01em;
  line-height: 1.2;
}
h1 { font-weight: 700; }

/* --- Header wordmark: constrain the wide SARCASTEE logo to a sensible height --- */
.header-bottom__logo img,
.header__logo img,
header img.logo,
.logo img,
img.logo {
  max-height: 46px;
  width: auto;
}

/* --- Links --- */
a { color: var(--sarcastee-black); }
a:hover,
a:focus { color: #444; }

/* --- Primary / outline buttons --- */
.btn-primary,
.btn-primary:focus,
.btn-primary.disabled,
.btn-primary:disabled {
  background-color: var(--sarcastee-black);
  border-color: var(--sarcastee-black);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active {
  background-color: #2a2a2a;
  border-color: #2a2a2a;
  color: #fff;
}
.btn-outline-primary {
  color: var(--sarcastee-black);
  border-color: var(--sarcastee-black);
}
.btn-outline-primary:hover,
.btn-outline-primary:active {
  background-color: var(--sarcastee-black);
  border-color: var(--sarcastee-black);
  color: #fff;
}

/* --- Prices: brand black, stronger on product page --- */
.product-price,
.price,
.current-price-value,
.product-line-info .price { color: var(--sarcastee-black); }

.product__prices .product__price,
.product__prices .current-price-value {
  color: var(--sarcastee-black);
  font-weight: 700;
}

/* --- Product miniatures (grids & carousels): calmer, price pops --- */
.product-miniature__title {
  font-weight: 600;
  color: var(--sarcastee-black);
}
.product-miniature__price {
  font-weight: 700;
  color: var(--sarcastee-black);
}

/* Related-products carousel on the product page: drop the per-card quantity
   steppers and add-to-cart buttons — noise; keep cards as clean links. */
#product-accessories .product-miniature__form,
.product-accessories .product-miniature__form {
  display: none !important;
}
#product-accessories .product-miniature,
.product-accessories .product-miniature {
  padding-bottom: 0.25rem;
}

/* --- Breadcrumb: quiet, smaller --- */
.breadcrumb { font-size: 0.85rem; }
.breadcrumb__item--current,
.breadcrumb-item.active { color: var(--sarcastee-muted); }

/* --- Forms: slightly larger targets, consistent borders --- */
.form-control,
.form-select {
  border-color: #d8d8d8;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--sarcastee-black);
  box-shadow: 0 0 0 0.2rem rgba(10, 10, 10, 0.12);
}

/* --- Cart: hide the module's demo copy, keep the reassurance icons --- */
.blockreassurance .reassurance__desc {
  display: none;
}

/* --- Footer: brand black, crisp typography, clean hierarchy --- */
.footer,
footer#footer,
.footer__main {
  background: #0a0a0a;
  color: #cfcfcf;
}
.footer__main {
  padding-block: 3rem 1.5rem;
}
.footer-block__title {
  margin-block-end: 1.25rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #ffffff;
}
.footer-block__title--toggle .stretched-link {
  color: inherit;
}
.footer-block__list a {
  color: #b8b8b8;
  padding-block: 0.3rem;
  transition: color 0.15s ease;
}
.footer-block__list a:hover,
.footer-block__list a:focus {
  color: #ffffff;
  text-decoration: none;
}
/* Store info & contact */
.ps-contactinfo__infos {
  color: #cfcfcf;
  line-height: 1.7;
}
.ps-contactinfo__email a {
  color: #ffffff;
  font-weight: 500;
}
.ps-contactinfo__email a:hover {
  text-decoration: underline;
}
/* Copyright bar */
.copyright {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  color: #9a9a9a;
  text-align: center;
  font-size: 0.85rem;
  letter-spacing: 0.01em;
}
.copyright a { color: #cfcfcf; }
.copyright a:hover { color: #ffffff; }
/* Newsletter block above the footer */
.footer__before,
#emailsubscription_anchor_displayFooterBefore,
section.ps-emailsubscription {
  background: #fafafa !important;
  border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}
.footer__before .h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.footer__before .btn-primary {
  padding-inline: 1.25rem;
}

/* --- Newsletter block: tidy inline layout --- */
.newsletter-input input,
.block_newsletter input {
  max-width: 100%;
}

/* --- Misc brand polish --- */
::selection { background: var(--sarcastee-black); color: #fff; }
:focus-visible { outline-color: var(--sarcastee-black); }
.text-primary { color: var(--sarcastee-black) !important; }
.bg-primary { background-color: var(--sarcastee-black) !important; }

/* --- Top bar: "Contact us" was too light — fix contrast --- */
.ps-contactinfo__email {
  color: var(--sarcastee-muted) !important;
  font-weight: 500;
}

/* --- Color swatches: white-on-white was invisible — add a hairline ring --- */
a.color {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.22);
  border-radius: 50%;
}
a.color:hover {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.45);
}

/* --- Section titles: give the page room to breathe --- */
.products-section-title,
.page-header h1, .page-header h6 {
  margin-top: 0.75rem;
}
.products-section-title {
  font-weight: 700;
  letter-spacing: 0.01em;
}

/* --- Search placeholder too light --- */
.header__search input::placeholder,
input::placeholder { opacity: 0.65; }

/* --- Product images: hairline border so light tees don't melt into the page --- */
.product-miniature__image,
.thumbnail-container img {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 6px;
}

