/*
Theme Name: VIP Charter
Theme URI: https://vipchartercoaches.com
Author: VIP Engineering
Author URI: https://vipchartercoaches.com
Description: Block theme for VIP Tour & Charter Bus Company migration.
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.2
Version: 0.1.1
Text Domain: vip-charter
*/

:root {
  --vip-surface: var(--wp--preset--color--muted);
  --vip-surface-alt: var(--wp--preset--color--brand-100);
  --vip-surface-soft: var(--wp--preset--color--brand-50);
  --vip-border: var(--wp--preset--color--neutral-200);
  --vip-border-strong: var(--wp--preset--color--neutral-300);
  --vip-text-muted: var(--wp--preset--color--neutral-500);
  --vip-overlay-soft: color-mix(in srgb, var(--wp--preset--color--base) 16%, transparent);
  --vip-overlay-strong: color-mix(in srgb, var(--wp--preset--color--base) 42%, transparent);
  --vip-shadow-soft: color-mix(in srgb, var(--wp--preset--color--neutral-900) 8%, transparent);
  --vip-radius-none: var(--wp--custom--radius--none);
  --vip-radius-xs: var(--wp--custom--radius--xs);
  --vip-radius-sm: var(--wp--custom--radius--sm);
  --vip-radius-md: var(--wp--custom--radius--md);
  --vip-radius-lg: var(--wp--custom--radius--lg);
  --vip-radius-full: var(--wp--custom--radius--full);
}

.has-muted-background-color {
  background-color: var(--vip-surface) !important;
  color: var(--wp--preset--color--text);
}

.vip-site-header .wp-block-columns,
.vip-site-footer .wp-block-columns {
  margin-bottom: 0;
}

.vip-site-header .wp-block-site-title {
  margin: 0;
}

.vip-site-header .wp-block-site-title a {
  color: var(--wp--preset--color--text);
  font-size: clamp(1.1rem, 1.7vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
}

.vip-site-header .wp-block-site-title a:hover {
  opacity: 0.88;
}

.vip-site-navigation .wp-block-navigation-item__content {
  font-size: 0.93rem;
  white-space: nowrap;
}

.vip-site-navigation .wp-block-navigation__container {
  flex-wrap: nowrap;
  overflow: visible;
}

.vip-site-navigation .wp-block-navigation-item {
  position: relative;
}

.vip-site-navigation .wp-block-navigation__submenu-container {
  background: var(--vip-surface-soft);
  border: 1px solid var(--vip-border);
  box-shadow: 0 10px 24px var(--vip-shadow-soft);
  max-width: 24rem;
  min-width: 18rem;
  padding: 0.35rem 0;
  z-index: 30;
}

.vip-site-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  line-height: 1.35;
  padding: 0.45rem 0.8rem;
  white-space: normal;
}

.vip-site-navigation .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--vip-surface);
  color: var(--wp--preset--color--text);
}

.vip-site-header .vip-site-header-nav {
  align-items: center;
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.6rem;
  justify-content: center;
}

.vip-site-header .vip-site-header-nav > .vip-site-navigation {
  flex: 1 1 auto;
  min-width: 0;
}

.vip-site-header .vip-site-header-nav > * {
  margin: 0 !important;
}

.vip-site-header .vip-site-header-nav > .wp-block-woocommerce-customer-account,
.vip-site-header .vip-site-header-nav > .wp-block-woocommerce-mini-cart {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  line-height: 1;
}

.vip-site-header .vip-site-header-nav .wc-block-mini-cart__button,
.vip-site-header .vip-site-header-nav .wp-block-woocommerce-customer-account a {
  align-items: center;
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-full);
  color: var(--wp--preset--color--neutral-700);
  display: inline-flex;
  height: 2.2rem;
  justify-content: center;
  padding: 0;
  width: 2.2rem;
}

.vip-site-header .vip-site-header-nav .wc-block-mini-cart__button:hover,
.vip-site-header .vip-site-header-nav .wp-block-woocommerce-customer-account a:hover {
  background: var(--vip-surface-soft);
}

.vip-site-header .vip-site-header-nav .wc-block-mini-cart__button .wc-block-mini-cart__icon {
  height: 1.14rem;
  width: 1.14rem;
}

.vip-site-header .vip-site-header-nav .wp-block-woocommerce-customer-account__account-icon {
  height: 1.2rem;
  width: 1.2rem;
}

.vip-site-header .vip-site-header-nav .wc-block-mini-cart__badge {
  font-size: 0.65rem;
}

.vip-site-header-quote .wp-block-button__link {
  padding-left: 0.9rem;
  padding-right: 0.9rem;
  white-space: nowrap;
}

.vip-site-footer,
.vip-site-footer .wp-block-group {
  color: var(--wp--preset--color--text);
}

