/* AR4HO Nile Cruise System: component styles. Theme variables are optional. */
.ar4ho-booking,.ar4ho-itinerary,.ar4ho-reviews,.ar4ho-portal{
	--ink:var(--ar-ink,#0c2733);--teal:var(--ar-teal,#17857f);--gold:var(--ar-gold,#d4a33a);--stone:var(--ar-stone,#eef2ef);--line:var(--ar-line,#cfd9d6);
	color:var(--ink);font-family:var(--ar-sans,system-ui,-apple-system,"Segoe UI",sans-serif);line-height:1.55;box-sizing:border-box}
.ar4ho-booking *,.ar4ho-itinerary *,.ar4ho-reviews *,.ar4ho-portal *{box-sizing:inherit}
.ar4ho-booking h2,.ar4ho-itinerary h2,.ar4ho-reviews h2,.ar4ho-portal h2{font-family:var(--ar-serif,Georgia,serif);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 .6em}
.ar4ho-portal h3,.ar4ho-itinerary h3{font-family:var(--ar-serif,Georgia,serif);margin:0}

/* buttons and fields */
.ar4ho-btn{display:inline-block;border:0;border-radius:3px;background:var(--ink);color:#fff;font:600 1rem/1 var(--ar-sans,system-ui,sans-serif);padding:.95em 1.5em;cursor:pointer;text-decoration:none;transition:background .15s}
.ar4ho-btn:hover{background:var(--teal);color:#fff}
.ar4ho-btn-gold{background:var(--gold);color:#1b1503}
.ar4ho-btn-gold:hover{background:#e6b64c;color:#1b1503}
.ar4ho-btn[disabled]{opacity:.45;cursor:not-allowed}
.ar4ho-link{background:none;border:0;padding:0;color:var(--teal);text-decoration:underline;cursor:pointer;font:inherit}
.ar4ho-form label,.ar4ho-search label{display:block;font-weight:600;font-size:.9rem;margin-bottom:1rem}
.ar4ho-form input[type=text],.ar4ho-form input[type=email],.ar4ho-form input[type=password],.ar4ho-form input[type=number],.ar4ho-form select,.ar4ho-form textarea,.ar4ho-search select{display:block;width:100%;margin-top:.35rem;padding:.7em .8em;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);font:400 1rem/1.3 inherit}
.ar4ho-booking :focus-visible,.ar4ho-portal :focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ar4ho-inline{display:inline}

/* booking engine */
.ar4ho-search{display:grid;grid-template-columns:2fr 1.4fr auto;gap:1rem;align-items:end}
.ar4ho-search label{margin:0}
.ar4ho-search select{width:100%;margin-top:.35rem;padding:.8em;border:1px solid var(--line);border-radius:3px;font:400 1rem/1.3 inherit;background:#fff}
.ar4ho-results{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}
.ar4ho-count{font-size:1.1rem;margin:0 0 .25rem}
.ar4ho-hint{color:#4b6068;font-size:.9rem;margin:.25rem 0 1rem}
.ar4ho-cabin-list{list-style:none;margin:0;padding:0;max-height:30rem;overflow:auto}
.ar4ho-cabin{display:grid;grid-template-columns:1.4fr 1.2fr auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line)}
.ar4ho-cabin strong{display:block;font-family:var(--ar-serif,Georgia,serif);font-size:1.2rem}
.ar4ho-cabin span{font-size:.9rem;color:#4b6068}
.ar4ho-price{display:flex;flex-wrap:wrap;gap:.1rem .7rem;align-items:baseline}
.ar4ho-price strong{font-size:1.25rem;color:var(--ink)}
.ar4ho-price s{color:#7a8a90;font-size:.9rem}
.ar4ho-price span{flex-basis:100%}

/* itinerary: a river with a node per port */
.ar4ho-route{list-style:none;margin:0;padding:0 0 0 1.6rem;border-left:3px solid var(--teal)}
.ar4ho-route li{position:relative;display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:0 0 2rem}
.ar4ho-route li::before{content:"";position:absolute;left:calc(-1.6rem - 9px);top:.35rem;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--teal)}
.ar4ho-route li.role-embark::before,.ar4ho-route li.role-disembark::before{background:var(--gold);border-color:var(--gold)}
.ar4ho-day{font-weight:700;color:var(--teal);padding-top:.15rem}
.ar4ho-route h3{font-size:1.4rem}
.ar4ho-route p{margin:.2rem 0}
.ar4ho-route-title{font-weight:600}

/* reviews */
.ar4ho-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.ar4ho-review{margin:0;padding:1.25rem 1.4rem;background:#fff;border-left:4px solid var(--gold)}
.ar4ho-review p{margin:.5rem 0 .75rem;font-family:var(--ar-serif,Georgia,serif);font-size:1.05rem}
.ar4ho-review footer{font-size:.9rem;color:#4b6068}
.ar4ho-stars{color:var(--gold);letter-spacing:.1em}

/* portal */
.ar4ho-portal{max-width:60rem;margin:0 auto}
.ar4ho-two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.ar4ho-panel{background:#fff;border:1px solid var(--line);padding:1.5rem}
.ar4ho-notice{padding:.8rem 1rem;margin:0 0 1.25rem;border-left:4px solid var(--teal);background:#e5f3f1}
.ar4ho-notice.is-error{border-color:#b3261e;background:#fbeae8}
.ar4ho-welcome{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}
.ar4ho-welcome p{margin:0}
.ar4ho-level{min-width:16rem;padding:1rem 1.2rem;background:var(--ink);color:#fff}
.ar4ho-level strong{display:block;font-family:var(--ar-serif,Georgia,serif);font-size:1.6rem;color:var(--gold)}
.ar4ho-level span,.ar4ho-level small{display:block;font-size:.9rem}
.ar4ho-bar{height:6px;background:rgba(255,255,255,.25);margin:.6rem 0 .3rem}
.ar4ho-bar i{display:block;height:100%;background:var(--gold)}
.ar4ho-trip{background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);padding:1.25rem 1.5rem;margin-bottom:1.5rem}
.ar4ho-trip.status-checked_in{border-top-color:var(--gold)}
.ar4ho-trip.status-cancelled,.ar4ho-trip.status-checked_out{border-top-color:#8c9ea4}
.ar4ho-trip header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.ar4ho-badge{padding:.2em .7em;border-radius:99px;background:var(--stone);font-size:.85rem;font-weight:600}
.ar4ho-facts{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:1rem 0}
.ar4ho-facts dt{font-size:.8rem;color:#4b6068}
.ar4ho-facts dd{margin:0;font-weight:600}
.ar4ho-sec{border-top:1px solid var(--line);padding:.8rem 0}
.ar4ho-sec>summary{cursor:pointer;font-weight:700;font-size:1.05rem}
.ar4ho-sec[open]>summary{margin-bottom:.8rem}
.ar4ho-table{width:100%;border-collapse:collapse;margin:0 0 1rem}
.ar4ho-table td,.ar4ho-table th{padding:.55rem .4rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ar4ho-table .num{text-align:right;white-space:nowrap}
.ar4ho-table .sum td{font-weight:700}
.ar4ho-table .is-current td{background:#fff6dd;font-weight:700}
.ar4ho-menu{border:1px solid var(--line);margin:0 0 1rem;padding:.5rem 1rem 1rem}
.ar4ho-menu legend{font-weight:700;padding:0 .4rem}
.ar4ho-menu-row{display:grid!important;grid-template-columns:1fr auto 5rem;gap:.8rem;align-items:center;font-weight:400!important;margin:.5rem 0!important}
.ar4ho-menu-row em{font-style:normal;color:#4b6068}
.ar4ho-menu-row input{margin:0!important}
.ar4ho-plain{list-style:none;padding:0;margin:0}
.ar4ho-thread{padding:.8rem 0;border-top:1px solid var(--line)}
.ar4ho-thread .reply{background:var(--stone);padding:.6rem .8rem}
.ar4ho-wifi code{font-size:1.4rem;letter-spacing:.12em;background:var(--stone);padding:.15em .5em}

@media(max-width:700px){
	.ar4ho-search,.ar4ho-cabin,.ar4ho-two{grid-template-columns:1fr}
	.ar4ho-route li{grid-template-columns:1fr;gap:.2rem}
	.ar4ho-welcome{display:block}.ar4ho-level{margin-top:1rem}
}
