/* ==================================================
   Homepage Categories - Derma4U
   ================================================== */

body.home main section.homepage-categories {
    padding: 40px 0 0 0 !important;
    background: #fff !important;
}

body.home main section.homepage-categories > .container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 48px !important;
}

body.home main .homepage-section-heading {
    margin-bottom: 46px !important;
}

body.home main .homepage-section-heading h2 {
    font-size: clamp(38px, 4.4vw, 64px) !important;
    line-height: 1.03 !important;
    margin: 0 0 18px !important;
    color: #111827 !important;
}

body.home main .homepage-section-heading p {
    font-size: 21px !important;
    line-height: 1.5 !important;
    color: #5b6b82 !important;
    margin: 0 !important;
}

body.home main .homepage-category-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 24px !important;
}

body.home main a.homepage-category-card {
    display: flex !important;
    flex-direction: column !important;
    background: #faf7f4 !important;
    border: 1px solid #efe7e1 !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    color: #111827 !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

body.home main a.homepage-category-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 22px 46px rgba(17,24,39,.10) !important;
    border-color: #117C8B !important;
}

body.home main .homepage-category-image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f3f4f6 !important;
}

body.home main .homepage-category-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform .4s ease !important;
}

body.home main a.homepage-category-card:hover .homepage-category-image img {
    transform: scale(1.08) !important;
}

body.home main .homepage-category-content {
    padding: 32px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

body.home main .homepage-category-content h3 {
    font-size: 25px !important;
    line-height: 1.12 !important;
    margin: 0 0 14px !important;
    color: #111827 !important;
}

body.home main .homepage-category-content p {
    font-size: 16px !important;
    line-height: 1.48 !important;
    color: #5b6b82 !important;
    margin: 0 0 28px !important;
}

body.home main .homepage-category-content span {
    margin-top: auto !important;
    font-weight: 800 !important;
    color: #117C8B !important;
}

body.home main .homepage-category-content i {
    margin-left: 7px !important;
    transition: transform .25s ease !important;
}

body.home main a.homepage-category-card:hover .homepage-category-content i {
    transform: translateX(5px) !important;
}

@media (max-width: 1100px) {
    body.home main .homepage-category-grid {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width: 600px) {
    body.home main section.homepage-categories {
        padding: 60px 0 !important;
    }

    body.home main section.homepage-categories > .container {
        padding: 0 22px !important;
    }

    body.home main .homepage-category-grid {
        grid-template-columns: 1fr !important;
    }

    body.home main .homepage-category-content {
        padding: 26px !important;
    }
}

/* ==================================================
   HOMEPAGE CATEGORY CARD TEXT ALIGNMENT
   Five-Column Desktop Layout
================================================== */

@media (min-width: 1101px) {
  body.home main .homepage-category-content {
    padding: 28px 24px 26px !important;
  }

  body.home main .homepage-category-content h3 {
    font-size: 22px !important;
    line-height: 1.15 !important;
    margin-bottom: 14px !important;
  }

  body.home main .homepage-category-content p {
    min-height: 96px !important;
    margin: 0 0 18px !important;
  }

  body.home main .homepage-category-content span {
    margin-top: 0 !important;
  }
}


/* Homepage Editorial Feature - Derma4U */

body.home main section.homepage-editorial {
  padding: 40px 0 90px !important;
  background: #fff !important;
}

body.home main section.homepage-editorial > .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

body.home main .homepage-editorial-panel {
  display: grid !important;
  grid-template-columns: 1.35fr 0.9fr !important;
  gap: 80px !important;
  align-items: center !important;
  padding: 64px !important;
  border-radius: 32px !important;
  background: #f3dce2 !important;
  overflow: hidden !important;
}

body.home main .homepage-editorial-kicker {
  display: inline-block !important;
  margin-bottom: 18px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #0f5f61 !important;
}

body.home main .homepage-editorial-content h2 {
  max-width: 760px !important;
  margin: 0 0 20px !important;
  font-size: clamp(34px, 4vw, 62px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
  color: #12383a !important;
}

body.home main .homepage-editorial-content p {
  max-width: 620px !important;
  margin: 0 0 30px !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: rgba(18, 56, 58, 0.78) !important;
}

body.home main .homepage-editorial-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 30px !important;
  border-radius: 999px !important;
  background: #0f5f61 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all .3s ease !important;
}

body.home main .homepage-editorial-button:hover {
  background: #0b4c4e !important;
  transform: translateY(-2px) !important;
}

body.home main .homepage-editorial-button i {
  transition: transform .3s ease !important;
}

body.home main .homepage-editorial-button:hover i {
  transform: translateX(5px) !important;
}

/* Image */

body.home main .homepage-editorial-image {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

body.home main .homepage-editorial-image img {
  width: 100% !important;
  max-width: 560px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 24px 36px rgba(0,0,0,.16)) !important;
  transition: transform .45s ease !important;
}

body.home main .homepage-editorial-panel:hover .homepage-editorial-image img {
  transform: translateY(-6px) scale(1.02) !important;
}

/* Responsive */

@media (max-width: 900px) {

  body.home main section.homepage-editorial > .container {
    padding: 0 24px !important;
  }

  body.home main .homepage-editorial-panel {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    padding: 42px 30px !important;
    text-align: center !important;
  }

  body.home main .homepage-editorial-content p {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home main .homepage-editorial-button {
    justify-content: center !important;
  }

  body.home main .homepage-editorial-image {
    order: -1;
  }

  body.home main .homepage-editorial-image img {
    max-width: 360px !important;
  }

}

/* ==========================================
   DERMA4U HEADER / MEGA MENU REFINEMENT
========================================== */

@media (min-width: 769px) {
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
	  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease !important;
	}

	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
	  background-color: #f3dce2 !important;
	  color: #12383a !important;
	}

	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link,
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
	  box-shadow: inset 0 -4px 0 0 rgba(0, 0, 0, 0.15) !important;
	}
}
/* Header utility buttons */
header.shop .search button,
header.shop .search-mobile button,
header.shop .basket button,
header.shop .account button {
  background-color: #f3dce2 !important;
  color: #12383a !important;
  border-radius: 8px !important;
}

header.shop .search button:hover,
header.shop .search-mobile button:hover,
header.shop .basket button:hover,
header.shop .account button:hover {
  background-color: #0f5f61 !important;
  color: #fff !important;
}

@media (min-width: 769px) {
	/* Mega menu dropdown */
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
	  border-top: 4px solid #f3dce2 !important;
	  border-bottom: 3px solid #0f5f61 !important;
	  border-radius: 0 0 18px 18px !important;
	  box-shadow: 0 18px 45px rgba(18, 56, 58, 0.16) !important;
	}
}
@media (max-width: 768px) {
	/* Mega menu dropdown */
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, 
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, 
	header.shop nav #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
		box-shadow: inset 10px 0 0 0 #edd0d9 !important;
	}
}

/* Homepage Trusted Brands - Derma4U */

body.home main section.homepage-brands {
  padding: 90px 0 !important;
  background: #f3f8f8 !important;
}

body.home main section.homepage-brands > .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

body.home main .homepage-brands .homepage-section-heading {
  max-width: 760px !important;
  margin-bottom: 42px !important;
}

body.home main .homepage-brand-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

body.home main .homepage-brand-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 1 / 1 !important;
  padding: 24px !important;
  border: 1px solid rgba(15, 95, 97, 0.10) !important;
  border-radius: 24px !important;
  background: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(18, 56, 58, 0.045) !important;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease !important;
}

body.home main .homepage-brand-card:hover {
  transform: translateY(-6px) !important;
  border-color: #0f5f61 !important;
  box-shadow: 0 18px 40px rgba(18, 56, 58, 0.12) !important;
}

body.home main .homepage-brand-card img {
  width: 100% !important;
  max-width: 170px !important;
  max-height: 120px !important;
  object-fit: contain !important;
  transition: transform 0.28s ease !important;
}

body.home main .homepage-brand-card:hover img {
  transform: scale(1.06) !important;
}

body.home main .homepage-brand-card-all {
  flex-direction: column !important;
  gap: 10px !important;
  background: #edd0d9 !important;
  color: #12383a !important;
  text-align: center !important;
}

body.home main .homepage-brand-card-all span {
  font-size: 42px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  color: #0f5f61 !important;
}

body.home main .homepage-brand-card-all strong {
  font-size: 17px !important;
  line-height: 1.3 !important;
  color: #12383a !important;
}

body.home main .homepage-brand-card-all i {
  margin-top: 8px !important;
  font-size: 20px !important;
  color: #0f5f61 !important;
  transition: transform 0.28s ease !important;
}

body.home main .homepage-brand-card-all:hover i {
  transform: translateX(5px) !important;
}

@media (max-width: 1100px) {
  body.home main .homepage-brand-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.home main section.homepage-brands {
    padding: 70px 0 !important;
  }

  body.home main section.homepage-brands > .container {
    padding: 0 24px !important;
  }

  body.home main .homepage-brand-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.home main .homepage-brand-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  body.home main .homepage-brand-card img {
    max-width: 140px !important;
    max-height: 95px !important;
  }
}

/* Homepage Benefits - Derma4U */

body.home main section.homepage-benefits {
  padding: 90px 0 !important;
  background: #ffffff !important;
}

body.home main section.homepage-benefits > .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

body.home main .homepage-benefits .homepage-section-heading {
  max-width: 620px !important;
}

body.home main .homepage-benefits-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin-top: 48px !important;
}

body.home main .homepage-benefit {
  padding: 42px 34px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(15,95,97,.08) !important;
  box-shadow: 0 10px 28px rgba(18,56,58,.05) !important;
  transition: all .3s ease !important;
}

body.home main .homepage-benefit:hover {
  transform: translateY(-8px) !important;
  border-color: #edd0d9 !important;
  box-shadow:
    0 20px 40px rgba(18,56,58,.10),
    0 0 0 6px rgba(237,208,217,.18) !important;
}

body.home main .homepage-benefit i {
  display: block !important;
  margin-bottom: 28px !important;
  color: #0f5f61 !important;
  font-size: 46px !important;
  line-height: 1 !important;
}

body.home main .homepage-benefit h3 {
  margin-bottom: 16px !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  color: #12383a !important;
}

body.home main .homepage-benefit p {
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: rgba(18,56,58,.82) !important;
}

@media (max-width:1100px) {
  body.home main .homepage-benefits-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width:700px) {
  body.home main section.homepage-benefits {
    padding: 70px 0 !important;
  }

  body.home main section.homepage-benefits > .container {
    padding: 0 24px !important;
  }

  body.home main .homepage-benefits-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.home main .homepage-benefit {
    padding: 34px 28px !important;
  }

  body.home main .homepage-benefit i {
    font-size: 40px !important;
    margin-bottom: 22px !important;
  }
}

/* Homepage Clinic Needs - Derma4U */

body.home main section.homepage-clinic-needs {
  padding: 90px 0 !important;
  background: #f7f3ee !important;
}

body.home main section.homepage-clinic-needs > .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

body.home main .homepage-clinic-needs .homepage-section-heading {
  max-width: 760px !important;
}

body.home main .homepage-needs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 48px !important;
}

body.home main .homepage-need-card {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 450px !important;
  border-radius: 28px !important;
  background: #fff !important;
  color: #12383a !important;
  text-decoration: none !important;
  border: 1px solid rgba(15,95,97,.08) !important;
  box-shadow: 0 10px 28px rgba(18,56,58,.05) !important;
  transition: all .3s ease !important;
}

body.home main .homepage-need-card:hover {
  transform: translateY(-8px) !important;
  border-color: #0f5f61 !important;
  box-shadow: 0 22px 50px rgba(18,56,58,.14) !important;
  text-decoration: none !important;
}

body.home main .homepage-need-image {
  aspect-ratio: 16 / 11 !important;
  overflow: hidden !important;
  background: #f7f3ee !important;
}

body.home main .homepage-need-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .45s ease !important;
}

body.home main .homepage-need-card:hover .homepage-need-image img {
  transform: scale(1.06) !important;
}

body.home main .homepage-need-content {
  padding: 32px !important;
}

body.home main .homepage-need-content h3 {
  margin: 0 0 12px !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  color: #12383a !important;
}

body.home main .homepage-need-content p {
  margin: 0 0 24px !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: rgba(18,56,58,.75) !important;
}

body.home main .homepage-need-content span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0f5f61 !important;
}

body.home main .homepage-need-content span i {
  transition: transform .3s ease !important;
}

body.home main .homepage-need-card:hover .homepage-need-content span i {
  transform: translateX(5px) !important;
}

body.home main .homepage-need-card-all {
  justify-content: center !important;
  background: #0f5f61 !important;
}

body.home main .homepage-need-card-all h3,
body.home main .homepage-need-card-all p,
body.home main .homepage-need-card-all span {
  color: #fff !important;
}

