html {
  scroll-behavior: smooth;
}

/* ========================================================
   PRODUCT DETAIL PAGE CONTACT FORM 7 (MATCHES CONTACT US PAGE)
   ======================================================== */
.quote-cf7-form,
.custom-quote-form,
.form-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  width: 100% !important;
  font-family: "Manrope", sans-serif !important;
}

.quote-cf7-form form > p,
.quote-cf7-form .wpcf7-form p,
.form-grid form > p,
.form-grid .wpcf7-form p {
  margin: 0 !important;
  padding: 0 !important;
}

.quote-cf7-form br,
.form-grid br {
  display: none !important;
}

.quote-cf7-form .wpcf7-form-control-wrap,
.form-grid .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  position: relative !important;
  margin-top: 0 !important;
}

/* 2 Columns Side by Side (Full Name & Phone) */
.quote-form-row,
.custom-form-row,
.side-by-side,
.cf7-grid-2,
.grid-cols-2 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

.quote-form-row > p,
.side-by-side > p,
.custom-form-row > p {
  display: contents !important;
}

.quote-form-row p,
.side-by-side p,
.custom-form-row p {
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

@media (min-width: 480px) {
  .quote-form-row,
  .custom-form-row,
  .side-by-side,
  .cf7-grid-2,
  .grid-cols-2 {
    grid-template-columns: 1fr 1fr !important;
  }

  .quote-form-row p,
  .side-by-side p,
  .custom-form-row p {
    grid-template-columns: 1fr 1fr !important;
  }
}

.quote-form-field,
.custom-form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

/* Labels */
.custom-form-label,
.quote-cf7-form label,
.form-grid label {
  display: flex !important;
  flex-direction: column !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #0b2944 !important;
  margin-bottom: 0 !important;
  line-height: 1.2 !important;
  gap: 0.5rem !important;
  width: 100% !important;
  font-family: "Manrope", sans-serif !important;
}

@media (min-width: 640px) {
  .custom-form-label,
  .quote-cf7-form label,
  .form-grid label {
    font-size: 0.875rem !important;
  }
}

/* Inputs & Selects */
.form-input-field:not(textarea),
.quote-cf7-form input[type="text"],
.quote-cf7-form input[type="email"],
.quote-cf7-form input[type="tel"],
.form-grid input[type="text"],
.form-grid input[type="email"],
.form-grid input[type="tel"],
.quote-cf7-form select {
  width: 100% !important;
  height: 48px !important;
  padding: 0.75rem 1.25rem !important;
  border-radius: 9999px !important;
  border: 1px solid #dce4ea !important;
  background-color: #ffffff !important;
  font-size: 0.875rem !important;
  font-family: "Manrope", sans-serif !important;
  color: #0b2944 !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  font-weight: 400 !important;
  outline: none !important;
  text-indent: 0 !important;
}

.form-input-field::placeholder,
.quote-cf7-form input::placeholder,
.quote-cf7-form textarea::placeholder {
  color: #94a3b8 !important;
  font-weight: 400 !important;
}

.form-input-field:focus,
.quote-cf7-form input:focus,
.quote-cf7-form textarea:focus {
  outline: none !important;
  border-color: #14538f !important;
  box-shadow: 0 0 0 3px rgba(20, 83, 143, 0.1) !important;
}

/* Textarea */
textarea.form-input-field,
.quote-cf7-form textarea,
.form-grid textarea {
  width: 100% !important;
  min-height: 135px !important;
  padding: 1rem 1.25rem !important;
  border-radius: 20px !important;
  border: 1px solid #dce4ea !important;
  background-color: #ffffff !important;
  font-size: 0.875rem !important;
  font-family: "Manrope", sans-serif !important;
  color: #0b2944 !important;
  resize: vertical !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

/* Submit Button */
.quote-submit-wrapper,
.custom-form-submit {
  width: 100% !important;
  margin-top: 0.25rem !important;
  padding-top: 0 !important;
}

.quote-submit-button,
.wpcf7-form-control.wpcf7-submit,
.quote-submit,
.custom-form-submit .quote-submit,
input[type="submit"].quote-submit-button {
  /* width: 100% !important; */
  height: 52px !important;
  padding: 0 3.5rem 0 1.5rem !important;
  border-radius: 9999px !important;
  background-color: #ef3d48 !important;
  background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='32.4426' height='32.4426' rx='16.2213' fill='white' fill-opacity='0.2'/%3E%3Cpath d='M10.8125 16.2214H21.6267M16.992 10.8143L22.3991 16.2214L16.992 21.6285' stroke-width='1.35177' stroke-linecap='round' stroke-linejoin='round' stroke='white'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 30px 30px !important;
  color: #ffffff !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  font-family: "Manrope", sans-serif !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(239, 61, 72, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  text-align: left !important;
  box-sizing: border-box !important;
  display: inline-block !important;
  position: relative !important;
}

.quote-submit-button:hover,
.wpcf7-form-control.wpcf7-submit:hover,
.quote-submit:hover,
input[type="submit"].quote-submit-button:hover {
  background-color: #d9303b !important;
  background-position: right 12px center !important;
  box-shadow: 0 6px 20px rgba(239, 61, 72, 0.45) !important;
  transform: translateY(-1px) !important;
}

.custom-form-submit::after,
.btn-arrow,
.cf7-submit-arrow {
  display: none !important;
}

/* Hide theme default entry header, comments section, post navigation & sidebar widgets on single product page */
header.entry-header,
#comments,
#respond,
.comments-area,
.comment-respond,
#secondary,
.widget-area,
aside.sidebar,
.navigation.post-navigation,
.post-navigation,
.nav-links {
  display: none !important;
}

.custom-single-product-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif;
  color: #1e293b;
  box-sizing: border-box;
  padding-top: 20px;
  padding-bottom: 40px;
}

.custom-single-product-container *,
.custom-single-product-container *::before,
.custom-single-product-container *::after {
  box-sizing: border-box;
}

/* Breadcrumb Styling */
.custom-breadcrumb-wrapper {
  margin-bottom: 24px;
}

.custom-breadcrumb-wrapper .woocommerce-breadcrumb,
.custom-breadcrumb-wrapper .custom-breadcrumb,
.woocommerce:where(body:not(.woocommerce-uses-block-theme))
  .woocommerce-breadcrumb {
  font-size: 14px;
  color: #000000;
  font-weight: 500;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

.custom-breadcrumb-wrapper a,
.woocommerce:where(body:not(.woocommerce-uses-block-theme))
  .woocommerce-breadcrumb
  a {
  color: #14538f;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.custom-breadcrumb-wrapper a:hover,
.woocommerce:where(body:not(.woocommerce-uses-block-theme))
  .woocommerce-breadcrumb
  a:hover {
  color: #0b2944;
  text-decoration: underline;
}

/* Section 1 Grid */
@media screen and (min-width: 1000px) {
  .custom-product-main-grid {
    display: grid;
    grid-template-columns: 55fr 45fr;
    gap: 42px;
    align-items: start;
  }
}

/* Gallery Section */
.custom-product-gallery {
  display: flex;
  flex-direction: row;
  gap: 13px;
  width: 100%;
  justify-content: space-between;
}

.custom-gallery-thumbnails {
  display: flex;
  flex-direction: column;
  gap: 9px;
  width: 111px;
  flex-shrink: 0;
  justify-content: start;
}

.custom-thumb-item {
  width: 100%;
  aspect-ratio: 111 / 94;
  border-radius: 12px;
  border: 2px solid #e2e8f0;
  background: #ffffff;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease;
  outline: none;
}

.custom-thumb-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.custom-thumb-item.active,
.custom-thumb-item:hover {
  border-color: #0284c7;
  box-shadow: 0 0 0 1px #0284c7;
}

.custom-gallery-main {
  flex: 1;
  width: 100%;
}

.custom-main-image-frame {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 26px;
  overflow: hidden;
  /* border: 2.5px solid #0284c7; */
  background-color: #f8fafc;
  box-shadow: 0 8px 25px rgba(2, 132, 199, 0.08);
}

.custom-main-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 26px;
  transition: opacity 0.2s ease-in-out;
}

/* Override default WooCommerce 48% summary & image widths */
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
}
.woocommerce div.product div.summary {
  margin-bottom: 0px !important;
}
/* Right Column Summary */
.custom-product-summary {
  display: flex;
  flex-direction: column;
  width: 100% !important;
}

.custom-product-title {
  font-size: 32px;
  font-weight: 700;
  color: #1a2b49;
  line-height: 1.25;
  margin: 10px 0 16px 0;
  letter-spacing: -0.02em;
}

.custom-product-description {
  font-size: 16px;
  line-height: 22px;
  color: #717171;
  margin-bottom: 24px;
}

.custom-product-description p {
  margin: 0 0 14px 0;
}

.custom-product-description p:last-child {
  margin-bottom: 0;
}

/* 4 Feature Badges Grid */
.custom-feature-badges-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 16px 0 28px 0;
  width: 100%;
}