.vip-site-footer a,
.vip-site-footer .wp-block-site-title a {
  color: var(--wp--preset--color--neutral-700);
}

.vip-site-footer a:hover,
.vip-site-footer .wp-block-site-title a:hover {
  color: var(--wp--preset--color--neutral-800);
}

.vip-site-footer h4 {
  margin-bottom: 0.6rem;
}

.vip-site-footer p,
.vip-site-footer li {
  color: var(--wp--preset--color--neutral-600);
}

.vip-about-cta,
.vip-tours-cta,
.vip-blog-cta,
.vip-blog-planning-cta,
.vip-events-cta,
.vip-fleet-cta-panel {
  border: 1px solid var(--vip-border);
}

.vip-about-cta p,
.vip-tours-cta p,
.vip-blog-cta p,
.vip-blog-planning-cta p,
.vip-events-cta p,
.vip-fleet-cta-panel p {
  color: var(--vip-text-muted);
}

.vip-form {
  display: grid;
  gap: 1rem;
}

.vip-form fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.vip-form legend {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.vip-field label,
.vip-label {
  display: block;
  font-weight: 600;
  margin: 0 0 0.35rem;
}

.vip-form input,
.vip-form select,
.vip-form textarea {
  border: 1px solid var(--wp--preset--color--neutral-300);
  border-radius: var(--vip-radius-sm);
  box-sizing: border-box;
  font: inherit;
  padding: 0.6rem 0.75rem;
  width: 100%;
}

.vip-form textarea {
  resize: vertical;
}

.vip-form-grid {
  display: grid;
  gap: 1rem;
}

.vip-checkbox-grid {
  display: grid;
  gap: 0.4rem;
}

.vip-checkbox-grid label {
  align-items: center;
  display: flex;
  font-weight: 400;
  gap: 0.5rem;
  margin: 0;
}

.vip-checkbox-grid input {
  width: auto;
}

.vip-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
}

.vip-form-note {
  color: var(--wp--preset--color--neutral-500);
  font-size: 0.9rem;
  margin-top: -0.5rem;
}

