/* Ruztiko — Bundle ("paquete") page. Self-contained editorial design ported
   from the Claude Design "atelier" concept. Only loaded on /paquetes/<slug>,
   so its class names are intentionally not namespaced to the rest of the site. */

:root{
  --bg:#f7f4ee; --paper:#ffffff; --ink:#1f1b15; --muted:#6b655a; --faint:#a39c8e;
  --line:#e6e0d3; --line2:#d8d0c0; --accent:#0f5132; --accent2:#147a4a; --accent-soft:#e7f0ea;
  --rust:#8a4a2d;
  --head:"Bricolage Grotesque",system-ui,sans-serif;
  --sans:"Hanken Grotesk",system-ui,sans-serif;
  --serif:"Newsreader",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit}
.num{font-variant-numeric:tabular-nums}

/* ---- Header ---- */
header.bar{position:sticky;top:0;z-index:40;background:rgba(247,244,238,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar-in{max-width:1240px;margin:0 auto;padding:14px 36px;display:flex;align-items:center;gap:18px}
.bar-logo{display:flex;align-items:center;text-decoration:none}
.bar-logo img{height:38px;width:auto;display:block}
.bar-spacer{flex:1}
.bar-rent{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;background:var(--accent);padding:5px 10px;border-radius:3px}
.bar-rent.sale{background:var(--rust)}
.bar-nav{font-size:13px;letter-spacing:.03em;color:var(--muted);text-decoration:none}
.bar-nav:hover{color:var(--ink)}

/* ---- Rental strip ---- */
.rentstrip{background:var(--accent-soft);border-bottom:1px solid var(--line)}
.rentstrip-in{max-width:1240px;margin:0 auto;padding:11px 36px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rs-mark{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);border:1.5px solid var(--accent);padding:3px 9px;border-radius:3px;flex-shrink:0}
.rs-text{font-size:13.5px;color:#355c47}
.rs-text b{color:var(--accent);font-weight:600}

.wrap{max-width:1240px;margin:0 auto;padding:0 36px}
/* Tighter side gutters on phones — kept in sync across the header bar, rent strip, and content. */
@media(max-width:680px){.wrap{padding:0 22px}.bar-in,.rentstrip-in{padding-left:22px;padding-right:22px}}

/* ---- Masthead ---- */
.mast{padding:30px 0 0}
.kicker{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rust);display:flex;align-items:center;gap:12px}
.kicker .rule{height:2px;width:34px;background:var(--rust)}
.mast h1{font-family:var(--head);font-weight:800;font-size:clamp(42px,7.4vw,76px);line-height:.94;
  letter-spacing:-.035em;margin:.14em 0 .1em;max-width:15ch}
.mast .sub{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.3vw,26px);color:var(--muted);max-width:42ch;margin:0;line-height:1.34}

.mast-meta{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;border-top:1.5px solid var(--ink)}
.mast-meta.cols3{grid-template-columns:repeat(3,1fr)}
@media(max-width:680px){.mast-meta,.mast-meta.cols3{grid-template-columns:1fr 1fr}}
.mm{padding:13px 26px;border-right:1px solid var(--line)}
.mm:first-child{padding-left:0}
.mm:last-child{border-right:none;padding-right:0}
@media(max-width:680px){.mm:nth-child(2){border-right:none}.mm:nth-child(3){padding-left:0}
  /* cols3 (sale / flat-event rent): the 3rd cell (often a long location) gets its own full row */
  .mast-meta.cols3 .mm:nth-child(3){grid-column:1 / -1;border-top:1px solid var(--line)}}
.mm .l{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.mm .v{font-family:var(--head);font-weight:700;font-size:23px;line-height:1.05;color:var(--ink);letter-spacing:-.01em}
.mm .v small{display:block;font-family:var(--sans);font-weight:500;font-size:12.5px;color:var(--muted);letter-spacing:0;text-transform:none;margin-top:3px}
.rent-badge{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#fff;background:var(--accent);padding:5px 11px;border-radius:3px}
.rent-badge.sale{background:#f5b730;color:#2a1c12}

/* ---- Hero ---- */
.hero{margin:22px 0 0;position:relative;cursor:zoom-in}
.hero-clip{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:16/7.4;background:var(--line)}
.hero-clip img{width:100%;height:100%;object-fit:cover}
/* Hero seal — pokes out of the chosen corner (the signature flourish), driven by the
   bundle's configured corner. --hs-x/--hs-y set how far it overflows; they shrink on
   smaller screens so the seal doesn't drift too far off the image. */
.hero-seal{position:absolute;width:var(--hs-size,124px);height:var(--hs-size,124px);--hs-x:20%;--hs-y:15%;
  transform-origin:center;z-index:6;filter:drop-shadow(0 6px 16px rgba(20,14,8,.32));pointer-events:none}
.hero-seal svg{width:100%;height:100%;display:block}
.hero-seal--tr{top:0;right:0;transform:translate(var(--hs-x),calc(-1*var(--hs-y))) rotate(-9deg)}
.hero-seal--tl{top:0;left:0;transform:translate(calc(-1*var(--hs-x)),calc(-1*var(--hs-y))) rotate(9deg)}
.hero-seal--br{bottom:0;right:0;transform:translate(var(--hs-x),var(--hs-y)) rotate(9deg)}
.hero-seal--bl{bottom:0;left:0;transform:translate(calc(-1*var(--hs-x)),var(--hs-y)) rotate(-9deg)}
@media(max-width:760px){.hero-seal{--hs-size:92px;--hs-x:7%;--hs-y:20%}}
@media(max-width:430px){.hero-seal{--hs-size:74px;--hs-x:3%;--hs-y:18%}}
.hero-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 28px;background:linear-gradient(transparent,rgba(18,14,8,.6));color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.hero-cap .c{font-family:var(--serif);font-style:italic;font-size:16px;opacity:.94;max-width:46ch}
.hero-cap .z{font-size:12px;letter-spacing:.06em;opacity:.85;white-space:nowrap}

/* ---- Body layout ---- */
.layout{display:grid;grid-template-columns:1fr 376px;gap:60px;padding:18px 0 110px;align-items:start}
@media(max-width:1000px){.layout{grid-template-columns:1fr;gap:40px}}

/* Section heads — strong, scannable */
.sec{padding-top:46px;border-top:1px solid var(--line);margin-top:54px}
.sec:first-child{border-top:none;margin-top:38px;padding-top:0}
.sec-eyebrow{display:flex;align-items:center;gap:11px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.sec-eyebrow .n{font-family:var(--head);font-weight:800;font-size:15px;color:#fff;background:var(--accent);width:26px;height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;letter-spacing:0}
.sec-title{font-family:var(--head);font-weight:800;font-size:clamp(30px,4vw,42px);line-height:1.02;letter-spacing:-.025em;margin:14px 0 8px}
.sec-lead{color:var(--muted);max-width:54ch;margin:0 0 30px;font-size:15.5px}
.sec-lead b{color:var(--ink);font-weight:600}

/* Includes list */
.inc{border-top:1px solid var(--line2)}
.inc-row{display:grid;grid-template-columns:70px 1fr auto 20px;gap:22px;align-items:center;padding:18px 14px 18px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s,padding .15s;border-radius:4px}
.inc-row:hover{background:var(--paper);padding-left:14px;padding-right:14px}
.inc-row img{width:70px;height:70px;object-fit:cover;border-radius:3px;background:var(--line)}
.inc-go{color:var(--faint);display:flex;align-items:center;transition:color .15s,transform .15s}
.inc-go svg{width:20px;height:20px}
.inc-row:hover .inc-go{color:var(--accent);transform:translateX(3px)}
.inc-name{font-family:var(--head);font-weight:600;font-size:19px;line-height:1.15;letter-spacing:-.01em}
.inc-name small{display:block;font-family:var(--sans);font-weight:400;font-size:13.5px;color:var(--muted);margin-top:4px;letter-spacing:0}
.inc-qty{font-family:var(--head);font-weight:800;font-size:30px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.inc-qty small{font-family:var(--sans);font-weight:600;font-size:11px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-left:2px}
.inc-foot{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:13.5px;color:var(--accent);font-weight:600}
.inc-foot svg{width:17px;height:17px;flex-shrink:0}
/* Phones: tighten the includes rows so the name column isn't squeezed to ~3 lines. */
@media(max-width:560px){
  .inc-row{grid-template-columns:58px 1fr auto 18px;gap:14px;padding:16px 0}
  .inc-row img{width:58px;height:58px}
  .inc-name{font-size:18px}
  .inc-name small{font-size:12.5px}
  .inc-qty{font-size:24px}
  .inc-go svg{width:18px;height:18px}
}

/* Add-ons */
.addons-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-12px 0 22px;flex-wrap:wrap}
.addhint{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);background:var(--paper);border:1px dashed var(--line2);border-radius:4px;padding:9px 14px}
.addhint svg{width:16px;height:16px;color:var(--accent)}
.addcount{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:7px 13px;white-space:nowrap}

.addons{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:620px){.addons{grid-template-columns:1fr}}
.acard{position:relative;border:1.5px solid var(--line2);border-radius:5px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;transition:border-color .18s,box-shadow .18s}
.acard:hover{box-shadow:0 14px 32px rgba(40,30,15,.1)}
.acard.on{border-color:var(--accent)}
.acard-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--line);cursor:pointer}
.acard-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.acard:hover .acard-img img{transform:scale(1.04)}
.acard-tag{position:absolute;top:11px;left:11px;font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(18,14,8,.62);padding:4px 9px;border-radius:3px}
.acard-added{position:absolute;top:11px;right:11px;display:inline-flex;align-items:center;gap:6px;
  color:#fff;background:var(--accent);font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.03em;
  padding:6px 11px;border-radius:3px;box-shadow:0 2px 8px rgba(15,81,50,.35);
  opacity:0;transform:translateY(-5px);pointer-events:none;transition:opacity .2s,transform .2s}
.acard-added svg{width:15px;height:15px}
.acard.on .acard-added{opacity:1;transform:none}
.acard-detail{position:absolute;bottom:11px;right:11px;display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:11px;
  font-weight:700;letter-spacing:.04em;color:var(--ink);background:rgba(255,255,255,.93);padding:6px 10px;border-radius:3px;
  opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s}
.acard-detail svg{width:13px;height:13px}
.acard-img:hover .acard-detail{opacity:1;transform:none}
.acard-body{padding:16px 17px 17px;display:flex;flex-direction:column;flex:1}
.acard-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.acard-name{font-family:var(--head);font-weight:600;font-size:18px;line-height:1.1;letter-spacing:-.01em}
.acard-price{font-family:var(--head);font-weight:700;font-size:18px;white-space:nowrap;letter-spacing:-.01em}
.acard-price small{font-family:var(--sans);font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.04em}
.acard-sub{color:var(--muted);font-size:13px;margin:5px 0 15px;flex:1}
.acard-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;
  font-family:var(--sans);font-weight:700;font-size:14px;padding:11px;border-radius:4px;cursor:pointer;
  background:var(--accent);color:#fff;border:1.5px solid var(--accent);transition:all .16s}
.acard-btn:hover{background:var(--accent2);border-color:var(--accent2)}
.acard-btn .ic{font-size:17px;line-height:1}
.acard.on .acard-btn{background:transparent;color:var(--accent)}
.acard.on .acard-btn .lbl::after{content:" · Quitar";color:var(--muted);font-weight:500}

/* ---- Quote rail ---- */
.rail{position:sticky;top:96px}
.rail-card{background:var(--paper);border:1.5px solid var(--ink);border-radius:5px;overflow:hidden}
.rail-head{padding:18px 22px 16px;background:var(--ink);color:#fff}
.rail-head .l{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#cdbfa8}
.rail-head .t{font-family:var(--head);font-weight:700;font-size:21px;margin-top:3px;letter-spacing:-.01em}
.rail-body{padding:6px 22px 0}
.qline{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.qline .qn{color:var(--ink);font-weight:500}
.qline .qn small{display:block;color:var(--faint);font-size:12px;font-weight:400;margin-top:2px}
.qline .qp{font-family:var(--head);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}
.qline.add .qn{color:var(--ink)}
.qline .qx{display:inline-block;margin-left:9px;color:var(--rust);font-size:12px;font-weight:600;cursor:pointer;font-family:var(--sans)}
.qline.muted .qn,.qline.muted .qp{color:var(--muted)}
.qempty{padding:14px 0;color:var(--muted);font-family:var(--serif);font-style:italic;font-size:15px;border-bottom:1px solid var(--line)}
.qdays{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.qdays .l{font-size:14px;font-weight:500}
.qdays .l small{display:block;color:var(--faint);font-size:12px;font-weight:400;margin-top:2px}
.stepper{display:flex;align-items:center;border:1.5px solid var(--line2);border-radius:4px}
.stepper button{width:32px;height:32px;border:none;background:transparent;font-size:18px;cursor:pointer;color:var(--ink)}
.stepper button:disabled{color:var(--faint);cursor:not-allowed}
.stepper .v{min-width:62px;text-align:center;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.qtotal{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0 10px}
.qtotal .l{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.qtotal .v{font-family:var(--head);font-weight:800;font-size:34px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.qtotal .v small{font-family:var(--sans);font-weight:500;font-size:13px;color:var(--muted);margin-left:4px}
.rail-foot{padding:4px 22px 22px}
.cta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--accent);color:#fff;
  text-decoration:none;font-family:var(--sans);font-weight:700;font-size:15.5px;padding:15px;border-radius:4px;border:none;cursor:pointer}
.cta:hover{background:var(--accent2)}
.cta svg{width:18px;height:18px}
.cta-note{text-align:center;font-size:12.5px;color:var(--muted);margin-top:11px;line-height:1.5}
.cta-note b{color:var(--ink)}

.deliv{margin-top:20px;border:1px solid var(--line2);border-radius:5px;background:var(--paper);overflow:hidden}
.deliv-row{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line);font-size:13.5px}
.deliv-row:last-child{border-bottom:none}
.deliv-row .k{color:var(--accent);font-weight:700;letter-spacing:.02em}
.deliv-row .v{color:var(--muted)}
.deliv-row.hl{background:var(--accent-soft)}
.deliv-row.hl .v{color:#355c47}

/* Gallery */
.galsec{padding-top:0;padding-bottom:110px} /* keep .wrap's horizontal padding (don't reset it to 0) */
.mason{columns:3;column-gap:14px;margin-top:26px}
@media(max-width:760px){.mason{columns:2}}
.mason button{padding:0;border:none;width:100%;margin:0 0 14px;border-radius:4px;overflow:hidden;cursor:zoom-in;background:var(--line);display:block}
.mason img{width:100%;display:block;transition:opacity .3s}
.mason button:hover img{opacity:.92}

/* ---- Footer (same as the homepage footer) ---- */
.ruz-footer { background: #fdf9ee; padding: 56px 32px; border-top: 1px solid #e6dcc6; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 36px; }
.ruz-footer a { text-decoration: none; }
.ruz-footer-brand-name { font-weight: 800; font-size: 28px; letter-spacing: -0.03em; }
.ruz-footer-brand-sub { font-size: 11px; letter-spacing: 0.14em; color: #a0552a; margin-top: 4px; text-transform: uppercase; }
.ruz-footer-blurb { font-size: 13px; color: #5a4a3a; margin-top: 14px; max-width: 360px; line-height: 1.55; }
.ruz-footer-col-title { font-size: 11px; letter-spacing: 0.14em; color: #241710; margin-bottom: 14px; text-transform: uppercase; }
.ruz-footer-col-item { display: block; font-size: 14px; color: #5a4a3a; margin-bottom: 6px; }
a.ruz-footer-col-item:hover { color: #241710; }
@media(max-width:760px){
  .ruz-footer { padding: 36px 18px; grid-template-columns: 1fr 1fr; gap: 28px; }
  .ruz-footer > div:first-child { grid-column: 1 / -1; }
}

/* Mobile sticky summary bar — auto shows when the quote rail is off-screen.
   Price block (left) + small "Ver detalles" button (right) that scrolls to the rail. */
.mcta{display:none}
@media(max-width:1000px){
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--paper);
    border-top:1px solid var(--line2);box-shadow:0 -6px 20px rgba(20,14,8,.09);
    padding:9px 18px;align-items:center;justify-content:space-between;gap:14px;
    transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .26s ease}
  .mcta.is-hidden{transform:translateY(115%);opacity:0;pointer-events:none}
  .mcta-info{display:flex;flex-direction:column;gap:1px;min-width:0}
  .mcta-amt{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;line-height:1.25}
  .mcta-amt strong{font-family:var(--head);font-weight:800;font-size:21px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .mcta-amt .mcta-cur{font-size:11px;font-weight:600;color:var(--muted)}
  .mcta-sub{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums}
  .mcta-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fdf9ee;
    border:0;border-radius:4px;padding:11px 16px;font-family:var(--sans);font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap}
  .mcta-btn:hover{background:#000}
  .mcta-btn svg{width:15px;height:15px}
  body{padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){.mcta{transition:opacity .26s ease}}

/* ---- Lightbox (Swiper-powered: swipe + pinch-zoom + thumbnails) ---- */
.ruz-lightbox{position:fixed;inset:0;z-index:100;background:rgba(20,12,8,.92);display:none;flex-direction:column;font-family:var(--sans)}
.ruz-lightbox.is-open{display:flex;animation:ruz-fade-in .25s ease}
@keyframes ruz-fade-in{from{opacity:0}to{opacity:1}}
.ruz-lb-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;min-height:0;width:100%;will-change:transform}
.ruz-lb-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;color:#fdf9ee;flex-shrink:0}
.ruz-lb-title{display:flex;align-items:baseline;gap:12px}
.ruz-lb-cat{font-size:11px;letter-spacing:.14em;color:#d49a3f;text-transform:uppercase}
.ruz-lb-sku{font-size:16px;font-weight:600}
.ruz-lb-close{width:42px;height:42px;border-radius:50%;background:rgba(253,249,238,.12);border:0;color:#fdf9ee;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ruz-lb-stage{flex:1;position:relative;display:flex;min-height:0}
.ruz-lb-swiper{width:100%;height:100%}
.ruz-lb-swiper .swiper-slide{display:flex;align-items:center;justify-content:center}
.ruz-lb-swiper .swiper-zoom-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.ruz-lb-frame{position:relative;max-width:100%;max-height:100%}
.ruz-lb-frame > img{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none}
.ruz-lb-nav{position:absolute;top:50%;width:48px;height:48px;border-radius:50%;background:rgba(253,249,238,.92);color:#241710;border:0;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;transform:translateY(-50%);font-size:22px}
.ruz-lb-nav.prev{left:16px}
.ruz-lb-nav.next{right:16px}
.ruz-lb-nav.swiper-button-disabled{opacity:.35;cursor:default}
.ruz-lb-thumbs{display:flex;gap:8px;padding:14px 32px 24px;overflow-x:auto;justify-content:center;flex-shrink:0;scrollbar-width:none}
.ruz-lb-thumbs::-webkit-scrollbar{display:none}
.ruz-lb-thumb{width:70px;height:70px;flex-shrink:0;opacity:.45;cursor:pointer;border:2px solid transparent;background:#1a0f08;transition:opacity .2s ease}
.ruz-lb-thumb:hover{opacity:.8}
.ruz-lb-thumb img{width:100%;height:100%;object-fit:cover}
.ruz-lb-thumb.is-active{opacity:1;border-color:#d49a3f}
@media(max-width:720px){
  .ruz-lb-header{padding:14px 18px}
  .ruz-lb-stage{padding:8px 14px}
  .ruz-lb-nav{width:38px;height:38px;font-size:18px}
  .ruz-lb-nav.prev{left:8px}
  .ruz-lb-nav.next{right:8px}
  .ruz-lb-thumb{width:54px;height:54px}
  .ruz-lb-thumbs{padding:10px 18px 18px;justify-content:flex-start}
}

/* ---- Item detail modal ---- */
.imodal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:28px;
  background:rgba(22,16,9,.62)}
.imodal.on{display:flex}
.imodal-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:min(940px,100%);max-height:88vh;background:var(--paper);border-radius:7px;overflow:hidden;
  box-shadow:0 40px 90px rgba(20,14,8,.4);animation:imIn .3s cubic-bezier(.22,1,.36,1)}
@keyframes imIn{from{transform:translateY(16px)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.imodal-card{animation:none}}
@media(max-width:720px){.imodal{padding:0;align-items:flex-end}.imodal-card{grid-template-columns:1fr;max-height:94vh;border-radius:14px 14px 0 0;overflow-y:auto}}
.imodal-media{position:relative;background:var(--line);min-height:340px;cursor:zoom-in}
@media(max-width:720px){.imodal-media{min-height:240px}}
.imodal-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:720px){.imodal-media img{position:static;height:240px}}
.imodal-tag{position:absolute;top:14px;left:14px;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:#fff;background:var(--accent);padding:5px 10px;border-radius:3px}
.imodal-zoom{position:absolute;bottom:14px;left:14px;display:inline-flex;align-items:center;gap:7px;border:none;cursor:pointer;
  font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ink);background:rgba(255,255,255,.92);padding:8px 13px;border-radius:4px}
.imodal-zoom svg{width:14px;height:14px}
.imodal-x{position:absolute;top:14px;right:14px;z-index:3;width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--ink);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.imodal-x:hover{background:#fff}
.imodal-body{padding:34px 34px 32px;overflow-y:auto;display:flex;flex-direction:column}
@media(max-width:720px){.imodal-body{padding:24px 22px 28px}}
.imodal-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:11.5px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.imodal-qpill{font-family:var(--head);font-weight:800;font-size:12px;color:#fff;background:var(--accent);
  padding:2px 8px;border-radius:3px;letter-spacing:0}
.imodal-title{font-family:var(--head);font-weight:800;font-size:clamp(26px,3.6vw,34px);line-height:1.04;letter-spacing:-.025em;margin:13px 0 4px}
.imodal-sub{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted)}
.imodal-text{font-size:15px;color:var(--muted);line-height:1.62;margin:18px 0 0}
.imodal-feat-label{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--faint);margin:26px 0 12px;padding-top:20px;border-top:1px solid var(--line)}
.imodal-feats{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.imodal-feats li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px;color:var(--ink)}
.imodal-feats svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:1px}
.imodal-rentnote{display:flex;align-items:center;gap:9px;margin-top:26px;padding:13px 15px;background:var(--accent-soft);
  border-radius:5px;font-size:13px;color:#355c47}
.imodal-rentnote svg{width:17px;height:17px;color:var(--accent);flex-shrink:0}
.imodal-rentnote b{color:var(--accent);font-weight:700}
.imodal-action{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.imodal-price{font-family:var(--head);font-weight:800;font-size:27px;letter-spacing:-.02em;line-height:1}
.imodal-price small{display:block;font-family:var(--sans);font-weight:500;font-size:12px;color:var(--muted);letter-spacing:.01em;margin-top:5px}
.imodal-addbtn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:14.5px;
  padding:13px 22px;border-radius:4px;cursor:pointer;background:var(--accent);color:#fff;border:1.5px solid var(--accent);transition:background .16s,color .16s,border-color .16s}
.imodal-addbtn:hover{background:var(--accent2);border-color:var(--accent2)}
.imodal-addbtn .ic{font-size:17px;line-height:1}
.imodal-addbtn.on{background:transparent;color:var(--accent)}
.imodal-addbtn.on:hover{background:var(--accent-soft)}
.imodal-addbtn.on .lbl::after{content:" · Quitar";color:var(--muted);font-weight:500}
/* Landscape variant — wide image on top, details below */
.imodal-card.landscape{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
.imodal-card.landscape .imodal-media{height:clamp(200px,36vh,344px);min-height:0}
.imodal-card.landscape .imodal-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:4px 36px;margin-top:18px}
.imodal-card.landscape .imodal-text{margin-top:0}
.imodal-card.landscape .imodal-feat-label{margin-top:0;padding-top:0;border-top:none}
@media(max-width:720px){.imodal-card.landscape .imodal-media{height:240px}.imodal-card.landscape .imodal-main{grid-template-columns:1fr;gap:0}.imodal-card.landscape .imodal-feat-label{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}}
