.gtfd-auto-footer-wrap{width:100%;clear:both}.gtfd-calendar{width:100%;max-width:1180px;margin:48px auto;padding:34px;background:#fff;border:1px solid #e7e9ee;border-radius:20px;box-shadow:0 10px 35px rgba(16,24,40,.06);box-sizing:border-box;color:#182230}.gtfd-calendar-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:25px}.gtfd-eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.13em;color:#b42318;margin-bottom:7px}.gtfd-calendar-head h2{margin:0 0 7px;font-size:30px;line-height:1.15}.gtfd-calendar-head p{margin:0;color:#667085;font-size:14px}.gtfd-calendar-nav{display:flex;align-items:center;gap:14px;min-width:235px;justify-content:flex-end}.gtfd-calendar-nav strong{font-size:17px;min-width:145px;text-align:center}.gtfd-calendar-nav button{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #d0d5dd;background:#fff;border-radius:9px;font-size:25px;line-height:1;cursor:pointer}.gtfd-calendar-nav button:hover{background:#f8f9fb}.gtfd-calendar-body{border:1px solid #e4e7ec;border-radius:14px;overflow:hidden}.gtfd-weekdays,.gtfd-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.gtfd-weekdays{background:#f8f9fb;border-bottom:1px solid #e4e7ec}.gtfd-weekdays span{padding:12px;text-align:center;font-size:12px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.04em}.gtfd-day{min-height:116px;padding:9px;border-right:1px solid #eaecf0;border-bottom:1px solid #eaecf0;background:#fff;box-sizing:border-box}.gtfd-day:nth-child(7n){border-right:0}.gtfd-day.empty{background:#fafafa}.gtfd-day.past{background:#fafafa}.gtfd-day.today .gtfd-day-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#182230;color:#fff}.gtfd-day-number{font-size:13px;font-weight:800;color:#344054;margin-bottom:6px}.gtfd-day-departure{border:1px solid #d1fadf;background:#f6fef9;border-radius:8px;padding:6px;margin-top:4px;cursor:pointer;transition:.15s}.gtfd-day-departure:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(16,24,40,.08)}.gtfd-day-departure.unavailable{background:#f8f9fb;border-color:#e4e7ec;cursor:not-allowed;opacity:.72}.gtfd-day-status{display:block;font-size:9px;font-weight:800;text-transform:uppercase;color:#067647;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gtfd-day-departure.unavailable .gtfd-day-status{color:#667085}.gtfd-day-price{display:block;font-size:13px;margin:2px 0}.gtfd-day-departure small{display:block;font-size:9px;color:#667085}.gtfd-calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin:15px 0 30px;color:#667085;font-size:12px}.gtfd-calendar-legend span{display:flex;align-items:center;gap:7px}.gtfd-calendar-legend i{width:9px;height:9px;border-radius:50%;background:#12b76a;display:inline-block}.gtfd-calendar-legend i.limited{background:#f79009}.gtfd-calendar-legend i.unavailable{background:#98a2b3}.gtfd-departure-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gtfd-departure-list-head h3{margin:0;font-size:20px}.gtfd-results-count{font-size:12px;color:#667085}.gtfd-departure-list{display:grid;gap:10px}.gtfd-departure-card{display:grid;grid-template-columns:130px 1fr 140px 115px;align-items:center;gap:18px;border:1px solid #e4e7ec;border-radius:12px;padding:14px 16px;background:#fff}.gtfd-departure-card.unavailable{background:#fafafa;opacity:.72}.gtfd-card-date{display:flex;flex-direction:column}.gtfd-card-date b{font-size:18px}.gtfd-card-date span,.gtfd-card-info span{font-size:12px;color:#667085}.gtfd-card-info{display:flex;flex-direction:column;gap:3px}.gtfd-card-price{font-size:18px;font-weight:800;text-align:right}.gtfd-book-now{border:0;border-radius:8px;padding:11px 14px;background:#182230;color:#fff;font-weight:700;cursor:pointer}.gtfd-book-now:hover{opacity:.9}.gtfd-unavailable-label{font-size:12px;color:#667085;text-align:center}.gtfd-no-departures{padding:25px;text-align:center;border:1px dashed #d0d5dd;border-radius:10px;color:#667085}.gtfd-modal{display:none;position:fixed;inset:0;z-index:999999}.gtfd-modal.is-open{display:block}.gtfd-modal-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.7)}.gtfd-modal-box{position:relative;width:min(780px,calc(100% - 30px));max-height:90vh;overflow:auto;margin:5vh auto;background:#fff;border-radius:16px;padding:28px;box-sizing:border-box}.gtfd-modal-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:30px;cursor:pointer}.gtfd-modal-summary{padding:0 40px 18px 0;border-bottom:1px solid #eee;margin-bottom:20px;display:flex;flex-direction:column;gap:4px}.gtfd-modal-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:#b42318}.gtfd-modal-summary strong{font-size:22px}.gtfd-modal-summary span:not(.gtfd-modal-kicker){color:#555}body.gtfd-modal-open{overflow:hidden}
.gtfd-admin-panel{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:20px;margin-top:8px}.gtfd-admin-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}.gtfd-admin-head h2{margin:0 0 4px;font-size:20px}.gtfd-admin-head p{margin:0;color:#646970}.gtfd-admin-stats{display:flex;gap:10px}.gtfd-admin-stats span{padding:8px 12px;background:#f6f7f7;border-radius:8px;font-size:12px}.gtfd-admin-note{padding:12px 14px;background:#f6f9fc;border-left:4px solid #2271b1;margin-bottom:18px;color:#50575e}.gtfd-departures-list{display:grid;gap:10px}.gtfd-admin-departure{display:grid;grid-template-columns:1.15fr 1fr 1fr .8fr .7fr .65fr 1.15fr .9fr;gap:9px;align-items:end;padding:14px;border:1px solid #dcdcde;border-radius:10px;background:#fff}.gtfd-admin-departure.past{background:#f8f8f8}.gtfd-admin-departure.sold{border-color:#f0c6c6}.gtfd-admin-departure.limited{border-color:#f2d6a4}.gtfd-admin-date-block{display:flex;align-items:center;gap:8px;align-self:center}.gtfd-admin-calendar-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:#f0f6fc;color:#2271b1}.gtfd-admin-date-block strong{display:block}.gtfd-admin-date-block small{display:block;color:#646970;font-size:10px}.gtfd-admin-field label{display:block;font-size:10px;font-weight:700;color:#50575e;margin-bottom:4px}.gtfd-admin-field input{width:100%;box-sizing:border-box}.gtfd-admin-left{align-self:center;text-align:center}.gtfd-admin-left span{display:block;font-size:10px;color:#646970}.gtfd-admin-left strong{font-size:18px}.gtfd-admin-status{display:flex;align-items:center;justify-content:space-between;gap:7px;align-self:center}.gtfd-status-pill{display:inline-block;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:700;background:#ecfdf3;color:#067647}.gtfd-status-pill.limited{background:#fffaeb;color:#b54708}.gtfd-status-pill.sold,.gtfd-status-pill.past{background:#f2f4f7;color:#667085}.gtfd-add-departure{margin-top:14px}.gtfd-admin-panel>.description{margin-bottom:0}
@media(max-width:1050px){.gtfd-admin-departure{grid-template-columns:repeat(4,minmax(0,1fr))}.gtfd-admin-date-block,.gtfd-admin-left,.gtfd-admin-status{align-self:center}.gtfd-admin-label{grid-column:span 2}.gtfd-admin-status{grid-column:span 2}.gtfd-departure-card{grid-template-columns:110px 1fr 110px 105px}}
@media(max-width:800px){.gtfd-calendar{padding:20px}.gtfd-calendar-head{flex-direction:column;align-items:stretch}.gtfd-calendar-nav{justify-content:space-between}.gtfd-day{min-height:85px;padding:5px}.gtfd-day-departure{padding:4px}.gtfd-day-price{font-size:11px}.gtfd-day-departure small{display:none}.gtfd-departure-card{grid-template-columns:90px 1fr 90px}.gtfd-departure-card .gtfd-book-now,.gtfd-unavailable-label{grid-column:1/-1}.gtfd-card-price{text-align:left}}
@media(max-width:600px){.gtfd-calendar-head h2{font-size:24px}.gtfd-weekdays span{font-size:9px;padding:9px 2px}.gtfd-day{min-height:68px}.gtfd-day-number{font-size:11px}.gtfd-day-status{font-size:7px}.gtfd-day-price{font-size:9px}.gtfd-calendar-legend{margin-bottom:20px}.gtfd-admin-head{align-items:flex-start;flex-direction:column}.gtfd-admin-stats{width:100%}.gtfd-admin-departure{grid-template-columns:1fr 1fr}.gtfd-admin-date-block,.gtfd-admin-label,.gtfd-admin-status{grid-column:1/-1}.gtfd-admin-left{grid-column:1}.gtfd-admin-status{justify-content:flex-start}.gtfd-modal-box{padding:20px}}

/* v8.1: schedule list removed; prices display currency code */
.gtfd-day-price{display:block;font-weight:800;line-height:1.2;}
.gtfd-day-status{display:block;}
.gtfd-calendar-nav button span{display:inline-flex;align-items:center;justify-content:center;font-size:27px;line-height:1;font-weight:400;height:100%;width:100%;}.gtfd-calendar-nav button:hover{transform:translateY(-1px)}

.gtfd-day-departure.limited{border-style:dashed;}

.gtfd-day-departure.limited{border-color:#f79009;background:#fffaeb}.gtfd-day-departure.limited .gtfd-day-status{color:#b54708}.gtfd-day-departure.limited small{font-weight:700;color:#b54708}.gtfd-day-departure.limited::after{content:'LIMITED';display:block;font-size:8px;font-weight:800;letter-spacing:.05em;color:#b54708;margin-top:2px}


/* v8.9: keep the departure card layout identical to the previous version.
   Some themes/plugins apply global styles to strong/span elements, so the
   departure content is explicitly stacked in label -> price -> status order. */
.gtfd-day-departure{display:flex !important;flex-direction:column !important;align-items:flex-start !important;justify-content:flex-start !important;gap:0 !important;}
.gtfd-day-departure .gtfd-day-status{order:1 !important;display:block !important;width:100% !important;font-size:9px !important;font-weight:800 !important;line-height:1.25 !important;color:#067647 !important;margin:0 !important;}
.gtfd-day-departure .gtfd-day-price{order:2 !important;display:block !important;width:100% !important;font-size:13px !important;font-weight:800 !important;line-height:1.2 !important;color:#182230 !important;margin:2px 0 !important;}
.gtfd-day-departure small{order:3 !important;display:block !important;width:100% !important;font-size:9px !important;line-height:1.25 !important;color:#667085 !important;margin:0 !important;}
.gtfd-day-departure.limited .gtfd-day-status{color:#b54708 !important;}
.gtfd-day-departure.limited .gtfd-day-price{color:#182230 !important;}
.gtfd-day-departure.limited small{color:#b54708 !important;}