.custom-feature-card {
  background-color: #e9f5fa;
  border-radius: 1.5rem;
  padding: 20px 8px 16px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.custom-feature-card:hover {
  transform: translateY(-2px);
  /* box-shadow: 0 4px 12px rgba(2, 132, 199, 0.12); */
}

/* .custom-feature-icon {
        width: 154px;
        height: 154px;
        background-color: #ffffff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    } */

.custom-feature-title {
  font-size: 12px;
  font-weight: 700;
  color: #0b2944;
  line-height: 1.35;
  display: block;
}

/* Action CTA Button */
.custom-product-cta-wrapper {
  margin-top: 4px;
  /* margin-bottom: 20px; */
  font-size: 13px;
}

.custom-quote-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background-color: #ef4444;
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 50px;
  text-decoration: none !important;
  transition: all 0.25s ease;
  box-shadow: 0 6px 18px rgba(239, 68, 68, 0.3);
  border: none;
  cursor: pointer;
}

.custom-quote-btn:hover {
  background-color: #dc2626;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(239, 68, 68, 0.4);
  color: #ffffff !important;
}

.btn-arrow-circle {
  width: 24px;
  height: 24px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   Section 2: Specifications & Description Container
   ========================================================================== */
.custom-sec2-wrapper {
  margin-top: 48px;
  margin-bottom: 96px;
  background-color: #e9f5fa;
  border-radius: 24px;
  padding: 36px 32px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d9e2ec;
}

/* Tab Navigation Bar Capsule Wrapper */
.custom-sec2-tabs-nav {
  display: inline-flex;
  align-items: center;
  /* background-color: #ffffff; */
  /* padding: 6px; */
  border-radius: 120px;
  gap: 6px;
  margin-bottom: 32px;
  /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04); */
  width: 100%;
}

