/* Dr Homeo+ v3 — functional UI only (cart modal, toast, video popup). Uses theme variables; no re-skin of theme widgets. */
/* Social links hidden — use WhatsApp / contact instead */
.wdt-cus-social,
.wdt-cus-social-share-single,
.wdt-single-product-share-container,
.wdt-content-item .wdt-social-icons-list,
.elementor-widget-social-icons,
.wdt-single-product-follow-list {
  display: none !important;
}
/* FAQ / accordion: all panels closed until user clicks */
.wdt-module-accordion .wdt-accordion-toggle-description {
  display: none;
}
.wdt-module-accordion.ui-accordion .ui-accordion-content {
  display: none;
}
.wdt-module-accordion.ui-accordion .ui-accordion-content-active {
  display: block;
}
.elementor-widget-accordion .elementor-tab-content:not(.elementor-active) {
  display: none !important;
}
.elementor-widget-toggle .elementor-tab-content:not(.elementor-active) {
  display: none !important;
}
/* Disable Makehub theme pre-loader (logo + feather animation) on every page */
.pre-loader,
.pre-loader.loader1 {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.dh-modal-open{overflow:hidden}
.dh-modal[hidden]{display:none}
.dh-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.dh-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.dh-modal__box{position:relative;background:var(--wdtBodyBGColor,#fff);max-width:480px;width:100%;padding:30px 26px 24px;max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--wdtBorderColor)}
.dh-modal__x{position:absolute;top:8px;right:10px;border:0;background:transparent!important;font-size:28px;line-height:1;color:var(--wdtSecondaryColor)!important;cursor:pointer;padding:6px}
.dh-modal__eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--wdtPrimaryColor);margin:0 0 4px}
.dh-modal h3{margin:0 0 6px}
.dh-modal__sum{font-size:14px;margin:0 0 14px}
.dh-modal__fine{font-size:12px;margin:10px 0 0;text-align:center}
.dh-f{display:block;margin:0 0 12px}
.dh-f>span:first-child{display:block;font-size:14px;margin-bottom:5px;color:var(--wdtSecondaryColor)}
.dh-f input,.dh-f select{width:100%}
.dh-tel{display:flex;align-items:stretch}
.dh-tel b{display:flex;align-items:center;padding:0 12px;border:1px solid var(--wdtBorderColor);border-right:0;background:var(--wdtTertiaryColor);font-weight:400}
.dh-c{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:4px 0 8px}
.dh-c input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--wdtPrimaryColor)}
.dh-err{color:#b42318;font-size:13px;min-height:1em;margin:4px 0 8px}
.dh-err:empty{margin:0}
/* Theme gradient applies to input[type=submit], not button[type=submit] — force visible CTA in modal */
.dh-modal .dh-btn,
.dh-modal button[type="submit"] {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 14px 22px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-transform: none;
  cursor: pointer;
  border: 0;
  border-radius: var(--wdtRadius_Part, 62px);
  background-color: var(--wdtPrimaryColor, #d4846a) !important;
  background-image: linear-gradient(
    90deg,
    var(--wdtPrimaryColor, #d4846a),
    var(--mix-color, var(--wdtPrimaryColor, #d4846a)),
    var(--wdtPrimaryColor, #d4846a) 50%,
    var(--wdtPrimaryColor, #d4846a)
  ) !important;
  background-size: 200% auto;
  color: #fff !important;
}
.dh-modal .dh-btn:hover:not(:disabled),
.dh-modal button[type="submit"]:hover:not(:disabled) {
  background-position: 30% center;
}
.dh-modal .dh-btn:disabled,
.dh-modal button[type="submit"]:disabled {
  opacity: 0.7;
  cursor: wait;
}
.dh-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;transition:.3s;background:var(--wdtSecondaryColor);color:#fff;padding:12px 20px;font-size:14px;z-index:100001;max-width:calc(100vw - 24px)}
.dh-toast.on{transform:translate(-50%,0);opacity:1}
.dh-toast a{color:var(--wdtTertiaryColor);margin-left:6px}
.dh-video-pop{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:20px}
.dh-video-pop video{max-width:min(960px,100%);max-height:85vh;background:#000}
.dh-video-pop button{position:absolute;top:16px;right:20px;font-size:34px;background:none;border:0;color:#fff;cursor:pointer}
.dh-cart-note{font-size:13px;margin-top:12px}
#dh-cart .product-thumbnail img{width:90px;height:90px;object-fit:cover}
.woocommerce-mini-cart-item img{width:60px;height:60px;object-fit:cover;float:left;margin-right:10px}
.dh-sample-note{font-size:13px;font-style:italic}

/* Hair+ salmon banner — mobile/tablet only (desktop stays export) */
@media (max-width: 1024px) {
  .elementor-element-00955c1 {
    padding: 20px 12px 36px !important;
  }
  .elementor-element-74e1c47 > .elementor-container {
    align-items: center;
  }
  .elementor-element-27c567a > .elementor-element-populated {
    padding: 20px 16px !important;
  }
  .elementor-element-fee91b7 .wdt-products-container ul.products li.product img {
    max-height: 220px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center top;
    margin-inline: auto;
  }
  .elementor-element-fee91b7 .wdt-products-container ul.products li.product .product-wrapper {
    display: flex;
    flex-direction: column;
  }
  .elementor-element-fee91b7 .wdt-products-container ul.products li.product .wdt-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-74e1c47.elementor-reverse-mobile > .elementor-container,
  .elementor-element-74e1c47.elementor-reverse-mobile_extra > .elementor-container,
  .elementor-element-74e1c47.elementor-reverse-tablet > .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element-74e1c47 > .elementor-container {
    padding: 16px 12px 20px;
  }
  .elementor-element-524fbcd,
  .elementor-element-524fbcd > .elementor-element-populated,
  .elementor-element-524fbcd .elementor-widget-wrap {
    height: auto !important;
    width: 100% !important;
  }
  .elementor-element-a0757f0.elementor-widget-wdt-before-after-slider,
  .elementor-element-a0757f0 .elementor-widget-container {
    height: auto !important;
    width: 100% !important;
    max-width: 280px;
    margin-inline: auto;
  }
  .elementor-element-a0757f0 .wdt-before-after-slider-container {
    display: block !important;
    position: relative;
    width: 100%;
    height: 350px;
    max-width: 280px;
    max-height: 350px;
    margin-inline: auto;
    overflow: hidden;
  }
  .elementor-element-a0757f0 .wdt-before-after-slider-container .wdt-img {
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100% !important;
    grid-area: unset;
  }
  .elementor-element-a0757f0 .wdt-before-after-slider-container .wdt-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
  }
  .elementor-element-a0757f0 .wdt-before-after-slider-span-after,
  .elementor-element-a0757f0 .wdt-before-after-slider-span-before {
    font-size: 1rem;
    gap: 8px;
  }
  .elementor-element-6754a3c > .elementor-widget-container {
    margin-bottom: 12px !important;
  }
  .elementor-element-27c567a > .elementor-element-populated {
    padding: 12px 8px 8px !important;
  }
  .elementor-element-fee91b7 .wdt-products-container.swiper-container .swiper-wrapper {
    flex-wrap: nowrap !important;
    height: auto !important;
  }
  .elementor-element-fee91b7 .wdt-products-container ul.products li.product {
    width: 100% !important;
    height: auto !important;
  }
  .elementor-element-fee91b7 .wdt-products-container ul.products li.product img {
    max-height: 180px;
  }
}

/* Product hover photos — theme overlay CSS is missing from this export */
.woocommerce ul.products li.product .product-thumb a.image {
  position: relative;
  display: block;
  overflow: hidden;
}
.woocommerce ul.products li.product .product-thumb .secondary-image {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.woocommerce ul.products li.product .product-wrapper:hover .product-thumb .secondary-image {
  opacity: 1;
}

/* Site-wide mobile: stop stacked hover images, huge cards, blank tab gaps */
@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden;
  }
  img,
  video {
    max-width: 100%;
  }
  .elementor-widget__width-initial,
  .elementor-widget__width-auto,
  .elementor-widget-mobile_extra__width-initial {
    max-width: 100% !important;
  }
  .elementor-top-section > .elementor-container {
    padding-left: 16px;
    padding-right: 16px;
  }
  .elementor-section.elementor-section-full_width > .elementor-container {
    padding-left: 0;
    padding-right: 0;
  }

  /* Header */
  .elementor-element-186a6ab .elementor-container,
  .elementor-element-ab38a00 .elementor-container {
    align-items: center;
  }
  .elementor-element-0800396 {
    max-width: 150px;
  }
  /* Inner-page top utility bar (social + currency) — homepage already hides this */
  .elementor-element-233644a {
    display: none !important;
  }

  /* Hide stacked lifestyle hover photos; keep one compact product image */
  .woocommerce ul.products li.product .product-thumb .secondary-image {
    display: none !important;
  }
  .woocommerce ul.products li.product .product-thumb .image img,
  .woocommerce.wdt-product-section-1 ul.products li.product .product-thumb .image img {
    max-height: 180px !important;
    width: auto;
    max-width: 100%;
    height: auto !important;
    object-fit: contain;
    margin-inline: auto;
    display: block;
  }
  .woocommerce ul.products:not(.swiper-wrapper) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .woocommerce ul.products:not(.swiper-wrapper) li.product {
    width: 100% !important;
    margin: 0 !important;
  }
  .woocommerce ul.products li.product .wdt-col {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }
  .woocommerce ul.products li.product .product-details {
    padding: 8px 4px 12px;
  }

  /* Shop mosaic: keep 2×2 product tiles instead of 8 stacked cards */
  .elementor-element-e5a9b54 .elementor-element-dedf9f3 > .elementor-container > .elementor-column,
  .elementor-element-e5a9b54 .elementor-element-cfccc2e > .elementor-container > .elementor-column {
    width: 50% !important;
  }
  .elementor-element-e5a9b54 .wdt-product-section-icon-box .wdt-content-item .wdt-content-media-group {
    gap: 8px;
  }
  .elementor-element-e5a9b54 .wdt-product-section-icon-box .wdt-content-item .wdt-content-icon-wrapper .wdt-content-icon span {
    width: 92px;
    height: 48px;
  }

  /* Honest Pricing cards: 2-col, small product shots */
  .wdt-gift-product-style .wdt-column-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .wdt-gift-product-style .wdt-column {
    width: 100% !important;
    max-width: 100% !important;
  }
  .wdt-gift-product-style .wdt-content-item {
    padding: 12px 10px 14px !important;
  }
  .wdt-gift-product-style .wdt-content-item .wdt-content-media-group {
    margin-bottom: 10px;
  }
  .wdt-gift-product-style .wdt-content-item .wdt-content-image img {
    max-height: 120px !important;
    width: auto;
    margin-inline: auto;
    object-fit: contain;
  }
  .wdt-gift-product-style .wdt-content-item .wdt-content-detail-group {
    padding: 0 4px;
  }

  /* Hair+ Plans & Refills + any vertical tabs on mobile accordion */
  .wdt-cust-tabs-video-product .wdt-tabs-container,
  .wdt-cust-before-after .wdt-tabs-container {
    display: block;
    flex-flow: column nowrap;
    gap: 12px;
    min-height: 0;
  }
  .wdt-tabs-container[class*="-tabs-toggle-mode"] > .wdt-tabs-list-wrapper,
  .wdt-tabs-container[class*="-tabs-toggle-mode"] > .wdt-tabs-content-wrapper {
    width: 100% !important;
    flex: none !important;
    height: auto !important;
    min-height: 0;
    align-items: stretch;
  }
  .wdt-cust-tabs-video-product .wdt-tabs-container[class*="-tabs-toggle-mode"] .wdt-tabs-list-wrapper,
  .wdt-cust-before-after .wdt-tabs-container[class*="-tabs-toggle-mode"] .wdt-tabs-list-wrapper {
    height: auto !important;
  }
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content-wrapper {
    padding: 12px 0 0 !important;
  }
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-cust-video-product-img,
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-products-carousel-container,
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-heading-holder,
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-popup-box-trigger-holder,
  .wdt-cust-img-after,
  .wdt-cust-img-after .wdt-content-item .wdt-content-image {
    opacity: 1 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-cust-video-product-img img,
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-popup-box-trigger-holder .wdt-popup-box-trigger-element {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    -webkit-mask-size: auto !important;
    mask-size: auto !important;
    opacity: 1 !important;
  }
  .wdt-cust-video-product-img,
  .wdt-cust-video-product-img .elementor-widget-container {
    height: auto !important;
  }
  .wdt-cust-tabs-video-product .wdt-cust-video-product-img img {
    height: auto !important;
    max-height: 220px;
    width: 100%;
    object-fit: cover;
    object-position: center 20%;
  }
  .wdt-cust-tabs-video-product .elementor-section-height-min-height > .elementor-container {
    min-height: 160px !important;
  }
  .wdt-cust-tabs-video-product .wdt-tabs-container .wdt-tabs-content .wdt-popup-box-trigger-holder .wdt-popup-box-trigger-element {
    padding: 12px !important;
  }

  /* Before/After lifestyle tabs: two photos side by side, drop overflowing arc text */
  .wdt-cust-before-after .elementor-col-50 {
    width: 50% !important;
  }
  .wdt-cust-before-after .elementor-col-50 > .elementor-element-populated {
    padding: 0 6px !important;
  }
  .wdt-cust-before-after .elementor-widget-text-path {
    display: none !important;
  }
  .wdt-cust-img-after img {
    max-height: 220px !important;
    width: 100%;
    object-fit: cover;
  }

  /* Snap-scroll rows stay swipeable without blowing the page width */
  .wdt-column-wrapper.wdt-snap-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Single product */
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.images,
  .woocommerce-page div.product div.summary {
    width: 100% !important;
    float: none !important;
    margin: 0 0 16px !important;
  }
  .woocommerce div.product .woocommerce-product-gallery img,
  .elementor-widget-wdt-shop-product-single-images-carousel .swiper-slide img {
    max-height: 320px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    margin-inline: auto;
    display: block;
  }
  .woocommerce-grouped-product-list,
  .woocommerce-grouped-product-list-item,
  table.woocommerce-grouped-product-list {
    width: 100% !important;
    max-width: 100% !important;
  }
  .woocommerce-grouped-product-list-item td {
    padding: 8px 4px !important;
    word-break: break-word;
  }
  .woocommerce #content div.product .product_title,
  .woocommerce div.product .product_title {
    font-size: 1.6rem;
    line-height: 1.25;
  }

  /* Cart table */
  .woocommerce table.shop_table.cart {
    display: block;
    overflow-x: auto;
  }
  .woocommerce table.cart img,
  #dh-cart .product-thumbnail img {
    width: 64px;
    height: 64px;
  }

  /* Footer */
  .elementor-element-e41d157 {
    padding-top: 36px !important;
    padding-bottom: 24px !important;
  }
}

/* Homepage — Book a doctor consultation (form + steps) */
.elementor-element-bc0e401 > .elementor-container {
  align-items: center;
}
.elementor-element-bc0e401 {
  padding-top: clamp(3rem, 2rem + 4vw, 6rem) !important;
  padding-bottom: clamp(2.5rem, 1.5rem + 3vw, 5rem) !important;
}
.elementor-element-319b2db {
  border-radius: var(--wdtRadius_3X, 12px) !important;
}
.wdt-h3-contact-form.dh-home-consult-form {
  display: flex !important;
  flex-direction: column;
  gap: clamp(1.25rem, 1.1rem + 0.5vw, 1.75rem);
}
/* CF7 fieldset sits outside .dh-home-consult-form; index.html omits CF7 styles */
#wpcf7-f1866-p1955-o1 .hidden-fields-container,
form.wpcf7-form[data-dh-wa="consultation request"] > fieldset.hidden-fields-container {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}
form.wpcf7-form[data-dh-wa="consultation request"] > input.flatpickr-input {
  display: none !important;
}
.dh-home-consult-form .hidden-fields-container {
  display: none !important;
}
.dh-home-consult-form .wpcf7-response-output {
  display: none;
}
.dh-consult-form-head {
  grid-column: 1 / -1;
  margin: 0 0 0.25rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(var(--wdtSecondaryColorRgb, 0, 0, 0), 0.08);
}
.dh-consult-form-title {
  margin: 0 0 0.5rem;
  font-family: var(--wdtFontTypo_Alt, Gloock, serif);
  font-size: clamp(1.35rem, 1.15rem + 0.6vw, 1.75rem);
  font-weight: 400;
  line-height: 1.25;
  color: var(--wdtSecondaryColor, #000);
}
.dh-consult-form-lead {
  margin: 0;
  font-size: clamp(0.875rem, 0.84rem + 0.15vw, 1rem);
  line-height: 1.55;
  color: var(--wdtBodyTextColor, #686257);
}
/* Flatpickr sometimes leaves an extra empty-looking field above the grid */
.dh-home-consult-form > input.flatpickr-input,
.dh-home-consult-form > .flatpickr-wrapper {
  display: none !important;
}
.dh-home-consult-form .dh-consult-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 0.85rem + 0.5vw, 1.5rem);
  margin: 0;
}
.dh-home-consult-form .dh-consult-fields > span,
.dh-home-consult-form .dh-consult-fields > .Date-picker {
  min-width: 0;
  display: block;
}
.dh-home-consult-form .dh-consult-message,
.dh-home-consult-form .dh-consult-fields > .dh-consult-message {
  grid-column: 1 / -1;
}
.dh-home-consult-form .Date-picker {
  position: relative;
}
.dh-home-consult-form .Date-picker .wdt-icon-calander {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: 0.65;
}
.dh-home-consult-form .Date-picker input {
  padding-right: 2.5rem;
}
.dh-home-consult-form select.wpcf7-form-control {
  width: 100%;
  border-style: solid;
  border-width: 1px;
  padding: var(--wdtInputPadding, 14px 15px);
  border-radius: var(--wdtRadius_3X, 12px);
  background: rgb(var(--wdtAccentTxtColorRgb, 255 249 244), 0.45);
  font-family: var(--wdtFontTypo_Base, inherit);
}
.dh-home-consult-form .wdt-contactform-btn {
  margin-top: 0.25rem;
}
.dh-home-consult-form .wdt-contactform-btn .with-spinner {
  display: grid;
  width: fit-content;
  max-width: 100%;
  position: relative;
}
.dh-home-consult-form .wdt-contactform-btn input[type="submit"] {
  grid-area: 1 / -1;
  padding: 18px 50px;
  min-width: 220px;
  background-size: 200% auto;
  color: var(--wdtAccentTxtColor, #fff);
  background-image: linear-gradient(
    90deg,
    var(--wdtPrimaryColor),
    var(--mix-color, var(--wdtPrimaryColor)),
    var(--wdtPrimaryColor) 50%,
    var(--wdtPrimaryColor)
  );
}
.elementor-element-e9689eb .wdt-content-media-group:empty {
  display: none !important;
}
.elementor-element-e9689eb .wdt-content-item .wdt-content-title h5 a {
  pointer-events: none;
  cursor: default;
  color: inherit;
}
.elementor-element-e9689eb .wdt-column-wrapper:not(.wdt-snap-scroll-enabled) {
  row-gap: 1.5rem;
}
@media (min-width: 768px) {
  .elementor-element-e9689eb .wdt-column-pagination {
    display: none;
  }
}
@media (max-width: 767px) {
  .dh-home-consult-form .dh-consult-fields {
    grid-template-columns: 1fr;
  }
  .dh-home-consult-form .dh-consult-message {
    grid-column: 1;
  }
  .elementor-element-38208c4 > .elementor-element-populated {
    padding-bottom: 0 !important;
  }
}

/* ===== Site-wide mobile layout (all pages, 390px) ===== */
@media (max-width: 767px) {
  html,
  body,
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-widget-wrap {
    max-width: 100%;
  }

  .elementor-widget {
    max-width: 100% !important;
    --container-widget-width: 100% !important;
  }

  iframe,
  table,
  pre,
  svg,
  .wdt-content-item,
  .wdt-heading-holder {
    max-width: 100%;
  }

  /* Curved decorative type overflows the phone; hide it site-wide */
  .elementor-widget-text-path {
    display: none !important;
  }

  /* Headers stay compact; page sections keep Elementor mobile padding */
  .wdt-header-tpl .elementor-top-section,
  .wdt-header-tpl .elementor-section {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin: 0 !important;
  }
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
  .elementor-column > .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }
  .elementor-section-height-min-height > .elementor-container {
    min-height: 0 !important;
  }
  .wdt-cust-tabs-video-product .elementor-section-height-min-height > .elementor-container {
    min-height: 160px !important;
  }

  h1,
  h1.entry-title,
  .wdt-heading-title {
    font-size: clamp(1.55rem, 7vw, 2.05rem) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }
  h2,
  .wdt-heading-title h2,
  .elementor-heading-title {
    font-size: clamp(1.35rem, 6vw, 1.75rem) !important;
    line-height: 1.25 !important;
  }
  .wdt-heading-subtitle,
  .elementor-widget-text-editor {
    overflow-wrap: anywhere;
  }

  input,
  select,
  textarea,
  button,
  .wdt-button,
  .wpcf7-form-control {
    max-width: 100%;
  }
  .wdt-button-holder .wdt-button {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Homepage hero — stop the negative pull under the header */
  .elementor-element-8eaeaa0 {
    margin-top: 0 !important;
    padding: 12px 0 8px !important;
  }

  /* Hair+ salmon banner: fill the phone, keep AM/PM slider intact */
  .elementor-element-00955c1 {
    padding: 12px !important;
  }
  .elementor-element-00955c1 > .elementor-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100%;
  }
  .elementor-element-74e1c47,
  .elementor-element-49c7f9e {
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-element-27c567a > .elementor-element-populated {
    padding: 16px 14px 12px !important;
  }
  .elementor-element-a0757f0.elementor-widget-wdt-before-after-slider,
  .elementor-element-a0757f0 .wdt-before-after-slider-container {
    max-width: min(280px, 100%) !important;
  }

  /* Shop mosaic tiles were 454px tall in a 175px column */
  .elementor-element-e5a9b54 .elementor-element-ad4fedc,
  .elementor-element-e5a9b54 .elementor-element-c5d947b,
  .elementor-element-e5a9b54 .elementor-element-507d51f,
  .elementor-element-e5a9b54 .elementor-element-c877391 {
    padding: 12px 8px !important;
  }
  .elementor-element-e5a9b54 img {
    max-height: 150px !important;
    width: 100%;
    object-fit: cover;
  }

  /* Plans image/video already revealed; make them full-bleed in the column */
  .wdt-cust-tabs-video-product .wdt-cust-video-product-img img {
    width: 100% !important;
    max-height: 220px;
  }

  /* Inner header (shop/about/faq/contact/product) */
  .elementor-3095 .elementor-element-ab38a00 {
    padding: 8px 12px !important;
  }
  .elementor-3095 .elementor-element-e243158 .wdt-button-holder .wdt-button {
    margin: 0 !important;
  }

  /* Homepage footer + product-page footer CTA */
  .elementor-element-e41d157,
  .elementor-element-c8797fd {
    padding: 32px 16px 20px !important;
  }
  .elementor-element-9f76bab > .elementor-element-populated {
    padding: 0 0 8px !important;
  }

  /* About Us — desktop overlap photo (80px / -180px) */
  .elementor-1965 .elementor-element-f20323e > .elementor-element-populated,
  .elementor-1965 .elementor-element-4d2ae6a > .elementor-widget-container,
  .elementor-1965 .elementor-element-9cd9508 > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 0 16px !important;
  }
  .elementor-1965 .elementor-element-f6565bc > .elementor-container,
  .elementor-element-66c5ebd > .elementor-container {
    min-height: 0 !important;
  }
  .elementor-1965 img {
    max-height: 280px;
    width: 100%;
    object-fit: cover;
  }

  /* Product template */
  .elementor-955 .elementor-element-2a8c9e9,
  .elementor-955 .elementor-element-523c20a {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .elementor-955 .elementor-element-d48864a > .elementor-element-populated,
  .elementor-955 .elementor-element-a4a6704 > .elementor-element-populated {
    padding: 0 !important;
  }

  /* FAQ / contact / policy pages */
  .elementor-454 .elementor-element-abb651f .wdt-heading-holder .wdt-heading-content-wrapper,
  .elementor-454 .wdt-heading-content-wrapper {
    padding: 0 !important;
  }
  .wpcf7-form {
    max-width: 100%;
  }
  .wpcf7-form p,
  .wpcf7-form label,
  .wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
  }

  /* Content images site-wide */
  .elementor-widget-image img,
  .wdt-content-image img {
    max-width: 100% !important;
    height: auto;
  }

  /* Hair Reviver copy column: center icon+title+arrows, hide Play A Video */
  .elementor-element-cde121d {
    display: none !important;
  }
  .elementor-element-dd3fbdf,
  .elementor-element-dd3fbdf .wdt-content-item,
  .elementor-element-dd3fbdf .wdt-content-detail-group,
  .elementor-element-dd3fbdf .wdt-content-title,
  .elementor-element-dd3fbdf .wdt-content-title h5 {
    text-align: center;
    justify-content: center;
    justify-items: center;
  }
  .elementor-element-dd3fbdf .wdt-column {
    width: 100% !important;
    min-width: 100%;
    flex: 0 0 100%;
  }
  .elementor-element-dd3fbdf .wdt-content-item,
  .elementor-element-dd3fbdf .wdt-content-detail-group {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .elementor-element-dd3fbdf .wdt-rc-template-ico-title-aside .wdt-content-elements-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: auto;
    margin-inline: auto;
  }
  .elementor-element-dd3fbdf .wdt-column-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 12px;
  }
  .elementor-element-aa73854 > .elementor-container,
  .elementor-element-46f5f66 > .elementor-element-populated {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .elementor-element-63fa6d1 {
    width: auto !important;
    max-width: 100% !important;
    margin-inline: auto;
  }
}
