/* Charte Démonia on Hummingbird 2 / PrestaShop 9.1
   Tokens: ivory #F7F2EA, bordeaux #72090F, night #020101, caramel #D8B98C
   Fonts: Grenze Gotisch (titles) + Sora (UI) — loaded from head.tpl */

:root {
  --demonia-ivory: #f7f2ea;
  --demonia-ink: #1a1a1a;
  --demonia-bordeaux: #72090f;
  --demonia-bordeaux-deep: #4a0409;
  --demonia-night: #020101;
  --demonia-header: #1a0304;
  --demonia-caramel: #d8b98c;
  --demonia-ivory-text: #fff6f2;
  --demonia-card: #ffffff;
  --demonia-muted: #ede6da;
  --demonia-muted-fg: #7a6e62;
  --demonia-display: "Grenze Gotisch", "Pirata One", Georgia, serif;
  --demonia-sans: "Sora", "Epilogue", Arial, sans-serif;
  --demonia-shadow: 0 24px 50px -30px rgba(26, 10, 8, 0.22);
  --demonia-border: rgb(26 26 26 / 14%);

  --bs-primary: #72090f;
  --bs-primary-rgb: 114, 9, 15;
  --bs-secondary: #ede6da;
  --bs-secondary-rgb: 237, 230, 218;
  --bs-body-bg: #f7f2ea;
  --bs-body-color: #1a1a1a;
  --bs-link-color: #72090f;
  --bs-link-hover-color: #4a0409;
  --bs-border-color: rgb(26 26 26 / 14%);
  --bs-font-sans-serif: "Sora", "Epilogue", Arial, sans-serif;
  --bs-body-font-family: var(--demonia-sans);
  --bs-heading-font-family: var(--demonia-display);
}

html,
body {
  background-color: var(--demonia-ivory);
  color: var(--demonia-ink);
  font-family: var(--demonia-sans);
}

/* Sticky header height changes (beige nav + night strip) must not make the
   browser compensate scroll position — that loop makes the menu vibrate. */
html {
  overflow-anchor: none;
}


h1,
h2,
h3,
.h1,
.h2,
.h3,
.display-1,
.display-2,
.display-3,
.section-title,
.page-title,
.product__name {
  font-family: var(--demonia-display);
  font-weight: 800;
  letter-spacing: 0.015em;
  line-height: 1.25;
}

h3,
.h3 {
  font-weight: 700;
  letter-spacing: 0.025em;
}

a {
  color: var(--demonia-bordeaux);
}

a:hover {
  color: var(--demonia-bordeaux-deep);
}