.custom-sec2-tab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 28px;
  border-radius: 50px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.25s ease;
  background-color: #ffffff;
  color: #475569;
  outline: none;
  width: 50%;
}

.custom-sec2-tab-btn svg {
  display: inline-block;
  flex-shrink: 0;
}

.custom-sec2-tab-btn svg path {
  transition:
    fill 0.25s ease,
    stroke 0.25s ease;
}

.custom-sec2-tab-btn svg path[stroke] {
  stroke: currentColor;
}

.custom-sec2-tab-btn svg path[fill]:not([fill="none"]) {
  fill: currentColor;
}

.custom-sec2-tab-btn.active {
  background-color: #0c2340;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(12, 35, 64, 0.18);
}

.custom-sec2-tab-btn:hover:not(.active) {
  color: #0c2340;
}

/* Panels */
.custom-sec2-tab-panel {
  display: none;
}

.custom-sec2-tab-panel.active {
  display: block;
}

.custom-sec2-heading {
  font-size: 32px;
  font-weight: 700;
  color: #5b6b7d;
  /* margin: 0 0 8px 0; */
  letter-spacing: -0.01em;
}

.custom-sec2-subheading {
  font-size: 16px;
  color: #64748b;
  margin: 0 0 20px 0;
  line-height: 1.5;
}

/* 3 Highlight Cards */
.custom-sec2-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

.custom-sec2-card {
  background-color: #ffffff;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.custom-sec2-card-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5b6b7d;
  text-transform: uppercase;
}

.custom-sec2-card-text {
  font-size: 16px;
  line-height: 1.55;
  color: #0b2944;
  margin: 0;
}

