/**
 * InFront – site-wide accessibility + CLS helpers (no layout changes).
 */

/* iPad-only home markup is always in the HTML; hide unless ipad-home.css loads (iPad). */
.ift-ipad-home {
  display: none;
}

/* ---- Header promo bar (iqithtmlandbanners inline colours) ---- */
.header-nav span[style*="#c18727"],
.header-nav span[style*="color:#c18727"] {
  color: #6b4a0a !important;
}

.header-nav a[style*="#8cd400"],
.header-nav a[style*="color:#8cd400"] {
  color: #3d6600 !important;
}

.header-nav a:not([style*="color"]) {
  color: #1a1a1a;
}

.header-nav a[href*="comparator"],
.header-nav a[href*="comparator"] span {
  color: #1a1a1a !important;
}

/* ---- Search widget ---- */
#search_widget_input,
#search_widget .form-search-control {
  color: #1a1a1a !important;
  background-color: #ffffff !important;
}

#search_widget_input::placeholder,
#search_widget .form-search-control::placeholder {
  color: #595959;
  opacity: 1;
}

/* ---- Product cards (Elementor may set light price colours) ---- */
.product-miniature .product-price,
.product-miniature .product-price-and-shipping .product-price {
  color: #1a1a1a !important;
}

.product-miniature .price-countdown,
.product-miniature .price-countdown .countdown-time,
.product-miniature .price-countdown .countdown-time-group {
  color: inherit;
}

/* Sale timer on CTA uses its own palette (see ift-product-cards.css) */
.product-miniature .ift-product-card-cta .price-countdown,
.product-miniature .ift-product-card-cta .price-countdown .countdown-time,
.product-miniature .ift-product-card-cta .price-countdown .countdown-time-group,
.product-miniature .ift-product-card-cta .ift-sale-timer__label,
.product-miniature .ift-product-card-cta .ift-sale-timer__label .time-txt {
  color: inherit !important;
}

.product-miniature .ift-product-card-cta .countdown-time {
  color: #7dd3fc !important;
}

/* Sale / discount badges — modern pills (see ift-product-cards.css) */
.product-flags li.product-flag.on-sale,
.product-flags li.product-flag.discount,
.product-miniature .product-flags .product-flag.on-sale,
.product-miniature .product-flags .product-flag.discount {
  /* Colors live in ift-product-cards.css; keep a11y fallback readable */
  color: #ffffff;
}

.product-miniature .product-flags .product-flag.on-sale {
  color: #0f766e !important;
}

.product-flags li.product-flag.new {
  background: #0f172a !important;
  color: #7dd3fc !important;
}

/* ---- Elementor gold promo text on light backgrounds ---- */
.elementor-text-editor span[style*="#f5a623"],
.elementor-text-editor a[style*="#f5a623"],
.elementor-image-box-description span[style*="#f5a623"],
.elementor-image-box-description a[style*="#f5a623"] {
  color: #7a5200 !important;
}

/* Mobile category tiles (from ift-a11y-contrast.css) */
@media (max-width: 767px) {
  .elementor-element.elementor-element-hjnvhy4 .elementor-text-editor,
  .elementor-element.elementor-element-hjnvhy4 .elementor-text-editor p,
  .elementor-element.elementor-element-hjnvhy4 .elementor-element-1dkzke9,
  .elementor-element.elementor-element-hjnvhy4 .elementor-element-1dkzke9 p {
    color: #333333;
  }

  .elementor-hidden-desktop.elementor-hidden-tablet .elementor-image-box-content .elementor-image-box-title,
  .elementor-hidden-desktop.elementor-hidden-tablet .elementor-image-box-content .elementor-image-box-title a,
  .elementor-hidden-desktop.elementor-hidden-tablet .elementor-image-box-content .elementor-image-box-description,
  .elementor-hidden-desktop.elementor-hidden-tablet .elementor-image-box-content .elementor-image-box-description p {
    color: #333333;
  }
}

/* ---- Footer ---- */
#footer-copyrights a[style*="#f5a623"],
#footer-copyrights a[style*="color:#f5a623"],
#footer-copyrights .copyright-txt a,
#footer-copyrights .copyright-txt a[style*="#f5a623"],
#footer-copyrights .copyright-txt a[style*="color:#f5a623"] {
  color: #6b4a0a !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em;
}

#footer-copyrights a[style*="#f5a623"] strong,
#footer-copyrights .copyright-txt a strong {
  color: inherit !important;
}

#footer-copyrights .copyright-txt,
#footer-copyrights .copyright-txt strong {
  color: #333333;
}

#footer .input-subscription {
  color: #1a1a1a !important;
  background-color: #ffffff !important;
  border: 1px solid #767676 !important;
}

#footer .input-subscription::placeholder {
  color: #3d3d3d !important;
  opacity: 1;
}

a.ift-wa-btn,
#footer .block-iqitcontactpage .ift-wa-btn,
.contact-page-info .ift-wa-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 4px;
  background: #25d366 !important;
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
}

a.ift-wa-btn:hover,
a.ift-wa-btn:focus,
#footer .block-iqitcontactpage .ift-wa-btn:hover,
#footer .block-iqitcontactpage .ift-wa-btn:focus,
.contact-page-info .ift-wa-btn:hover,
.contact-page-info .ift-wa-btn:focus {
  background: #1da851 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

#footer .block-iqitcontactpage .ift-wa-btn__icon,
.contact-page-info .ift-wa-btn__icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

#footer .block-iqitcontactpage .ift-wa-btn__icon svg,
.contact-page-info .ift-wa-btn__icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

/* ---- CLS: reserve space for common image slots ---- */
.product-miniature .thumbnail-container {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.product-miniature-small .thumbnail-container {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.product-miniature .thumbnail-container > a.thumbnail,
.product-miniature-small .thumbnail-container > a.thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.product-miniature .thumbnail-container img,
.product-miniature-small .thumbnail-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.elementor-iqit-banner-img img[width][height],
.elementor-image-box-img img[width][height] {
  height: auto;
}

/* Hero banner carousel — reserve space before Swiper inits (CLS + fewer layout reads) */
.elementor-image-carousel .swiper-slide-image[width="1210"][height="331"] {
  aspect-ratio: 1210 / 331;
  width: 100%;
  height: auto;
}
