.header-main__logo-img,
.footer__logo-img {
  display: block;
  width: auto;
  height: auto;
  max-width: 20rem;
  max-height: 6rem;
  object-fit: contain;
}

.storefront-empty {
  grid-column: 1 / -1;
  padding: 3.2rem;
  color: var(--color-text-muted);
  text-align: center;
  border: .1rem dashed var(--color-border-strong);
  border-radius: var(--radius-md);
}

.storefront-notice {
  margin-top: 2rem;
  padding: 1.6rem 2rem;
  color: #155724;
  background: #e8f5e9;
  border: .1rem solid #b8dfbb;
  border-radius: var(--radius-md);
}

.catalog-pagination {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1.6rem;
  margin-top: 2.4rem;
  padding: 1.6rem;
  background: var(--color-surface);
  border: .1rem solid var(--color-border);
  border-radius: var(--radius-md);
}
.catalog-pagination__summary { margin: 0; color: var(--color-text-muted); font-size: 1.4rem; }
.catalog-pagination__summary strong { color: var(--color-text); font-variant-numeric: tabular-nums; }
.catalog-pagination__more { min-width: 19rem; }
.catalog-pagination__pages { display: flex; justify-self: end; align-items: center; gap: .4rem; min-width: 0; max-width: 100%; overflow-x: auto; padding-bottom: .2rem; }
.catalog-pagination__page { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 4rem; height: 4rem; padding: 0; color: var(--color-text); background: var(--color-surface); border: .1rem solid var(--color-border-strong); border-radius: var(--radius-sm); font-weight: 700; font-variant-numeric: tabular-nums; transition: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast); }
.catalog-pagination__page:hover { color: var(--color-cta); border-color: var(--color-cta); }
.catalog-pagination__page--active,
.catalog-pagination__page--active:hover { color: #fff; background: var(--color-accent-dark); border-color: var(--color-accent-dark); }
.catalog-pagination__page--disabled { color: var(--color-text-muted); opacity: .45; }
.catalog-pagination__dots { flex: 0 0 auto; padding: 0 .2rem; color: var(--color-text-muted); font-weight: 700; }
.catalog-pagination__page .icon { width: 1.8rem; height: 1.8rem; }
.catalog-pagination__status { display: none; grid-column: 1 / -1; margin: 0; color: var(--color-text-muted); font-size: 1.3rem; text-align: center; }
.catalog-pagination__status:not(:empty) { display: block; }
.catalog-pagination.is-loading { pointer-events: none; }
.catalog-pagination.is-loading .catalog-pagination__more { cursor: wait; }

@media (max-width: 768px) {
  .catalog-pagination { grid-template-columns: 1fr; gap: 1.2rem; padding: 1.2rem; }
  .catalog-pagination__summary { justify-self: center; }
  .catalog-pagination__more { width: 100%; min-width: 0; }
  .catalog-pagination__pages { justify-self: stretch; justify-content: center; }
}

.storefront-toast {
  position: fixed;
  z-index: var(--z-toast);
  right: 2.4rem;
  bottom: 2.4rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  max-width: min(42rem, calc(100vw - 3.2rem));
  padding: 1.4rem 1.6rem;
  color: #fff;
  background: var(--color-text);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
}
.storefront-toast[hidden] { display: none; }
.storefront-toast__link { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: .25rem; }

.collection-page { padding: 3.2rem 0 6.4rem; background: var(--color-bg); }
.collection-page__items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-md); }
.collection-page__items--compare { display: block; }
.collection-page__empty,
.collection-page__summary { grid-column: 1 / -1; padding: 3.2rem; text-align: center; background: var(--color-surface); border: .1rem solid var(--color-border); border-radius: var(--radius-md); }
.collection-page__empty p { margin-bottom: 1.6rem; color: var(--color-text-muted); }
.collection-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--color-surface); border: .1rem solid var(--color-border); border-radius: var(--radius-md); }
.collection-card__image-link { display: block; aspect-ratio: 1; background: var(--color-bg); }
.collection-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.collection-card__body { display: grid; flex: 1; gap: .8rem; padding: 1.6rem; }
.collection-card__title { margin: 0; font-size: 1.6rem; line-height: 1.35; }
.collection-card__title a { color: var(--color-text); }
.collection-card__price { margin-top: auto; font-size: 1.8rem; font-weight: 700; }
.collection-card__specs { display: grid; gap: .4rem; margin: 0; padding: 0; list-style: none; font-size: 1.3rem; color: var(--color-text-muted); }
.collection-card__specs li { display: flex; justify-content: space-between; gap: .8rem; }
.collection-card__specs strong { color: var(--color-text); font-weight: 600; }
.collection-card__actions { display: grid; grid-template-columns: 1fr auto; gap: .8rem; padding: 0 1.6rem 1.6rem; }
.collection-card__remove { min-width: 4.4rem; min-height: 4.4rem; padding: .8rem; color: var(--color-text-muted); background: var(--color-bg); border: .1rem solid var(--color-border); border-radius: var(--radius-sm); cursor: pointer; }
.collection-page__summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; text-align: left; }
.collection-page__total { margin: 0; font-size: 2rem; font-weight: 700; }