/* Specifications Table */
.custom-sec2-table-wrapper {
  background-color: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.custom-sec2-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.custom-sec2-table th {
  background-color: #f7f9fc;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #5b6b7d;
  padding: 16px 20px;
  border-bottom: 1px solid #d9e2ec;
  text-transform: uppercase;
}

.custom-sec2-table th:not(:last-child) {
  border-right: 1px solid #d9e2ec;
}

.custom-sec2-table td {
  padding: 14px 20px;
  font-size: 16px;
  border-bottom: 1px solid #d9e2ec;
}

.custom-sec2-table td:not(:last-child) {
  border-right: 1px solid #e2e8f0;
}

.custom-sec2-table tr:last-child td {
  border-bottom: none;
}

.col-spec {
  width: 32%;
}

.col-details {
  width: 68%;
}

.col-spec-val {
  color: #14538f;
  font-weight: 600;
}

.col-details-val {
  color: #0b2944;
  line-height: 1.5;
}

.custom-sec2-description-content {
  background: #ffffff;
  padding: 24px;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.custom-product-desc-wysiwyg {
  font-family: "Manrope", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0px;
  vertical-align: middle;
  color: #334155;
}

.custom-product-desc-wysiwyg p {
  margin: 0 0 14px 0;
}

.custom-product-desc-wysiwyg p:last-child {
  margin-bottom: 0;
}

.custom-product-desc-wysiwyg h1,
.custom-product-desc-wysiwyg h2,
.custom-product-desc-wysiwyg h3,
.custom-product-desc-wysiwyg h4,
.custom-product-desc-wysiwyg h5,
.custom-product-desc-wysiwyg h6 {
  font-family: "Manrope", sans-serif;
  font-weight: 700;
  color: #0c2340;
  line-height: 1.3;
  margin: 20px 0 10px 0;
}

.custom-product-desc-wysiwyg ul,
.custom-product-desc-wysiwyg ol {
  margin: 0 0 14px 0;
  padding-left: 20px;
}

.custom-product-desc-wysiwyg li {
  margin-bottom: 6px;
}

.custom-product-desc-wysiwyg a {
  color: #1d4ed8;
  text-decoration: underline;
}

@media screen and (min-width: 1200px) {
  .get-container {
    /* padding-inline: 1.25rem; */
    width: calc(100% - 15.625rem);
    max-width: 74.5rem;
    margin-inline: auto;
  }
}

/* ==========================================================================
   Mobile Responsive Layout (Applied strictly to Mobile - Desktop untouched)
   ========================================================================== */
@media (max-width: 991px) {
  .custom-single-product-container {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    overflow-x: hidden;
  }

  .custom-breadcrumb-wrapper {
    margin-bottom: 16px;
    padding-inline: 0;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .custom-breadcrumb-wrapper::-webkit-scrollbar {
    display: none;
  }

  .custom-product-main-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .custom-product-gallery {
    flex-direction: column;
    gap: 12px;
    padding-inline: 0;
  }

  .custom-gallery-main {
    order: 1;
  }

  .custom-main-image-frame {
    border-radius: 26px;
    box-shadow: 0 4px 15px rgba(2, 132, 199, 0.06);
  }

  .custom-gallery-thumbnails {
    order: 2;
    flex-direction: row;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
    gap: 10px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .custom-gallery-thumbnails::-webkit-scrollbar {
    display: none;
  }

  .custom-thumb-item {
    width: 68px;
    height: 68px;
    flex-shrink: 0;
    border-radius: 10px;
  }

  .custom-product-summary {
    order: 2;
    padding-inline: 0;
  }

  .custom-product-title {
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 12px;
    order: 1;
  }

  .custom-product-description {
    font-size: 16px;
    line-height: 1.55;
    order: 2;
    margin-bottom: 20px;
  }

  .custom-product-cta-wrapper {
    order: 3;
    margin-top: 10px;
    margin-bottom: 24px;
    width: 100%;
  }

  .custom-quote-btn {
    /* width: 100%; */
    justify-content: center;
    padding: 8px 13px;
    font-size: 12px;
  }

  .custom-feature-badges-grid {
    order: 4;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .custom-feature-card {
    padding: 14px 10px;
    border-radius: 1rem;
  }

  .custom-feature-title {
    font-size: 11.5px;
    line-height: 1.35;
  }

  /* Section 2 Mobile */
  .custom-sec2-wrapper {
    padding: 20px 16px;
    border-radius: 24px;
    margin: 32px 0 48px 0;
    width: 100%;
  }

  .custom-sec2-tabs-nav {
    display: flex;
    width: 100%;
    margin-bottom: 20px;
    /* background-color: #ffffff; */
    padding: 4px;
    border-radius: 50px;
  }

  .custom-sec2-tab-btn {
    flex: 1;
    width: 50%;
    padding: 10px 12px;
    font-size: 13px;
    justify-content: center;
    border-radius: 50px;
  }

  .custom-sec2-cards-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 20px;
  }

  .custom-sec2-card {
    padding: 16px;
    border-radius: 16px;
  }

  .custom-sec2-heading {
    font-size: 22px;
    margin-bottom: 6px;
  }

  .custom-sec2-subheading {
    font-size: 13.5px;
    margin-bottom: 16px;
  }

  .custom-sec2-table-wrapper {
    border-radius: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .custom-sec2-table th,
  .custom-sec2-table td {
    padding: 12px 14px;
    font-size: 13px;
    word-break: break-word;
  }

  .col-spec {
    width: 40%;
    font-size: 12px;
  }

  .col-details {
    width: 60%;
    font-size: 13px;
  }

  .custom-sec2-description-content {
    padding: 18px 16px;
    border-radius: 12px;
  }

  .custom-product-desc-wysiwyg {
    font-size: 14.5px;
    line-height: 1.6;
  }

  /* Section: Get a Quote Form Mobile Styling */
  #get-a-quote {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  #get-a-quote .main-container {
    border-radius: 1.25rem !important;
  }

  #get-a-quote label,
  .custom-form-label,
  .wpcf7-form label {
    font-size: 12px !important;
  }

  #get-a-quote input[type="text"],
  #get-a-quote input[type="email"],
  #get-a-quote input[type="tel"],
  #get-a-quote input[type="number"],
  #get-a-quote textarea,
  #get-a-quote select {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  #get-a-quote input[type="submit"],
  #get-a-quote button[type="submit"],
  #get-a-quote .wpcf7-submit {
    /* width: 100% !important; */
    padding: 14px 54px 14px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    text-align: center !important;
    justify-content: center !important;
    display: inline-flex !important;
    background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 10.8367C0 4.85176 4.85176 0 10.8367 0C16.8217 0 21.6734 4.85176 21.6734 10.8367C21.6734 16.8217 16.8217 21.6734 10.8367 21.6734C4.85176 21.6734 0 16.8217 0 10.8367Z' fill='white' fill-opacity='0.2'/%3E%3Cpath d='M7.15137 10.8368H14.5228M11.8898 13.469L14.5228 10.8368L11.8898 8.20459' stroke='white' stroke-width='1.18461' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 22px 22px !important;
  }

  /* Section: FAQ Mobile Styling */
  #faq-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  #faq-section .main-container {
    gap: 24px;
  }

  #faq-section h2 {
    font-size: 1.625rem !important;
    line-height: 2rem !important;
    width: 100% !important;
  }

  /* #faq-section p {
    font-size: 0.9375rem !important;
  } */

  #faq-accordion {
    border-radius: 16px !important;
  }

  .faq-item button {
    padding: 16px !important;
    gap: 12px !important;
  }

  .faq-item h3 {
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
  }

  .faq-content p {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 16px !important;
    margin-left: 0 !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
  }

  /* Section: Related Products Mobile Styling */
  #related-product {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 32px !important;
    padding-bottom: 40px !important;
  }

  #related-product-carousel {
    gap: 12px !important;
    padding-bottom: 12px !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 767px) {
  .custom-single-product-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .custom-product-gallery {
    gap: 10px;
  }
  .custom-main-image-frame img#custom-main-product-img {
    border-radius: 16px;
  }
  .custom-gallery-thumbnails {
    gap: 6px;
  }
  .custom-product-title {
    font-size: 21px;
  }
  .custom-product-description {
    line-height: 18px;
  }
  .custom-sec2-wrapper {
    border-radius: 24px;
  }

  .custom-thumb-item {
    width: 60px;
    height: 60px;
  }
  .custom-sec2-card-text {
    font-size: 12px;
    font-weight: 400;
  }
  .custom-feature-badges-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .custom-feature-card {
    padding: 19px 30px;
    border-radius: 24px;
  }

  .custom-sec2-wrapper {
    padding: 16px 12px;
    margin-top: 24px;
    margin-bottom: 32px;
  }

  .custom-sec2-heading {
    font-size: 28px;
    line-height: 32px;
  }

  .custom-sec2-tabs-nav {
    border-radius: 30px;
    padding: 3px;
    gap: 12px;
  }
  .custom-sec2-subheading {
    font-size: 12px;
  }
  .custom-sec2-card-label {
    font-size: 12px;
  }

  .custom-sec2-tab-btn {
    padding: 10px 10px;
    font-size: 12px;
    border-radius: 120px;
  }

  .custom-sec2-tab-btn img {
    width: 15px;
    height: 15px;
  }

  #faq-section .main-container {
    padding-inline: 0px;
  }

  #related-product .main-container {
    padding-inline: 0px;
  }
  .custom-product-desc-wysiwyg {
    margin-top: 50px;
  }
}

