/* Full-bleed section colour, while keeping readable centred content. */
.site-body {overflow-x:clip}
.single-post .inner-body {padding-bottom:28px}
.tour-booking-band {
  width:100%;
  padding:50px 0;
  margin:0;
  background:linear-gradient(120deg,#fff1f5 0%,#ffe6ec 100%);
  border-top:1px solid #f7dce3;
  border-bottom:1px solid #f7dce3;
}
.tour-booking-band>.wrap{width:min(1150px,100%)}
.tour-booking-band .inner-booking {
  position:static;
  margin:0;
  max-width:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  padding:40px 48px;
  background:#fff;
  border:1px solid #f2d5de;
  border-radius:18px;
  box-shadow:0 18px 50px #a8243911;
}
.tour-booking-band .booking-copy{flex:1;min-width:0;max-width:610px}
.tour-booking-band .booking-heading{
  color:#202b3c;
  font-size:clamp(27px,3vw,39px);
  font-weight:750;
  line-height:1.16;
  letter-spacing:-.035em;
  margin:0 0 14px;
}
.tour-booking-band .booking-description{
  max-width:530px;
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#657080;
}
.tour-booking-band .inner-booking .eyebrow {
  display:block;
  margin-bottom:13px;
  color:var(--accent,#ed4457);
  font-size:11px;
  font-weight:750;
  letter-spacing:.12em;
}
.tour-booking-band .booking-actions {
  flex:0 0 300px;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  padding:8px 0;
}
.tour-booking-band .booking-actions .tour-primary-action{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:56px;
  padding:15px 22px;
  margin:0;
  background:var(--accent,#ed4457);
  border:1px solid var(--accent,#ed4457);
  border-radius:9px;
  color:#fff;
  font-size:15px;
  font-weight:750;
  box-shadow:0 9px 20px #ed44572b;
}
.tour-booking-band .booking-actions .tour-primary-action:hover{
  color:#fff;
  background:#d83248;
  border-color:#d83248;
  transform:translateY(-1px);
}
.tour-booking-band .booking-action-caption{
  display:block;
  text-align:center;
  color:#7f8794;
  font-size:12px;
  line-height:1.5;
}
.tour-booking-band .booking-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tour-booking-band .booking-contact-row a{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:10px;
  border:1px solid #f2cdd6;
  border-radius:9px;
  background:#fff;
  color:#323e50;
  font-size:12px;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
}
.tour-booking-band .booking-contact-row a:hover{
  background:#fff3f6;
  border-color:var(--accent,#ed4457);
  color:var(--accent,#ed4457);
}
.tour-booking-band .booking-price {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 0 0;
  margin:10px 0 0;
  background:none;
  color:var(--accent,#ed4457);
  font-weight:800;
  font-size:clamp(22px,2.3vw,29px);
  line-height:1.35;
  box-shadow:none;
}
.tour-booking-band .booking-price span{font-size:13px;font-weight:650;color:#76818f}
.tour-booking-band .booking-note{margin:8px 0 0;color:#6a7380;font-size:13px;line-height:1.6}
.tour-booking-band--archive{background:#fff3f6}
.tour-booking-band--archive .inner-booking{background:linear-gradient(110deg,#fff 70%,#fffafb 100%)}
.tour-archive-notice{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin:0 0 32px;
  padding:24px 28px;
  border:1px solid #f2cad4;
  border-left:4px solid var(--accent,#ed4457);
  border-radius:12px;
  background:#fff5f7;
}
.tour-archive-notice__mark{
  flex:none;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#ffdde5;
  color:var(--accent,#ed4457);
  font-size:21px;
}
.tour-archive-notice .eyebrow{display:block;margin:0 0 8px;color:#d63b50;font-size:11px;font-weight:750;letter-spacing:.12em}
.tour-archive-notice h2{margin:0 0 8px;color:#263347;font-size:clamp(19px,2.6vw,25px);line-height:1.32}
.tour-archive-notice p{margin:0;color:#6b7280;font-size:14px;line-height:1.7}
.tour-archive-chip{
  display:inline-flex;
  align-self:flex-start;
  margin:0 0 12px;
  padding:6px 10px;
  border:1px solid #efced6;
  border-radius:99px;
  background:#fff3f6;
  color:#c53b50;
  font-size:10px;
  font-weight:750;
  letter-spacing:.05em;
  line-height:1.4;
}
/* Contact blocks can live inside the narrow article wrapper; paint past it. */
.ex-contact,.ex-booking {
  position:relative;
  isolation:isolate;
}
.ex-contact::before,.ex-booking::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset-block:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:linear-gradient(110deg,#ffe6ed 0%,#fff0f4 54%,#ffe4ec 100%);
  border-top:1px solid #f6d9e1;
  border-bottom:1px solid #f6d9e1;
  pointer-events:none;
}
.front-content .ex-contact,.inner-body .ex-contact,.inner-body .ex-booking {
  padding-top:65px!important;
  padding-bottom:70px!important;
}
.ex-contact .contact-hub {
  background:#fff;
  border-color:#f0ccd6;
  box-shadow:0 12px 35px #a824390b;
}
/* Inline prices imported from legacy WPBakery text. No content/database edits. */
.article-content .ex-price-highlight {
  display:inline-block;
  vertical-align:baseline;
  white-space:nowrap;
  padding:3px 10px;
  margin:1px 3px;
  border-radius:5px;
  background:var(--accent,#ed4457);
  color:#fff!important;
  font-size:1.02em;
  font-weight:800;
  letter-spacing:0;
  line-height:1.5;
  box-shadow:0 3px 9px #ed44572b;
}
.article-content .ex-price-label {
  font-weight:800!important;
  color:var(--accent,#ed4457)!important;
}
.ex-cards .card-price,.ex-posts .card-price {
  display:inline-flex;
  align-self:flex-start;
  width:auto;
  padding:8px 14px!important;
  background:var(--accent,#ed4457);
  border:0!important;
  border-radius:5px;
  color:#fff!important;
  font-size:18px!important;
  font-weight:700!important;
}
@media (max-width:800px) {
  .tour-booking-band {padding:34px 0;margin-top:28px}
  .tour-booking-band .inner-booking {display:block;padding:34px}
  .tour-booking-band .booking-actions {margin-top:26px;max-width:100%}
  .front-content .ex-contact,.inner-body .ex-contact,.inner-body .ex-booking {padding-top:42px!important;padding-bottom:48px!important}
}
@media (max-width:640px) {
  .tour-booking-band .inner-booking {padding:27px 23px;border-radius:14px}
  .ex-contact .contact-hub {padding:25px 20px}
  .tour-booking-band .booking-heading {font-size:27px}
  .tour-booking-band .booking-description{font-size:14px}
  .tour-booking-band .booking-price {font-size:24px}
  .tour-archive-notice{padding:20px;gap:12px}
  .tour-archive-notice__mark{width:35px;height:35px}
  .tour-archive-notice p{font-size:13px}
}