.vip-form-progress {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.vip-form-progress-track {
  background: var(--wp--preset--color--neutral-200);
  border-radius: var(--vip-radius-full);
  height: 8px;
  overflow: hidden;
}

.vip-form-progress-bar {
  background: var(--wp--preset--color--accent);
  height: 100%;
  transition: width 180ms ease-out;
}

.vip-form-progress-steps {
  display: grid;
  font-size: 0.9rem;
  gap: 0.75rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.vip-form-progress-steps li {
  color: var(--wp--preset--color--neutral-500);
  font-weight: 500;
}

.vip-form-progress-steps li.is-active {
  color: var(--wp--preset--color--neutral-800);
}

.vip-form-alert {
  border-radius: var(--vip-radius-sm);
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
}

.vip-form-alert-success {
  background: var(--wp--preset--color--success-50);
  border: 1px solid var(--wp--preset--color--success-300);
  color: var(--wp--preset--color--success-700);
}

.vip-form-alert-error {
  background: var(--wp--preset--color--error-50);
  border: 1px solid var(--wp--preset--color--error-300);
  color: var(--wp--preset--color--error-700);
}

.vip-hp-field {
  left: -9999px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.vip-tour-meta {
  display: grid;
  gap: 0.75rem;
}

.vip-tour-meta-item {
  background: var(--vip-surface-soft);
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  padding: 0.75rem 1rem;
}

.vip-tour-meta-label {
  color: var(--wp--preset--color--neutral-500);
  display: block;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.vip-tour-meta-value {
  color: var(--wp--preset--color--neutral-800);
  display: block;
  font-size: 1rem;
  font-weight: 600;
}

.vip-cover-img .wp-block-image,
.vip-home-placeholder .wp-block-image,
.vip-about-placeholder .wp-block-image,
.vip-tours-hero-media .wp-block-image,
.vip-tours-gallery-box .wp-block-image,
.vip-charter-transport-hero-media .wp-block-image,
.vip-fleet-card-media .wp-block-image,
.vip-about-sub-media .wp-block-image {
  margin: 0;
}

.vip-cover-img img,
.vip-home-placeholder img,
.vip-about-placeholder img,
.vip-tours-hero-media img,
.vip-tours-gallery-box img,
.vip-charter-transport-hero-media img,
.vip-fleet-card-media img,
.vip-about-sub-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.vip-card,
.vip-blog-card,
.vip-services-line-card,
.vip-charter-transport-card,
.vip-fleet-card,
.vip-careers-panel,
.vip-about-sub-panel,
.vip-events-fact-card {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
}

.vip-home-placeholder {
  border: 1px solid var(--vip-border);
  min-height: 240px;
  overflow: hidden;
  padding: 0;
}

.vip-home-placeholder img {
  min-height: 240px;
}

.vip-home-hero h1 {
  font-size: clamp(2rem, 4.4vw, 3.25rem);
  line-height: 1.1;
  margin-bottom: 0.8rem;
  max-width: 18ch;
}

.vip-home-hero p {
  color: var(--vip-text-muted);
  margin-top: 0;
  max-width: 54ch;
}

.vip-logo-strip {
  border-bottom: 1px solid var(--vip-border);
  border-top: 1px solid var(--vip-border);
}

.vip-logo-strip-inner {
  gap: 1.15rem;
}

.vip-logo-strip-inner p {
  color: var(--wp--preset--color--neutral-500);
  letter-spacing: 0.01em;
  margin: 0;
  white-space: nowrap;
}

.vip-home-about-row h2 {
  margin-bottom: 0.65rem;
}

.vip-home-about-row p {
  color: var(--vip-text-muted);
  margin-top: 0;
  max-width: 56ch;
}

.vip-home-sample-card {
  border: 1px solid var(--vip-border);
  padding: 0.85rem 1rem 0.75rem;
}

.vip-home-sample-card h4 {
  margin: 0;
}

.vip-home-sample-card p {
  margin-bottom: 0;
  margin-top: 0.35rem;
}

.vip-home-samples h2 {
  margin-bottom: 0.7rem;
}

.vip-home-samples > .wp-block-columns > .wp-block-column:first-child p {
  color: var(--vip-text-muted);
  max-width: 38ch;
}

.vip-home-primary-cta p {
  color: var(--vip-text-muted);
  margin-left: auto;
  margin-right: auto;
  max-width: 58ch;
}

.vip-home-quick-nav h2 {
  margin-bottom: 0.7rem;
}

.vip-home-ia-card {
  border: 1px solid var(--vip-border);
  height: 100%;
  padding: 0.85rem 0.9rem;
}

.vip-home-ia-card h4 {
  margin: 0;
}

.vip-home-ia-card h4 a {
  color: var(--wp--preset--color--neutral-800);
  text-decoration: none;
}

.vip-home-ia-card h4 a:hover {
  text-decoration: underline;
}

.vip-home-ia-card p {
  color: var(--vip-text-muted);
  margin-bottom: 0;
  margin-top: 0.45rem;
}

.vip-home-sample-card .has-text-align-right {
  margin-top: 0;
}

.vip-home-sample-card .has-text-align-right a {
  color: var(--wp--preset--color--neutral-600);
  text-decoration: none;
}

.vip-home-sample-card .has-text-align-right a:hover {
  text-decoration: underline;
}

.vip-home-testimonial-card {
  border: 1px solid var(--vip-border);
  min-height: 186px;
  padding: 1rem;
}

.vip-avatar-dot {
  border-radius: var(--vip-radius-full);
  box-shadow: inset 0 0 0 1px var(--wp--preset--color--neutral-300);
  flex: 0 0 auto;
  height: 34px;
  width: 34px;
}

.vip-home-testimonials h2 {
  margin-bottom: 1rem;
}

.vip-home-testimonial-card p {
  color: var(--wp--preset--color--neutral-500);
}

.vip-home-testimonial-card p strong {
  color: var(--wp--preset--color--neutral-800);
}

.vip-about-hero h1 {
  margin-bottom: 0.55rem;
}

.vip-about-hero p {
  color: var(--vip-text-muted);
  margin-left: auto;
  margin-right: auto;
  max-width: 60ch;
}

.vip-about-row h3 {
  margin-bottom: 0.55rem;
}

.vip-about-row p {
  color: var(--vip-text-muted);
  margin-top: 0;
  max-width: 58ch;
}

.vip-about-placeholder {
  border: 1px solid var(--vip-border);
  min-height: 240px;
  overflow: hidden;
  padding: 0;
}

.vip-about-placeholder img {
  min-height: 240px;
}

.vip-about-services {
  border-bottom: 1px solid var(--vip-border);
  border-top: 1px solid var(--vip-border);
}

.vip-about-services h2 {
  margin-bottom: 0.55rem;
}

.vip-about-services .has-text-align-center:not(.wp-block-heading) {
  color: var(--vip-text-muted);
}

.vip-about-service-item h5 {
  font-size: 0.9rem;
  margin: 0;
}

.vip-about-cta {
  margin-left: auto;
  margin-right: auto;
  max-width: 620px;
  padding: 1.4rem 1.2rem;
}

.vip-about-cta h3 {
  margin-bottom: 0.4rem;
}

.vip-about-cta p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-contact-layout .wp-block-columns {
  gap: 3rem;
}

.vip-contact-intro h1 {
  margin-bottom: 0.7rem;
}

.vip-contact-intro p {
  color: var(--vip-text-muted);
  margin-top: 0;
  max-width: 56ch;
}

.vip-contact-details {
  list-style: none;
  margin: 1.25rem 0 1.5rem;
  padding: 0;
}

.vip-contact-details li {
  align-items: center;
  color: var(--wp--preset--color--neutral-500);
  display: flex;
  gap: 0.6rem;
  margin-bottom: 0.85rem;
}

.vip-contact-details a {
  color: inherit;
  text-decoration: none;
}

.vip-contact-details a:hover {
  text-decoration: underline;
}

.vip-contact-icon {
  color: var(--wp--preset--color--neutral-400);
  font-size: 0.95rem;
}

.vip-contact-social {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.vip-contact-social a {
  color: var(--wp--preset--color--neutral-600);
  font-size: 0.9rem;
  text-decoration: none;
}

.vip-contact-social a:hover {
  text-decoration: underline;
}

.vip-contact-form-wrap .vip-form {
  gap: 1.1rem;
}

.vip-contact-form-wrap .vip-form-actions {
  justify-content: stretch;
}

.vip-contact-form-wrap .vip-form-actions .wp-element-button {
  background: var(--wp--preset--color--neutral-700);
  border: 0;
  border-radius: var(--vip-radius-xs);
  color: var(--wp--preset--color--base);
  font-weight: 600;
  padding: 0.9rem 1rem;
  width: 100%;
}

.vip-tours-hero h1 {
  margin-bottom: 0.75rem;
  max-width: 18ch;
}

.vip-tours-hero p {
  color: var(--vip-text-muted);
  margin-top: 0;
  max-width: 64ch;
}

.vip-tours-hero-media {
  border: 1px solid var(--vip-border);
  min-height: 220px;
  overflow: hidden;
  padding: 0;
}

.vip-tours-hero-media img {
  min-height: 220px;
}

.vip-tours-gallery-mosaic {
  gap: 0.75rem;
}

.vip-tours-gallery-mosaic > .wp-block-column {
  display: grid;
  gap: 0.75rem;
}

.vip-tours-gallery-box {
  border: 1px solid var(--vip-border);
  min-height: 110px;
  overflow: hidden;
  padding: 0;
}

.vip-tours-gallery-box.is-tall {
  min-height: 170px;
}

.vip-tours-gallery-box img {
  min-height: 110px;
}

.vip-tours-gallery-box.is-tall img {
  min-height: 170px;
}

.vip-tours-gallery-intro h2 {
  margin-bottom: 0.65rem;
}

.vip-tours-gallery-intro p {
  color: var(--vip-text-muted);
  margin-top: 0;
  max-width: 50ch;
}

.vip-tours-icon-grid h2 {
  margin-bottom: 1rem;
}

.vip-tours-icon-row {
  gap: 0.75rem;
}

.vip-tours-icon-row p {
  margin-top: 0.5rem;
}

.vip-tours-icon-badge {
  align-items: center;
  background: var(--wp--preset--color--brand-100);
  border: 1px solid var(--wp--preset--color--neutral-300);
  border-radius: var(--vip-radius-full);
  color: var(--wp--preset--color--neutral-500);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  letter-spacing: 0.03em;
  margin: 0 auto;
  width: 42px;
}

.vip-tours-network {
  border-top: 1px solid var(--wp--preset--color--neutral-200);
  margin-top: 1.5rem;
}

.vip-tours-network h3 {
  margin-bottom: 0.55rem;
}

.vip-tours-network > p {
  color: var(--vip-text-muted);
  margin-left: auto;
  margin-right: auto;
  max-width: 70ch;
}

.vip-tours-showcase h2 {
  margin-bottom: 0.6rem;
}

.vip-tours-showcase > p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-tours-showcase-card {
  border: 1px solid var(--vip-border);
  padding: 0.75rem 0.85rem 0.85rem;
}

.vip-tours-showcase-card .wp-block-post-featured-image {
  margin-bottom: 0.65rem;
  margin-top: 0;
}

.vip-tours-showcase-card .wp-block-post-featured-image img {
  border-radius: var(--vip-radius-xs);
  height: 150px;
  object-fit: cover;
}

.vip-tours-showcase-card .wp-block-post-title {
  margin-bottom: 0.35rem;
  margin-top: 0;
}

.vip-tours-showcase-card .wp-block-post-excerpt {
  color: var(--wp--preset--color--neutral-500);
  font-size: 0.9rem;
  margin: 0;
}

.vip-tours-cta {
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
  padding: 1.5rem 1.25rem;
}

.vip-tours-cta h3 {
  margin-bottom: 0.4rem;
}

.vip-tours-cta p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-blog-featured-cover {
  border-radius: var(--vip-radius-lg);
  overflow: hidden;
}

.vip-blog-featured-inner {
  max-width: 800px;
}

.vip-blog-chip {
  margin: 0 0 0.4rem;
}

.vip-blog-chip a {
  background: var(--wp--preset--color--brand-100);
  border-radius: var(--vip-radius-full);
  color: var(--wp--preset--color--brand-700);
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  margin: 0 0.35rem 0.35rem 0;
  padding: 0.35rem 0.55rem;
  text-decoration: none;
  text-transform: uppercase;
}

.vip-blog-featured-cover .wp-block-post-title {
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  max-width: 22ch;
}

.vip-blog-featured-cover .wp-block-post-excerpt {
  max-width: 64ch;
}

.vip-blog-meta {
  color: var(--wp--preset--color--neutral-300);
  gap: 0.75rem;
}

.vip-blog-card .vip-blog-meta {
  color: var(--wp--preset--color--neutral-400);
}

.vip-blog-single-hero .vip-blog-meta {
  color: var(--wp--preset--color--neutral-300);
}

.vip-blog-content-wrap h2 {
  margin-bottom: 0.95rem;
}

.vip-blog-card {
  background: var(--vip-surface-soft);
  overflow: hidden;
  padding: 0.75rem;
}

.vip-blog-card .wp-block-post-featured-image {
  margin-bottom: 0.65rem;
  margin-top: 0;
}

.vip-blog-card .wp-block-post-featured-image img {
  border-radius: var(--vip-radius-xs);
  height: 170px;
  object-fit: cover;
}

.vip-blog-card .wp-block-post-title {
  margin-bottom: 0.35rem;
  margin-top: 0;
}

.vip-blog-card .wp-block-post-excerpt {
  color: var(--wp--preset--color--neutral-500);
  font-size: 0.92rem;
  margin: 0 0 0.45rem;
}

.vip-blog-card .wp-block-read-more {
  color: var(--wp--preset--color--neutral-600);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

.vip-blog-card .wp-block-read-more:hover {
  text-decoration: underline;
}

.vip-blog-pagination {
  margin-top: 1.1rem;
}

.vip-blog-sidebar {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  padding: 1rem;
}

.vip-blog-sidebar h4 {
  margin-bottom: 0.55rem;
}

.vip-blog-sidebar .wp-block-categories-list,
.vip-blog-sidebar .wp-block-latest-posts__list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.vip-blog-sidebar .wp-block-categories-list li,
.vip-blog-sidebar .wp-block-latest-posts__list li {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
  color: var(--wp--preset--color--neutral-500);
  font-size: 0.92rem;
  margin: 0;
  padding: 0.45rem 0;
}

.vip-blog-sidebar .wp-block-categories-list li:last-child,
.vip-blog-sidebar .wp-block-latest-posts__list li:last-child {
  border-bottom: 0;
}

.vip-blog-sidebar a {
  color: inherit;
  text-decoration: none;
}

.vip-blog-sidebar a:hover {
  text-decoration: underline;
}

.vip-blog-cta,
.vip-blog-planning-cta {
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
  padding: 1.5rem 1.25rem;
}

.vip-blog-cta h3,
.vip-blog-planning-cta h3 {
  margin-bottom: 0.45rem;
}

.vip-blog-cta p,
.vip-blog-planning-cta p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-blog-back-link {
  margin: 0;
}

.vip-blog-back-link a {
  color: var(--wp--preset--color--neutral-500);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
}

.vip-blog-back-link a:hover {
  text-decoration: underline;
}

.vip-blog-single-hero {
  border-radius: var(--vip-radius-lg);
  overflow: hidden;
}

.vip-blog-single-hero-inner {
  max-width: 820px;
}

.vip-blog-single-hero .wp-block-post-title {
  margin-bottom: 0.55rem;
  margin-top: 0.25rem;
  max-width: 22ch;
}

.vip-blog-single-body-wrap {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-blog-share {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
  margin-bottom: 1.2rem;
  padding-bottom: 0.65rem;
}

.vip-blog-share p {
  margin: 0;
}

.vip-blog-share a {
  color: var(--wp--preset--color--neutral-500);
  text-decoration: none;
}

.vip-blog-share a:hover {
  text-decoration: underline;
}

.vip-blog-article {
  max-width: 74ch;
}

.vip-blog-article > * + * {
  margin-top: 1rem;
}

.vip-blog-article p {
  color: var(--wp--preset--color--neutral-700);
  line-height: 1.75;
}

.vip-blog-article h2,
.vip-blog-article h3 {
  margin-top: 1.7rem;
}

.vip-blog-related h4 {
  margin-bottom: 0.7rem;
}

.vip-blog-related-card {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  margin-bottom: 0.85rem;
  padding: 0.65rem;
}

.vip-blog-related-card .wp-block-post-featured-image {
  margin-bottom: 0.5rem;
  margin-top: 0;
}

.vip-blog-related-card .wp-block-post-featured-image img {
  border-radius: var(--vip-radius-xs);
  height: 120px;
  object-fit: cover;
}

.vip-blog-related-card .wp-block-post-title {
  font-size: 0.95rem;
  line-height: 1.35;
  margin: 0;
}

.vip-services-hero h1,
.vip-charter-transport-hero h1,
.vip-fleet-hero h1,
.vip-careers-hero h1,
.vip-about-sub-hero h1 {
  margin-bottom: 0.65rem;
}

.vip-services-hero p,
.vip-charter-transport-hero p,
.vip-fleet-hero p,
.vip-careers-hero p,
.vip-about-sub-hero p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-services-hero p,
.vip-fleet-hero p {
  margin-left: auto;
  margin-right: auto;
  max-width: 74ch;
}

.vip-fleet-kicker {
  color: var(--wp--preset--color--neutral-500);
  letter-spacing: 0.06em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.vip-fleet-overview {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-fleet-overview-copy h3 {
  margin-bottom: 0.45rem;
}

.vip-fleet-overview-copy p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-fleet-cta-panel {
  background: var(--wp--preset--color--brand-50);
  border: 1px solid var(--wp--preset--color--neutral-200);
  border-radius: var(--vip-radius-md);
  padding: 0.95rem;
}

.vip-fleet-cta-panel h5 {
  margin-bottom: 0.4rem;
}

.vip-fleet-cta-panel p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-services-line-card {
  height: 100%;
  padding: 1rem;
}

.vip-services-line-card h3 {
  margin-bottom: 0.45rem;
  margin-top: 0.35rem;
}

.vip-services-line-card p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-services-line-badge {
  align-items: center;
  background: var(--wp--preset--color--brand-100);
  border: 1px solid var(--wp--preset--color--neutral-300);
  border-radius: var(--vip-radius-full);
  color: var(--wp--preset--color--neutral-500);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 700;
  height: 36px;
  justify-content: center;
  letter-spacing: 0.03em;
  margin: 0;
  width: 36px;
}

.vip-services-charter-links {
  border-top: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-services-charter-links h2 {
  margin-bottom: 0.75rem;
}

.vip-services-charter-links p {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  color: var(--vip-text-muted);
  height: 100%;
  margin: 0;
  padding: 0.9rem 1rem;
}

.vip-charter-transport-hero-media {
  border: 1px solid var(--vip-border);
  min-height: 220px;
  overflow: hidden;
  padding: 0;
}

.vip-charter-transport-hero-media img {
  min-height: 220px;
}

.vip-charter-transport-card {
  height: 100%;
  padding: 1rem;
}

.vip-charter-transport-card h3 {
  margin-bottom: 0.4rem;
  margin-top: 0.35rem;
}

.vip-charter-transport-card p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-charter-transport-card-badge {
  align-items: center;
  background: var(--wp--preset--color--brand-100);
  border: 1px solid var(--wp--preset--color--neutral-300);
  border-radius: var(--vip-radius-full);
  color: var(--wp--preset--color--neutral-500);
  display: inline-flex;
  font-size: 0.85rem;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  margin: 0;
  width: 34px;
}

.vip-charter-transport-fleet {
  border-top: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-charter-transport-fleet p {
  color: var(--vip-text-muted);
}

.vip-fleet-card {
  height: 100%;
  padding: 0.7rem;
}

.vip-fleet-card-media {
  border: 1px solid var(--vip-border);
  margin-bottom: 0.65rem;
  min-height: 145px;
  overflow: hidden;
  padding: 0;
}

.vip-fleet-card-media img {
  min-height: 145px;
}

.vip-fleet-card h4 {
  margin-bottom: 0.35rem;
  margin-top: 0;
}

.vip-fleet-card h4 a {
  color: var(--wp--preset--color--neutral-800);
  text-decoration: none;
}

.vip-fleet-card h4 a:hover {
  text-decoration: underline;
}

.vip-fleet-meta {
  color: var(--wp--preset--color--neutral-600);
  margin-bottom: 0.35rem;
  margin-top: 0;
}

.vip-fleet-card p {
  color: var(--vip-text-muted);
  margin: 0;
}

.vip-careers-panel {
  padding: 1.1rem;
}

.vip-careers-panel h3 {
  margin-bottom: 0.45rem;
}

.vip-careers-panel ul {
  color: var(--vip-text-muted);
  margin-bottom: 1rem;
  margin-top: 0;
}

.vip-careers-form-wrap {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  padding: 1.1rem;
}

.vip-careers-form-wrap h3 {
  margin-bottom: 0.45rem;
}

.vip-careers-form-wrap > p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-about-sub-content {
  border-top: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-about-sub-row h3 {
  margin-bottom: 0.45rem;
}

.vip-about-sub-row p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-about-sub-media {
  border: 1px solid var(--vip-border);
  min-height: 200px;
  overflow: hidden;
  padding: 0;
}

.vip-about-sub-media img {
  min-height: 200px;
}

.vip-events-hero {
  border-radius: var(--vip-radius-lg);
  overflow: hidden;
}

.vip-events-hero-inner {
  max-width: 760px;
}

.vip-events-hero h1 {
  margin-bottom: 0.55rem;
}

.vip-events-hero p {
  color: var(--wp--preset--color--neutral-200);
  margin-top: 0;
}

.vip-events-shortcode-wrap .tribe-events {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-lg);
  padding: 1rem;
}

.vip-events-shortcode-wrap .tribe-events .tribe-events-header h1,
.vip-events-shortcode-wrap .tribe-events .tribe-events-calendar-list__month-separator-text {
  color: var(--wp--preset--color--neutral-800);
}

.vip-events-shortcode-wrap .tribe-events .tribe-events-c-top-bar {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
}

.vip-events-shortcode-wrap .tribe-events .tribe-events-calendar-list__event-row {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  margin-bottom: 0.8rem;
  padding: 0.8rem;
}

.vip-events-shortcode-wrap .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
  border-radius: var(--vip-radius-sm);
  overflow: hidden;
}

.vip-events-shortcode-wrap .tribe-events .tribe-events-c-search__button,
.vip-events-shortcode-wrap .tribe-events .tribe-events-c-subscribe-dropdown__button {
  border-radius: var(--vip-radius-sm);
}

.vip-events-cta,
.vip-events-single-cta-wrap .vip-events-cta {
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
  padding: 1.5rem 1.25rem;
}

.vip-events-cta h3 {
  margin-bottom: 0.45rem;
}

.vip-events-cta p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-events-single-back p {
  margin: 0;
}

.vip-events-single-back a {
  color: var(--wp--preset--color--neutral-500);
  font-size: 0.9rem;
  text-decoration: none;
}

.vip-events-single-back a:hover {
  text-decoration: underline;
}

.vip-events-single-hero {
  border-radius: var(--vip-radius-lg);
  overflow: hidden;
}

.vip-events-single-hero-inner {
  max-width: 760px;
}

.vip-events-chip {
  margin-bottom: 0.35rem;
}

.vip-events-chip a {
  background: var(--vip-overlay-soft);
  border: 1px solid var(--vip-overlay-strong);
  border-radius: var(--vip-radius-full);
  color: var(--wp--preset--color--base);
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 600;
  margin-right: 0.35rem;
  padding: 0.22rem 0.65rem;
  text-decoration: none;
}

.vip-events-single-hero .wp-block-post-title {
  margin-bottom: 0.45rem;
  margin-top: 0.2rem;
}

.vip-events-single-hero .wp-block-post-excerpt {
  color: var(--wp--preset--color--neutral-200);
  margin-top: 0.65rem;
  max-width: 60ch;
}

.vip-events-single-facts-wrap {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-events-single-facts .wp-block-column {
  min-width: 0;
}

.vip-events-fact-card {
  height: 100%;
  padding: 0.8rem;
}

.vip-events-fact-card > :first-child {
  margin-top: 0;
}

.vip-events-fact-label {
  color: var(--wp--preset--color--neutral-500);
  letter-spacing: 0.03em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.vip-events-fact-card .wp-block-post-date,
.vip-events-fact-card .wp-block-post-terms {
  margin: 0;
}

.vip-events-fact-card .wp-block-post-terms a {
  color: var(--wp--preset--color--brand-700);
  text-decoration: none;
}

.vip-events-fact-card .wp-block-post-terms a:hover {
  text-decoration: underline;
}

.vip-events-fact-button {
  margin-top: 0.2rem;
}

.vip-events-single-content-wrap {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
}

.vip-events-ticketing {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-lg);
  padding: 1rem;
}

.vip-events-ticketing h3 {
  margin-bottom: 0.45rem;
}

.vip-events-ticketing > p {
  color: var(--vip-text-muted);
  margin-top: 0;
}

.vip-events-ticketing .tribe-tickets {
  margin-top: 0;
}

.vip-events-ticketing .tribe-common .tribe-common-c-btn,
.vip-events-ticketing .tribe-common .tribe-common-c-btn-border {
  border-radius: var(--vip-radius-sm);
}

.vip-events-single-sidebar {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  padding: 0.9rem;
}

.vip-events-single-sidebar h4 {
  margin-bottom: 0.65rem;
}

.vip-events-sidebar-actions {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  margin-bottom: 0.95rem;
  padding: 0.75rem;
}

.vip-events-sidebar-actions h5 {
  margin: 0 0 0.55rem;
}

.vip-events-side-card {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}

.vip-events-side-card:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.vip-events-side-card .wp-block-post-featured-image {
  margin: 0 0 0.45rem;
}

.vip-events-side-card .wp-block-post-featured-image img {
  border-radius: var(--vip-radius-sm);
  height: 110px;
  object-fit: cover;
}

.vip-events-side-card .wp-block-post-title {
  font-size: 0.95rem;
  line-height: 1.35;
  margin: 0 0 0.25rem;
}

.vip-events-mobile-bookbar-wrap {
  margin: 0;
}

.vip-events-mobile-bookbar {
  display: none;
}

.vip-about-sub-panel {
  height: 100%;
  padding: 1rem;
}

.vip-about-sub-panel h3 {
  margin-bottom: 0.45rem;
}

.vip-about-sub-panel ul {
  color: var(--vip-text-muted);
  margin: 0;
}

.vip-about-faq-panel {
  border: 1px solid var(--vip-border);
  border-radius: var(--vip-radius-md);
  padding: 0.8rem 1rem;
}

.vip-about-faq-panel .wp-block-details {
  border-bottom: 1px solid var(--wp--preset--color--neutral-200);
  margin: 0;
  padding: 0.8rem 0;
}

.vip-about-faq-panel .wp-block-details:last-child {
  border-bottom: 0;
}

.vip-footer-social {
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 1201px) {
  .vip-site-header-columns {
    gap: 1rem;
  }

  .vip-site-navigation {
    justify-content: center !important;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}

@media (max-width: 1200px) {
  .vip-site-header .vip-site-header-brand {
    flex-basis: auto !important;
    flex-grow: 1;
  }

  .vip-site-header .vip-site-header-nav {
    flex-basis: auto !important;
    flex-grow: 1;
  }

  .vip-site-header .vip-site-header-quote {
    display: none;
  }

  .vip-site-navigation {
    justify-content: flex-end !important;
  }

  .vip-site-header .vip-site-header-nav > .vip-site-navigation {
    flex: 0 0 auto;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
    position: fixed;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: flex-start;
    gap: 0.35rem;
    padding-bottom: 0.5rem;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100%;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
    white-space: normal;
  }

  .vip-site-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    background: transparent;
    border-bottom: 0;
    border-left: 1px solid var(--vip-border);
    border-right: 0;
    box-shadow: none;
    border-top: 0;
    margin: 0 0 0.55rem 0.6rem;
    max-width: none;
    min-width: 0;
    padding: 0 0 0 0.7rem;
  }
}

@media (max-width: 1200px) and (min-width: 782px) {
  .vip-site-header-columns {
    gap: 0.75rem;
  }
}

@media (min-width: 782px) {
  .vip-site-header .wp-block-site-title a {
    max-width: 18ch;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .vip-form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vip-tour-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vip-home-hero .wp-block-columns {
    gap: 3rem;
  }

  .vip-home-about-row .wp-block-columns {
    gap: 2.75rem;
  }

  .vip-home-samples .wp-block-columns {
    gap: 2.25rem;
  }

  .vip-about-row .wp-block-columns {
    gap: 2.5rem;
  }

  .vip-tours-hero .wp-block-columns {
    gap: 3rem;
  }

  .vip-tours-gallery-intro .wp-block-columns {
    gap: 2.75rem;
  }

  .vip-tours-icon-row {
    gap: 1rem;
  }

  .vip-tours-showcase .wp-block-post-template {
    gap: 0.9rem;
  }

  .vip-blog-content-row {
    gap: 2rem;
  }

  .vip-blog-single-body-row {
    gap: 2.3rem;
  }

  .vip-blog-sidebar {
    position: sticky;
    top: 1rem;
  }

  .vip-services-lines .wp-block-columns,
  .vip-services-charter-links .wp-block-columns {
    gap: 1.1rem;
  }

  .vip-charter-transport-hero .wp-block-columns,
  .vip-charter-transport-occasions .wp-block-columns,
  .vip-charter-transport-fleet .wp-block-columns {
    gap: 1.2rem;
  }

  .vip-fleet-grid-wrap .wp-block-columns {
    gap: 1rem;
  }

  .vip-events-single-facts {
    gap: 0.95rem;
  }

  .vip-careers-columns {
    gap: 1.5rem;
  }

  .vip-about-sub-row {
    gap: 2rem;
  }
}

@media (max-width: 781px) {
  .vip-site-header {
    padding-bottom: 0.85rem !important;
    padding-top: 0.85rem !important;
  }

  .vip-site-header-columns {
    gap: 0.6rem;
  }

  .vip-events-mobile-bookbar {
    align-items: center;
    background: var(--vip-surface-soft);
    border-top: 1px solid var(--vip-border-strong);
    bottom: 0;
    box-shadow: 0 -4px 14px var(--vip-shadow-soft);
    display: flex;
    left: 0;
    margin: 0;
    padding: 0.75rem 1rem;
    position: fixed;
    right: 0;
    z-index: 30;
  }

  .vip-events-mobile-bookbar p {
    font-size: 0.88rem;
    margin: 0;
  }

  .single-tribe_events .wp-site-blocks {
    padding-bottom: 5.5rem;
  }
}