@media (max-width: 480px) {
  .custom-product-title {
    font-size: 28px;
    margin-top: 20px !important ;
  }

  .custom-feature-title {
    font-size: 12px;
  }

  .custom-sec2-table th,
  .custom-sec2-table td {
    padding: 10px 10px;
    font-size: 10px;
  }
}

/* Single Product Testimonials Section Heading Override */
#testimonials h2,
#testimonials h2.manrope,
section[class*="testimonial"] h2,
section[id*="testimonial"] h2 {
  /* font-size: 12px !important; */
  line-height: 1.75rem !important;
}

@media (min-width: 768px) {
  #testimonials h2,
  #testimonials h2.manrope,
  section[class*="testimonial"] h2,
  section[id*="testimonial"] h2 {
    font-size: 2rem !important;
    line-height: 2.5rem !important;
  }
}

/* Single Product Testimonials Subheading/Paragraph Font Size Override */
#testimonials p,
#testimonials .manrope.font-medium,
#testimonials p.manrope,
section[class*="testimonial"] p,
section[id*="testimonial"] p {
  font-size: 12px !important;
  line-height: 1.375rem !important;
}

@media (min-width: 768px) {
  #testimonials p,
  #testimonials .manrope.font-medium,
  #testimonials p.manrope,
  section[class*="testimonial"] p,
  section[id*="testimonial"] p {
    font-size: 12px !important;
    line-height: 1.25rem !important;
  }
}

