/* Higiprol premium: header, navigation and footer. Loaded after existing theme CSS. */
#header .hp-top {
  color: #fff;
  background: #0B5ED7;
  border: 0;
}
#header .hp-top__inner,
#header .hp-top__contacts,
#header .hp-top__contacts a {
  display: flex;
  align-items: center;
  gap: 0.65rem 1.5rem;
  flex-wrap: wrap;
}
#header .hp-top__inner { justify-content: space-between; padding-block: 0.35rem; }
#header .hp-top a { color: #fff; font-size: 0.875rem; line-height: 1.5; text-decoration: none; }
#header .hp-top a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
#header .hp-top__contacts a { gap: 0.45rem; min-height: 2rem; overflow-wrap: anywhere; }
#header .hp-top .material-icons { font-size: 1.1rem; }
#header .hp-header { padding-block: 1rem; background: #F7FBFF; z-index: 1031; }
#header .hp-header .header-bottom__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem 0.5rem;
  min-height: 0;
}
#header .hp-header .header-bottom__logo { grid-column: 1; grid-row: 1; width: auto; min-width: 0; order: 0; }
#header .hp-header .navbar-brand { width: 100%; max-width: 13rem; margin: 0; }
#header .hp-header .navbar-brand .logo { width: 100%; height: auto; max-width: 100%; max-height: none; }
#header .hp-header .header-bottom__search { grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; padding-inline: 0; }
#header .hp-header .header-bottom__actions { grid-row: 1; gap: 0.75rem; min-width: 0; padding: 0; }
#header .hp-header #_mobile_ps_customersignin { grid-column: 2; grid-row: 1; margin: 0; padding: 0; }
#header .hp-header #_mobile_ps_shoppingcart { grid-column: 3; grid-row: 1; margin: 0; padding: 0; }
#header .hp-header .header-block__action-btn { min-height: 2.75rem; gap: 0.65rem; color: #0B5ED7; border-radius: 0.5rem; }
#header .hp-header .header-block__action-btn:hover { background: #F7FBFF; color: #063A7A; }
#header .hp-header .header-block__icon { font-size: 1.75rem; }
#header .hp-header .header-block__eyebrow { color: #063A7A; font-size: 0.8125rem; line-height: 1.4; }
#header .hp-header .header-block__title { color: #052B52; font-size: 0.9375rem; line-height: 1.4; }
#header .hp-header .header-block__badge { background: #0B5ED7; color: #fff; font-size: 0.75rem; }
#header .hp-header .dropdown-menu { min-width: 15rem; border: 1px solid #2DA8FF; border-radius: 0.65rem; box-shadow: 0 0.75rem 2rem #052B521f; }
#header .hp-header .dropdown-item { min-height: 2.75rem; font-size: 0.9375rem; }
#header .hp-header .ps-searchbar--mobile { width: 100%; }
#header .hp-header .ps-searchbar__form { position: relative; width: 100%; margin: 0; }
#header .hp-header .ps-searchbar__input {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.75rem 6.75rem 0.75rem 1rem;
  color: #052B52;
  font-size: 1rem;
  background: #F7FBFF;
  border: 1px solid #2DA8FF;
  border-radius: 0.5rem;
}
#header .hp-header .ps-searchbar__input::placeholder { color: #063A7A; opacity: 1; }
#header .hp-header .ps-searchbar__input:focus { background: #fff; border-color: #2DA8FF; box-shadow: 0 0 0 3px #2DA8FF26; }
#header .hp-header .ps-searchbar__submit { width: 3.5rem; color: #fff; background: #0B5ED7; border-radius: 0 0.5rem 0.5rem 0; }
#header .hp-header .ps-searchbar__submit:hover { background: #063A7A; }
#header .hp-header .ps-searchbar__clear { right: 3.65rem; min-width: 2.75rem; min-height: 2.75rem; }
#header .hp-header .ps-searchbar__dropdown { border: 1px solid #2DA8FF; border-radius: 0.5rem; box-shadow: 0 0.75rem 2rem #052B521f; }
#header .hp-navigation { position: relative; z-index: 1030; background: #052B52; border: 0; }
#header .hp-navigation__inner { display: flex; align-items: stretch; gap: 1rem; min-width: 0; }
#header .hp-navigation__menu { flex: 1 1 0; width: 0; min-width: 0; overflow: visible; }
#header .hp-navigation__menu .ps-mainmenu,
#header .hp-navigation__menu .ps-mainmenu__desktop { width: 100%; min-width: 0; }
#header .hp-navigation .higiprol-menu-row { display: flex; width: 100%; gap: 1rem; min-width: 0; }
#header .hp-navigation .higiprol-all-categories,
#header .hp-navigation .higiprol-responsive-categories { background: transparent; color: #fff; }
#header .hp-navigation .higiprol-all-categories summary,
#header .hp-navigation .higiprol-responsive-categories summary {
  min-height: 3.5rem;
  padding: 0.75rem 0.5rem;
  color: #fff;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 0.9375rem;
  font-weight: 600;
}
#header .hp-navigation summary .material-icons { color: #2DA8FF; }
#header .hp-navigation .ps-mainmenu__mobile-toggle { padding: 0; min-height: 3.5rem; }
#header .hp-navigation .higiprol-all-categories__panel,
#header .hp-navigation .higiprol-responsive-categories__panel { z-index: 1040; color: #052B52; background: #fff; border: 1px solid #2DA8FF; border-radius: 0 0 0.75rem 0.75rem; box-shadow: 0 1rem 2rem #052B5226; }
#header .hp-navigation .higiprol-all-categories__grid a { min-height: 2.75rem; color: #052B52; font-size: 0.9375rem; }
#header .hp-navigation .higiprol-all-categories__grid a:hover,
#header .hp-navigation .higiprol-all-categories__grid a[aria-current="page"] { color: #0B5ED7; background: #F7FBFF; }
#header .ps-mainmenu__desktop .higiprol-all-categories__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; }
#header .ps-mainmenu__desktop .higiprol-category-card { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto; gap: 0.6rem; min-height: 4.75rem; align-items: center; padding: 0.45rem 0.55rem; background: #F7FBFF; border-color: #2DA8FF; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
#header .ps-mainmenu__desktop .higiprol-category-card__media { display: grid; width: 4.5rem; aspect-ratio: 4 / 3; overflow: hidden; color: #0B5ED7; background: #fff; border-radius: 0.5rem; place-items: center; }
#header .ps-mainmenu__desktop .higiprol-category-card__media img { width: 100%; height: 100%; object-fit: cover; }
#header .ps-mainmenu__desktop .higiprol-category-card__media .material-icons { font-size: 1.6rem; }
#header .ps-mainmenu__desktop .higiprol-category-card__content { min-width: 0; }
#header .ps-mainmenu__desktop .higiprol-category-card__name { display: block; color: #052B52; font-size: 0.875rem; font-weight: 700; line-height: 1.35; }
#header .ps-mainmenu__desktop .higiprol-category-card__arrow { justify-self: end; color: #0B5ED7; transition: transform 150ms ease; }
#header .ps-mainmenu__desktop .higiprol-category-card:hover,
#header .ps-mainmenu__desktop .higiprol-category-card[aria-current="page"] { background: #2DA8FF14; border-color: #0B5ED7; box-shadow: 0 0.45rem 1rem #052B521f; transform: translateY(-0.1rem); }
#header .ps-mainmenu__desktop .higiprol-category-card:hover .higiprol-category-card__arrow,
#header .ps-mainmenu__desktop .higiprol-category-card[aria-current="page"] .higiprol-category-card__arrow { transform: translateX(0.2rem); }
@media (min-width: 1400px) {
  #header .ps-mainmenu__desktop .higiprol-category-card__name { white-space: nowrap; }
}
#header .hp-menu-links { display: flex; align-items: stretch; flex: 1 1 auto; gap: 0.25rem; min-width: 0; margin: 0; padding: 0; overflow-x: auto; list-style: none; scrollbar-width: thin; scrollbar-color: #2DA8FF #052B52; }
#header .hp-menu-links li { display: flex; flex: 0 0 auto; }
#header .hp-menu-links a { display: flex; align-items: center; min-height: 3.5rem; padding: 0.6rem 0.85rem; color: #fff; font-size: 0.9375rem; font-weight: 500; text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; }
#header .hp-menu-links a:hover,
#header .hp-menu-links a[aria-current="page"] { color: #fff; background: #0B5ED7; border-bottom-color: #2DA8FF; }
#header .hp-quote { display: inline-flex; flex: 0 0 auto; gap: 0.5rem; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0.65rem 1rem; color: #fff; background: linear-gradient(135deg, #0B5ED7, #2DA8FF); font-size: 0.9375rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
#header .hp-quote:hover { color: #fff; background: #0B5ED7; }
#header .hp-quote .material-icons { font-size: 1.25rem; }
#header :is(.hp-top, .hp-header, .hp-navigation) :is(a, button, summary):focus-visible { outline: 3px solid #2DA8FF; outline-offset: 3px; }
#header :is(.hp-top, .hp-navigation) :is(a, button, summary):focus-visible { outline-color: #2DA8FF; outline-offset: -4px; }

#footer .hp-footer { padding-top: clamp(2.75rem, 5vw, 4.5rem); color: #d5e3ed; background: #052B52; }
#footer .hp-footer .higiprol-footer-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
#footer .hp-footer .higiprol-footer-brand { min-width: 0; }
#footer .hp-footer .higiprol-footer-brand__logo { display: inline-block; width: min(12.5rem, 100%); padding: 0; margin: 0 0 1.25rem; background: transparent; border: 0; border-radius: 0; }
#footer .hp-footer .higiprol-footer-brand__logo img { display: block; width: 100%; height: auto; object-fit: contain; }
#footer .hp-footer .higiprol-footer-brand__copy { max-width: 18rem; margin: 0 0 1.25rem; }
#footer .hp-footer .higiprol-footer-brand__copy p { margin: 0; color: #b9ccda; font-size: 0.875rem; line-height: 1.65; }
#footer .hp-footer .higiprol-footer-brand__copy p + p { margin-top: 0.35rem; }
#footer .hp-footer .higiprol-footer-brand__social { display: flex; gap: 0.55rem; align-items: center; }
#footer .hp-footer .higiprol-footer-brand__social a { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; padding: 0; color: #d5e3ed; background: transparent; border: 1px solid #ffffff38; border-radius: 50%; transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
#footer .hp-footer .higiprol-footer-brand__social svg { width: 1rem; height: 1rem; fill: currentColor; }
#footer .hp-footer .higiprol-footer-brand__social a:hover { color: #fff; background: #0B5ED7; border-color: #2DA8FF; transform: translateY(-1px); }
#footer .hp-footer .higiprol-footer-brand__social a:focus-visible { color: #fff; border-color: #2DA8FF; outline: 2px solid #2DA8FF; outline-offset: 2px; }
#footer .hp-footer .higiprol-footer-column { min-width: 0; padding: 0; }
#footer .hp-footer .higiprol-footer-column h2 { margin: 0 0 1rem; color: #fff; font-size: 1rem; font-weight: 800; line-height: 1.3; }
#footer .hp-footer .higiprol-footer-column ul { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
#footer .hp-footer .higiprol-footer-column li { margin: 0; }
#footer .hp-footer .higiprol-footer-column a,
#footer .hp-footer .higiprol-footer-column li > span { color: #b9ccda; font-size: 0.8125rem; line-height: 1.5; text-decoration: none; }
#footer .hp-footer .higiprol-footer-information__cookies { width: auto; min-width: 0; min-height: 0; padding: 0; margin: 0; color: #b9ccda; font: inherit; font-size: 0.8125rem; line-height: 1.5; text-align: left; text-decoration: none; appearance: none; background: none; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; }
#footer .hp-footer .higiprol-footer-column a:hover,
#footer .hp-footer .higiprol-footer-information__cookies:hover,
#footer .hp-footer .higiprol-footer-information__cookies:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 0.22em; }
#footer .hp-footer .higiprol-footer-contact__details { display: grid; gap: 0.8rem; }
#footer .hp-footer .higiprol-footer-contact__details > div,
#footer .hp-footer .higiprol-footer-contact__details address { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: 0.55rem; align-items: start; margin: 0; color: #b9ccda; font-size: 0.8125rem; font-style: normal; line-height: 1.55; }
#footer .hp-footer .higiprol-footer-contact__details .material-icons { color: #2DA8FF; font-size: 1.05rem; line-height: 1.45; }
#footer .hp-footer .copyright { display: flex; width: 100%; gap: 0.75rem 2rem; align-items: center; justify-content: space-between; margin-top: 2.75rem; padding: 1.25rem 0; color: #9fb7c8; background: transparent; border-top: 1px solid #ffffff24; }
#footer .hp-footer .copyright__owner { flex: 0 1 auto; }
#footer .hp-footer .copyright span { color: #9fb7c8; font-size: 0.8125rem; line-height: 1.6; }
#footer .hp-footer .copyright__credit { text-align: right; }
#footer .hp-footer .copyright__credit a { color: inherit; text-decoration: none; }
#footer .hp-footer .copyright__credit a:hover { color: #d5e3ed; text-decoration: underline; text-underline-offset: 0.2em; }
#footer .hp-footer :is(a, button):focus-visible { outline: 3px solid #79d4f6; outline-offset: 3px; border-radius: 0.2rem; }

@media (min-width: 600px) {
  #footer .hp-footer .higiprol-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 0; }
  #footer .hp-footer .higiprol-footer-brand { grid-column: 1 / -1; padding-bottom: 0.5rem; }
  #footer .hp-footer .higiprol-footer-column { padding-inline: 1.5rem; border-left: 1px solid #ffffff1f; }
}
@media (max-width: 599.98px) {
  #footer .hp-footer .copyright { align-items: flex-start; flex-direction: column; }
  #footer .hp-footer .copyright__credit { text-align: left; }
}
@media (min-width: 768px) {
  #header .hp-header .header-bottom__row { grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem 1.5rem; }
  #header .hp-header .header-bottom__actions { grid-column: 2; }
}
@media (min-width: 1200px) {
  #header .hp-header { padding-block: 1.6rem; }
  #header .hp-header .header-bottom__row { grid-template-columns: minmax(11rem, 15rem) minmax(0, 1fr) auto; gap: 2rem; }
  #header .hp-header .header-bottom__search { grid-column: 2; grid-row: 1; }
  #header .hp-header .header-bottom__actions { grid-column: 3; }
  #footer .hp-footer .higiprol-footer-grid { grid-template-columns: minmax(14rem, 1.3fr) repeat(4, minmax(0, 1fr)); gap: 0; }
  #footer .hp-footer .higiprol-footer-brand { grid-column: auto; padding-right: 2rem; padding-bottom: 0; }
  #footer .hp-footer .higiprol-footer-column { padding-inline: 1.5rem; }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
  #header .hp-navigation__inner,
  #header .hp-navigation .higiprol-menu-row { gap: 0.5rem; }
  #header .hp-menu-links a { padding-inline: 0.65rem; }
  #header .hp-quote { padding-inline: 0.8rem; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  #header .hp-navigation__inner { position: relative; }
  #header .hp-navigation .higiprol-responsive-categories__panel { position: absolute; top: 100%; right: 0; left: 0; width: auto; }
}
@media (min-width: 900px) and (max-width: 1199.98px) {
  #header .hp-navigation .higiprol-responsive-categories__panel .higiprol-all-categories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 899.98px) {
  #header .hp-navigation .higiprol-responsive-categories__panel .higiprol-all-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1199.98px) {
  #header .hp-quote { display: none; }
}
@media (max-width: 599.98px) {
  #header .hp-top__inner { justify-content: center; gap: 0.25rem; text-align: center; }
  #header .hp-top__contacts { justify-content: center; gap: 0 0.75rem; }
  #header .hp-header .navbar-brand { max-width: 10rem; }
  #header .hp-navigation__inner { flex-wrap: wrap; gap: 0; }
  #header .hp-navigation__menu { flex-basis: 100%; }
  #header .hp-quote { width: 100%; min-height: 2.75rem; margin-bottom: 0.5rem; border-radius: 0.35rem; }
}