@media (max-width: 1000px) {
  body.home main .homepage-needs-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 700px) {
  body.home main section.homepage-clinic-needs {
    padding: 70px 0 !important;
  }

  body.home main section.homepage-clinic-needs > .container {
    padding: 0 24px !important;
  }

  body.home main .homepage-needs-grid {
    grid-template-columns: 1fr !important;
  }

  body.home main .homepage-need-card {
    min-height: auto !important;
  }
}

/* Homepage Supply Partner - Derma4U */

body.home main section.homepage-supply-partner {
  padding: 100px 0 !important;
  background: #edd0d9 !important;
}

body.home main section.homepage-supply-partner > .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

body.home main .homepage-supply-panel {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 90px !important;
  align-items: center !important;
}

body.home main .homepage-supply-image {
  border-radius: 36px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(18,56,58,.12) !important;
}

body.home main .homepage-supply-image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 5 / 4 !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.home main .homepage-supply-kicker {
  display: inline-block !important;
  margin-bottom: 18px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.55) !important;
  color: #0f5f61 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.home main .homepage-supply-content h2 {
  margin: 0 0 24px !important;
  font-size: clamp(42px,4vw,58px) !important;
  line-height: 1.05 !important;
  color: #09142a !important;
}

body.home main .homepage-supply-content p {
  margin: 0 0 34px !important;
  font-size: 19px !important;
  line-height: 1.8 !important;
  color: rgba(18,56,58,.82) !important;
}

body.home main .homepage-supply-content ul {
  list-style: none !important;
  margin: 0 0 42px !important;
  padding: 0 !important;
}

body.home main .homepage-supply-content li {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #12383a !important;
}

body.home main .homepage-supply-content li i {
  color: #0f5f61 !important;
  font-size: 20px !important;
}

body.home main .homepage-supply-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 18px 38px !important;
  border-radius: 999px !important;
  background: #0f5f61 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  transition: all .3s ease !important;
  box-shadow: 0 14px 35px rgba(15,95,97,.18) !important;
}

body.home main .homepage-supply-button:hover {
  transform: translateY(-4px) !important;
  background: #12383a !important;
  box-shadow: 0 20px 45px rgba(18,56,58,.22) !important;
}

body.home main .homepage-supply-button i {
  transition: transform .3s ease !important;
}

body.home main .homepage-supply-button:hover i {
  transform: translateX(5px) !important;
}

@media (max-width:1100px) {
  body.home main .homepage-supply-panel {
    grid-template-columns: 1fr !important;
    gap: 50px !important;
  }

  body.home main .homepage-supply-content {
    order: 2 !important;
  }

  body.home main .homepage-supply-image {
    order: 1 !important;
  }
}

@media (max-width:700px) {
  body.home main section.homepage-supply-partner {
    padding: 80px 0 !important;
  }

  body.home main section.homepage-supply-partner > .container {
    padding: 0 24px !important;
  }

  body.home main .homepage-supply-content h2 {
    font-size: 38px !important;
  }

  body.home main .homepage-supply-content p {
    font-size: 17px !important;
  }

  body.home main .homepage-supply-button {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ==================================================
   Homepage Trustpilot Reviews
================================================== */

.homepage-reviews{
    background:#faf5ef;
    padding:80px 0 50px;
}

.homepage-reviews .container{
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;
}

.homepage-reviews-header{
    max-width:820px;
    margin:0 auto 42px;
    text-align:center;
}

.homepage-reviews-logo{
    width:250px;
    height:auto;
    display:block;
    margin:0 auto 20px;
}

.homepage-reviews-stars{
    width:185px;
    height:auto;
    display:block;
    margin:0 auto 28px;
}

.homepage-reviews h2{
    color:#09142a;
    font-size:50px;
    line-height:1.05;
    font-weight:800;
    letter-spacing:-0.04em;
    margin:0 0 18px;
}

.homepage-reviews-rating{
    color:#5f6f82;
    font-size:19px;
    line-height:1.6;
    margin:0;
}

.homepage-reviews-rating strong{
    color:#09142a;
}

.homepage-reviews-carousel{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.homepage-review-card{
    min-height:280px;
    display:flex;
    flex-direction:column;

    background:#fff;
    border:1px solid rgba(15,95,97,.08);
    border-radius:36px;
    padding:30px;
    box-shadow:0 14px 34px rgba(17,24,39,.05);
}

.homepage-review-card img{
    width:130px;
    height:auto;
    display:block;
    margin:0 0 24px;
}

.homepage-review-card h3{
    color:#09142a;
    font-size:21px;
    line-height:1.22;
    font-weight:800;
    margin:0 0 18px;
}

.homepage-review-card p{
    color:#5f6f82;
    font-size:17px;
    line-height:1.6;
    margin:0 0 28px;
}

.homepage-review-card span{
    display:block;
}

.homepage-review-card span:first-of-type{
    margin-top:auto;
    color:#09142a;
    font-size:16px;
    font-weight:800;
}

.homepage-review-card span:last-of-type{
    margin-top:6px;
    color:#5f6f82;
    font-size:14px;
    font-weight:600;
}

.homepage-reviews-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    margin:34px auto 0;
    padding:17px 34px;
    border-radius:999px;
    background:#0f7f88;
    color:#fff;
    font-weight:800;
    text-decoration:none;
    transition:all .25s ease;
}

.homepage-reviews-link:hover{
    background:#0f5f61;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(15,95,97,.18);
}

@media(max-width:1000px){

    .homepage-reviews-carousel{
        grid-template-columns:1fr;
        max-width:680px;
        margin:0 auto;
    }

}

@media(max-width:700px){

    .homepage-reviews{
        padding:80px 0;
    }

    .homepage-reviews .container{
        padding:0 24px;
    }

    .homepage-reviews-logo{
        width:210px;
    }

    .homepage-reviews h2{
        font-size:38px;
    }

    .homepage-review-card{
        min-height:auto;
        padding:32px 28px;
        border-radius:30px;
    }

}

.homepage-reviews{
    padding:70px 0 40px;
}

.homepage-reviews-header{
    margin:0 auto 38px;
}

.homepage-review-card{
    min-height:260px;
    padding:28px 30px;
}

.homepage-reviews-link{
    margin:34px auto 0;
}

/* Homepage reviews carousel */

.homepage-reviews-carousel-wrap{
    position:relative;
    padding:0 64px;
    overflow:hidden;
}

.homepage-reviews-carousel{
    display:flex;
    gap:28px;
    overflow:hidden;
    scroll-behavior:smooth;
}

.homepage-review-card{
    flex:0 0 calc((100% - 56px) / 3);
}

.review-carousel-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;

    width:56px;
    height:56px;
    border:0;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#0f7f88;
    color:#fff;

    cursor:pointer;
    transition:.25s ease;
}

.review-carousel-btn i{
    font-size:20px;
    color:#fff;
    margin:0;
    line-height:1;
}

.review-carousel-prev{
    left:0px;
}

.review-carousel-next{
    right:0px;
}

.review-carousel-btn:hover{
    background:#0f5f61;
}

.homepage-reviews-dots{
    display:none;
}

.homepage-reviews-dots button{
    width:9px;
    height:9px;
    border:0;
    border-radius:50%;
    background:rgba(15,95,97,.25);
    cursor:pointer;
}

.homepage-reviews-dots button.active{
    background:#0f7f88;
}

@media(max-width:1000px){

    .homepage-review-card{
        flex:0 0 100%;
    }

    .homepage-reviews-carousel-wrap{
        padding:0 48px;
    }

    .review-carousel-prev{
        left:0;
    }

    .review-carousel-next{
        right:0;
    }

}

.homepage-review-card{
    transition:transform .3s ease, box-shadow .3s ease;
}

.homepage-review-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(18,56,58,.10);
}

/* ==================================================
   TRUSTPILOT CAROUSEL WIDTH FIX
   Two Desktop Cards and One Mobile Card
================================================== */

/* Two complete cards on desktop */
.homepage-review-card {
  box-sizing: border-box !important;
  flex: 0 0 calc((100% - 28px) / 2) !important;
  min-width: 0 !important;
}