/* <style> */
header.entry-header,
#comments,
#respond,
.comments-area,
.comment-respond,
#secondary,
.widget-area,
aside.sidebar,
.navigation.post-navigation,
.post-navigation,
.nav-links,
.woocommerce > .woocommerce-breadcrumb,
.woocommerce-notices-wrapper + .woocommerce-breadcrumb,
body.single-product > nav.woocommerce-breadcrumb,
#content > nav.woocommerce-breadcrumb,
#main > nav.woocommerce-breadcrumb,
.site-main > nav.woocommerce-breadcrumb {
  display: none !important;
}

/* Single Product Testimonials Heading Font Size Override */
#testimonials h2,
#testimonials h2.manrope,
section[class*="testimonial"] h2,
section[id*="testimonial"] h2 {
  font-size: 1.75rem !important;
  line-height: 1.75rem !important;
}

@media (min-width: 768px) {
  #testimonials h2,
  #testimonials h2.manrope,
  section[class*="testimonial"] h2,
  section[id*="testimonial"] h2 {
    font-size: 2rem !important;
    line-height: 2.5rem !important;
  }
}

/* Single Product Testimonials Subheading Font Size Override */
#testimonials p,
#testimonials .manrope.font-medium,
section[class*="testimonial"] p,
section[id*="testimonial"] p {
  /* font-size: 0.9rem !important; */
  line-height: 1.375rem !important;
}

