/* Vorena 1.2.1 — compact homepage and deliberate horizontal browsing.
   Safely overrides older theme CSS without changing product data or videos. */
:root {
  --announcement-height: 34px;
}
.announcement.announcement-benefits {
  min-height:34px;height:34px;display:flex;align-items:center;justify-content:center;
  gap:clamp(14px,2.2vw,35px);padding:5px 16px;line-height:1.2;
  font-size:11px;letter-spacing:.02em;overflow:hidden;white-space:nowrap;
}
.announcement-benefit {display:inline-flex;align-items:center;justify-content:center;min-width:0;}
.announcement-divider {flex:0 0 3px;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.45;}

@media (min-width:761px) {
  :root { --announcement-height: 34px; --nav-top: 51px; }
  .home .home-editorial {padding-top:34px;}
  /* Keep the header elegant rather than scaling fonts and icons with monitor width. */
  .home .site-header {padding-inline:30px;}
  .home .site-header .brand {width:170px;flex:0 0 170px;}
  .home .site-header .brand img {width:170px;height:83px;}
  .home .site-header .navigation-island {gap:18px;padding:6px 12px 6px 21px;max-width:calc(100% - 190px);}
  .home .site-header .desktop-nav {font-size:13px;gap:22px;}
  .home .site-header .header-actions .icon-button {width:38px;height:40px;}
  .home .site-header .header-actions .icon-button svg {width:19px;height:19px;}
  .home .editorial-split {
    display:grid;grid-template-columns: 1fr 1fr;gap:12px;
    max-width:1560px;margin:0 auto;padding:0 30px;
  }
  .home .editorial-split .campaign-anchor,
  .home .editorial-split .campaign-feature {
    position:relative;top:auto;left:auto;right:auto;min-height:0;
    height:clamp(430px,38vw,585px);border:0;overflow:hidden;
  }
  .home .campaign-copy {left:26px;right:26px;bottom:32px;}
  .home .campaign-copy h1 {font-size:clamp(30px,2.6vw,46px);margin-bottom:18px;}
  .home .feature-title {top:15%;}
  .home .feature-title h2 {font-size:clamp(29px,2.3vw,42px);}
  .home .campaign-link {bottom:25px;}
  .home .editorial-flow {border:0;width:100%;max-width:none;min-width:0;}
  .home .editorial-flow .flow-selection,
  .home .editorial-flow .category-mosaic,
  .home .editorial-flow .photo-banner {max-width:1450px;margin-left:auto;margin-right:auto;}
  .home .flow-selection {padding:55px 40px 42px;overflow:hidden;}
  .home .flow-heading {padding:0;margin-bottom:22px;}
  .home .flow-heading h2 {font-size:clamp(21px,1.6vw,27px);line-height:1.25;}
  .home .flow-heading>a {font-size:13px;}
  .home .carousel-track .product-card {flex:0 0 calc((100% - 42px)/4);}
  .home .carousel-track .product-grid {gap:14px;}
  .home .photo-banner {height:clamp(320px,36vw,495px);min-height:0;margin-top:5px;margin-bottom:35px;}
  .home .photo-banner-copy {bottom:32px;}
  .home .photo-banner-copy h2 {font-size:clamp(32px,2.9vw,47px);margin-bottom:17px;}
  .home .photo-banner-copy .button {min-height:42px;font-size:12px;padding:10px 17px;}
  .home .story-banner {height:clamp(300px,32vw,450px);margin-top:30px;}
  .home .category-mosaic {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 40px;background:transparent;}
  .home .category-tile {aspect-ratio:1/1.24;min-height:0;}
  .home .style-journal {padding-top:50px;}
  .home .journal-frame {flex:0 0 clamp(240px,26vw,410px);max-height:520px;}
}

/* Product cards are a single horizontal track at ALL screen widths. The
   product image stays fully visible; remove the nested beige box/extra inset. */
