/* Left-hand booking panel and tourism resource footer. */
.booking-widget{--booking-top:128px;position:fixed;top:var(--booking-top);left:20px;z-index:19;font-family:Arial,Helvetica,sans-serif;width:370px;max-width:calc(100vw - 40px);pointer-events:none}
.booking-widget button,.booking-panel{pointer-events:auto}
.booking-launch{display:inline-flex;align-items:center;gap:10px;border:1px solid #31593f;border-radius:6px;background:#204d36;color:#fff;font-size:13px;font-weight:700;padding:13px 18px;box-shadow:0 6px 20px #173b3226;min-height:46px}
.booking-launch:hover{background:#163d29}.booking-launch span{font-size:18px;line-height:1}
.booking-panel{margin-top:10px;background:#fff;border:1px solid #dce4dc;border-top:3px solid #d69a21;border-radius:8px;box-shadow:0 18px 65px #0c332930;max-height:calc(100dvh - var(--booking-top) - 80px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.booking-panel[hidden]{display:none}
.booking-head{position:relative;display:flex;gap:12px;align-items:start;padding:20px 46px 17px 20px;background:#f4f7f1;border-bottom:1px solid #e3e9df}
.booking-head span{font-size:9px;letter-spacing:1.4px;font-weight:700;color:#89611d}
.booking-head h2{font-size:22px;line-height:1.2;letter-spacing:-.5px;margin:8px 0;color:#214a35}
.booking-head p{font-size:12px;line-height:1.5;color:#677263;margin:0}
.booking-close{position:absolute;right:8px;top:8px;width:36px;height:36px;font-size:25px;border:0;background:transparent;color:#31543f;border-radius:50%}
.booking-close:hover{background:#e5ecdf}
.booking-fields{padding:18px 20px 12px}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.booking-grid label{font-size:11px;line-height:1.4;color:#344b3b;margin:0;font-weight:600;min-width:0}.booking-wide{grid-column:1/-1}
.booking-grid input,.booking-grid textarea{font-size:13px;padding:9px 10px;min-height:40px;border-color:#dbe2d7;border-radius:4px;margin-top:5px;background:#fff;min-width:0;width:100%}
.booking-grid textarea{line-height:1.5;min-height:70px}
.booking-fields .check{margin:15px 0 0;font-size:10px;line-height:1.6;color:#657061}
.booking-fields .enquiry-actions{gap:8px;margin-top:15px;display:grid;grid-template-columns:1fr 1fr}
.booking-fields .btn{padding:11px 8px;font-size:12px;border-radius:4px;background:#aa731d;box-shadow:none}
.booking-fields .enquiry-whatsapp{background:#24583c}.booking-fields .booking-note{font-size:10px;text-align:center;margin:12px 0 0;color:#75806f}
.booking-fields .notice{font-size:12px;line-height:1.6;margin:12px 0 0;padding:12px}
.africa-footer .tourism-resources{padding:60px 0 40px;background:radial-gradient(ellipse at 10% 5%,#fbf2e2,transparent 50%),radial-gradient(ellipse at 90% 30%,#eff7f5,transparent 55%),#fdfefd;text-align:center;border-bottom:1px solid #e6eae2}
.africa-footer .tourism-kicker{display:inline-block;font-size:10px;letter-spacing:1.5px;font-weight:700;color:#86611e;border:1px solid #ead9b8;border-radius:25px;padding:7px 15px;background:#fffbf5}
.africa-footer .tourism-resources h2{font-size:clamp(25px,2.8vw,38px);line-height:1.2;color:#24472e;margin:20px auto;max-width:950px;letter-spacing:-1px}
.africa-footer .tourism-resources p{max-width:830px;margin:0 auto 30px;font-size:14px;line-height:1.9;color:#6a7568}
.tourism-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tourism-card{display:flex;align-items:center;justify-content:center;padding:24px;min-height:128px;border:1px solid #e3e8df;border-radius:18px;background:#fff;box-shadow:0 12px 30px #274b2c08}
.tourism-card img{width:180px;height:80px;object-fit:contain;max-width:100%}
.africa-footer .tourism-resources .tourism-caption{font-size:10px;letter-spacing:.5px;margin:18px 0 0;max-width:none;color:#7b8477}
@media(max-width:1100px){.booking-widget{left:14px;max-width:calc(100vw - 28px)}.booking-launch{font-size:12px;padding:11px 14px}}
@media(max-width:600px){.booking-widget{left:12px;max-width:calc(100vw - 24px);width:360px}.booking-panel{max-height:calc(100dvh - var(--booking-top) - 65px)}.booking-fields{padding:16px}.booking-grid input,.booking-grid textarea{font-size:16px}.booking-launch{min-height:42px}.tourism-cards{grid-template-columns:1fr 1fr;gap:12px}.tourism-card{padding:15px;min-height:105px;border-radius:12px}.tourism-card img{height:65px}.africa-footer .tourism-resources{padding:38px 0 28px}.africa-footer .tourism-resources p{font-size:13px}.africa-footer .tourism-resources h2{font-size:28px}.africa-footer .tourism-kicker{font-size:9px;letter-spacing:1px}}

/* Booking enquiry aligned to the upper right on every screen. */
.booking-widget{left:auto;right:20px;text-align:right}
.booking-panel{text-align:left}
@media(max-width:1100px){.booking-widget{left:auto;right:14px}}
@media(max-width:600px){.booking-widget{left:auto;right:12px}}

/* Tour content fills the former sidebar space. */
.detail-layout.tour-content-only{display:block;max-width:1000px}
.tour-content-only>article{width:100%;min-width:0}
.trip-summary{margin:0 0 32px;padding:22px 0;border-top:1px solid #e4e8df;border-bottom:1px solid #e4e8df}
.trip-summary h2{font-size:21px;margin:0 0 18px;color:#254c3b}
.trip-summary-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px}
.trip-summary-facts p{margin:0;font-size:13px;line-height:1.6}
.trip-summary-facts b{display:block;color:#284c37;font-size:11px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.6px}
.trip-summary-facts span{display:block;color:#687264}
@media(max-width:640px){.trip-summary-facts{grid-template-columns:1fr 1fr;gap:16px}.trip-summary{padding:18px 0;margin-bottom:25px}}
@media(max-width:380px){.trip-summary-facts{grid-template-columns:1fr}}