/* One complete card on tablet and mobile */
@media (max-width: 1000px) {
  .homepage-review-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ==================================================
   DERMA4U GLOBAL COLOUR OVERRIDES
   Add to custom.css, not generated style.css
   ================================================== */

:root {
  --c-primary: #edd0d9 !important;
  --c-primaryFont: #09142a !important;

  --c-secondary: #0f5f61 !important;
  --c-secondaryFont: #ffffff !important;

  --c-tertiary: #12383a !important;
  --c-tertiaryFont: #ffffff !important;
}

body:not(.home) section.content_section.ng_alternate {
  background: #ffffff !important;
}

body:not(.home) section.content_section.ng_color {
  background: #edd0d9 !important;
}

/* ==================================================
   Derma4U Editorial Landing Pages
   Strong spacing correction
   ================================================== */

/* Overall section rhythm */
body:not(.home) main section.content_section > div {
  max-width: 1320px !important;
  padding: 46px 48px !important;
}

/* Remove inherited big gaps inside full content sections */
body:not(.home) section.full_content_section > div > div {
  margin: 0 0 34px 0 !important;
}

body:not(.home) section.full_content_section > div > div:last-child {
  margin-bottom: 0 !important;
}

/* Snippet/icon sections should not create huge blank blocks */
body:not(.home) section.snippet_section > div {
  max-width: 900px !important;
  padding: 46px 24px !important;
}

body:not(.home) section.snippet_section > div > i {
  margin-bottom: 18px !important;
  padding: 20px !important;
  font-size: 22px !important;
}

body:not(.home) section.snippet_section h2 {
  margin-bottom: 14px !important;
}

/* Image/text sections */
body:not(.home) section.image_text_section > div {
  gap: 52px !important;
  align-items: center !important;
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

body:not(.home) section.image_text_section > div > div {
  padding: 0 !important;
}

/* Box/card sections */
body:not(.home) section.box_grid_section > div,
body:not(.home) section.flexi_grid_section > div,
body:not(.home) section.box_highlight_section > div {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

body:not(.home) section.box_grid_section > div > div > div.box_grid,
body:not(.home) section.flexi_grid_section > div > div.flexi_grid,
body:not(.home) section.box_highlight_section > div > div.box_grid {
  margin-top: 30px !important;
}

/* FAQ / Q&A should feel like readable article content */
body:not(.home) section.q_and_a_section > div {
  max-width: 1000px !important;
  padding-top: 54px !important;
  padding-bottom: 54px !important;
  text-align: left !important;
}

body:not(.home) section.q_and_a_section h2,
body:not(.home) section.q_and_a_section h3,
body:not(.home) section.q_and_a_section p {
  text-align: left !important;
}

/* Typography */
body:not(.home) section.content_section h2 {
  font-size: clamp(34px, 3.5vw, 52px) !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

body:not(.home) section.content_section p {
  font-size: 18px !important;
  line-height: 1.65 !important;
  margin-bottom: 18px !important;
}

/* Blush CTA stays spacious but not massive */
body:not(.home) section.cta_section > div {
  padding: 76px 48px !important;
}

/* Related products closer to CTA */
body:not(.home) section.derma-related-products > div {
  padding-top: 56px !important;
}

/* ==================================================
   Derma4U Landing Pages - remove excessive inner air
   ================================================== */

/* Kill excessive padding inside ACF section wrappers */
body:not(.home) main section.content_section > div {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

/* Snippet/icon sections are creating the big white blocks */
body:not(.home) main section.snippet_section > div {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* Reduce icon/title breathing */
body:not(.home) main section.snippet_section > div > i {
  margin-bottom: 16px !important;
}

/* Pull the next section closer after snippet sections */
body:not(.home) main section.snippet_section + section.content_section > div {
  padding-top: 32px !important;
}

/* Full content sections have their own internal margins */
body:not(.home) main section.full_content_section > div > div {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

/* ==================================================
   Derma4U Landing Pages - tighter final rhythm
   ================================================== */

body:not(.home) main section.content_section > div {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Big text-only sections */
body:not(.home) main section.basic_text_section > div,
body:not(.home) main section.q_and_a_section > div,
body:not(.home) main section.full_content_section > div {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* Icon intro sections */
body:not(.home) main section.snippet_section > div {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Grid sections */
body:not(.home) main section.box_grid_section > div,
body:not(.home) main section.flexi_grid_section > div,
body:not(.home) main section.box_highlight_section > div {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}

/* Remove extra internal card wrapper air */
body:not(.home) main section.box_grid_section > div.grid_layout_boxed > div {
  margin-top: 22px !important;
  margin-bottom: 0 !important;
  padding: 34px !important;
}

/* Reduce huge heading impact slightly */
body:not(.home) main section.content_section h2 {
  font-size: clamp(32px, 3.2vw, 48px) !important;
  margin-bottom: 16px !important;
}

/* Reduce paragraph bottom stacking */
body:not(.home) main section.content_section p {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

/* ==================================================
   Derma4U Landing Trust Strip
================================================== */

body:not(.home) .derma-landing-trust-strip{
    background:#e8c8d2;
    padding:22px 0;
}

body:not(.home) .derma-landing-trust-strip .container{
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;

    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
}

body:not(.home) .derma-landing-trust-strip span,
body:not(.home) .derma-landing-trust-strip .homepage-trustpilot{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    font-size:17px;
    font-weight:700;
    color:#12383a;
    text-decoration:none;
}

body:not(.home) .derma-landing-trust-strip i{
    color:#0f5f61;
    font-size:22px;
    flex-shrink:0;
}

body:not(.home) .derma-landing-trust-strip .homepage-trustpilot:hover{
    color:#0f7f88;
}

body:not(.home) .derma-landing-trust-strip .trustpilot-star{
    width:24px;
    height:24px;
    display:block;
    flex-shrink:0;
}

@media(max-width:900px){

    body:not(.home) .derma-landing-trust-strip .container{
        grid-template-columns:repeat(2,1fr);
        row-gap:18px;
    }

}

@media(max-width:600px){

    body:not(.home) .derma-landing-trust-strip .container{
        grid-template-columns:1fr;
        padding:0 24px;
    }

    body:not(.home) .derma-landing-trust-strip span,
    body:not(.home) .derma-landing-trust-strip .homepage-trustpilot{
        justify-content:flex-start;
    }

}

/* Let landing pages reuse homepage Clinic Needs styles */
body:not(.home) main section.homepage-clinic-needs {
  padding: 90px 0 !important;
  background: #f7f3ee !important;
}

body:not(.home) main section.homepage-clinic-needs > .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}

body:not(.home) main .homepage-clinic-needs .homepage-section-heading {
  max-width: none !important;
}

body:not(.home) main .homepage-needs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 48px !important;
}

body:not(.home) main .homepage-need-card {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 450px !important;
  border-radius: 28px !important;
  background: #fff !important;
  color: #12383a !important;
  text-decoration: none !important;
  border: 1px solid rgba(15,95,97,.08) !important;
  box-shadow: 0 10px 28px rgba(18,56,58,.05) !important;
  transition: all .3s ease !important;
}

body:not(.home) main .homepage-need-image {
  aspect-ratio: 16 / 11 !important;
  overflow: hidden !important;
  background: #f7f3ee !important;
}

body:not(.home) main .homepage-need-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

body:not(.home) main .homepage-need-content {
  padding: 32px !important;
}

body:not(.home) main .homepage-need-content h3 {
  margin: 0 0 12px !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  color: #12383a !important;
}

body:not(.home) main .homepage-need-content p {
  margin: 0 0 24px !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: rgba(18,56,58,.75) !important;
}

body:not(.home) main .homepage-need-content span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0f5f61 !important;
}

body:not(.home) main .homepage-need-card-all {
  justify-content: center !important;
  background: #0f5f61 !important;
}

body:not(.home) main .homepage-need-card-all h3,
body:not(.home) main .homepage-need-card-all p,
body:not(.home) main .homepage-need-card-all span {
  color: #ffffff !important;
}

/* Match landing clinic-needs heading to homepage */
body:not(.home) main section.homepage-clinic-needs .homepage-section-heading h2 {
  margin: 0 0 18px !important;
  font-size: clamp(42px, 4.5vw, 68px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.05em !important;
  color: #09142a !important;
}

body:not(.home) main section.homepage-clinic-needs .homepage-section-heading p {
  max-width: none !important;
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  color: #5b6b82 !important;
}

/* ==================================================
   Derma4U Landing Pages - alignment cleanup
   Keep editorial sections left aligned
   ================================================== */

body:not(.home) main section.content_section > div,
body:not(.home) main section.content_section h2,
body:not(.home) main section.content_section h3,
body:not(.home) main section.content_section p {
  text-align: left !important;
}

/* Keep card/grid contents looking intentional */
body:not(.home) main section.box_grid_section > div,
body:not(.home) main section.flexi_grid_section > div {
  text-align: left !important;
}

/* But allow CTA sections to stay centred */
body:not(.home) main section.cta_section,
body:not(.home) main section.cta_section > div,
body:not(.home) main section.cta_section h2,
body:not(.home) main section.cta_section p {
  text-align: center !important;
}

/* Keep product card internals centred if WooCommerce expects it */
body:not(.home) main section.product_section .product,
body:not(.home) main section.product_section .product *,
body:not(.home) main section.derma-related-products .product,
body:not(.home) main section.derma-related-products .product * {
  text-align: center !important;
}

/* Feature snippet sections - make them intentional */
body:not(.home) main section.snippet_section {
  background: #edd0d9 !important;
}

body:not(.home) main section.snippet_section > div {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 82px 48px !important;
  text-align: center !important;
}

body:not(.home) main section.snippet_section i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 92px !important;
  height: 92px !important;
  margin: 0 auto 28px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.55) !important;
  color: #0f5f61 !important;
  font-size: 28px !important;
}

body:not(.home) main section.snippet_section h2,
body:not(.home) main section.snippet_section p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:not(.home) main section.snippet_section h2 {
  max-width: 900px !important;
  font-size: clamp(42px, 4vw, 58px) !important;
}

body:not(.home) main section.snippet_section p {
  max-width: 920px !important;
}

/* Final landing page H2 scale override */
body:not(.home) main section.content_section:not(.product_section) h2 {
  font-size: clamp(42px, 4vw, 58px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  font-weight: 900 !important;
  margin-bottom: 24px !important;
}

/* Keep homepage section headings on one line on desktop */
@media (min-width: 1200px) {
  body.home main .homepage-section-heading h2 {
    white-space: nowrap !important;
  }
}

@media (max-width: 1199px) {
  body.home main .homepage-section-heading h2 {
    white-space: normal !important;
  }
}

/* Mobile homepage hero tidy */
@media (max-width: 700px) {
  body.home section.hero {
    min-height: auto !important;
    padding: 20px 0 !important;
    background-position: center top !important;
  }


  body.home section.hero h1 {
    max-width: 100% !important;
    font-size: 42px !important;
    line-height: 1.08 !important;
    margin-bottom: 24px !important;
  }

  body.home section.hero p {
    max-width: 100% !important;
    font-size: 21px !important;
    line-height: 1.35 !important;
    margin-bottom: 28px !important;
  }

  body.home section.hero a button {
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 18px 24px !important;
    border-radius: 999px !important;
    font-size: 18px !important;
  }
}

@media (max-width: 700px) {
  body.home section.hero a button {
    padding: 16px 22px !important;
    margin-bottom: 14px !important;
    font-size: 17px !important;
  }

  body.home section.hero h1 {
    font-size: 40px !important;
  }

  body.home section.hero p {
    font-size: 20px !important;
  }
}

/* Mobile trust strip alignment */
@media (max-width: 700px) {
  body.home .homepage-trust .container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 34px !important;
    align-items: center !important;
  }

  body.home .homepage-trust span {
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    line-height: 1.25 !important;
  }

  body.home .homepage-trust span i {
    flex: 0 0 24px !important;
    width: 24px !important;
    text-align: center !important;
  }
}/* Mobile trust strip alignment */
@media (max-width: 700px) {
  body.home .homepage-trust .container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 34px !important;
    align-items: center !important;
  }

  body.home .homepage-trust span {
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    line-height: 1.25 !important;
  }

  body.home .homepage-trust span i {
    flex: 0 0 24px !important;
    width: 24px !important;
    text-align: center !important;
  }
}

/* Hide Shop All category card on desktop */
body.home main .homepage-category-card.homepage-category-card-all {
    display: none !important;
}

/* Mobile only */
@media (max-width: 700px) {

    body.home main .homepage-category-card.homepage-category-card-all {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #f6e6eb !important;
        border: 1px solid rgba(15,127,136,.25) !important;
		box-shadow: 0 14px 34px rgba(17,24,39,.04) !important;
    }

    body.home main .homepage-category-card.homepage-category-card-all .homepage-category-content {
        padding: 38px 28px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    body.home main .homepage-category-card.homepage-category-card-all h3 {
        color: #111827 !important;
        margin-bottom: 18px;
    }

    body.home main .homepage-category-card.homepage-category-card-all p {
        color: #5b6b82 !important;
        margin-bottom: 28px;
    }

    body.home main .homepage-category-card.homepage-category-card-all span {
        color: #0f7f88 !important;
        font-weight: 700;
        font-size: 18px;
    }

    body.home main .homepage-category-card.homepage-category-card-all i {
        margin-left: 8px;
    }
}
/* ==================================================
   WooCommerce Archive Pages
   Shop / Categories / Brands
================================================== */

.woocommerce-shop main,
.tax-product_cat main,
.tax-product_brand main,
.post-type-archive-product main {
  background: #ffffff !important;
}

.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_brand #primary,
.post-type-archive-product #primary {
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.woocommerce-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_brand .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header {
  max-width: 920px !important;
  margin-bottom: 42px !important;
}

.woocommerce-shop .woocommerce-products-header h1,
.tax-product_cat .woocommerce-products-header h1,
.tax-product_brand .woocommerce-products-header h1,
.post-type-archive-product .woocommerce-products-header h1 {
  margin: 0 0 20px !important;
  font-size: clamp(44px, 4.5vw, 68px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  color: #09142a !important;
}

.woocommerce-shop .term-description,
.tax-product_cat .term-description,
.tax-product_brand .term-description,
.post-type-archive-product .page-content {
  margin: 0 0 34px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce-shop .term-description p,
.tax-product_cat .term-description p,
.tax-product_brand .term-description p,
.post-type-archive-product .page-content p {
  max-width: 1000px !important;
  margin: 0 0 26px !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
  color: #5b6b82 !important;
}

.woocommerce .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 34px !important;
}

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 32px 28px !important;
  border: 1px solid rgba(15, 95, 97, .08) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 32px rgba(18,56,58,.06) !important;
  text-align: center !important;
}

.woocommerce ul.products li.product img {
  height: 190px !important;
  width: 100% !important;
  object-fit: contain !important;
  margin-bottom: 28px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 56px !important;
  margin: 0 0 18px !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  color: #09142a !important;
}

.woocommerce ul.products li.product .price {
  display: block !important;
  margin: 0 0 22px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #5b6b82 !important;
}

.woocommerce ul.products li.product .button {
  width: 100% !important;
  border-radius: 999px !important;
  padding: 17px 24px !important;
  background: #0f7f88 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.woocommerce ul.products li.product .button:hover {
  background: #0f5f61 !important;
}

@media (max-width: 1000px) {
  .woocommerce .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {

  .woocommerce .products {
    gap: 22px !important;
  }

  .woocommerce ul.products li.product {
    padding: 24px 18px !important;
    border-radius: 24px !important;
  }
}

.woocommerce-products-header{
    max-width:1400px;
    margin:40px auto 50px;
    padding:60px 70px;
    background:#F7E3EA;
    border-radius:28px;
}

.woocommerce-products-header h1{
    margin:0 0 20px;
}

.woocommerce-products-header .term-description,
.woocommerce-products-header p{
    max-width:780px;
    margin-bottom:32px;
}

body.post-type-archive-product #primary .derma-category-trust i,
body.tax-product_cat #primary .derma-category-trust i,
body.tax-product_brand #primary .derma-category-trust i {
    color: #0B7B79 !important;
}

body.post-type-archive-product #primary .woocommerce-products-header,
body.tax-product_cat #primary .woocommerce-products-header,
body.tax-product_brand #primary .woocommerce-products-header {
  max-width: 1400px !important;
  width: auto !important;
  margin: 30px auto 50px !important;
}

body.post-type-archive-product #primary .woocommerce-products-header,
body.tax-product_cat #primary .woocommerce-products-header,
body.tax-product_brand #primary .woocommerce-products-header {
  border-radius: 36px !important;
  overflow: hidden !important;
}

/* Woo pagination blush active state */
body.post-type-archive-product .woocommerce-pagination ul.page-numbers span.current,
body.tax-product_cat .woocommerce-pagination ul.page-numbers span.current,
body.tax-product_brand .woocommerce-pagination ul.page-numbers span.current {
  background: #efd3dd !important;
  border-color: #efd3dd !important;
  color: #09142a !important;
}

/* Product card polish: hover, sale styling, images and prices */

.woocommerce ul.products li.product {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 45px rgba(18,56,58,.09) !important;
  border-color: rgba(15,95,97,.16) !important;
}

.woocommerce ul.products li.product img {
  transition: transform .35s ease !important;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.045) !important;
}

/* Archive buttons */
.woocommerce ul.products li.product .button {
  padding: 15px 22px !important;
  min-height: 58px !important;
  font-size: 15px !important;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.woocommerce ul.products li.product .button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 26px rgba(15,95,97,.18) !important;
}

/* Sale products */
.woocommerce ul.products li.product.sale {
  border-color: #efd3dd !important;
  box-shadow: 0 12px 32px rgba(239,211,221,.22) !important;
}

/* Sale product buttons */
body.post-type-archive-product main ul.products li.product.sale a.button,
body.tax-product_cat main ul.products li.product.sale a.button,
body.tax-product_brand main ul.products li.product.sale a.button {
  background: #efd3dd !important;
  color: #09142a !important;
  border: 1px solid #e3b7c7 !important;
  box-shadow: 0 10px 24px rgba(239,211,221,.32) !important;
}

body.post-type-archive-product main ul.products li.product.sale a.button:hover,
body.tax-product_cat main ul.products li.product.sale a.button:hover,
body.tax-product_brand main ul.products li.product.sale a.button:hover {
  background: #e7c3d0 !important;
  color: #09142a !important;
}

/* Sale price styling */
.woocommerce ul.products li.product .price del {
  color: rgba(61,79,89,.5) !important;
  font-weight: 700 !important;
}

.woocommerce ul.products li.product .price ins {
  color: #09142a !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  margin-left: 6px !important;
}

/* Fix related products on single product pages */
body.single-product section.related.products {
  display: block !important;
  max-width: 900px !important;
  margin: 80px auto 0 !important;
  padding: 70px 48px 0 !important;
  border-top: 1px solid rgba(17,24,39,.10) !important;
}

body.single-product section.related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
}

body.single-product section.related.products ul.products li.product {
  width: auto !important;
  margin: 0 !important;
}

/* ==================================================
   Single Product Polish
   Tabs and Trust Box
================================================== */

/* Inactive tab blush */
body.single-product .woocommerce-tabs ul.tabs li:not(.active) a {
  background: #efd3dd !important;
  color: #09142a !important;
  border-radius: 999px !important;
}

/* Active tab keeps teal */
body.single-product .woocommerce-tabs ul.tabs li.active a {
  background: #0f7f88 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
}

/* Product trust box blush */
body.single-product .single-product-trust,
body.single-product .product-trust,
body.single-product .derma-product-trust,
body.single-product .summary .derma-category-trust {
  background: #efd3dd !important;
  border: 1px solid rgba(15, 28, 63, .08) !important;
  border-radius: 24px !important;
  padding: 22px 24px !important;
  box-shadow: 0 12px 30px rgba(239,211,221,.25) !important;
}

/* Trust items inside product trust box */
body.single-product .single-product-trust span,
body.single-product .product-trust span,
body.single-product .derma-product-trust span,
body.single-product .summary .derma-category-trust span {
  background: #ffffff !important;
  color: #12383a !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
}

/* Trust icons */
body.single-product .single-product-trust i,
body.single-product .product-trust i,
body.single-product .derma-product-trust i,
body.single-product .summary .derma-category-trust i {
  color: #0b7b79 !important;
}

/* Single product inactive tab blush */
body.single-product .woocommerce-tabs ul.tabs li:not(.active) a,
body.single-product .woocommerce-tabs ul.tabs li.additional_information_tab:not(.active) a,
body.single-product .woocommerce-tabs ul.tabs li.description_tab:not(.active) a {
  background: #efd3dd !important;
  color: #09142a !important;
  border-radius: 999px !important;
}

/* Single product active tab */
body.single-product .woocommerce-tabs ul.tabs li.active a {
  background: #0f7f88 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
}

body.single-product section.related.products ul.products li.product.sale a.button {
  background: #efd3dd !important;
  color: #09142a !important;
  border: 1px solid #e3b7c7 !important;
}

body.single-product section.related.products ul.products li.product.sale a.button:hover {
  background: #e7c3d0 !important;
  color: #09142a !important;
}

box-shadow: 0 8px 18px rgba(239,211,221,.35);
border: 1px solid #e3b7c7;

.derma-single-saving-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    width: fit-content !important;
    margin: 8px 0 22px !important;
    padding: 10px 18px !important;

    background: #efd3dd !important;
    border: 1px solid #e7c2cf !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 18px rgba(239,211,221,.35) !important;

    color: #09142a !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.derma-single-saving-pill .woocommerce-Price-amount {
    color: #b23b63 !important;
    font-weight: 900 !important;
}

.derma-single-saving-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: fit-content !important;
  margin: 8px 0 22px !important;
  padding: 8px 18px !important;
  background: #efd3dd !important;
  border: 1px solid #e7c2cf !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(239,211,221,.35) !important;
  color: #09142a !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.derma-single-saving-pill .woocommerce-Price-amount {
  color: #b23b63 !important;
  font-weight: 900 !important;
}

/* ==================================================
   DERMA4U Basket Polish
================================================== */

/* Basket layout spacing */
body.woocommerce-cart main.site-main,
body.woocommerce-cart #main {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 70px 48px !important;
}