.btn {
  border-radius: 0;
  font-family: var(--demonia-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.btn-primary {
  --bs-btn-bg: #72090f;
  --bs-btn-border-color: rgb(114 9 15 / 60%);
  --bs-btn-hover-bg: #4a0409;
  --bs-btn-hover-border-color: #4a0409;
  --bs-btn-active-bg: #4a0409;
  --bs-btn-color: #fff6f2;
  --bs-btn-hover-color: #fff6f2;
}

.btn-outline-primary {
  --bs-btn-color: #72090f;
  --bs-btn-border-color: #72090f;
  --bs-btn-hover-bg: #72090f;
  --bs-btn-hover-color: #fff6f2;
  border-radius: 0;
}

.page-content,
#wrapper,
#main,
.wrapper,
.columns-container,
.container {
  background-color: transparent;
}

/* -------------------------------------------------------------------------- */
/* Header                                                                      */
/* -------------------------------------------------------------------------- */

#header.header,
.demonia-site-header,
#header.header.js-sticky-header {
  background-color: var(--demonia-ivory);
  color: var(--demonia-ink);
  box-shadow: var(--demonia-shadow);
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 0;
  overflow-anchor: none;
}

.header-bottom.demonia-header {
  border-bottom: 0;
  padding: 0;
  min-height: 0;
}

.demonia-header__bar {
  background-color: var(--demonia-ivory);
  color: var(--demonia-ink);
}

.demonia-header__bar a,
.demonia-header__bar .header-block__action-btn,
.demonia-header__bar .header-block__icon {
  color: var(--demonia-ink);
}

.demonia-header__bar a:hover,
.demonia-header__bar .header-block__action-btn:hover {
  color: var(--demonia-bordeaux);
}

.demonia-header__bar .dropdown-menu,
.demonia-header__bar .dropdown-menu a {
  color: var(--demonia-ink);
}

/* Night bar only after the hysteresis hide (not at 16px), so the cream
   row stays thin and ivory at the top of the page. */
.demonia-site-header.is-scroll-down .demonia-header__bar {
  background-color: var(--demonia-night);
  color: var(--demonia-ivory-text);
}

.demonia-site-header.is-scroll-down .demonia-logo,
.demonia-site-header.is-scroll-down .demonia-header__bar .header-block__action-btn,
.demonia-site-header.is-scroll-down .demonia-header__bar .header-block__icon,
.demonia-site-header.is-scroll-down .demonia-search__input,
.demonia-site-header.is-scroll-down .demonia-header__burger {
  color: var(--demonia-ivory-text);
}

.demonia-site-header.is-scroll-down .demonia-header__bar .header-block__action-btn:hover,
.demonia-site-header.is-scroll-down .demonia-logo:hover {
  color: var(--demonia-caramel);
}

.demonia-site-header.is-scroll-down .demonia-search__form {
  border-color: rgb(247 242 234 / 28%);
  background: rgb(247 242 234 / 14%);
}

.demonia-site-header.is-scroll-down .demonia-search__icon {
  color: var(--demonia-caramel);
}

.demonia-site-header.is-scroll-down .demonia-search__input::placeholder,
.demonia-site-header.is-scroll-down .demonia-search .form-control::placeholder {
  color: rgb(247 242 234 / 55%);
}

.demonia-header__bar-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 0;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

.demonia-header__burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

.demonia-logo {
  display: block;
  flex: 0 0 auto;
  color: var(--demonia-ink);
  margin-right: auto;
  padding-left: 0.15rem;
  line-height: 1;
}

.demonia-logo:hover {
  color: var(--demonia-ink);
}

.demonia-logo__mark {
  display: block;
  width: 7.25rem;
  aspect-ratio: 202 / 43;
  background-color: currentColor;
  -webkit-mask: url("../img/demonia-logo.svg") center / contain no-repeat;
  mask: url("../img/demonia-logo.svg") center / contain no-repeat;
}

@media (min-width: 768px) {
  .demonia-logo {
    padding-left: 0.35rem;
  }

  .demonia-logo__mark {
    width: 9.25rem;
  }
}

.demonia-header__search {
  flex: 1 1 auto;
  max-width: 32rem;
  margin-inline: auto;
}

.demonia-search,
.demonia-search .ps-searchbar {
  width: 100%;
}

.demonia-search__form {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 0;
  padding: 0.18rem 0.9rem;
  border: 1px solid rgb(26 26 26 / 18%);
  border-radius: 999px;
  background: var(--demonia-card);
}

.demonia-search__form:focus-within {
  border-color: var(--demonia-bordeaux);
}

.demonia-search__icon {
  color: var(--demonia-muted-fg);
  font-size: 1rem;
  line-height: 1;
}

.demonia-search__input,
.demonia-search .ps-searchbar__input,
.demonia-search .form-control {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0.15rem 0;
  border: 0;
  background: transparent;
  color: var(--demonia-ink);
  box-shadow: none;
  font-size: 0.8125rem;
}

.demonia-search__input::placeholder,
.demonia-search .form-control::placeholder {
  color: rgb(114 9 15 / 55%);
}

.demonia-search .ps-searchbar__dropdown {
  background: var(--demonia-card);
  color: var(--demonia-ink);
}

.demonia-header__icons {
  align-items: center;
  gap: 0.15rem;
  margin-left: auto;
}

.demonia-header__icons .header-block__title {
  display: none !important;
}

/* Lang / currency stay in the mobile offcanvas; they fatten the cream row. */
.demonia-header__icons [id*="language"],
.demonia-header__icons [id*="currency"],
.demonia-header__icons .language-selector,
.demonia-header__icons .currency-selector,
.demonia-header__icons .ps-languageselector,
.demonia-header__icons .ps-currencyselector,
.demonia-header__icons .form-select {
  display: none !important;
}

.demonia-header__icons .header-block {
  min-height: 0;
}

.demonia-header__icons .header-block__action-btn {
  min-height: 0;
  padding: 0.2rem;
}

.demonia-header__icons .header-block__icon {
  font-size: 1.4rem;
  line-height: 1;
}

.demonia-header__icons .header-block__badge {
  background: var(--demonia-caramel);
  color: var(--demonia-night);
  border-radius: 999px;
}

.demonia-header__nav {
  position: relative;
  background: var(--demonia-muted);
  overflow: visible;
  max-height: 2.75rem;
  transition: max-height 0.3s ease;
}

.demonia-header__nav .ps-mainmenu--desktop,
.demonia-mainmenu {
  width: 100%;
  max-width: none;
  flex: 1 1 auto;
}

.demonia-header__nav .ps-mainmenu__mobile-toggle {
  display: none;
}

.demonia-header__nav .ps-mainmenu__desktop {
  display: block !important;
}

.demonia-header__nav .ps-mainmenu__tree,
.demonia-mainmenu__tree {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.15rem 1rem;
  margin: 0;
  padding: 0.3rem 0;
  list-style: none;
}

.demonia-mainmenu__item {
  position: static;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.demonia-mainmenu__chevron {
  font-size: 1.1rem;
  color: var(--demonia-bordeaux);
  line-height: 1;
}

.demonia-mainmenu__item:hover > .demonia-mainmenu__chevron {
  color: var(--demonia-bordeaux-deep);
}

#header .demonia-mainmenu__link,
.demonia-header__nav .ps-mainmenu__tree-link,
.demonia-header__nav .ps-mainmenu__tree-dropdown-toggle,
.demonia-mainmenu__link {
  color: var(--demonia-bordeaux);
  font-family: var(--demonia-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
}

#header .demonia-mainmenu__link:hover,
#header .demonia-mainmenu__item:hover > .demonia-mainmenu__link,
.demonia-header__nav .ps-mainmenu__tree-link:hover,
.demonia-header__nav .ps-mainmenu__tree-dropdown-toggle:hover,
.demonia-mainmenu__link:hover,
.demonia-mainmenu__item:hover > .demonia-mainmenu__link {
  color: var(--demonia-bordeaux-deep);
}

.demonia-mega {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 40;
  padding: 2rem 0 2.25rem;
  background: var(--demonia-night);
  color: var(--demonia-ivory-text);
  box-shadow: var(--demonia-shadow);
}

.demonia-mainmenu__item:hover > .demonia-mega,
.demonia-mainmenu__item:focus-within > .demonia-mega {
  display: block;
}

.demonia-mega__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.demonia-mega__title {
  margin: 0 0 1rem;
  font-family: var(--demonia-sans);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(247 242 234 / 55%);
}

.demonia-mega ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.demonia-mega li + li,
.demonia-mega__col > a + a,
.demonia-mega p + ul {
  margin-top: 0;
}

.demonia-mega li {
  margin: 0 0 0.7rem;
}

.demonia-mega a,
.demonia-header__nav .submenu a {
  color: var(--demonia-ivory-text);
}

.demonia-mega a:hover,
.demonia-header__nav .submenu a:hover {
  color: var(--demonia-caramel);
}

.demonia-mega__all {
  display: inline-flex;
  margin-top: 1.5rem;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.demonia-mega__simple {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem 2rem;
}

.demonia-mega--simple .demonia-mega__all {
  margin-left: 0;
}

.demonia-practices {
  background: var(--demonia-night);
  color: var(--demonia-ivory-text);
  overflow: hidden;
  max-height: 2.5rem;
  transition: max-height 0.3s ease;
}

.demonia-practices__inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem 2.5rem;
  padding: 0.45rem 0;
}

.demonia-practices a {
  color: var(--demonia-ivory-text);
  font-size: 0.75rem;
  text-underline-offset: 4px;
  white-space: nowrap;
}

.demonia-practices a:hover {
  color: var(--demonia-ivory-text);
  text-decoration: underline;
}

.demonia-site-header.is-scroll-down .demonia-header__nav,
.demonia-site-header.is-scroll-down .demonia-practices {
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
}

@media (max-width: 1199.98px) {
  .demonia-header__nav .ps-mainmenu__desktop {
    display: none !important;
  }

  .demonia-header__nav {
    max-height: 0;
    padding: 0;
  }
}

@media (max-width: 767.98px) {
  .demonia-header__search {
    position: fixed;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    z-index: 20;
    max-width: none;
    margin: 0;
  }

  .demonia-search__form {
    border-color: rgb(114 9 15 / 40%);
    background: rgb(247 242 234 / 95%);
  }

  .demonia-search__icon {
    color: var(--demonia-bordeaux);
  }

  .demonia-search__input,
  .demonia-search .form-control {
    color: var(--demonia-ink);
  }

  .demonia-search__input::placeholder,
  .demonia-search .form-control::placeholder {
    color: rgb(114 9 15 / 60%);
  }

  body {
    padding-bottom: 4.5rem;
  }

  .demonia-practices {
    display: none !important;
  }
}

.ps-mainmenu--mobile {
  background: var(--demonia-ivory);
  color: var(--demonia-ink);
}

.ps-mainmenu--mobile a {
  color: var(--demonia-ink);
}

/* -------------------------------------------------------------------------- */
/* Listing cards                                                               */
/* -------------------------------------------------------------------------- */

.product-miniature {
  height: 100%;
}

.product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: var(--demonia-card);
  border: 1px solid var(--demonia-border);
  box-shadow: var(--demonia-shadow);
  border-radius: 0;
}

.product-miniature__top,
.product-miniature__image,
.product-miniature__image-container,
.product-miniature img {
  border-radius: 0 !important;
}

.product-miniature__inner:hover {
  border-color: var(--demonia-ink);
}

.product-miniature__title,
.product-miniature__title a {
  font-family: var(--demonia-sans);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--demonia-ink);
}

.product-miniature__title a:hover {
  color: var(--demonia-bordeaux);
}

.product-miniature__price {
  font-family: var(--demonia-sans);
  font-weight: 600;
  color: var(--demonia-ink);
}

.product-miniature__regular-price {
  color: var(--demonia-muted-fg);
}

.product-miniature .product-flags .badge,
.product-flags .badge {
  border-radius: 999px;
  background: var(--demonia-bordeaux);
  color: var(--demonia-ivory-text);
  font-family: var(--demonia-sans);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-miniature__form .quantity-button {
  display: none;
}

.product-miniature__add,
.product-miniature__details {
  width: 100%;
  border-radius: 0;
}

.product-miniature__add-text {
  font-size: 0.65rem;
  letter-spacing: 0.14em;
}

/* -------------------------------------------------------------------------- */
/* Breadcrumb, PDP, home sections                                              */
/* -------------------------------------------------------------------------- */

.breadcrumb__wrapper,
.breadcrumb {
  background: transparent;
}

.breadcrumb {
  font-family: var(--demonia-sans);
  font-size: 0.8125rem;
  color: var(--demonia-muted-fg);
}

.breadcrumb a {
  color: var(--demonia-muted-fg);
}

.breadcrumb a:hover {
  color: var(--demonia-bordeaux);
}

.product__name {
  color: var(--demonia-ink);
}

.product__add-to-cart-button,
.product-add-to-cart .btn-primary {
  min-height: 3rem;
  padding-inline: 1.5rem;
}

/* Photo sits on cream — no white card, radius, or 1px frame. */
.page-product .product__left,
.page-product .product__images,
.page-product .product__carousel,
.page-product .product__carousel.carousel,
.page-product .product__images .carousel-inner,
.page-product .product__images .carousel-item,
.page-product .product__images picture,
.page-product .product__no-image,
.page-product .product__images img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none;
  padding: 0;
}

.page-product .product__carousel {
  overflow: hidden;
}

.page-product .product__thumbnails {
  margin-block-start: 0.75rem;
}

.page-product .product__thumbnail,
.page-product .product__thumbnail-image {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none;
  outline: 1px solid var(--demonia-border);
  outline-offset: 0;
  padding: 0;
}

.page-product .product__thumbnail.active .product__thumbnail-image,
.page-product .product__thumbnail-image.js-thumb-selected {
  outline-color: var(--demonia-bordeaux);
}

.page-product .product__accordion.accordion,
.page-product .product__accordion .accordion-item,
.page-product .product__accordion .accordion-button,
.page-product .product__accordion .accordion-body {
  background: transparent;
  box-shadow: none;
}

.page-product .product__accordion .accordion-item {
  border: 0;
  border-bottom: 1px solid var(--demonia-border);
}

.page-product .product__accordion .accordion-button {
  padding: 1rem 0;
  color: var(--demonia-ink);
  font-family: var(--demonia-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.page-product .product__accordion .accordion-button:not(.collapsed),
.page-product .product__accordion .accordion-button:focus {
  background: transparent;
  color: var(--demonia-ink);
  box-shadow: none;
}

.page-product .product__accordion .accordion-body {
  padding: 0 0 1.25rem;
  color: var(--demonia-muted-fg);
}

.details__list,
.page-product .details__list {
  background: transparent !important;
}

.demonia-pdp-meta {
  margin: 1.25rem 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.demonia-pdp-meta__stock {
  margin: 0;
  color: var(--demonia-ink);
  font-size: 0.875rem;
  font-weight: 500;
}

.demonia-pdp-meta__stock--out {
  color: var(--demonia-bordeaux);
}

.demonia-pdp-meta__ref {
  margin: 0.35rem 0 0;
  color: var(--demonia-muted-fg);
  font-size: 0.75rem;
}

.demonia-pdp-meta__features {
  margin-top: 1.5rem;
}

.demonia-pdp-meta__label {
  margin: 0 0 0.75rem;
  color: var(--demonia-ink);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.demonia-pdp-meta__features ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.demonia-pdp-meta__features li {
  margin: 0 0 0.45rem;
  color: var(--demonia-muted-fg);
  font-size: 0.875rem;
}

.demonia-pdp-meta__features li span {
  display: inline-block;
  min-width: 8rem;
  margin-right: 0.5rem;
  color: var(--demonia-ink);
  font-weight: 500;
}

.blockreassurance--product {
  border: 1px solid var(--demonia-border);
  background: var(--demonia-card);
  padding: 1rem 1.25rem;
}

.blockreassurance--product .blockreassurance {
  background: transparent;
}

body#index .carousel,
body#index .carousel-inner,
body#index #carousel {
  background: var(--demonia-night);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: none;
}

.featured-products,
.products,
.page-content--home {
  background: transparent;
}

.featured-products h2,
.products-section-title,
.page-content--home h2 {
  font-family: var(--demonia-display);
  font-weight: 800;
}

/* -------------------------------------------------------------------------- */
/* Newsletter + footer                                                         */
/* -------------------------------------------------------------------------- */

.demonia-newsletter,
.ps-emailsubscription.demonia-newsletter {
  background: var(--demonia-night);
  color: var(--demonia-ivory-text);
  padding: 3.5rem 0;
}

.demonia-newsletter__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.75rem;
}

.demonia-newsletter__kicker {
  margin: 0;
  color: var(--demonia-caramel);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.demonia-newsletter__title {
  margin: 0.75rem 0 0;
  color: inherit;
  font-size: 2rem;
}

.demonia-newsletter__text,
.demonia-newsletter__conditions {
  margin-top: 1rem;
  color: rgb(247 242 234 / 70%);
  font-size: 0.875rem;
}

.demonia-newsletter__form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  width: 100%;
  max-width: 28rem;
}

.demonia-newsletter__input {
  flex: 1 1 12rem;
  min-width: 0;
  padding: 0.75rem 1rem;
  border: 1px solid rgb(247 242 234 / 25%);
  background: transparent;
  color: var(--demonia-ivory-text);
}

.demonia-newsletter__input:focus {
  border-color: var(--demonia-caramel);
  outline: none;
}

.demonia-newsletter__submit {
  flex: 0 0 auto;
}

#footer,
.footer,
.demonia-footer,
.demonia-footer-before {
  background-color: var(--demonia-night);
  color: var(--demonia-ivory-text);
}

.demonia-footer-before .ps-socialfollow {
  background: var(--demonia-night);
  padding-top: 2rem;
  padding-bottom: 0;
}

.demonia-footer-before .ps-socialfollow a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid rgb(114 9 15 / 60%);
  background: var(--demonia-bordeaux);
  color: var(--demonia-ivory-text);
}

.demonia-footer-before .ps-socialfollow a:hover {
  background: rgb(114 9 15 / 85%);
  color: var(--demonia-ivory-text);
}

.blockreassurance,
.blockreassurance--light,
.blockreassurance--dark,
.blockreassurance--horizontal {
  background: var(--demonia-night);
  color: var(--demonia-ivory-text);
}

.blockreassurance--dark {
  padding-block: 3rem;
}

.blockreassurance .reassurance__title {
  color: var(--demonia-ivory-text);
  font-family: var(--demonia-sans);
  font-weight: 600;
}

.blockreassurance .reassurance__desc {
  color: rgb(247 242 234 / 65%);
}

.blockreassurance--product,
.blockreassurance--cart,
.blockreassurance--checkout {
  background: transparent;
  color: var(--demonia-ink);
  padding-block: 0;
}

.blockreassurance--product .reassurance__title,
.blockreassurance--cart .reassurance__title,
.blockreassurance--checkout .reassurance__title {
  color: var(--demonia-ink);
}

.blockreassurance--product .reassurance__desc,
.blockreassurance--cart .reassurance__desc,
.blockreassurance--checkout .reassurance__desc {
  color: var(--demonia-muted-fg);
}

.demonia-footer {
  padding-top: 3rem;
  padding-bottom: 1.5rem;
}

.demonia-footer .footer-block__title {
  font-family: var(--demonia-display);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--demonia-ivory-text);
  border: 0;
}

.demonia-footer .footer-block__content,
.demonia-footer .footer-block__content.collapse {
  color: rgb(247 242 234 / 70%);
}

@media (min-width: 768px) {
  .demonia-footer .footer-block__content.collapse {
    display: block;
  }
}

.demonia-footer a {
  color: rgb(247 242 234 / 70%);
}

.demonia-footer a:hover {
  color: var(--demonia-caramel);
}

.demonia-footer-contact__hours {
  margin-bottom: 1rem;
  font-size: 0.875rem;
}

.demonia-footer-contact__mail {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  color: var(--demonia-caramel) !important;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.demonia-footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.5rem 0 1.5rem;
  text-align: center;
}

.demonia-footer-brand__logo {
  width: 10rem;
  height: auto;
}

.demonia-footer-brand__tagline {
  margin-top: 0.75rem;
  color: rgb(247 242 234 / 65%);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.demonia-copyright {
  border-top: 1px solid rgb(247 242 234 / 12%);
  padding: 1rem 0;
  text-align: center;
}

.demonia-copyright__text,
.demonia-copyright a {
  margin: 0;
  color: rgb(247 242 234 / 65%);
  font-size: 0.75rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--demonia-bordeaux);
  box-shadow: 0 0 0 0.2rem rgb(114 9 15 / 18%);
}

/* -------------------------------------------------------------------------- */
/* Left column (listing): ink on ivory, active bordeaux                        */
/* -------------------------------------------------------------------------- */

#left-column,
#left-column .left-block,
#left-column .category-tree,
#left-column .facet,
#search_filters {
  color: var(--demonia-ink);
  background: transparent;
}

