/* Viloria V6 — editorial packs storytelling, intentional mobile peek, photo-led manual review cards. */

/* The pause UI has been removed from hero; arrows and dots remain accessible. */
.viloria-hero__pause { display:none!important; }

/* A touch more breathing room for the editorial copy now dedicated to packs. */
.viloria-editorial__body-inner > p { max-width:475px; }
.viloria-editorial__body h2 { font-size:clamp(64px,6vw,108px); letter-spacing:-.043em; }
.viloria-editorial__body .viloria-link-arrow { display:inline-flex; align-items:center; gap:12px; margin-top:4px; }


/* Signature quote with layered modern shapes behind the text. */
.viloria-manifesto { position:relative; overflow:hidden; }
.viloria-manifesto__inner { position:relative; isolation:isolate; overflow:visible; }
.viloria-manifesto__inner::before,
.viloria-manifesto__inner::after { content:""; position:absolute; inset:auto; pointer-events:none; z-index:0; }
.viloria-manifesto__inner::before {
  width:min(52vw, 620px); height:min(22vw, 270px);
  left:50%; top:54%; transform:translate(-50%,-50%) rotate(-7deg);
  border:1.2px solid rgba(151,104,120,.22); border-radius:48% 52% 42% 58% / 57% 40% 60% 43%;
  background:linear-gradient(135deg, rgba(196,164,129,.10), rgba(164,117,132,.03));
}
.viloria-manifesto__inner::after {
  width:min(26vw, 320px); height:min(26vw, 320px);
  left:50%; top:48%; transform:translate(-74%,-50%);
  border-radius:40px; background:radial-gradient(circle at 30% 30%, rgba(224,198,183,.42), rgba(224,198,183,.08) 55%, rgba(224,198,183,0) 70%);
  filter:blur(2px);
}
.viloria-manifesto .viloria-overline,
.viloria-manifesto p,
.viloria-manifesto__rule { position:relative; z-index:1; }
.viloria-manifesto p { padding-inline:22px; }
.viloria-manifesto p::before,
.viloria-manifesto p::after { content:""; position:absolute; z-index:-1; pointer-events:none; }
.viloria-manifesto p::before {
  width:118px; height:118px; right:12%; top:8%; border:1px solid rgba(164,117,132,.22);
  border-radius:34px; transform:rotate(22deg);
}
.viloria-manifesto p::after {
  width:84px; height:84px; left:10%; bottom:-6px; border-radius:50%;
  background:radial-gradient(circle, rgba(196,164,129,.28) 0, rgba(196,164,129,.08) 58%, rgba(196,164,129,0) 72%);
}
@media(max-width: 767px) {
  .viloria-manifesto__inner::before { width:min(88vw, 420px); height:170px; top:51%; }
  .viloria-manifesto__inner::after { width:170px; height:170px; left:50%; top:40%; transform:translate(-68%,-50%); }
  .viloria-manifesto p::before { width:88px; height:88px; right:2%; top:-14px; }
  .viloria-manifesto p::after { width:64px; height:64px; left:0; bottom:-10px; }
}

/* Photo-first testimonial gallery, inspired by LuxTim's large portrait cards.
   These are manually authored/customizer cards, not WooCommerce review data. */
.viloria-reviews { background:#4B2632; color:#f9f2eb; padding-block:clamp(70px,8.3vw,125px); }
.viloria-reviews .viloria-overline { color:#d6acb1; }
.viloria-reviews__heading { border-bottom:1px solid rgba(255,255,255,.18); padding-bottom:36px; margin-bottom:38px; }
.viloria-reviews__heading h2 { color:#fff8ef; font-size:clamp(55px,6.4vw,95px); }
.viloria-reviews__heading h2 em { color:#d9aeb4; }
.viloria-reviews__heading > p { color:#c3c5ca; max-width:350px; }
.viloria-reviews__viewport { gap:20px; padding:0 2px 14px; align-items:stretch; }
.viloria-review-card { flex:0 0 clamp(284px,27vw,388px); grid-template-rows:minmax(230px, 280px) 1fr; border:0; border-radius:0; box-shadow:none; background:#faf7f1; transition:transform .35s ease, box-shadow .35s ease; }
.viloria-review-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.18); }
.viloria-review-card__media { display:block; background:#756a6d url('../images/fallback-packs.svg') center/cover no-repeat; }
.viloria-review-card__media img { display:block; width:100%; height:100%!important; object-fit:cover; }
.viloria-review-card__sample-tag { position:absolute;left:15px;bottom:15px;background:rgba(75,38,50,.86);color:#fff; font:600 9px/1.3 var(--vi-sans); letter-spacing:.16em; padding:9px 11px; }
.viloria-review-card__body { min-height:255px; padding:27px 27px 29px; display:flex; flex-direction:column; align-items:flex-start; }
.viloria-review-card__name { display:block; font:650 17px/1.5 var(--vi-sans); letter-spacing:-.025em; color:#292e31; }
.viloria-review-card__stars { margin-top:13px; gap:3px; font-size:17px; }
.viloria-review-card__stars .is-active { color:#43564c; }
.viloria-review-card__quote { font:400 13px/1.83 var(--vi-sans); color:#55595c; margin:22px 0 0; flex:1; }
.viloria-review-card__sample-label { display:block; margin-top:18px; padding-top:12px; border-top:1px solid rgba(0,0,0,.1); width:100%; color:#82646f; font:650 9px/1.6 var(--vi-sans); letter-spacing:.055em; }
.viloria-reviews__controls { margin-top:26px; }
.viloria-reviews__controls>span { color:#c1b3b8; }
.viloria-reviews__arrows button { border-color:rgba(255,255,255,.35); color:#fffaf6; }
.viloria-reviews__arrows button:hover:not(:disabled) { color:#25212b; background:#f4e8e6; border-color:#f4e8e6; }
.viloria-reviews__arrows button:focus-visible { outline-color:#f7e0c3; }

@media(max-width: 767px) {
  /* One complete product plus a visible slice of the next, rather than two tiny cards. */
  .viloria-featured .viloria-products-carousel .viloria-products-grid {
    grid-auto-flow:column;
    grid-auto-columns:82%!important;
    gap:14px!important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:0;
    padding-right:0!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .viloria-featured .viloria-products-grid .viloria-product-card { min-width:0; scroll-snap-align:start; }
  .viloria-featured .viloria-product-card__image { aspect-ratio:4/4.75; }
  .viloria-product-card__info { padding-top:15px; }
  .viloria-featured .viloria-carousel-controls { margin-top:23px; }
  .viloria-editorial__body h2 { font-size:clamp(61px,12vw,88px); }
  .viloria-reviews__heading { margin-bottom:26px; }
  .viloria-reviews__viewport { gap:14px; }
  .viloria-review-card { flex-basis:84%; grid-template-rows:224px 1fr; }
  .viloria-review-card__body { min-height:242px; padding:24px 22px 25px; }
  .viloria-review-card__quote { font-size:12px; }
}
@media(max-width:380px) {
  .viloria-featured .viloria-products-carousel .viloria-products-grid { grid-auto-columns:83%!important; gap:12px!important; }
  .viloria-review-card { flex-basis:85%; grid-template-rows:196px 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .viloria-review-card,.viloria-review-card__media img { transition:none!important; }
}
