/* Livya — Rivero
   Rivero's palette (Bricks global colours): ink #373a36, paper #f2f1f0,
   sand #e5e3dd, sage #d8dcd8. Type: Futura, uppercase headings, pill buttons. */
:root {
  --lr-ink: #373a36;
  --lr-paper: #f2f1f0;
  --lr-sand: #e5e3dd;
  --lr-sage: #d8dcd8;
  --lr-white: #fff;
  --lr-font: "Futura", "Helvetica", sans-serif;
}

/* ---------------------------------------------------------------------------
   Header favorites button (Livya Favorites Button element)
   ------------------------------------------------------------------------- */
#brx-header .livya-favorites-button {
  flex: none;
  margin-inline-start: 20px;
  padding: 6px 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--lr-ink);
  font-family: var(--lr-font);
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity .2s;
}
#brx-header .livya-favorites-button:hover { opacity: .7; }
#brx-header .livya-favorites-button:focus-visible { outline: 1px solid var(--lr-ink); outline-offset: 4px; }
#brx-header .livya-favorites-button__icon svg { width: 22px; height: 22px; }
#brx-header .livya-favorites-count {
  top: -4px;
  right: -10px;
  min-width: 18px;
  height: 18px;
  font-family: var(--lr-font);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
}
@media (max-width: 991px) {
  /* The nav collapses into the hamburger: keep the heart beside it. */
  #brx-header .livya-favorites-button { margin-inline-start: auto; margin-inline-end: 8px; font-size: 0; gap: 0; }
  #brx-header .livya-favorites-button__label { display: none; }
  #brx-header .livya-favorites-button__icon svg { width: 26px; height: 26px; }
  #brx-header .livya-favorites-count { font-size: 11px; }
}
@media (max-width: 478px) {
  /* Logo, heart and hamburger share one row: the logo gives up the few pixels needed. */
  #brx-header .brxe-container:has(> .livya-favorites-button) { flex-wrap: nowrap; }
  #brx-header .brxe-container:has(> .livya-favorites-button) > .bricks-link-wrapper { flex: 0 1 auto; min-width: 0; }
  #brx-header .brxe-container:has(> .livya-favorites-button) > .bricks-link-wrapper > svg { width: 100%; height: auto; }
  #brx-header .livya-favorites-button { margin-inline-end: 0; }
}

/* Livya module elements fill their Bricks container (embed.css sizes the inner
   container at 100% width, which collapses to its 16:9 ratio otherwise). */
.livya-bricks-module { width: 100%; }

/* ---------------------------------------------------------------------------
   "Mes favoris" popup (Bricks popup template, root section .livya-rivero-favorites)
   ------------------------------------------------------------------------- */
.livya-rivero-favorites {
  width: 100%;
  padding: 0;
  font-family: var(--lr-font);
  color: var(--lr-ink);
}
.livya-rivero-favorites__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(1320px, 100%);
  max-height: calc(100dvh - 48px);
  margin-inline: auto;
  padding: 40px 48px 48px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--lr-paper);
  box-shadow: 0 30px 80px rgb(0 0 0 / .25);
}
.livya-rivero-favorites__head {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  padding-bottom: 20px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--lr-ink);
}
.livya-rivero-favorites__title { margin: 0; font-size: 38px; font-weight: 400; line-height: 1.1; text-transform: uppercase; }
.livya-rivero-favorites__close {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--lr-ink);
  border-radius: 999px;
  color: var(--lr-ink);
  font-size: 18px;
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
.livya-rivero-favorites__close:hover { background: var(--lr-ink); color: var(--lr-paper); }
.livya-rivero-favorites__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr);
  gap: 48px;
  width: 100%;
  align-items: start;
}
.livya-rivero-favorites__list,
.livya-rivero-favorites__contact { display: flex; flex-direction: column !important; gap: 16px; min-width: 0; width: 100%; }
.livya-rivero-favorites__list .livya-bricks-module { width: 100%; }
.livya-rivero-favorites__list [class^='livya-module-container'] {
  height: min(68dvh, 640px);
  max-height: none;
  aspect-ratio: auto;
  border-color: var(--lr-sage);
  border-radius: 0;
  background: var(--lr-white);
}
.livya-rivero-favorites__contact {
  padding-left: 48px;
  border-left: 1px solid var(--lr-sage);
}
.livya-rivero-favorites__contact-title { margin: 0; font-size: 28px; font-weight: 400; line-height: 1.15; text-transform: uppercase; }
.livya-rivero-favorites__contact-text { font-size: 18px; font-weight: 300; line-height: 1.4; }