#left-column a,
#left-column .category-tree__item-link,
#left-column .left-block__title,
#left-column .left-block__title-link,
#left-column .accordion-button,
#left-column .facet__title,
#search_filters a {
  color: var(--demonia-ink);
}

#left-column a:hover,
#left-column .category-tree__item-link:hover,
#left-column .left-block__title-link:hover,
#left-column .accordion-button:hover,
#search_filters a:hover {
  color: var(--demonia-bordeaux);
}

#left-column .category-tree__item.current > .category-tree__item-header > .category-tree__item-link,
#left-column a[aria-current],
#left-column .js-search-link.active,
#left-column .facet .active {
  color: var(--demonia-bordeaux);
  font-weight: 600;
}

#left-column .accordion-button::after {
  filter: none;
}

/* -------------------------------------------------------------------------- */
/* Home hero, promises, univers                                                */
/* -------------------------------------------------------------------------- */

body#index .carousel,
body#index #carousel,
.page-content--home .carousel {
  display: none !important;
}

.demonia-hero {
  position: relative;
  overflow: hidden;
  background-color: var(--demonia-night);
  background-image: url("../img/intro-bg.jpg");
  background-position: center right;
  background-size: cover;
  color: var(--demonia-ivory-text);
}

.demonia-hero__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.demonia-hero__veil {
  position: absolute;
  inset: 0;
  background: rgb(2 1 1 / 70%);
}