.collection-compare { overflow-x: auto; padding-bottom: .8rem; }
.collection-compare__table { width: 100%; min-width: 76rem; border-collapse: separate; border-spacing: 0; background: var(--color-surface); border: .1rem solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.collection-compare__table th,
.collection-compare__table td { min-width: 20rem; padding: 1.4rem 1.6rem; text-align: left; vertical-align: top; border-right: .1rem solid var(--color-border); border-bottom: .1rem solid var(--color-border); }
.collection-compare__table tr > :last-child { border-right: 0; }
.collection-compare__table tbody tr:last-child > * { border-bottom: 0; }
.collection-compare__table thead th { background: var(--color-bg-alt); }
.collection-compare__feature { position: sticky; left: 0; z-index: 2; min-width: 16rem !important; color: var(--color-text-muted); font-size: 1.3rem; font-weight: 700; background: var(--color-surface); box-shadow: .8rem 0 1.2rem rgba(43, 31, 16, .04); }
.collection-compare__table thead .collection-compare__feature { z-index: 3; background: var(--color-bg-alt); }
.collection-compare__product { display: grid; grid-template-columns: 5rem minmax(0, 1fr) auto; align-items: start; gap: .8rem; }
.collection-compare__image { display: block; width: 5rem; height: 5rem; object-fit: cover; border-radius: var(--radius-sm); background: var(--color-surface); }
.collection-compare__product-name { display: -webkit-box; overflow: hidden; color: var(--color-text); font-size: 1.35rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.collection-compare__remove { width: 2.8rem; height: 2.8rem; padding: 0; color: var(--color-text-muted); background: transparent; border: 0; border-radius: 50%; cursor: pointer; font-size: 2rem; line-height: 1; }
.collection-compare__remove:hover { color: var(--color-cta); background: rgba(199, 91, 59, .1); }
.collection-compare__value { font-size: 1.4rem; line-height: 1.45; }
.collection-compare__price { color: var(--color-text); font-size: 1.7rem; font-weight: 700; }

/* The source toolbar keeps sort controls and view switch on one flex row. */
.catalog-toolbar__controls > form { display: contents; }

.product-summary {
  margin: 1.6rem 0 2.4rem;
  color: var(--color-text-muted);
  line-height: 1.55;
}

.storefront-article { max-width: 92rem; }
.storefront-article__cover {
  display: block;
  width: 100%;
  max-height: 46rem;
  margin-bottom: 3.2rem;
  border-radius: var(--radius-md);
  object-fit: cover;
}

.storefront-block { padding: 4.8rem 0; }
.storefront-block h2 { margin-bottom: 2.4rem; font-size: clamp(2.4rem, 3vw, 3.6rem); }
.storefront-banner {
  position: relative;
  min-height: 42rem;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
}
.storefront-banner > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.storefront-banner__overlay { position: absolute; inset: 0; background: rgba(20, 20, 20, .55); }
.storefront-banner__content { position: relative; z-index: 1; max-width: 72rem; }
.storefront-banner__content h2 { color: inherit; font-size: clamp(3rem, 4vw, 5rem); }
.storefront-banner__content p { max-width: 56rem; margin-bottom: 2.4rem; font-size: 1.8rem; line-height: 1.5; }

.storefront-advantages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.storefront-advantages article { padding: 2.4rem; background: var(--color-surface); border: .1rem solid var(--color-border); border-radius: var(--radius-md); }
.storefront-advantages h3 { margin-bottom: .8rem; }
.storefront-logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1.6rem; align-items: center; }
.storefront-logos a { display: flex; min-height: 9rem; padding: 1.6rem; align-items: center; justify-content: center; border: .1rem solid var(--color-border); border-radius: var(--radius-md); }
.storefront-logos img { max-width: 100%; max-height: 6rem; object-fit: contain; }
.storefront-lead { display: grid; grid-template-columns: minmax(0, .8fr) minmax(32rem, 1fr); gap: 4rem; padding: 3.2rem; background: var(--color-bg-alt); border-radius: var(--radius-lg); }
.storefront-lead-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.storefront-field { display: grid; gap: .6rem; font-size: 1.4rem; font-weight: 600; }
.storefront-field > label { display: grid; gap: .6rem; }
.storefront-field--full { grid-column: 1 / -1; }
.storefront-field input,
.storefront-field textarea,
.storefront-field select { width: 100%; padding: 1.1rem 1.2rem; font: inherit; font-weight: 400; border: .1rem solid var(--color-border-strong); border-radius: .6rem; background: var(--color-surface); }
.storefront-field textarea { min-height: 10rem; resize: vertical; }
.storefront-field__error { color: #b42318; }
.storefront-checkboxes { display: grid; gap: .6rem; font-weight: 400; }
.storefront-options { display: grid; gap: .8rem; font-weight: 400; }
.storefront-options label,
.storefront-consent { display: flex; align-items: flex-start; gap: .8rem; font-weight: 400; line-height: 1.45; }
.storefront-consent a { color: var(--color-cta); text-decoration: underline; text-underline-offset: .2rem; }
.storefront-consent a:hover { color: var(--color-cta-hover); }
.storefront-options input,
.storefront-consent input { flex: 0 0 auto; width: 1.8rem; height: 1.8rem; margin: .15rem 0 0; accent-color: var(--color-cta); }
.storefront-field__help { color: var(--color-text-muted); font-size: 1.2rem; font-weight: 400; }
.storefront-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.storefront-lead-form > .btn { grid-column: 1 / -1; justify-self: start; }

body.is-lead-modal-open { overflow: hidden; }
.storefront-modal { position: fixed; z-index: calc(var(--z-modal) + 2); inset: 0; display: grid; place-items: center; padding: 2.4rem; }
.storefront-modal[hidden] { display: none; }
.storefront-modal__backdrop { position: absolute; inset: 0; background: rgba(18, 14, 11, .68); }
.storefront-modal__dialog { position: relative; z-index: 1; width: min(100%, 58rem); max-height: calc(100dvh - 4.8rem); overflow-y: auto; padding: clamp(2.4rem, 5vw, 4rem); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.storefront-modal__close { position: absolute; top: 1.4rem; right: 1.4rem; display: inline-flex; width: 4.4rem; height: 4.4rem; align-items: center; justify-content: center; padding: 0; color: var(--color-text-muted); background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
.storefront-modal__close:hover { color: var(--color-text); background: var(--color-bg); }
.storefront-modal__close .icon { width: 2.2rem; height: 2.2rem; }
.storefront-modal__title { max-width: calc(100% - 4.4rem); margin: 0 0 .8rem; font-size: clamp(2.4rem, 4vw, 3.2rem); line-height: 1.15; }
.storefront-modal__lead { margin: 0 0 2.4rem; color: var(--color-text-muted); line-height: 1.55; }
.storefront-lead-form--modal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.storefront-lead-form--modal > .btn { width: 100%; justify-content: center; }

.checkout-form { display: grid; max-width: 96rem; gap: 2.4rem; margin: 3.2rem auto 0; padding: clamp(2rem, 4vw, 4rem); background: var(--color-surface); border: .1rem solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.checkout-form[hidden] { display: none; }
.checkout-form__intro { max-width: 68rem; }
.checkout-form__eyebrow { display: block; margin-bottom: .8rem; color: var(--color-cta); font-size: 1.3rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.checkout-form__intro h2 { margin: 0 0 .8rem; font-size: clamp(2.4rem, 3vw, 3.2rem); }
.checkout-form__intro p { margin: 0; color: var(--color-text-muted); line-height: 1.55; }
.checkout-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; }
.checkout-form__submit { justify-self: start; }
.checkout-form__consent { max-width: 62rem; }
.checkout-form__error { margin: 0; }

@media (max-width: 900px) {
  .storefront-advantages { grid-template-columns: 1fr; }
  .storefront-lead { grid-template-columns: 1fr; gap: 2.4rem; }
  .collection-page__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .collection-page__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 576px) {
  .header-main__logo-img { max-width: 14rem; }
  .hero__content,
  .hero__cta,
  .cat-card,
  .product-card { min-width: 0; }
  .hero__cta { grid-template-columns: minmax(0, 1fr); }
  .categories__grid,
  .products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .storefront-banner { min-height: 34rem; }
  .storefront-block { padding: 3.2rem 0; }
  .storefront-lead { padding: 2rem; }
  .storefront-lead-form { grid-template-columns: 1fr; }
  .storefront-field--half { grid-column: 1 / -1; }
  .storefront-toast { right: 1.6rem; bottom: 1.6rem; }
  .collection-page { padding: 2.4rem 0 4rem; }
  .collection-page__items { grid-template-columns: 1fr; }
  .collection-page__summary { flex-direction: column; align-items: stretch; }
  .collection-compare__table { min-width: 64rem; }
  .collection-compare__table th,
  .collection-compare__table td { min-width: 17rem; padding: 1.2rem; }
  .collection-compare__feature { min-width: 12rem !important; }
}

@media (max-width: 576px) {
  .storefront-modal { align-items: end; padding: 0; }
  .storefront-modal__dialog { width: 100%; max-height: min(90dvh, 76rem); border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
  .storefront-lead-form--modal,
  .checkout-form__grid { grid-template-columns: 1fr; }
  .checkout-form__submit { width: 100%; justify-content: center; }
}