@media (max-width: 1100px) {
  .livya-rivero-favorites__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .livya-rivero-favorites__contact { padding-left: 0; padding-top: 32px; border-left: 0; border-top: 1px solid var(--lr-sage); }
}
@media (max-width: 767px) {
  .livya-rivero-favorites__panel { max-height: 100dvh; padding: 24px 20px 32px; }
  .livya-rivero-favorites__title { font-size: 26px; }
  .livya-rivero-favorites__close { width: 42px; height: 42px; }
  .livya-rivero-favorites__list [class^='livya-module-container'] { height: 70dvh; }
}

/* WS Form (contact form 1) in the popup: the contact page's look, sized for a column. */
.livya-rivero-favorites .wsf-form { font-family: var(--lr-font); }
.livya-rivero-favorites .wsf-form label,
.livya-rivero-favorites .wsf-form .wsf-label { font-size: 17px !important; font-weight: 300 !important; color: var(--lr-ink) !important; }
.livya-rivero-favorites .wsf-form fieldset > legend,
.livya-rivero-favorites .wsf-form .wsf-field-wrapper[data-type="radio"] > label { font-weight: 500 !important; }
.livya-rivero-favorites .wsf-form input[type=email].wsf-field,
.livya-rivero-favorites .wsf-form input[type=tel].wsf-field,
.livya-rivero-favorites .wsf-form input[type=text].wsf-field {
  height: 46px !important;
  padding: 8px 20px !important;
  border: 1px solid var(--lr-ink) !important;
  border-radius: 100px !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 300 !important;
}
.livya-rivero-favorites .wsf-form textarea.wsf-field {
  min-height: 110px;
  padding: 10px 20px !important;
  border: 1px solid var(--lr-ink) !important;
  border-radius: 19px !important;
  background: transparent !important;
  font-size: 18px !important;
  font-weight: 300 !important;
}
.livya-rivero-favorites .wsf-form input[type=radio].wsf-field + label.wsf-label:before,
.livya-rivero-favorites .wsf-form input[type=checkbox].wsf-field + label.wsf-label:before { background-color: transparent !important; border: 1px solid var(--lr-ink) !important; }
.livya-rivero-favorites .wsf-form input[type=checkbox].wsf-field:checked + label.wsf-label:before { background-color: var(--lr-ink) !important; border-color: var(--lr-ink) !important; }
.livya-rivero-favorites .wsf-form input[type=radio].wsf-field:checked + label.wsf-label:after {
  background-image: url('data:image/svg+xml,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 8 8"%3e%3ccircle r="2" fill="%23373A36"/%3e%3c/svg%3e') !important;
}
.livya-rivero-favorites .wsf-form button.wsf-button.wsf-button-primary {
  padding: 10px 28px;
  border: 1px solid var(--lr-ink) !important;
  border-radius: 100px !important;
  background-color: var(--lr-ink) !important;
  color: var(--lr-white);
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
}
.livya-rivero-favorites .wsf-form button.wsf-button.wsf-button-primary:hover { background-color: transparent !important; color: var(--lr-ink); }

/* ---------------------------------------------------------------------------
   Welcome walkthrough (Livya / Visite guidée des favoris element)
   ------------------------------------------------------------------------- */