/* Homepage premium */
.page-index .page-content--home { padding: 0; overflow: clip; background: #fff; }
.page-index #wrapper { padding-block: 0; }
.page-index .higiprol-hero { position: relative; display: flex; min-height: clamp(32rem, 42vw, 39rem); color: #052B52; background-color: #F7FBFF; background-image: linear-gradient(90deg, #F7FBFFF2 0%, #F7FBFFD9 38%, #F7FBFF5C 58%, transparent 72%), url("../img/hero.png"); background-position: center; background-size: cover; background-repeat: no-repeat; }
.page-index .higiprol-hero__container { display: flex; align-items: center; width: 100%; min-height: inherit; padding-block: clamp(3.5rem, 7vw, 6rem); }
.page-index .higiprol-hero__content { position: relative; z-index: 1; width: min(100%, 41rem); }
.page-index .higiprol-hero__eyebrow,
.page-index .higiprol-section-heading p { margin: 0 0 0.7rem; color: #087bac; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.page-index .higiprol-hero__eyebrow { margin-bottom: 0.55rem; color: #0B5ED7; font-size: 0.6875rem; letter-spacing: 0.16em; }
.page-index .higiprol-hero h1 { max-width: 39rem; margin: 0; color: #052B52; font-size: clamp(2.25rem, 3.8vw, 3.85rem); font-weight: 750; letter-spacing: -0.045em; line-height: 0.98; }
.page-index .higiprol-hero__lead { max-width: 35rem; margin: 1.4rem 0 0; color: #063A7A; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.7; }
.page-index .higiprol-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; margin-top: 1.75rem; }
.page-index .higiprol-hero__actions .btn { display: inline-flex; gap: 0.55rem; align-items: center; justify-content: center; min-height: 3.25rem; padding-inline: 1.35rem; border-radius: 0.45rem; }
.page-index .higiprol-hero__actions .btn-primary { background: #0B5ED7; border-color: #0B5ED7; }
.page-index .higiprol-hero__actions .btn-primary:hover { background: #063A7A; border-color: #063A7A; }
.page-index .higiprol-hero__actions .btn-outline-primary { color: #063A7A; background: #fff; border-color: #0B5ED7; }
.page-index .higiprol-hero__actions .btn-outline-primary:hover { color: #0B5ED7; background: #2DA8FF14; border-color: #0B5ED7; }
.page-index .higiprol-hero__actions .btn:focus-visible { outline: 3px solid #2DA8FF; outline-offset: 3px; }
.page-index .higiprol-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1.5rem; max-width: 38rem; margin-top: 1.5rem; }
.page-index .higiprol-benefits > div { display: flex; gap: 0.65rem; align-items: center; min-width: 0; }
.page-index .higiprol-benefits .material-icons { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; place-items: center; color: #0B5ED7; background: #F7FBFF; border: 1px solid #2DA8FF; border-radius: 50%; }
.page-index .higiprol-benefits span span { display: grid; }
.page-index .higiprol-benefits strong { color: #052B52; font-size: 0.875rem; }
.page-index .higiprol-benefits small { color: #063A7A; font-size: 0.75rem; line-height: 1.45; }
.page-index .higiprol-section-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.page-index .higiprol-section-heading h2 { margin: 0; color: #12324b; font-size: clamp(1.65rem, 3vw, 2.4rem); letter-spacing: -0.035em; }
.page-index .higiprol-section-heading > span { max-width: 29rem; color: #526674; font-size: 0.9375rem; line-height: 1.6; }
.page-index .higiprol-home-categories,
.page-index .higiprol-product-showcase { padding-block: clamp(1rem, 2.5vw, 1.75rem); }
.page-index .higiprol-home-categories { padding-top: 2rem; padding-bottom: 1.5rem; scroll-margin-top: 2rem; background: #f5f9fc; }
.page-index .higiprol-home-categories .ps-categorytree { margin: 0; padding: 0; background: transparent; border: 0; }
.page-index .higiprol-home-categories .left-block__title { display: none; }
.page-index .higiprol-home-categories .category-tree__list[data-depth="0"] { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.page-index .higiprol-home-categories .category-tree__list[data-depth="0"] > .category-tree__item { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dce7ee; border-radius: 0.6rem; box-shadow: none; transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.page-index .higiprol-home-categories .category-tree__list[data-depth="0"] > .category-tree__item:hover { background: #2DA8FF0D; border-color: #0B5ED7; box-shadow: 0 0.9rem 1.8rem #052B5217; transform: translateY(-0.15rem); }
.page-index .higiprol-home-categories .category-tree__item-header { position: relative; min-height: 0; }
.page-index .higiprol-home-categories .category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header .category-tree__item-link { display: grid; grid-template-rows: 5rem minmax(2.75rem, 1fr) auto; row-gap: 0.1rem; min-height: 100%; padding: 0 0 0.4rem; color: #052B52; font-weight: 700; text-decoration: none; }
.page-index .higiprol-home-categories .category-tree__media { display: grid; width: 100%; height: 5rem; overflow: hidden; color: #0B5ED7; background: #F7FBFF; place-items: center; }
.page-index .higiprol-home-categories .category-tree__media img { width: 100%; height: 100%; object-fit: cover; }
.page-index .higiprol-home-categories .category-tree__media .material-icons { font-size: 2.5rem; }
.page-index .higiprol-home-categories .category-tree__name { align-self: center; padding: 0.45rem 0.4rem 0.15rem; font-size: 0.85rem; line-height: 1.25; text-align: center; }
.page-index .higiprol-home-categories .category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header .category-tree__item-link::after { align-self: end; justify-self: center; color: #0B5ED7; content: "arrow_forward"; font-family: "Material Icons"; font-size: 1rem; font-weight: normal; }
.page-index .higiprol-home-categories .category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header.parent .category-tree__item-link::after { visibility: hidden; }
.page-index .higiprol-home-categories .category-tree__item-header > .accordion-button { position: absolute; right: 50%; bottom: 0.2rem; width: 2rem; min-height: 2rem; padding: 0; border-radius: 50%; transform: translateX(50%); }
.page-index .higiprol-home-categories .accordion-body { padding: 0 1rem 1rem; }
.page-index .higiprol-home-categories .category-tree__list:not([data-depth="0"]) { margin: 0; padding: 0; list-style: none; }
.page-index .higiprol-home-categories .category-tree__list:not([data-depth="0"]) .category-tree__item-link { min-height: 2.75rem; padding: 0.35rem 0; color: #526674; font-size: 0.875rem; font-weight: 500; }
.page-index .higiprol-home-categories .category-tree__list:not([data-depth="0"]) .category-tree__item-link::before { content: none; }
.page-index .higiprol-home-categories .higiprol-category-account { display: none; }
.page-index .higiprol-home-promotion { padding: 2rem 0 0.75rem; background: #eaf4fa; }
.page-index .higiprol-home-promotion__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.page-index .higiprol-commercial-card { position: relative; display: flex; min-width: 0; min-height: 20rem; align-items: center; overflow: hidden; background-position: center right; background-size: cover; background-repeat: no-repeat; border-radius: 0.75rem; box-shadow: 0 1rem 2.5rem #052B5217; }
.page-index .higiprol-commercial-card::before { position: absolute; inset: 0; content: ""; pointer-events: none; }
.page-index .higiprol-commercial-card--quotes { color: #fff; background-color: #052B52; background-image: url("../img/home-orcamentos.png"); }
.page-index .higiprol-commercial-card--quotes::before { background: linear-gradient(90deg, #052B52F7 0%, #052B52E8 42%, #052B5266 68%, transparent 100%); }
.page-index .higiprol-commercial-card--promotions { color: #052B52; background-color: #F7FBFF; background-image: url("../img/home-promocoes.png"); }
.page-index .higiprol-commercial-card--promotions::before { background: linear-gradient(90deg, #F7FBFFFA 0%, #F7FBFFF0 42%, #F7FBFF80 68%, transparent 100%); }
.page-index .higiprol-commercial-card__content { position: relative; z-index: 1; display: flex; width: min(62%, 23rem); align-items: flex-start; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.5rem); }
.page-index .higiprol-commercial-card__eyebrow { margin: 0 0 0.55rem; color: #2DA8FF; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.page-index .higiprol-commercial-card h2 { margin: 0; color: inherit; font-size: clamp(1.5rem, 2.3vw, 2rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.page-index .higiprol-commercial-card__content > p:not(.higiprol-commercial-card__eyebrow) { margin: 0.8rem 0 1.35rem; color: inherit; font-size: 0.9375rem; line-height: 1.55; }
.page-index .higiprol-commercial-card .btn { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; padding-inline: 1rem; border-radius: 0.45rem; font-weight: 750; }
.page-index .higiprol-commercial-card--quotes .btn { color: #063A7A; background: #fff; border-color: #fff; }
.page-index .higiprol-commercial-card--quotes .btn:hover { color: #fff; background: #0B5ED7; border-color: #2DA8FF; }
.page-index .higiprol-commercial-card--promotions .btn { color: #fff; background: #0B5ED7; border-color: #0B5ED7; }
.page-index .higiprol-commercial-card--promotions .btn:hover { background: #063A7A; border-color: #063A7A; }
.page-index .higiprol-product-showcase { padding-top: 1.5rem; padding-bottom: 1.5rem; background: #fff; }
.page-index .higiprol-featured-slider { position: relative; }
.page-index .higiprol-featured-slider__viewport { overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.page-index .higiprol-featured-slider__viewport::-webkit-scrollbar { display: none; }
.page-index .higiprol-product-showcase__grid { display: flex; gap: 0.75rem; margin: 0; flex-wrap: nowrap; }
.page-index .higiprol-product-showcase__grid > .higiprol-home-product { flex: 0 0 calc((100% - 3rem) / 5); scroll-snap-align: start; }
.page-index .higiprol-featured-slider__control { position: absolute; z-index: 3; top: 50%; display: inline-grid; width: 2.5rem; height: 2.5rem; place-items: center; padding: 0; color: #063A7A; background: #fff; border: 1px solid #bcd6e8; border-radius: 50%; box-shadow: 0 0.4rem 1rem #052B5226; transform: translateY(-50%); transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, opacity 150ms ease; }
.page-index .higiprol-featured-slider__control:hover,
.page-index .higiprol-featured-slider__control:focus-visible { color: #fff; background: #0B5ED7; border-color: #0B5ED7; }
.page-index .higiprol-featured-slider__control:disabled { opacity: 0.45; pointer-events: none; }
.page-index .higiprol-featured-slider__control--prev { left: 0.75rem; }
.page-index .higiprol-featured-slider__control--next { right: 0.75rem; }
.page-index .higiprol-product-showcase .higiprol-home-product { display: flex; width: auto; height: auto; min-width: 0; min-height: 16.25rem; align-self: flex-start; flex-direction: column; background: #fff; border: 1px solid #dce7ee; border-radius: 0.75rem; box-shadow: 0 0.75rem 1.75rem #12324b0a; overflow: hidden; transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.page-index .higiprol-home-product:hover { border-color: #a9ccde; box-shadow: 0 1rem 2rem #12324b17; transform: translateY(-0.2rem); }
.page-index .higiprol-home-product__visual { position: relative; display: flex; width: 100%; height: 8.125rem; flex: 0 0 8.125rem; align-items: center; justify-content: center; padding: 0; overflow: hidden; background: #f7fafc; }
.page-index .higiprol-home-product__image { position: static; display: flex; width: 100%; height: 100%; min-width: 0; align-items: center; justify-content: center; box-sizing: border-box; padding: 0.5rem 0.625rem 0.625rem; overflow: visible; }
.page-index .higiprol-home-product__image img { display: block; width: auto; height: auto; max-width: 88%; max-height: 88%; object-fit: contain; object-position: center; mix-blend-mode: multiply; }
.page-index .higiprol-home-product .product-flags { position: absolute; z-index: 1; top: 0.55rem; left: 0.55rem; margin: 0; }
.page-index .higiprol-home-product .product-flags .product-flag { margin: 0; padding: 0.25rem 0.45rem; font-size: 0.6875rem; line-height: 1.1; border-radius: 0.3rem; }
.page-index .higiprol-home-product__body { position: relative; display: flex; width: 100%; min-width: 0; flex: 1 0 auto; flex-direction: column; gap: 0.25rem; padding: 0.5rem; background: #fff; border-top: 1px solid #e5edf2; }
.page-index .higiprol-home-product__brand { overflow: hidden; color: #526674; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.05em; line-height: 1.2; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.page-index .higiprol-home-product__title { position: static; display: -webkit-box; min-height: 2.1rem; max-height: 2.1rem; overflow: hidden; color: #12324b; font-size: 0.875rem; font-weight: 700; line-height: 1.2; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-index .higiprol-home-product__prices { display: flex; flex-wrap: wrap; gap: 0.2rem 0.5rem; align-items: baseline; }
.page-index .higiprol-home-product__price { color: #0B5ED7; font-size: 1.05rem; font-weight: 800; line-height: 1.2; }
.page-index .higiprol-home-product__regular-price { color: #71818c; font-size: 0.78rem; line-height: 1.2; text-decoration: line-through; }
.page-index .higiprol-home-product__actions { margin-top: auto; padding-top: 0.15rem; }
.page-index .higiprol-home-product__actions form { display: flex; gap: 0.35rem; align-items: stretch; margin: 0; }
.page-index .higiprol-home-product__actions .quantity-button { flex: 0 0 6rem; width: 6rem; min-width: 0; }
.page-index .higiprol-home-product__actions .quantity-button > .quantity-button__group.input-group { display: flex; width: 100%; height: 2.5rem; align-items: stretch; flex-direction: row; flex-wrap: nowrap; }
.page-index .higiprol-home-product__actions .quantity-button__group .btn { flex: 0 0 1.875rem; width: 1.875rem; min-width: 1.875rem; height: 2.5rem; min-height: 2.5rem; padding: 0; }
.page-index .higiprol-home-product__actions .quantity-button__group .material-icons { font-size: 1rem; }
.page-index .higiprol-home-product__actions .quantity-button__group .form-control { flex: 1 1 0; width: 0; min-width: 0; min-height: 2.5rem; height: 2.5rem; padding-inline: 0.1rem; font-size: 0.8125rem; text-align: center; }
.page-index .higiprol-home-product__actions form > .btn { display: inline-flex; width: auto; min-width: 0; min-height: 2.5rem; flex: 1 1 auto; gap: 0.3rem; align-items: center; justify-content: center; padding: 0.4rem 0.55rem; font-size: 0.75rem; line-height: 1; white-space: nowrap; border-radius: 0.4rem; }
.page-index .higiprol-home-product__actions form > .btn .material-icons { flex: 0 0 auto; font-size: 1.05rem; }
.page-index .higiprol-home-product__actions form > .btn > span:last-child { display: inline; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-index .higiprol-section-heading__aside { display: grid; max-width: 29rem; gap: 0.5rem; justify-items: end; color: #526674; font-size: 0.9375rem; line-height: 1.6; text-align: right; }
.page-index .higiprol-section-heading__aside a { color: #0B5ED7; font-weight: 750; text-decoration: none; }
.page-index .higiprol-section-heading__aside a:hover { color: #063A7A; text-decoration: underline; text-underline-offset: 0.2em; }
.page-index :is(.higiprol-home-categories, .higiprol-product-showcase) :is(a, button):focus-visible { outline: 3px solid #087bac; outline-offset: 3px; }

@media (max-width: 1199.98px) {
  .page-index .higiprol-hero { background-image: linear-gradient(90deg, #F7FBFFF7 0%, #F7FBFFE8 45%, #F7FBFF70 70%, transparent 100%), url("../img/hero.png"); background-position: 58% center; }
  .page-index .higiprol-hero__content { width: min(100%, 36rem); }
  .page-index .higiprol-home-promotion__grid { grid-template-columns: 1fr; }
  .page-index .higiprol-home-promotion { padding-top: 1.5rem; padding-bottom: 0.5rem; }
  .page-index .higiprol-commercial-card { min-height: 18rem; }
  .page-index .higiprol-product-showcase__grid > .higiprol-home-product { flex-basis: calc((100% - 1.5rem) / 3); }
  .page-index .higiprol-product-showcase .higiprol-home-product { min-height: 15.625rem; }
  .page-index .higiprol-product-showcase { padding-top: 1.25rem; padding-bottom: 1.25rem; }
  .page-index .higiprol-home-product__visual { height: clamp(7.1875rem, 12.5vw, 8.125rem); flex-basis: clamp(7.1875rem, 12.5vw, 8.125rem); }
  .page-index .higiprol-home-categories .category-tree__list[data-depth="0"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .page-index .higiprol-home-categories { padding-top: 1.75rem; padding-bottom: 1.25rem; }
}
@media (max-width: 767.98px) {
  .page-index .higiprol-hero { min-height: 39rem; background-image: linear-gradient(90deg, #F7FBFFFA 0%, #F7FBFFF0 62%, #F7FBFF99 100%), url("../img/hero.png"); background-position: 62% center; }
  .page-index .higiprol-hero__container { align-items: flex-start; padding-block: 3rem; }
  .page-index .higiprol-hero h1 { font-size: clamp(2rem, 9vw, 2.65rem); }
  .page-index .higiprol-section-heading { display: grid; gap: 0.75rem; align-items: start; }
  .page-index .higiprol-section-heading__aside { justify-items: start; text-align: left; }
  .page-index .higiprol-commercial-card { min-height: 18rem; background-position: 62% center; }
  .page-index .higiprol-commercial-card__content { width: min(72%, 23rem); padding: 1.5rem; }
  .page-index .higiprol-home-promotion { padding-top: 1.25rem; padding-bottom: 0.375rem; }
  .page-index .higiprol-home-categories .category-tree__list[data-depth="0"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-index .higiprol-home-categories { padding-top: 1.5rem; padding-bottom: 1rem; }
  .page-index .higiprol-product-showcase__grid { gap: 0.6rem; }
  .page-index .higiprol-product-showcase__grid > .higiprol-home-product { flex-basis: calc((100% - 0.6rem) / 2); }
  .page-index .higiprol-product-showcase .higiprol-home-product { min-height: 0; }
  .page-index .higiprol-product-showcase { padding-top: 1rem; padding-bottom: 1rem; }
  .page-index .higiprol-home-product__body { flex-grow: 0; }
  .page-index .higiprol-home-product__actions { margin-top: 0; }
}
@media (max-width: 599.98px) {
  .page-index .higiprol-hero__actions { display: grid; grid-template-columns: 1fr; }
  .page-index .higiprol-benefits { grid-template-columns: 1fr; }
  .page-index .higiprol-benefits small { display: block; }
  .page-index .higiprol-home-categories .category-tree__list[data-depth="0"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
  .page-index .higiprol-featured-slider__control { width: 2.25rem; height: 2.25rem; }
  .page-index .higiprol-featured-slider__control--prev { left: 0.625rem; }
  .page-index .higiprol-featured-slider__control--next { right: 0.625rem; }
  .page-index .higiprol-home-product__visual { height: clamp(6.25rem, 29vw, 7.1875rem); flex-basis: clamp(6.25rem, 29vw, 7.1875rem); padding: 0; }
  .page-index .higiprol-home-product__body { gap: 0.2rem; padding: 0.45rem; }
  .page-index .higiprol-home-product__title { min-height: 2rem; max-height: 2rem; font-size: 0.825rem; line-height: 1.2; }
  .page-index .higiprol-home-product__actions form { gap: 0.3rem; flex-direction: column; }
  .page-index .higiprol-home-product__actions .quantity-button { width: 100%; flex-basis: 2.5rem; }
  .page-index .higiprol-home-product__actions form > .btn { width: 100%; flex-basis: 2.5rem; }
}
@media (max-width: 479.98px) {
  .page-index .higiprol-home-categories .category-tree__media { height: 4.5rem; }
  .page-index .higiprol-home-categories .category-tree__list[data-depth="0"] > .category-tree__item > .category-tree__item-header .category-tree__item-link { grid-template-rows: 4.5rem minmax(2.5rem, 1fr) auto; }
  .page-index .higiprol-home-categories .category-tree__name { font-size: 0.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .page-index .higiprol-home-product { transition: none; }
}

/* Catálogo e listagens premium */
.page-category #wrapper { padding-block: 0 3.5rem; background: #f7f9fc; }
.page-category .higiprol-category-hero__breadcrumb { margin: 0 0 1.25rem; }
.page-category .higiprol-category-hero__breadcrumb .breadcrumb { --bs-breadcrumb-divider: "›"; --bs-breadcrumb-item-padding-x: 0.5rem; padding: 0; margin: 0; color: #607d9c; font-size: 0.8125rem; line-height: 1.4; }
.page-category .higiprol-category-hero__breadcrumb .breadcrumb-item { color: #607d9c; }
.page-category .higiprol-category-hero__breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: #7a99b9; content: "›"; font-size: 0.9375rem; font-weight: 600; }
.page-category .higiprol-category-hero__breadcrumb .breadcrumb-item:first-child .breadcrumb-link { color: #064DA8; font-weight: 700; }
.page-category .higiprol-category-hero__breadcrumb .breadcrumb-link { color: #607d9c; text-decoration: none; }
.page-category .higiprol-category-hero__breadcrumb .breadcrumb-link:hover { color: #0B5ED7; }
.page-category .higiprol-category-header { margin: 0; }
.page-category .higiprol-category-hero { display: grid; grid-template-columns: minmax(0, 57%) minmax(0, 43%); min-height: 12.5rem; color: #12324b; background: #f7fbff; border: 1px solid #e7eef4; border-radius: 0.65rem; box-shadow: none; overflow: hidden; }
.page-category .higiprol-category-hero--no-image { grid-template-columns: minmax(0, 1fr); }
.page-category .higiprol-category-hero__content { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; gap: 0; min-width: 0; padding: clamp(1.2rem, 2.2vw, 1.75rem); }
.page-category .higiprol-category-hero h1 { margin: 0; color: #064DA8; font-size: clamp(2.4rem, 2.7vw, 2.6rem); font-weight: 750; letter-spacing: -0.035em; line-height: 1; }
.page-category .higiprol-category-hero .category__description { max-width: 34rem; max-height: 4.35em; margin-top: 0.9rem; overflow: hidden; color: #315B87; font-size: 0.975rem; line-height: 1.45; }
.page-category .higiprol-category-hero .category__description :last-child { margin-bottom: 0; }
.page-category .higiprol-category-hero__image { position: relative; min-height: 12.5rem; background: #eaf4fa; overflow: hidden; }
.page-category .higiprol-category-hero__image::after { position: absolute; z-index: 1; top: 0; bottom: 0; left: 0; width: 6rem; pointer-events: none; content: ""; background: linear-gradient(90deg, #F7FBFF 0%, rgba(247, 251, 255, 0.95) 30%, rgba(247, 251, 255, 0) 100%); }
.page-category .higiprol-category-hero__image picture,
.page-category .higiprol-category-hero__image img { display: block; width: 100%; height: 100%; }
.page-category .higiprol-category-hero__image img { position: absolute; inset: 0; object-fit: cover; object-position: right center; }
.page-category .subcategory { margin-top: 1.25rem; }
.page-category .subcategory__list,
.page-category .subcategory__list--with-images { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.85rem; }
.page-category .subcategory__link,
.page-category .subcategory__link--with-image { display: grid; min-height: 5.5rem; grid-template-columns: auto minmax(0, 1fr); gap: 0.8rem; align-items: center; padding: 0.85rem; color: #12324b; text-decoration: none; background: #fff; border: 1px solid #dce7ee; border-radius: 0.65rem; box-shadow: 0 0.5rem 1.25rem #12324b0a; }
.page-category .subcategory__link::after { content: none; }
.page-category .subcategory__link:hover { color: #075981; border-color: #a9ccde; box-shadow: 0 0.75rem 1.5rem #12324b12; }
.page-category .subcategory__thumbnail { width: 3.5rem; height: 3.5rem; object-fit: contain; }
.page-category .subcategory__name { min-width: 0; font-size: 0.875rem; font-weight: 700; line-height: 1.35; }
.page-category .columns-container { padding-top: 0.25rem; }
.page-category #left-column { display: flex; flex-direction: column; gap: 1rem; }
.page-category #left-column > .ps-categorytree { display: none; }
.page-category #left-column .left-block { margin: 0; }
.page-category #search_filters_wrapper { padding: 0; margin: 0; background: #FFFFFF; border: 1px solid #E7EEF4; border-radius: 0.65rem; box-shadow: none; overflow: hidden; }
.page-category #search_filters_wrapper,
.page-category #search-filters,
.page-category #search-filters .facet,
.page-category #search-filters .accordion-collapse,
.page-category #search-filters .accordion-body,
.page-category #search-filters .search-filters__slider-container,
.page-category #search-filters .js-faceted-slider-container { min-width: 0; max-width: 100%; }
.page-category #search-filters .form-check-label,
.page-category #search-filters .js-search-link { min-width: 0; overflow-wrap: anywhere; }
.page-category #search-filters img { max-width: 100%; height: auto; }
.page-category #search-filters .noUi-target { width: auto; max-width: calc(100% - 1.5rem); }
.page-category #search-filters > .left-block__title { display: flex; align-items: center; min-height: 3.15rem; padding: 0.8rem 1rem; margin: 0; color: #063A7A; font-size: 0.9rem; font-weight: 800; background: #F7FBFF; border: 0; border-bottom: 1px solid #E7EEF4; }
.page-category #search-filters > .left-block__title::before { margin-right: 0.55rem; color: #0B5ED7; content: "filter_alt"; font-family: "Material Icons"; font-size: 1.1rem; font-weight: normal; }
.page-category #search-filters .search-filters__clear { padding: 0.75rem 1rem 1rem; margin: 0; }
.page-category #search-filters .js-search-filters-clear-all { width: 100%; min-height: 2.35rem; color: #0B5ED7; font-size: 0.8125rem; background: #FFFFFF; border-color: #0B5ED7; }
.page-category #search-filters .js-search-filters-clear-all:hover { color: #063A7A; background: #F1F7FD; border-color: #0B5ED7; }
.page-category #search-filters .accordion-item { border: 0; border-bottom: 1px solid #E7EEF4; }
.page-category #search-filters .accordion-item:last-child { border-bottom: 0; }
.page-category #search-filters .accordion-button { --bs-accordion-btn-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230B5ED7' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E"); --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon); min-height: 2.55rem; padding: 0.65rem 1rem 0.45rem; color: #063A7A; font-size: 0.8125rem; font-weight: 750; background: #F7FBFF; box-shadow: none; }
.page-category #search-filters .accordion-button:hover { background: #F1F7FD; }
.page-category #search-filters .accordion-button:not(.collapsed) { color: #063A7A; background: #F7FBFF; }
.page-category #search-filters .accordion-body { padding: 0.1rem 1rem 0.7rem; }
.page-category #search-filters .search-filters__item { min-height: 1.8rem; background: #FFFFFF; }
.page-category #search-filters .search-filters__item:hover { background: #F1F7FD; }
.page-category #search-filters .search-filters__form-check { gap: 0.45rem; min-height: 1.8rem; }
.page-category #search-filters .form-check-input { width: 0.95rem; height: 0.95rem; margin: 0; background-color: #FFFFFF; border-color: #C9D8E5; }
.page-category #search-filters .form-check-label,
.page-category #search-filters .js-search-link { width: 100%; color: #315B87; font-size: 0.8rem; line-height: 1.4; }
.page-category #search-filters .js-search-link { display: flex; gap: 0.35rem; align-items: baseline; justify-content: space-between; }
.page-category #search-filters .search-filters__magnitude { margin-left: auto; color: #7890A4; font-size: 0.75rem; }
.page-category #search-filters .form-check-input:checked { background-color: #0B5ED7; border-color: #0B5ED7; }
.page-category #search-filters .form-check-input:focus-visible { outline: 2px solid #2DA8FF; outline-offset: 2px; box-shadow: none; }
.page-category #search-filters .search-filters__slider-container { padding-top: 0.35rem; margin-bottom: 0; }
.page-category #search-filters .search-filters__slider-values { margin-top: 0.65rem; color: #7890A4; font-size: 0.75rem; }
.page-category #search-filters .noUi-target { background: #E7EEF4; }
.page-category #search-filters .noUi-connect { background: #0B5ED7; }
.page-category #search-filters .noUi-handle { background: #fff; border-color: #0B5ED7; box-shadow: 0 0.15rem 0.4rem rgba(6, 58, 122, 0.18); }
.page-category #products { padding: 0; background: transparent; border: 0; }
.page-category .products__selection { display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; align-items: center; justify-content: space-between; min-height: 3rem; padding: 0.375rem 0.75rem; margin: 0 0 0.6rem; background: #fff; border: 1px solid #dbe6ef; border-radius: 0.5rem; }
.page-category .products__count { flex: 0 1 auto; min-width: 0; color: #526674; font-size: 0.8125rem; line-height: 1.4; }
.page-category .products__count strong { color: #063A7A; font-size: 0.9375rem; font-weight: 800; }
.page-category .products__toolbar-controls { display: flex; flex: 0 1 auto; gap: 0.5rem; align-items: center; justify-content: flex-end; min-width: 0; margin-left: auto; }
.page-category .products__sort-label { display: flex; flex: 0 0 auto; align-items: center; color: #7890A4; font-size: 0.75rem; line-height: 1.3; white-space: nowrap; }
.page-category .products__sort-dropdown { position: relative; min-width: 0; }
.page-category .products__sort-dropdown-button { display: flex; width: 100%; min-width: 0; height: 2.5rem; align-items: center; justify-content: space-between; padding: 0.4rem 0.75rem; overflow: hidden; color: #315B87; font-size: 0.8125rem; line-height: 1.25; text-align: left; text-overflow: ellipsis; white-space: nowrap; background: #FFFFFF; border: 1px solid #DCE7F0; border-radius: 0.5rem; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.page-category .products__sort-dropdown-button::after { flex: 0 0 auto; margin-left: 0.75rem; border-top-color: #0B5ED7; }
.page-category .products__sort-dropdown-button:hover { color: #064DA8; background: #F7FBFF; border-color: #B8D2E8; }
.page-category .products__sort-dropdown-button:focus-visible { border-color: #2DA8FF; outline: 0; box-shadow: 0 0 0 0.2rem rgba(45, 168, 255, 0.22); }
.page-category .products__sort-dropdown .dropdown-menu { right: 0; left: auto; width: 100%; min-width: min(13.75rem, calc(100vw - 2rem)); max-width: min(16.25rem, calc(100vw - 2rem)); padding: 0.25rem; background: #FFFFFF; border: 1px solid #DCE7F0; border-radius: 0.625rem; box-shadow: 0 0.65rem 1.5rem rgba(6, 58, 122, 0.12); z-index: 1050; }
.page-category .products__sort-dropdown .dropdown-item { position: relative; display: flex; min-height: 2.5rem; align-items: center; padding: 0.5rem 2rem 0.5rem 0.75rem; color: #315B87; font-size: 0.8125rem; line-height: 1.35; white-space: normal; background: #FFFFFF; border-radius: 0.375rem; }
.page-category .products__sort-dropdown .dropdown-item:hover,
.page-category .products__sort-dropdown .dropdown-item:focus { color: #064DA8; background: #F1F7FD; }
.page-category .products__sort-dropdown .dropdown-item[aria-current="true"] { color: #064DA8; background: #EAF4FD; font-weight: 600; }
.page-category .products__sort-dropdown .dropdown-item[aria-current="true"]::after { position: absolute; right: 0.7rem; color: #0B5ED7; content: "check"; font-family: "Material Icons"; font-size: 1rem; font-weight: normal; }
.page-category .products__filter-button { min-height: 2.375rem; gap: 0.35rem; padding: 0.4rem 0.65rem; color: #0B5ED7; font-size: 0.8125rem; border-color: #dbe6ef; border-radius: 0.4rem; }
.page-category #js-active-search-filters { margin-bottom: 1rem; }
.page-category .active-filters__list { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; padding: 0.75rem; margin: 0; list-style: none; background: #eaf4fa; border: 1px solid #cfe3ed; border-radius: 0.65rem; }
.page-category .active-filters__item { margin: 0; }
.page-category .active-filters__title { color: #12324b; font-size: 0.8125rem; font-weight: 750; }
.page-category .active-filters__link { display: inline-flex; gap: 0.35rem; align-items: center; min-height: 2.25rem; color: #075981; background: #fff; border-color: #a9ccde; }
.page-category #js-product-list .products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.page-category #js-product-list .product-miniature { min-width: 0; height: 100%; overflow: hidden; background: #fff; border: 1px solid #dbe6ef; border-radius: 0.6rem; box-shadow: none; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.page-category #js-product-list .product-miniature:hover { border-color: #9fc5e8; box-shadow: 0 0.5rem 1.25rem #052b5212; transform: translateY(-0.125rem); }
.page-category #js-product-list .product-miniature__inner { display: flex; height: 100%; min-height: 0; flex-direction: column; }
.page-category #js-product-list .product-miniature__top { position: relative; flex: 0 0 auto; padding: 0.4rem; background: #f7fbff; }
.page-category #js-product-list .product-miniature__image-container { display: flex; height: 9.5rem; aspect-ratio: auto; align-items: center; justify-content: center; overflow: hidden; }
.page-category #js-product-list .product-miniature__image-link,
.page-category #js-product-list .product-miniature__image-link picture { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.page-category #js-product-list .product-miniature__image-container .product-miniature__image { display: block; width: auto; height: auto; max-width: 96%; max-height: 96%; object-fit: contain; object-position: center; mix-blend-mode: multiply; }
.page-category #js-product-list .product-miniature__bottom { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; padding: 0.5rem; border-top: 1px solid #edf2f6; }
.page-category #js-product-list .product-miniature__infos { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.page-category #js-product-list .product-miniature__title { display: -webkit-box; min-height: 2.125rem; max-height: 2.125rem; overflow: hidden; color: #063A7A; font-size: 0.8125rem; font-weight: 700; line-height: 1.3; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-category #js-product-list .product-miniature__variants { margin-top: 0.25rem; }
.page-category #js-product-list .product-miniature__prices { display: flex; flex-wrap: wrap; gap: 0.2rem 0.45rem; align-items: baseline; margin-top: 0.25rem; }
.page-category #js-product-list .product-miniature__price { color: #0B5ED7; font-size: 1rem; font-weight: 800; line-height: 1.25; }
.page-category #js-product-list .product-miniature__regular-price { color: #7890A4; font-size: 0.75rem; line-height: 1.25; text-decoration: line-through; }
.page-category #js-product-list .product-miniature__actions { margin-top: auto; padding-top: 0.35rem; }
.page-category #js-product-list .product-miniature__form { display: flex; gap: 0.35rem; align-items: stretch; margin: 0; }
.page-category #js-product-list .quantity-button { flex: 0 0 5.5rem; width: 5.5rem; min-width: 0; }
.page-category #js-product-list .quantity-button__group.input-group { display: flex; width: 100%; height: 2.5rem; align-items: stretch; flex-direction: row; flex-wrap: nowrap; }
.page-category #js-product-list .quantity-button__group .btn { flex: 0 0 1.7rem; width: 1.7rem; min-width: 1.7rem; height: 2.5rem; min-height: 2.5rem; padding: 0; }
.page-category #js-product-list .quantity-button__group .form-control { flex: 1 1 0; width: 0; min-width: 0; height: 2.5rem; min-height: 2.5rem; padding: 0.1rem; font-size: 0.75rem; text-align: center; }
.page-category #js-product-list .product-miniature__add,
.page-category #js-product-list .product-miniature__details { display: inline-flex; min-width: 0; min-height: 2.5rem; flex: 1 1 auto; gap: 0.25rem; align-items: center; justify-content: center; padding: 0.4rem 0.45rem; color: #fff; font-size: 0.75rem; line-height: 1; white-space: nowrap; background-color: #0B5ED7; border-color: #0B5ED7; border-radius: 0.4rem; }
.page-category #js-product-list .product-miniature__details { width: 100%; margin-top: 0; }
.page-category #js-product-list .product-miniature__add-text { display: inline; overflow: hidden; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.page-category #js-product-list .product-miniature__add .material-icons { display: inline; flex: 0 0 auto; font-size: 1rem; }
.page-category .products__pagination { margin: 1rem 0 0; }
.page-category .pagination__container { display: flex; gap: 0.6rem 1rem; align-items: center; justify-content: space-between; padding: 0.5rem 0; background: transparent; border: 0; border-radius: 0; }
.page-category .pagination__number { flex: 0 1 auto; margin: 0; color: #607D9C; font-size: 0.75rem; line-height: 1.4; }
.page-category .pagination__nav { min-width: 0; margin-left: auto; }
.page-category .pagination { display: flex; flex-wrap: wrap; gap: 0.3rem; justify-content: flex-end; margin: 0; }
.page-category .pagination .page-link { display: inline-flex; min-width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; padding: 0.3rem 0.55rem; color: #607D9C; font-size: 0.75rem; line-height: 1; background: #FFFFFF; border: 1px solid #DBE6EF; border-radius: 0.4375rem; box-shadow: none; transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease; }
.page-category .pagination .page-link:hover { color: #064DA8; background: #F1F7FD; border-color: #B8D2E8; }
.page-category .pagination .page-link:focus-visible { border-color: #2DA8FF; outline: 0; box-shadow: 0 0 0 0.2rem rgba(45, 168, 255, 0.2); }
.page-category .pagination .page-link:disabled,
.page-category .pagination .page-link[aria-disabled="true"] { color: #9AAEBD; background: #F7FAFC; border-color: #E7EEF4; }
.page-category .pagination .active .page-link,
.page-category .pagination .page-link[aria-current="page"] { color: #FFFFFF; background: #0B5ED7; border-color: #0B5ED7; }
.page-category .ps-facetedsearch--mobile.offcanvas-xl { width: min(24rem, 92vw); color: #12324b; }
.page-category .ps-facetedsearch--mobile .offcanvas-header { min-height: 4.25rem; color: #fff; background: #092c48; }
.page-category .ps-facetedsearch--mobile .offcanvas-title { color: #fff; }
.page-category .ps-facetedsearch--mobile .btn-close { filter: invert(1); }
.page-category .ps-facetedsearch--mobile .offcanvas-body { padding: 0; background: #f5f8fa; }
.page-category .ps-facetedsearch--mobile #search-filters { background: #fff; }
.page-category :is(a, button, input, summary):focus-visible { outline: 3px solid #087bac; outline-offset: 3px; }

@media (min-width: 1200px) {
  .page-category .products__selection { flex-wrap: nowrap; }
  .page-category .products__sort-dropdown { flex: 0 0 14.5rem; width: 14.5rem; }
  .page-category .products__sort-dropdown-button { width: 100%; }
  .page-category .products__sort-dropdown .dropdown-menu { width: 14.5rem; min-width: 13.75rem; max-width: 16.25rem; margin-top: 0.25rem; box-sizing: border-box; }
  .page-category .columns-container > .row { display: grid; width: 100%; min-width: 0; max-width: 100%; grid-template-columns: 240px minmax(0, 1fr); column-gap: 16px; row-gap: 0.75rem; margin-inline: 0; box-sizing: border-box; }
  .page-category #left-column { grid-column: 1; grid-row: 2 / span 20; flex: 0 0 240px; width: 240px; min-width: 240px; max-width: 240px; padding: 0; box-sizing: border-box; }
  .page-category #left-column > .ps-facetedsearch { position: sticky; top: var(--scroll-padding-top, 12rem); align-self: start; }
  .page-category #center-column { display: contents; }
  .page-category #center-column > * { grid-column: 2; width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .page-category #center-column > #js-product-list-header { grid-column: 1 / -1; grid-row: 1; }
  .page-category #left-column > .ps-facetedsearch,
  .page-category .ps-facetedsearch--mobile.offcanvas-xl,
  .page-category .ps-facetedsearch--mobile .offcanvas-body,
  .page-category #search_filters_wrapper,
  .page-category #_desktop_faceted,
  .page-category #_mobile_faceted,
  .page-category #search-filters { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .page-category #search_filters_wrapper { flex: 0 0 100%; max-height: calc(100vh - var(--scroll-padding-top, 12rem) - 1rem); overflow-x: hidden; overflow-y: auto; scrollbar-color: #B8CDDE transparent; scrollbar-width: thin; }
  .page-category #search_filters_wrapper::-webkit-scrollbar { width: 0.4rem; }
  .page-category #search_filters_wrapper::-webkit-scrollbar-track { background: transparent; }
  .page-category #search_filters_wrapper::-webkit-scrollbar-thumb { background: #B8CDDE; border-radius: 999px; }
  .page-category #search_filters_wrapper::-webkit-scrollbar-thumb:hover { background: #8FADC4; }
  .page-category #search-filters .accordion,
  .page-category #search-filters .accordion-item,
  .page-category #search-filters .accordion-button,
  .page-category #search-filters .accordion-collapse,
  .page-category #search-filters .accordion-body,
  .page-category #search-filters ul,
  .page-category #search-filters li,
  .page-category #search-filters .search-filters__item,
  .page-category #search-filters .search-filters__form-check { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .page-category #search-filters .accordion-button,
  .page-category #search-filters .form-check-label,
  .page-category #search-filters .search-filters__color-label,
  .page-category #search-filters .js-search-link { white-space: normal; overflow-wrap: anywhere; }
  .page-category #search-filters .search-filters__slider-container,
  .page-category #search-filters .js-faceted-slider-container { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .page-category #search-filters .noUi-target { width: calc(100% - 24px); max-width: calc(100% - 24px); margin-inline: 12px; box-sizing: border-box; }
  .page-category #search-filters .noUi-base,
  .page-category #search-filters .noUi-connects { width: 100%; max-width: 100%; }
  .page-category #search-filters img { max-width: 100%; height: auto; object-fit: contain; }
  .page-category #search-filters .color { flex: 0 0 auto; max-width: 100%; background-size: contain; }
}

@media (max-width: 1199.98px) {
  .page-category #left-column { display: block; position: static; top: auto; align-self: auto; flex: 0 0 0; width: 0; min-width: 0; max-width: 0; height: 0; padding: 0; margin: 0; overflow: visible; }
  .page-category #center-column { flex: 0 0 100%; width: 100%; max-width: 100%; }
  .page-category #offcanvas-faceted { position: fixed; width: min(24rem, 92vw); max-width: 92vw; height: 100vh; }
  .page-category .products__filter-button { display: inline-flex; }
  .page-category .subcategory__list,
  .page-category .subcategory__list--with-images { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-category #js-product-list .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .page-category .higiprol-category-hero__breadcrumb { margin-bottom: 1.125rem; }
  .page-category .higiprol-category-hero { grid-template-columns: minmax(0, 60%) minmax(0, 40%); }
  .page-category .higiprol-category-hero__image::after { width: 4.5rem; }
  .page-category .higiprol-category-hero,
  .page-category .higiprol-category-hero__image { min-height: 12rem; }
  .page-category .higiprol-category-hero h1 { font-size: clamp(2rem, 3.5vw, 2.25rem); }
  .page-category #js-product-list .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-category #js-product-list .product-miniature__image-container { height: 9.5rem; }
}
@media (max-width: 767.98px) {
  .page-category #center-column { width: 100%; }
  .page-category .higiprol-category-hero { grid-template-columns: 1fr; }
  .page-category .higiprol-category-hero,
  .page-category .higiprol-category-hero__image { min-height: 0; }
  .page-category .higiprol-category-hero__image::after { content: none; }
  .page-category .higiprol-category-hero__image picture { height: auto; }
  .page-category .higiprol-category-hero__image img { position: static; width: 100%; height: auto; object-fit: contain; object-position: right center; }
  .page-category .subcategory__list,
  .page-category .subcategory__list--with-images { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-category .products__selection { align-items: stretch; flex-direction: column; }
  .page-category .products__sort { width: 100%; }
  .page-category .products__sort-dropdown { flex: 1 1 auto; }
  .page-category .products__sort-dropdown-button { width: 100%; min-width: 0; }
  .page-category .pagination__container { align-items: stretch; flex-direction: column; }
  .page-category .pagination__nav { width: 100%; margin-left: 0; }
  .page-category .pagination { justify-content: flex-start; }
  .page-category #js-product-list .product-miniature__image-container { height: 9rem; }
}
@media (max-width: 479.98px) {
  .page-category .higiprol-category-hero__content { padding: 1.25rem; }
  .page-category .higiprol-category-hero__breadcrumb { margin-bottom: 1.125rem; }
  .page-category .higiprol-category-hero h1 { font-size: 1.875rem; }
  .page-category .subcategory__list,
  .page-category .subcategory__list--with-images { grid-template-columns: 1fr; }
  .page-category #js-product-list .products { grid-template-columns: 1fr; }
  .page-category .products__sort { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .page-category .products__sort-label { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .page-category #js-product-list .product-miniature { transition: none; }
}

/* Ficha de produto premium — estilos isolados da página de produto */
.page-product .columns-container { max-width: 86rem; padding-block: 0.75rem 5rem; }
.page-product .breadcrumb__wrapper { margin-bottom: 0.35rem; }
.page-product .product__container { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(23rem, 0.88fr); gap: clamp(1rem, 1.5vw, 1.5rem); align-items: start; margin-bottom: 4rem; }
.page-product .product__left { min-width: 0; min-height: 0; height: auto; align-self: start; padding: clamp(0.85rem, 1.5vw, 1.25rem); background: #f7fbff; border: 1px solid #e7eef4; border-radius: 0.875rem; box-shadow: 0 0.75rem 2rem #052b520a; }
.page-product .product__images { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 0.875rem; min-width: 0; align-items: start; }
.page-product .product__carousel { grid-column: 2; grid-row: 1; height: 22.5rem; overflow: hidden; background: #fff; border: 1px solid #e4ebef; border-radius: 0.75rem; }
.page-product .product__carousel .carousel-inner,
.page-product .product__carousel .carousel-item { height: 100%; }
.page-product .product__carousel .carousel-item { background: #fff; }
.page-product .product__carousel .carousel-item picture { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; box-sizing: border-box; padding: 0.75rem; }
.page-product .product__carousel .carousel-item img { display: block; width: auto; height: auto; max-width: 73%; max-height: 73%; padding: 0; object-fit: contain; object-position: center; transform: none; }
.page-product .product__carousel-control { width: 3rem; height: 3rem; top: 50%; bottom: auto; margin: 0 0.75rem; color: #12324b; background: #ffffffeb; border: 1px solid #d7e3ea; border-radius: 50%; box-shadow: 0 0.5rem 1.5rem #12324b1f; opacity: 1; transform: translateY(-50%); }
.page-product .product__carousel-control:hover { color: #087bac; border-color: #9fc7da; }
.page-product .product__zoom { display: inline-grid; width: 3rem; height: 3rem; right: 1rem; bottom: 1rem; color: #12324b; background: #ffffffeb; border: 1px solid #d7e3ea; border-radius: 50%; box-shadow: 0 0.5rem 1.5rem #12324b1f; place-items: center; }
.page-product .product__zoom:hover { color: #087bac; border-color: #9fc7da; }
.page-product .product__thumbnails { grid-column: 1; grid-row: 1; max-height: 22.5rem; margin-top: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; }
.page-product .product__thumbnails-list { display: flex; flex-direction: column; gap: 0.6rem; width: 100%; min-width: 0; padding: 0.15rem; }
.page-product .product__thumbnail { flex: 0 0 4.65rem; width: 4.65rem; height: 4.65rem; padding: 0.35rem; overflow: hidden; background: #fff; border: 1px solid #d5e2e9; border-radius: 0.55rem; transition: border-color 160ms ease, box-shadow 160ms ease; }
.page-product .product__thumbnail:hover { border-color: #8ebbd0; }
.page-product .product__thumbnail.active { border-color: #087bac; box-shadow: 0 0 0 0.15rem #087bac1f; }
.page-product .product__thumbnail-image { width: 100%; height: 100%; object-fit: contain; }
.page-product .product__right { position: sticky; top: 1.5rem; min-width: 0; min-height: 0; height: auto; align-self: start; padding: clamp(0.9rem, 1.2vw, 1.25rem); background: #fff; border: 1px solid #e7eef4; border-radius: 0.875rem; box-shadow: 0 0.75rem 2rem #052b520d; }
.page-product .product__container > .product__right { min-height: 0; height: fit-content; align-self: start; }
.page-product .product__right > .product__actions { margin-bottom: 0; }
.page-product .product__name { margin-bottom: 0.5rem; color: #063a7a; font-size: 1.8rem; font-weight: 800; line-height: 1.05; letter-spacing: -0.03em; }
.page-product .higiprol-product-meta { display: flex; flex-wrap: wrap; gap: 0.3rem 0.85rem; align-items: center; margin-bottom: 0.55rem; color: #607d9c; font-size: 0.8125rem; }
.page-product .higiprol-product-reference { margin: 0; }
.page-product .higiprol-product-reference span { color: #315b87; font-weight: 700; }
.page-product .product__manufacturer { margin: 0; }
.page-product .product__manufacturer a { color: #087bac; font-size: 0.8125rem; font-weight: 750; text-decoration: none; }
.page-product .product__prices { padding: 0.7rem 0 0.8rem; margin-bottom: 0.75rem; border-block: 1px solid #e4ebef; }
.page-product .product__prices-block { display: grid; gap: 0.4rem; }
.page-product .product__prices-inline { display: flex; flex-wrap: wrap; gap: 0.4rem 0.75rem; align-items: baseline; }
.page-product .product__price { color: #0b5ed7; font-size: clamp(2rem, 4vw, 2.65rem); font-weight: 850; line-height: 1; }
.page-product .product__regular-price { color: #758692; font-size: 0.9375rem; text-decoration: line-through; }
.page-product .product__discount-percentage,
.page-product .product__discount-amount { display: inline-flex; padding: 0.25rem 0.5rem; color: #8a2f1a; background: #fff0eb; border-radius: 999px; font-size: 0.75rem; font-weight: 800; }
.page-product .product__unit-price,
.page-product .product__pack-price,
.page-product .product__tax-infos,
.page-product .product__taxless-price { color: #647782; font-size: 0.75rem; line-height: 1.5; }
.page-product .product__description-short { margin-bottom: 1.5rem; color: #526674; font-size: 0.9375rem; line-height: 1.7; }
.page-product .product__description-short > :last-child { margin-bottom: 0; }
.page-product .product__variants { display: grid; gap: 0.65rem; padding: 0.9rem; margin-bottom: 0.85rem; background: #f6f9fb; border: 1px solid #e0e9ee; border-radius: 0.7rem; }
.page-product .product-variant { min-width: 0; margin: 0; }
.page-product .product-variant__label { display: flex; flex-wrap: wrap; align-items: baseline; margin-bottom: 0.55rem; }
.page-product .product-variant__legend { margin: 0; color: #12324b; font-size: 0.8125rem; font-weight: 800; }
.page-product .product-variant__selected { color: #526674; font-size: 0.8125rem; }
.page-product .product-variant .form-select { min-height: 2.9rem; color: #12324b; background-color: #fff; border-color: #cbdce5; border-radius: 0.45rem; }
.page-product .product-variant__radios,
.page-product .product-variant__colors { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.page-product .product-variant__radio { padding: 0; margin: 0; }
.page-product .product-variant__radio .form-check-input { position: absolute; opacity: 0; }
.page-product .product-variant__radio label { display: inline-flex; min-height: 2.65rem; align-items: center; padding: 0.55rem 0.8rem; color: #12324b; background: #fff; border: 1px solid #cbdce5; border-radius: 0.45rem; cursor: pointer; }
.page-product .product-variant__radio .form-check-input:checked + label { color: #075981; background: #eaf4fa; border-color: #087bac; box-shadow: inset 0 0 0 1px #087bac; }
.page-product .product-variant__radio .form-check-input:focus-visible + label { outline: 3px solid #087bac; outline-offset: 3px; }
.page-product .input-color__label { display: grid; width: 2.75rem; height: 2.75rem; padding: 0.25rem; background: #fff; border: 1px solid #cbdce5; border-radius: 50%; cursor: pointer; place-items: center; }
.page-product .input-color__input:checked + .input-color__label,
.page-product .input-color__label--active { border-color: #087bac; box-shadow: 0 0 0 0.15rem #087bac1f; }
.page-product .input-color__input:focus-visible + .input-color__label { outline: 3px solid #087bac; outline-offset: 3px; }
.page-product .input-color__label .color { width: 100%; height: 100%; border-radius: 50%; }
.page-product .product__availability { padding: 0.65rem 0.75rem; margin-bottom: 0.65rem; background: #f6f9fb; border: 1px solid #e0e9ee; border-radius: 0.55rem; }
.page-product .product__availability-status { display: flex; gap: 0.55rem; align-items: flex-start; font-size: 0.8125rem; font-weight: 750; }
.page-product .product__availability-icon { font-size: 1.15rem; }
.page-product .product__delivery-infos { margin-top: 0.45rem; color: #526674; font-size: 0.75rem; line-height: 1.5; }
.page-product .product__actions-qty-add { display: flex; flex-wrap: nowrap; gap: 0.625rem; align-items: stretch; }
.page-product .product__quantity { flex: 0 0 8rem; width: 8rem; }
.page-product .product__quantity .form-control { min-height: 2.75rem; border-color: #cbdce5; }
.page-product .product__add-to-cart { display: flex; flex: 1 1 auto; }
.page-product .product__add-to-cart-button { width: 100%; min-height: 2.75rem; gap: 0.5rem; color: #fff; background: #0b5ed7; border-color: #0b5ed7; border-radius: 0.5rem; font-size: 0.9375rem; font-weight: 800; box-shadow: 0 0.75rem 1.75rem #0b5ed72e; }
.page-product .product__add-to-cart-button:hover { background: #063a7a; border-color: #063a7a; }
.page-product .product__add-to-cart-button:disabled,
.page-product .product__add-to-cart-button[aria-disabled="true"] { color: #697b86; background: #e5ebef; border-color: #d8e1e6; box-shadow: none; opacity: 1; }
.page-product .product__minimal-quantity { display: flex; gap: 0.4rem; align-items: flex-start; margin-top: 0.5rem; color: #526674; font-size: 0.75rem; }
.page-product .product__additional-info { padding-top: 0.7rem; margin-top: 0.7rem; border-top: 1px solid #e4ebef; }
.page-product .higiprol-product-quote { display: flex; min-height: 2.5rem; align-items: center; justify-content: center; margin-top: 0.4rem; color: #fff; background: #0b5ed7; border: 1px solid #0b5ed7; border-radius: 0.5rem; font-size: 0.875rem; font-weight: 800; text-decoration: none; transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease; }
.page-product .higiprol-product-quote:hover { color: #fff; background: #063a7a; border-color: #063a7a; }
.page-product .product__additional-info .ps-sharebuttons { display: none; }
.page-product .higiprol-product-b2b-login { display: flex; gap: 0.4rem; align-items: center; justify-content: space-between; padding: 0.5rem 0.6rem; margin-top: 0.2rem; background: #f1f7fd; border: 1px solid #dce7f0; border-radius: 0.625rem; }
.page-product .higiprol-product-b2b-login > div { min-width: 0; }
.page-product .higiprol-product-b2b-login h2 { margin: 0 0 0.25rem; color: #063a7a; font-size: 1rem; font-weight: 800; line-height: 1.25; }
.page-product .higiprol-product-b2b-login p { margin: 0; color: #315b87; font-size: 0.8125rem; line-height: 1.5; }
.page-product .higiprol-product-b2b-login .btn { flex: 0 0 auto; min-height: 2rem; padding: 0.25rem 0.6rem; color: #0b5ed7; background: #fff; border-color: #0b5ed7; border-radius: 0.5rem; font-size: 0.8125rem; font-weight: 750; white-space: nowrap; }
.page-product .higiprol-product-b2b-login .btn:hover { color: #064da8; background: #f7fbff; border-color: #064da8; }
.page-product .product__bottom { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: start; margin-bottom: 1.125rem; }
.page-product .product__tabs { min-width: 0; background: #fff; }
.page-product .product__tabs-nav { overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid #E7EEF4; scrollbar-width: thin; }
.page-product .product__tabs .nav-tabs { display: flex; flex-wrap: nowrap; gap: 0.1rem; width: max-content; min-width: 100%; margin: 0; border: 0; }
.page-product .product__tabs .nav-item { flex: 0 0 auto; margin: 0; }
.page-product .product__tabs .nav-link { position: relative; min-height: 2.5rem; padding: 0.5rem 0.65rem; color: #526674; background: transparent; border: 0; border-radius: 0; font-size: 0.9rem; font-weight: 700; line-height: 1.25; white-space: nowrap; }
.page-product .product__tabs .nav-link::after { position: absolute; right: 1rem; bottom: -1px; left: 1rem; height: 2px; background: transparent; content: ""; }
.page-product .product__tabs .nav-link:hover { color: #0B5ED7; background: #F1F7FD; }
.page-product .product__tabs .nav-link.active { color: #0B5ED7; background: transparent; }
.page-product .product__tabs .nav-link.active::after { background: #0B5ED7; }
.page-product .product__tabs .nav-link:focus-visible { color: #0B5ED7; outline: 2px solid #2DA8FF; outline-offset: -3px; }
.page-product .product__tabs-content { min-width: 0; padding: 0.6rem 0 0; color: #315B87; font-size: 0.975rem; line-height: 1.55; }
.page-product .product__tabs-content > .tab-pane { min-width: 0; }
.page-product .product__tabs .rich-text { max-width: none; line-height: 1.55; }
.page-product .product__bottom-left { min-width: 0; }
.page-product .product__tabs .rich-text :is(p, ul, ol) { margin-bottom: 0.65rem; }
.page-product .product__tabs .rich-text li + li { margin-top: 0.1rem; }
@media (min-width: 1200px) {
  .page-product .product__tabs .product__features-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
}
.page-product .product__tabs .rich-text > :first-child { margin-top: 0; }
.page-product .product__tabs .rich-text > :last-child { margin-bottom: 0; }
.page-product .product__tabs .rich-text :is(h2, h3, h4) { margin: 1rem 0 0.45rem; color: #063A7A; font-weight: 750; line-height: 1.2; }
.page-product .product__tabs .rich-text :is(p, li) { color: #315B87; }
.page-product .product__tabs :is(img, video, iframe, table) { max-width: 100%; }
.page-product .product__features-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: none; margin: 0; }
.page-product .product__feature { display: grid; grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr); align-items: start; gap: 0.625rem; padding: 0.4rem 0; line-height: 1.4; border-bottom: 1px solid #E7EEF4; }
.page-product .product__feature:last-child { border-bottom: 0; }
.page-product .product__feature dt { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #063A7A; font-size: 0.875rem; font-weight: 750; }
.page-product .product__feature dd { min-width: 0; margin: 0; color: #526674; font-size: 0.875rem; overflow-wrap: anywhere; }
.page-product .details__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.page-product .details__item { display: grid; grid-template-columns: minmax(9rem, 0.4fr) minmax(0, 0.6fr); gap: 0.75rem; align-items: center; padding: 0.6rem 0; border-bottom: 1px solid #E7EEF4; }
.page-product .details__item:last-child { border-bottom: 0; }
.page-product .details__left,
.page-product .details__right { min-width: 0; }
.page-product .details__title { color: #063a7a; font-size: 0.8125rem; font-weight: 750; }
.page-product .details__right { color: #315b87; font-size: 0.8125rem; overflow-wrap: anywhere; }
.page-product .details__right a { color: #0b5ed7; }
.page-product .details__manufacturer-logo { width: auto; max-width: 8rem; max-height: 3rem; object-fit: contain; }
.page-product .product__attachments { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.page-product .attachment { position: relative; min-width: 0; padding: 0.75rem; background: #fff; border: 1px solid #e7eef4; border-radius: 0.625rem; }
.page-product .attachment__name { margin: 0 0 0.35rem; color: #063a7a; font-size: 0.875rem; font-weight: 750; }
.page-product .attachment__description { margin: 0 0 0.65rem; color: #607d9c; font-size: 0.75rem; line-height: 1.5; }
.page-product .attachment__link { display: inline-flex; gap: 0.35rem; align-items: center; color: #0b5ed7; font-size: 0.8125rem; font-weight: 700; text-decoration: none; }
.page-product .attachment__link .material-icons { font-size: 1.1rem; }
.page-product :is(.ps-crossselling, .product-comments-wrapper) { min-width: 0; padding: clamp(1rem, 2vw, 1.5rem); margin: 0 0 1.5rem; background: #f7fbff; border: 1px solid #e7eef4; border-radius: 0.875rem; }
.page-product .ps-crossselling .module-products { max-width: 100%; padding: 0; }
.page-product .ps-crossselling .section-title { margin-bottom: 1rem; color: #063a7a; font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 800; line-height: 1.2; }
.page-product .ps-crossselling .products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.875rem; margin: 0; }
.page-product .ps-crossselling .product-miniature { min-width: 0; height: 100%; overflow: hidden; background: #fff; border: 1px solid #e2ebf2; border-radius: 0.75rem; box-shadow: 0 0.4rem 1rem #052b5208; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.page-product .ps-crossselling .product-miniature:hover { border-color: #b8d2e8; box-shadow: 0 0.7rem 1.4rem #052b5212; transform: translateY(-0.125rem); }
.page-product .ps-crossselling .product-miniature__inner { display: flex; height: 100%; flex-direction: column; }
.page-product .ps-crossselling .product-miniature__top { position: relative; padding: 0.6rem; background: #fff; }
.page-product .ps-crossselling .product-miniature__image-container { display: flex; height: 10rem; align-items: center; justify-content: center; overflow: hidden; background: #f7fbff; }
.page-product .ps-crossselling .product-miniature__image-container :is(a, picture) { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.page-product .ps-crossselling .product-miniature__image { width: auto; height: auto; max-width: 92%; max-height: 92%; object-fit: contain; object-position: center; }
.page-product .ps-crossselling .product-miniature__bottom { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; padding: 0.75rem; border-top: 1px solid #edf2f6; }
.page-product .ps-crossselling .product-miniature__infos { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; }
.page-product .ps-crossselling .product-miniature__title { display: -webkit-box; min-height: 2.25rem; max-height: 2.25rem; overflow: hidden; color: #063a7a; font-size: 0.875rem; font-weight: 700; line-height: 1.3; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-product .ps-crossselling .product-miniature__prices { margin-top: 0.4rem; }
.page-product .ps-crossselling .product-miniature__price { color: #0b5ed7; font-size: 1rem; font-weight: 800; }
.page-product .ps-crossselling .product-miniature__actions { margin-top: auto; padding-top: 0.6rem; }
.page-product .product-comments-wrapper :is(h2, h3) { color: #063a7a; }
.page-product :is(a, button, input, select, summary):focus-visible { outline: 3px solid #087bac; outline-offset: 3px; }

@media (max-width: 1199.98px) {
  .page-product .product__container { grid-template-columns: minmax(0, 1.05fr) minmax(21rem, 0.95fr); gap: 1.25rem; }
  .page-product .product__images { grid-template-columns: minmax(0, 1fr); }
  .page-product .product__carousel { grid-column: 1; grid-row: 1; }
  .page-product .product__carousel { height: 20rem; }
  .page-product .product__name { font-size: 1.6rem; }
  .page-product .product__thumbnails { grid-column: 1; grid-row: 2; max-height: none; margin-top: 0.75rem; overflow-x: auto; overflow-y: hidden; }
  .page-product .product__thumbnails-list { flex-direction: row; width: max-content; min-width: 100%; }
  .page-product .ps-crossselling .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .page-product .product__container { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
  .page-product .product__right { position: static; padding: 1.5rem; }
  .page-product .product__bottom { grid-template-columns: 1fr; }
  .page-product .ps-crossselling .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .page-product .columns-container { padding-block: 1.25rem 3.5rem; }
  .page-product .product__container { grid-template-columns: 1fr; margin-bottom: 2.5rem; }
  .page-product .product__left,
  .page-product .product__right { padding: 1rem; border-radius: 0.75rem; }
  .page-product .product__carousel { height: 17rem; }
  .page-product .product__name { font-size: 1.45rem; }
  .page-product .product__bottom { margin-bottom: 0.875rem; }
  .page-product .product__attachments { grid-template-columns: 1fr; }
  .page-product .higiprol-product-b2b-login { align-items: stretch; flex-direction: column; }
  .page-product .higiprol-product-b2b-login .btn { width: 100%; }
}
@media (max-width: 479.98px) {
  .page-product .product__carousel { height: 16.875rem; }
  .page-product .product__name { font-size: 1.4rem; }
  .page-product .product__carousel-control { width: 2.65rem; height: 2.65rem; margin-inline: 0.4rem; }
  .page-product .product__zoom { width: 2.65rem; height: 2.65rem; right: 0.65rem; bottom: 0.65rem; }
  .page-product .product__thumbnail { flex-basis: 4.5rem; width: 4.5rem; height: 4.5rem; }
  .page-product .product__variants { padding: 1rem; }
  .page-product .product__actions-qty-add { flex-wrap: wrap; }
  .page-product .product__quantity { flex-basis: 100%; width: 100%; }
  .page-product .product__add-to-cart { flex-basis: 100%; }
  .page-product .details__item { grid-template-columns: 1fr; gap: 0.25rem; }
  .page-product .ps-crossselling .products { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .page-product .product__thumbnail { transition: none; }
}

/* Carrinho, checkout e confirmação — apresentação premium */
.page-cart .columns-container,
.page-order .columns-container,
.page-order-confirmation .columns-container { max-width: 84rem; padding-block: 2.25rem 5rem; }
.page-cart .cart-grid,
.page-order .checkout-grid { --bs-gutter-x: 2rem; align-items: flex-start; }
.page-cart .higiprol-cart-header { padding: clamp(1.5rem, 3vw, 2.25rem); margin-bottom: 1.25rem; color: #fff; background: linear-gradient(135deg, #092c48, #087bac); border-radius: 0.85rem; box-shadow: 0 1.25rem 3rem #092c4824; }
.page-cart .higiprol-cart-header p { margin: 0 0 0.4rem; color: #8ed7f2; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.page-cart .higiprol-cart-header h1 { margin: 0 0 0.45rem; color: #fff; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 850; letter-spacing: -0.035em; }
.page-cart .higiprol-cart-header span { color: #ffffffc7; font-size: 0.875rem; line-height: 1.6; }
.page-cart .cart-grid__products-details { padding: 1rem; background: #f5f8fa; border: 1px solid #dce7ee; border-radius: 0.85rem; }
.page-cart .cart__overview > hr { display: none; }
.page-cart .cart__list { display: grid; gap: 0.85rem; }
.page-cart .cart__item { padding: 1rem; background: #fff; border: 1px solid #dce7ee; border-radius: 0.7rem; box-shadow: 0 0.65rem 1.75rem #12324b0a; }
.page-cart .product-line { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1.15rem; align-items: start; }
.page-cart .product-line__image { display: grid; min-height: 8.5rem; overflow: hidden; background: #f7fafc; border-radius: 0.55rem; place-items: center; }
.page-cart .product-line__img { width: 8rem; height: 8rem; padding: 0.5rem; object-fit: contain; }
.page-cart .product-line__content { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; min-width: 0; }
.page-cart .product-line__content-left { min-width: 0; }
.page-cart .product-line__title { display: inline-block; margin-bottom: 0.45rem; color: #12324b; font-size: 0.9375rem; font-weight: 800; line-height: 1.45; text-decoration: none; }
.page-cart .product-line__item--info,
.page-cart .product-line__item--small-info { color: #647782; font-size: 0.75rem; line-height: 1.5; }
.page-cart .product-line__item--availability { margin-top: 0.45rem; font-size: 0.75rem; }
.page-cart .product-line__item--prices { display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; align-items: baseline; margin-top: 0.7rem; }
.page-cart .product-line__item-price { color: #087bac; font-size: 1rem; font-weight: 800; }
.page-cart .product-line__item-unit-price { color: #71818c; font-size: 0.7rem; }
.page-cart .product-line__item-regular-price { color: #82919a; font-size: 0.75rem; text-decoration: line-through; }
.page-cart .product-line__content-right { display: grid; gap: 0.65rem; justify-items: end; }
.page-cart .product-line__quantity-button { width: 7.5rem; }
.page-cart .product-line__quantity-button .form-control { min-height: 2.65rem; border-color: #cbdce5; }
.page-cart .product-line__price { color: #12324b; font-size: 1rem; font-weight: 850; white-space: nowrap; }
.page-cart .product-line__actions { grid-column: 1 / -1; display: flex; gap: 0.8rem; align-items: center; padding-top: 0.7rem; border-top: 1px solid #e7edf1; }
.page-cart .product-line__actions a { color: #a33b3b; font-size: 0.75rem; font-weight: 750; }
.page-cart .cart__continue-shopping { min-height: 2.8rem; margin-top: 1rem; border-color: #a9c8d8; border-radius: 0.45rem; font-weight: 750; }
.page-cart .cart-grid__aside-wrapper,
.page-order .checkout-grid__aside-wrapper { position: sticky; top: 1.25rem; padding: 1.35rem; overflow: hidden; background: #fff; border: 1px solid #dce7ee; border-radius: 0.85rem; box-shadow: 0 1.25rem 3rem #12324b14; }
.page-cart .cart-grid__aside-wrapper > h2 { padding-bottom: 1rem; margin-bottom: 0.75rem; color: #12324b; border-bottom: 1px solid #e4ebef; font-size: 1.25rem; font-weight: 850; }
.page-cart .cart-summary__line,
.page-order .cart-summary__line { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; padding-block: 0.55rem; color: #526674; font-size: 0.8125rem; }
.page-cart .cart-summary__value,
.page-order .cart-summary__value { color: #12324b; font-weight: 750; text-align: right; }
.page-cart .cart-summary__total,
.page-order .cart-summary__total { padding-top: 0.75rem; margin-top: 0.5rem; border-top: 1px solid #dce7ee; }
.page-cart .cart-summary__line--bold,
.page-order .cart-summary__line--bold { color: #12324b; font-size: 0.9375rem; font-weight: 850; }
.page-cart .cart-summary__actions .btn-primary { width: 100%; min-height: 3.15rem; color: #fff; background: #087bac; border-color: #087bac; border-radius: 0.45rem; font-size: 0.9375rem; font-weight: 800; box-shadow: 0 0.75rem 1.75rem #087bac2e; }
.page-cart .cart-summary__actions .btn-primary:hover { background: #075981; border-color: #075981; }
.page-cart .cart-summary__actions .btn-primary:disabled { color: #697b86; background: #e5ebef; border-color: #d8e1e6; box-shadow: none; opacity: 1; }
.page-cart .cart-voucher,
.page-order .cart-voucher { margin-top: 0.85rem; border-top: 1px solid #e1e9ed; }
.page-cart .cart-voucher__accordion-button,
.page-order .cart-voucher__accordion-button { padding: 0.8rem 0; color: #075981; background: transparent; font-size: 0.8125rem; font-weight: 800; box-shadow: none; }
.page-cart .cart-voucher__form,
.page-order .cart-voucher__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; }
.page-cart .cart-voucher__form .form-control,
.page-order .cart-voucher__form .form-control { min-height: 2.75rem; border-color: #cbdce5; border-radius: 0.4rem; }
.page-cart .cart-voucher__form .btn,
.page-order .cart-voucher__form .btn { min-height: 2.75rem; border-radius: 0.4rem; }
.page-cart .cart-voucher__list,
.page-cart .cart-voucher__offers,
.page-order .cart-voucher__list,
.page-order .cart-voucher__offers { padding: 0; margin: 0; list-style: none; }
.page-cart .higiprol-cart-assurance,
.page-order .higiprol-checkout-assurance { padding-top: 1rem; margin-top: 1rem; border-top: 1px solid #e1e9ed; }
.page-cart .higiprol-cart-assurance .blockreassurance,
.page-order .higiprol-checkout-assurance .blockreassurance { display: grid; gap: 0.2rem; }
.page-cart .higiprol-cart-assurance .reassurance,
.page-order .higiprol-checkout-assurance .reassurance { display: flex; gap: 0.7rem; align-items: center; padding: 0.7rem 0; color: #12324b; text-decoration: none; }
.page-cart .higiprol-cart-assurance .reassurance__image,
.page-order .higiprol-checkout-assurance .reassurance__image { display: grid; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; place-items: center; }
.page-cart .higiprol-cart-assurance .reassurance__image img,
.page-order .higiprol-checkout-assurance .reassurance__image img { max-width: 2rem; max-height: 2rem; }
.page-cart .higiprol-cart-assurance .reassurance__content,
.page-order .higiprol-checkout-assurance .reassurance__content { display: grid; gap: 0.1rem; }
.page-cart .higiprol-cart-assurance .reassurance__title,
.page-order .higiprol-checkout-assurance .reassurance__title { color: #12324b; font-size: 0.75rem; font-weight: 800; }
.page-cart .higiprol-cart-assurance .reassurance__desc,
.page-order .higiprol-checkout-assurance .reassurance__desc { color: #71818c; font-size: 0.6875rem; line-height: 1.4; }
#blockcart-modal .modal-content { overflow: hidden; border: 0; border-radius: 0.85rem; box-shadow: 0 1.5rem 4rem #092c4840; }
#blockcart-modal .modal-header { padding: 1.15rem 1.35rem; color: #fff; background: linear-gradient(135deg, #092c48, #087bac); border: 0; }
#blockcart-modal .blockcart-modal__title { display: flex; gap: 0.6rem; align-items: center; margin: 0; color: #fff; font-size: 1.15rem; font-weight: 850; }
#blockcart-modal .btn-close { filter: invert(1); }
#blockcart-modal .modal-body { padding: 1.35rem; }
#blockcart-modal .blockcart-modal__image { width: 100%; max-height: 16rem; padding: 0.75rem; background: #f7fafc; border-radius: 0.65rem; object-fit: contain; }
#blockcart-modal .blockcart-modal__name { color: #12324b; font-size: 1rem; font-weight: 800; line-height: 1.45; }
#blockcart-modal .blockcart-modal__price { margin-top: 0.55rem; color: #087bac; font-size: 1.1rem; font-weight: 850; }
#blockcart-modal .blockcart-modal__property,
#blockcart-modal .blockcart-modal__quantity { margin-top: 0.3rem; color: #647782; font-size: 0.75rem; }
#blockcart-modal .blockcart-modal__summary { padding: 1.1rem; background: #f5f8fa; border-radius: 0.65rem; }
#blockcart-modal .blockcart-modal__total { display: flex; gap: 1rem; justify-content: space-between; padding-block: 0.45rem; color: #526674; font-size: 0.8125rem; }
#blockcart-modal .blockcart-modal__total .value { color: #12324b; font-weight: 800; text-align: right; }
#blockcart-modal .modal-footer { padding: 1rem 1.35rem; background: #f7fafc; border-color: #e1e9ed; }
#blockcart-modal .modal-footer .btn { min-height: 2.8rem; border-radius: 0.45rem; font-weight: 750; }
.page-order .checkout-steps { padding: 1.1rem max(1rem, calc((100% - 76rem) / 2)); background: #f5f8fa; border-bottom: 1px solid #dce7ee; }
.page-order .checkout-steps__list::before { background: #cbdce5; }
.page-order .checkout-steps__number { background: #758792; border-color: #f5f8fa; }
.page-order .checkout-steps__step--current .checkout-steps__number,
.page-order .checkout-steps__step.js-current-step .checkout-steps__number { background: #087bac; box-shadow: 0 0 0 0.2rem #087bac1f; }
.page-order .checkout-steps__step--success .checkout-steps__number { background: #188251; }
.page-order .checkout-steps__btn { color: #647782; font-size: 0.8125rem; font-weight: 750; }
.page-order .checkout-steps__btn.active { color: #12324b; font-weight: 850; }
.page-order .checkout-grid__content .checkout-step { padding: clamp(1.35rem, 3vw, 2rem); background: #fff; border: 1px solid #dce7ee; border-radius: 0.85rem; box-shadow: 0 0.85rem 2.5rem #12324b0d; }
.page-order .checkout-step__title { color: #12324b; font-size: clamp(1.25rem, 2.5vw, 1.65rem); font-weight: 850; }
.page-order .checkout-step .form-label { color: #12324b; font-size: 0.8125rem; font-weight: 750; }
.page-order .checkout-step :is(.form-control, .form-select) { min-height: 2.85rem; border-color: #cbdce5; border-radius: 0.45rem; }
.page-order .checkout-step :is(.form-control, .form-select):focus { border-color: #087bac; box-shadow: 0 0 0 0.2rem #087bac1f; }
.page-order .address__list { gap: 0.85rem; }
.page-order .address-card__container { min-height: 0; padding: 1rem; background: #f7fafc; border-color: #dce7ee; border-radius: 0.65rem; }
.page-order .address-card:has(input:checked) .address-card__container { background: #eef7fb; border-color: #087bac; box-shadow: 0 0 0 0.15rem #087bac1f; }
.page-order .delivery-option__item { background: #f7fafc; border-color: #dce7ee; border-radius: 0.65rem; }
.page-order .delivery-option__item:has(input:checked) { background: #eef7fb; border-color: #087bac; box-shadow: 0 0 0 0.15rem #087bac1f; }
.page-order .delivery-option__extra[data-active] { padding: 0 1rem 1rem; }
.page-order .checkout__summary-accordion-header .accordion-button { padding: 0 0 1rem; color: #12324b; background: transparent; font-size: 1.15rem; font-weight: 850; box-shadow: none; }
.page-order .cart-summary__products-number { color: #526674; font-size: 0.8125rem; }
.page-order .cart-summary-product { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.7rem; padding-block: 0.65rem; }
.page-order .cart-summary-product__img { width: 4rem; height: 4rem; padding: 0.25rem; background: #f7fafc; border-radius: 0.4rem; object-fit: contain; }
.page-order .cart-summary-product__link { color: #12324b; font-size: 0.75rem; font-weight: 750; line-height: 1.4; text-decoration: none; }
.page-order #checkout-payment-step .payment-option { background: #f7fafc; border-color: #dce7ee; border-radius: 0.65rem; }
.page-order #checkout-payment-step .payment-option:has(.payment-option__input:checked) { background: #eef7fb; border-color: #087bac; box-shadow: 0 0 0 0.15rem #087bac1f; }
.page-order #checkout-payment-step .payment-option__input:focus-visible { outline: 3px solid #087bac; outline-offset: 3px; }
.page-order #conditions-to-approve { background: #f1f7fa; border-color: #d6e5ed; border-radius: 0.65rem; }
.page-order #payment-confirmation .btn-primary { min-height: 3rem; color: #fff; background: #087bac; border-color: #087bac; border-radius: 0.45rem; font-weight: 800; }
.page-order #payment-confirmation .btn-primary:disabled,
.page-order #payment-confirmation .btn-primary.disabled { color: #697b86; background: #e5ebef; border-color: #d8e1e6; box-shadow: none; opacity: 1; }
.page-order-confirmation .alert-success { padding: clamp(1.35rem, 3vw, 2.25rem); color: #104e3a; background: linear-gradient(135deg, #e8f7f1, #f7fcfa); border-color: #b8dfcf; border-radius: 0.85rem; box-shadow: 0 1rem 2.5rem #18825114; }
.page-order-confirmation .card { border-color: #dce7ee; border-radius: 0.85rem; box-shadow: 0 0.85rem 2.5rem #12324b0d; }
.page-order-confirmation .order-confirmation__details-list { background: #f5f8fa; border-color: #dce7ee; border-radius: 0.65rem; }
.page-order-confirmation .order-confirmation__product { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #e1e9ed; }
.page-order-confirmation .order-confirmation__product:last-child { border-bottom: 0; }
.page-order-confirmation .order-confirmation__product-img { width: 6rem; height: 6rem; padding: 0.4rem; background: #f7fafc; border-radius: 0.5rem; object-fit: contain; }
.page-order-confirmation .order-confirmation__product-content { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; min-width: 0; }
.page-order-confirmation .order-confirmation__product-title { color: #12324b; font-weight: 800; }
.page-order-confirmation .order-confirmation__line { display: flex; gap: 1rem; justify-content: space-between; padding-block: 0.45rem; color: #526674; }
.page-order-confirmation .order-confirmation__line--bold { color: #12324b; font-weight: 850; }
.page-cart :is(a, button, input, select):focus-visible,
.page-order :is(a, button, input, select, textarea):focus-visible,
.page-order-confirmation :is(a, button, input):focus-visible,
#blockcart-modal :is(a, button):focus-visible { outline: 3px solid #087bac; outline-offset: 3px; }

@media (max-width: 991.98px) {
  .page-cart .cart-grid__aside-wrapper,
  .page-order .checkout-grid__aside-wrapper { position: static; margin-top: 1.25rem; }
  .page-cart .product-line { grid-template-columns: 7rem minmax(0, 1fr); }
  .page-cart .product-line__image { min-height: 7rem; }
  .page-cart .product-line__img { width: 6.5rem; height: 6.5rem; }
}
@media (max-width: 767.98px) {
  .page-cart .columns-container,
  .page-order .columns-container,
  .page-order-confirmation .columns-container { padding-block: 1.25rem 3.5rem; }
  .page-order .checkout-steps { padding: 0.8rem 1rem; }
  .page-order .checkout-steps__mobile { display: flex; }
  #blockcart-modal .modal-footer { align-items: stretch; flex-direction: column; }
  #blockcart-modal .modal-footer .btn { width: 100%; }
}
@media (max-width: 575.98px) {
  .page-cart .higiprol-cart-header,
  .page-cart .cart-grid__aside-wrapper,
  .page-order .checkout-grid__aside-wrapper { padding: 1rem; }
  .page-cart .cart-grid__products-details { padding: 0.65rem; }
  .page-cart .cart__item { padding: 0.75rem; }
  .page-cart .product-line { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.75rem; }
  .page-cart .product-line__image { min-height: 5.5rem; }
  .page-cart .product-line__img { width: 5.25rem; height: 5.25rem; padding: 0.25rem; }
  .page-cart .product-line__content { grid-template-columns: 1fr; }
  .page-cart .product-line__content-right { grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
  .page-cart .product-line__price { justify-self: end; }
  .page-cart .product-line__actions { grid-column: auto; }
  .page-cart .cart-voucher__form,
  .page-order .cart-voucher__form { grid-template-columns: 1fr; }
  .page-order .address__list { grid-template-columns: 1fr; }
  .page-order .checkout-grid__content .checkout-step { padding: 1rem; }
  .page-order-confirmation .order-confirmation__product { grid-template-columns: 4.75rem minmax(0, 1fr); }
  .page-order-confirmation .order-confirmation__product-img { width: 4.75rem; height: 4.75rem; }
  .page-order-confirmation .order-confirmation__product-content { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .page-order .address-card__container,
  .page-order .delivery-option__item { transition: none; }
}

/* Consistência visual entre as páginas redesenhadas */
:is(.page-index, .page-category, .page-product, .page-cart, .page-order, .page-order-confirmation) {
  --higiprol-primary: #79d4f6;
  --higiprol-primary-dark: #087bac;
  --higiprol-navy: #12324b;
}

.page-product .columns-container,
.page-cart .columns-container,
.page-order .columns-container,
.page-order-confirmation .columns-container { max-width: 82.5rem; }

.page-product .breadcrumb,
.page-cart .breadcrumb,
.page-order-confirmation .breadcrumb { padding-block: 1rem; margin-bottom: 0; color: #71818c; font-size: 0.8125rem; }
.page-product .breadcrumb { --bs-breadcrumb-divider: "›"; --bs-breadcrumb-item-padding-x: 0.45rem; padding-block: 0.35rem; margin-bottom: 0; color: #607D9C; font-size: 0.8rem; line-height: 1.35; }
.page-product .breadcrumb-item { color: #607D9C; }
.page-product .breadcrumb-item + .breadcrumb-item::before { color: #7A99B9; content: "›"; font-weight: 600; }
.page-product .breadcrumb-item:first-child .breadcrumb-link { color: #064DA8; font-weight: 700; }
.page-product .breadcrumb-item:not(:first-child) .breadcrumb-link { color: #607D9C; }
.page-product .breadcrumb a,
.page-cart .breadcrumb a,
.page-order-confirmation .breadcrumb a { color: #526674; text-decoration: none; }
.page-product .breadcrumb a:hover,
.page-cart .breadcrumb a:hover,
.page-order-confirmation .breadcrumb a:hover { color: #087bac; }

.page-cart .cart-summary__actions .btn-primary,
.page-order #payment-confirmation .btn-primary { min-height: 3.25rem; }

.page-category .alert,
.page-product .alert,
.page-cart .alert,
.page-order .alert { padding: 0.9rem 1rem; border-radius: 0.65rem; font-size: 0.875rem; line-height: 1.55; box-shadow: none; }
.page-category .alert-success,
.page-product .alert-success,
.page-cart .alert-success,
.page-order .alert-success { color: #104e3a; background: #edf9f4; border-color: #b8dfcf; }
.page-category .alert-warning,
.page-product .alert-warning,
.page-cart .alert-warning,
.page-order .alert-warning { color: #6d4c12; background: #fff8e8; border-color: #ead39b; }
.page-category .alert-danger,
.page-product .alert-danger,
.page-cart .alert-danger,
.page-order .alert-danger { color: #7b2929; background: #fff1f1; border-color: #e7bcbc; }

/* Contacte-nos — layout exclusivo da página de contacto. */
.page-contact #wrapper { background-color: #fff; background-image: linear-gradient(#ffffff59, #ffffff59), url("../img/contactos.png"); background-size: cover; background-position: center top; background-repeat: no-repeat; }
.page-contact .breadcrumb__wrapper { padding-block: 0.85rem 0.4rem; margin: 0; background: transparent; }
.page-contact .breadcrumb__wrapper > .container,
.page-contact .columns-container { width: 100%; max-width: 78rem; padding-inline: 1.25rem; }
.page-contact .breadcrumb { margin: 0; padding: 0; color: #526674; font-size: 0.8125rem; }
.page-contact .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #526674; }
.page-contact .breadcrumb-item a { color: #526674; }
.page-contact .breadcrumb-item:first-child a { color: #0B5ED7; font-weight: 600; }
.page-contact .columns-container { padding-block: 1rem 2.5rem; }
.page-contact .columns-container > .row { display: block; margin: 0; }
.page-contact #center-column { width: 100%; max-width: 100%; min-width: 0; padding: 0; }
.page-contact #content { padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; }
.page-contact .hp-contact-heading { margin-bottom: 1.5rem; text-align: center; }
.page-contact .hp-contact-eyebrow { margin: 0 0 0.55rem; color: #0B5ED7; font-size: 0.75rem; font-weight: 750; letter-spacing: 0.14em; line-height: 1.5; }
.page-contact .hp-contact-heading h1 { margin: 0 0 0.7rem; color: #063A7A; font-size: clamp(2.1rem, 3.6vw, 3.5rem); font-weight: 800; line-height: 1.05; letter-spacing: -0.035em; }
.page-contact .hp-contact-heading > p:last-child { margin: 0; color: #526674; font-size: 1rem; line-height: 1.55; }
.page-contact .hp-contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.875rem; margin-bottom: 1.25rem; }
.page-contact .hp-contact-card { display: flex; gap: 1.25rem; min-width: 0; min-height: 11rem; padding: 1.5rem; background: #ffffffed; border: 1px solid #E7EEF4; border-radius: 1rem; box-shadow: 0 0.4rem 1.25rem #063A7A05; }
.page-contact .hp-contact-icon { display: inline-flex; flex: 0 0 3.75rem; width: 3.75rem; height: 3.75rem; align-items: center; justify-content: center; color: #0B5ED7; background: #eaf6ff; border-radius: 50%; font-size: 1.8rem; }
.page-contact .hp-contact-card > div { min-width: 0; }
.page-contact .hp-contact-card h2 { margin: 0.1rem 0 0.65rem; color: #063A7A; font-size: 1.05rem; font-weight: 750; }
.page-contact .hp-contact-card address { margin: 0; color: #526674; font-size: 0.9375rem; font-style: normal; line-height: 1.45; }
.page-contact .hp-contact-card a { color: #063A7A; font-size: 1rem; text-decoration: none; overflow-wrap: anywhere; }
.page-contact .hp-contact-card a:hover { color: #0B5ED7; text-decoration: underline; }
.page-contact .hp-contact-card__note { margin: 0.85rem 0 0; color: #526674; font-size: 0.875rem; line-height: 1.5; }
.page-contact .hp-contact-main { display: grid; grid-template-columns: minmax(0, 2.6fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.page-contact .hp-contact-form-slot { min-width: 0; }
.page-contact #content .contact-form { height: auto; padding: 1.75rem; background: #ffffffed; border: 1px solid #E7EEF4; border-radius: 1rem; box-shadow: 0 0.4rem 1.25rem #063A7A05; }
.page-contact .hp-contact-form-heading { margin-bottom: 1.5rem; }
.page-contact .hp-contact-form-heading h2 { margin: 0 0 0.35rem; color: #063A7A; font-size: clamp(1.4rem, 2vw, 1.8rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.025em; }
.page-contact .hp-contact-form-heading p { margin: 0; color: #526674; font-size: 0.9375rem; line-height: 1.5; }
.page-contact .contact-form .form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
.page-contact .contact-form .form-fields > * { grid-column: 1 / -1; min-width: 0; }
.page-contact .contact-form .form-fields > .hp-contact-half { grid-column: auto; }
.page-contact #content .contact-form .form-label { color: #063A7A; font-size: 0.8125rem; font-weight: 700; }
.page-contact #content .contact-form :is(.form-control, .form-select) { width: 100%; min-height: 2.75rem; color: #526674; background-color: #fff; border: 1px solid #dce7f0; border-radius: 0.65rem; font-size: 0.9375rem; }
.page-contact #content .contact-form textarea.form-control { min-height: 8rem; line-height: 1.55; }
.page-contact #content .contact-form :is(.form-control, .form-select):focus { border-color: #2DA8FF; box-shadow: 0 0 0 0.2rem #2DA8FF26; }
.page-contact #content .contact-form .buttons-wrapper { padding-top: 0.25rem; margin: 0; }
.page-contact #content .contact-form .btn-primary { display: inline-flex; gap: 0.65rem; align-items: center; justify-content: center; min-width: 13rem; min-height: 2.9rem; color: #fff; background: #0B5ED7; border-color: #0B5ED7; border-radius: 0.65rem; font-weight: 700; box-shadow: none; }
.page-contact #content .contact-form .btn-primary:hover { background: #064DA8; border-color: #064DA8; }
.page-contact #content .contact-form .btn-primary .material-icons { font-size: 1.2rem; }
.page-contact #content .contact-form .btn-primary:disabled { opacity: 0.65; }
.page-contact .hp-contact-b2b { min-width: 0; padding: 1.5rem; color: #526674; background: #edf8ff; border: 1px solid #dceefa; border-radius: 1rem; font-size: 0.9375rem; line-height: 1.45; }
.page-contact .hp-contact-b2b > .hp-contact-icon { width: 3.5rem; height: 3.5rem; margin-bottom: 0.8rem; background: #dcf2ff; }
.page-contact .hp-contact-b2b .hp-contact-eyebrow { font-size: 0.6875rem; letter-spacing: 0.08em; }
.page-contact .hp-contact-b2b h2 { margin: 0 0 0.6rem; color: #063A7A; font-size: 1.5rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.025em; }
.page-contact .hp-contact-b2b > p:not(.hp-contact-eyebrow) { margin: 0 0 0.9rem; }
.page-contact .hp-contact-b2b ul { display: grid; gap: 0.5rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.page-contact .hp-contact-b2b li { display: flex; gap: 0.5rem; align-items: flex-start; }
.page-contact .hp-contact-b2b li .material-icons { flex: 0 0 auto; color: #0B5ED7; font-size: 1.1rem; line-height: 1.3; }
.page-contact .hp-contact-help { display: flex; gap: 0.75rem; align-items: center; padding: 0.85rem; color: #526674; background: #ffffffcf; border-radius: 0.875rem; text-decoration: none; }
.page-contact .hp-contact-help > .material-icons { flex: 0 0 auto; color: #0B5ED7; font-size: 1.5rem; }
.page-contact .hp-contact-help strong { display: block; margin-bottom: 0.2rem; color: #063A7A; font-size: 0.8125rem; }
.page-contact .hp-contact-help span span { display: block; font-size: 0.8125rem; }
.page-contact .hp-contact-help:hover { background: #fff; }
.page-contact #content :is(a, button, input, select, textarea):focus-visible { outline: 2px solid #2DA8FF; outline-offset: 3px; }
@media (max-width: 1199.98px) {
  .page-contact .hp-contact-heading { margin-bottom: 1.125rem; }
  .page-contact .hp-contact-main { grid-template-columns: minmax(0, 1fr); }
  .page-contact .hp-contact-card { gap: 0.875rem; padding: 1.15rem; }
  .page-contact .hp-contact-card .hp-contact-icon { flex-basis: 2.75rem; width: 2.75rem; height: 2.75rem; font-size: 1.45rem; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .page-contact #wrapper { background-image: linear-gradient(#ffffffbf, #ffffffbf), url("../img/contactos.png"); }
  .page-contact .hp-contact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-contact .hp-contact-card:last-child { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 767.98px) {
  .page-contact #wrapper { background-image: none; }
  .page-contact .columns-container { padding-block: 0.75rem 1.5rem; }
  .page-contact .hp-contact-heading { margin-bottom: 1.125rem; }
  .page-contact .hp-contact-heading > p:last-child { font-size: 0.9375rem; }
  .page-contact .hp-contact-cards { grid-template-columns: minmax(0, 1fr); }
  .page-contact .hp-contact-card { min-height: 0; }
  .page-contact #content .contact-form,
  .page-contact .hp-contact-b2b { padding: 1.15rem; }
  .page-contact .contact-form .form-fields { grid-template-columns: minmax(0, 1fr); }
  .page-contact #content .contact-form .btn-primary { width: 100%; min-width: 0; }
}


/* Autenticação profissional: apresentação apenas; formulário nativo preservado. */
.page-authentication .higiprol-auth-container { max-width: 75rem; padding-block: 0.75rem 3rem; }
.page-authentication .breadcrumb__wrapper { margin-bottom: 0.35rem; }
.page-authentication .breadcrumb { --bs-breadcrumb-divider: "›"; --bs-breadcrumb-item-padding-x: 0.45rem; padding-block: 0.35rem; margin-bottom: 0; color: #607D9C; font-size: 0.8rem; line-height: 1.35; }
.page-authentication .breadcrumb-item { color: #607D9C; }
.page-authentication .breadcrumb-item + .breadcrumb-item::before { color: #7A99B9; content: "›"; font-weight: 600; }
.page-authentication .breadcrumb-link { color: #607D9C; text-decoration: none; }
.page-authentication .breadcrumb-item:first-child .breadcrumb-link { color: #064DA8; font-weight: 700; }
.page-authentication .breadcrumb-link:hover { color: #087bac; }
.page-authentication #content:has(.higiprol-auth) { padding: 0; background: transparent; border: 0; box-shadow: none; }
.page-authentication .higiprol-auth { grid-template-columns: minmax(0, 1fr) minmax(20rem, 27rem); gap: 2rem 3rem; min-height: 0; padding: clamp(1.5rem, 4vw, 3.5rem); align-items: center; color: #fff; background: linear-gradient(110deg, #052B52ed, #052B52a6), url('../img/hero.png') center / cover no-repeat; border: 1px solid #315B87; border-radius: 1rem; box-shadow: none; }
.page-authentication .higiprol-auth__info { padding: 0; overflow: visible; background: none; }
.page-authentication .higiprol-auth__logo { width: 11rem; padding: 0; margin-bottom: 2rem; background: none; border-radius: 0; }
.page-authentication .higiprol-auth__eyebrow { color: #b9e4ff; font-size: 0.75rem; margin-bottom: 0.75rem; }
.page-authentication .higiprol-auth__info h1 { max-width: 12ch; font-size: clamp(2rem, 3.8vw, 3.25rem); line-height: 1.04; margin-bottom: 1rem; color: #fff; }
.page-authentication .higiprol-auth__lead { max-width: 30rem; margin: 0; color: #e7eef4; font-size: 1rem; line-height: 1.5; }
.page-authentication .higiprol-auth__login { min-width: 0; padding: 1.75rem; background: #fff; border-radius: 0.75rem; color: #315B87; }
.page-authentication .higiprol-auth__login-heading { margin-bottom: 1.25rem; }
.page-authentication .higiprol-auth__login-heading h2 { color: #063A7A; font-size: 1.5rem; line-height: 1.2; }
.page-authentication .higiprol-auth__login-heading p { color: #315B87; font-size: 0.9375rem; margin-top: 0.4rem; }
.page-authentication .higiprol-auth__form .form-control { min-height: 2.75rem; border-color: #DCE7F0; border-radius: 0.5rem; }
.page-authentication .higiprol-auth__form .form-control:focus { border-color: #2DA8FF; box-shadow: 0 0 0 0.2rem #2DA8FF26; }
.page-authentication .higiprol-auth__form .buttons-wrapper { margin-top: 1rem; gap: 0.875rem; }
.page-authentication .higiprol-auth__form #submit-login { min-height: 2.75rem; background: #0B5ED7; border-color: #0B5ED7; color: #fff; border-radius: 0.5rem; }
.page-authentication .higiprol-auth__form #submit-login:hover { background: #064DA8; border-color: #064DA8; }
.page-authentication .higiprol-auth__form .btn-basic { color: #064DA8; align-self: center; font-size: 0.875rem; }
.page-authentication .higiprol-auth__request { grid-column: 1 / -1; display: flex; align-items: start; gap: 1rem; padding: 1.5rem; background: #315B8799; border: 1px solid #ffffff26; border-radius: 0.75rem; }
.page-authentication .higiprol-auth__request > .material-icons { flex: 0 0 auto; font-size: 2rem; color: #b9e4ff; }
.page-authentication .higiprol-auth__request > div { min-width: 0; }
.page-authentication .higiprol-auth__request h2 { margin: 0 0 0.4rem; color: #fff; font-size: 1.125rem; }
.page-authentication .higiprol-auth__request p { max-width: 65ch; margin: 0 0 0.75rem; color: #e7eef4; font-size: 0.9375rem; line-height: 1.5; }
.page-authentication .higiprol-auth__request-email a { color: #fff; text-decoration: underline; overflow-wrap: anywhere; }
.page-authentication .higiprol-auth__request .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 2.75rem; white-space: normal; color: #fff; background: transparent; border: 1px solid #dce7f0; border-radius: 0.5rem; font-size: 0.9375rem; }
.page-authentication .higiprol-auth__request .btn:hover { background: #063A7A; }
.page-authentication .higiprol-auth :is(a, button, input):focus-visible { outline: 2px solid #2DA8FF; outline-offset: 3px; }
@media (max-width: 991.98px) {
  .page-authentication .higiprol-auth { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .page-authentication .higiprol-auth__login { width: 100%; max-width: 30rem; justify-self: center; }
}
@media (max-width: 575.98px) {
  .page-authentication .higiprol-auth-container { padding-block: 1.25rem 1.5rem; }
  .page-authentication .higiprol-auth { padding: 1.25rem; gap: 1.25rem; }
  .page-authentication .higiprol-auth__logo { width: 9rem; margin-bottom: 1.5rem; }
  .page-authentication .higiprol-auth__info h1 { font-size: 2rem; }
  .page-authentication .higiprol-auth__login { padding: 1.25rem; }
  .page-authentication .higiprol-auth__login-heading h2 { font-size: 1.25rem; }
  .page-authentication .higiprol-auth__request { padding: 1rem; gap: 0.65rem; }
  .page-authentication .higiprol-auth__request > .material-icons { font-size: 1.5rem; }
  .page-authentication .higiprol-auth__request .btn { width: 100%; }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .page-authentication .higiprol-auth-container { padding-top: 1.25rem; }
}

/* CMS 1, 2, 3 — Legal pages: presentation only; legal content stays in the Back Office. */
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms { width: 100%; max-width: 68rem; margin-inline: auto; color: #315B87; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__index { margin: 0 0 2rem; padding: 1.4rem 1.6rem; border: 1px solid #E7EEF4; border-radius: 10px; background: #F7FBFF; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__index h2 { margin: 0 0 1rem; color: #063A7A; font-size: 1.25rem; font-weight: 700; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 1.75rem; margin: 0; padding: 0; list-style: none; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__links li { margin: 0; padding: 0; min-width: 0; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__links a { display: block; padding-block: .4rem; color: #064DA8; font-size: .95rem; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms a:hover { color: #063A7A; text-decoration: underline; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms a:focus-visible { outline: 2px solid #2DA8FF; outline-offset: 3px; border-radius: 2px; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content { font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content :is(div, p, span) { font-family: inherit; font-size: inherit; line-height: inherit; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content p { margin: 0 0 .8rem; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content p:empty { margin: 0; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content .hp-terms__heading { margin: 2rem 0 .9rem; padding-top: 1.25rem; border-top: 1px solid #E7EEF4; color: #063A7A; font-size: 1.25rem; line-height: 1.35; font-weight: 700; scroll-margin-top: 9rem; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content :is(strong, b) { color: #063A7A; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content a { color: #0B5ED7; text-decoration: underline; text-underline-offset: .15em; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content :is(ul, ol) { margin-block: .6rem 1rem; padding-inline-start: 1.5rem; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content li + li { margin-top: .3rem; }
.page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content blockquote { margin: 1rem 0; padding: .9rem 1rem; border-left: 3px solid #0B5ED7; background: #F7FBFF; }
@media (max-width: 767.98px) {
  .page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__index { padding: 1rem; margin-bottom: 1.4rem; }
  .page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__links { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content { font-size: .975rem; line-height: 1.65; }
  .page-cms:is(.cms-id-1, .cms-id-2, .cms-id-3) .hp-terms__content .hp-terms__heading { margin-top: 1.4rem; padding-top: 1rem; font-size: 1.125rem; scroll-margin-top: 6rem; }
}
