/* Isolated showcase: no global selectors. Header remains owned by original site. */
.ys-showcase{height:100svh;min-height:620px;position:relative;isolation:isolate;overflow:hidden;background:#e5dacf;color:#1e2320}.ys-showcase .ys-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .85s ease;transform-origin:center;z-index:-3}.ys-showcase .ys-bg.visible{opacity:1}.ys-showcase .ys-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,233,222,.62),rgba(244,233,222,.16) 55%,rgba(255,255,255,.10));z-index:-2;pointer-events:none}.ys-showcase .ys-layout{width:min(1320px,calc(100% - 10vw));height:100%;margin:auto;display:grid;grid-template-columns:38% 62%;align-items:center;padding-top:90px;position:relative}.ys-showcase .ys-left,.ys-showcase .ys-right{position:relative;min-width:0}.ys-showcase .ys-left{height:100%;display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;padding:clamp(115px,17vh,165px) 0 8vh}.ys-showcase .ys-details{background:rgba(255,255,255,.32);border:1px solid rgba(255,255,255,.72);box-shadow:0 14px 70px #3a302b25;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:26px;padding:29px 32px;width:min(365px,100%);align-self:flex-start;transition:opacity .25s,transform .25s}.ys-showcase .ys-kicker{letter-spacing:.22em;font-size:11px;font-weight:750}.ys-showcase .ys-details h2{font:700 clamp(23px,2.4vw,38px)/1.12 Arial,sans-serif;margin:20px 0 17px;overflow-wrap:anywhere}.ys-showcase dl{margin:0}.ys-showcase dl>div{border-top:1px solid #29292929;padding:12px 0}.ys-showcase dt{font-size:10px;letter-spacing:.17em;font-weight:700;color:#675b54}.ys-showcase dd{margin:6px 0 0;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.ys-showcase .ys-navigation{align-self:flex-start;display:flex;align-items:center;gap:14px}.ys-showcase .ys-navigation button{width:45px;height:45px;border:1px solid #35322e80;border-radius:50%;background:#ffffff8a;color:#181818;font-size:30px;line-height:1;cursor:pointer}.ys-showcase .ys-navigation button:hover{background:#fff}.ys-showcase #ysCounter{font-size:12px;font-weight:700;letter-spacing:.14em;min-width:72px;text-align:center}.ys-showcase .ys-right{height:100%;display:flex;align-items:center;justify-content:center}.ys-showcase .ys-title{position:absolute;right:0;top:clamp(12%,18vh,25%);z-index:0;font-size:clamp(52px,8.5vw,155px);font-weight:900;line-height:.88;letter-spacing:-.075em;max-width:100%;text-align:right;overflow-wrap:anywhere;opacity:.84;text-transform:uppercase}.ys-showcase .ys-product{position:relative;z-index:1;display:block;max-width:85%;max-height:74%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(5px 25px 22px #2a231f45);will-change:transform,opacity}.ys-showcase .ys-product.depart{animation:ysOut .26s ease-in forwards}.ys-showcase .ys-product.arrive{animation:ysDrop .85s cubic-bezier(.18,.75,.25,1) both}.ys-showcase .ys-title.depart,.ys-showcase .ys-details.depart{animation:ysTextOut .26s ease-in forwards}.ys-showcase .ys-title.arrive{animation:ysTitleIn .7s .13s both}.ys-showcase .ys-details.arrive{animation:ysCardIn .65s .17s both}.ys-showcase .ys-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffffcc;padding:24px;border-radius:12px;text-align:center;z-index:9}
@keyframes ysOut{to{opacity:0;transform:translateY(70px) scale(.86)}}@keyframes ysDrop{from{opacity:0;transform:translateY(-145px) scale(.84)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ysTextOut{to{opacity:0;transform:translateY(22px)}}@keyframes ysTitleIn{from{opacity:0;transform:translateY(48px)}to{opacity:.84;transform:translateY(0)}}@keyframes ysCardIn{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.ys-showcase{min-height:610px;height:100svh}.ys-showcase .ys-layout{width:calc(100% - 36px);display:block;padding-top:78px}.ys-showcase .ys-right{height:64%;position:absolute;inset:70px 0 auto}.ys-showcase .ys-title{top:6%;right:0;font-size:clamp(44px,15vw,82px);max-width:78%}.ys-showcase .ys-product{max-width:85%;max-height:76%}.ys-showcase .ys-left{position:absolute;z-index:3;bottom:22px;left:0;right:0;height:auto;padding:0;align-items:flex-start;gap:16px}.ys-showcase .ys-details{width:min(300px,76%);padding:16px 19px;border-radius:17px}.ys-showcase .ys-details h2{font-size:23px;margin:10px 0}.ys-showcase dl>div{padding:6px 0}.ys-showcase .ys-navigation button{width:40px;height:40px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.ys-showcase *{animation:none!important;transition:none!important}}


/* v3.5: center the product on the entire banner, not only the right grid column.
   Limit hero title to a readable right-side region; preserve glass card on left. */
@media (min-width: 761px) {
 .ys-showcase .ys-layout { display:block; }
 .ys-showcase .ys-left { position:relative; z-index:5; height:100%; width:clamp(270px,26%,360px); padding-top:clamp(140px,24vh,220px); pointer-events:none; }
 .ys-showcase .ys-details,.ys-showcase .ys-navigation { pointer-events:auto; }
 .ys-showcase .ys-right { position:absolute; inset:0; display:block; width:100%; height:100%; z-index:2; pointer-events:none; }
 .ys-showcase .ys-title { position:absolute; left:auto; right:0; top:40%; width:min(27%,360px); max-width:27%; text-align:right; font-size:clamp(35px,4vw,76px); line-height:.99; letter-spacing:-.045em; overflow-wrap:break-word; color:#fff; opacity:1; text-shadow:0 3px 18px rgba(0,0,0,.6); z-index:1; }
 .ys-showcase .ys-title.arrive { animation:ysTitleInFixed .7s .13s both; }
 .ys-showcase .ys-product { position:absolute; left:50%; top:52%; width:min(44vw,680px); height:min(68vh,640px); max-width:none; max-height:none; object-fit:contain; transform-origin:center center; transform:translate(-50%,-50%) scale(var(--ys-zoom,1)); z-index:3; }
 .ys-showcase .ys-product.depart { animation:ysOutFixed .26s ease-in forwards; }
 .ys-showcase .ys-product.arrive { animation:ysDropFixed .85s cubic-bezier(.18,.75,.25,1) both; }
}
@keyframes ysOutFixed { from{opacity:1;transform:translate(-50%,-50%) scale(var(--ys-zoom,1));} to{opacity:0;transform:translate(-50%,calc(-50% + 70px)) scale(calc(var(--ys-zoom,1) * .86));} }
@keyframes ysDropFixed { from{opacity:0;transform:translate(-50%,calc(-50% - 145px)) scale(calc(var(--ys-zoom,1) * .84));} to{opacity:1;transform:translate(-50%,-50%) scale(var(--ys-zoom,1));} }
@keyframes ysTitleInFixed { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@media (max-width:760px) {
 .ys-showcase .ys-right { position:absolute; inset:76px 0 auto; width:100%; height:60%; display:block; pointer-events:none; }
 .ys-showcase .ys-product { position:absolute; width:74vw; height:46vh; max-width:none; max-height:none; object-fit:contain; transform:translate(-50%,-50%) scale(var(--ys-zoom,1)); z-index:2; }
 .ys-showcase .ys-product.depart { animation:ysOutFixed .26s ease-in forwards; }
 .ys-showcase .ys-product.arrive { animation:ysDropFixed .85s cubic-bezier(.18,.75,.25,1) both; }
 .ys-showcase .ys-title { top:3%; right:0; max-width:58%; width:58%; font-size:clamp(30px,9vw,55px); line-height:1; letter-spacing:-.04em; color:#fff; text-shadow:0 3px 14px rgba(0,0,0,.72); z-index:1; }
 .ys-showcase .ys-title.arrive { animation:ysTitleInFixed .7s .13s both; }
 .ys-showcase .ys-left { z-index:5; }
}


/* v3.7 — typography-only luxury refinement. No slide geometry, product placement,
   autoplay, touch or banner data logic changes. Scoped strictly to ys-showcase. */
.ys-showcase .ys-title {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .025em;
  line-height: 1.04;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  color: #fff5df;
  background-image: linear-gradient(115deg, #fffef7 7%, #f5e6c9 55%, #d9b77d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.55));
}
.ys-showcase .ys-title::after {
  content: '';
  display: block;
  width: min(85px, 32%);
  height: 2px;
  margin: 17px 0 0 auto;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, #f1d5a6 35%, #fff4de);
  box-shadow: 0 1px 9px rgba(0,0,0,.18);
}
.ys-showcase .ys-details {
  background: rgba(242,238,230,.33);
  border-color: rgba(255,250,240,.76);
  box-shadow: 0 16px 48px rgba(15,19,25,.18), inset 0 1px 0 rgba(255,255,255,.25);
}
.ys-showcase .ys-kicker {
  color: #534230;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .25em;
}
.ys-showcase .ys-details h2 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  letter-spacing: -.018em;
  line-height: 1.1;
  color: #202322;
  margin-top: 19px;
}
.ys-showcase .ys-details dt {
  color: #6b553b;
  letter-spacing: .21em;
  font-size: 10px;
}
.ys-showcase .ys-details dd {
  color: #252b29;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
}
@media (min-width: 761px) {
  .ys-showcase .ys-title {
    font-size: clamp(33px,3.5vw,65px);
    width: min(29%,380px);
    max-width: 29%;
  }
}
@media (max-width: 760px) {
  .ys-showcase .ys-title {
    font-size: clamp(28px,8vw,50px);
    letter-spacing: .005em;
    line-height: 1.04;
  }
  .ys-showcase .ys-title::after { margin-top: 10px; width: 48px; }
  .ys-showcase .ys-details h2 { font-size: 24px; }
}
@supports not (-webkit-background-clip:text) {
  .ys-showcase .ys-title { background-image: none; color: #fff5df; }
}
/* v4.1: one authoritative mobile layout (replaces stacked v3.8/v3.9/v4.0 patches).
   Keeps the desktop-only 761px+ rules, typography and transitions untouched. */
@media (max-width:760px), (max-width:1024px) and (pointer:coarse) {
  html, body {max-width:100%; overflow-x:clip;}
  .ys-showcase {width:100%; max-width:100%; height:100svh; min-height:580px; overflow:hidden; box-sizing:border-box;}
  .ys-showcase .ys-layout {width:100%;height:100%;max-width:100%;margin:0;padding:0;position:relative;display:block;}
  .ys-showcase .ys-wash {background:linear-gradient(90deg,rgba(248,243,236,.12),rgba(0,0,0,.04));}
  .ys-showcase .ys-right {position:static;display:block;inset:auto;width:auto;height:auto;pointer-events:none;}
  .ys-showcase .ys-title {
    position:absolute;top:clamp(100px,15svh,135px);left:5%;right:5%;
    width:90%;max-width:90%;margin:0;padding:0;z-index:3;
    font-size:clamp(20px,5.4vw,31px);text-align:center;line-height:1.15;
    letter-spacing:.01em;overflow-wrap:break-word;
    filter:drop-shadow(0 2px 7px rgba(0,0,0,.6));
  }
  .ys-showcase .ys-title::after {margin:9px auto 0;}
  .ys-showcase .ys-product {
    position:absolute;left:50%;top:41%;width:min(82vw,390px);height:min(33svh,300px);
    max-width:none;max-height:none;object-fit:contain;object-position:center;
    display:block;visibility:visible;z-index:4;transform-origin:center center;
    transform:translate(-50%,-50%) scale(var(--ys-mobile-zoom,1));
    filter:drop-shadow(0 12px 14px rgba(0,0,0,.2));
  }
  .ys-showcase .ys-product.depart {animation:ysV41Out .26s ease-in forwards;}
  .ys-showcase .ys-product.arrive {animation:ysV41In .85s cubic-bezier(.18,.75,.25,1) both;}
  .ys-showcase .ys-left {
    position:absolute;inset:auto 12px max(10px,env(safe-area-inset-bottom)) 12px;
    display:flex;flex-direction:column;gap:9px;height:auto;width:auto;
    padding:0;margin:0;align-items:stretch;justify-content:flex-end;z-index:6;
    pointer-events:none;
  }
  .ys-showcase .ys-details {
    width:100%;max-width:none;max-height:min(29svh,225px);box-sizing:border-box;
    overflow-y:auto;overscroll-behavior:contain;padding:13px 16px 11px;
    background:rgba(246,242,235,.87);border-radius:18px;
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;
  }
  .ys-showcase .ys-kicker {font-size:9px;letter-spacing:.17em;}
  .ys-showcase .ys-details h2 {font-size:clamp(20px,5.5vw,25px);margin:7px 0 8px;}
  .ys-showcase dl>div {padding:5px 0;}
  .ys-showcase dt {font-size:9px;}
  .ys-showcase dd {font-size:12px;line-height:1.42;margin:3px 0 0;}
  .ys-showcase #ysDescription {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
  .ys-showcase .ys-details.ys-expanded {max-height:min(48svh,420px);}
  .ys-showcase .ys-details.ys-expanded #ysDescription {display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;}
  .ys-showcase .ys-read-more {display:block;padding:4px 0 0;border:0;background:transparent;color:#614b34;text-decoration:underline;font-size:12px;font-weight:700;text-align:left;pointer-events:auto;}
  .ys-showcase .ys-navigation {align-self:center;display:flex;justify-content:center;gap:12px;pointer-events:auto;}
  .ys-showcase .ys-navigation button {width:38px;height:38px;font-size:24px;}
  .ys-showcase #ysCounter {min-width:70px;font-size:11px;}
  .floating-contact {position:fixed!important;left:auto!important;right:max(7px,env(safe-area-inset-right))!important;bottom:calc(80px + env(safe-area-inset-bottom))!important;transform:none!important;max-width:42px;z-index:95;}
  .floating-contact__link {width:40px!important;height:40px!important;}
  .floating-contact__link svg {width:21px!important;height:21px!important;}
}
@keyframes ysV41Out {from{opacity:1;transform:translate(-50%,-50%) scale(var(--ys-mobile-zoom,1))}to{opacity:0;transform:translate(-50%,-30%) scale(.86)}}
@keyframes ysV41In {from{opacity:0;transform:translate(-50%,-85%) scale(.84)}to{opacity:1;transform:translate(-50%,-50%) scale(var(--ys-mobile-zoom,1))}}
@media (max-width:760px) and (max-height:700px),(max-width:1024px) and (pointer:coarse) and (max-height:700px){
  .ys-showcase .ys-title {top:94px;font-size:clamp(19px,5.4vw,27px)}
  .ys-showcase .ys-product {top:38%;height:min(30svh,240px)}
  .ys-showcase .ys-details {max-height:min(28svh,190px)}
}
@media(min-width:761px) and (pointer:fine){.ys-showcase .ys-read-more{display:none}}

/* v4.2 — MOBILE PRODUCT SIZE ONLY
   Larger product visual within the space above the details card.
   Desktop layout, titles, contact buttons, and JS behavior remain unchanged. */
@media (max-width:760px), (max-width:1024px) and (pointer:coarse) {
  .ys-showcase .ys-product {
    width:min(98vw,490px);
    height:46svh;
    max-width:none;
    max-height:none;
    top:40%;
    object-fit:contain;
  }
}
@media (max-width:760px) and (max-height:700px), (max-width:1024px) and (pointer:coarse) and (max-height:700px) {
  .ys-showcase .ys-product { height:44svh; top:40%; }
}
