/* Functional fallbacks for 833 Core if used without the supplied theme. */
.ort-listing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.ort-entry img{max-width:100%;height:auto}
.ort-entry__meta{display:flex;gap:.5rem;flex-wrap:wrap}
.ort-form input,.ort-form select,.ort-form textarea{max-width:100%}
.ort-availability{margin-top:1.5rem}.ort-calendar-weekdays,.ort-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.ort-calendar-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1}.ort-calendar-day.is-available{font-weight:700;cursor:pointer}.ort-availability-list{list-style:none;padding-left:0}

/* v1.1.1 availability option selector */
.ort-availability [hidden]{display:none!important}
.ort-availability .ort-calendar-day{position:relative;min-height:3.25rem;line-height:1;border:1px solid rgba(255,255,255,.12);border-radius:.65rem;background:rgba(255,255,255,.03);color:inherit;padding:.35rem .2rem;text-align:center;flex-direction:column;gap:.2rem}
.ort-availability .ort-calendar-day.is-empty{opacity:0;pointer-events:none}
.ort-availability button.ort-calendar-day.is-available{cursor:pointer;background:rgba(190,0,0,.16);border-color:rgba(220,0,0,.65)}
.ort-availability button.ort-calendar-day.is-available:hover,.ort-availability button.ort-calendar-day.is-selected{background:rgba(220,0,0,.28);box-shadow:0 0 0 2px rgba(220,0,0,.25)}
.ort-calendar-day__number{font-weight:800;font-size:.95rem}
.ort-calendar-day__badge{display:block;font-size:.62rem;line-height:1.05;font-weight:800;text-transform:uppercase;letter-spacing:.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ort-availability button.has-multiple-options .ort-calendar-day__badge{background:#fff;color:#111;border-radius:999px;padding:.18rem .35rem;margin-top:.05rem}
.ort-availability-picker{margin-top:1rem;padding:1rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(0,0,0,.24)}
.ort-availability-picker__empty{display:grid;gap:.25rem;color:inherit;opacity:.8}
.ort-availability-options h4{margin:.1rem 0 .8rem}
.ort-availability-options__list{display:grid;gap:.65rem}
.ort-tour-option{width:100%;text-align:left;border:1px solid rgba(255,255,255,.15);border-radius:.9rem;background:rgba(255,255,255,.06);color:inherit;padding:.85rem;display:grid;gap:.25rem;cursor:pointer}
.ort-tour-option:hover,.ort-tour-option.is-selected{border-color:rgba(220,0,0,.85);background:rgba(220,0,0,.18)}
.ort-tour-option__format{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#e40012}
.ort-tour-option strong{font-size:1rem}
.ort-tour-option span:last-child{opacity:.82;font-size:.86rem}

/* v1.1.2 tour detail links inside availability cards */
.ort-availability .ort-tour-option-card{border:1px solid rgba(255,255,255,.15);border-radius:.9rem;background:rgba(255,255,255,.06);color:inherit;padding:.85rem;display:grid;gap:.75rem}
.ort-availability .ort-tour-option-card__main{display:grid;gap:.25rem}
.ort-availability .ort-tour-option-card__main strong{font-size:1rem}
.ort-availability .ort-tour-option-card__main span:last-child{opacity:.82;font-size:.86rem}
.ort-availability .ort-tour-option__actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}
.ort-availability .ort-tour-detail-link,.ort-availability .ort-tour-option{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.58rem .85rem;font-weight:800;font-size:.78rem;text-decoration:none;line-height:1.1}
.ort-availability .ort-tour-detail-link{border:1px solid rgba(255,255,255,.28);color:inherit;background:rgba(255,255,255,.08)}
.ort-availability .ort-tour-detail-link:hover{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.13)}
.ort-availability button.ort-tour-option{width:auto;text-align:center;border:1px solid rgba(220,0,0,.85);background:rgba(220,0,0,.18);color:inherit;cursor:pointer}
.ort-availability button.ort-tour-option:hover,.ort-availability button.ort-tour-option.is-selected{background:rgba(220,0,0,.32);box-shadow:0 0 0 2px rgba(220,0,0,.25)}
.ort-availability-list__link{display:inline-block;margin-top:.25rem;font-size:.82rem;font-weight:800;text-decoration:none}

/* v1.1.3 bookable tour products */
.ort-product-tours{max-width:1280px;margin:0 auto;padding:1.5rem 1rem 4rem}.ort-product-tours [hidden]{display:none!important}
.ort-tour-filters{display:grid;gap:.85rem;margin:0 0 1.5rem}.ort-tour-filter-group{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.ort-tour-filter-group>span{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-right:.25rem}.ort-tour-filter-group button{appearance:none;border:1px solid rgba(127,127,127,.35);background:transparent;color:inherit;border-radius:999px;padding:.52rem .8rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.ort-tour-filter-group button:hover,.ort-tour-filter-group button.is-active{border-color:#d31920;background:#d31920;color:#fff}
.ort-product-tours__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.ort-product-tour-card{overflow:hidden;border:1px solid rgba(127,127,127,.28);border-radius:1rem;background:rgba(127,127,127,.06);display:flex;flex-direction:column;min-width:0}.ort-product-tour-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:rgba(127,127,127,.1)}.ort-product-tour-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.ort-product-tour-card:hover .ort-product-tour-card__media img{transform:scale(1.025)}.ort-product-tour-card__body{display:flex;flex-direction:column;gap:.8rem;padding:1.15rem;height:100%}.ort-product-tour-card h3{font-size:1.35rem;line-height:1.05;margin:0}.ort-product-tour-card h3 a{color:inherit;text-decoration:none}.ort-product-tour-card__tagline{margin:0;opacity:.82}.ort-tour-badges{display:flex;gap:.42rem;flex-wrap:wrap}.ort-tour-badge{display:inline-flex;align-items:center;min-height:1.75rem;border-radius:999px;padding:.32rem .58rem;background:rgba(211,25,32,.12);border:1px solid rgba(211,25,32,.48);font-size:.68rem;line-height:1;font-weight:900;letter-spacing:.065em}.ort-product-tour-card__facts{display:grid;gap:.42rem;margin:0}.ort-product-tour-card__facts>div{display:grid;grid-template-columns:76px 1fr;gap:.55rem}.ort-product-tour-card__facts dt{font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;opacity:.62}.ort-product-tour-card__facts dd{margin:0;font-size:.9rem}.ort-product-tour-card__price{margin:.1rem 0 0}.ort-product-tour-card__price strong{font-size:1.22rem}.ort-product-tour-card__price span{opacity:.7}.ort-product-tour-card__dates{display:grid;gap:.15rem;padding-top:.65rem;border-top:1px solid rgba(127,127,127,.22);font-size:.82rem}.ort-product-tour-card__dates strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.ort-product-tour-card__dates span{opacity:.8}.ort-product-tour-card__cta{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.055em;font-size:.78rem}.ort-tour-filter-empty{text-align:center;padding:2rem 0;opacity:.72}

/* Single Tour template */
.ort-tour-template-main{width:100%}.ort-tour-page{max-width:1180px;margin:0 auto;padding:0 1rem 5rem}.ort-tour-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);min-height:520px;margin:0 0 2.5rem;border-radius:0 0 1.2rem 1.2rem;overflow:hidden;background:rgba(127,127,127,.08)}.ort-tour-hero__media{min-height:420px}.ort-tour-hero__media img{width:100%;height:100%;object-fit:cover;display:block}.ort-tour-hero__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;padding:2.2rem}.ort-tour-hero__content h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.95;margin:0}.ort-tour-hero__tagline{font-size:1.12rem;line-height:1.5;margin:0;opacity:.82}.ort-tour-section{padding:3rem 0;border-top:1px solid rgba(127,127,127,.25)}.ort-tour-section__heading{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1.55rem}.ort-tour-section__heading>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;opacity:.65}.ort-tour-section__heading h2{font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.05;margin:0}.ort-tour-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(127,127,127,.2);border:1px solid rgba(127,127,127,.2);border-radius:.8rem;overflow:hidden;margin:0}.ort-tour-fact-grid>div{padding:1rem;background:var(--wp--preset--color--base,inherit)}.ort-tour-fact-grid dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.075em;font-weight:900;opacity:.62}.ort-tour-fact-grid dd{margin:.35rem 0 0;font-weight:800}.ort-tour-prose{max-width:820px;margin-left:auto;font-size:1.04rem;line-height:1.7}.ort-tour-prose>*:first-child{margin-top:0}.ort-tour-itinerary{display:grid;gap:1rem}.ort-tour-itinerary__day{padding:1.35rem;border:1px solid rgba(127,127,127,.25);border-radius:.85rem;background:rgba(127,127,127,.05)}.ort-tour-itinerary__title{display:flex;gap:1rem;justify-content:space-between;align-items:baseline}.ort-tour-itinerary__title h3{margin:0;font-size:1.3rem}.ort-tour-itinerary__title strong{white-space:nowrap}.ort-tour-itinerary__day p{max-width:820px}.ort-tour-highlights{display:grid;gap:.35rem;padding-left:1.15rem}.ort-tour-difficulty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ort-tour-difficulty-grid>div{display:grid;gap:.45rem;padding:1rem;border:1px solid rgba(127,127,127,.24);border-radius:.75rem}.ort-tour-difficulty-grid>div>span:first-child{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;opacity:.65}.ort-tour-level{display:flex;gap:.22rem}.ort-tour-level span{opacity:.22}.ort-tour-level span.is-filled{opacity:1;color:#d31920}.ort-tour-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.ort-tour-two-col>div{padding:1.25rem;border:1px solid rgba(127,127,127,.24);border-radius:.8rem}.ort-tour-two-col h3{margin-top:0}.ort-tour-checklist{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.ort-tour-checklist li{position:relative;padding-left:1.55rem}.ort-tour-checklist li:before{content:'✓';position:absolute;left:0;font-weight:900;color:#d31920}.ort-tour-checklist.is-negative li:before{content:'×'}.ort-tour-small-facts{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.ort-tour-pricing-lines{display:grid;gap:.5rem;max-width:520px}.ort-tour-pricing-lines span{padding:.75rem 0;border-bottom:1px solid rgba(127,127,127,.2)}.ort-tour-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ort-tour-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:.65rem}.ort-tour-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.ort-tour-gallery a:hover img{transform:scale(1.025)}.ort-tour-date-list{display:grid;gap:.7rem}.ort-tour-date-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(127,127,127,.25);border-radius:.75rem}.ort-tour-date-card>div{display:grid;gap:.2rem}.ort-tour-date-card span{font-size:.84rem;opacity:.76}.ort-tour-date-card a,.ort-tour-final-cta__button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#d31920;color:#fff!important;padding:.7rem 1rem;text-decoration:none;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}.ort-tour-final-cta{margin-top:2rem;padding:3rem;border-radius:1rem;background:rgba(211,25,32,.12);border:1px solid rgba(211,25,32,.35);text-align:center}.ort-tour-final-cta h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:.55rem auto 1rem;max-width:850px}.ort-tour-final-cta p{max-width:700px;margin:0 auto 1.4rem}.ort-tour-final-cta__button{font-size:.85rem;padding:.85rem 1.2rem}

/* Availability linked-tour labels */
.ort-tour-option__labels{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.ort-tour-option__difficulty{font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;opacity:.78}

/* v1.1.4 purpose-built Experience Cards */
.ort-experiences{max-width:1280px;margin:0 auto;padding:2rem 1rem 4rem}.ort-experiences__header{max-width:760px;margin:0 0 1.6rem}.ort-experiences__header h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:0 0 .65rem}.ort-experiences__header p{font-size:1.05rem;line-height:1.55;margin:0;opacity:.78}.ort-experiences__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.ort-experience-card{position:relative;isolation:isolate;overflow:hidden;min-height:560px;border-radius:1rem;background:#171717;color:#fff;box-shadow:0 14px 38px rgba(0,0,0,.22)}.ort-experience-card__media,.ort-experience-card__shade{position:absolute;inset:0}.ort-experience-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.ort-experience-card:hover .ort-experience-card__media img{transform:scale(1.025)}.ort-experience-card__shade{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.15) 8%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.94) 100%)}.ort-experience-card__content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:560px;padding:clamp(1.25rem,3vw,2rem)}.ort-experience-card h3{max-width:680px;margin:0;color:#e31b23;font-size:clamp(2rem,4vw,3.4rem);line-height:.95;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.85)}.ort-experience-card__subtitle{max-width:600px;margin:.75rem 0 1.15rem;color:#fff;font-size:1.02rem;line-height:1.45;text-shadow:0 1px 8px rgba(0,0,0,.8)}.ort-experience-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:0 0 1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.28)}.ort-experience-card__facts div{min-width:0}.ort-experience-card__facts dt{font-size:.64rem;font-weight:900;letter-spacing:.085em;text-transform:uppercase;color:rgba(255,255,255,.68)}.ort-experience-card__facts dd{margin:.18rem 0 0;color:#fff;font-size:.9rem;font-weight:700}.ort-experience-card__price{margin:.1rem 0 1rem;color:#fff}.ort-experience-card__price strong{font-size:1.25rem}.ort-experience-card__price span{opacity:.75}.ort-experience-card__button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;border-radius:999px;background:#d31920;color:#fff!important;padding:.78rem 1rem;text-decoration:none;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em}.ort-experience-card__button:hover{background:#f02028;color:#fff}

@media(max-width:980px){.ort-product-tours__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ort-tour-hero{grid-template-columns:1fr;min-height:0}.ort-tour-hero__media{min-height:360px;aspect-ratio:16/9}.ort-tour-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ort-tour-section__heading{grid-template-columns:150px 1fr}.ort-tour-difficulty-grid{grid-template-columns:1fr 1fr}.ort-tour-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ort-product-tours{padding-left:.75rem;padding-right:.75rem}.ort-product-tours__grid{grid-template-columns:1fr}.ort-tour-page{padding-left:.75rem;padding-right:.75rem}.ort-tour-hero__content{padding:1.35rem}.ort-tour-hero__media{min-height:240px}.ort-tour-section{padding:2.25rem 0}.ort-tour-section__heading{grid-template-columns:1fr;gap:.4rem}.ort-tour-fact-grid,.ort-tour-difficulty-grid,.ort-tour-two-col{grid-template-columns:1fr}.ort-tour-gallery{grid-template-columns:1fr 1fr}.ort-tour-date-card{align-items:flex-start;flex-direction:column}.ort-tour-final-cta{padding:2rem 1.1rem}}
@media(max-width:760px){.ort-experiences{padding-left:.75rem;padding-right:.75rem}.ort-experiences__grid{grid-template-columns:1fr}.ort-experience-card,.ort-experience-card__content{min-height:500px}.ort-experience-card__facts{grid-template-columns:1fr 1fr}}

/* Booking selection feedback. */
[data-ort-booking-heading]:focus { outline: 2px solid #d31920; outline-offset: 6px; }
.ort-booking-selection:not([hidden]) { padding: .75rem 1rem; border-left: 3px solid #d31920; background: rgba(211,25,32,.1); }
#ort-message::placeholder { opacity: 1; color: #757575; }
#ort-message-help { display: block; margin-top: .5rem; }