.home .product-carousel {min-width:0;width:100%;max-width:100%;}
.home .product-carousel .carousel-track {
  display:block;overflow-x:auto!important;overflow-y:hidden!important;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;scrollbar-width:none;max-width:100%;
  touch-action:pan-x pan-y;
}
.home .product-carousel .carousel-track::-webkit-scrollbar {display:none;}
.home .editorial-flow .product-carousel .carousel-track>.product-grid {
  display:flex!important;flex-flow:row nowrap!important;align-items:stretch;
  grid-template-columns:none!important;width:100%;min-width:0;
  padding:0!important;margin:0!important;gap:14px;overflow:visible!important;
}
.home .product-carousel .product-card {
  min-width:0;max-width:none;scroll-snap-align:start;
  padding:0;box-sizing:border-box;
}
.home .product-carousel .product-card:last-child {margin-right:0;}
.home .product-card__visual,.woocommerce .product-card__visual {background:#eee9e2;}
.home .product-card__image,.woocommerce .product-card__image {aspect-ratio:1/1.06;}
.home .product-card__image img,.woocommerce .product-card__image img,
.home .product-card--photo .product-card__image img {
  width:100%;height:100%;padding:0!important;object-fit:contain!important;
  mix-blend-mode:normal;transform:none!important;
}
.home .product-card__info {padding:12px 1px 0;}
.home .product-card__info h3,.home .product-card__info>span {font-size:13px;line-height:1.45;}
.home .product-card__info h3 {font-weight:500;}
.home .product-card__info .woocommerce-price-suffix {font-size:10px;}
.home .product-card__meta {padding:0 1px;}
.home .product-card__quick {font-size:11px;}
.home .carousel-controls {padding-top:17px;}

/* Categories: real product images, generous breathing room, readable labels. */
.home .category-tile {
  display:block;isolation:isolate;position:relative;overflow:hidden;
  border-radius:9px;background:#eee8df;color:#3b2e26;
  box-shadow:inset 0 0 0 1px #e5dbcf;
}
.home .category-tile>img,
.home .category-object>img {
  position:absolute;inset:0 0 25% 0;display:block;width:100%;height:75%;
  object-fit:contain!important;object-position:center!important;
  padding:5%!important;mix-blend-mode:normal!important;
  opacity:1!important;transform:none!important;filter:none;
}
.home .category-tile:after {display:none;}
.home .category-tile h2 {
  position:absolute;top:auto;left:10px;right:10px;bottom:13%;
  display:block;margin:0;padding:0!important;background:none!important;
  color:#3b2e26;font-weight:600;text-align:center;text-transform:none;
  font-size:clamp(15px,1.16vw,19px);letter-spacing:0;line-height:1.3;
  opacity:1;transform:none!important;text-shadow:none!important;
}
.home .category-number {top:12px;left:14px;color:#6f6258;font-size:10px;opacity:1;}
.home .category-shop {
  bottom:5%;left:50%;color:#5e4b3c;gap:9px;padding:0 0 3px;
  font-size:10px;letter-spacing:.06em;white-space:nowrap;
}
.home .category-shop svg {width:13px;height:13px;}
.home .photo-banner-video {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;}
.home {overflow-x:clip;}

@media (min-width:761px) and (max-width:1100px) {
  .home .editorial-split {padding-inline:18px;gap:8px;}
  .home .site-header {padding-inline:18px;}
  .home .site-header .desktop-nav {gap:13px;font-size:12px;}
  .home .site-header .navigation-island {gap:8px;padding-inline:12px 5px;}
  .home .flow-selection {padding-inline:26px;}
  .home .carousel-track .product-card {flex-basis:calc((100% - 24px)/3);}
  .home .carousel-track .product-grid {gap:12px;}
  .home .category-mosaic {gap:10px;padding:0 26px;}
  .home .category-tile {aspect-ratio:1/1.35;}
}
@media (max-width:760px) {
  :root { --announcement-height: 31px; }
  .announcement.announcement-benefits {height:31px;min-height:31px;padding:5px 12px;font-size:10px;}
  .announcement-benefit {display:none;}
  .announcement-benefit.is-active {display:inline-flex;}
  .announcement-divider {display:none;}
  .home .home-editorial {padding-top:31px;}
  .home .editorial-split {display:block;padding:0;margin:0;}
  .home .editorial-split .campaign-anchor {position:relative;top:auto;min-height:0;}
  .home .editorial-flow {border:0;min-width:0;}
  .home .flow-selection {padding:29px 16px 30px;overflow:hidden;}
  .home .flow-heading {padding-right:0;margin-bottom:17px;gap:10px;}
  .home .flow-heading h2 {font-size:17px;}
  .home .flow-heading>a {font-size:10px;}
  .home .editorial-flow .product-carousel .carousel-track>.product-grid {gap:10px;}
  .home .carousel-track .product-card {flex:0 0 76vw;width:76vw;}
  .home .product-card__image {aspect-ratio:1/1.05;}
  .home .product-card__info h3,.home .product-card__info>span {font-size:13px;}
  .home .category-mosaic {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px;}
  .home .category-tile {aspect-ratio:1/1.15;min-height:0;}
  .home .category-tile h2 {font-size:clamp(12px,3.4vw,16px);bottom:14%;}
  .home .category-shop {bottom:5%;font-size:8px;gap:5px;}
  .home .category-number {font-size:8px;top:9px;left:10px;}
  .home .photo-banner {margin-block:12px 24px;}
  .home .style-journal {padding-top:38px;}
}
@media (max-width:360px) {
  .home .carousel-track .product-card {flex-basis:79vw;width:79vw;}
  .home .category-mosaic {gap:7px;padding:0 11px;}
  .home .category-tile h2 {font-size:12px;}
}
@media (prefers-reduced-motion:reduce) {
  .home .carousel-track {scroll-behavior:auto;}
  .home .category-tile img {transition:none!important;}
}

/* === 1.2.2 CAROUSEL + VISUAL FIX (final overrides) ==========================
   The old flex-based track allowed a card/photograph to expand to the entire
   editorial column on some desktop sizes. This is a strict, viewport-sized
   CSS grid: only the track scrolls horizontally; no full-page x movement.
   The image is always bounded within a predictable viewport-height card. */
body.home {
  overflow-x:hidden;
}
body.home .editorial-flow,
body.home .flow-selection,
body.home .product-carousel,
body.home .product-carousel .carousel-track {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
body.home .editorial-flow .flow-selection {
  width:min(100%, 1450px);
  margin-inline:auto;
  padding:clamp(30px,3.3vw,50px) clamp(18px,3.2vw,46px) 38px;
  overflow:hidden;
}
body.home .flow-selection .flow-heading {
  margin-bottom:clamp(17px,2vw,27px);
  padding:0;
}
body.home .product-carousel .carousel-track {
  width:100%;
  display:block!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-behavior:smooth;
  padding:0 0 2px!important;
}
body.home .editorial-flow .product-carousel .carousel-track > .product-grid {
  --vr-gap:16px;
  --vr-columns:4;
  display:grid!important;
  grid-template-columns:none!important;
  grid-template-rows:auto!important;
  grid-auto-flow:column!important;
  grid-auto-columns:calc((100% - (var(--vr-columns) - 1) * var(--vr-gap)) / var(--vr-columns))!important;
  gap:var(--vr-gap)!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  align-items:start!important;
}
body.home .product-carousel .product-grid > .product-card {
  display:block;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  flex:none!important;
  float:none!important;
  margin:0!important;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
  overflow:visible;
}
body.home .product-carousel .product-card__visual {
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  height:clamp(200px,22vw,305px)!important;
  max-height:305px!important;
  background:#fff!important;
  overflow:hidden!important;
  border-radius:2px;
}
body.home .product-carousel .product-card__image {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
}
body.home .product-carousel .product-card__image > img,
body.home .product-carousel .product-card--photo .product-card__image > img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  position:static!important;
  object-fit:contain!important;
  object-position:center center!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  filter:none!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}
body.home .product-carousel .product-card__info {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:6px;
  min-height:50px;
  padding:13px 2px 0!important;
}
body.home .product-carousel .product-card__info h3 {
  font-size:clamp(12px,1.05vw,14px);
  line-height:1.4;
  font-weight:500;
  letter-spacing:0;
}
body.home .product-carousel .product-card__info > span {
  white-space:normal;
  font-size:13px;
  line-height:1.35;
}
body.home .product-carousel .product-card__meta {margin-top:7px;padding:0 2px;}
body.home .product-carousel .product-tag {
  max-width:calc(100% - 53px);
  top:10px;left:10px;
  padding:4px 7px;
  font-size:9px;
  background:rgba(250,248,244,.92);
  z-index:2;
}
body.home .product-carousel .favorite-toggle {z-index:3;}
body.home .carousel-controls {padding:16px 0 0!important;}
/* Category card photographs remain fully contained but do not grow into
   over-sized tiles; editorial title and CTA sit in a separate bottom zone. */
body.home .category-mosaic {
  width:min(100%,1450px);
  margin:0 auto 7px;
  padding:0 clamp(18px,3.2vw,46px);
  gap:clamp(8px,1vw,14px);
}
body.home .category-mosaic .category-tile {
  height:auto;
  max-height:360px;
  min-height:0!important;
  aspect-ratio:4/4.65;
  overflow:hidden;
  background:#f0ebe5;
  border:1px solid #e9e1d8;
  border-radius:5px;
  transition:box-shadow .3s ease,translate .3s ease;
}
body.home .category-mosaic .category-tile > img {
  inset:0 0 28%!important;
  width:100%!important;
  height:72%!important;
  max-height:72%!important;
  padding:5%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}
body.home .category-mosaic .category-tile h2 {
  bottom:12%!important;
  font-size:clamp(13px,1.15vw,18px);
  line-height:1.25;
  font-weight:500;
  color:#3b2e26!important;
}
body.home .category-mosaic .category-tile .category-shop {
  bottom:4.5%!important;
  color:#635347;
}
body.home .category-mosaic .category-tile:hover {box-shadow:0 11px 26px #261b1212;translate:0 -2px;}
@media (min-width:761px) {
  body.home .editorial-split {max-width:1450px;}
  body.home .editorial-split > .campaign-anchor,
  body.home .editorial-split > .campaign-feature {height:clamp(400px,36vw,540px)!important;min-height:0!important;max-height:540px!important;}
  body.home .photo-banner {max-height:455px!important;min-height:0!important;}
  body.home .story-banner {max-height:420px!important;min-height:0!important;}
}
@media (max-width:1100px) and (min-width:761px) {
  body.home .editorial-flow .product-carousel .carousel-track > .product-grid {--vr-columns:3;--vr-gap:12px;}
  body.home .product-carousel .product-card__visual {height:clamp(200px,26vw,275px)!important;}
}
@media (max-width:760px) {
  body.home .editorial-flow .flow-selection {padding:28px 16px 30px;}
  body.home .editorial-flow .product-carousel .carousel-track > .product-grid {
    --vr-columns:1.72;
    --vr-gap:10px;
  }
  body.home .product-carousel .product-card__visual {
    height:clamp(170px,55vw,245px)!important;
    max-height:245px!important;
  }
  body.home .product-carousel .product-card__info {min-height:50px;padding-top:9px!important;}
  body.home .product-carousel .product-card__info h3 {font-size:12px;}
  body.home .product-carousel .product-card__info > span {font-size:12px;}
  body.home .product-carousel .product-card__quick {display:none;}
  body.home .category-mosaic {padding:0 14px;gap:9px;}
  body.home .category-mosaic .category-tile {max-height:250px;aspect-ratio:4/5.25;}
  body.home .category-mosaic .category-tile h2 {font-size:clamp(11px,3.25vw,15px);bottom:12%!important;}
  body.home .category-mosaic .category-tile .category-shop {font-size:8px;}
}
@media (max-width:380px) {
  body.home .editorial-flow .product-carousel .carousel-track > .product-grid {--vr-columns:1.48;}
  body.home .product-carousel .product-card__visual {height:clamp(185px,60vw,230px)!important;}
  body.home .category-mosaic .category-tile h2 {font-size:11px;}
}
@media (prefers-reduced-motion:reduce) {
  body.home .product-carousel .carousel-track {scroll-behavior:auto;}
  body.home .category-mosaic .category-tile {transition:none;}
}