/* Basket product rows as cards */
body.woocommerce-cart .woocommerce-cart-form .cart_item {
  background: #ffffff !important;
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 38px rgba(18,56,58,.06) !important;
  overflow: hidden !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

body.woocommerce-cart .woocommerce-cart-form .cart_item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 45px rgba(18,56,58,.09) !important;
}

/* Product image tile */
body.woocommerce-cart .cart_item .product-thumbnail img {
  background: #f7f3ee !important;
  border-radius: 20px !important;
  padding: 14px !important;
  max-width: 130px !important;
}

/* Product title */
body.woocommerce-cart .cart_item .product-name a {
  color: #09142a !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .cart_item .product-name a:hover {
  color: #0f7f88 !important;
}

/* Description softer */
body.woocommerce-cart .cart_item .product-name p,
body.woocommerce-cart .cart_item .product-name .variation {
  color: #5f6f82 !important;
  line-height: 1.5 !important;
  max-width: 520px !important;
}

/* Price and totals */
body.woocommerce-cart .cart_item .product-price,
body.woocommerce-cart .cart_item .product-subtotal {
  color: #09142a !important;
  font-weight: 800 !important;
}

/* Sale saving pill in basket */
body.woocommerce-cart .cart_item .derma-cart-saving,
body.woocommerce-cart .cart_item .save,
body.woocommerce-cart .cart_item .saving {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  margin-top: 8px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: #efd3dd !important;
  color: #09142a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* ==================================================
   DERMA4U Basket Polish
================================================== */

/* Basket page spacing */
body.woocommerce-cart main,
body.woocommerce-cart #main {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 70px 48px !important;
}

/* Safer Woo block basket product polish */
body.woocommerce-cart .wc-block-cart-items__row {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(17,24,39,.10) !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
  background: #fdf3f6 !important;
  border: 1px solid #f3d9e3 !important;
  border-radius: 18px !important;
  padding: 12px !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
  color: #09142a !important;
  font-weight: 900 !important;
}

body.woocommerce-cart .wc-block-cart-item__description {
  color: #5f6f82 !important;
  line-height: 1.5 !important;
  max-width: 520px !important;
}

/* Quantity selector */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(17,24,39,.14) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: #fff !important;
}

/* Remove button */
body.woocommerce-cart a.remove,
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: #09142a !important;
  background: transparent !important;
  border-radius: 999px !important;
  transition: background .2s ease, transform .2s ease !important;
}

body.woocommerce-cart a.remove:hover,
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  background: #efd3dd !important;
  color: #09142a !important;
  transform: scale(1.08) !important;
}

/* Centre WooCommerce basket remove button */
body.woocommerce-cart button.wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;

    margin: 0 0 0 12px !important;
    padding: 0 !important;

    border: none !important;
    border-radius: 999px !important;
    line-height: 1 !important;
}

/* Centre and reset the bin SVG */
body.woocommerce-cart button.wc-block-cart-item__remove-link svg {
    position: static !important;
    display: block !important;

    width: 24px !important;
    height: 24px !important;

    margin: 0 !important;
    transform: none !important;
}

/* Basket totals card */
body.woocommerce-cart .wc-block-components-sidebar {
  background: #ffffff !important;
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 38px rgba(18,56,58,.08) !important;
  padding: 28px !important;
  overflow: hidden !important;
}

/* Basket totals title */
body.woocommerce-cart .wc-block-cart__totals-title {
  background: #efd3dd !important;
  color: #09142a !important;
  margin: -28px -28px 24px !important;
  padding: 24px 28px !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  border-radius: 28px 28px 0 0 !important;
}

/* Coupon area blush */
body.woocommerce-cart .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-components-panel__button {
  background: #fdf3f6 !important;
  border: 1px solid #f3d9e3 !important;
  border-radius: 18px !important;
}

/* Total row */
body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-footer-item span {
  color: #09142a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

/* Checkout button */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: #0f7f88 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  min-height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 26px rgba(15,95,97,.18) !important;
}

/* Payment logos spacing */
body.woocommerce-cart .wc-block-components-sidebar img,
body.woocommerce-cart .cart_totals img {
  margin-top: 12px !important;
}

/* Mobile basket */
@media (max-width: 768px) {
  body.woocommerce-cart main,
  body.woocommerce-cart #main {
    padding: 36px 20px !important;
  }

  body.woocommerce-cart .wc-block-components-sidebar {
    margin-top: 32px !important;
  }
}

/* Basket product row soft card effect */
body.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 0 !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(18,56,58,.055) !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
  padding: 24px 18px !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
  padding: 24px 18px !important;
}

