/* Taita Rocks Experiences — forest green, ivory and champagne gold */
.trb-exp-wrap{--exp-green:#153b2e;--exp-green2:#244b3a;--exp-ivory:#f7f4ed;--exp-paper:#fffdf8;--exp-gold:#c7a66a;--exp-muted:#70786f;max-width:1240px;margin:0 auto;padding:clamp(16px,3vw,36px);color:#34483c;font-family:inherit}
.trb-exp-intro{position:relative;padding:clamp(30px,6vw,76px);background:linear-gradient(120deg,rgba(12,43,32,.96),rgba(28,65,49,.88)),radial-gradient(circle at 78% 22%,rgba(199,166,106,.36),transparent 34%);color:#fff;margin-bottom:34px;overflow:hidden}
.trb-exp-intro:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(218,194,145,.28);border-radius:50%;right:-115px;top:-165px;box-shadow:0 0 0 30px rgba(218,194,145,.05),0 0 0 70px rgba(218,194,145,.04)}
.trb-exp-kicker{margin:0 0 12px;color:#a88b55;font:800 10px/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.trb-exp-intro .trb-exp-kicker,.trb-exp-detail-copy .trb-exp-kicker{color:#d8c18f}
.trb-exp-intro h1{position:relative;z-index:1;max-width:720px;margin:0 0 16px;color:#fff;font:500 clamp(38px,6vw,72px)/.98 Georgia,serif;letter-spacing:-.04em}
.trb-exp-intro>p:not(.trb-exp-kicker){position:relative;z-index:1;max-width:680px;color:#e7e8dd;font-size:16px;line-height:1.75}
.trb-exp-intro-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:25px;position:relative;z-index:1}.trb-exp-intro-actions>span{font:600 11px Arial,sans-serif;letter-spacing:.08em;color:#e4d9bf}
.trb-exp-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:14px 20px;border:0;border-radius:0;background:var(--exp-gold);color:#183729!important;text-decoration:none!important;font:800 10px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}
.trb-exp-button:hover{background:#d8bc83;color:#102d23!important;transform:translateY(-1px)}
.trb-exp-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}.trb-exp-filters button{padding:10px 14px;border:1px solid #e5dfd2;background:#fffdf8;color:#58665b;font:700 10px Arial,sans-serif;letter-spacing:.04em;cursor:pointer}.trb-exp-filters button.is-active,.trb-exp-filters button:hover{background:var(--exp-green);border-color:var(--exp-green);color:#fff}
.trb-exp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.trb-exp-card{background:var(--exp-paper);border:1px solid #e9e3d8;box-shadow:0 10px 28px rgba(28,49,38,.05);min-width:0;transition:transform .25s,box-shadow .25s}.trb-exp-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(28,49,38,.12)}
.trb-exp-card-image{position:relative;display:block;aspect-ratio:1.52;background:#e4e7de;overflow:hidden}.trb-exp-card-image img,.trb-exp-detail-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}.trb-exp-card:hover .trb-exp-card-image img{transform:scale(1.035)}
.trb-exp-image-fallback{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(circle at 70% 22%,rgba(207,181,126,.34),transparent 33%),linear-gradient(135deg,#183c2e,#47644b 60%,#a38f68);color:#ead8ad}.trb-exp-image-fallback span{font:400 76px Georgia,serif;opacity:.85}.trb-exp-image-fallback small{font:800 9px Arial,sans-serif;letter-spacing:.24em;color:#f1e8d5}
.trb-exp-duration{position:absolute;left:14px;bottom:14px;background:rgba(17,48,36,.92);color:#f2e4c4;padding:9px 12px;font:800 9px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.trb-exp-card-body{padding:22px}.trb-exp-card-category{margin:0 0 10px;color:#9b8050;font:800 9px Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}.trb-exp-card h2{margin:0 0 10px;color:var(--exp-green);font:500 28px/1.08 Georgia,serif;letter-spacing:-.025em}.trb-exp-card h2 a{color:inherit;text-decoration:none}.trb-exp-card-body>p:not(.trb-exp-card-category){margin:0;color:#6f796f;font-size:14px;line-height:1.7;min-height:70px}.trb-exp-card-meta{display:flex;flex-direction:column;gap:7px;margin:17px 0 14px;padding-top:14px;border-top:1px solid #e9e3d8;color:#778075;font-size:11px;line-height:1.5}.trb-exp-card-meta strong{color:#244b39;font:500 16px Georgia,serif}.trb-exp-text-link{color:#183d2e!important;text-decoration:none!important;font:800 10px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.trb-exp-text-link span{color:#a3834b;font-size:17px;margin-left:7px}
.trb-exp-bottom-note{display:flex;gap:18px;align-items:center;margin:30px 0 0;padding:22px 25px;background:#f1eee5;border-left:3px solid var(--exp-gold);color:#69746a;font-size:13px;line-height:1.6}.trb-exp-bottom-note strong{white-space:nowrap;color:#1c4031;font:500 20px Georgia,serif}
.trb-exp-back{display:inline-block;margin:0 0 20px;color:#305443!important;text-decoration:none!important;font:800 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.trb-exp-detail-hero{display:grid;grid-template-columns:1.08fr .92fr;background:var(--exp-green);color:#fff;margin-bottom:52px}.trb-exp-detail-image{min-height:460px;overflow:hidden}.trb-exp-detail-image .trb-exp-image-fallback{min-height:460px}.trb-exp-detail-copy{padding:clamp(25px,4vw,56px);align-self:center}.trb-exp-detail-copy h1{margin:0 0 16px;color:#fff;font:500 clamp(38px,5vw,62px)/.98 Georgia,serif;letter-spacing:-.04em}.trb-exp-lead{color:#e8e8df;font-size:16px;line-height:1.75}.trb-exp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0;padding:18px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.trb-exp-facts span{display:flex;flex-direction:column;gap:7px;min-width:0}.trb-exp-facts small{color:#c8b88f;font:800 8px Arial,sans-serif;letter-spacing:.16em}.trb-exp-facts strong{color:#fff;font:500 14px/1.4 Georgia,serif}.trb-exp-price-note{display:flex;flex-direction:column;gap:5px;margin-bottom:20px;color:#e5cd98;font:500 22px Georgia,serif}.trb-exp-price-note small{color:#d4ded4;font:12px/1.5 Arial,sans-serif}
.trb-exp-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:46px;align-items:start}.trb-exp-main-content{min-width:0}.trb-exp-section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid #e6e0d4}.trb-exp-section h2,.trb-exp-request h2{margin:0 0 15px;color:var(--exp-green);font:500 clamp(28px,3.4vw,40px)/1.08 Georgia,serif;letter-spacing:-.025em}.trb-exp-section>p:not(.trb-exp-kicker){color:#667368;font-size:15px;line-height:1.8}.trb-exp-highlights,.trb-exp-inclusions ul{padding:0;margin:0;list-style:none}.trb-exp-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.trb-exp-highlights li,.trb-exp-inclusions li{position:relative;padding-left:20px;color:#596b5d;font-size:14px;line-height:1.6}.trb-exp-highlights li:before,.trb-exp-inclusions li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--exp-gold);border-radius:50%}
.trb-exp-timeline{display:flex;flex-direction:column;gap:0}.trb-exp-day{display:grid;grid-template-columns:105px minmax(0,1fr);gap:22px;padding:20px 0;border-top:1px solid #e9e3d8}.trb-exp-day-index{padding-top:3px;color:#a28550;font:800 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.trb-exp-day h3{margin:0 0 8px;color:var(--exp-green);font:500 23px Georgia,serif}.trb-exp-day p{margin:0;color:#6a756b;font-size:14px;line-height:1.75}
.trb-exp-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:28px}.trb-exp-inclusions ul{display:flex;flex-direction:column;gap:9px}.trb-exp-important{padding:22px 25px;background:#f1eee5;border-left:3px solid var(--exp-gold);margin:0 0 38px}.trb-exp-important strong{display:block;margin-bottom:7px;color:var(--exp-green);font:500 20px Georgia,serif}.trb-exp-important p{margin:0;color:#657066;font-size:13px;line-height:1.7}
.trb-exp-side-note{position:sticky;top:35px;padding:25px;background:#f3f0e8;border-top:3px solid var(--exp-gold)}.trb-exp-side-note h3{margin:0 0 9px;color:var(--exp-green);font:500 27px/1.1 Georgia,serif}.trb-exp-side-note p:not(.trb-exp-kicker){color:#6b766c;font-size:13px;line-height:1.7}.trb-exp-side-note>a{display:block;padding:12px 0;border-top:1px solid #dfd9cb;color:#244b39!important;text-decoration:none!important;font:800 9px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.trb-exp-request{padding:clamp(20px,3vw,34px);background:#f5f2ea;border:1px solid #e4ddcf}.trb-exp-request>p:not(.trb-exp-kicker){color:#68746a;font-size:14px;line-height:1.7}.trb-exp-form{margin-top:22px}.trb-exp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trb-exp-form label{display:flex;flex-direction:column;gap:7px;color:#526255;font:700 10px Arial,sans-serif;letter-spacing:.05em}.trb-exp-form input,.trb-exp-form select,.trb-exp-form textarea{width:100%;box-sizing:border-box;min-height:48px;padding:12px 13px;border:1px solid #ddd6c8;border-radius:0;background:#fffdf8;color:#284536;font:14px Arial,sans-serif;letter-spacing:normal}.trb-exp-form textarea{min-height:105px;resize:vertical}.trb-exp-form input:focus,.trb-exp-form select:focus,.trb-exp-form textarea:focus{outline:2px solid rgba(199,166,106,.35);border-color:#b79a62}.trb-exp-reservation-code,.trb-exp-message-label{display:block;margin-top:14px}.trb-exp-reservation-code>span{font-weight:400;color:#8b8e83}.trb-exp-reservation-code small{color:#7e887d;font:11px/1.5 Arial,sans-serif;letter-spacing:normal}.trb-exp-form .trb-exp-button{margin-top:18px}.trb-exp-form-status{margin:14px 0 0;color:#24563b;font-size:13px;line-height:1.6}.trb-exp-form-status.is-error{color:#9a392e}.trb-exp-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.trb-exp-notice{padding:18px;background:#f3f0e8;color:#314d3c}
.trb-room-exp-crosslink{max-width:1080px;margin:34px auto;padding:24px 28px;background:#153b2e;color:#fff;border-left:4px solid #c7a66a}.trb-room-exp-crosslink span{display:block;margin-bottom:7px;color:#d8c18f;font:800 9px Arial,sans-serif;letter-spacing:.18em}.trb-room-exp-crosslink strong{display:block;color:#fff;font:500 27px Georgia,serif}.trb-room-exp-crosslink p{color:#e2e6dd;font-size:13px}.trb-room-exp-crosslink a{color:#e4c98d!important;text-decoration:none!important;font:800 10px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:960px){.trb-exp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trb-exp-detail-layout{grid-template-columns:minmax(0,1fr) 235px;gap:26px}.trb-exp-detail-image{min-height:390px}.trb-exp-detail-image .trb-exp-image-fallback{min-height:390px}}
@media(max-width:680px){.trb-exp-wrap{padding:0 15px 34px}.trb-exp-intro{margin:0 -15px 25px;padding:36px 22px}.trb-exp-intro h1{font-size:43px}.trb-exp-intro>p:not(.trb-exp-kicker){font-size:14px}.trb-exp-grid{grid-template-columns:1fr;gap:17px}.trb-exp-card-image{aspect-ratio:1.55}.trb-exp-card-body{padding:19px}.trb-exp-card h2{font-size:26px}.trb-exp-card-body>p:not(.trb-exp-card-category){min-height:0}.trb-exp-bottom-note{align-items:flex-start;flex-direction:column;gap:7px;padding:19px}.trb-exp-detail-hero{grid-template-columns:1fr;margin:0 -15px 32px}.trb-exp-detail-image,.trb-exp-detail-image .trb-exp-image-fallback{min-height:250px;height:250px}.trb-exp-detail-copy{padding:25px 20px 28px}.trb-exp-detail-copy h1{font-size:42px}.trb-exp-lead{font-size:14px}.trb-exp-facts{gap:8px}.trb-exp-facts strong{font-size:12px}.trb-exp-detail-layout{display:flex;flex-direction:column;gap:28px}.trb-exp-side-note{position:static;order:-1;width:100%;box-sizing:border-box}.trb-exp-highlights,.trb-exp-inclusions{grid-template-columns:1fr}.trb-exp-day{grid-template-columns:76px minmax(0,1fr);gap:13px;padding:16px 0}.trb-exp-day h3{font-size:20px}.trb-exp-day p{font-size:13px}.trb-exp-form-grid{grid-template-columns:1fr;gap:12px}.trb-exp-request{margin:0 -2px;padding:20px 14px}.trb-exp-back{margin-bottom:14px}.trb-room-exp-crosslink{margin:26px 15px;padding:20px}}
.trb-exp-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;margin-top:16px;color:#6b756b!important;font:12px/1.6 Arial,sans-serif!important;letter-spacing:normal!important}.trb-exp-consent input{width:17px!important;min-width:17px;min-height:17px!important;height:17px;margin:0;accent-color:#244b39}

/* v4.4 interactive itinerary */
.trb-exp-journey-overview{display:grid;grid-template-columns:1.2fr .8fr;gap:25px;align-items:center;padding:22px 26px;margin:0 0 42px;background:#f1eee5;border:1px solid #e5dfd2;border-top:3px solid #c7a66a}.trb-exp-overview-kicker{display:block;color:#9b8050;font:800 9px Arial,sans-serif;letter-spacing:.18em;margin-bottom:8px}.trb-exp-journey-overview strong{display:block;color:#153b2e;font:500 25px Georgia,serif}.trb-exp-journey-overview p{margin:7px 0 0;color:#68746a;font-size:13px;line-height:1.65}.trb-exp-overview-pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.trb-exp-overview-pills span{padding:9px 11px;border:1px solid #ddd6c8;background:#fffdf8;color:#536257;font:700 9px Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.trb-exp-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.trb-exp-section-intro{margin:0!important}.trb-exp-tools{display:flex;gap:8px;flex:0 0 auto}.trb-exp-tool{border:1px solid #dcd5c8;background:#fffdf8;color:#294b3a;padding:10px 12px;font:800 9px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.trb-exp-tool:hover{background:#153b2e;color:#fff}.trb-exp-day-group{margin-bottom:30px}.trb-exp-day-heading{display:flex;align-items:center;gap:14px;margin-bottom:4px}.trb-exp-day-heading .trb-exp-day-index{font-size:11px;color:#153b2e}.trb-exp-day-line{height:1px;background:#e5dfd2;flex:1}.trb-exp-stops{position:relative;margin-left:4px}.trb-exp-stops:before{content:"";position:absolute;left:93px;top:8px;bottom:8px;width:1px;background:#dcd6ca}.trb-exp-stop{display:grid;grid-template-columns:75px 38px minmax(0,1fr);gap:0;align-items:start;position:relative;padding:10px 0 18px}.trb-exp-stop-time{text-align:right;padding-right:15px}.trb-exp-stop-time strong{display:block;color:#153b2e;font:700 12px Arial,sans-serif}.trb-exp-stop-time small{display:block;margin-top:4px;color:#8a9087;font:10px Arial,sans-serif}.trb-exp-stop-marker{position:relative;z-index:2;margin:4px auto 0;width:11px;height:11px;border:3px solid #fff;background:#c7a66a;border-radius:50%;box-shadow:0 0 0 1px #c7a66a}.trb-exp-stop-card{background:#fffdf8;border:1px solid #e7e0d4;padding:17px 19px;box-shadow:0 8px 22px rgba(28,49,38,.04)}.trb-exp-stop-top{color:#9b8050;font:800 8px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.trb-exp-stop-card h3{margin:7px 0 7px;color:#153b2e;font:500 22px Georgia,serif}.trb-exp-stop-card p{margin:0;color:#69756b;font-size:13px;line-height:1.72}.trb-exp-stop-note{margin-top:12px;padding:9px 11px;background:#f3f0e8;border-left:2px solid #c7a66a;color:#6c756b;font-size:11px;line-height:1.6}.trb-exp-itinerary-section{padding-bottom:40px}
/* Admin itinerary builder */
.trb-itinerary-builder{max-width:980px;border:1px solid #dfe3df;background:#f7f8f6;padding:18px}.trb-itinerary-builder-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:4px 0 16px}.trb-itinerary-builder-head strong{font-size:15px;color:#173e30}.trb-itinerary-builder-head p{margin:4px 0 0;color:#69756c;font-size:12px}.trb-it-day{background:#fff;border:1px solid #dfe3df;margin:0 0 16px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.trb-it-day>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#eef2ee;border-bottom:1px solid #dfe3df}.trb-it-day>header span{display:block;color:#9b8050;font:800 8px Arial,sans-serif;letter-spacing:.16em}.trb-it-day-title{margin-top:4px;border:0!important;box-shadow:none!important;font-weight:700!important;font-size:15px!important;background:transparent!important;padding:3px 0!important;width:300px}.trb-it-day-actions{display:flex;gap:5px;align-items:center}.trb-it-stops{padding:12px}.trb-it-stop{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;padding:13px;border:1px solid #e1e4e0;background:#fff;margin-bottom:10px}.trb-it-stop-grip{width:26px;height:26px;border-radius:50%;background:#173e30;color:#fff;display:flex;align-items:center;justify-content:center;font:800 10px Arial}.trb-it-stop-fields label{display:flex;flex-direction:column;gap:4px;color:#667269;font:700 9px Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.trb-it-stop-fields input,.trb-it-stop-fields textarea,.trb-it-stop-fields select{width:100%;box-sizing:border-box;margin-top:0;padding:8px 9px;border:1px solid #d9ddd8;background:#fff;color:#213d31;font:13px Arial,sans-serif;text-transform:none;letter-spacing:normal}.trb-it-stop-row{display:grid;grid-template-columns:130px 130px 150px;gap:8px;margin-bottom:8px}.trb-it-stop-row .wide{grid-column:span 2}.trb-it-stop-actions{display:flex;flex-direction:column;gap:5px}.trb-it-stop-actions .button,.trb-it-day-actions .button{min-width:32px}.trb-it-day .button-link-delete,.trb-it-stop .button-link-delete{color:#a33b32}.trb-it-day>.trb-add-stop{margin:0 12px 13px}.trb-it-optional{font-weight:400;color:#999}.trb-legacy-itinerary{margin-top:12px}.trb-legacy-itinerary summary{color:#68736b;font-size:12px;cursor:pointer}
@media(max-width:680px){.trb-exp-journey-overview{grid-template-columns:1fr;padding:19px;margin-bottom:30px}.trb-exp-overview-pills{justify-content:flex-start}.trb-exp-section-heading{display:block}.trb-exp-tools{margin-top:13px}.trb-exp-tools .trb-exp-tool{flex:1}.trb-exp-stops:before{left:65px}.trb-exp-stop{grid-template-columns:52px 28px minmax(0,1fr)}.trb-exp-stop-time{padding-right:8px}.trb-exp-stop-time strong{font-size:10px}.trb-exp-stop-card{padding:14px}.trb-exp-stop-card h3{font-size:19px}.trb-itinerary-builder-head{align-items:flex-start;flex-direction:column}.trb-it-stop{grid-template-columns:28px minmax(0,1fr);}.trb-it-stop-actions{grid-column:2;flex-direction:row}.trb-it-stop-row{grid-template-columns:1fr 1fr}.trb-it-stop-row .wide{grid-column:1/-1}.trb-it-day-title{width:180px!important}}
@media print{body *{visibility:hidden!important}.trb-exp-itinerary-section,.trb-exp-itinerary-section *{visibility:visible!important}.trb-exp-itinerary-section{position:absolute;left:0;top:0;width:100%;padding:20px!important;margin:0!important}.trb-exp-tools{display:none!important}.trb-exp-stop-card{box-shadow:none!important;break-inside:avoid}.trb-exp-stop{break-inside:avoid}.trb-exp-stops:before{background:#999!important}}
