:root{
  --mtt-bg:#0b0f14;
  --mtt-soft:#1a2230;
  --mtt-text:#eaf2ff;
  --mtt-muted:#bcd0f8;
  --mtt-brand:#12bece;
  --mtt-accent:#0d6efd;
  --mtt-shadow:0 8px 28px rgba(0,0,0,.25);
}

.mtt-packages{
  background: linear-gradient(180deg, var(--mtt-bg), #0b1220 60%, #0b0f14);
  color: var(--mtt-text);
  padding: 48px 16px 64px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;
}

.mtt-container{max-width:1100px;margin:0 auto;}
.mtt-head h2{font-size:1.8rem;margin:0 0 6px;}
.mtt-sub{color:var(--mtt-muted);margin:0 0 14px;}

.mtt-includes{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:12px 0 16px;padding:0;list-style:none;
}
.mtt-includes li{
  background:linear-gradient(180deg,#0f1a2d,var(--mtt-soft));
  border:1px solid #22314a;
  color:#d6e6ff;
  padding:8px 12px;
  border-radius:999px;
  font-size:.9rem;
  box-shadow:var(--mtt-shadow);
  white-space:nowrap;
}

.mtt-discounts{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px;}
.mtt-badge{
  background:linear-gradient(180deg,#0f1a2d,var(--mtt-soft));
  border:1px solid #22314a;
  color:#d6e6ff;
  padding:10px 14px;
  border-radius:999px;
  font-size:.92rem;
  box-shadow:var(--mtt-shadow);
  white-space:nowrap;
}

.mtt-group{margin-top:30px;}
.mtt-group-title{font-size:1.2rem;margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.mtt-tag{background:#071a1d;color:#bdefff;border:1px solid rgba(18,190,206,.35);padding:4px 10px;border-radius:999px;font-size:.8rem;}

.mtt-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:700px){.mtt-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.mtt-grid{grid-template-columns:repeat(3,1fr);}}

.mtt-card{
  background:linear-gradient(180deg,#0f1520,#0c1220 60%,#0f1520);
  border:1px solid #1c2a44;
  border-radius:18px;
  box-shadow:var(--mtt-shadow);
  padding:16px;display:flex;flex-direction:column;gap:10px;
  transition:.2s;
}
.mtt-card:hover{transform:translateY(-3px);border-color:rgba(18,190,206,.55);}

.mtt-card-top{display:flex;flex-direction:column;gap:6px;}
.mtt-title{margin:0;font-size:1.05rem;}
.mtt-location{color:var(--mtt-muted);font-size:.9rem;}
.mtt-desc{color:#d7e6ff;font-size:.95rem;margin:0;}
.mtt-meta{color:#c7dbff;font-size:.88rem;}
.mtt-price{font-weight:800;font-size:1.4rem;}
.mtt-price span{color:var(--mtt-muted);font-weight:500;font-size:.9rem;margin-left:4px;}
.mtt-actions{margin-top:auto;}
.mtt-btn{background:var(--mtt-brand);color:#04272b;font-weight:700;text-decoration:none;padding:10px 14px;border-radius:12px;display:inline-block;transition:.2s;}
.mtt-btn:hover{filter:brightness(1.05);}
.mtt-accent{border-color:rgba(13,110,253,.45);}
.mtt-footer-note{color:var(--mtt-muted);margin-top:22px;font-size:.95rem;line-height:1.5;}































/* ===== Cart + Controls ===== */
.mtt-cart{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 360px;
  max-height: 80vh;
  overflow: hidden;
  background: linear-gradient(180deg,#0f1520,#0c1220 60%,#0f1520);
  color:#eaf2ff;
  border:1px solid #1c2a44;
  border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.45);
  display:none;
  flex-direction:column;
  z-index: 9999;
}
@media (max-width: 480px){
  .mtt-cart{width: 92vw; right: 4vw; bottom: 84px;}
}

.mtt-cart.open{ display:flex; }

.mtt-cart-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;border-bottom:1px solid #1c2a44;background:#0b1220;
}
.mtt-cart-header h3{margin:0;font-size:1.05rem;}
.mtt-cart-close{
  background:transparent;border:none;color:#cfe1ff;font-size:1.6rem;line-height:1;padding:2px 6px;cursor:pointer;
}

.mtt-cart-controls{
  display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #1c2a44;
}
.mtt-cart-controls label{font-size:.95rem;color:#bcd0f8;}
.mtt-counter{display:flex;align-items:center;background:#0f1a2d;border:1px solid #22314a;border-radius:12px;}
.mtt-ctr-btn{
  width:36px;height:36px;background:transparent;border:none;color:#d6e6ff;font-size:1.2rem;cursor:pointer;
}
#mttTravelers{
  width:56px;height:36px;background:transparent;border:none;color:#fff;text-align:center;font-weight:700;font-size:1rem;
}

.mtt-cart-items{
  overflow:auto; padding:8px 8px 6px;
}
.mtt-line{
  display:grid;grid-template-columns:1fr auto;gap:6px;
  border:1px solid #1c2a44;background:#0f1730;border-radius:12px;
  padding:10px;margin:8px 6px;
}
.mtt-line-title{margin:0;font-weight:700;font-size:.98rem;}
.mtt-line-meta{color:#bcd0f8;font-size:.85rem;}
.mtt-line-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.mtt-qty{
  display:flex;align-items:center;border:1px solid #22314a;border-radius:10px;overflow:hidden;
}
.mtt-qty button{
  width:28px;height:28px;background:transparent;border:none;color:#d6e6ff;font-size:1rem;cursor:pointer;
}
.mtt-qty input{
  width:44px;height:28px;background:transparent;border:none;color:#fff;text-align:center;font-weight:700;font-size:.95rem;
}
.mtt-line-remove{
  background:transparent;border:none;color:#ffb4b4;cursor:pointer;font-size:.85rem;text-decoration:underline;
}
.mtt-line-total{font-weight:800;}

.mtt-cart-summary{
  margin:6px 10px 10px;border-top:1px dashed #224;
  padding-top:10px;display:grid;gap:6px;font-size:.95rem;
}
.mtt-cart-summary > div{
  display:flex;justify-content:space-between;align-items:center;
}
.mtt-total{border-top:1px solid #1c2a44;padding-top:6px;}
.mtt-deposit{border-top:1px solid #1c2a44;padding-top:6px;}

.mtt-discount-line{color:#bcd0f8;}
.mtt-discount-note{color:#9fb7e9;font-size:.86rem;margin:8px 0 0;}

.mtt-checkout{
  margin:10px; width: calc(100% - 20px);
}

.mtt-bank{
  border-top:1px solid #1c2a44;padding:12px 14px;margin-top:4px;background:#0b1220;
}
.mtt-bank h4{margin:4px 0 8px;}
.mtt-bank p{margin:2px 0;}
.mtt-bank-note{color:#bcd0f8;margin-top:8px;}

.mtt-cart-fab{
  position: fixed; right: 18px; bottom: 18px;
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(180deg,#12bece,#0fb1c0 70%,#0ea7b4);
  color:#04272b;font-weight:800;border:none;border-radius:999px;
  padding:12px 16px;box-shadow:0 12px 34px rgba(0,0,0,.35);cursor:pointer;z-index:9998;
}
.mtt-cart-fab span{
  display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;
  background:#04272b;color:#a6f7ff;border-radius:999px;font-size:.85rem;font-weight:800;
}

/* Reuse existing button + card styles from your package CSS */
.mtt-btn{
  background: linear-gradient(180deg, #12bece, #0fb1c0 70%, #0ea7b4);
  color: #04272b; font-weight: 700; text-decoration: none;
  padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(4,39,43,.25);
  transition: filter .2s ease, transform .15s ease; text-align:center; cursor:pointer;
}
.mtt-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }







.mtt-booking {
  padding: 10px 14px;
  border-bottom: 1px solid #1c2a44;
  max-height: 300px;      /* 🔹 set a max height for the form container */
  overflow-y: auto;       /* 🔹 enables vertical scrolling when content overflows */
}

.mtt-booking h4 {
  margin: 0 0 8px;
}

.mtt-form-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}

@media (min-width: 620px) {
  .mtt-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.mtt-booking label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #bcd0f8;
  font-size: .92rem;
}

.mtt-booking input {
  background: #0f1a2d;
  border: 1px solid #22314a;
  border-radius: 10px;
  color: #eaf2ff;
  padding: 10px 12px;
  font-size: .95rem;
}

.mtt-consent {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}

.mtt-consent input {
  width: 18px;
  height: 18px;
}

.mtt-review {
  border-top: 1px solid #1c2a44;
  padding: 12px 14px;
  background: #0b1220;
  margin-top: 6px;
}

.mtt-review h4 {
  margin: 0 0 8px;
}

.mtt-review-box {
  background: #0f1730;
  border: 1px solid #1c2a0b;
  border-radius: 10px;
  color: #dfe8ff;
  padding: 12px;
  white-space: pre-wrap;
  max-height: 180px;
  overflow: auto;
}

















.mtt-payment-info{
  background:#f9fafc;
  padding:40px 20px;
  margin:40px 0;
  border-radius:12px;
  border:1px solid #e2e6ef;
  text-align:center;
}
.mtt-payment-info h3{
  font-size:1.5rem;
  margin-bottom:15px;
  color:#0d3b66;
}
.mtt-payment-info p{
  font-size:1rem;
  margin:8px 0;
  color:#333;
}
.mtt-payment-info .mtt-trust{
  margin-top:15px;
  padding:10px;
  background:#e9f6ef;
  border:1px solid #b7e0c9;
  border-radius:8px;
  color:#155724;
  font-weight:600;
}



















.mtt-card-image {
  width: 100%;
  height: 180px;
  overflow: hidden;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

.mtt-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}












/* ===== Custom Tours ===== */
.mtt-custom {
  background: linear-gradient(135deg, #0f1a2d, #1b2f4e);
  color: #eaf2ff;
  padding: 40px 20px;
  border-radius: 14px;
  margin: 30px 0;
  text-align: center;
  box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

.mtt-custom-title {
  font-size: 1.8rem;
  margin-bottom: 14px;
  color: #ffd369;
}

.mtt-custom-text {
  max-width: 700px;
  margin: 0 auto 12px;
  font-size: 1rem;
  line-height: 1.6;
  color: #cdd9f3;
}

.mtt-custom-highlight {
  font-size: 1.1rem;
  margin: 20px auto;
  color: #ffffff;
  background: rgba(255, 211, 105, 0.1);
  padding: 12px 18px;
  border-radius: 10px;
  display: inline-block;
}

.mtt-custom-actions {
  margin-top: 20px;
}

.mtt-custom .mtt-btn {
  background: #ffd369;
  color: #0f1a2d;
  padding: 12px 24px;
  border-radius: 30px;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
}

.mtt-custom .mtt-btn:hover {
  background: #ffca3a;
  transform: translateY(-2px);
}


