.fvle-root{--fvle-purple:#6e04e3;--fvle-ink:#17131c;--fvle-muted:#716b79;--fvle-border:#eae5ef;--fvle-soft:#f7f4fb;box-sizing:border-box;color:var(--fvle-ink);background:#fff;font-family:inherit;width:100%;max-width:1160px;margin:0 auto;padding:28px 18px 72px}
.fvle-root *{box-sizing:border-box}
.fvle-root .fvle-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fvle-intro{text-align:center;margin:0 auto 35px;max-width:680px}
.fvle-eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--fvle-purple)}
.fvle-root .fvle-intro h1{font-family:inherit;font-size:clamp(29px,4.5vw,46px);line-height:1.12;letter-spacing:-.045em;font-weight:800;color:var(--fvle-ink);margin:11px 0 12px;padding:0;border:0}
.fvle-intro p{color:var(--fvle-muted);font-size:16px;line-height:1.55;margin:0}
.fvle-toolbar{display:flex;flex-direction:column;gap:18px;margin-bottom:16px}
.fvle-search-label{position:relative;display:block;width:100%}
.fvle-search-icon{position:absolute;top:50%;left:17px;transform:translateY(-50%);font-size:25px;color:#7f7788;line-height:1;pointer-events:none}
.fvle-root input.fvle-search{appearance:none;display:block;width:100%;height:52px;border:1px solid var(--fvle-border);border-radius:13px;background:#fff;color:var(--fvle-ink);box-shadow:none;padding:0 17px 0 49px;font-family:inherit;font-size:15px;line-height:1;outline:none}
.fvle-root input.fvle-search:focus{border-color:var(--fvle-purple);box-shadow:0 0 0 3px #6e04e319}
.fvle-categories{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.fvle-root button.fvle-filter{appearance:none!important;background:#fff!important;color:#3e3646!important;border:1px solid var(--fvle-border)!important;border-radius:999px!important;padding:10px 15px!important;font-family:inherit!important;font-size:13px!important;font-weight:650!important;line-height:1.2!important;min-height:38px!important;box-shadow:none!important;cursor:pointer;transition:background .15s,color .15s}
.fvle-root button.fvle-filter:hover{border-color:var(--fvle-purple)!important;color:var(--fvle-purple)!important}
.fvle-root button.fvle-filter.is-active{background:var(--fvle-purple)!important;color:#fff!important;border-color:var(--fvle-purple)!important}
.fvle-count{color:var(--fvle-muted);font-size:12px;margin:0 0 18px}
.fvle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fvle-card{overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--fvle-border);border-radius:17px;box-shadow:0 4px 24px rgba(44,24,68,.035);min-width:0}
.fvle-card[hidden]{display:none!important}
.fvle-image-link{display:flex;height:256px;background:var(--fvle-soft);align-items:center;justify-content:center;padding:18px;overflow:hidden}
.fvle-image-link img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}
.fvle-image-link:hover img{transform:scale(1.035)}
.fvle-placeholder{font-size:64px;color:#bea1dd}
.fvle-card-body{padding:19px;flex:1;display:flex;flex-direction:column;min-width:0}
.fvle-category-label{align-self:flex-start;color:var(--fvle-purple);background:#f4edff;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:6px 8px;line-height:1.1}
.fvle-root .fvle-card h2{font-family:inherit;color:var(--fvle-ink);font-size:19px;letter-spacing:-.025em;line-height:1.25;font-weight:750;margin:14px 0 9px;padding:0;border:0}
.fvle-description{font-size:13.5px;line-height:1.6;color:#625b6a;margin:0 0 17px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.fvle-card-bottom{margin-top:auto;display:flex;flex-direction:column;gap:9px}
.fvle-ad-label{color:#777180;font-size:10px;line-height:1.35}
.fvle-root a.fvle-button{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--fvle-purple);color:#fff!important;border:1px solid var(--fvle-purple);border-radius:9px;text-decoration:none!important;text-align:center;font-size:13px;font-weight:750;padding:12px 14px;line-height:1.3;transition:background .15s}
.fvle-root a.fvle-button:hover{background:#5200ac;border-color:#5200ac;color:#fff!important}
.fvle-empty{text-align:center;padding:60px 12px;color:var(--fvle-muted)}
.fvle-disclosure,.fvle-amazon-disclosure{font-size:11px;line-height:1.5;color:var(--fvle-muted);text-align:center;max-width:750px;margin:24px auto 0}
.fvle-amazon-disclosure{margin-top:7px}
@media(max-width:900px){.fvle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fvle-image-link{height:230px}}
@media(max-width:540px){.fvle-root{padding:27px 13px 48px}.fvle-grid{grid-template-columns:minmax(0,1fr);gap:16px}.fvle-image-link{height:260px}.fvle-card-body{padding:18px}.fvle-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.fvle-root button.fvle-filter{flex:0 0 auto}.fvle-intro{margin-bottom:29px}.fvle-intro p{font-size:14px}}
/* 2.0 refinements; scoped to the vitrine to avoid Elementor/theme collisions. */
.fvle-root{--fvle-purple:#6e04e3;--fvle-soft:#faf7ff}
.fvle-card{transition:box-shadow .18s ease,transform .18s ease}
@media(hover:hover){.fvle-card:hover{box-shadow:0 14px 32px rgba(65,25,96,.09);transform:translateY(-2px)}}
.fvle-card-body{gap:0}.fvle-category-label{margin-top:2px}
.fvle-badge{align-self:flex-start;font-size:11px;line-height:1.2;font-weight:750;color:#3b1263;background:#f7eaff;padding:6px 9px;border-radius:999px;margin-bottom:9px}
.fvle-root a.fvle-button:focus-visible,.fvle-root button:focus-visible{outline:3px solid #ffc500!important;outline-offset:2px}
.fvle-root .fvle-image-link:focus-visible{outline:3px solid #ffc500;outline-offset:-3px}
.fvle-editorial .fvle-intro h1,.fvle-editorial .fvle-card h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.025em}
.fvle-editorial .fvle-card{border-radius:7px;box-shadow:0 5px 22px rgba(48,30,67,.06)}
.fvle-editorial .fvle-image-link{background:#f6f0eb}.fvle-editorial .fvle-category-label{background:#f9f1e8;color:#542371}
@media(max-width:540px){
.fvle-root{padding-top:21px}.fvle-intro{margin-bottom:23px}.fvle-intro h1{font-size:30px}
.fvle-root input.fvle-search{height:48px}.fvle-toolbar{gap:14px}
.fvle-root.fvle-mobile-two .fvle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fvle-mobile-two .fvle-card{border-radius:11px}
.fvle-mobile-two .fvle-image-link{height:165px;padding:9px}
.fvle-mobile-two .fvle-card-body{padding:11px}
.fvle-mobile-two .fvle-card h2{font-size:14px;line-height:1.3;margin:8px 0 6px}
.fvle-mobile-two .fvle-category-label{font-size:9px;padding:5px 6px}
.fvle-mobile-two .fvle-badge{font-size:9px;padding:5px 7px;margin-bottom:7px}
.fvle-mobile-two .fvle-description{font-size:11px;line-height:1.35;-webkit-line-clamp:3;margin-bottom:11px}
.fvle-mobile-two .fvle-ad-label{font-size:9px}.fvle-mobile-two .fvle-card-bottom{gap:6px}
.fvle-root.fvle-mobile-two a.fvle-button{padding:10px 6px;font-size:11px;gap:3px;border-radius:7px}
}
@media(max-width:360px){.fvle-mobile-two .fvle-image-link{height:140px}.fvle-mobile-two .fvle-card-body{padding:9px}}
@media(prefers-reduced-motion:reduce){.fvle-card,.fvle-image-link img{transition:none!important}}
/* 2.1 — personal, simple, accessible recommendations. No additional outbound-link indicator. */
.fvle-intro{max-width:640px}.fvle-intro p{max-width:580px;margin-inline:auto}
.fvle-category-wrap{position:relative;min-width:0}
.fvle-category-next{display:none}
.fvle-root .fvle-description{color:#514759;line-height:1.65;-webkit-line-clamp:5}
.fvle-root .fvle-card h2{margin-top:12px}
.fvle-read-more[hidden],.fvle-empty[hidden]{display:none!important}
.fvle-root .fvle-read-more{appearance:none;border:0;background:none;color:var(--fvle-purple);font:inherit;font-size:12px;font-weight:700;padding:0;margin:-3px 0 11px;cursor:pointer;text-align:left;align-self:flex-start}
.fvle-root .fvle-read-more:focus-visible,.fvle-root .fvle-reset-filters:focus-visible{outline:3px solid #ffc500;outline-offset:3px;border-radius:3px}
.fvle-root .fvle-empty{padding:38px 14px}.fvle-root .fvle-empty p{margin:0 0 12px}
.fvle-root .fvle-reset-filters{appearance:none;background:#f5edff;color:var(--fvle-purple);border:1px solid #e5d6fa;border-radius:999px;min-height:38px;padding:8px 17px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.fvle-card{scroll-margin-top:100px}
.fvle-root .fvle-card.fvle-direct-highlight{border-color:#8c48ef;box-shadow:0 0 0 3px rgba(110,4,227,.14),0 12px 28px rgba(60,22,94,.11)}
@media(max-width:540px){
  .fvle-root .fvle-intro p{line-height:1.6}
  .fvle-category-wrap{margin-right:-13px}
  .fvle-category-wrap.fvle-can-scroll-right .fvle-categories{-webkit-mask-image:linear-gradient(to right,#000 0%,#000 86%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 86%,transparent 100%)}
  .fvle-category-wrap.fvle-can-scroll-left .fvle-categories{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 9%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 9%,#000 100%)}
  .fvle-category-wrap.fvle-can-scroll-left.fvle-can-scroll-right .fvle-categories{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 9%,#000 86%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 9%,#000 86%,transparent 100%)}
  .fvle-category-wrap.fvle-can-scroll-right .fvle-category-next{display:block;position:absolute;right:8px;top:8px;font-size:23px;line-height:1;color:var(--fvle-purple);pointer-events:none}
  .fvle-categories{scroll-snap-type:x proximity;scroll-padding-inline:12px;overscroll-behavior-x:contain}
  .fvle-root button.fvle-filter{scroll-snap-align:start}
  .fvle-root.fvle-mobile-two .fvle-grid{gap:11px}
  .fvle-mobile-two .fvle-image-link{height:clamp(134px,40vw,176px)}
  .fvle-root.fvle-mobile-two .fvle-card-body{padding:12px 11px}
  .fvle-root.fvle-mobile-two .fvle-description:not(.is-expanded){-webkit-line-clamp:3}
  .fvle-root.fvle-mobile-two .fvle-description.is-expanded{display:block;-webkit-line-clamp:unset;overflow:visible}
  .fvle-root.fvle-mobile-two .fvle-description{line-height:1.45;font-size:11.5px;margin-bottom:8px}
  .fvle-root.fvle-mobile-two .fvle-card h2{font-size:14px;line-height:1.3}
  .fvle-root.fvle-mobile-two .fvle-ad-label{font-size:9px;overflow-wrap:anywhere}
  .fvle-root.fvle-mobile-two a.fvle-button{min-height:39px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.fvle-root .fvle-card.fvle-direct-highlight{transition:none}}

/* Guard secondary, unobtrusive controls against global Elementor button styles. */
.fvle-root button.fvle-read-more{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--fvle-purple)!important;text-transform:none!important;min-height:0!important;line-height:1.4!important}
.fvle-root button.fvle-reset-filters{background:#f5edff!important;color:var(--fvle-purple)!important;border:1px solid #e5d6fa!important;box-shadow:none!important;text-transform:none!important}

/* 2.1.1 — Never truncate personal recommendations. Two mobile cards keep full text.
   Let card/grid row height grow naturally; do not require a second tap to read. */
.fvle-root .fvle-description,
.fvle-root.fvle-mobile-two .fvle-description:not(.is-expanded),
.fvle-root.fvle-mobile-two .fvle-description.is-expanded {
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
  max-height:none;
  height:auto;
  white-space:normal;
  overflow-wrap:anywhere;
}
.fvle-root button.fvle-read-more { display:none!important; }
@media(max-width:540px) {
  .fvle-root.fvle-mobile-two .fvle-description {
    font-size:12.5px;
    line-height:1.5;
    margin-bottom:11px;
  }
}

/* 2.2: visibly improved discovery and personal curation; no extra taps. */
.fvle-root .fvle-toolbar{gap:12px}
.fvle-root .fvle-filter-heading{color:#64536f;font-size:11px;font-weight:800;letter-spacing:.085em;text-transform:uppercase;margin:4px 0 -3px}
.fvle-root .fvle-categories{gap:8px;padding-block:4px 7px}
.fvle-root button.fvle-filter{display:inline-flex!important;align-items:center;gap:7px!important;min-height:42px!important;padding:9px 13px!important;line-height:1.3!important;white-space:nowrap;transition:background .16s,color .16s,border-color .16s,box-shadow .16s}
.fvle-root button.fvle-filter.is-active{box-shadow:0 3px 12px rgba(110,4,227,.17)!important}
.fvle-filter-emoji{font-size:16px;line-height:1}
.fvle-root .fvle-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:999px;padding-inline:5px;background:#f2eafc;color:#6e04e3;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.fvle-root button.fvle-filter.is-active .fvle-filter-count{background:rgba(255,255,255,.22);color:#fff}
.fvle-root .fvle-note{margin:0 0 15px;min-width:0}
.fvle-root .fvle-note-label{display:block;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.055em;color:#714a9c;margin-bottom:5px}
.fvle-root .fvle-note .fvle-description{margin:0!important;color:#514759}
.fvle-root .fvle-card h2{margin-bottom:11px}
@media(max-width:540px){
  .fvle-root .fvle-filter-heading{font-size:11px}
  .fvle-root .fvle-categories{scrollbar-width:thin;scroll-padding-inline:8px}
  .fvle-root button.fvle-filter{min-height:44px!important;padding:9px 12px!important}
  .fvle-root.fvle-mobile-two .fvle-note{margin-bottom:11px}
  .fvle-root.fvle-mobile-two .fvle-note-label{font-size:9.5px;margin-bottom:4px}
  .fvle-root.fvle-mobile-two .fvle-description{font-size:12.5px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.fvle-root button.fvle-filter{transition:none!important}}
/* On narrow screens show every category rather than hiding choices sideways. */
@media(max-width:540px){
 .fvle-root .fvle-category-wrap{margin-right:0}
 .fvle-root .fvle-categories{flex-wrap:wrap;overflow:visible;scroll-snap-type:none;mask-image:none!important;-webkit-mask-image:none!important;gap:7px;padding:2px 0 5px}
 .fvle-root .fvle-category-next{display:none!important}
 .fvle-root button.fvle-filter{scroll-snap-align:none}
}