.lr-tour {
  width: min(960px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: auto;
  background: var(--lr-paper);
  color: var(--lr-ink);
  font-family: var(--lr-font);
  box-shadow: 0 30px 80px rgb(0 0 0 / .3);
}
/* Motion Page's smooth-scroll wrappers (around the footer) disable pointer events. */
.lr-tour[open] { pointer-events: auto; }
.lr-tour::backdrop { background: rgb(21 21 21 / .55); }
.lr-tour__inner { padding: 36px 44px 32px; }
.lr-tour button { font-family: inherit; cursor: pointer; }
.lr-tour__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lr-tour__eyebrow { margin: 0; font-size: 16px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.lr-tour__close {
  display: grid; place-items: center; width: 46px; height: 46px; padding: 0;
  border: 1px solid var(--lr-ink); border-radius: 999px; background: transparent; color: var(--lr-ink);
  transition: background-color .2s, color .2s;
}
.lr-tour__close:hover { background: var(--lr-ink); color: var(--lr-paper); }

.lr-tour__slides { display: grid; margin-top: 24px; }
.lr-tour__slide {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 44px;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease;
}
.lr-tour__slide[data-active] { opacity: 1; visibility: visible; }
.lr-tour__step { margin: 0 0 10px; font-size: 15px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; opacity: .75; }
.lr-tour__title { margin: 0; font-size: 36px; font-weight: 400; line-height: 1.1; text-transform: uppercase; color: var(--lr-ink); }
.lr-tour__text { margin: 16px 0 0; max-width: 34ch; font-size: 20px; font-weight: 300; line-height: 1.45; }

.lr-tour__footer {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--lr-ink);
}
.lr-tour__skip { padding: 4px 0; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--lr-ink); font-size: 17px; font-weight: 400; text-transform: uppercase; }
.lr-tour__dots { display: flex; gap: 8px; }
.lr-tour__dot { width: 9px; height: 9px; padding: 0; border: 1px solid var(--lr-ink); border-radius: 999px; background: transparent; transition: width .25s, background-color .25s; }
.lr-tour__dot[aria-selected="true"] { width: 26px; background: var(--lr-ink); }
.lr-tour__actions { display: flex; gap: 10px; }
.lr-btn {
  padding: 9px 24px; border: 1px solid var(--lr-ink); border-radius: 100px;
  background: var(--lr-ink); color: var(--lr-white); font-size: 18px; font-weight: 400; line-height: 1.2; text-transform: uppercase;
  transition: background-color .2s, color .2s, opacity .2s;
}
.lr-btn:hover { background: transparent; color: var(--lr-ink); }
.lr-btn--outline { background: transparent; color: var(--lr-ink); }
.lr-btn--outline:hover { background: var(--lr-ink); color: var(--lr-white); }
.lr-btn[disabled] { opacity: .3; pointer-events: none; }

/* --- staged mocks ------------------------------------------------------- */
.lr-stage { position: relative; aspect-ratio: 4 / 3; min-width: 0; overflow: hidden; background: var(--lr-sand); }
.lr-stage--column { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 22px; }
.lr-stage svg { display: block; }
.lr-frames, .lr-frame { position: absolute; inset: 0; }
.lr-frame { display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; transition: opacity .3s; }
.lr-frame[data-visible] { opacity: 1; visibility: visible; }
[data-saved] { color: var(--lr-ink); }
[data-saved] svg { fill: currentColor; }