/* Blush saving pill in basket */
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-badge {
  background: #efd3dd !important;
  color: #09142a !important;
  border: 1px solid #e3b7c7 !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Better product title/price hierarchy */
body.woocommerce-cart .wc-block-components-product-name {
  color: #09142a !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-price {
  margin: 8px 0 12px !important;
  font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-product-metadata {
  color: #5f6f82 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Basket sidebar reassurance */
body.woocommerce-cart .wc-block-components-sidebar::after {
  content: "Secure checkout · Fast UK delivery · Authentic products";
  display: block;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(17,24,39,.10);
  color: #12383a;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

/* Hide basket table headers */
body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart-items__header th {
  display: none !important;
}

/* Pull basket items up after removing headers */
body.woocommerce-cart .wc-block-cart-items {
  margin-top: 0 !important;
}

/* Basket coupon refinement */
body.woocommerce-cart .wc-block-components-panel__button {
  padding: 16px 18px !important;
  min-height: 54px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #09142a !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input input {
  border: 2px solid #0f7f88 !important;
  border-radius: 14px !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button {
  background: #0f7f88 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  min-height: 54px !important;
  padding: 0 28px !important;
  font-weight: 900 !important;
}

/* Product rows more pill/card-like */
body.woocommerce-cart .wc-block-cart-items__row {
  border-radius: 28px !important;
  margin-bottom: 24px !important;
  padding: 26px 18px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(18,56,58,.045) !important;
}

/* Product content scale-up */
body.woocommerce-cart .wc-block-components-product-name {
  font-size: 24px !important;
  line-height: 1.2 !important;
}

body.woocommerce-cart .wc-block-cart-item__description,
body.woocommerce-cart .wc-block-components-product-metadata {
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
}

/* Quantity bigger */
body.woocommerce-cart .wc-block-components-quantity-selector {
  min-height: 40px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
  font-size: 16px !important;
  font-weight: 900 !important;
}

/* Bin icon bigger and cleaner */
body.woocommerce-cart .wc-block-cart-item__remove-link {
  font-size: 18px !important;
  padding: 8px !important;
}

/* Product total stronger */
body.woocommerce-cart .wc-block-cart-item__total {
  font-size: 16px !important;
  font-weight: 900 !important;
}

/* Blush saving pill stronger */
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-badge {
  padding: 8px 15px !important;
  font-size: 14px !important;
}

/* Coupon input focus */
body.woocommerce-cart .wc-block-components-text-input input:focus,
body.woocommerce-cart .wc-block-components-text-input input:focus-visible,
body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus,
body.woocommerce-cart .wc-block-components-totals-coupon__input input:focus-visible {
    border-color: #0f7f88 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* ==================================================
   DERMA4U Basket Product Final Polish
================================================== */

/* Product cell spacing */
body.woocommerce-cart .wc-block-cart-item__product {
  padding: 24px 20px !important;
}

/* Product title hierarchy */
body.woocommerce-cart .wc-block-components-product-name {
  color: #09142a !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
}

/* Product price */
body.woocommerce-cart .wc-block-components-product-price {
  margin: 8px 0 10px !important;
  font-weight: 800 !important;
  color: #09142a !important;
}

/* Product description */
body.woocommerce-cart .wc-block-cart-item__description,
body.woocommerce-cart .wc-block-components-product-metadata {
  color: #5f6f82 !important;
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  margin: 10px 0 14px !important;
  max-width: 520px !important;
}

/* Quantity selector spacing */
body.woocommerce-cart .wc-block-components-quantity-selector {
  margin-top: 10px !important;
}

/* Product image polish */
body.woocommerce-cart .wc-block-cart-item__image img {
  border: 1px solid rgba(239,211,221,.65) !important;
  box-shadow: 0 6px 16px rgba(18,56,58,.04) !important;
}

/* Sale saving badge spacing */
body.woocommerce-cart .wc-block-components-product-badge {
  margin-top: 6px !important;
}

/* Basket product description - improve readability */
body.woocommerce-cart .wc-block-cart-item__description,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description {
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  color: #5f6f82 !important;
  max-width: 620px !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  overflow: visible !important;
}

/* If Woo is clamping the paragraph inside */
body.woocommerce-cart .wc-block-cart-item__description p,
body.woocommerce-cart .wc-block-components-product-metadata p,
body.woocommerce-cart .wc-block-components-product-metadata__description p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  max-height: none !important;
  overflow: visible !important;
  display: block !important;
}

/* ==================================================
   DERMA4U Checkout Polish
================================================== */

/* Checkout page spacing */
body.woocommerce-checkout main,
body.woocommerce-checkout #main {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 70px 48px !important;
}

/* Checkout cards */
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-checkout-step__container,
body.woocommerce-checkout .wc-block-components-order-summary {
  background: #ffffff !important;
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 38px rgba(18,56,58,.06) !important;
  padding: 28px !important;
  margin-bottom: 28px !important;
}

/* Checkout headings */
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-order-summary__title {
  color: #09142a !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

/* Inputs */
body.woocommerce-checkout input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  border: 1px solid rgba(17,24,39,.14) !important;
  border-radius: 16px !important;
  min-height: 56px !important;
  padding: 12px 16px !important;
  box-shadow: none !important;
}

body.woocommerce-checkout input:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus {
  border-color: #0f7f88 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Order summary full width */
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  width: 100% !important;
  max-width: 100% !important;
}

/* Order summary card */
body.woocommerce-checkout .wc-block-components-order-summary {
  overflow: hidden !important;
}

/* Order summary blush header */
body.woocommerce-checkout .wc-block-components-order-summary__title {
  background: #efd3dd !important;
  margin: -28px -28px 24px !important;
  padding: 24px 28px !important;
  border-radius: 28px 28px 0 0 !important;
}

/* Order summary product images */
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  background: #fdf3f6 !important;
  border: 1px solid rgba(239,211,221,.65) !important;
  border-radius: 18px !important;
  padding: 10px !important;
}

/* Order summary product text */
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-product-name {
  color: #09142a !important;
  font-weight: 900 !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  color: #09142a !important;
  font-weight: 900 !important;
}

/* Sale / saving badge if present */
body.woocommerce-checkout .wc-block-components-product-badge {
  background: #efd3dd !important;
  color: #09142a !important;
  border: 1px solid #e3b7c7 !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Totals */
body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-item {
  color: #09142a !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item span {
  color: #09142a !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

/* Place order button */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button[type="submit"] {
  background: #0f7f88 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  min-height: 58px !important;
  font-weight: 900 !important;
  border: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout button[type="submit"]:hover {
  box-shadow: 0 12px 26px rgba(15,95,97,.18) !important;
  transform: translateY(-2px) !important;
}

/* Mobile checkout */
@media (max-width: 768px) {
  body.woocommerce-checkout main,
  body.woocommerce-checkout #main {
    padding: 36px 20px !important;
  }
}

/* Checkout note checkbox */
body.woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"]{
    appearance: none !important;
    -webkit-appearance: none !important;

    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;

    border: 2px solid #0f7f88 !important;
    border-radius: 6px !important;
    background: #fff !important;

    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* Checked state */
body.woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked{
    background: #0f7f88 !important;
    border-color: #0f7f88 !important;
}

/* White tick */
body.woocommerce-checkout .wc-block-components-checkbox__mark{
    color: #fff !important;
}

body.woocommerce-checkout .wc-block-components-checkbox label{
    gap: 14px !important;
    align-items: center !important;
}

/* ==================================================
   DERMA4U Checkout Final Polish
================================================== */

/* Checkout note checkbox */
body.woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  border: 2px solid #0f7f88 !important;
  border-radius: 6px !important;
  background: #fff !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: #0f7f88 !important;
  border-color: #0f7f88 !important;
}

body.woocommerce-checkout .wc-block-components-checkbox__mark {
  color: #fff !important;
}

body.woocommerce-checkout .wc-block-components-checkbox label {
  gap: 14px !important;
  align-items: center !important;
}

/* Order summary premium card */
body.woocommerce-checkout .wc-block-components-order-summary {
  background: #ffffff !important;
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 38px rgba(18,56,58,.06) !important;
  overflow: hidden !important;
  padding: 28px !important;
}

/* Order summary blush header */
body.woocommerce-checkout .wc-block-components-order-summary__title {
  background: #efd3dd !important;
  color: #09142a !important;
  margin: -28px -28px 24px !important;
  padding: 24px 28px !important;
  border-radius: 28px 28px 0 0 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
}

/* Order summary product panel */
body.woocommerce-checkout .wc-block-components-order-summary__content {
  background: #ffffff !important;
  border-radius: 24px !important;
}

/* Order summary images */
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  background: #fdf3f6 !important;
  border: 1px solid rgba(239,211,221,.65) !important;
  border-radius: 16px !important;
  padding: 8px !important;
}

/* Order summary savings badge */
body.woocommerce-checkout .wc-block-components-product-badge {
  background: #efd3dd !important;
  color: #09142a !important;
  border: 1px solid #e3b7c7 !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Order summary total */
body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item span {
  color: #09142a !important;
  font-weight: 900 !important;
}

/* Checkout order summary description text */
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-metadata__description,
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-metadata__description p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
  color: #5f6f82 !important;
}

/* ==================================================
   Checkout Totals Spacing
================================================== */

/* Coupon row */
body.woocommerce-checkout .wc-block-components-totals-coupon {
    padding: 22px 28px !important;
}

/* Subtotal, Total and all totals rows */
body.woocommerce-checkout .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    padding: 24px 28px !important;
}

/* Give the Total row a little extra presence */
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    min-height: 88px !important;
    display: flex !important;
    align-items: center !important;
}

/* Slightly larger subtotal text */
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
    font-size: 22px !important;
    font-weight: 800 !important;
}

/* Final total */
body.woocommerce-checkout .wc-block-components-totals-footer-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item__value {
    font-size: 26px !important;
    font-weight: 900 !important;
}

/* ==========================================================
   DERMA4U - MY ACCOUNT
   Logged Out Only (Login / Register / Lost Password)
========================================================== */

body.woocommerce-account:not(.logged-in) {
    background: #fff !important;
}

/* Page container */

body.woocommerce-account:not(.logged-in) main article .woocommerce {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 30px 100px !important;
}

/* Main page title */

body.woocommerce-account:not(.logged-in) .entry-title,
body.woocommerce-account:not(.logged-in) h1 {
    font-size: 56px !important;
    font-weight: 800 !important;
    color: #09142a !important;
    margin: 0 0 60px !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

/* Login heading */

body.woocommerce-account:not(.logged-in) main article .woocommerce h2 {
    width: 100% !important;
    max-width: 680px !important;
    text-align: center !important;
    font-size: 56px !important;
    font-weight: 800 !important;
    color: #09142a !important;
    margin: 0 auto 50px !important;
    line-height: 1.1 !important;
}

/* Login / Register card */

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register,
body.woocommerce-account:not(.logged-in) form.lost_reset_password {

    max-width: 680px !important;
    width: 100% !important;

    margin: 0 auto !important;

    padding: 60px !important;

    background: #fff !important;

    border: 1px solid rgba(9,20,42,.08) !important;

    border-radius: 28px !important;

    box-shadow: 0 18px 50px rgba(9,20,42,.06) !important;
}

/* Labels */

body.woocommerce-account:not(.logged-in) label {

    display: block !important;

    margin-bottom: 10px !important;

    color: #09142a !important;

    font-size: 16px !important;

    font-weight: 700 !important;
}

/* Inputs */

body.woocommerce-account:not(.logged-in) input.input-text {

    width: 100% !important;

    height: 62px !important;

    padding: 0 20px !important;

    border-radius: 16px !important;

    border: 1px solid rgba(9,20,42,.12) !important;

    background: #fff !important;

    font-size: 16px !important;

    color: #09142a !important;

    transition: .25s !important;
}

body.woocommerce-account:not(.logged-in) input.input-text:focus {

    outline: none !important;

    border-color: #0f7f88 !important;

    box-shadow: 0 0 0 4px rgba(15,127,136,.12) !important;
}

/* Login button */

body.woocommerce-account:not(.logged-in) button.button,
body.woocommerce-account:not(.logged-in) input.button {

    background: #0f7f88 !important;

    color: #fff !important;

    border: 0 !important;

    border-radius: 999px !important;

    padding: 16px 34px !important;

    font-size: 16px !important;

    font-weight: 700 !important;

    transition: .25s !important;
}

body.woocommerce-account:not(.logged-in) button.button:hover,
body.woocommerce-account:not(.logged-in) input.button:hover {

    background: #0c6d75 !important;
}

/* Remember me */

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {

    display: inline-flex !important;

    align-items: center !important;

    gap: 10px !important;

    margin: 20px 0 30px 20px !important;
}

/* Lost password */

body.woocommerce-account:not(.logged-in) .lost_password {

    margin-top: 30px !important;
}

body.woocommerce-account:not(.logged-in) .lost_password a {

    color: #0f7f88 !important;

    font-weight: 700 !important;

    text-decoration: none !important;
}

body.woocommerce-account:not(.logged-in) .lost_password a:hover {

    text-decoration: underline !important;
}

/* ==========================================================
   DERMA4U - MY ACCOUNT
   Logged In Dashboard / Orders / Addresses / Details
========================================================== */

body.woocommerce-account.logged-in .woocommerce {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 40px 30px 100px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    background: #fff !important;
    border: 1px solid rgba(9,20,42,.08) !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 50px rgba(9,20,42,.05) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    padding: 28px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    padding: 42px !important;
}

/* Navigation */

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    list-style: none !important;
    margin: 0 0 12px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: block !important;
    padding: 17px 20px !important;
    border-radius: 14px !important;
    color: #09142a !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
    background: #efd3dd !important;
    color: #0f7f88 !important;
}

/* Content typography */

body.woocommerce-account.logged-in .woocommerce-MyAccount-content p,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content address,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content td {
    color: #5f6f82 !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content address {
    font-style: normal !important;
}

