/** FieldTorq client-requested remodel fixes. Added by Weicks Media, 2026-07-27. */
@media (max-width: 767.98px) {
  html, body { overflow-x: hidden; }
  .container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl { width:100%; max-width:100%; padding-left:18px; padding-right:18px; }
  main.pageTop, main.pageTop .row, main.pageTop [class*="col-"] { min-width:0; }
  main.pageTop p, main.pageTop li, main.pageTop .wysiwyg, main.pageTop .contentArea { overflow-wrap:anywhere; word-break:normal; }
  .heading1 { font-size:clamp(2rem,10vw,3rem); }
  .heading2 { font-size:clamp(1.8rem,8vw,2.5rem); }
  .heading3 { font-size:clamp(1.5rem,7vw,2rem); }
  .heading4 { font-size:clamp(1.35rem,6vw,1.75rem); }
}
#heroCarousel .carousel-item { position:relative; }
#heroCarousel .carousel-caption { left:8%; right:8%; width:auto; max-width:980px; margin-inline:auto; }
@media (max-width:767.98px) {
  #heroCarousel { height:clamp(360px,78vh,560px)!important; min-height:360px; }
  #heroCarousel .carousel-item>img { object-position:center; }
  #heroCarousel .carousel-caption { display:flex!important; top:auto; bottom:2.75rem; left:1rem; right:1rem; transform:none; min-height:42%; padding:1rem; flex-direction:column; justify-content:flex-end; background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72)); border-radius:.35rem; }
  #heroCarousel .carousel-caption .heading1,#heroCarousel .carousel-caption .heading2,#heroCarousel .carousel-caption .heading3 { margin:0 0 .4rem; line-height:1.05; text-shadow:0 2px 8px rgba(0,0,0,.85); }
  #heroCarousel .carousel-caption .heading1 { font-size:clamp(1.7rem,8vw,2.55rem); }
  #heroCarousel .carousel-caption .heading3 { font-size:clamp(1.15rem,5.5vw,1.65rem); }
  #heroCarousel .carousel-caption .btn { white-space:normal; }
}
@media (max-width:767.98px) and (orientation:landscape) {
  #heroCarousel { height:min(88vh,430px)!important; min-height:300px; }
  #heroCarousel .carousel-caption { bottom:1rem; padding:.75rem 1rem; min-height:auto; }
  #heroCarousel .carousel-caption .heading1 { font-size:clamp(1.5rem,5vw,2.1rem); }
  #heroCarousel .carousel-caption .heading3 { font-size:clamp(1rem,3.5vw,1.4rem); }
}
.woocommerce-ordering { max-width:320px; }
.shop-product-card .card-title,.woocommerce-loop-product__title { line-height:1.25; }
.ft-registered-mark,sup.ft-registered-mark { position:relative; top:-.35em; font-size:.55em; line-height:0; vertical-align:baseline; }
.ft-model-viewer-wrap { position:relative; min-height:360px; background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:.5rem; overflow:hidden; }
.ft-model-viewer-wrap model-viewer { display:block; width:100%!important; height:clamp(360px,55vw,620px)!important; background:#fff; }
.ft-model-status { position:absolute; inset:auto 1rem 1rem; z-index:2; padding:.55rem .8rem; background:rgba(255,255,255,.94); border-radius:.25rem; box-shadow:0 2px 12px rgba(0,0,0,.12); font-size:.95rem; }
.ft-model-status[hidden] { display:none; }
.testimonial-section .quote-left,.testimonial_section2 .quote-mark,.testimonial_section2 .quotes,.content-testimonials .fa-quote-left { display:none!important; }
.testimonial-section .shadow-box,.testimonial_section2 .inner-content { padding:clamp(1.5rem,6vw,3rem)!important; }
@media (max-width:575.98px) { .testimonial-section .testimonial,.testimonial_section2 .inner-content { width:100%; max-width:none; } }
.pageTop.reviews .ft-reviews-title,.pageTop.reviews>.introSection h1,.pageTop.reviews>.introSection h2 { font-size:clamp(2rem,6vw,3rem); line-height:1.1; }
.woocommerce-cart .cart-empty::before,.woocommerce-cart .wc-empty-cart-message::before,.woocommerce-cart .woocommerce-info::before { display:none!important; content:none!important; }
.woocommerce-cart .cart-empty,.woocommerce-cart .wc-empty-cart-message { padding:1.25rem; border:1px solid rgba(0,0,0,.12); border-radius:.4rem; background:#fff; text-align:center; font-size:1.15rem; }
@media (max-width:767.98px) { #userwayAccessibilityIcon,.uwy,.accessibility-widget,[class*="accessibility-widget"] { max-width:48px; max-height:48px; } }

/* V3: ensure every hero image fills the complete carousel viewport. */
#heroCarousel,
#heroCarousel > .row,
#heroCarousel .carousel-inner,
#heroCarousel .carousel-item {
  width: 100%;
  max-width: none;
}

#heroCarousel > .row {
  height: 100%;
  margin-right: 0;
  margin-left: 0;
}

#heroCarousel > .row > .col-12 {
  position: static;
  width: 0;
  height: 0;
  padding: 0;
}

#heroCarousel .carousel-inner {
  position: absolute;
  inset: 0;
  height: 100%;
  overflow: hidden;
}

#heroCarousel .carousel-item {
  position: relative;
  height: 100%;
  overflow: hidden;
}

#heroCarousel .carousel-item > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center;
}

#heroCarousel .carousel-caption,
#heroCarousel .carousel-control-prev,
#heroCarousel .carousel-control-next,
#heroCarousel .carousel-indicators {
  z-index: 3;
}

#heroCarousel .drk::after {
  z-index: 2;
}

@media (max-width: 767.98px) {
  #heroCarousel .carousel-item > img {
    object-fit: cover !important;
    object-position: center center;
  }
}

/* WooCommerce product notices: FieldTorq styling and spacing. */
.single-product .woocommerce-notices-wrapper {
  display: block;
  width: 100%;
  margin: 0 0 2rem;
  clear: both;
}

.single-product .woocommerce-notices-wrapper:empty {
  display: none;
  margin: 0;
}

.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-left: 5px solid #e75b00;
  border-radius: 0.35rem;
  background: #ffffff;
  color: #222222;
  line-height: 1.5;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  list-style: none;
}

.single-product .woocommerce-message::before,
.single-product .woocommerce-info::before,
.single-product .woocommerce-error::before {
  color: #e75b00;
}

.single-product .woocommerce-message a,
.single-product .woocommerce-info a,
.single-product .woocommerce-error a {
  color: #c94f00;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.single-product .woocommerce-message .button,
.single-product .woocommerce-info .button,
.single-product .woocommerce-error .button {
  float: right;
  margin: -0.25rem 0 -0.25rem 1rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid #e75b00;
  border-radius: 0.2rem;
  background: #e75b00;
  color: #ffffff;
  text-decoration: none;
}

.single-product .woocommerce-message .button:hover,
.single-product .woocommerce-info .button:hover,
.single-product .woocommerce-error .button:hover {
  background: #222222;
  border-color: #222222;
  color: #ffffff;
}

@media (max-width: 575.98px) {
  .single-product .woocommerce-notices-wrapper {
    margin-bottom: 1.5rem;
  }

  .single-product .woocommerce-message,
  .single-product .woocommerce-info,
  .single-product .woocommerce-error {
    padding: 0.9rem 1rem;
  }

  .single-product .woocommerce-message .button,
  .single-product .woocommerce-info .button,
  .single-product .woocommerce-error .button {
    display: block;
    float: none;
    width: max-content;
    margin: 0.75rem 0 0;
  }
}