.lr-heart {
  position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0;
  border: 1px solid var(--lr-sage); border-radius: 999px; background: var(--lr-white); color: #c4473a;
}
.lr-heart[data-saved] { color: #c4473a; }
.lr-heart svg { width: 18px; height: 18px; }

.lr-unit-card { position: relative; width: min(84%, 300px); padding: 18px 18px 14px; background: var(--lr-white); border: 1px solid var(--lr-sage); box-shadow: 0 10px 30px rgb(0 0 0 / .08); }
.lr-plan { width: 100%; height: auto; color: var(--lr-ink); }
.lr-unit-meta { display: flex; flex-direction: column; align-items: center; gap: 5px; margin-top: 12px; font-size: 14px; }
.lr-unit-meta b { font-size: 16px; font-weight: 500; }
.lr-status { padding: 2px 10px; border-radius: 999px; background: var(--lr-paper); font-size: 12px; }

.lr-rows { width: 100%; background: var(--lr-white); border: 1px solid var(--lr-sage); padding: 8px 12px; }
.lr-row { display: grid; grid-template-columns: 28px 1.2fr 1fr 1fr; align-items: center; gap: 8px; padding: 10px 4px; border-bottom: 1px solid var(--lr-sage); font-size: 15px; }
.lr-row:last-child { border-bottom: 0; }
.lr-row--head { font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.lr-row b { font-weight: 500; }
.lr-row sup { font-size: .7em; }
.lr-row-heart { color: var(--lr-sage); }
.lr-row.is-target .lr-row-heart, .lr-row[data-saved] .lr-row-heart { color: #c4473a; }
.lr-row-heart svg { width: 17px; height: 17px; }

.lr-tally {
  position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; align-items: center; gap: 6px;
  padding: 5px 11px; border-radius: 999px; background: var(--lr-ink); color: var(--lr-paper); font-size: 13px; font-weight: 500;
}
.lr-tally svg { width: 14px; height: 14px; fill: currentColor; }

.lr-topbar { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: var(--lr-paper); box-shadow: 0 8px 24px rgb(0 0 0 / .08); }
.lr-wordmark { font-size: 20px; letter-spacing: .02em; line-height: 1; }
.lr-navline { width: 28px; height: 4px; background: var(--lr-sage); }
.lr-navline:first-of-type { margin-inline-start: auto; }
.lr-favbtn { position: relative; display: flex; align-items: center; gap: 6px; padding: 4px; border: 0; background: none; color: var(--lr-ink); font-size: 14px; text-transform: uppercase; }
.lr-favbtn svg { width: 17px; height: 17px; }
.lr-count { position: absolute; top: -6px; right: -10px; display: grid; place-items: center; min-width: 16px; height: 16px; border-radius: 999px; background: var(--lr-ink); color: var(--lr-paper); font-size: 10px; }
.lr-drawer { padding: 14px; background: var(--lr-paper); box-shadow: 0 8px 24px rgb(0 0 0 / .08); opacity: 0; translate: 0 -8px; transition: opacity .3s, translate .3s; }
.lr-drawer[data-open] { opacity: 1; translate: 0 0; }
.lr-drawer p { margin: 0 0 10px; font-size: 14px; text-transform: uppercase; }
.lr-thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lr-thumbs span { padding: 8px; background: var(--lr-white); border: 1px solid var(--lr-sage); }

.lr-formcard { display: flex; flex-direction: column; gap: 9px; padding: 16px; background: var(--lr-paper); box-shadow: 0 8px 24px rgb(0 0 0 / .08); }
.lr-formfav { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--lr-ink); font-size: 13px; }
.lr-formfav svg { flex: none; width: 16px; height: 16px; fill: currentColor; color: #c4473a; }
.lr-formfav b { font-weight: 500; }
.lr-input { height: 26px; border: 1px solid var(--lr-ink); border-radius: 999px; }
.lr-input--wide { height: 46px; border-radius: 14px; }
.lr-submit { align-self: center; padding: 6px 18px; border: 1px solid var(--lr-ink); border-radius: 999px; background: var(--lr-ink); color: var(--lr-white); font-size: 13px; text-transform: uppercase; }
.lr-mail { align-self: center; display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--lr-ink); color: var(--lr-paper); font-size: 13px; opacity: 0; translate: 0 8px; transition: opacity .3s, translate .3s; }
.lr-mail[data-open] { opacity: 1; translate: 0 0; }
.lr-mail svg { width: 18px; height: 18px; }

.lr-cursor { position: absolute; left: 0; top: 0; z-index: 6; width: 30px; height: 35px; opacity: 0; pointer-events: none; filter: drop-shadow(0 3px 4px rgb(0 0 0 / .25)); transition: opacity .2s; }
.lr-cursor svg { width: 100%; height: 100%; transform-origin: 20% 10%; }
.lr-cursor::after { content: ""; position: absolute; left: 2px; top: 2px; width: 26px; height: 26px; border: 2px solid var(--lr-ink); border-radius: 50%; opacity: 0; scale: .4; translate: -40% -40%; }
.lr-cursor[data-click]::after { animation: lr-ring .45s ease-out; }
@keyframes lr-ring { from { opacity: .9; scale: .4; } to { opacity: 0; scale: 1.6; } }

@media (max-width: 820px) {
  .lr-tour__inner { padding: 22px 20px 20px; }
  .lr-tour__slide { grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .lr-stage { aspect-ratio: 16 / 11; }
  .lr-tour__title { font-size: 26px; }
  .lr-tour__text { font-size: 17px; max-width: none; margin-top: 10px; }
  .lr-tour__footer { flex-wrap: wrap; justify-content: center; }
  .lr-tour__actions { order: 2; width: 100%; }
  .lr-tour__actions .lr-btn { flex: 1; }
  .lr-tour__skip { order: 3; }
}
@media (prefers-reduced-motion: reduce) {
  .lr-cursor { display: none; }
  .lr-tour__slide, .lr-drawer, .lr-mail, .lr-frame { transition: none; }
}

/* Builder: show the dialog inline so its texts can be edited. */
.livya-rivero-tour[data-preview] .lr-tour { position: static; display: block; margin: 40px auto; }
.livya-rivero-tour[data-preview] .lr-tour__slide:not([data-active]) { display: none; }
.livya-rivero-tour[data-preview] .lr-frame:first-child { opacity: 1; visibility: visible; }

/* ---------------------------------------------------------------------------
   Favorites summary beside the form (Livya / Résumé des favoris)
   ------------------------------------------------------------------------- */
.lr-summary {
  width: 100%;
  border: 1px solid var(--lr-ink);
  border-radius: 19px;
  background: var(--lr-sand);
  color: var(--lr-ink);
  font-family: var(--lr-font);
}
.lr-summary__row { display: flex; align-items: flex-start; gap: 18px; padding: 22px 24px; }
.lr-summary__icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 999px; background: var(--lr-ink); color: var(--lr-paper); }
.lr-summary__icon svg { width: 26px; height: 26px; }
.lr-summary.has-favorites .lr-summary__icon svg { fill: currentColor; }
.lr-summary__title { margin: 0 0 4px; font-size: 22px; font-weight: 500; line-height: 1.25; }
.lr-summary__text { margin: 0; font-size: 18px; font-weight: 300; line-height: 1.4; }
.lr-summary[aria-busy="true"] .lr-summary__title { opacity: .6; }
.lr-summary__manage {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
  padding: 16px 24px; border: 0; border-top: 1px solid rgb(55 58 54 / .2); border-radius: 0 0 19px 19px;
  background: transparent; color: var(--lr-ink); font: 400 18px/1.2 var(--lr-font); text-transform: uppercase; cursor: pointer;
}
.lr-summary__manage svg { width: 20px; height: 20px; transition: translate .2s; }
.lr-summary__manage:hover svg { translate: 2px -2px; }
.livya-rivero-favorites .lr-summary__row { padding: 16px 18px; gap: 14px; }
.livya-rivero-favorites .lr-summary__icon { width: 44px; height: 44px; }
.livya-rivero-favorites .lr-summary__title { font-size: 19px; }
.livya-rivero-favorites .lr-summary__text { font-size: 16px; }
@media (max-width: 767px) {
  .lr-summary__row { padding: 16px; gap: 14px; }
  .lr-summary__title { font-size: 19px; }
  .lr-summary__text { font-size: 16px; }
}

/* ---------------------------------------------------------------------------
   Fixed favorites bar (Livya / Barre des favoris)
   ------------------------------------------------------------------------- */
.lr-bar {
  position: fixed;
  inset: auto 0 0;
  /* Above Complianz's "Gérer le consentement" tab (9998), which the bar covers
     until it is collapsed; below Bricks popups (10000). */
  z-index: 9999;
  pointer-events: auto;
  background: var(--lr-paper);
  border-top: 1px solid var(--lr-ink);
  color: var(--lr-ink);
  font-family: var(--lr-font);
  box-shadow: 0 -10px 30px rgb(0 0 0 / .08);
  animation: lr-bar-in .35s ease-out;
}
.lr-bar[hidden] { display: none; }
@keyframes lr-bar-in { from { translate: 0 100%; } }
.lr-bar { transition: translate .35s ease; }
.lr-bar[data-collapsed] { translate: 0 100%; box-shadow: none; }

/* Collapse tab, on the bar's top edge (right side, clear of the consent button). */
.lr-bar__toggle {
  position: absolute; right: 30px; bottom: 100%;
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px 0 14px;
  border: 1px solid var(--lr-ink); border-bottom: 0; border-radius: 12px 12px 0 0;
  background: var(--lr-paper); color: var(--lr-ink);
  font: 400 13px/1 var(--lr-font); letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
.lr-bar__toggle:hover { background: var(--lr-sand); }
.lr-bar__toggle:focus-visible { outline: 1px solid var(--lr-ink); outline-offset: 2px; }
.lr-bar__toggle svg { width: 16px; height: 16px; flex: none; }
.lr-bar__chevron { transition: rotate .25s; }
.lr-bar__toggle-favs { display: none; align-items: center; gap: 5px; }
.lr-bar__toggle-favs svg { fill: currentColor; }
.lr-bar__toggle-favs b { font-weight: 500; }
.lr-bar[data-collapsed] .lr-bar__toggle { height: 38px; padding: 0 14px 0 16px; border-bottom: 1px solid var(--lr-ink); border-radius: 12px 12px 0 0; box-shadow: 0 -6px 20px rgb(0 0 0 / .1); }
.lr-bar[data-collapsed] .lr-bar__toggle-favs { display: inline-flex; }
.lr-bar[data-collapsed] .lr-bar__toggle-text { display: none; }
.lr-bar[data-collapsed] .lr-bar__chevron { rotate: 180deg; }
.lr-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1440px; margin-inline: auto; padding: 12px 30px; }
.lr-bar__selection { display: flex; align-items: center; gap: 18px; min-width: 0; }
.lr-bar__thumbs { display: flex; gap: 6px; flex: none; }
.lr-bar__thumb, .lr-bar__more {
  position: relative; display: grid; place-items: center; width: 52px; height: 52px; overflow: hidden;
  background: var(--lr-white); border: 1px solid var(--lr-sage); color: var(--lr-ink);
}
.lr-bar__thumb svg { width: 22px; height: 22px; }
.lr-bar__thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--lr-white); }
.lr-bar__more { font-size: 15px; font-weight: 500; }
.lr-bar__copy { min-width: 0; }
.lr-bar__count { margin: 0; font-size: 21px; font-weight: 500; line-height: 1.2; text-transform: uppercase; }
.lr-bar__text { margin: 2px 0 0; font-size: 16px; font-weight: 300; line-height: 1.3; }
.lr-bar__actions { display: flex; gap: 10px; flex: none; }
.lr-bar__manage, .lr-bar__contact {
  display: inline-flex; align-items: center; gap: 10px; padding: 10px 22px;
  border: 1px solid var(--lr-ink); border-radius: 100px; font: 400 17px/1.2 var(--lr-font); text-transform: uppercase; cursor: pointer;
  transition: background-color .2s, color .2s;
}
.lr-bar__manage { background: transparent; color: var(--lr-ink); }
.lr-bar__manage:hover { background: var(--lr-ink); color: var(--lr-white); }
.lr-bar__contact { background: var(--lr-ink); color: var(--lr-white); }
.lr-bar__contact:hover { background: transparent; color: var(--lr-ink); }
.lr-bar__manage svg, .lr-bar__contact svg { width: 20px; height: 20px; flex: none; }
body.has-livya-favorites-bar { padding-bottom: var(--lr-bar-height, 0px); }
@media (max-width: 900px) {
  .lr-bar__inner { flex-wrap: wrap; gap: 10px; padding: 10px 16px 12px; }
  .lr-bar__selection { width: 100%; gap: 12px; }
  .lr-bar__thumb, .lr-bar__more { width: 40px; height: 40px; }
  .lr-bar__count { font-size: 17px; }
  .lr-bar__text { font-size: 14px; }
  .lr-bar__actions { width: 100%; }
  .lr-bar__manage, .lr-bar__contact { flex: 1; justify-content: center; padding: 9px 12px; font-size: 14px; }
  .lr-bar__toggle { right: 16px; }
}
.lr-bar[data-preview] { position: static; animation: none; margin-top: 40px; }
/* Compact: one row, the link on the right (contact page, inside the circle). */
.lr-summary--compact { display: flex; align-items: center; border-radius: 100px; }
.lr-summary--compact .lr-summary__row { flex: 1; align-items: center; gap: 14px; padding: 12px 12px 12px 14px; min-width: 0; }
.lr-summary--compact .lr-summary__icon { width: 44px; height: 44px; }
.lr-summary--compact .lr-summary__icon svg { width: 22px; height: 22px; }
.lr-summary--compact .lr-summary__title { margin: 0; font-size: 19px; }
.lr-summary--compact .lr-summary__text { font-size: 15px; line-height: 1.3; }
.lr-summary--compact .lr-summary__manage { flex: none; width: auto; padding: 12px 24px 12px 16px; border: 0; border-left: 1px solid rgb(55 58 54 / .2); border-radius: 0 100px 100px 0; font-size: 16px; align-self: stretch; }
@media (max-width: 767px) {
  .lr-summary--compact { flex-direction: column; align-items: stretch; border-radius: 19px; }
  .lr-summary--compact .lr-summary__manage { border-left: 0; border-top: 1px solid rgb(55 58 54 / .2); border-radius: 0 0 19px 19px; justify-content: space-between; }
}

/* Bricks' popup content box is only a frame here: the panel carries the surface. */
.brx-popup:has(.livya-rivero-favorites) .brx-popup-content { background: transparent; box-shadow: none; }
/* The theme turns blocks into rows on phones; the popup's blocks stay columns. */
.livya-rivero-favorites__panel { flex-direction: column !important; flex-wrap: nowrap !important; }
