/* Tour & package cards (markup: tools/cards.py) - home, tours and packages pages. */
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/marcellus-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-cyrillic-var.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-latin-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

.ntt-tours{
  --ntt-lapis:#16305C;
  --ntt-nile:#1F4E9E;
  --ntt-gold:#E2B43C;
  --ntt-sand:#EFE6D4;
  --ntt-ink:#1B2230;
  --ntt-muted:#5E6675;
  --ntt-line:#E3DDD0;
  position:relative;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--ntt-min,300px)),1fr));
  gap:28px;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--ntt-ink);
}
.ntt-tours--home{--ntt-min:250px;gap:22px}
.ntt-tours *{box-sizing:border-box;margin:0}
.ntt-sprite{position:absolute;width:0;height:0;overflow:hidden}

.ntt-card{
  background:#fff;
  border:1px solid var(--ntt-line);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:box-shadow .25s ease, transform .25s ease;
}
.ntt-card.is-hidden{display:none}
.ntt-card:hover{box-shadow:0 18px 40px -22px rgba(22,48,92,.45);transform:translateY(-3px)}

/* Image */
.ntt-media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--ntt-nile),var(--ntt-lapis));overflow:hidden}
.ntt-soon{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.5)}
.ntt-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ntt-card:hover .ntt-media img{transform:scale(1.05)}

.ntt-badge{
  position:absolute;top:14px;left:14px;max-width:calc(100% - 80px);
  background:var(--ntt-sand);color:var(--ntt-lapis);
  font-size:12px;font-weight:700;line-height:1.2;padding:6px 12px;border-radius:999px;
}
.ntt-wish{
  position:absolute;top:12px;right:12px;width:38px;height:38px;padding:0;border-radius:50%;
  border:0;background:rgba(255,255,255,.92);color:var(--ntt-lapis);
  display:grid;place-items:center;cursor:pointer;
}
.ntt-wish:hover{background:#fff}
.ntt-wish[aria-pressed="true"] svg{fill:#C0392B;stroke:#C0392B}

/* Cartouche price - the signature element */
.ntt-price{display:flex;flex-direction:column;line-height:1.15;color:var(--ntt-muted)}
.ntt-price small{font-size:12px}
.ntt-price strong{font-family:'Marcellus',Georgia,serif;font-size:26px;font-weight:400;color:var(--ntt-lapis)}

/* Body */
.ntt-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.ntt-loc{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;color:var(--ntt-nile);font-weight:500}
.ntt-loc svg{flex:none}
.ntt-title{font-family:'Marcellus','Playfair Display',Georgia,serif;font-weight:400;font-size:23px;line-height:1.25;letter-spacing:0;color:var(--ntt-ink)}
.ntt-title a{color:inherit;text-decoration:none}
.ntt-title a:hover{color:var(--ntt-nile)}

.ntt-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 0;list-style:none;border-top:1px solid var(--ntt-line);border-bottom:1px solid var(--ntt-line)}
.ntt-meta li{list-style:none;display:flex;align-items:center;gap:6px;font-size:13.5px;line-height:1.3;color:var(--ntt-muted)}
.ntt-meta svg{color:var(--ntt-nile);flex:none}

.ntt-incl{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none}
.ntt-incl li{list-style:none;font-size:12.5px;line-height:1.3;background:#EEF3FB;color:var(--ntt-nile);padding:5px 10px;border-radius:6px}

.ntt-foot{margin-top:auto;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}
.ntt-cancel{font-size:12.5px;color:var(--ntt-muted);display:flex;align-items:center;gap:5px}
.ntt-cancel svg{flex:none}
.ntt-btn{
  background:var(--ntt-nile);color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;line-height:1.2;
  padding:12px 20px;border-radius:10px;white-space:nowrap;flex:none;text-align:center;transition:background .2s;
}
.ntt-btn:hover{background:var(--ntt-lapis);color:#fff}

.ntt-tours a:focus-visible,.ntt-tours button:focus-visible{outline:3px solid var(--ntt-gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.ntt-card,.ntt-media img{transition:none}.ntt-card:hover,.ntt-card:hover .ntt-media img{transform:none}}
/* narrow cards (four across, or a phone) put the price above a full-width button */
.ntt-body{container-type:inline-size}
@container (max-width:300px){.ntt-foot{flex-direction:column;align-items:stretch;gap:10px}}
