:root { --ink: #143D66; --text: #54595f; --line: #e6e6e6; }
* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: var(--text); font: 15px/1.6 "Trebuchet MS", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--ink); }
button, input, select { font: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.wrap { width: min(1200px, 92%); margin-inline: auto; }
.nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 6px 0; border-bottom: 1px solid var(--line); }
.brand { flex: 0 1 220px; min-width: 0; }
.brand img { display: block; width: 220px; height: auto; max-width: 100%; object-fit: contain; }
.back { font-size: 13px; color: var(--ink); }
h1, h2, h3 { color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.3; }
h1 { font-size: 32px; margin: 0; }
h2 { font-size: 28px; margin: 0; }
h3 { font-size: 22px; margin: 0; overflow-wrap: anywhere; }
.collection { padding: 30px 0 40px; }
.section-heading { margin-bottom: 22px; }
.filters { display: grid; grid-template-columns: 1.5fr 1fr 1fr auto; align-items: end; gap: 16px; padding: 18px; background: #f4f4f4; border: 1px solid var(--line); }
.filters label { display: block; font-size: 12px; margin-bottom: 5px; }
.filters input, .filters select { width: 100%; min-width: 0; height: 44px; border: 1px solid #d5d5d5; background: white; padding: 9px 12px; color: var(--text); border-radius: 3px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: transparent; color: var(--ink); border: 1px solid var(--ink); border-radius: 3px; padding: 11px 20px; font-size: 13px; font-weight: 600; cursor: pointer; }
.button:hover, .arrow:hover { background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.results { display: flex; justify-content: space-between; gap: 15px; font-size: 13px; margin: 20px 0 16px; }
.results a { text-decoration: underline; }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: white; }
.card-image { display: block; position: relative; height: 220px; background: #fafafa; }
.card-image img { width: 100%; height: 100%; object-fit: cover; }
.card-image .placeholder-logo { object-fit: contain; padding: 35px; background: white; }
.pill { display: inline-block; padding: 5px 12px; background: white; color: var(--ink); border: 1px solid var(--ink); font-size: 12px; border-radius: 3px; }
.card-image .pill { position: absolute; bottom: 12px; left: 12px; }
.card-body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
.places { color: #636363; font-size: 13px; min-height: 42px; margin: 12px 0 18px; }
.card-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; border-top: 1px solid var(--line); padding-top: 15px; }
.card-bottom small { display: block; font-size: 11px; }
.card-bottom strong { font-size: 24px; color: var(--ink); font-weight: 600; }
.card-bottom strong span { font-size: 12px; }
.arrow { background: transparent; border: 1px solid var(--ink); padding: 8px 12px; border-radius: 3px; color: var(--ink); font-size: 12px; white-space: nowrap; }
.price-note { font-size: 12px; color: #636363; margin-top: 22px; }
.empty { grid-column: 1 / -1; padding: 45px 20px; background: #f4f4f4; text-align: center; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 28px; font-size: 13px; }
footer { padding: 20px 0; border-top: 1px solid var(--line); font-size: 12px; }
.skip { position: absolute; top: -100px; left: 10px; background: white; padding: 10px; z-index: 10; }
.skip:focus { top: 10px; }
.eyebrow { font-size: 11px; letter-spacing: 1px; margin: 0 0 10px; }
.detail { padding: 25px 0 45px; }
.detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin: 25px 0; }
.detail-heading h1 { overflow-wrap: anywhere; }
.detail-heading .pill { flex-shrink: 0; }
.detail-image { height: 360px; overflow: hidden; border-radius: 4px; }
.detail-image img { width: 100%; height: 100%; object-fit: cover; }
.detail-grid { display: grid; grid-template-columns: 1fr 320px; gap: 45px; margin-top: 35px; }
.booking { padding: 24px; background: #f4f4f4; border: 1px solid var(--line); align-self: start; }
.booking .button { width: 100%; margin-top: 15px; }
.detail-price { color: var(--ink); font-size: 36px; }
.detail-price span { font-size: 15px; }
.itinerary { list-style: none; padding: 0; margin: 25px 0 0; }
.itinerary li { display: flex; align-items: center; gap: 20px; padding: 20px 0; border-top: 1px solid var(--line); }
.day { color: var(--ink); font-size: 24px; }
.muted { font-size: 13px; }
@media (max-width: 900px) {
    .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .detail-grid { grid-template-columns: 1fr 280px; gap: 24px; }
}
@media (max-width: 600px) {
    .brand { flex-basis: 180px; }
    .brand img { width: 180px; height: auto; }
    .back { font-size: 11px; }
    h1 { font-size: 27px; }
    .collection { padding-top: 22px; }
    .filters, .grid, .detail-grid { grid-template-columns: 1fr; }
    .filters { gap: 12px; padding: 14px; }
    .card-image { height: 230px; }
    .detail-heading { display: block; }
    .detail-image { height: 250px; }
    .pagination { gap: 12px; }
}

.price-filter label { display: flex; justify-content: space-between; gap: 12px; }
.price-filter output { color: var(--ink); font-weight: 600; white-space: nowrap; }
.filters input[type="range"] { padding: 0; height: 25px; margin: 0; border: 0; background: transparent; accent-color: var(--ink); cursor: pointer; }
.price-scale { display: flex; justify-content: space-between; font-size: 11px; }

/* Public itinerary document follows the CRM's customer itinerary layout. */
.filters { grid-template-columns: 1.4fr 1.3fr 1fr .8fr auto; }
.filters > div { min-width: 0; }
.card-meta { display: flex; gap: 16px; flex-wrap: wrap; color: #143D66; font-size: 15px; font-weight: 700; margin-top: auto; padding-bottom: 12px; }
.card-bottom { margin-top: 0; }
.itinerary-page { background: #f5f5f9; padding-bottom: 32px; }
.booking-bar { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 16px; background: white; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.booking-actions { display: flex; align-items: center; gap: 22px; color: var(--ink); }
.booking-actions small { font-size: 12px; }
.itinerary-document { background: white; border: 1px solid #e3e6ed; padding: 20px; }
.document-header { border: 2px solid #143D66; padding: 24px; text-align: center; color: #143D66; }
.document-header img { object-fit: contain; max-width: 100%; }
.document-header p { font-size: 12px; margin: 20px 0; }
.document-header h1 { font-size: 26px; }
.document-section { padding: 26px 0; border-bottom: 1px solid #e3e6ed; }
.document-section h2 { font-family: "Trebuchet MS", Arial, sans-serif; font-size: 19px; margin-bottom: 12px; }
.trip-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.trip-summary table { width: 100%; background: #213547; color: white; border-collapse: collapse; font-size: 12px; }
.trip-summary th, .trip-summary td { padding: 7px 9px; text-align: left; border-bottom: 1px solid #ffffff16; vertical-align: top; overflow-wrap: anywhere; }
.trip-summary th { width: 46%; font-weight: 500; }
.document-table-scroll { overflow-x: auto; }
.accommodation-table { width: 100%; border-collapse: collapse; font-size: 12px; min-width: 760px; }
.accommodation-table th { background: #213547; color: white; text-transform: uppercase; font-size: 10px; letter-spacing: .6px; text-align: left; }
.accommodation-table th, .accommodation-table td { padding: 7px 9px; border-bottom: 1px solid #e3e6ed; vertical-align: top; }
.document-day { margin: 20px 0; }
.document-day h3 { padding: 10px 14px; background: #213547; color: white; font: 600 15px/1.5 "Trebuchet MS", Arial, sans-serif; }
.day-date { font-size: 12px; color: var(--ink); }
.document-activity h4 { color: var(--ink); margin-bottom: 8px; }
.document-activity p { font-size: 14px; white-space: pre-line; }
.document-booking { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 0; }
.document-booking .button { flex-shrink: 0; }
.document-booking p { font-size: 13px; }
@media (max-width: 1050px) { .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .trip-summary { grid-template-columns: 1fr; gap: 12px; }
    .itinerary-document { padding: 12px; }
    .document-header { padding: 16px; }
    .booking-bar { padding: 12px; }
    .booking-actions { gap: 10px; }
    .booking-actions small { display: block; }
    .document-booking { flex-direction: column; align-items: stretch; }
}
@media (max-width: 600px) { .filters { grid-template-columns: 1fr; } }
.full-itinerary .card { display: block; }
.full-itinerary .card-body { display: block; }
.full-itinerary .accordion-button { color: #143D66; background: white; }
.full-itinerary .timeline { padding-left: 20px; }
.full-itinerary .preview-image { max-width: 100%; }
.full-itinerary .table-responsive { max-width: 100%; }
.full-itinerary .accordion-collapse { display: block; }
.full-itinerary .accordion-button::after { display: none; }
.full-itinerary .accordion-button { pointer-events: none; }
#itinerary-image-dialog { border: 1px solid #143D66; border-radius: 5px; padding: 14px; max-width: 95vw; max-height: 95vh; }
#itinerary-image-dialog::backdrop { background: #000b; }
#itinerary-image-dialog form { text-align: right; margin-bottom: 12px; }
#itinerary-image-large { display: block; max-width: 85vw; max-height: 75vh; object-fit: contain; }

/* Match the current web quotation preview, including its compact stay cards. */
.itinerary-page.invoice-preview { --bs-primary: #350073; --bs-body-color: #566a7f; --bs-border-color: #e1e5ee; --bs-border-radius: .6rem; }
.itinerary-page .document-header { border: 1px solid #e1e5ee; border-radius: 12px; padding: 32px 24px; box-shadow: 0 4px 16px #23364d0b; }
.itinerary-page .document-header h1 { font-family: inherit; font-size: clamp(22px, 3vw, 30px); font-weight: 600; margin-top: 28px; }
.itinerary-page .trip-summary { margin: 24px 0; padding: 12px 24px; gap: 0 24px; border: 1px solid #e1e5ee; border-radius: 12px; background: #f8f9fc; box-shadow: 0 4px 16px #23364d0b; }
.itinerary-page .trip-detail { min-width: 0; padding: 16px 0; border-bottom: 1px solid #e5e9f0; overflow-wrap: anywhere; }
.itinerary-page .trip-detail span { display: block; font-size: 13px; color: #718198; margin-bottom: 7px; }
.itinerary-page .trip-detail strong { display: block; color: #42566e; font-weight: 600; font-size: 15px; }
.itinerary-page .full-itinerary { min-width: 0; padding-top: 0; }
.itinerary-page .full-itinerary .card { width: 100%; padding: 0; gap: 0; border: 1px solid #e1e5ee; border-radius: 12px; overflow: hidden; }
.itinerary-page .full-itinerary .card-body { padding: 20px; }
.itinerary-page .full-itinerary .bg-label-primary { background: #eee8f6; color: #350073; }
.itinerary-page .full-itinerary .tour-day-label { color: #350073; }
.itinerary-page .full-itinerary img { max-width: 100%; height: auto; }
.itinerary-page .booking-bar { flex-wrap: wrap; }
.itinerary-page .booking-bar > *, .itinerary-page .booking-actions { min-width: 0; }
@media(max-width:700px) {
    .itinerary-page .itinerary-document { width: 100%; border-inline: 0; padding: 12px; }
    .itinerary-page .document-header { padding: 24px 14px; }
    .itinerary-page .trip-summary { padding: 8px 16px; }
    .itinerary-page .full-itinerary .card-body { padding: 14px; }
    .itinerary-page .booking-bar { width: 100%; gap: 10px; }
    .itinerary-page .booking-actions { margin-left: auto; flex-wrap: wrap; }
    .itinerary-page .document-booking .button { text-align: center; }
}
@media(max-width:380px) {
    .itinerary-page .booking-actions { width: 100%; justify-content: space-between; }
}

/* Shared Eden Travels website chrome for collection and itinerary pages. */
.eden-site-header{position:sticky;top:0;z-index:30;background:#fff;transition:box-shadow .25s ease}
.eden-nav-inner{width:min(1800px,96%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0;transition:padding .25s ease}
.eden-brand{flex:0 0 215px;display:block}
.eden-brand img{width:100%;height:auto;display:block;transition:width .25s ease}
.eden-navigation{display:flex;align-items:center;gap:10px}
.eden-nav-link{display:block;color:#03438f;font-weight:700;padding:12px 16px;border-radius:32px;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.eden-nav-link:hover,.eden-nav-link:focus-visible,.eden-nav-link.is-active{background:#064596;color:white;box-shadow:0 7px 16px #06459626;transform:translateY(-1px)}
.eden-languages{display:flex;gap:12px;align-items:center}
.eden-languages a{display:grid;place-items:center;font-size:27px;line-height:1;width:36px;height:36px;border:2px solid #e5e9f0;border-radius:50%;overflow:hidden;transition:transform .2s ease}
.eden-languages a:hover{transform:scale(1.12)}
.eden-menu-toggle{display:none;border:1px solid #dce4ef;border-radius:8px;background:white;padding:9px 12px;color:#064596;font-weight:600}
.eden-site-header.is-scrolled{box-shadow:0 4px 20px #12314d18}
.eden-site-header.is-scrolled .eden-nav-inner{padding:6px 0}
.eden-site-header.is-scrolled .eden-brand{flex-basis:180px}
.eden-site-footer{background:#102d46;color:#c9d5e1;margin-top:0;padding:54px 0 0;font-size:15px;line-height:1.7}
.eden-footer-inner{width:min(1700px,90%);margin:auto;display:grid;grid-template-columns:1fr 2fr;gap:36px 56px}
.eden-footer-intro img{width:min(340px,100%);height:auto;display:block;margin:12px 0 32px}
.eden-footer-intro p{margin:0 0 32px}
.eden-footer-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.eden-footer-card{background:#1c3a53;border:1px solid #ffffff06;border-radius:16px;padding:28px;min-width:0}
.eden-site-footer h2{font:700 18px/1.4 "Trebuchet MS",Arial,sans-serif;color:#40b2df;margin:0 0 22px}
.eden-footer-card p{margin:0 0 16px}.eden-footer-card p:last-child{margin-bottom:0}
.eden-footer-card a{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;overflow-wrap:anywhere;color:inherit}
.eden-footer-card a:hover{color:white}.eden-footer-card i{color:#4bb5dd;flex-shrink:0;font-size:22px}
.eden-footer-card .bxl-whatsapp{color:#22d66a}.eden-footer-card small{display:block;color:#8ca0b3;padding-left:34px;font-size:12px}
.eden-footer-card .eden-closed{color:#ff6565}
.eden-socials{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.eden-socials a{display:grid;place-items:center;color:white;width:44px;height:44px;border-radius:50%;font-size:28px;transition:transform .2s ease}
.eden-socials a:hover{transform:translateY(-3px);color:white}
.eden-socials .whatsapp{background:#22ce63}.eden-socials .facebook{background:#1877f2}.eden-socials .instagram{background:#e83d68}.eden-socials .tiktok{background:#000}.eden-socials .youtube{background:red}
.eden-crm-link{display:inline-flex;align-items:center;gap:22px;border:1px solid #ffffff30;background:#ffffff08;padding:14px 26px;border-radius:40px;color:white;font-weight:600}
.eden-crm-link:hover{background:#ffffff15;color:white}
.eden-copyright{grid-column:1/-1;border-top:1px solid #ffffff10;color:#8ca0b3;text-align:center;padding:28px 0;margin-top:12px}
.eden-floating-whatsapp{position:fixed;right:26px;bottom:28px;z-index:35;width:58px;height:58px;display:grid;place-items:center;background:#24cf67;border-radius:50%;color:white!important;font-size:38px;box-shadow:0 5px 20px #122f4933}
.eden-back-top{position:fixed;right:16px;bottom:94px;border:0;border-radius:4px;background:#0b2133;color:white;font-size:26px;padding:2px 12px;z-index:34}
.eden-back-top[hidden]{display:none}
.itinerary-page .booking-bar{position:relative;top:auto;z-index:1}
@media(max-width:1250px){.eden-nav-inner{gap:12px}.eden-brand{flex-basis:180px}.eden-nav-link{padding:10px;font-size:14px}.eden-navigation{gap:2px}.eden-languages{gap:6px}}
@media(max-width:1000px){.eden-nav-inner{position:relative;flex-wrap:wrap;gap:12px;padding:12px 0}.eden-brand,.eden-site-header.is-scrolled .eden-brand{flex-basis:155px}.eden-menu-toggle{display:block;margin-left:auto}.eden-languages{order:2}.eden-navigation{display:none;order:3;flex-basis:100%;flex-direction:column;align-items:stretch;padding:12px 0;max-height:60vh;overflow-y:auto}.eden-site-header.menu-open .eden-navigation{display:flex;animation:eden-menu-in .2s ease}.eden-footer-inner{grid-template-columns:1fr;gap:30px}.eden-footer-intro{max-width:680px}.eden-footer-intro img{width:280px}.eden-languages a{width:30px;height:30px;font-size:23px}}
@media(max-width:600px){.eden-nav-inner{width:92%;gap:10px}.eden-brand,.eden-site-header.is-scrolled .eden-brand{flex-basis:130px}.eden-languages{gap:5px}.eden-languages a{width:26px;height:26px;font-size:20px}.eden-menu-toggle{padding:8px;font-size:13px}.eden-footer-cards{grid-template-columns:1fr;gap:18px}.eden-footer-card{padding:22px}.eden-site-footer{padding-top:30px}.eden-footer-inner{width:90%}.eden-floating-whatsapp{width:50px;height:50px;right:16px;bottom:18px;font-size:32px}.eden-back-top{bottom:80px}.eden-copyright{padding:24px 25px}.eden-footer-intro img{width:250px}}
@keyframes eden-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.eden-site-header,.eden-nav-inner,.eden-brand img,.eden-nav-link,.eden-languages a,.eden-socials a{transition:none}.eden-site-header.menu-open .eden-navigation{animation:none}}

/* Website typography and sentence-case interface. Keep names and acronyms intact. */
body{font-family:"Trebuchet MS",Arial,sans-serif;font-size:14px}
.button,.arrow,button,input,select{font-family:"Trebuchet MS",Arial,sans-serif;font-size:14px}
.collection .section-heading h1{font-family:"Trebuchet MS",Arial,sans-serif;font-size:60px;font-weight:600;line-height:1.1;overflow-wrap:anywhere}
.collection .section-heading{margin-bottom:30px}
.collection .card h3{font-family:"Playfair Display",Georgia,serif;font-size:20px;line-height:1.4}
.collection .card-bottom .starting-price{font-size:14px;line-height:1.7;color:#143d66}
.collection .card-bottom .starting-price strong{display:inline;font-size:18px;font-weight:700}
.collection .card-meta{font-size:14px}
.collection .places,.price-note,.price-scale,.card-bottom small{font-size:10px}
.itinerary-page .document-header h1{font-family:"Trebuchet MS",Arial,sans-serif;font-size:34px;line-height:1.25}
.itinerary-page .document-section h2{font-size:34px;line-height:1.25}
.eden-site-footer{font-size:14px}
.eden-site-footer h2{font-size:18px;text-transform:none}
.eden-footer-card small{font-size:10px}
.eden-site-header .eden-nav-link,.eden-site-footer .eden-crm-link{font-size:14px}
.public-tour-brief{margin-top:24px}
.public-tour-brief-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;color:#566a7f;padding:0 0 18px;cursor:default}
.public-tour-brief-heading::-webkit-details-marker{display:none}
.public-tour-brief-heading .tour-remaining-chevron{display:none}
.public-tour-brief .public-tour-brief-content{min-width:0}
@media(min-width:768px){
 .public-tour-brief:not([open])>.public-tour-brief-content{display:block!important}
 .public-tour-brief::details-content{content-visibility:visible!important}
}
@media(max-width:767px){
 .collection .section-heading h1{font-size:50px}
 .collection .card h3{font-size:18px}
 .collection .places,.price-note,.price-scale,.card-bottom small,.eden-footer-card small{font-size:9px}
 .itinerary-page .document-header h1,.itinerary-page .document-section h2{font-size:28px}
 .public-tour-brief{border:1px solid #e1e5ee;border-radius:12px;background:white;box-shadow:0 4px 16px #23364d0b;overflow:hidden}
 .public-tour-brief-heading{padding:16px;cursor:pointer;background:#f8f9fc}
 .public-tour-brief-heading .tour-remaining-chevron{display:block}
 .public-tour-brief[open] .tour-remaining-chevron{transform:rotate(225deg)}
 .public-tour-brief:not([open])>.public-tour-brief-content{display:none}
 .public-tour-brief-content{padding:14px}
 .public-tour-brief .tour-stay-group:last-child{margin-bottom:0}
}
@media print{.public-tour-brief>.public-tour-brief-content{display:block!important}.public-tour-brief::details-content{content-visibility:visible!important}.public-tour-brief-heading .tour-remaining-chevron{display:none}}

.itinerary-page .quotation-section-title{font-family:"Trebuchet MS",Arial,sans-serif;font-size:34px!important;line-height:1.25}
.itinerary-page .trip-detail span{font-size:10px}
.itinerary-page .trip-detail strong{font-size:14px}
@media(max-width:767px){.itinerary-page .quotation-section-title{font-size:28px!important}.itinerary-page .trip-detail span{font-size:9px}}

.itinerary-page.invoice-preview .quotation-summary-content .quotation-section-title{font-family:"Trebuchet MS",Arial,sans-serif;font-size:34px!important;line-height:1.25}
@media(max-width:767px){.itinerary-page.invoice-preview .quotation-summary-content .quotation-section-title{font-size:28px!important}}

.filters.automatic-filters{grid-template-columns:1.4fr 1.3fr 1fr .8fr}
@media(max-width:1050px){.filters.automatic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.filters.automatic-filters{grid-template-columns:1fr}}

/* Use the quotation's compact facts layout while retaining the website fonts. */
.itinerary-page .trip-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:0;background:#d9e1e9;border:1px solid #d9e1e9;border-radius:8px;box-shadow:none;overflow:hidden;align-items:stretch}
.itinerary-page .trip-detail{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:12px 14px;border:0;background:#f7f7f7}
.itinerary-page .trip-detail span{display:inline;margin:0}
.itinerary-page .trip-detail strong{display:inline}
.itinerary-page .public-tour-brief{border:1px solid #d9dee5;border-radius:8px;overflow:hidden;background:white}
.itinerary-page .public-tour-brief-heading{padding:18px 20px;background:#f8f8f8;border-bottom:1px solid #d9dee5}
.itinerary-page .public-tour-brief-content{padding:18px}
.itinerary-page .tour-compact-table{font-family:"Trebuchet MS",Arial,sans-serif}
@media(max-width:767px){
.itinerary-page .trip-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.itinerary-page .public-tour-brief-content{padding:10px}
.itinerary-page .tour-compact-table,.itinerary-page .tour-compact-table tbody,.itinerary-page .tour-compact-table tr,.itinerary-page .tour-compact-table td{display:block;width:100%}
.itinerary-page .tour-compact-table colgroup{display:none}
.itinerary-page .tour-compact-table .tour-compact-hotel{border-left:0;border-bottom:1px solid #dbe4ed}
.itinerary-page .tour-compact-table .tour-compact-day{border-bottom:1px solid #dbe4ed}
}
@media(max-width:479px){.itinerary-page .trip-summary{grid-template-columns:minmax(0,1fr)}}

/* Keep section headings separate from their card contents. */
.itinerary-page #accordionIncExc .accordion-header{border-bottom:1px solid #e1e5ee;margin-bottom:0}
.itinerary-page #accordionIncExc .accordion-header .accordion-button{border-bottom:0;box-shadow:none}
.itinerary-page #accordionIncExc .quotation-important-notes{border-top:0}
.itinerary-page .trip-itinerary-name{grid-column:1 / -1;margin:0;padding:18px 14px;background:#f7f7f7;font-family:"Trebuchet MS",Arial,sans-serif;font-size:34px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
@media(max-width:767px){.itinerary-page .trip-itinerary-name{font-size:28px}}

/* Inline SVGs keep footer and floating icons independent of font loading. */
.eden-svg-icon{display:inline-block;flex-shrink:0;vertical-align:middle;width:24px;height:24px}
.eden-socials .eden-svg-icon{width:26px;height:26px;color:white}
.eden-footer-card a>.eden-svg-icon{width:22px;height:22px;color:#43b5dc}
.eden-footer-card a>.eden-icon-whatsapp{color:#22d66a}
.eden-floating-whatsapp .eden-svg-icon{width:36px;height:36px;color:white}
