/* yk_upsell — Popup styling */
.yku-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:999998; align-items:center; justify-content:center; padding:16px; box-sizing:border-box; }
.yku-overlay.is-open { display:flex; }
.yku-modal { background:#fff; max-width:960px; width:100%; max-height:90vh; overflow-y:auto; border-radius:0; box-shadow:0 24px 64px rgba(0,0,0,.25); position:relative; animation:ykuIn .35s ease-out; }
@keyframes ykuIn { from { opacity:0; transform:translateY(20px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
.yku-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border:none; background:rgba(0,0,0,.05); border-radius:50%; cursor:pointer; font-size:22px; line-height:1; z-index:2; }
.yku-close:hover { background:rgba(0,0,0,.1); }
.yku-head { padding:28px 28px 16px; text-align:center; border-bottom:1px solid #F0EDE8; }
.yku-title { font-size:22px; font-weight:700; margin:0 0 8px; color:#1D1C1A; letter-spacing:-0.01em; }
.yku-subtitle { font-size:14px; color:#6F6C68; margin:0; line-height:1.5; }
.yku-grid-wrap { position:relative; padding:24px 40px 8px; }
.yku-grid { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#D8C9B9 transparent; align-items:stretch; }
.yku-grid::-webkit-scrollbar { height:6px; }
.yku-grid::-webkit-scrollbar-thumb { background:#D8C9B9; border-radius:3px; }
.yku-grid .yku-card { flex:0 0 calc(50% - 8px); scroll-snap-align:start; min-width:0; }
@media (min-width:600px) { .yku-grid .yku-card { flex:0 0 calc(25% - 12px); } }
.yku-card { border:1px solid #E8E2DA; padding:0; text-align:left; background:#fff; display:flex; flex-direction:column; transition:border-color .2s,transform .3s ease; }
.yku-card:hover { border-color:#A88466; transform:translateY(-2px); }
.yku-card-image { position:relative; flex:0 0 auto; overflow:hidden; background:#FAF6F2; aspect-ratio:1/1; }
.yku-card-image-link { display:block; width:100%; height:100%; }
.yku-card-img { display:block; width:100%; height:100%; object-fit:contain; background:#FAF6F2; transition:transform .5s ease; }
.yku-card:hover .yku-card-img { transform:scale(1.04); }
.yku-card-body { display:flex; flex:1 1 auto; flex-direction:column; padding:16px; }
.yku-card-name { min-height:44px; margin:0 0 3px; font-size:14px; font-weight:600; line-height:22px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.yku-card-name a { color:#413F3D; text-decoration:none; }
.yku-card-name a:hover { color:#A88466; }
.yku-card-desc { display:-webkit-box; overflow:hidden; min-height:29px; margin:0; color:#6F6C68; font-size:11px; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.yku-card-capacity { display:block; margin:2px 0 12px; color:#888; font-size:11px; line-height:1.2; letter-spacing:.4px; text-transform:uppercase; }
.yku-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; }
.yku-card-price { display:flex; flex-direction:column; min-width:0; }
.yku-card-price-reg { order:2; font-size:11px; line-height:16px; color:#9C9892; text-decoration:line-through; }
.yku-card-price-cur { order:1; font-size:16px; line-height:22px; font-weight:700; color:#A88466; }
.yku-card-price-cur.no-discount { color:#413F3D; }
.yku-card-btn { display:inline-flex !important; flex:0 0 32px !important; align-items:center !important; justify-content:center !important; width:32px !important; min-width:32px !important; max-width:32px !important; height:32px !important; min-height:32px !important; max-height:32px !important; border:0 !important; border-radius:50% !important; padding:8px !important; background:#A88466; color:#fff; cursor:pointer; font-family:inherit; box-sizing:border-box !important; }
.yku-card-btn svg { display:block !important; flex:0 0 15px !important; width:15px !important; min-width:15px !important; max-width:15px !important; height:16px !important; min-height:16px !important; max-height:16px !important; margin:0 !important; padding:0 !important; transform:none !important; }
.yku-card-btn-label { position:absolute; overflow:hidden; width:1px; height:1px; clip:rect(0 0 0 0); white-space:nowrap; }
.yku-card-btn:hover { background:#8A6A53; }
.yku-card-btn:disabled { background:#ccc; }
.yku-card-btn.is-added { background:#3D6B36; }
.yku-arrow { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:50%; background:#fff; border:1px solid #E8E1D9; box-shadow:0 4px 12px rgba(0,0,0,.08); cursor:pointer; display:none; align-items:center; justify-content:center; z-index:3; padding:0; }
@media (min-width:600px) { .yku-arrow { display:flex; } }
.yku-arrow:hover:not(:disabled) { background:#A88466; color:#fff; border-color:#A88466; }
.yku-arrow:disabled { opacity:0; pointer-events:none; }
.yku-arrow-prev { left:6px; }
.yku-arrow-next { right:6px; }
.yku-footer { padding:16px 28px 24px; text-align:center; }
.yku-cta { background:#1D1C1A; color:#fff; border:none; padding:14px 28px; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; letter-spacing:.03em; text-transform:uppercase; }
.yku-cta:hover { background:#000; }
@media (max-width:599px) {
  .yku-modal { max-height:94vh; }
  .yku-head { padding:24px 48px 16px 20px; text-align:left; }
  .yku-title { font-size:19px; }
  .yku-grid-wrap { padding:18px 16px 8px; }
  .yku-card-body { padding:12px; }
  .yku-card-name { min-height:40px; font-size:12px; line-height:20px; }
  .yku-card-price-cur { font-size:14px; }
  .yku-footer { padding:16px 16px 20px; }
  .yku-cta { width:100%; }
}
