/* Ecom Innovation v0.1.0 — namespaced frontend styles */
.eci-widget,
.eci-widget * { box-sizing: border-box; }
.eci-widget { width: 100%; font-family: "Helvetica Neue", Arial, sans-serif; }
.eci-widget img { max-width: 100%; }
.eci-empty { padding: 24px; border: 1px dashed #c9ccd1; background: #fafafa; color: #555; text-align: center; }
.eci-product-price { display: block; }
.eci-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; line-height: 1; border-radius: 999px; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; transition: opacity .25s ease, background .25s ease, color .25s ease, border-color .25s ease; white-space: nowrap; }
.eci-btn:hover { text-decoration: none; }
.eci-btn--solid { padding: 14px 28px; background: var(--eci-ink, #1c1c1c); color: #fff; border: 1px solid var(--eci-ink, #1c1c1c); }
.eci-btn--solid:hover { color: #fff; opacity: .8; }
.eci-btn--ghost { padding: 14px 28px; border: 1px solid var(--eci-ink, #1c1c1c); color: var(--eci-ink, #1c1c1c); background: transparent; }
.eci-btn--ghost:hover { background: var(--eci-ink, #1c1c1c); color: #fff; }
.eci-btn--light { padding: 14px 28px; background: #fff; color: #111; border: 1px solid #fff; }
.eci-btn--light:hover { color: #111; opacity: .85; }
.eci-btn--dark-ghost { padding: 14px 28px; background: transparent; color: #fff; border: 1px solid #444; }
.eci-btn--dark-ghost:hover { border-color: #fff; color: #fff; }
.eci-round-nav { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); background: rgba(255,255,255,.96); color: #222; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 20px; line-height: 1; box-shadow: 0 4px 16px rgba(0,0,0,.10); transition: .25s ease; }
.eci-round-nav:hover { background: #111; color: #fff; border-color: #111; }

/* SHOP THE LOOK */
.eci-shop-look { --eci-ink:#1a1a1a; --eci-muted:#8f949a; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr) minmax(190px,.68fr); min-height:620px; overflow:hidden; color:var(--eci-ink); position:relative; }
.eci-shop-look__left { position:relative; padding:44px 40px; display:flex; flex-direction:column; justify-content:space-between; min-width:0; overflow:hidden; }
.eci-shop-look__head,.eci-shop-look__footer { position:relative; z-index:3; }
.eci-shop-look__eyebrow { margin:0; font-size:16px; font-weight:600; letter-spacing:.34em; text-transform:uppercase; }
.eci-shop-look__desc { margin:16px 0 0; max-width:280px; font-size:12px; line-height:1.8; color:var(--eci-muted); }
.eci-shop-look__number { font-size:40px; font-weight:300; letter-spacing:.14em; margin:0; line-height:1.05; }
.eci-shop-look__title { margin:10px 0 0; color:var(--eci-muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.eci-shop-look__buttons { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.eci-shop-look__queue { position:absolute; left:0; bottom:0; height:52%; width:68%; display:flex; align-items:flex-end; gap:8px; padding-left:8px; pointer-events:none; z-index:1; overflow:hidden; }
.eci-shop-look__queue img { width:auto; max-width:26%; object-fit:contain; object-position:bottom; flex-shrink:1; }
.eci-shop-look__queue img:nth-last-child(1){filter:blur(1.5px);opacity:.8;height:100%}
.eci-shop-look__queue img:nth-last-child(2){filter:blur(3.5px);opacity:.55;height:80%;margin-bottom:7%}
.eci-shop-look__queue img:nth-last-child(3){filter:blur(6px);opacity:.35;height:62%;margin-bottom:13%}
.eci-shop-look__queue img:nth-last-child(4){filter:blur(9px);opacity:.22;height:48%;margin-bottom:18%}
.eci-shop-look__center { position:relative; overflow:hidden; min-height:360px; }
.eci-shop-look__model { position:absolute; left:50%; bottom:0; width:auto; height:auto; max-width:94%; max-height:96%; object-fit:contain; object-position:bottom; opacity:0; filter:blur(3px); transform:translateX(-50%) translateX(-150px) scale(.9); transition:opacity var(--eci-transition,900ms) ease, transform var(--eci-transition,900ms) cubic-bezier(.5,0,.2,1), filter var(--eci-transition,900ms) ease; }
.eci-shop-look__model.is-active { opacity:1; filter:blur(0); transform:translateX(-50%) translateX(0) scale(1); }
.eci-shop-look__right { position:relative; background:#fff; border-left:1px solid #e6e8ea; overflow:hidden; }
.eci-shop-look__feed { height:100%; }
.eci-shop-look__product-group { display:none; height:100%; align-content:center; overflow:auto; scrollbar-width:thin; }
.eci-shop-look__product-group.is-active { display:grid; }
.eci-shop-look__card { min-height:180px; border-bottom:1px solid #e6e8ea; padding:14px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:inherit; text-decoration:none; transition:background .25s ease; }
.eci-shop-look__card:hover { background:#fafafa; color:inherit; }
.eci-shop-look__card img { width:88px; height:112px; object-fit:cover; border-radius:3px; margin-bottom:10px; }
.eci-shop-look__pname { font-size:8.5px; letter-spacing:.14em; text-transform:uppercase; color:#555; line-height:1.45; }
.eci-shop-look__price { font-size:11px; color:var(--eci-muted); margin-top:5px; }
.eci-shop-look__price .amount { color:inherit; }
.eci-shop-look__no-products { padding:30px 15px; text-align:center; color:#777; font-size:12px; }
.eci-shop-look__prev,.eci-shop-look__next { position:absolute; left:50%; transform:translateX(-50%); z-index:4; width:34px; height:34px; }
.eci-shop-look__prev { top:10px; }
.eci-shop-look__next { bottom:10px; }

/* COVERFLOW */
.eci-coverflow { --eci-accent:#b39b62; padding:70px 0; color:#fff; overflow:hidden; }
.eci-coverflow__grid { display:grid; grid-template-columns:minmax(0,62%) minmax(260px,38%); align-items:center; gap:10px; }
.eci-coverflow__stage-wrap { overflow:hidden; min-width:0; padding:0 10px; }
.eci-coverflow__stage { position:relative; height:440px; perspective:1400px; touch-action:pan-y; user-select:none; }
.eci-coverflow__item { position:absolute; top:0; left:50%; width:280px; margin-left:-140px; color:inherit; text-decoration:none; transition:transform .7s cubic-bezier(.6,0,.25,1), opacity .7s ease, filter .7s ease; transform-style:preserve-3d; will-change:transform,opacity,filter; }
.eci-coverflow__item img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; border-radius:8px; box-shadow:0 24px 60px rgba(0,0,0,.55); }
.eci-coverflow__caption { display:block; text-align:center; margin-top:14px; }
.eci-coverflow__name { display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.eci-coverflow .eci-product-price { margin-top:5px; font-size:12px; color:#9aa0a6; }
.eci-coverflow .eci-product-price del { opacity:.55; }
.eci-coverflow .eci-product-price ins { text-decoration:none; }
.eci-coverflow__copy { padding:0 5vw 0 3vw; }
.eci-coverflow__tag { margin:0 0 16px; font-size:10px; letter-spacing:.32em; color:var(--eci-accent); }
.eci-coverflow__heading { margin:0 0 18px; font:500 34px/1.25 Georgia,serif; color:#fff; }
.eci-coverflow__text { max-width:360px; margin:0 0 28px; color:#9aa0a6; font-size:13px; line-height:1.9; }
.eci-coverflow__buttons { display:flex; gap:12px; flex-wrap:wrap; }
.eci-coverflow__controls { display:flex; gap:14px; margin-top:30px; }
.eci-coverflow__controls .eci-round-nav { background:transparent; color:#fff; border-color:#444; box-shadow:none; }
.eci-coverflow__controls .eci-round-nav:hover { background:#fff; color:#111; border-color:#fff; }

/* COLLECTION WHEEL */
.eci-wheel { --eci-wheel-bg:#faf9f7; --eci-accent:#b39b62; padding:70px 5vw 80px; overflow:hidden; }
.eci-wheel__heading { margin:0 0 46px; color:#1c1c1c; text-align:center; font:500 30px/1.2 Georgia,serif; }
.eci-wheel__stage { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr); gap:36px; align-items:center; }
.eci-wheel__canvas-wrap { display:flex; justify-content:center; min-width:0; }
.eci-wheel__svg { display:block; width:min(560px,100%); height:auto; overflow:visible; animation:eci-wheel-spin var(--eci-wheel-speed,60s) linear infinite; transform-origin:50% 50%; }
.eci-wheel__svg.is-reverse { animation-direction:reverse; }
.eci-wheel__svg.is-paused { animation-play-state:paused; }
.eci-wheel__segment { cursor:pointer; transition:opacity .25s ease, filter .25s ease; }
.eci-wheel__segment:hover { opacity:.82; filter:brightness(1.04); }
.eci-wheel__segment-outline { stroke:var(--eci-wheel-bg); stroke-width:6; fill:none; pointer-events:none; }
.eci-wheel__center { transform-origin:310px 310px; animation:eci-wheel-spin var(--eci-wheel-speed,60s) linear infinite reverse; pointer-events:none; }
.eci-wheel__svg.is-reverse .eci-wheel__center { animation-direction:normal; }
.eci-wheel__svg.is-paused .eci-wheel__center { animation-play-state:paused; }
.eci-wheel__preview { display:flex; justify-content:center; }
.eci-wheel__preview-box { text-align:center; max-width:310px; }
.eci-wheel__preview-image { width:100%; max-width:280px; aspect-ratio:3/4; object-fit:contain; background:#fff; border-radius:8px; box-shadow:0 22px 54px rgba(0,0,0,.14); display:block; margin:0 auto; transition:opacity .2s ease, transform .2s ease; }
.eci-wheel__preview-image.is-changing { opacity:.3; transform:scale(.96); }
.eci-wheel__preview-name { margin:18px 0 0; color:#1c1c1c; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
.eci-wheel__preview-price { margin:8px 0 18px; color:var(--eci-accent); font-size:13px; }
.eci-wheel__preview-price ins { text-decoration:none; }
@keyframes eci-wheel-spin { from{transform:rotate(0)} to{transform:rotate(360deg)} }

/* PARALLAX */
.eci-parallax { --eci-grad-start:#eceff0; --eci-grad-end:#dde2e5; --eci-bgword:rgba(255,255,255,.5); position:relative; min-height:560px; overflow:hidden; display:flex; align-items:center; background:linear-gradient(160deg,var(--eci-grad-start),var(--eci-grad-end)); }
.eci-parallax__bgword { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:var(--eci-bgword); font:600 clamp(100px,20vw,340px)/1 Georgia,serif; letter-spacing:.04em; white-space:nowrap; user-select:none; will-change:transform; }
.eci-parallax__model { position:absolute; bottom:0; left:55%; height:92%; width:auto; max-width:52%; object-fit:contain; object-position:bottom; will-change:transform; filter:drop-shadow(0 30px 40px rgba(0,0,0,.18)); }
.eci-parallax__body { position:relative; z-index:3; padding-left:7vw; max-width:520px; }
.eci-parallax__tag { margin:0 0 16px; color:#8b9096; font-size:10px; letter-spacing:.3em; }
.eci-parallax__heading { margin:0 0 26px; color:#1c1c1c; font:500 38px/1.25 Georgia,serif; }

/* PEOPLE ALSO LOVED */
.eci-loved { --eci-ink:#1c1c1c; --eci-muted:#8b9096; --eci-gap:22px; --eci-cards-per-view:3; display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.6fr); gap:40px; padding:70px 5vw; overflow:hidden; color:var(--eci-ink); }
.eci-loved__left { display:flex; flex-direction:column; justify-content:center; min-width:0; }
.eci-loved__heading { margin:0 0 14px; font:500 32px/1.25 Georgia,serif; }
.eci-loved__text { max-width:320px; margin:0 0 22px; color:var(--eci-muted); font-size:13px; line-height:1.8; }
.eci-loved__left>.eci-btn { width:max-content; }
.eci-loved__urgency { margin:30px 0 14px; font-size:17px; font-weight:600; }
.eci-loved__timer { display:flex; gap:12px; flex-wrap:wrap; }
.eci-loved__timer>div { width:64px; padding:10px 0; border:1px solid #e6e8ea; border-radius:6px; background:#fff; text-align:center; }
.eci-loved__timer span { display:block; font-size:24px; font-weight:600; letter-spacing:1px; }
.eci-loved__timer small { display:block; margin-top:4px; color:var(--eci-muted); font-size:10px; }
.eci-loved__arrows { display:flex; gap:10px; margin-top:26px; }
.eci-loved__right { min-width:0; position:relative; }
.eci-loved__viewport { overflow:hidden; width:100%; }
.eci-loved__track { display:flex; gap:var(--eci-gap); transition:transform .7s cubic-bezier(.6,0,.25,1); will-change:transform; }
.eci-loved__card { flex:0 0 calc((100% - (var(--eci-gap) * (var(--eci-cards-per-view) - 1))) / var(--eci-cards-per-view)); color:inherit; text-decoration:none; min-width:0; }
.eci-loved__card:nth-child(even) { padding-top:38px; }
.eci-loved__image-wrap { position:relative; }
.eci-loved__card img { width:100%; aspect-ratio:10/15; object-fit:cover; display:block; }
.eci-loved__card:nth-child(odd) img { aspect-ratio:10/17; }
.eci-loved__name { display:block; margin-top:12px; color:#333; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.eci-loved .eci-product-price { margin-top:4px; color:var(--eci-muted); font-size:12px; }
.eci-loved .eci-product-price ins { text-decoration:none; }
.eci-loved__badge { position:absolute; left:-8px; bottom:12px; padding:10px 16px; background:#fff; box-shadow:0 4px 14px rgba(0,0,0,.12); font-size:12px; font-weight:600; }
.eci-loved__badge small { display:block; margin-bottom:3px; color:var(--eci-muted); font-size:9px; font-weight:400; letter-spacing:.18em; }
.eci-loved__dots { display:flex; gap:7px; margin-top:20px; }
.eci-loved__dot { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:#cfd2d6; cursor:pointer; }
.eci-loved__dot.is-active { background:#333; }

@media (max-width:1024px) {
  .eci-shop-look { grid-template-columns:1.15fr .95fr .78fr; }
  .eci-shop-look__left { padding:34px 28px; }
  .eci-coverflow__grid { grid-template-columns:1fr; gap:36px; }
  .eci-coverflow__copy { padding:0 24px; text-align:center; }
  .eci-coverflow__text { margin-left:auto; margin-right:auto; }
  .eci-coverflow__buttons,.eci-coverflow__controls { justify-content:center; }
  .eci-loved { grid-template-columns:1fr 1.3fr; gap:28px; padding:50px 4vw; }
}

@media (max-width:820px) {
  .eci-shop-look { grid-template-columns:1fr; min-height:0 !important; }
  .eci-shop-look__queue { display:none; }
  .eci-shop-look__left { padding:28px 20px 20px; gap:18px; }
  .eci-shop-look__desc { max-width:none; }
  .eci-shop-look__center { height:390px; }
  .eci-shop-look__right { border-left:0; border-top:1px solid #e6e8ea; }
  .eci-shop-look__product-group.is-active { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .eci-shop-look__card { flex:0 0 33.333%; min-height:190px; border-bottom:0; border-right:1px solid #e6e8ea; scroll-snap-align:start; }
  .eci-shop-look__prev,.eci-shop-look__next { top:50%; bottom:auto; transform:translateY(-50%); }
  .eci-shop-look__prev { left:8px; }
  .eci-shop-look__next { left:auto; right:8px; }
  .eci-wheel__stage { grid-template-columns:1fr; gap:16px; }
  .eci-wheel__preview-image { max-width:220px; }
  .eci-parallax { min-height:0; flex-direction:column; padding:50px 24px 0; }
  .eci-parallax__body { padding:0; text-align:center; max-width:100%; }
  .eci-parallax__heading { font-size:30px; }
  .eci-parallax__model { position:relative; left:auto; bottom:auto; height:340px; max-width:100%; margin-top:30px; }
  .eci-parallax__bgword { font-size:30vw; }
  .eci-loved { grid-template-columns:1fr; padding:44px 20px; }
}

@media (max-width:600px) {
  .eci-shop-look__number { font-size:28px; }
  .eci-shop-look__center { height:320px; }
  .eci-shop-look__card { flex-basis:50%; }
  .eci-coverflow { padding:50px 0; }
  .eci-coverflow__heading { font-size:28px; }
  .eci-wheel { padding:50px 18px 60px; }
  .eci-wheel__heading { font-size:26px; margin-bottom:28px; }
  .eci-loved__heading { font-size:27px; }
  .eci-loved__timer>div { width:56px; }
}

@media (max-width:420px) {
  .eci-shop-look__card { flex-basis:82%; }
  .eci-parallax__model { height:300px; }
  .eci-loved__timer { gap:7px; }
  .eci-loved__timer>div { width:50px; }
  .eci-loved__timer span { font-size:20px; }
}

@media (prefers-reduced-motion: reduce) {
  .eci-shop-look__model,
  .eci-coverflow__item,
  .eci-loved__track,
  .eci-wheel__svg,
  .eci-wheel__center { animation:none !important; transition:none !important; }
}

/* PRODUCT GRID */
.eci-grid { padding:70px 5vw; }
.eci-grid__heading { margin:0 0 32px; text-align:center; font:500 32px/1.2 Georgia,serif; color:#1c1c1c; }
.eci-grid__items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.eci-grid__card { color:inherit; text-decoration:none; min-width:0; }
.eci-grid__image { display:block; overflow:hidden; background:#f5f5f5; }
.eci-grid__card img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; transition:transform .45s ease; }
.eci-grid__card:hover img { transform:scale(1.035); }
.eci-grid__name { display:block; margin-top:13px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#2c2c2c; }
.eci-grid .eci-product-price { margin-top:5px; font-size:12px; color:#777; }
.eci-grid .eci-product-price ins { text-decoration:none; }

/* ADVANCED PRODUCT CAROUSEL */
.eci-carousel { --eci-carousel-per-view:4; --eci-carousel-gap:22px; padding:70px 5vw; overflow:hidden; }
.eci-carousel__head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.eci-carousel__heading { margin:0; font:500 32px/1.2 Georgia,serif; color:#1c1c1c; }
.eci-carousel__arrows { display:flex; gap:10px; }
.eci-carousel__viewport { overflow:hidden; width:100%; touch-action:pan-y; }
.eci-carousel__track { display:flex; gap:var(--eci-carousel-gap); transition:transform .65s cubic-bezier(.6,0,.25,1); will-change:transform; }
.eci-carousel__card { flex:0 0 calc((100% - (var(--eci-carousel-gap) * (var(--eci-carousel-per-view) - 1))) / var(--eci-carousel-per-view)); color:inherit; text-decoration:none; min-width:0; }
.eci-carousel__card img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; border-radius:4px; }
.eci-carousel__name { display:block; margin-top:12px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#333; }
.eci-carousel .eci-product-price { margin-top:5px; color:#777; font-size:12px; }
.eci-carousel .eci-product-price ins { text-decoration:none; }
.eci-carousel__dots { display:flex; justify-content:center; gap:7px; margin-top:22px; }
.eci-carousel__dot { width:7px; height:7px; border:0; padding:0; border-radius:50%; background:#d2d4d7; cursor:pointer; }
.eci-carousel__dot.is-active { background:#333; }

/* CATEGORY SHOWCASE */
.eci-categories { padding:70px 5vw; }
.eci-categories__heading { margin:0 0 32px; text-align:center; font:500 32px/1.2 Georgia,serif; color:#1c1c1c; }
.eci-categories__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.eci-categories__card { position:relative; min-height:360px; overflow:hidden; color:#fff; text-decoration:none; background:#ddd; }
.eci-categories__card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.eci-categories__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.52),rgba(0,0,0,.03) 58%); }
.eci-categories__content { position:absolute; left:24px; right:24px; bottom:24px; display:block; z-index:2; }
.eci-categories__content strong { display:block; font:500 26px/1.2 Georgia,serif; color:#fff; }
.eci-categories__content small { display:block; margin-top:6px; color:rgba(255,255,255,.82); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.eci-categories__card:hover img { transform:scale(1.045); }

@media (max-width:820px) {
  .eci-grid,.eci-carousel,.eci-categories { padding:50px 20px; }
  .eci-grid__heading,.eci-carousel__heading,.eci-categories__heading { font-size:28px; }
  .eci-categories__card { min-height:320px; }
}

/* ================================================================
   Ecom Innovation v0.2.0 additions
   ================================================================ */

/* True browser-width mode. The Elementor control adds eci-fullwidth-yes
   to the widget wrapper. This intentionally ignores theme content width. */
.eci-fullwidth-yes .eci-widget:not(.eci-archive-gallery):not(.eci-pgallery):not(.eci-filter) {
  width:var(--eci-viewport-width,100vw);
  max-width:var(--eci-viewport-width,100vw);
  position:relative;
  left:50%;
  right:auto;
  margin-left:calc(var(--eci-viewport-width,100vw) / -2);
  margin-right:0;
  overflow-x:clip;
}
.eci-fullwidth-yes .eci-widget.eci-empty { width:100%; max-width:100%; left:auto; right:auto; margin-left:0; margin-right:0; }

/* Shared product action system */
.eci-product-card__image { position:relative; overflow:hidden; }
.eci-product-card__image-link { display:block; width:100%; height:100%; color:inherit; text-decoration:none; }
.eci-product-actions {
  position:absolute;
  left:50%;
  bottom:14px;
  z-index:5;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  max-width:calc(100% - 20px);
  transition:opacity .28s ease, transform .28s ease;
}
.eci-action {
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:40px;
  height:40px;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid rgba(20,20,20,.10) !important;
  border-radius:999px !important;
  background:#fff;
  color:#111;
  line-height:1 !important;
  text-decoration:none !important;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
}
.eci-action:hover,.eci-action:focus-visible { transform:translateY(-2px); background:#111; color:#fff; }
.eci-action svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.eci-action.is-active { background:#111; color:#fff; }
.eci-action.loading { opacity:.55; pointer-events:none; }
.eci-actions-hover-yes .eci-product-actions { opacity:0; transform:translate(-50%,10px); pointer-events:none; }
.eci-actions-hover-yes .eci-product-card:hover .eci-product-actions,
.eci-actions-hover-yes .eci-product-card:focus-within .eci-product-actions { opacity:1; transform:translate(-50%,0); pointer-events:auto; }
.eci-filter-empty { margin:28px 0 0; padding:18px; text-align:center; color:#777; background:#fafafa; border:1px dashed #d8d8d8; }

/* PRODUCT FILTER */
.eci-filter {
  --eci-filter-active:#111;
  --eci-filter-muted:#6c6c6c;
  padding:34px 5vw;
  background:#fff;
}
.eci-filter__heading { margin:0 0 18px; text-align:center; font:500 28px/1.2 Georgia,serif; color:#1c1c1c; }
.eci-filter__buttons { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.eci-filter__button {
  appearance:none;
  border:1px solid #dedede;
  background:#fff;
  color:var(--eci-filter-muted);
  border-radius:999px;
  padding:10px 18px;
  font:600 11px/1.2 "Helvetica Neue",Arial,sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
  transition:.24s ease;
}
.eci-filter__button small { margin-left:7px; opacity:.62; font-size:.85em; }
.eci-filter__button:hover { color:var(--eci-filter-active); border-color:var(--eci-filter-active); }
.eci-filter__button.is-active { background:var(--eci-filter-active); border-color:var(--eci-filter-active); color:#fff; }
.eci-filter-layout-underline .eci-filter__button { border:0; border-bottom:1px solid transparent; border-radius:0; background:transparent; padding:7px 4px; }
.eci-filter-layout-underline .eci-filter__button.is-active { background:transparent; color:var(--eci-filter-active); border-bottom-color:var(--eci-filter-active); }

/* ADAPTIVE COLOR HERO */
.eci-adaptive-hero {
  --eci-hero-ink:#171717;
  --eci-hero-transition:850ms;
  min-height:640px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:var(--eci-hero-ink);
  background:#dfeef5;
}
.eci-adaptive-hero__background { position:absolute; inset:0; z-index:-3; background:linear-gradient(125deg,#eaf4f7 0%,#c2e2ee 46%,#8fc6dd 100%); transition:opacity var(--eci-hero-transition) ease, filter var(--eci-hero-transition) ease; }
.eci-adaptive-hero::after { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 64% 42%,rgba(255,255,255,.33),transparent 38%),linear-gradient(90deg,rgba(255,255,255,.18),transparent 55%); pointer-events:none; }
.eci-adaptive-hero__word { position:absolute; z-index:-1; left:50%; top:50%; transform:translate(-50%,-52%); font:600 clamp(110px,23vw,390px)/.8 Georgia,serif; letter-spacing:-.04em; color:rgba(255,255,255,.40); white-space:nowrap; user-select:none; pointer-events:none; }
.eci-adaptive-hero__slides { position:absolute; inset:0; }
.eci-adaptive-hero__slide { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; padding:clamp(34px,6vw,92px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity var(--eci-hero-transition) ease, visibility var(--eci-hero-transition) ease; }
.eci-adaptive-hero__slide.is-active { opacity:1; visibility:visible; pointer-events:auto; }
.eci-adaptive-hero__copy { position:relative; z-index:4; width:46%; max-width:650px; transform:translateY(22px); opacity:0; transition:transform var(--eci-hero-transition) cubic-bezier(.2,.75,.2,1), opacity var(--eci-hero-transition) ease; }
.eci-adaptive-hero__slide.is-active .eci-adaptive-hero__copy { transform:translateY(0); opacity:1; }
.eci-adaptive-hero__eyebrow { margin:0 0 16px; color:currentColor; opacity:.62; font-size:10px; line-height:1.2; letter-spacing:.30em; text-transform:uppercase; }
.eci-adaptive-hero__heading { margin:0; max-width:700px; font:600 clamp(36px,4.8vw,74px)/1.04 "Helvetica Neue",Arial,sans-serif; letter-spacing:-.035em; white-space:normal; color:currentColor; }
.eci-adaptive-hero__text { margin:20px 0 0; max-width:520px; font-size:14px; line-height:1.75; color:currentColor; opacity:.74; }
.eci-adaptive-hero__button { display:inline-flex; align-items:center; justify-content:center; margin-top:28px; padding:14px 30px; border-radius:999px; background:#171717; color:#fff; text-decoration:none; font-size:10px; font-weight:700; letter-spacing:.17em; transition:transform .2s ease, opacity .2s ease; }
.eci-adaptive-hero__button:hover { color:#fff; transform:translateY(-2px); opacity:.88; }
.eci-adaptive-hero__visual { position:absolute; right:4vw; bottom:0; width:52%; height:94%; display:flex; align-items:flex-end; justify-content:center; z-index:3; }
.eci-adaptive-hero__image-card { position:relative; width:min(82%,520px); height:88%; border-radius:12px 12px 0 0; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.12); background:rgba(255,255,255,.24); transform:translateX(55px) scale(.95); opacity:0; transition:transform var(--eci-hero-transition) cubic-bezier(.2,.75,.2,1), opacity var(--eci-hero-transition) ease; }
.eci-adaptive-hero__slide.is-active .eci-adaptive-hero__image-card { transform:translateX(0) scale(1); opacity:1; }
.eci-adaptive-hero__image { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.eci-adaptive-hero__arrows { position:absolute; z-index:8; right:3vw; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px; }
.eci-adaptive-hero__dots { position:absolute; z-index:8; left:6vw; bottom:28px; display:flex; gap:8px; }
.eci-adaptive-hero__dot { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:currentColor; opacity:.3; cursor:pointer; }
.eci-adaptive-hero__dot.is-active { opacity:1; transform:scale(1.25); }

/* SHOP THE LOOK v0.2 cleanup */
.eci-shop-look { --eci-look-left:34%; --eci-look-rail:24%; grid-template-columns:minmax(0,var(--eci-look-left)) minmax(280px,1fr) minmax(210px,var(--eci-look-rail)); min-height:650px; }
.eci-shop-look__left { padding:clamp(32px,4vw,64px); }
.eci-shop-look__head { max-width:440px; }
.eci-shop-look__footer { max-width:520px; }
.eci-shop-look__number { font-size:clamp(34px,4.2vw,64px); letter-spacing:.12em; }
.eci-shop-look__title { font-size:11px; }
.eci-shop-look__center { background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.28)); }
.eci-shop-look__model { max-width:100%; max-height:100%; }
.eci-shop-look__right { box-shadow:-18px 0 45px rgba(0,0,0,.025); }
.eci-shop-look__product-group.is-active { display:grid; grid-template-rows:repeat(var(--eci-look-products,3),minmax(0,1fr)); align-content:stretch; overflow:hidden; }
.eci-shop-look__card { min-height:0; height:100%; padding:18px 14px; }
.eci-shop-look__card img { width:min(96px,44%); height:auto; aspect-ratio:3/4; object-fit:cover; }
.eci-shop-look__no-products { display:flex; align-items:center; justify-content:center; height:100%; min-height:240px; }

/* PRODUCT GRID v0.2 */
.eci-grid { background:#fff; }
.eci-grid__card { min-width:0; }
.eci-grid__image { aspect-ratio:3/4; }
.eci-grid__image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.eci-grid__category { display:block; margin-top:12px; color:#999; font-size:9px; letter-spacing:.16em; text-transform:uppercase; }
.eci-grid__name { text-decoration:none; }
.eci-grid__name:hover { color:inherit; opacity:.72; }

/* PRODUCT CAROUSEL v0.2 */
.eci-carousel__image { position:relative; overflow:hidden; aspect-ratio:3/4; background:#f4f4f4; border-radius:4px; }
.eci-carousel__image img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; display:block; transition:transform .42s ease; }
.eci-carousel__card:hover .eci-carousel__image img { transform:scale(1.035); }
.eci-carousel__name { text-decoration:none; }

/* CATEGORY SHOWCASE — editorial slanted layout */
.eci-categories { padding:58px 5vw 64px; overflow:hidden; }
.eci-categories__heading { margin:0 0 36px; text-align:center; font:600 clamp(42px,6vw,86px)/.95 "Helvetica Neue",Arial,sans-serif; letter-spacing:-.045em; color:#2c2b29; }
.eci-categories__subtitle { max-width:920px; margin:36px auto 0; text-align:center; font-size:20px; line-height:1.25; letter-spacing:.03em; color:#525252; }
.eci-categories__slanted { --eci-cat-height:380px; --eci-cat-slant:-10deg; display:flex; gap:10px; justify-content:center; align-items:center; max-width:1240px; margin:0 auto; padding:0 34px; }
.eci-categories__slice { position:relative; flex:1 1 0; min-width:0; height:var(--eci-cat-height); overflow:hidden; transform:skewX(var(--eci-cat-slant)); background:#ddd; text-decoration:none; color:#fff; transition:flex .48s cubic-bezier(.2,.75,.2,1), transform .48s ease, filter .35s ease; }
.eci-categories__slice:nth-child(odd) { height:calc(var(--eci-cat-height) * .80); }
.eci-categories__slice:nth-child(3n+2) { height:calc(var(--eci-cat-height) * .96); }
.eci-categories__slice:hover { flex:1.42 1 0; z-index:3; }
.eci-categories__slice-media { position:absolute; inset:-9%; transform:skewX(calc(var(--eci-cat-slant) * -1)); }
.eci-categories__slice-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.75,.2,1), filter .35s ease; }
.eci-categories__slice:hover img { transform:scale(1.07); }
.eci-categories__slice::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.56),rgba(0,0,0,0) 46%); opacity:.18; transition:opacity .3s ease; }
.eci-categories__slice:hover::after { opacity:.7; }
.eci-categories__slice-label { position:absolute; left:50%; bottom:20px; z-index:4; width:130%; transform:translateX(-50%) skewX(calc(var(--eci-cat-slant) * -1)); text-align:center; opacity:0; transition:opacity .3s ease, bottom .3s ease; }
.eci-categories__slice:hover .eci-categories__slice-label,.eci-categories__slice:focus-visible .eci-categories__slice-label { opacity:1; bottom:25px; }
.eci-categories__slice-label .eci-categories__name { display:block; color:#fff; font-size:13px; line-height:1.15; letter-spacing:.10em; text-transform:uppercase; }
.eci-categories__slice-label small { display:block; margin-top:5px; color:rgba(255,255,255,.78); font-size:9px; }

/* Global quick view / compare / wishlist UI */
.eci-overlay { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(12,12,12,.58); backdrop-filter:blur(7px); opacity:0; visibility:hidden; transition:.24s ease; }
.eci-overlay.is-open { opacity:1; visibility:visible; }
.eci-modal { position:relative; width:min(920px,100%); max-height:min(86vh,820px); overflow:auto; border-radius:12px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.32); transform:translateY(15px) scale(.985); transition:transform .24s ease; }
.eci-overlay.is-open .eci-modal { transform:translateY(0) scale(1); }
.eci-modal__close { position:absolute; top:14px; right:14px; z-index:6; width:38px; height:38px; border:0; border-radius:50%; background:#fff; box-shadow:0 4px 16px rgba(0,0,0,.13); cursor:pointer; font-size:20px; }
.eci-quick { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.88fr); }
.eci-quick__image { min-height:500px; background:#f4f4f4; }
.eci-quick__image img { width:100%; height:100%; object-fit:cover; display:block; }
.eci-quick__copy { padding:clamp(32px,5vw,62px); align-self:center; }
.eci-quick__category { margin:0 0 10px; color:#999; font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.eci-quick__name { margin:0; font:500 clamp(28px,3vw,42px)/1.08 Georgia,serif; color:#181818; }
.eci-quick__price { margin:14px 0; font-size:17px; color:#555; }
.eci-quick__stock { margin:0 0 14px; font-size:12px; color:#777; }
.eci-quick__desc { color:#666; line-height:1.7; font-size:13px; }
.eci-quick__view { display:inline-flex; margin-top:22px; padding:13px 24px; border-radius:999px; background:#111; color:#fff; text-decoration:none; font-size:10px; letter-spacing:.14em; }
.eci-quick__view:hover { color:#fff; opacity:.85; }
.eci-compare { padding:42px; }
.eci-compare__title { margin:0 0 22px; font:500 34px/1.1 Georgia,serif; }
.eci-compare__table { width:100%; border-collapse:collapse; table-layout:fixed; }
.eci-compare__table th,.eci-compare__table td { border:1px solid #e5e5e5; padding:14px; vertical-align:top; text-align:center; }
.eci-compare__table img { width:100%; max-height:230px; object-fit:cover; }
.eci-compare__remove { margin-top:8px; border:0; background:transparent; color:#888; text-decoration:underline; cursor:pointer; font-size:11px; }
.eci-toast { position:fixed; z-index:1000000; left:50%; bottom:26px; transform:translate(-50%,20px); min-width:220px; max-width:min(460px,calc(100vw - 32px)); padding:13px 18px; border-radius:999px; background:#111; color:#fff; text-align:center; font-size:12px; box-shadow:0 12px 35px rgba(0,0,0,.23); opacity:0; pointer-events:none; transition:.25s ease; }
.eci-toast.is-show { opacity:1; transform:translate(-50%,0); }

@media (max-width:1024px) {
  .eci-adaptive-hero__slide { padding:44px 36px; }
  .eci-adaptive-hero__copy { width:48%; }
  .eci-adaptive-hero__visual { width:50%; right:1vw; }
  .eci-adaptive-hero__image-card { width:88%; }
  .eci-categories__slanted { padding:0 20px; }
}

@media (max-width:820px) {
  .eci-adaptive-hero { min-height:700px; }
  .eci-adaptive-hero__slide { flex-direction:column; justify-content:flex-start; align-items:stretch; padding:44px 22px 0; }
  .eci-adaptive-hero__copy { width:100% !important; max-width:680px; margin:0 auto; text-align:center; }
  .eci-adaptive-hero__heading { font-size:clamp(34px,8vw,54px); }
  .eci-adaptive-hero__text { margin-left:auto; margin-right:auto; }
  .eci-adaptive-hero__visual { position:relative; right:auto; bottom:auto; width:100% !important; height:390px; margin-top:30px; }
  .eci-adaptive-hero__image-card { width:min(82%,440px); height:100%; border-radius:12px 12px 0 0; }
  .eci-adaptive-hero__arrows { right:12px; top:auto; bottom:22px; transform:none; flex-direction:row; }
  .eci-adaptive-hero__dots { left:22px; bottom:34px; }

  .eci-shop-look { grid-template-columns:1fr; }
  .eci-shop-look__left { min-height:250px; }
  .eci-shop-look__center { height:420px; }
  .eci-shop-look__product-group.is-active { display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; }
  .eci-shop-look__card { flex:0 0 min(42%,220px); height:210px; scroll-snap-align:start; }

  .eci-product-actions { opacity:1 !important; transform:translate(-50%,0) !important; pointer-events:auto !important; }
  .eci-action { width:38px; height:38px; }

  .eci-categories__slanted { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; gap:12px; }
  .eci-categories__slice,.eci-categories__slice:nth-child(odd),.eci-categories__slice:nth-child(3n+2) { height:var(--eci-cat-height); transform:none; }
  .eci-categories__slice-media { inset:0; transform:none; }
  .eci-categories__slice-label { width:auto; left:18px; right:18px; bottom:18px; transform:none; text-align:left; opacity:1; }
  .eci-categories__slice::after { opacity:.55; }
  .eci-categories__subtitle { font-size:17px; }

  .eci-quick { grid-template-columns:1fr; }
  .eci-quick__image { min-height:320px; max-height:440px; }
  .eci-compare { padding:28px 18px; overflow-x:auto; }
  .eci-compare__table { min-width:680px; }
}

@media (max-width:560px) {
  .eci-filter { padding:28px 16px; }
  .eci-filter__buttons { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .eci-filter__buttons::-webkit-scrollbar { display:none; }
  .eci-filter__button { flex:0 0 auto; }

  .eci-adaptive-hero { min-height:680px; }
  .eci-adaptive-hero__slide { padding:34px 16px 0; }
  .eci-adaptive-hero__eyebrow { font-size:9px; }
  .eci-adaptive-hero__text { font-size:12px; }
  .eci-adaptive-hero__visual { height:350px; margin-top:24px; }
  .eci-adaptive-hero__image-card { width:88%; }
  .eci-adaptive-hero__word { font-size:42vw; }

  .eci-shop-look__center { height:340px; }
  .eci-shop-look__card { flex-basis:72%; }

  .eci-categories { padding:44px 16px 50px; }
  .eci-categories__heading { font-size:clamp(38px,13vw,58px); margin-bottom:28px; }
  .eci-categories__slanted { grid-template-columns:1fr 1fr; gap:8px; }
  .eci-categories__slice,.eci-categories__slice:nth-child(odd),.eci-categories__slice:nth-child(3n+2) { height:260px; }
  .eci-categories__subtitle { margin-top:26px; font-size:15px; }

  .eci-product-actions { gap:5px; bottom:9px; }
  .eci-action { width:34px !important; height:34px !important; }
  .eci-action svg { width:15px; height:15px; }

  .eci-overlay { padding:10px; }
  .eci-modal { max-height:92vh; }
  .eci-quick__copy { padding:28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .eci-adaptive-hero__slide,
  .eci-adaptive-hero__copy,
  .eci-adaptive-hero__image-card,
  .eci-product-actions,
  .eci-categories__slice,
  .eci-categories__slice-media img { transition:none !important; }
}

/* Persistent wishlist / compare tools */
.eci-tools-dock { position:fixed; right:18px; bottom:18px; z-index:999990; display:flex; gap:8px; opacity:0; visibility:hidden; transform:translateY(12px); transition:.24s ease; }
.eci-tools-dock.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.eci-tools-dock button { border:0; border-radius:999px; padding:11px 15px; background:#111; color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.20); cursor:pointer; font-size:11px; letter-spacing:.04em; }
.eci-tools-dock button span { display:inline-flex; min-width:18px; height:18px; align-items:center; justify-content:center; margin-left:6px; border-radius:50%; background:#fff; color:#111; font-size:10px; }
.eci-collection-modal { padding:42px; }
.eci-collection-modal h2 { margin:0 0 24px; font:500 34px/1.1 Georgia,serif; }
.eci-collection-modal__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.eci-collection-modal__item { display:grid; grid-template-columns:120px 1fr; gap:16px; align-items:center; padding:12px; border:1px solid #e8e8e8; }
.eci-collection-modal__item img { width:120px; height:150px; object-fit:cover; display:block; }
.eci-collection-modal__name { color:#222; text-decoration:none; font-weight:600; }
.eci-collection-modal__item p { margin:7px 0; color:#777; font-size:12px; }
.eci-collection-modal__item button { border:0; padding:0; background:transparent; color:#777; text-decoration:underline; cursor:pointer; font-size:11px; }
@media (max-width:560px) {
  .eci-tools-dock { right:10px; bottom:10px; }
  .eci-tools-dock button { padding:9px 11px; font-size:10px; }
  .eci-collection-modal { padding:32px 18px; }
  .eci-collection-modal__grid { grid-template-columns:1fr; }
  .eci-collection-modal__item { grid-template-columns:92px 1fr; }
  .eci-collection-modal__item img { width:92px; height:118px; }
}

/* ================================================================
   Ecom Innovation v0.3.0 — Commerce Builder
   ================================================================ */
.eci-commerce-canvas{width:100%;max-width:none!important;margin:0;padding:0;overflow:clip}
body:has(.eci-commerce-canvas) .site-content,
body:has(.eci-commerce-canvas) .content-area,
body:has(.eci-commerce-canvas) main.site-main{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}

/* Adaptive hero: subject should sit directly in the adaptive atmosphere. */
.eci-adaptive-hero__image-card{background:transparent!important;box-shadow:none!important;overflow:visible!important;border-radius:0!important}
.eci-adaptive-hero__image{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 34px rgba(0,0,0,.12));}
.eci-adaptive-hero__slide[data-cutout="auto"] .eci-adaptive-hero__image,
.eci-adaptive-hero__slide[data-cutout="custom"] .eci-adaptive-hero__image{filter:drop-shadow(0 26px 30px rgba(0,0,0,.16))}

/* Server-backed product filters */
.eci-filter{--eci-filter-active:#111;--eci-filter-muted:#696969;border:1px solid #ececec;border-radius:16px;padding:24px;background:#fff}
.eci-filter__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.eci-filter__mobile-toggle{display:none;border:1px solid #ddd;background:#fff;border-radius:999px;padding:9px 16px;cursor:pointer}
.eci-filter__panel{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(260px,2fr) minmax(210px,1fr);gap:18px 24px;align-items:end;margin-top:18px}
.eci-filter__section,.eci-filter__field{display:flex;flex-direction:column;gap:8px;margin:0}
.eci-filter__label,.eci-filter__field>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#777;font-weight:600}
.eci-filter__field input,.eci-filter__field select,.eci-filter__price input{width:100%;min-height:42px;border:1px solid #ddd;border-radius:8px;background:#fff;padding:9px 11px;color:#111}
.eci-filter__field select[multiple]{min-height:90px}
.eci-filter__price{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.eci-filter__buttons{display:flex;flex-wrap:wrap;gap:9px}
.eci-filter__button{border:1px solid #ddd;background:#fff;color:var(--eci-filter-muted);padding:9px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.2s ease}
.eci-filter__button small{font-size:.78em;opacity:.62}
.eci-filter__button:hover,.eci-filter__button.is-active{background:var(--eci-filter-active);border-color:var(--eci-filter-active);color:#fff}
.eci-filter-layout-underline .eci-filter__button{border:0;border-radius:0;background:transparent!important;padding:8px 0;border-bottom:2px solid transparent;color:var(--eci-filter-muted)}
.eci-filter-layout-underline .eci-filter__button.is-active{color:var(--eci-filter-active);border-bottom-color:var(--eci-filter-active)}
.eci-filter__toggles{display:flex;flex-direction:column;gap:10px;align-self:center}
.eci-filter__toggles label{display:flex;align-items:center;gap:8px;cursor:pointer}
.eci-filter__actions{display:flex;gap:10px;align-items:center}
.eci-filter__apply,.eci-filter__reset{min-height:42px;border-radius:999px;padding:10px 20px;cursor:pointer}
.eci-filter__apply{border:1px solid #111;background:#111;color:#fff}
.eci-filter__reset{border:1px solid #ddd;background:#fff;color:#111}
.eci-widget.is-filter-loading{position:relative;pointer-events:none;opacity:.66}
.eci-widget.is-filter-loading:after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border:3px solid rgba(0,0,0,.15);border-top-color:#111;border-radius:50%;animation:eciSpin .75s linear infinite;z-index:20}
@keyframes eciSpin{to{transform:rotate(360deg)}}

/* Product builder: gallery */
.eci-pgallery{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.eci-pgallery__thumbs{display:flex;flex-direction:column;gap:10px;max-height:680px;overflow:auto;scrollbar-width:thin}
.eci-pgallery__thumb{padding:0;border:1px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;flex:0 0 auto;background:#f5f5f5;transition:border-color .2s,opacity .2s}
.eci-pgallery__thumb.is-active{border-color:#111}.eci-pgallery__thumb:not(.is-active){opacity:.68}
.eci-pgallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.eci-pgallery__main{min-width:0;background:#f5f5f5;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.eci-pgallery__main img{width:100%;display:block;object-fit:contain;transition:transform .35s ease;transform-origin:center}
.eci-gallery-zoom-yes .eci-pgallery__main:hover img{transform:scale(1.045)}
.eci-gallery-layout-horizontal .eci-pgallery{grid-template-columns:1fr}.eci-gallery-layout-horizontal .eci-pgallery__thumbs{order:2;flex-direction:row;max-height:none;overflow:auto}.eci-gallery-layout-horizontal .eci-pgallery__main{order:1}
.eci-gallery-layout-stacked .eci-pgallery{display:block}.eci-gallery-layout-stacked .eci-pgallery__thumbs{display:none}.eci-gallery-layout-stacked .eci-pgallery__main{border-radius:0}

/* Product builder: typography and purchase UI */
.eci-product-title{margin:0;color:#171717;line-height:1.08}
.eci-dynamic-price{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:650;color:#171717}
.eci-dynamic-price del{opacity:.48;font-weight:400}.eci-dynamic-price ins{text-decoration:none}
.eci-sale-pill{font-size:10px;letter-spacing:.12em;background:#111;color:#fff;padding:5px 9px;border-radius:999px}
.eci-product-rating{display:flex;align-items:center;gap:8px}.eci-product-rating .star-rating{float:none;margin:0}.eci-product-rating>span{font-size:12px;color:#717171}
.eci-product-excerpt{color:#595959;line-height:1.8}.eci-product-excerpt p:last-child{margin-bottom:0}
.eci-pcart form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0 0 10px!important}.eci-pcart form.cart .quantity{margin:0!important}.eci-pcart form.cart .qty{height:48px;min-width:70px;border:1px solid #d8d8d8;border-radius:8px;padding:8px}.eci-pcart .single_add_to_cart_button,.eci-buy-now{min-height:48px;border:1px solid #111;border-radius:8px;padding:12px 28px;font-weight:650;letter-spacing:.06em;cursor:pointer}.eci-pcart .single_add_to_cart_button{background:#111;color:#fff;flex:1}.eci-buy-now{width:100%;background:#fff;color:#111}.eci-pcart table.variations{width:100%;margin-bottom:14px}.eci-pcart table.variations th,.eci-pcart table.variations td{padding:6px 0;text-align:left}.eci-pcart table.variations select{min-height:44px;border:1px solid #ddd;border-radius:8px;padding:8px;width:100%}
.eci-product-meta{font-size:13px;color:#606060;border-top:1px solid #eee;padding-top:16px}.eci-product-meta p{margin:6px 0}.eci-product-meta strong{color:#222}.eci-stock{display:inline-flex!important;border-radius:999px;padding:6px 10px!important;font-size:11px;font-weight:650}.eci-stock.is-in{background:#eff8f1;color:#287b3a}.eci-stock.is-out{background:#fff0f0;color:#a52c2c}
.eci-product-tabs .woocommerce-tabs{width:100%}.eci-product-tabs .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important;display:flex;gap:24px;border-bottom:1px solid #e7e7e7}.eci-product-tabs .woocommerce-tabs ul.tabs:before,.eci-product-tabs .woocommerce-tabs ul.tabs li:before,.eci-product-tabs .woocommerce-tabs ul.tabs li:after{display:none!important}.eci-product-tabs .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0!important;padding:0!important}.eci-product-tabs .woocommerce-tabs ul.tabs li a{padding:12px 0!important;color:#777!important}.eci-product-tabs .woocommerce-tabs ul.tabs li.active a{color:#111!important;border-bottom:2px solid #111}
.eci-product-accordion__button{width:100%;display:flex;justify-content:space-between;border:0;border-top:1px solid #e7e7e7;background:transparent;padding:16px 0;text-align:left;font-weight:650;cursor:pointer}.eci-product-accordion__button:after{content:"+"}.eci-product-accordion__button.is-active:after{content:"−"}.eci-tabs-mode-accordion .woocommerce-Tabs-panel{padding:0 0 24px!important;margin:0!important}

/* Product trust badges */
.eci-trust{display:grid;gap:14px}.eci-trust__item{display:flex;gap:11px;align-items:flex-start;border:1px solid #eee;border-radius:10px;padding:14px;background:#fff}.eci-trust__icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 auto}.eci-trust__icon svg{width:20px;height:20px}.eci-trust__item strong,.eci-trust__item span{display:block}.eci-trust__title{font-size:12px;color:#222}.eci-trust__item span{font-size:10px;color:#818181;margin-top:2px}

/* Related products / archive pieces */
.eci-related h2{margin:0 0 26px}.eci-related__grid{display:grid;gap:22px}.eci-related__card a{display:block;text-decoration:none;color:inherit}.eci-related__card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:#f5f5f5}.eci-related__card span{display:block;margin-top:10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.eci-archive-title{margin:0}.eci-archive-description{max-width:820px;color:#656565;line-height:1.8}.eci-archive-description p:last-child{margin-bottom:0}
.eci-subcats{display:grid;gap:18px}.eci-subcats__item{text-decoration:none;color:inherit;min-width:0}.eci-subcats__item img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#f5f5f5;display:block;border-radius:8px;transition:transform .35s ease}.eci-subcats__item:hover img{transform:translateY(-4px)}.eci-subcats__item strong{display:block;margin-top:10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.eci-subcats__item span{display:block;margin-top:3px;font-size:11px;color:#888}

/* AJAX-created cards inherit the normal card presentation. */
.eci-grid__items:empty,.eci-carousel__track:empty{min-height:160px}

@media(max-width:1024px){
  .eci-filter__panel{grid-template-columns:1fr 1fr}.eci-filter__actions{grid-column:1/-1}
  .eci-pgallery{grid-template-columns:72px minmax(0,1fr)}
}
@media(max-width:767px){
  .eci-filter{border-radius:12px;padding:16px}.eci-filter__mobile-toggle{display:inline-flex}.eci-filter__panel{display:none;grid-template-columns:1fr;margin-top:14px}.eci-filter.is-panel-open .eci-filter__panel{display:grid}.eci-filter__actions{grid-column:auto}.eci-filter__apply,.eci-filter__reset{flex:1}
  .eci-pgallery{grid-template-columns:1fr;gap:10px}.eci-pgallery__thumbs{order:2;flex-direction:row;max-height:none;overflow:auto}.eci-pgallery__main{order:1}.eci-pgallery__thumb{width:64px!important;height:64px!important}
  .eci-pcart form.cart{display:grid;grid-template-columns:80px 1fr}.eci-pcart form.cart .variations,.eci-pcart form.cart .single_variation_wrap{grid-column:1/-1}.eci-buy-now{width:100%}
  .eci-product-tabs .woocommerce-tabs ul.tabs{gap:14px;overflow:auto}.eci-trust{grid-template-columns:1fr!important}
}

/* Shoppable lookbook + marquee */
.eci-single-actions .eci-product-actions{position:static;transform:none;opacity:1;pointer-events:auto;display:flex;flex-wrap:wrap;gap:10px}.eci-single-actions .eci-action{position:static}
.eci-hotspots{position:relative;overflow:hidden;background:#f4f4f4}.eci-hotspots__image{width:100%;height:100%;object-fit:cover;display:block}.eci-hotspots__product{position:absolute;transform:translate(-50%,-50%);z-index:3}.eci-hotspots__pin{width:34px;height:34px;border:2px solid #fff;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 5px 20px rgba(0,0,0,.22);animation:eciHotspotPulse 2.2s ease-in-out infinite}.eci-hotspots__pin:focus-visible{outline:3px solid #fff;outline-offset:3px}@keyframes eciHotspotPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.65),0 5px 20px rgba(0,0,0,.22)}50%{box-shadow:0 0 0 9px rgba(255,255,255,0),0 5px 20px rgba(0,0,0,.22)}}
.eci-marquee{overflow:hidden;padding:13px 0;background:#111;color:#fff;white-space:nowrap}.eci-marquee__track{display:inline-flex;width:max-content;align-items:center;animation:eciMarquee linear infinite;will-change:transform}.eci-marquee__item{display:inline-flex;align-items:center;gap:30px;padding-left:30px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.eci-marquee__item a{color:inherit;text-decoration:none}.eci-marquee__item i{font-style:normal;opacity:.55}@keyframes eciMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.eci-hotspots__pin,.eci-marquee__track{animation:none!important}}
.eci-variation-style-chips .eci-pcart form.variations_form table.variations select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.eci-variation-chips{display:flex;flex-wrap:wrap;gap:8px;margin:5px 0 10px}.eci-variation-chip{min-width:42px;min-height:38px;padding:8px 12px;border:1px solid #d8d8d8;border-radius:7px;background:#fff;color:#222;cursor:pointer;transition:.2s}.eci-variation-chip:hover,.eci-variation-chip.is-active{border-color:#111;background:#111;color:#fff}.eci-variation-chip:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.eci-breadcrumbs{font-size:12px;color:#777;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.eci-breadcrumbs a{color:inherit;text-decoration:none}.eci-breadcrumbs a:hover{color:#111}

/* v0.3.1 — Archive Product Gallery */
.eci-archive-gallery__heading{margin:0 0 28px;color:#171717}
.eci-archive-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.eci-archive-gallery__card{min-width:0}
.eci-archive-gallery__media{position:relative;overflow:hidden;aspect-ratio:3/4;background:#f5f5f5}
.eci-archive-gallery__media>a{display:block;width:100%;height:100%}
.eci-archive-gallery__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .35s ease,transform .45s ease}
.eci-archive-gallery__primary{opacity:1;transform:scale(1)}
.eci-archive-gallery__secondary{opacity:0;transform:scale(1.015)}
.eci-archive-gallery__card.has-secondary:hover .eci-archive-gallery__primary{opacity:0}
.eci-archive-gallery__card.has-secondary:hover .eci-archive-gallery__secondary{opacity:1;transform:scale(1)}
.eci-archive-gallery__info{padding-top:12px}
.eci-archive-gallery__name{display:block;color:#222;text-decoration:none;font-size:12px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.eci-archive-gallery__name:hover{color:inherit;opacity:.72}
.eci-archive-gallery__rating{margin-top:6px;min-height:18px}
.eci-archive-gallery__rating .star-rating{float:none;margin:0}
.eci-archive-gallery__price{margin-top:6px;color:#777;font-size:13px}
.eci-template-editor-preview{margin:0;background:#fff}
.eci-template-preview{min-height:100vh}
@media(max-width:1024px){.eci-archive-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.eci-archive-gallery__grid{grid-template-columns:1fr}}


/* ================================================================
   Ecom Innovation v0.5.0 — Builder UX, containment, filters, gallery,
   brand identity and product reviews
   ================================================================ */
html{--eci-viewport-width:100vw}
.eci-widget{max-width:100%;min-width:0;overflow-wrap:anywhere}
.eci-widget>*,.eci-widget [class*="__"]{min-width:0}
.eci-commerce-canvas,.eci-template-preview{width:100%;max-width:100%;overflow-x:clip}
.eci-commerce-template-active .site-content,.eci-commerce-template-active #content,.eci-commerce-template-active .content-area,.eci-commerce-template-active .site-main{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}

/* Hero containment: never create page-level horizontal scroll. */
.eci-adaptive-hero{width:100%;max-width:100%;overflow:clip;contain:layout paint}
.eci-adaptive-hero__slides,.eci-adaptive-hero__slide{width:100%;max-width:100%;overflow:clip}
.eci-adaptive-hero__visual{max-width:100%;min-width:0;overflow:visible}
.eci-adaptive-hero__image-card{max-width:100%;max-height:100%}
.eci-adaptive-hero__image{max-width:100%;max-height:100%;object-position:center bottom}
@media(max-width:767px){.eci-adaptive-hero__slide{overflow:hidden}.eci-adaptive-hero__visual{max-width:100%;overflow:hidden}.eci-adaptive-hero__image-card{max-width:94%}}

/* Design kit defaults. Elementor controls remain more specific and can override. */
.eci-kit-minimal .eci-commerce-canvas{--eci-kit-bg:#fff;--eci-kit-ink:#171717;background:var(--eci-kit-bg);color:var(--eci-kit-ink)}
.eci-kit-editorial .eci-commerce-canvas{--eci-kit-bg:#f5efe9;--eci-kit-ink:#211c18;background:var(--eci-kit-bg);color:var(--eci-kit-ink)}
.eci-kit-editorial .eci-archive-brand__title,.eci-kit-editorial .eci-grid__heading,.eci-kit-editorial .eci-reviews__heading{font-family:Georgia,"Times New Roman",serif}
.eci-kit-modern .eci-commerce-canvas{--eci-kit-bg:#f4f6f8;--eci-kit-ink:#101317;background:var(--eci-kit-bg);color:var(--eci-kit-ink)}
.eci-kit-clean .eci-commerce-canvas{--eci-kit-bg:#fafafa;--eci-kit-ink:#222;background:var(--eci-kit-bg);color:var(--eci-kit-ink)}
.eci-kit-dark .eci-commerce-canvas{--eci-kit-bg:#151517;--eci-kit-ink:#f6f6f4;background:var(--eci-kit-bg);color:var(--eci-kit-ink)}
.eci-kit-dark .eci-commerce-canvas .eci-widget,.eci-kit-dark .eci-commerce-canvas .eci-grid__name,.eci-kit-dark .eci-commerce-canvas .eci-archive-brand__title{color:var(--eci-kit-ink)}

/* Archive brand/title/logo */
.eci-archive-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:44px 5vw}
.eci-archive-brand__logo{display:block;width:auto;height:auto;max-height:120px;object-fit:contain}
.eci-archive-brand__title{margin:0;font-size:clamp(36px,6vw,82px);line-height:.98;letter-spacing:-.035em;color:#171717}
.eci-archive-brand__subtitle{margin:9px 0 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#777}
.eci-archive-brand__description{max-width:720px;margin:16px auto 0;color:#666;line-height:1.8}
.eci-brand-layout-inline .eci-archive-brand{flex-direction:row;text-align:left;justify-content:flex-start}.eci-brand-layout-inline .eci-archive-brand__copy{flex:1}.eci-brand-layout-minimal .eci-archive-brand{padding-top:20px;padding-bottom:20px}.eci-brand-layout-minimal .eci-archive-brand__title{font-size:clamp(28px,4vw,52px)}
@media(max-width:767px){.eci-brand-layout-inline .eci-archive-brand{flex-direction:column;text-align:center}.eci-archive-brand{padding:30px 20px}}

/* Sidebar filter matching a conventional fashion-shop filter. */
.eci-filter-layout-sidebar .eci-filter{width:100%;border:0;border-radius:0;padding:4px 0;background:transparent}
.eci-filter-layout-sidebar .eci-filter__head{padding-bottom:10px;border-bottom:1px solid #ececec}
.eci-filter-layout-sidebar .eci-filter__heading{margin:0;text-align:left;font:600 15px/1.3 "Helvetica Neue",Arial,sans-serif;color:#222}
.eci-filter-layout-sidebar .eci-filter__panel{display:block;margin-top:0}
.eci-filter-layout-sidebar .eci-filter__section,.eci-filter-layout-sidebar .eci-filter__field,.eci-filter-layout-sidebar .eci-filter__toggles{padding:20px 0;margin:0;border-bottom:1px solid #ececec}
.eci-filter fieldset{min-width:0;border:0;margin:0;padding:0}
.eci-filter fieldset legend,.eci-filter__field>span{display:block;width:100%;margin:0 0 12px;padding:0;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:#242424}
.eci-filter__checks label,.eci-filter__attribute-options label,.eci-filter__toggles label{display:flex;align-items:center;gap:9px;margin:8px 0;cursor:pointer;color:#555;font-size:12px}
.eci-filter__checks label small{margin-left:auto;color:#9a9a9a}
.eci-filter__checks input,.eci-filter__attribute-options input,.eci-filter__toggles input{width:14px;height:14px;margin:0;accent-color:var(--eci-filter-active)}
.eci-filter__attribute-options{display:flex;flex-direction:column;gap:0}
.eci-filter__attribute.is-color .eci-filter__attribute-options{display:grid;gap:8px}
.eci-filter__attribute.is-color label{margin:0}
.eci-filter__swatch{width:13px;height:13px;border-radius:50%;background:var(--eci-swatch,#ddd);border:1px solid rgba(0,0,0,.12);box-shadow:0 0 0 1px rgba(255,255,255,.8) inset}
.eci-filter__range{position:relative}
.eci-filter__price-values{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#666;font-size:11px}.eci-filter__price-values b{font-weight:500}
.eci-filter__range-track{position:relative;height:20px}
.eci-filter__range-track:before,.eci-filter__range-fill{content:"";position:absolute;left:0;right:0;top:9px;height:3px;border-radius:4px;background:#e1e1e1}.eci-filter__range-fill{background:var(--eci-filter-active)}
.eci-filter__range-track input[type=range]{position:absolute;inset:0;width:100%;height:20px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}
.eci-filter__range-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;border:2px solid #fff;background:var(--eci-filter-active);box-shadow:0 0 0 1px var(--eci-filter-active);pointer-events:auto;cursor:pointer}
.eci-filter__range-track input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;border:2px solid #fff;background:var(--eci-filter-active);box-shadow:0 0 0 1px var(--eci-filter-active);pointer-events:auto;cursor:pointer}
.eci-filter-layout-sidebar .eci-filter__actions{display:flex;gap:8px;padding-top:18px}.eci-filter-layout-sidebar .eci-filter__apply,.eci-filter-layout-sidebar .eci-filter__reset{min-height:38px;padding:8px 14px;font-size:11px}
.eci-filter-layout-sidebar .eci-filter__search input,.eci-filter-layout-sidebar .eci-filter__field select{min-height:40px;border:1px solid #dedede;border-radius:4px}
.eci-filter-layout-compact .eci-filter{max-width:none!important}.eci-filter-layout-compact .eci-filter__panel{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px 24px;align-items:start}.eci-filter-layout-compact .eci-filter__section,.eci-filter-layout-compact .eci-filter__field{border:0;padding:0}.eci-filter-layout-compact .eci-filter__actions{grid-column:1/-1}
@media(max-width:767px){.eci-filter-layout-sidebar .eci-filter,.eci-filter-layout-compact .eci-filter{max-width:none!important}.eci-filter__mobile-toggle{display:inline-flex}.eci-filter-layout-sidebar .eci-filter__panel,.eci-filter-layout-compact .eci-filter__panel{display:none}.eci-filter.is-panel-open .eci-filter__panel{display:block}.eci-filter-layout-compact .eci-filter.is-panel-open .eci-filter__panel{display:grid;grid-template-columns:1fr}.eci-filter-layout-compact .eci-filter__actions{grid-column:auto}}

/* Product gallery: main image stays contained; thumbnails are always usable. */
.eci-pgallery{width:100%;max-width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;overflow:hidden}
.eci-pgallery__thumbs{display:flex;flex-direction:column;gap:10px;max-height:680px;max-width:100%;overflow:auto;scrollbar-width:thin;padding:1px}
.eci-pgallery__thumb{display:block;padding:0;border:1px solid transparent;border-radius:7px;overflow:hidden;cursor:pointer;flex:0 0 auto;background:#f5f5f5;transition:border-color .2s,opacity .2s}
.eci-pgallery__thumb.is-active{border-color:#111;opacity:1}.eci-pgallery__thumb:not(.is-active){opacity:.64}.eci-pgallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.eci-pgallery__main-wrap{position:relative;min-width:0;width:100%;overflow:hidden;border-radius:12px}
.eci-pgallery__main{border:0;padding:0;margin:0;width:100%;max-width:100%;background:#f5f5f5;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.eci-pgallery__main img{width:100%;height:100%;max-width:100%;display:block;object-fit:contain;transition:transform .35s ease;transform-origin:center}
.eci-gallery-zoom-yes .eci-pgallery__main:hover img{transform:scale(1.035)}
.eci-pgallery__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:38px;height:38px;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:rgba(255,255,255,.92);color:#111;cursor:pointer}.eci-pgallery__prev{left:12px}.eci-pgallery__next{right:12px}
.eci-gallery-layout-horizontal .eci-pgallery{grid-template-columns:1fr}.eci-gallery-layout-horizontal .eci-pgallery__thumbs{order:2;flex-direction:row;max-height:none}.eci-gallery-layout-horizontal .eci-pgallery__main-wrap{order:1}
.eci-gallery-layout-stacked .eci-pgallery{display:block}.eci-gallery-layout-stacked .eci-pgallery__thumbs{display:none}.eci-gallery-layout-stacked .eci-pgallery__stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.eci-gallery-layout-stacked .eci-pgallery__stack img{width:100%;display:block;background:#f5f5f5;object-fit:contain}
.eci-gallery-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(0,0,0,.84);opacity:0;transition:opacity .18s ease}.eci-gallery-lightbox.is-open{opacity:1}.eci-gallery-lightbox img{max-width:min(95vw,1500px);max-height:92vh;object-fit:contain}.eci-gallery-lightbox__close{position:fixed;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:28px;line-height:1;cursor:pointer}
@media(max-width:767px){.eci-pgallery{grid-template-columns:1fr}.eci-pgallery__thumbs{order:2;flex-direction:row;max-height:none}.eci-pgallery__main-wrap{order:1}.eci-pgallery__thumb{width:64px!important;height:64px!important}.eci-gallery-layout-stacked .eci-pgallery__stack{grid-template-columns:1fr}}

/* Ratings on archive cards. */
.eci-grid__rating{display:flex;align-items:center;gap:7px;margin-top:7px}.eci-grid__rating .star-rating{float:none;margin:0;font-size:.78em}.eci-grid__rating>span{font-size:10px;color:#8a8a8a}

/* Product Reviews Pro */
.eci-reviews{padding:48px 0;color:#222}.eci-reviews__top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid #e7e7e7}.eci-reviews__heading{margin:0;font-size:30px}.eci-reviews__summary{display:flex;align-items:center;gap:10px;margin-top:10px}.eci-reviews__summary>strong{font-size:26px}.eci-reviews__summary .star-rating{float:none;margin:0}.eci-reviews__summary>span{font-size:12px;color:#777}.eci-reviews__write{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid #111;border-radius:999px;color:#111;text-decoration:none;font-size:11px;font-weight:700}.eci-reviews__list{display:grid;gap:0}.eci-review{padding:24px 0;border-bottom:1px solid #ededed}.eci-review__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.eci-review__meta time{margin-left:auto;color:#888}.eci-review__verified{padding:4px 7px;border-radius:999px;background:#edf6ef;color:#2c7240;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.eci-review__rating{margin-top:8px}.eci-review__rating .star-rating{float:none}.eci-review__content{margin-top:12px;color:#555;line-height:1.75}.eci-review__content p:last-child{margin-bottom:0}.eci-reviews__empty{padding:24px 0;color:#777}
@media(max-width:767px){.eci-reviews__top{align-items:flex-start;flex-direction:column}.eci-review__meta time{width:100%;margin-left:0}.eci-reviews{padding:34px 0}}


/* ================================================================
   Ecom Innovation v0.5.2 — archive containment, usable gallery sizing,
   automatic fashion filters. Hero/cutout rendering intentionally unchanged.
   ================================================================ */

/* Builder/archive widgets must stay inside the Elementor/template column.
   Full-browser breakout is still available to visual/hero widgets, but these
   commerce widgets no longer shift by half the viewport and create clipping. */
.eci-commerce-canvas .elementor-element,
.eci-template-preview .elementor-element,
.elementor-widget-eci-archive-product-gallery,
.elementor-widget-eci-product-gallery,
.elementor-widget-eci-product-filter {
  min-width:0;
  max-width:100%;
}
.eci-archive-gallery {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  box-sizing:border-box;
}
.eci-archive-gallery__grid {
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.eci-archive-gallery__card,
.eci-archive-gallery__media,
.eci-archive-gallery__info {
  min-width:0;
  max-width:100%;
}
.eci-archive-gallery__media img {
  max-width:100%;
}

/* Product Gallery Pro: the frame can now actually become compact. */
.eci-pgallery {
  width:100%;
  min-width:0;
  max-width:920px;
  margin-inline:auto;
  overflow:hidden;
  box-sizing:border-box;
}
.eci-pgallery__main-wrap,
.eci-pgallery__main {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.eci-pgallery__main {
  min-height:0;
}
.eci-pgallery__main img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  flex:0 1 auto;
}
.eci-pgallery__thumbs {
  min-width:0;
  max-width:100%;
}
@media(max-width:1024px){
  .eci-pgallery{max-width:100%}
}
@media(max-width:767px){
  .eci-pgallery__main{min-height:0}
  .eci-pgallery__main img{width:auto;height:auto;max-width:100%;max-height:100%}
}

/* Product Filter Sidebar Pro: never collapse or escape its column. */
.eci-filter {
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.eci-filter-layout-sidebar .eci-filter {
  overflow:visible;
}
.eci-filter__panel,
.eci-filter__section,
.eci-filter__attribute-options,
.eci-filter__range-track {
  min-width:0;
  max-width:100%;
}


/* ================================================================
   Ecom Innovation v0.5.4 — Astra / cross-theme full-bleed bridge
   ----------------------------------------------------------------
   Fixes visual merchandising sections being trapped inside a theme's
   boxed content width. This is deliberately layout-only: Adaptive Hero
   image/cutout rendering, Product Gallery Pro and Product Filter Pro are
   not changed here.
   ================================================================ */
:root{--eci-viewport-half:50vw}

/* Correct the legacy Full Browser Width breakout. The previous left:50%
   technique depended on the parent width. This uses the parent's centre
   against the actual browser half-width, so Astra/OceanWP/boxed Elementor
   containers can no longer leave large side gutters. */
.eci-fullwidth-yes .eci-widget:not(.eci-pgallery):not(.eci-filter){
  width:var(--eci-viewport-width,100vw)!important;
  max-width:var(--eci-viewport-width,100vw)!important;
  left:auto!important;
  right:auto!important;
  margin-left:calc(50% - var(--eci-viewport-half,50vw))!important;
  margin-right:0!important;
}

/* Existing templates created before Full Browser Width was saved may not
   carry Elementor's prefix class. Visual section widgets therefore use
   full-bleed as the compatibility default. Commerce utility widgets such
   as the product gallery and product filter stay inside their columns. */
.eci-adaptive-hero,
.eci-shop-look,
.eci-coverflow,
.eci-wheel,
.eci-parallax,
.eci-loved,
.eci-grid,
.eci-carousel,
.eci-categories,
.eci-hotspots,
.eci-marquee,
.eci-subcats,
.eci-archive-brand{
  width:var(--eci-viewport-width,100vw)!important;
  max-width:var(--eci-viewport-width,100vw)!important;
  position:relative;
  left:auto!important;
  right:auto!important;
  margin-left:calc(50% - var(--eci-viewport-half,50vw))!important;
  margin-right:0!important;
}

/* Elementor widget wrappers must not clip a child that intentionally
   breaks out of a boxed theme/container. */
.elementor-widget-eci-adaptive-hero,
.elementor-widget-eci-shop-the-look,
.elementor-widget-eci-coverflow,
.elementor-widget-eci-collection-wheel,
.elementor-widget-eci-parallax-banner,
.elementor-widget-eci-people-loved,
.elementor-widget-eci-product-grid,
.elementor-widget-eci-product-carousel,
.elementor-widget-eci-category-showcase,
.elementor-widget-eci-shoppable-hotspots,
.elementor-widget-eci-luxury-marquee,
.elementor-widget-eci-subcategory-showcase,
.elementor-widget-eci-archive-brand{
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}

/* Astra wraps WooCommerce content in a max-width .ast-container. Only the
   commerce content shell is released; header/footer containers are not
   touched. This applies to Shop, category/subcategory and single-product
   Ecom templates in one place. */
body.eci-commerce-template-active #content>.ast-container,
body.eci-commerce-template-active .site-content>.ast-container{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.eci-commerce-template-active #primary,
body.eci-commerce-template-active #main,
body.eci-commerce-template-active .content-area,
body.eci-commerce-template-active .site-main{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Prevent the full-bleed correction itself from producing horizontal page
   scroll through rounding or theme transforms. */
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