.demonia-hero__inner {
  position: relative;
  padding: 4.5rem 0 3.5rem;
}

@media (min-width: 768px) {
  .demonia-hero__inner {
    padding: 6.5rem 0 5rem;
  }
}

.demonia-hero__title {
  max-width: 38rem;
  margin: 0;
  color: inherit;
  font-size: 2.35rem;
}

@media (min-width: 768px) {
  .demonia-hero__title {
    font-size: 4.25rem;
  }
}

.demonia-hero__lead {
  max-width: 38rem;
  margin: 1.25rem 0 0;
  color: rgb(247 242 234 / 72%);
  font-size: 1rem;
}

.demonia-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 1.75rem;
}

.demonia-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.5rem;
  border: 1px solid rgb(114 9 15 / 60%);
  background: var(--demonia-bordeaux);
  color: var(--demonia-ivory-text);
  font-family: var(--demonia-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.demonia-hero__cta:hover {
  background: var(--demonia-bordeaux-deep);
  color: var(--demonia-ivory-text);
}

@media (min-width: 768px) {
  .demonia-hero__cta {
    font-size: 0.9rem;
  }
}

.demonia-hero__meta {
  margin: 2.5rem 0 0;
  color: rgb(247 242 234 / 72%);
  font-size: 0.875rem;
}

.demonia-promises {
  background: var(--demonia-night);
  color: var(--demonia-ivory-text);
}

.demonia-promises__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 1.25rem;
  padding: 3rem 0;
}

