.eps-pc{--gold:#d0aa58;--gold2:#ecd28c;--ink:#080808;--panel:#10100f;--cream:#f4eee4;--muted:#aaa39a;--line:rgba(208,170,88,.3);background:var(--ink);color:var(--cream);font-family:Montserrat,Arial,sans-serif;padding:clamp(18px,3vw,36px);box-sizing:border-box}.eps-pc *{box-sizing:border-box}.eps-pc-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.eps-pc-calendar,.eps-pc-booking{border:1px solid var(--gold);border-radius:12px;background:linear-gradient(145deg,#111,#090909);padding:clamp(18px,2.6vw,38px);min-width:0}.eps-pc-head{text-align:center}.eps-pc-head span{color:var(--gold);font-size:9px;letter-spacing:2.2px}.eps-pc-head h2{font:400 clamp(30px,4vw,48px)/1 "Cormorant Garamond",Georgia,serif;margin:10px 0 20px}.eps-pc-month-nav{display:flex;align-items:center;justify-content:space-between}.eps-pc-month-nav h3{font:400 28px/1 Georgia,serif;margin:0}.eps-pc-month-nav button{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;background:transparent;color:var(--gold)}.eps-pc button{font:600 9px/1 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px;cursor:pointer}.eps-pc-filters{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:20px 0}.eps-pc-filters button{padding:10px 14px;border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--cream)}.eps-pc-filters button.is-active,.eps-pc-filters button:hover{background:var(--gold);border-color:var(--gold);color:#080808}.eps-pc-weekdays,.eps-pc-grid{display:grid;grid-template-columns:repeat(7,1fr)}.eps-pc-weekdays{border:1px solid var(--line);border-bottom:0}.eps-pc-weekdays span{text-align:center;color:var(--gold);font-size:9px;text-transform:uppercase;padding:11px 2px}.eps-pc-date{position:relative;min-height:69px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0e0e0e;color:#777;text-align:left;padding:9px;overflow:visible}.eps-pc-date:nth-child(7n+1){border-left:1px solid var(--line)}.eps-pc-date b{font:400 18px Georgia,serif}.eps-pc-date.is-out{opacity:.28}.eps-pc-date.has-departure{background:rgba(208,170,88,.23);color:var(--cream);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}.eps-pc-date.has-departure:not(.is-sold):hover,.eps-pc-date.is-selected{background:linear-gradient(135deg,#8c641d,#d0aa58);color:#fff}.eps-pc-date.has-departure span{position:absolute;left:5px;bottom:5px;width:max-content;max-width:190px;color:var(--gold2);font:500 7px/1.2 Montserrat,Arial,sans-serif;white-space:nowrap;z-index:2}.eps-pc-date.is-sold{opacity:.5;cursor:not-allowed}.eps-pc-calendar-note{text-align:center;color:var(--muted);font-size:10px;margin:17px 0 0}.eps-pc-booking{scroll-margin-top:20px}.eps-pc-placeholder{height:100%;min-height:480px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px}.eps-pc-placeholder b{font:400 34px Georgia,serif}.eps-pc-placeholder span,.eps-pc-help{color:var(--muted);font-size:11px}.eps-pc-selected{display:flex;justify-content:space-between;gap:15px;padding:15px;border:1px solid var(--line);margin-bottom:20px}.eps-pc-selected strong{font:400 19px Georgia,serif}.eps-pc-selected span{color:var(--gold);font-size:10px;text-align:right}.eps-pc-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-bottom:25px}.eps-pc-progress span{padding:9px 3px;text-align:center;color:#777;border-bottom:1px solid #333;font-size:8px;text-transform:uppercase}.eps-pc-progress span.is-active{color:var(--gold);border-color:var(--gold)}.eps-pc-progress span.is-done{color:var(--cream);border-color:#876b32}.eps-pc-step h3{font:400 30px Georgia,serif;margin:0 0 17px}.eps-pc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.eps-pc-fields label,.eps-pc-fields legend{display:grid;gap:7px;color:var(--gold);font-size:9px;text-transform:uppercase}.eps-pc-fields input,.eps-pc-fields select,.eps-pc-fields textarea{width:100%;border:1px solid #3c3528;background:#080808;color:var(--cream);padding:12px;font:400 13px Arial,sans-serif}.eps-pc-fields input:focus,.eps-pc-fields select:focus,.eps-pc-fields textarea:focus{outline:1px solid var(--gold)}.eps-pc-fields fieldset{border:1px solid #3c3528;padding:10px 12px;display:flex;gap:15px}.eps-pc-fields fieldset label{display:flex;align-items:center;gap:7px;color:var(--cream)}.eps-pc-fields fieldset input{width:auto}.eps-pc-wide{grid-column:1/-1}.eps-pc-extra-list{display:grid;gap:12px}.eps-pc-extra-list>label{display:flex;gap:14px;align-items:center;border:1px solid var(--line);padding:17px;cursor:pointer}.eps-pc-extra-list input{accent-color:var(--gold);width:18px;height:18px}.eps-pc-extra-list span{display:grid;gap:5px}.eps-pc-extra-list b{color:var(--gold);font:400 18px Georgia,serif}.eps-pc-extra-list small{color:var(--muted);font-size:10px}.eps-pc-upload{min-height:170px;border:1px dashed var(--gold);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:9px;cursor:pointer}.eps-pc-upload input{max-width:250px;color:var(--muted)}.eps-pc-upload b{color:var(--gold);font:400 20px Georgia,serif}.eps-pc-upload span{color:var(--muted);font-size:9px}.eps-pc-review-content{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.eps-pc-review-row{display:flex;justify-content:space-between;gap:12px;background:#0b0b0b;padding:12px;font-size:10px}.eps-pc-review-row span{color:var(--muted)}.eps-pc-review-row strong{text-align:right}.eps-pc-review-row.is-total strong{color:var(--gold);font-size:15px}.eps-pc-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.eps-pc-actions button{padding:13px 18px;border:1px solid var(--gold)}.eps-pc-back{background:transparent;color:var(--muted)}.eps-pc-forward,.eps-pc-send{background:var(--gold);color:#080808;margin-left:auto}.eps-pc-success{text-align:center;border:1px solid var(--gold);padding:35px}.eps-pc-success b{font:400 28px Georgia,serif;color:var(--gold)}[hidden]{display:none!important}
@media(max-width:980px){.eps-pc-layout{grid-template-columns:1fr}.eps-pc-placeholder{min-height:220px}.eps-pc-date{min-height:75px}}
@media(max-width:620px){.eps-pc{padding:10px}.eps-pc-calendar,.eps-pc-booking{padding:16px;border-radius:8px}.eps-pc-date{min-height:53px;padding:5px}.eps-pc-date b{font-size:15px}.eps-pc-date.has-departure span{display:none}.eps-pc-weekdays span{font-size:7px}.eps-pc-fields,.eps-pc-review-content{grid-template-columns:1fr}.eps-pc-wide{grid-column:auto}.eps-pc-selected{display:grid}.eps-pc-selected span{text-align:left}.eps-pc-progress span{font-size:6px}.eps-pc-actions button{padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.eps-pc *{scroll-behavior:auto!important;transition:none!important}}

/* Elementor/theme compatibility: keep the booking UI isolated from global widget rules. */
.elementor .eps-pc,.eps-pc{display:block!important;width:100%!important;max-width:none!important;color:var(--cream)!important;background:#080808!important;line-height:1.4!important}
.eps-pc .eps-pc-layout{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;width:100%!important;align-items:stretch!important}
.eps-pc .eps-pc-calendar,.eps-pc .eps-pc-booking{display:block!important;width:100%!important;max-width:none!important;color:var(--cream)!important;background:#0d0d0d!important}
.eps-pc .eps-pc-head,.eps-pc .eps-pc-month-nav,.eps-pc .eps-pc-filters,.eps-pc .eps-pc-weekdays,.eps-pc .eps-pc-grid,.eps-pc .eps-pc-placeholder,.eps-pc .eps-pc-selected,.eps-pc .eps-pc-progress,.eps-pc .eps-pc-fields,.eps-pc .eps-pc-actions{width:100%!important;max-width:none!important}
.eps-pc .eps-pc-head h2,.eps-pc .eps-pc-month-nav h3,.eps-pc .eps-pc-placeholder b,.eps-pc .eps-pc-step h3{color:var(--cream)!important}
.eps-pc .eps-pc-head span,.eps-pc .eps-pc-weekdays span,.eps-pc .eps-pc-selected span,.eps-pc .eps-pc-fields label,.eps-pc .eps-pc-fields legend{color:var(--gold)!important}
.eps-pc .eps-pc-month-nav{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
.eps-pc .eps-pc-filters{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.eps-pc .eps-pc-weekdays,.eps-pc .eps-pc-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;overflow:visible!important}
.eps-pc .eps-pc-weekdays span{display:block!important;text-align:center!important}
.eps-pc button,.eps-pc input,.eps-pc select,.eps-pc textarea{box-shadow:none!important;border-radius:0!important;text-shadow:none!important}
.eps-pc .eps-pc-month-nav button{display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;border:1px solid var(--gold)!important;border-radius:50%!important;background:transparent!important;color:var(--gold)!important}
.eps-pc .eps-pc-filters button{width:auto!important;min-height:0!important;padding:10px 14px!important;border:1px solid var(--line)!important;border-radius:20px!important;background:transparent!important;color:var(--cream)!important}
.eps-pc .eps-pc-filters button.is-active,.eps-pc .eps-pc-filters button:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#080808!important}
.eps-pc .eps-pc-date{display:block!important;width:100%!important;min-width:0!important;min-height:69px!important;margin:0!important;padding:9px!important;border-radius:0!important;border-top:0!important;border-left:0!important;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:#0e0e0e!important;color:#777!important;text-align:left!important}
.eps-pc .eps-pc-date:nth-child(7n+1){border-left:1px solid var(--line)!important}.eps-pc .eps-pc-date.has-departure{background:rgba(208,170,88,.23)!important;color:var(--cream)!important;border-top:1px solid var(--gold)!important;border-bottom:1px solid var(--gold)!important}.eps-pc .eps-pc-date.has-departure:not(.is-sold):hover,.eps-pc .eps-pc-date.is-selected{background:#a77b2d!important;color:#fff!important}.eps-pc .eps-pc-date b{color:inherit!important}
.eps-pc .eps-pc-actions button{width:auto!important;min-height:0!important}.eps-pc .eps-pc-forward,.eps-pc .eps-pc-send{background:var(--gold)!important;color:#080808!important}.eps-pc .eps-pc-back{background:transparent!important;color:var(--muted)!important}
@media(max-width:980px){.eps-pc .eps-pc-layout{grid-template-columns:1fr!important}}
@media(max-width:620px){.eps-pc .eps-pc-date{min-height:53px!important;padding:5px!important}.eps-pc .eps-pc-filters{justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important}.eps-pc .eps-pc-filters button{white-space:nowrap!important}}

/* Version 2.2: compact complete-date departures. */
.eps-pc .eps-pc-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;border:0!important}
.eps-pc .eps-pc-departure{display:grid!important;grid-template-columns:1.05fr 1fr .58fr!important;align-items:center!important;gap:18px!important;width:100%!important;padding:17px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#10100f!important;transition:border-color .25s,transform .25s!important}
.eps-pc .eps-pc-departure:hover,.eps-pc .eps-pc-departure.is-selected{border-color:var(--gold)!important;transform:translateY(-2px)!important}.eps-pc .eps-pc-departure.is-sold{opacity:.5!important}
.eps-pc .eps-pc-full-date{display:flex!important;align-items:center!important;gap:9px!important}.eps-pc .eps-pc-full-date strong{color:var(--cream)!important;font:400 15px/1.35 Georgia,serif!important}.eps-pc .eps-pc-full-date i{color:var(--gold)!important;font-style:normal!important}
.eps-pc .eps-pc-departure-info{display:grid!important;gap:5px!important;border-left:1px solid var(--line)!important;padding-left:17px!important}.eps-pc .eps-pc-departure-info>b{color:var(--cream)!important;font:400 17px Georgia,serif!important}.eps-pc .eps-pc-departure-info>span{color:var(--gold)!important;font-size:9px!important}
.eps-pc .eps-pc-days{display:flex!important;align-items:flex-start!important;margin-top:5px!important}.eps-pc .eps-pc-days span{position:relative!important;display:grid!important;justify-items:center!important;gap:4px!important;flex:1!important}.eps-pc .eps-pc-days span:not(:last-child):after{content:""!important;position:absolute!important;top:9px!important;left:62%!important;width:76%!important;border-top:1px solid var(--gold)!important}.eps-pc .eps-pc-days b{z-index:1!important;display:grid!important;place-items:center!important;width:19px!important;height:19px!important;border-radius:50%!important;background:var(--gold)!important;color:#090909!important;font-size:8px!important}.eps-pc .eps-pc-days small{color:var(--muted)!important;font-size:7px!important}
.eps-pc .eps-pc-departure-price{display:grid!important;justify-items:end!important;gap:2px!important;border-left:1px solid var(--line)!important;padding-left:16px!important}.eps-pc .eps-pc-departure-price strong{color:var(--cream)!important;font:400 23px Georgia,serif!important}.eps-pc .eps-pc-departure-price small{color:var(--muted)!important;font-size:8px!important}.eps-pc .eps-pc-departure-price button{width:100%!important;margin-top:8px!important;padding:11px 9px!important;border:1px solid var(--gold)!important;border-radius:6px!important;background:var(--gold)!important;color:#080808!important}.eps-pc .eps-pc-departure-price button:disabled{background:transparent!important;color:var(--muted)!important}
.eps-pc .eps-pc-no-dates{padding:35px!important;text-align:center!important;color:var(--muted)!important;border:1px solid var(--line)!important}.eps-pc .eps-pc-extra-list em{display:inline-block!important;margin-left:7px!important;padding:4px 7px!important;border-radius:12px!important;background:var(--gold)!important;color:#080808!important;font:600 8px Montserrat,Arial,sans-serif!important;text-transform:uppercase!important}.eps-pc .eps-pc-extra-list del{color:var(--muted)!important}.eps-pc .eps-pc-payment-note{margin:18px 0 0!important;padding:12px!important;border-left:2px solid var(--gold)!important;background:rgba(208,170,88,.08)!important;color:var(--muted)!important;font-size:9px!important;line-height:1.6!important}
@media(max-width:1180px){.eps-pc .eps-pc-layout{grid-template-columns:1fr!important}.eps-pc .eps-pc-departure{grid-template-columns:1fr 1fr .5fr!important}}
@media(max-width:700px){.eps-pc .eps-pc-departure{grid-template-columns:1fr!important;gap:12px!important}.eps-pc .eps-pc-departure-info,.eps-pc .eps-pc-departure-price{border-left:0!important;border-top:1px solid var(--line)!important;padding:12px 0 0!important}.eps-pc .eps-pc-departure-price{grid-template-columns:1fr 1fr!important;align-items:center!important;justify-items:start!important}.eps-pc .eps-pc-departure-price button{grid-column:1/-1!important}.eps-pc .eps-pc-full-date{justify-content:center!important;text-align:center!important}.eps-pc .eps-pc-days{max-width:280px!important}.eps-pc .eps-pc-extra-list em{display:block!important;width:max-content!important;margin:6px 0 0!important}}

/* Version 2.2.1: compact landing-page sizing and motion. */
.eps-pc{padding:clamp(10px,1.8vw,22px)!important;overflow:hidden!important}.eps-pc .eps-pc-layout{max-width:1240px!important;gap:12px!important}.eps-pc .eps-pc-calendar,.eps-pc .eps-pc-booking{padding:clamp(16px,2vw,26px)!important}.eps-pc .eps-pc-head h2{font-size:clamp(28px,3.1vw,40px)!important;margin:7px 0 13px!important}.eps-pc .eps-pc-month-nav h3{font-size:23px!important}.eps-pc .eps-pc-filters{margin:14px 0!important}.eps-pc .eps-pc-grid{gap:8px!important}.eps-pc .eps-pc-departure{padding:13px 14px!important;gap:13px!important}.eps-pc .eps-pc-placeholder{min-height:365px!important}.eps-pc .eps-pc-progress{margin-bottom:18px!important}.eps-pc .eps-pc-selected{margin-bottom:15px!important}.eps-pc .eps-pc-fields{gap:10px!important}.eps-pc .eps-pc-fields input,.eps-pc .eps-pc-fields select,.eps-pc .eps-pc-fields textarea{padding:10px!important}.eps-pc .eps-pc-step{animation:epsPcStep .38s cubic-bezier(.2,.75,.2,1) both}.eps-pc .eps-pc-departure{animation:epsPcCard .48s cubic-bezier(.2,.75,.2,1) both}.eps-pc .eps-pc-departure:nth-child(2){animation-delay:.06s!important}.eps-pc .eps-pc-departure:nth-child(3){animation-delay:.12s!important}.eps-pc .eps-pc-departure:nth-child(4){animation-delay:.18s!important}.eps-pc .eps-pc-departure.is-selected{animation:epsPcSelect .42s ease both!important}.eps-pc .eps-pc-departure-price button,.eps-pc .eps-pc-forward,.eps-pc .eps-pc-send{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease!important}.eps-pc .eps-pc-departure-price button:hover,.eps-pc .eps-pc-forward:hover,.eps-pc .eps-pc-send:hover{transform:translateY(-2px)!important;box-shadow:0 8px 22px rgba(208,170,88,.2)!important}
@keyframes epsPcCard{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes epsPcStep{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@keyframes epsPcSelect{0%{box-shadow:0 0 0 0 rgba(208,170,88,.5)}100%{box-shadow:0 0 0 7px rgba(208,170,88,0)}}
@media(max-width:1180px){.eps-pc .eps-pc-layout{max-width:820px!important}.eps-pc .eps-pc-placeholder{min-height:180px!important}.eps-pc .eps-pc-booking{scroll-margin-top:12px!important}}
@media(max-width:700px){.eps-pc{padding:6px!important}.eps-pc .eps-pc-calendar,.eps-pc .eps-pc-booking{padding:14px!important}.eps-pc .eps-pc-head h2{font-size:30px!important}.eps-pc .eps-pc-month-nav h3{font-size:20px!important}.eps-pc .eps-pc-departure{padding:13px!important}.eps-pc .eps-pc-full-date strong{font-size:14px!important}.eps-pc .eps-pc-progress{overflow-x:auto!important;grid-template-columns:repeat(5,minmax(65px,1fr))!important}.eps-pc .eps-pc-placeholder{min-height:145px!important}.eps-pc .eps-pc-actions{position:sticky!important;bottom:0!important;z-index:5!important;padding-top:10px!important;background:#0d0d0d!important}}
@media(prefers-reduced-motion:reduce){.eps-pc .eps-pc-step,.eps-pc .eps-pc-departure{animation:none!important}.eps-pc .eps-pc-departure-price button,.eps-pc .eps-pc-forward,.eps-pc .eps-pc-send{transition:none!important}}
.eps-pc .eps-pc-step,.eps-pc .eps-pc-departure:not(.is-selected){animation-fill-mode:backwards!important}