@media (min-width: 768px) {
  #testimonials p,
  #testimonials .manrope.font-medium,
  section[class*="testimonial"] p,
  section[id*="testimonial"] p {
    font-size: 1rem !important;
    line-height: 1.25rem !important;
  }
}

/* Main Product Image Hover & Click Zoom Effect */
.custom-main-image-frame {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
  border-radius: 26px;
}

.custom-main-image-frame img#custom-main-product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 26px;
  transition:
    transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    transform-origin 0.1s ease-out;
  transform-origin: center center;
  will-change: transform, transform-origin;
}

.custom-main-image-frame.is-zoomed img#custom-main-product-img {
  transform: scale(2.2);
  cursor: zoom-out;
  border-radius: 26px;
}

/* Zoom Icon Badge on Top Right */
.custom-image-zoom-trigger {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  color: #0b2944;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.custom-image-zoom-trigger:hover {
  transform: scale(1.1);
  background: #ef3d48;
  color: #ffffff;
}

/* Fullscreen Lightbox Modal Popup (Mobile Only) */
.custom-lightbox-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.custom-lightbox-modal.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.custom-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 41, 68, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.custom-lightbox-container {
  position: relative;
  z-index: 2;
  max-width: 95vw;
  max-height: 95vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
}

.custom-lightbox-img-wrapper {
  position: relative;
  max-width: 100%;
  max-height: 85vh;
  overflow: auto;
  border-radius: 1.25rem;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  background: #ffffff;
  padding: 0.5rem;
}

.custom-lightbox-img-wrapper img {
  display: block;
  max-width: 100%;
  max-height: 75vh;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  border-radius: 0.875rem;
}

.custom-lightbox-close {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: #ef3d48;
  color: #ffffff;
  border: 2px solid #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  z-index: 20;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease;
}

.custom-lightbox-close:hover {
  transform: scale(1.1);
  background: #d42b36;
}

@media (min-width: 768px) {
  .custom-lightbox-modal {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .custom-image-zoom-trigger {
    top: 0.75rem;
    right: 0.75rem;
    width: 2.25rem;
    height: 2.25rem;
  }
}

/* Product Description WYSIWYG Styling (Headings, Lists, Typography & UI) */
.custom-product-desc-wysiwyg {
  color: #475467;
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.75;
}

.custom-product-desc-wysiwyg p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  color: #475467;
  font-size: 1rem;
  line-height: 1.75;
}

.custom-product-desc-wysiwyg p:last-child {
  margin-bottom: 0;
}

/* Headings (H1 - H6) with tight bottom margins */
.custom-product-desc-wysiwyg h1 {
  font-size: 2.25rem;
  line-height: 1.25;
  font-weight: 800;
  color: #0b2944;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  letter-spacing: -0.025em;
}

.custom-product-desc-wysiwyg h2 {
  font-size: 1.75rem;
  line-height: 1.3;
  font-weight: 800;
  color: #0b2944;
  margin-top: 1.25rem;
  margin-bottom: 0.375rem;
  letter-spacing: -0.015em;
}

.custom-product-desc-wysiwyg h3 {
  font-size: 1.375rem;
  line-height: 1.35;
  font-weight: 700;
  color: #0b2944;
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}

.custom-product-desc-wysiwyg h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700;
  color: #0b2944;
  margin-top: 0.875rem;
  margin-bottom: 0.25rem;
}