@media (min-width: 768px) {
  .demonia-promises__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 4rem 0;
  }
}

.demonia-promises__item {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
}

.demonia-promises__icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.25rem;
  color: var(--demonia-caramel);
}

.demonia-promises__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.demonia-promises__copy {
  min-width: 0;
}

.demonia-promises__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
}

.demonia-promises__text {
  margin: 0.25rem 0 0;
  color: rgb(247 242 234 / 65%);
  font-size: 0.75rem;
}

.demonia-univers {
  background: var(--demonia-night);
  color: var(--demonia-ivory-text);
}

.demonia-univers__grid {
  display: grid;
  gap: 2.5rem;
  padding: 3.5rem 0;
}

@media (min-width: 768px) {
  .demonia-univers__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem 3rem;
    padding: 5rem 0;
  }
}

.demonia-univers__kicker {
  margin: 0;
  color: var(--demonia-caramel);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.demonia-univers__title {
  margin: 0.5rem 0 0;
  color: inherit;
  font-size: 2.25rem;
}

@media (min-width: 768px) {
  .demonia-univers__title {
    font-size: 3rem;
  }
}

.demonia-univers__lead {
  max-width: 28rem;
  margin: 1.25rem 0 0;
  color: rgb(247 242 234 / 70%);
}

.demonia-univers__photo {
  display: block;
  width: 100%;
  margin-top: 2.5rem;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.demonia-univers__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid rgb(247 242 234 / 15%);
}

.demonia-univers__row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1.15rem 0;
  border-top: 1px solid rgb(247 242 234 / 15%);
  color: var(--demonia-ivory-text);
}

.demonia-univers__row:hover {
  color: var(--demonia-ivory-text);
}

.demonia-univers__icon {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--demonia-caramel);
}

.demonia-univers__copy {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.demonia-univers__name {
  font-family: var(--demonia-sans);
  font-size: 1rem;
  font-weight: 600;
}

.demonia-univers__detail {
  color: rgb(247 242 234 / 65%);
  font-size: 0.8125rem;
}

.demonia-univers__arrow {
  margin-left: auto;
  color: var(--demonia-caramel);
}