/* Links */

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a {
    color: #0f7f88 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Tables */

body.woocommerce-account.logged-in table.shop_table,
body.woocommerce-account.logged-in .woocommerce-orders-table {
    width: 100% !important;
    border: 1px solid rgba(9,20,42,.08) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}

body.woocommerce-account.logged-in table.shop_table th,
body.woocommerce-account.logged-in table.shop_table td {
    padding: 16px 18px !important;
    border-color: rgba(9,20,42,.08) !important;
}

/* Buttons */

body.woocommerce-account.logged-in .button,
body.woocommerce-account.logged-in button.button {
    background: #0f7f88 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.woocommerce-account.logged-in .button:hover,
body.woocommerce-account.logged-in button.button:hover {
    background: #0c6d75 !important;
}

/* Address cards */

body.woocommerce-account.logged-in .woocommerce-Address {
    background: #fff !important;
    border: 1px solid rgba(9,20,42,.08) !important;
    border-radius: 22px !important;
    padding: 26px !important;
    box-shadow: 0 14px 40px rgba(9,20,42,.04) !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title {
    background: #efd3dd !important;
    border-radius: 16px !important;
    padding: 18px 20px !important;
    margin-bottom: 18px !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title h2 {
    margin: 0 !important;
    color: #09142a !important;
    font-size: 28px !important;
}

/* Forms */

body.woocommerce-account.logged-in form.edit-account input.input-text,
body.woocommerce-account.logged-in form.edit-account input[type="email"],
body.woocommerce-account.logged-in form.edit-account input[type="password"] {
    height: 56px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(9,20,42,.14) !important;
    font-size: 16px !important;
}

body.woocommerce-account.logged-in form.edit-account fieldset {
    border: 1px solid rgba(9,20,42,.10) !important;
    border-radius: 20px !important;
    padding: 28px !important;
    margin-top: 28px !important;
}

body.woocommerce-account.logged-in form.edit-account legend {
    color: #09142a !important;
    font-weight: 800 !important;
    padding: 0 10px !important;
}

/* Account orders buttons - tidy action buttons */

body.woocommerce-account.logged-in .woocommerce-orders-table .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: auto !important;
    width: auto !important;
    padding: 9px 16px !important;
    margin: 3px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    white-space: nowrap !important;
}

/* Fix multiple active-looking nav items */

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a {
    background: transparent !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a {
    background: #efd3dd !important;
    color: #0f7f88 !important;
}

/* Address card header refinement */

body.woocommerce-account.logged-in .woocommerce-Address-title {
    padding: 20px 24px !important;
    margin: 0 0 24px !important;
    border-radius: 18px !important;
    background: #efd3dd !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title h2 {
    font-size: 30px !important;
    line-height: 1.15 !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title .edit {
    font-size: 16px !important;
    margin-top: 8px !important;
}/* ==========================================================
   DERMA4U - MY ACCOUNT
   Final refinements for addresses and order actions
========================================================== */

/* Order action buttons */

body.woocommerce-account.logged-in .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions,
body.woocommerce-account.logged-in .woocommerce-orders-table td[data-title="Actions"] {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button,
body.woocommerce-account.logged-in .woocommerce-orders-table td[data-title="Actions"] a.button {
    display: inline-flex !important;
    width: auto !important;
    min-width: 64px !important;
    height: 38px !important;
    padding: 0 16px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
}

/* Smaller address title blocks */

body.woocommerce-account.logged-in .woocommerce-Address-title {
    display: block !important;
    padding: 18px 22px !important;
    margin: 0 0 22px !important;
    border-radius: 18px !important;
    background: #efd3dd !important;
    box-shadow: 0 10px 25px rgba(9,20,42,.06) !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title h2 {
    font-size: 26px !important;
    line-height: 1.15 !important;
    margin: 0 0 8px !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title .edit {
    display: inline-block !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* ==========================================================
   DERMA4U - MY ACCOUNT
   Final fixes: action buttons + address headers
========================================================== */

/* Make account action button text visible */

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a.button,
body.woocommerce-account.logged-in .woocommerce-orders-table a.button,
body.woocommerce-account.logged-in .woocommerce-info a.button {
    color: #fff !important;
    background: #0f7f88 !important;
}

/* Order action buttons */

body.woocommerce-account.logged-in .woocommerce-orders-table td[data-title="Actions"] {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
}

body.woocommerce-account.logged-in .woocommerce-orders-table td[data-title="Actions"] a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 62px !important;
    height: 38px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
}

/* Address card title blocks */

body.woocommerce-account.logged-in .woocommerce-Address-title.title {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 8px !important;

    width: auto !important;
    max-width: none !important;

    padding: 20px 24px !important;
    margin: 0 0 24px !important;

    background: #efd3dd !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(9,20,42,.06) !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title.title h2 {
    font-size: 30px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #09142a !important;
}

body.woocommerce-account.logged-in .woocommerce-Address-title.title .edit {
    position: static !important;
    float: none !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1.2 !important;
    color: #0f7f88 !important;
    font-weight: 800 !important;
}

/* ==================================================
   Empty Basket Product Cards
   WooCommerce Blocks: New in store
================================================== */

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 40px 48px 100px !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2 {
    color: #09142a !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
}

/* Product grid */

body.woocommerce-cart .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
    margin: 34px 0 0 !important;
    padding: 0 !important;
}

/* Product cards */

body.woocommerce-cart .wc-block-grid__product {
    position: relative !important;
    overflow: visible !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;

    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;

    min-height: 450px !important;
    padding: 28px 24px 30px !important;

    border: 1px solid rgba(15,95,97,.08) !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 12px 32px rgba(18,56,58,.06) !important;

    text-align: center !important;

    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

body.woocommerce-cart .wc-block-grid__product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 18px 45px rgba(18,56,58,.09) !important;
    border-color: rgba(15,95,97,.16) !important;
}

/* Product link */

body.woocommerce-cart .wc-block-grid__product-link {
    display: block !important;
    width: 100% !important;
    color: #09142a !important;
    text-decoration: none !important;
}

/* Product image */

body.woocommerce-cart .wc-block-grid__product-image {
    height: 160px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 22px !important;
}

body.woocommerce-cart .wc-block-grid__product-image img {
    width: 100% !important;
    max-width: 210px !important;
    height: 145px !important;
    object-fit: contain !important;
    margin: 0 !important;
    transition: transform .35s ease !important;
}

body.woocommerce-cart .wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.045) !important;
}

/* Product title */

body.woocommerce-cart .wc-block-grid__product-title {
    min-height: 56px !important;
    margin: 0 0 16px !important;

    color: #09142a !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-grid__product-title:hover {
    color: #0f7f88 !important;
}

/* Product price */

body.woocommerce-cart .wc-block-grid__product-price {
    margin: 0 0 20px !important;
    color: #5b6b82 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-grid__product-price del {
    color: rgba(61,79,89,.5) !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-grid__product-price ins {
    color: #09142a !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    margin-left: 6px !important;
}

/* Add to basket button */

body.woocommerce-cart .wc-block-grid__product-add-to-cart {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 220px !important;
    max-width: 260px !important;
    min-height: 54px !important;

    padding: 14px 28px !important;
    margin: 0 auto !important;

    border-radius: 999px !important;
    border: 0 !important;

    background: #0f7f88 !important;
    color: #fff !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;

    transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    background: #0f5f61 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(15,95,97,.18) !important;
}

/* Sale product styling */

body.woocommerce-cart .wc-block-grid__product:has(.wc-block-grid__product-onsale) {
    border-color: #efd3dd !important;
    box-shadow: 0 12px 32px rgba(239,211,221,.22) !important;
}

body.woocommerce-cart .wc-block-grid__product:has(.wc-block-grid__product-onsale) .wp-block-button__link {
    background: #efd3dd !important;
    color: #09142a !important;
    border: 1px solid #e3b7c7 !important;
    box-shadow: 0 10px 24px rgba(239,211,221,.32) !important;
}

body.woocommerce-cart .wc-block-grid__product:has(.wc-block-grid__product-onsale) .wp-block-button__link:hover {
    background: #e7c3d0 !important;
    color: #09142a !important;
}

/* Sale circle */

body.woocommerce-cart .wc-block-grid__product-onsale {
    position: absolute !important;
    top: -18px !important;
    right: -18px !important;

    width: 68px !important;
    height: 68px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;
    border: 1px solid #e3b7c7 !important;
    background: #efd3dd !important;
    box-shadow: 0 10px 24px rgba(239,211,221,.32) !important;

    color: #09142a !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: none !important;
}

/* Responsive */

@media (max-width: 1000px) {
    body.woocommerce-cart .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
        padding: 30px 24px 80px !important;
    }

    body.woocommerce-cart .wc-block-grid__products {
        gap: 22px !important;
    }

    body.woocommerce-cart .wc-block-grid__product {
        min-height: 430px !important;
        padding: 24px 18px !important;
        border-radius: 24px !important;
    }

    body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
        min-width: 190px !important;
        max-width: 230px !important;
        min-height: 54px !important;
    }

    body.woocommerce-cart .wc-block-grid__product-onsale {
        width: 60px !important;
        height: 60px !important;
        top: -14px !important;
        right: -10px !important;
        font-size: 14px !important;
    }
}

/* LANDING PAGE SALE PRODUCT CARDS */
section.product_section .product_grid ul.products li.product.sale {
    border: 1px solid #efd1dc !important;
}

/* Landing page sale badge */
section.product_section .product_grid ul.products li.product.sale .onsale {
    background: #efd1dc !important;
    color: #10182b !important;
    border: 1px solid #e5bdcc !important;
}

/* Landing page sale-product button */
section.product_section .product_grid ul.products li.product.sale a.button,
section.product_section .product_grid ul.products li.product.sale a.add_to_cart_button {
    background: #efd1dc !important;
    color: #10182b !important;
    border-color: #efd1dc !important;
}

/* Landing page sale-product button hover */
section.product_section .product_grid ul.products li.product.sale a.button:hover,
section.product_section .product_grid ul.products li.product.sale a.add_to_cart_button:hover {
    background: #e5bdcc !important;
    color: #10182b !important;
}

/* MEGA MENU SALE PRODUCT CARD */
#mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product.sale {
    border: 1px solid #efd1dc !important;
    box-shadow: inset 0 0 0 1px #efd1dc !important;
}

/* Mega menu sale badge */
#mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product.sale
span.onsale {
    background: #efd1dc !important;
    color: #10182b !important;
    border: 1px solid #e5bdcc !important;
}

/* Mega menu sale button */
#mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product.sale
a.button.add_to_cart_button {
    background: #efd1dc !important;
    color: #10182b !important;
    border-color: #efd1dc !important;
}

/* Mega menu sale button hover */
#mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product.sale
a.button.add_to_cart_button:hover {
    background: #e5bdcc !important;
    color: #10182b !important;
    border-color: #e5bdcc !important;
}

/* Mobile trust bar: hide one standard item, keep Trustpilot */
@media (max-width: 767px) {
    .homepage-trust .container > span:nth-of-type(4) {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .homepage-trust .container {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 16px;
        align-items: center;
    }

    .homepage-trust .container > span,
    .homepage-trust .homepage-trustpilot {
        width: 100%;
        justify-content: center;
        text-align: center;
        margin: 0 !important;
    }
}

/* ==================================================
   BUY NOW - LANDING-PAGE PRODUCT SECTIONS
   ================================================== */

html body section.product_section .product_grid
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"],

html body section.product_section .product_grid
ul.products li.product.sale
a.wc-buy-now-btn[data-wc-buy-now="true"] {
    margin-bottom: 10px !important;
    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;
    border-color: #1EBA78 !important;
    box-shadow: none !important;
}

html body section.product_section .product_grid
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"]:hover,

html body section.product_section .product_grid
ul.products li.product.sale
a.wc-buy-now-btn[data-wc-buy-now="true"]:hover {
    background: #15945E !important;
    background-color: #15945E !important;
    color: #ffffff !important;
    border-color: #15945E !important;
}

/* ==================================================
   BUY NOW - SHOP, CATEGORY AND BRAND ARCHIVES
   ================================================== */

body.post-type-archive-product main
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"],

body.tax-product_cat main
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"],

body.tax-product_brand main
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"],

body.post-type-archive-product main
ul.products li.product.sale
a.wc-buy-now-btn[data-wc-buy-now="true"],

body.tax-product_cat main
ul.products li.product.sale
a.wc-buy-now-btn[data-wc-buy-now="true"],

body.tax-product_brand main
ul.products li.product.sale
a.wc-buy-now-btn[data-wc-buy-now="true"] {
    margin-bottom: 10px !important;
    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;
    border-color: #1EBA78 !important;
    box-shadow: none !important;
}

body.post-type-archive-product main
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"]:hover,

body.tax-product_cat main
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"]:hover,

body.tax-product_brand main
ul.products li.product
a.wc-buy-now-btn[data-wc-buy-now="true"]:hover {
    background: #15945E !important;
    background-color: #15945E !important;
    color: #ffffff !important;
    border-color: #15945E !important;
}

/* ==================================================
   BUY NOW - INDIVIDUAL PRODUCT PAGE
   ================================================== */

html body.single-product
div.summary.entry-summary
form.cart
button.wc-buy-now-btn.wc-buy-now-btn-single {
    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;
    border-color: #1EBA78 !important;
    box-shadow: none !important;
}

html body.single-product
div.summary.entry-summary
form.cart
button.wc-buy-now-btn.wc-buy-now-btn-single:hover,
html body.single-product
div.summary.entry-summary
form.cart
button.wc-buy-now-btn.wc-buy-now-btn-single:focus {
    background: #15945E !important;
    background-color: #15945E !important;
    color: #ffffff !important;
    border-color: #15945E !important;
    box-shadow: none !important;
}

/* ==================================================
   BUY NOW - MEGA MENU
   Keep existing compact mega-menu dimensions
   ================================================== */

html body #mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product
a.wc-buy-now-btn.wc-buy-now-btn-archive.add_to_cart_button {
    margin-bottom: 4px !important;

    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;

    border-color: #1EBA78 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Ensure sale-product Buy Now stays green */
html body #mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product.sale
a.wc-buy-now-btn.wc-buy-now-btn-archive.add_to_cart_button {
    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;
    border-color: #1EBA78 !important;
    box-shadow: none !important;
}

/* Hover */
html body #mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product
a.wc-buy-now-btn.wc-buy-now-btn-archive.add_to_cart_button:hover,
html body #mega-menu-wrap-primary
.custom-wc-menu
.woocommerce.mega-menu-products
ul.products
li.product
a.wc-buy-now-btn.wc-buy-now-btn-archive.add_to_cart_button:focus {
    background: #15945E !important;
    background-color: #15945E !important;
    color: #ffffff !important;
    border-color: #15945E !important;
    box-shadow: none !important;
}

/* ==================================================
   BUY NOW - RELATED PRODUCTS
   ================================================== */

html body.single-product
section.related.products
ul.products
li.product
a.wc-buy-now-btn.wc-buy-now-btn-archive {
    margin-bottom: 10px !important;

    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;

    border-color: #1EBA78 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Keep sale-product Buy Now green */
html body.single-product
section.related.products
ul.products
li.product.sale
a.wc-buy-now-btn.wc-buy-now-btn-archive {
    background: #1EBA78 !important;
    background-color: #1EBA78 !important;
    color: #ffffff !important;
    border-color: #1EBA78 !important;
    box-shadow: none !important;
}

/* Hover */
html body.single-product
section.related.products
ul.products
li.product
a.wc-buy-now-btn.wc-buy-now-btn-archive:hover,
html body.single-product
section.related.products
ul.products
li.product
a.wc-buy-now-btn.wc-buy-now-btn-archive:focus {
    background: #15945E !important;
    background-color: #15945E !important;
    color: #ffffff !important;
    border-color: #15945E !important;
    box-shadow: none !important;
}

/* ==================================================
   CATEGORY HEADER SPACING
   Desktop and Mobile
================================================== */

body.post-type-archive-product #primary .woocommerce-products-header,
body.tax-product_cat #primary .woocommerce-products-header,
body.tax-product_brand #primary .woocommerce-products-header {
  padding: 50px 70px !important;
}

/* Mobile category header spacing */
@media (max-width: 700px) {
  body.post-type-archive-product #primary .woocommerce-products-header,
  body.tax-product_cat #primary .woocommerce-products-header,
  body.tax-product_brand #primary .woocommerce-products-header {
    padding: 30px 24px 10px !important;
    margin-bottom: 36px !important;
  }

  body.post-type-archive-product #primary .term-description,
  body.tax-product_cat #primary .term-description,
  body.tax-product_brand #primary .term-description {
    margin-bottom: 0 !important;
  }
}

/* ==================================================
   SHOP AND SEARCH INTRODUCTION ROW
================================================== */

.woocommerce-products-header
> .derma-category-trust
> .derma-category-intro {
  grid-column: 1 / -1 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 26px !important;
}

/* ==================================================
   ACF CONTENT PAGE PRODUCTS - TWO COLUMNS ON MOBILE
   ================================================== */

@media (max-width: 767px) {

  /* Recover the space removed by the desktop width rule */
  body:not(.home)
main > section.content_section.product_section > div {
  width: calc(100% - 28px) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

  /* Two products per row */
  body.page-template-template-acf-main
  section.content_section.product_section
  .product_grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  /* WooCommerce creates one wrapper around each product */
  body.page-template-template-acf-main
  section.product_section
  .product_grid > .woocommerce {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
  }

  /* Product card */
  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product {
    width: 100% !important;
    height: 100% !important;
    padding: 16px 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
  }

  /* Product image */
  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product img {
    width: 100% !important;
    height: 120px !important;
    margin: 0 auto 14px !important;
    object-fit: contain !important;
  }

  /* Product title */
  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product
  .woocommerce-loop-product__title {
    min-height: 57px !important;
    max-height: 57px !important;
    margin-bottom: 12px !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  /* Price */
  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product .price {
    margin-bottom: 14px !important;
    font-size: 15px !important;
  }

  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product .price del {
    font-size: 13px !important;
  }

  /* Buy Now and Add to basket */
  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product .button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 10px 7px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  /* Smaller sale badge for narrow cards */
  body.page-template-template-acf-main
  section.product_section
  .product_grid ul.products li.product .onsale {
    min-width: 50px !important;
    min-height: 50px !important;
    line-height: 50px !important;
    font-size: 14px !important;
  }
}

/* ==================================================
   LANDING PAGE CLINIC NEEDS - RESPONSIVE GRID
   Match homepage behaviour
   ================================================== */

/* Tablet: two cards per row */
@media (max-width: 1000px) {

  body:not(.home) main
  section.derma-landing-clinic-needs
  .homepage-needs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: one full-width card per row */
@media (max-width: 700px) {

  body:not(.home) main
  section.derma-landing-clinic-needs {
    padding: 70px 0 !important;
  }

  body:not(.home) main
  section.derma-landing-clinic-needs > .container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
  }

  body:not(.home) main
  section.derma-landing-clinic-needs
  .homepage-needs-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body:not(.home) main
  section.derma-landing-clinic-needs
  .homepage-need-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: auto !important;
  }
}

/* ==================================================
   HIDE VIEW BASKET LINK - WOOCOMMERCE PRODUCT GRIDS
   ================================================== */

main ul.products a.added_to_cart.wc-forward {
  display: none !important;
}


/* ==================================================
   BIG MEGA MENU MOBILE PRODUCT GRID CHANGES
   ================================================== */
@media (max-width: 768px) {
	/* Each individual product card */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product {
		position: relative !important;

		display: grid !important;
		grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		grid-auto-flow: row !important;

		column-gap: 10px !important;
		row-gap: 6px !important;

		align-items: center !important;

		float: none !important;
		clear: both !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 115px !important;

		margin: 0 !important;
		padding: 10px !important;

		text-align: left !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}


	/*
	 * The image, title and price are nested inside this link.
	 * This lets them become separate items in the li grid.
	 */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
		display: contents !important;
	}


	/* Image on the left, spanning all three rows */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.woocommerce-LoopProduct-link.woocommerce-loop-product__link >
	img.attachment-woocommerce_thumbnail {
		position: static !important;

		grid-column: 1 !important;
		grid-row: 1 / 4 !important;

		align-self: center !important;
		justify-self: center !important;

		display: block !important;
		float: none !important;

		width: 90px !important;
		min-width: 90px !important;
		max-width: 90px !important;

		height: 90px !important;
		min-height: 90px !important;
		max-height: 90px !important;

		margin: 0 !important;
		padding: 0 !important;

		object-fit: contain !important;
		object-position: center !important;

		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;

		transform: none !important;
		box-sizing: border-box !important;
	}


	/* Product name */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product
	.woocommerce-loop-product__title {
		grid-column: 2 / 4 !important;
		grid-row: 1 !important;

		align-self: end !important;
		justify-self: stretch !important;

		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin: 0 !important;
		padding: 0 !important;

		text-align: left !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;

		box-sizing: border-box !important;
	}


	/* Product price */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product
	.price {
		grid-column: 2 / 4 !important;
		grid-row: 2 !important;

		align-self: start !important;
		justify-self: stretch !important;

		display: block !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;

		margin: 0 !important;
		padding: 0 !important;

		text-align: left !important;
		box-sizing: border-box !important;
	}


	/* Both buttons */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.wc-buy-now-btn,

	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.add_to_cart_button:not(.wc-buy-now-btn) {
		position: static !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		float: none !important;
		clear: none !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 34px !important;
		height: auto !important;

		margin: 0 !important;
		padding: 7px 6px !important;

		font-size: 11px !important;
		line-height: 1.15 !important;
		text-align: center !important;
		white-space: normal !important;
		text-decoration: none !important;

		visibility: visible !important;
		opacity: 1 !important;

		transform: none !important;
		box-sizing: border-box !important;
	}


	/* Buy Now */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.wc-buy-now-btn {
		grid-column: 2 !important;
		grid-row: 3 !important;
	}


	/* Add to basket */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.add_to_cart_button:not(.wc-buy-now-btn) {
		grid-column: 3 !important;
		grid-row: 3 !important;
	}


	/* Remove any theme-generated button icons */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.button::before,

	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	a.button::after {
		display: none !important;
		content: none !important;
	}


	/* Keep accessibility text outside the visible grid */
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product >
	.screen-reader-text {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}
	
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product .onsale {
		position: absolute !important;
		top: 50% !important;
		right: auto !important;
		bottom: auto !important;
		left: -22px !important;
		z-index: 10 !important;
		min-width: 44px !important;
		width: 44px !important;
		min-height: 44px !important;
		height: 44px !important;
		line-height: 44px !important;
		font-size: 0.7em !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translateY(-50%) !important;
	}
	#mega-menu-wrap-primary
	.custom-wc-menu
	.woocommerce.mega-menu-products
	ul.products > li.product {
		overflow: visible !important;
	}

}




body.page-template-template-acf-main main section.content_section > div {
	padding: 80px 24px !important;
}

/* ==========================================================
   DERMA4U - MY ACCOUNT
   Mobile login fix
========================================================== */

@media only screen and (max-width: 767px) {

    body.woocommerce-account:not(.logged-in) main article .woocommerce {
        width: 100% !important;
        padding: 30px 16px 70px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.woocommerce-account:not(.logged-in) .entry-title,
    body.woocommerce-account:not(.logged-in) h1,
    body.woocommerce-account:not(.logged-in) main article .woocommerce h2 {
        width: 100% !important;
        font-size: 40px !important;
        line-height: 1.1 !important;
        margin: 0 auto 32px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-account:not(.logged-in) form.login,
    body.woocommerce-account:not(.logged-in) form.register,
    body.woocommerce-account:not(.logged-in) form.lost_reset_password {
        width: 100% !important;
        max-width: 100% !important;
        padding: 30px 22px !important;
        margin: 0 !important;
        border-radius: 22px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-account:not(.logged-in) form.login *,
    body.woocommerce-account:not(.logged-in) form.register *,
    body.woocommerce-account:not(.logged-in) form.lost_reset_password * {
        box-sizing: border-box !important;
    }

    body.woocommerce-account:not(.logged-in) input.input-text {
        width: 100% !important;
        max-width: 100% !important;
        height: 56px !important;
        padding: 0 16px !important;
    }

    body.woocommerce-account:not(.logged-in)
    .woocommerce-form-login__submit {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 0 18px !important;
    }

    body.woocommerce-account:not(.logged-in)
    .woocommerce-form-login__rememberme {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 0 24px !important;
    }

    body.woocommerce-account:not(.logged-in) .lost_password {
        margin: 24px 0 0 !important;
        text-align: center !important;
    }
}

/* ==================================================
   FINAL SHOP ALL AND SALE GRID FIX
================================================== */

/*
 * Target only WooCommerce loops that follow the
 * results/sorting controls. This excludes mega-menu
 * and landing-page product grids.
 */
#primary .woocommerce-result-count ~ ul.products,
#primary .woocommerce-ordering ~ ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 34px 28px !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Remove WooCommerce clearfix elements from the grid */
#primary .woocommerce-result-count ~ ul.products::before,
#primary .woocommerce-result-count ~ ul.products::after,
#primary .woocommerce-ordering ~ ul.products::before,
#primary .woocommerce-ordering ~ ul.products::after {
    content: none !important;
    display: none !important;
}

/* Remove WooCommerce column widths and floats */
#primary .woocommerce-result-count ~ ul.products > li.product,
#primary .woocommerce-ordering ~ ul.products > li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Two columns on mobile and narrower tablet layouts */
@media only screen and (max-width: 1100px) {

    #primary .woocommerce-result-count ~ ul.products,
    #primary .woocommerce-ordering ~ ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    #primary .woocommerce-result-count ~ ul.products > li.product,
    #primary .woocommerce-ordering ~ ul.products > li.product {
        padding: 18px 14px !important;
    }

    #primary .woocommerce-result-count ~ ul.products li.product img,
    #primary .woocommerce-ordering ~ ul.products li.product img {
        width: 100% !important;
        max-width: 130px !important;
        height: 110px !important;
        margin: 0 auto 14px !important;
        object-fit: contain !important;
    }

    #primary .woocommerce-result-count ~ ul.products li.product
    .woocommerce-loop-product__title,
    #primary .woocommerce-ordering ~ ul.products li.product
    .woocommerce-loop-product__title {
        min-height: 54px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    #primary .woocommerce-result-count ~ ul.products li.product .price,
    #primary .woocommerce-ordering ~ ul.products li.product .price {
        font-size: 15px !important;
    }

    #primary .woocommerce-result-count ~ ul.products li.product .button,
    #primary .woocommerce-ordering ~ ul.products li.product .button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 11px 8px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }
}

/* Pink Add to basket button on sale products */
#primary .woocommerce-result-count ~ ul.products
li.product.sale a.add_to_cart_button:not(.wc-buy-now-btn),
#primary .woocommerce-ordering ~ ul.products
li.product.sale a.add_to_cart_button:not(.wc-buy-now-btn) {
    background: #efd3dd !important;
    background-color: #efd3dd !important;
    color: #09142a !important;
    border: 1px solid #e3b7c7 !important;
    box-shadow: 0 10px 24px rgba(239, 211, 221, 0.32) !important;
}

/* Keep the sale-product Buy Now button green */
#primary .woocommerce-result-count ~ ul.products
li.product.sale a.wc-buy-now-btn,
#primary .woocommerce-ordering ~ ul.products
li.product.sale a.wc-buy-now-btn {
    background: #1eba78 !important;
    background-color: #1eba78 !important;
    color: #ffffff !important;
    border-color: #1eba78 !important;
    box-shadow: none !important;
}

/* ==================================================
   SHOP PAGINATION MOBILE FIX
================================================== */

@media only screen and (max-width: 1100px) {

    body.post-type-archive-product
    nav.woocommerce-pagination {
        width: 100% !important;
        margin: 42px auto 70px !important;
        padding: 0 14px !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.post-type-archive-product
    nav.woocommerce-pagination
    ul.page-numbers {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
        box-sizing: border-box !important;
    }

    body.post-type-archive-product
    nav.woocommerce-pagination
    ul.page-numbers
    li {
        display: block !important;
        flex: 0 0 auto !important;
        float: none !important;
        margin: 0 !important;
        border: 0 !important;
    }

    body.post-type-archive-product
    nav.woocommerce-pagination
    ul.page-numbers
    li a,

    body.post-type-archive-product
    nav.woocommerce-pagination
    ul.page-numbers
    li span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
    }
}

/* ==================================================
   DERMA4U SALE PAGE
   Page ID: 3075
================================================== */

/* Four-column Sale product grid */
body.page-id-3075 main ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 34px 28px !important;
    width: 100% !important;
    margin: 34px 0 60px !important;
    padding: 0 !important;
}

/* Remove the invisible WooCommerce grid items */
body.page-id-3075 main ul.products::before,
body.page-id-3075 main ul.products::after {
    content: none !important;
    display: none !important;
}

/* Remove old WooCommerce column widths and floats */
body.page-id-3075 main ul.products > li.product,
body.page-id-3075 main ul.products > li.product.first,
body.page-id-3075 main ul.products > li.product.last {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Pink Add to basket buttons */
body.page-id-3075 main ul.products
li.product.sale
a.add_to_cart_button:not(.wc-buy-now-btn) {
    background: #efd3dd !important;
    background-color: #efd3dd !important;
    color: #09142a !important;
    border: 1px solid #e3b7c7 !important;
    box-shadow: 0 10px 24px rgba(239, 211, 221, 0.32) !important;
}

body.page-id-3075 main ul.products
li.product.sale
a.add_to_cart_button:not(.wc-buy-now-btn):hover {
    background: #e7c3d0 !important;
    background-color: #e7c3d0 !important;
    color: #09142a !important;
}

/* Keep Buy Now green */
body.page-id-3075 main ul.products
li.product.sale
a.wc-buy-now-btn {
    background: #1eba78 !important;
    background-color: #1eba78 !important;
    color: #ffffff !important;
    border-color: #1eba78 !important;
    box-shadow: none !important;
}

body.page-id-3075 main ul.products
li.product.sale
a.wc-buy-now-btn:hover {
    background: #15945e !important;
    background-color: #15945e !important;
    color: #ffffff !important;
    border-color: #15945e !important;
}

/* Two columns on mobile and narrower tablet layouts */
@media only screen and (max-width: 1100px) {

    body.page-id-3075 main ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    body.page-id-3075 main ul.products > li.product {
        padding: 18px 14px !important;
    }

    body.page-id-3075 main ul.products li.product img {
        width: 100% !important;
        max-width: 130px !important;
        height: 110px !important;
        margin: 0 auto 14px !important;
        object-fit: contain !important;
    }

    body.page-id-3075 main ul.products
    li.product .woocommerce-loop-product__title {
        min-height: 54px !important;
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    body.page-id-3075 main ul.products li.product .price {
        font-size: 15px !important;
    }

    body.page-id-3075 main ul.products li.product .button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 11px 8px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }
}

/* Sale page: more compact desktop buttons */
@media only screen and (min-width: 1101px) {

    body.page-id-3075 main ul.products li.product .button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: calc(100% - 36px) !important;
        max-width: 210px !important;
        min-width: 160px !important;
        min-height: 48px !important;

        margin: 14px auto 0 !important;
        padding: 12px 22px !important;

        font-size: 14px !important;
        line-height: 1.15 !important;
        box-sizing: border-box !important;
    }
}

/* ==================================================
   MOBILE BASKET PRODUCT LAYOUT FIX
================================================== */

@media only screen and (max-width: 768px) {

    /* Keep each basket card contained */
    body.woocommerce-cart .wc-block-cart-items__row {
        width: 100% !important;
        padding: 20px 14px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Keep the image inside WooCommerce's mobile image column */
    body.woocommerce-cart .wc-block-cart-item__image {
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        padding: 6px 8px 0 0 !important;
        vertical-align: top !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {
        display: block !important;
        width: 84px !important;
        min-width: 0 !important;
        max-width: 84px !important;
        height: 84px !important;
        margin: 0 !important;
        padding: 8px !important;
        object-fit: contain !important;
        box-sizing: border-box !important;
        border-radius: 14px !important;
    }

    /* Give the text its own contained area */
    body.woocommerce-cart .wc-block-cart-item__product {
        min-width: 0 !important;
        width: auto !important;
        padding: 6px 10px 16px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Product title */
    body.woocommerce-cart .wc-block-components-product-name,
    body.woocommerce-cart .wc-block-cart-item__product a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 7px !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    /* Product price */
    body.woocommerce-cart .wc-block-components-product-price,
    body.woocommerce-cart .wc-block-cart-item__prices {
        margin: 5px 0 8px !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
    }

    /* Product description */
    body.woocommerce-cart .wc-block-cart-item__description,
    body.woocommerce-cart .wc-block-components-product-metadata,
    body.woocommerce-cart .wc-block-components-product-metadata__description,
    body.woocommerce-cart .wc-block-cart-item__description p,
    body.woocommerce-cart .wc-block-components-product-metadata p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 7px 0 12px !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

    /* Keep the product total compact in the top-right */
    body.woocommerce-cart .wc-block-cart-item__total {
        min-width: 70px !important;
        padding: 6px 4px 0 8px !important;
        font-size: 16px !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    /* Quantity and remove controls */
    body.woocommerce-cart .wc-block-cart-item__quantity {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin-top: 8px !important;
    }
}

/* ==================================================
   DERMA4U GIFT CARD PRODUCT
   Product ID: 3073
================================================== */

/* Override the standard product form grid */
body.postid-3073
.summary.entry-summary
form.gift-cards_form.cart {
    display: block !important;
    width: 100% !important;
    margin: 28px 0 30px !important;
    padding: 24px !important;

    background: #ffffff !important;
    border: 1px solid rgba(15, 95, 97, 0.12) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 30px rgba(18, 56, 58, 0.06) !important;

    box-sizing: border-box !important;
}

/* Main section headings */
body.postid-3073 form.gift-cards_form > h3,
body.postid-3073 form.gift-cards_form .gift-cards-list > h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;

    color: #09142a !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
}

/* Add spacing before Delivery info */
body.postid-3073
form.gift-cards_form
.gift-cards-list + h3 {
    margin-top: 26px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(17, 24, 39, 0.10) !important;
}

/* Amount selection as a 2 x 2 grid */
body.postid-3073 form.gift-cards_form .gift-cards-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Heading spans both amount columns */
body.postid-3073
form.gift-cards_form
.gift-cards-list > h3 {
    grid-column: 1 / -1 !important;
}

/* Unselected amount buttons */
body.postid-3073
form.gift-cards_form
button.ywgc-amount-buttons {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 11px 12px !important;

    background: #f7f4f2 !important;
    color: #3d4f59 !important;
    border: 1px solid #dde3e6 !important;
    border-radius: 12px !important;
    box-shadow: none !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    box-sizing: border-box !important;
}

/* Selected amount */
body.postid-3073
form.gift-cards_form
button.ywgc-amount-buttons.selected_button {
    background: #0f7f88 !important;
    color: #ffffff !important;
    border-color: #0f7f88 !important;
    box-shadow: 0 8px 18px rgba(15, 127, 136, 0.18) !important;
}

/* Amount hover */
body.postid-3073
form.gift-cards_form
button.ywgc-amount-buttons:not(.selected_button):hover {
    background: #efd3dd !important;
    color: #09142a !important;
    border-color: #e3b7c7 !important;
}

/* Reset YITH's floated field layout */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Recipient and sender headings */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content h5 {
    display: block !important;
    margin: 22px 0 12px !important;
    padding: 0 !important;

    color: #0f7f88 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

/* First subheading needs less top space */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content h5:first-child {
    margin-top: 0 !important;
}

/* Recipient containers */
body.postid-3073 form.gift-cards_form .ywgc-single-recipient,
body.postid-3073 form.gift-cards_form .ywgc-recipient,
body.postid-3073 form.gift-cards_form .ywgc-sender-name,
body.postid-3073 form.gift-cards_form .ywgc-message {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Individual field rows */
body.postid-3073 form.gift-cards_form .ywgc-recipient-name,
body.postid-3073 form.gift-cards_form .ywgc-recipient-email,
body.postid-3073 form.gift-cards_form .ywgc-sender-name,
body.postid-3073 form.gift-cards_form .ywgc-message {
    margin: 0 0 14px !important;
}

/* Field labels */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;

    color: #3d4f59 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

/* Text and email fields */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content
input:not([type="hidden"]) {
    display: block !important;
    float: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 0 14px !important;

    background: #ffffff !important;
    color: #09142a !important;
    border: 1px solid #d8dfe3 !important;
    border-radius: 12px !important;
    box-shadow: none !important;

    font-size: 15px !important;
    box-sizing: border-box !important;
}

/* Message field */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content
textarea {
    display: block !important;
    float: none !important;
    resize: vertical !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 110px !important;
    margin: 0 !important;
    padding: 13px 14px !important;

    background: #ffffff !important;
    color: #09142a !important;
    border: 1px solid #d8dfe3 !important;
    border-radius: 12px !important;
    box-shadow: none !important;

    font-size: 15px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
}

/* Field focus */
body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content
input:focus,

body.postid-3073
form.gift-cards_form
.gift-card-content-editor.step-content
textarea:focus {
    outline: none !important;
    border-color: #0f7f88 !important;
    box-shadow: 0 0 0 3px rgba(15, 127, 136, 0.10) !important;
}

/* Quantity and Add to basket row */
body.postid-3073
form.gift-cards_form
.gift_card_template_button {
    display: flex !important;
    align-items: stretch !important;
    gap: 12px !important;

    width: 100% !important;
    margin: 24px 0 0 !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(17, 24, 39, 0.10) !important;
}

/* Gift-card quantity */
body.postid-3073
form.gift-cards_form
.gift_card_template_button
.quantity {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    margin: 0 !important;
}

/* Gift-card Add to basket */
body.postid-3073
form.gift-cards_form
.gift_card_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 12px 20px !important;

    background: #0f7f88 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 999px !important;

    font-size: 15px !important;
    font-weight: 900 !important;
}

/* Mobile */
@media only screen and (max-width: 600px) {

    body.postid-3073
    .summary.entry-summary
    form.gift-cards_form.cart {
        padding: 20px 16px !important;
    }

    body.postid-3073
    form.gift-cards_form
    .gift_card_template_button {
        display: block !important;
    }

    body.postid-3073
    form.gift-cards_form
    .gift_card_template_button
    .quantity {
        width: 120px !important;
        margin: 0 0 12px !important;
    }

    body.postid-3073
    form.gift-cards_form
    .gift_card_add_to_cart_button {
        width: 100% !important;
    }
}

/* ==================================================
   RELATED PRODUCTS - ONE COLUMN ON SKINNY MOBILES
================================================== */

@media only screen and (max-width: 600px) {

    /* Related-products section */
    body.single-product section.related.products {
        display: block !important;
        width: 100% !important;
        max-width: 430px !important;
        margin: 50px auto 0 !important;
        padding: 40px 14px 0 !important;
        box-sizing: border-box !important;
    }

    /* Heading */
    body.single-product section.related.products > h2 {
        margin: 0 0 28px !important;
        font-size: 32px !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    /* One product per row */
    body.single-product
    section.related.products
    ul.products {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    /* Full-width product cards */
    body.single-product
    section.related.products
    ul.products
    li.product {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 24px 20px !important;
        box-sizing: border-box !important;
    }

    /* Product image */
    body.single-product
    section.related.products
    ul.products
    li.product img {
        width: 100% !important;
        max-width: 210px !important;
        height: 170px !important;
        margin: 0 auto 18px !important;
        object-fit: contain !important;
    }

    /* Product title */
    body.single-product
    section.related.products
    .woocommerce-loop-product__title {
        min-height: 0 !important;
        height: auto !important;
        margin: 0 auto 14px !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    /* Price */
    body.single-product
    section.related.products
    .price {
        margin: 0 0 16px !important;
        font-size: 17px !important;
        text-align: center !important;
    }

    /* Buttons */
    body.single-product
    section.related.products
    ul.products
    li.product
    .button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 290px !important;
        min-height: 50px !important;
        margin: 10px auto 0 !important;
        padding: 12px 18px !important;

        font-size: 15px !important;
        line-height: 1.15 !important;
        box-sizing: border-box !important;
    }
}

.product.attribute.description {
  display: block !important;
  grid-template-columns: none !important;
  flex-direction: column !important;
  width: 100% !important;
}

.product.attribute.description .value {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
}

.product.attribute.description h1,
.product.attribute.description h2,
.product.attribute.description h3,
.product.attribute.description p {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
}

/* Fix WooCommerce Blocks radio buttons */
body.woocommerce-checkout
input.wc-block-components-radio-control__input {
	box-sizing: border-box !important;
	width: 20px !important;
	height: 20px !important;
	min-width: 20px !important;
	min-height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 2px solid #078894 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: none !important;
}

/* Selected state */
body.woocommerce-checkout
input.wc-block-components-radio-control__input:checked {
	background: #078894 !important;
	box-shadow: inset 0 0 0 4px #fff !important;
}