.custom-product-desc-wysiwyg h5 {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  color: #1d2939;
  margin-top: 0.75rem;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.custom-product-desc-wysiwyg h6 {
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 700;
  color: #ef3d48;
  margin-top: 0.625rem;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.custom-product-desc-wysiwyg h1:first-child,
.custom-product-desc-wysiwyg h2:first-child,
.custom-product-desc-wysiwyg h3:first-child,
.custom-product-desc-wysiwyg h4:first-child,
.custom-product-desc-wysiwyg h5:first-child,
.custom-product-desc-wysiwyg h6:first-child {
  margin-top: 0;
}

/* Unordered Lists (UL) */
.custom-product-desc-wysiwyg ul {
  list-style: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.custom-product-desc-wysiwyg ul li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.5rem;
  color: #344054;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.custom-product-desc-wysiwyg ul li::before {
  content: "";
  position: absolute;
  left: 0.25rem;
  top: 0.55rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #ef3d48;
  /* box-shadow: 0 0 0 3px rgba(239, 61, 72, 0.15); */
}

/* Simple Ordered Lists (OL) */
.custom-product-desc-wysiwyg ol {
  list-style-type: decimal;
  /* padding-left: 1.5rem; */
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.custom-product-desc-wysiwyg ol li {
  margin-bottom: 0.5rem;
  color: #344054;
  font-size: 0.9375rem;
  line-height: 1.6;
  /* padding-left: 0.25rem; */
}

/* Strong & Links */
.custom-product-desc-wysiwyg strong,
.custom-product-desc-wysiwyg b {
  color: #0b2944;
  font-weight: 700;
}

.custom-product-desc-wysiwyg a {
  color: #ef3d48;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.custom-product-desc-wysiwyg a:hover {
  color: #0b2944;
}

/* Blockquotes */
.custom-product-desc-wysiwyg blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem 1rem 1.5rem;
  background: #f0f7fb;
  border-left: 4px solid #ef3d48;
  border-radius: 0 0.75rem 0.75rem 0;
  font-style: italic;
  color: #101828;
}

.custom-product-desc-wysiwyg blockquote p {
  margin-bottom: 0;
  font-size: 1rem;
  color: #101828;
}

/* Tables */
.custom-product-desc-wysiwyg table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 1.5rem 0;
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid #e4e7ec;
}

.custom-product-desc-wysiwyg th {
  background-color: #0b2944;
  color: #ffffff;
  font-weight: 700;
  text-align: left;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.custom-product-desc-wysiwyg td {
  padding: 0.75rem 1rem;
  border-top: 1px solid #eaecf0;
  color: #344054;
  font-size: 0.9375rem;
}

.custom-product-desc-wysiwyg tr:nth-child(even) td {
  background-color: #f8fafc;
}

/* Responsive Mobile Overrides */
@media (max-width: 767px) {
  .custom-product-desc-wysiwyg h1 {
    font-size: 1.75rem;
  }

  .custom-product-desc-wysiwyg h2 {
    font-size: 1.375rem;
  }

  .custom-product-desc-wysiwyg h3 {
    font-size: 1.188rem;
  }

  .custom-product-desc-wysiwyg h4 {
    font-size: 1.063rem;
  }
}

/* Contact Form 7 Submit Button with Arrow SVG (Matches Contact Us Page) */
.wpcf7-form-control.wpcf7-submit.quote-submit,
.wpcf7-form-control.wpcf7-submit,
.quote-submit,
.quote-submit-button,
#get-a-quote .wpcf7-submit {
  display: inline-block !important;
  /* width: 100% !important; */
  height: 52px !important;
  padding: 0 3.5rem 0 1.5rem !important;
  border-radius: 9999px !important;
  background-color: #ef3d48 !important;
  background-image: url("data:image/svg+xml,%3Csvg width='30' height='30' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='32.4426' height='32.4426' rx='16.2213' fill='white' fill-opacity='0.2'/%3E%3Cpath d='M10.8125 16.2214H21.6267M16.992 10.8143L22.3991 16.2214L16.992 21.6285' stroke-width='1.35177' stroke-linecap='round' stroke-linejoin='round' stroke='white'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 30px 30px !important;
  color: #ffffff !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(239, 61, 72, 0.35) !important;
  transition: all 0.25s ease !important;
  text-align: left !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.wpcf7-form-control.wpcf7-submit.quote-submit:hover,
.wpcf7-form-control.wpcf7-submit:hover,
.quote-submit:hover,
.quote-submit-button:hover,
#get-a-quote .wpcf7-submit:hover {
  background-color: #d9303b !important;
  background-position: right 12px center !important;
  box-shadow: 0 6px 20px rgba(239, 61, 72, 0.45) !important;
  transform: translateY(-1px) !important;
}

.custom-form-submit::after,
.btn-arrow,
.cf7-submit-arrow {
  display: none !important;
}
/* </style> */
