.trd-site {font-family: inherit; color:#12323f;}
.trd-hero {padding: 110px 0; color:white; background: linear-gradient(135deg, rgba(3,38,55,.92), rgba(0,119,145,.68)), url('/the_real_deal_tours_website/static/src/img/hero.svg') center/cover no-repeat;}
.trd-inner-hero {padding: 70px 0; color:white; background: linear-gradient(135deg, #042f43, #0d829a);}
.trd-kicker {display:inline-block; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:#f8d36a; margin-bottom:14px;}
.trd-hero h1, .trd-inner-hero h1 {font-size: clamp(46px, 8vw, 92px); font-weight:900; line-height:.95; margin-bottom:20px;}
.trd-lead, .trd-inner-hero p {font-size:1.3rem; max-width:720px; opacity:.94;}
.trd-hero-card {background:rgba(255,255,255,.12); backdrop-filter: blur(8px); border:1px solid rgba(255,255,255,.25); border-radius:24px; padding:28px; box-shadow:0 20px 50px rgba(0,0,0,.25);}
.trd-hero-card h3 {color:#fff; font-weight:800;}
.trd-hero-card ul {margin:0; padding-left:18px;}
.trd-section-title {text-align:center; margin-bottom:34px;}
.trd-section-title span {color:#0d829a; font-weight:800; letter-spacing:.12em; text-transform:uppercase;}
.trd-section-title h2 {font-size:clamp(32px,4vw,52px); font-weight:900; color:#052f43;}
.trd-soft-bg {background:#eef8fa;}
.trd-tour-card {background:white; border-radius:22px; overflow:hidden; box-shadow:0 10px 35px rgba(3,38,55,.12); border:1px solid rgba(3,38,55,.08); transition:.2s ease;}
.trd-tour-card:hover {transform:translateY(-4px); box-shadow:0 18px 45px rgba(3,38,55,.18);}
.trd-tour-img {width:100%; height:220px; object-fit:cover; background:#d5f2f7;}
.trd-tour-body {padding:24px;}
.trd-tour-body h3 {font-weight:900; color:#052f43; margin-top:10px;}
.trd-badge {display:inline-block; background:#e8f8fb; color:#087b91; padding:6px 11px; border-radius:999px; font-weight:800; font-size:.78rem; text-transform:uppercase;}
.trd-tour-meta {display:flex; gap:14px; flex-wrap:wrap; color:#57717a; font-weight:700;}
.trd-detail-img {width:100%; min-height:340px; object-fit:cover; border-radius:24px; box-shadow:0 15px 40px rgba(3,38,55,.16); background:#e8f8fb;}
.trd-content, .trd-info-box {font-size:1.05rem; line-height:1.7;}
.trd-info-box {background:#fff; border:1px solid rgba(3,38,55,.08); border-radius:20px; padding:24px; box-shadow:0 10px 30px rgba(3,38,55,.08);}
.trd-info-box h3 {font-weight:900; color:#052f43;}
.trd-calendar-card {background:white; border-radius:24px; padding:22px; box-shadow:0 12px 40px rgba(3,38,55,.12); border:1px solid rgba(3,38,55,.08);}
.trd-calendar-head {display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px;}
.trd-calendar-head h3 {margin:0; font-weight:900; color:#052f43;}
.trd-calendar-grid {display:grid; grid-template-columns:repeat(7,1fr); gap:8px;}
.trd-calendar-labels {font-weight:900; color:#0d829a; margin-bottom:8px; text-align:center;}
.trd-day {min-height:112px; border-radius:16px; padding:10px; border:1px solid #d8e8ec; background:#fff; position:relative;}
.trd-day-number {font-weight:900; font-size:1.1rem;}
.trd-day-label {font-size:.84rem; color:#536c74; margin-top:4px;}
.trd-day-available {background:#effaf4; border-color:#bde8ce;}
.trd-day-booked {background:#fff6e7; border-color:#f3d39a;}
.trd-day-blocked {background:#ffecec; border-color:#f0b1b1;}
.trd-day-past, .trd-day-outside {background:#f4f6f7; color:#9aa7ad;}
.trd-day-link {display:inline-block; margin-top:10px; font-weight:800; color:#087b91;}
.trd-legend {display:flex; gap:18px; flex-wrap:wrap; margin-top:18px; color:#4d6870; font-weight:700;}
.trd-dot {display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:6px; vertical-align:middle;}
.trd-dot-available {background:#60c987;} .trd-dot-booked {background:#e6a23c;} .trd-dot-blocked {background:#df5b5b;}
.trd-form {background:#fff; border-radius:24px; padding:28px; box-shadow:0 12px 40px rgba(3,38,55,.12); border:1px solid rgba(3,38,55,.08);}
@media (max-width: 768px){.trd-calendar-grid{gap:4px}.trd-day{min-height:92px;padding:7px}.trd-calendar-head{flex-direction:column}.trd-hero{padding:70px 0}}


/* Tours: exactly 3 cards per row on desktop */
.trd-tour-grid,
.trd-tours-grid {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}
@media (max-width:1100px) {
    .trd-tour-grid,
    .trd-tours-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:768px) {
    .trd-tour-grid,
    .trd-tours-grid {
        grid-template-columns:1fr;
    }
}
