/*
 * Royal Cabs – layout fixes (v4.1.0)
 * Loaded last. Covers: mobile menu, booking forms, popup, blog/page content, brand polish.
 */

:root {
  --rc-orange: #f28c18;
  --rc-orange-2: #ffad3d;
  --rc-orange-dark: #c96600;
  --rc-ink: #17120d;
  --rc-text: #2b2218;
  --rc-muted: #6b5f53;
  --rc-line: #f0dcc2;
  --rc-cream: #fffaf3;
}

/* ------------------------------------------------------------------
 * 1. HEADER + MOBILE MENU
 * ------------------------------------------------------------------ */
.hc-nav-mobile-actions { display: none; }
.hc-submenu-toggle { display: none; }

@media (max-width: 1024px) {
  /* A backdrop-filter would trap the absolutely positioned menu on some browsers. */
  .hc-navbar-shell,
  .hc-site-header.is-sticky .hc-navbar-shell {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: #fffdf9 !important;
  }

  .hc-navbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
  }

  .hc-brand { flex: 0 1 auto; min-width: 0; }
  .hc-brand img { max-width: 168px; max-height: 48px; width: auto; height: auto; }

  .hc-desktop-contact-actions { display: none !important; }

  .hc-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--rc-line);
    border-radius: 14px;
    background: #fff;
    color: var(--rc-ink);
    box-shadow: 0 6px 18px rgba(95, 51, 8, .08);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .hc-menu-toggle[aria-expanded="true"] { background: var(--rc-orange); border-color: var(--rc-orange); color: #fff; }
  .hc-menu-toggle .hc-icon { width: 24px; height: 24px; stroke: currentColor; }

  /* The dropdown panel */
  .hc-primary-nav {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: var(--hc-menu-max, calc(100vh - 90px)) !important;
    margin: 0 !important;
    padding: 8px 14px 16px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 0 !important;
    border-top: 1px solid var(--rc-line) !important;
    border-radius: 0 0 22px 22px !important;
    background: #fffdf9 !important;
    box-shadow: 0 28px 50px rgba(23, 18, 13, .22) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
    z-index: 1002;
  }
  .hc-primary-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) !important;
  }

  .hc-primary-nav .hc-nav-list {
    display: block !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
  }
  .hc-primary-nav .hc-nav-list li {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid #f5e6d2;
    background: transparent !important;
  }
  .hc-primary-nav .hc-nav-list > li:last-child { border-bottom: 0; }
  .hc-primary-nav .hc-nav-list > li > a,
  .hc-primary-nav .hc-nav-list a {
    display: block;
    padding: 15px 52px 15px 8px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--rc-ink) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3;
    white-space: normal !important;
    text-transform: none !important;
  }
  .hc-primary-nav .hc-nav-list > li > a::after { display: none !important; }
  .hc-primary-nav .hc-nav-list > li > a:hover,
  .hc-primary-nav .hc-nav-list > li > a:focus-visible,
  .hc-primary-nav .hc-nav-list > li.current-menu-item > a,
  .hc-primary-nav .hc-nav-list > li.current_page_item > a { color: var(--rc-orange-dark) !important; background: #fff4e3 !important; }

  /* Sub menus: collapsed until the arrow is tapped */
  .hc-primary-nav .hc-nav-list .sub-menu {
    position: static !important;
    display: none !important;
    min-width: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 0 0 14px !important;
    border: 0 !important;
    border-left: 2px solid var(--rc-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .hc-primary-nav .hc-nav-list li.is-expanded > .sub-menu { display: block !important; }
  .hc-primary-nav .hc-nav-list .sub-menu a { padding: 11px 8px !important; font-size: 15px !important; font-weight: 600 !important; }
  .hc-primary-nav .hc-nav-list .sub-menu li { border-bottom: 0; }

  .hc-submenu-toggle {
    position: absolute;
    top: 6px;
    right: 0;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #fff4e3;
    color: var(--rc-orange-dark);
    cursor: pointer;
  }
  .hc-submenu-toggle svg { transition: transform .2s ease; }
  li.is-expanded > .hc-submenu-toggle svg { transform: rotate(180deg); }

  .hc-nav-mobile-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding-top: 14px;
  }
  .hc-nav-mobile-actions .hc-btn { min-height: 48px; width: 100%; padding: 12px 10px; font-size: 15px; }
  .hc-nav-mobile-actions .hc-btn-outline { border-color: var(--rc-line); color: var(--rc-ink); background: #fff; }
  .hc-nav-mobile-actions .hc-btn-outline:hover { background: #fff4e3; color: var(--rc-ink); }
  .hc-nav-mobile-actions .hc-btn-primary { color: #fff; }

  body.hc-menu-open { overflow: hidden; }
  body.hc-menu-open .hc-mobile-action-bar { display: none; }

  /* Stop the top bar overflowing on tablets and phones */
  .hc-topbar-trust { display: none; }
  .hc-topbar-inner { justify-content: center; }
  .hc-topbar-contact { flex-wrap: wrap; justify-content: center; gap: 6px 18px; }
}

@media (max-width: 640px) {
  .hc-topbar { display: none; }
  .hc-brand img { max-width: 150px; }
}

/* ------------------------------------------------------------------
 * 2. BOOKING CARD + FORMS (hero, popup, route pages)
 * ------------------------------------------------------------------ */
.hc-booking-card .hc-booking-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px;
  padding: 6px;
  border-radius: 18px;
}
.hc-booking-card .hc-booking-tabs button {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 6px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}
.hc-booking-card .hc-booking-tabs button .hc-icon { width: 16px; height: 16px; flex: 0 0 auto; }
.hc-booking-card .hc-booking-tabs button.is-active { background: linear-gradient(135deg, var(--rc-orange), var(--rc-orange-2)) !important; color: #fff !important; }

.hc-booking-panel[hidden] { display: none !important; }

form.hc-theme-booking-form { display: block; margin: 0; }
form.hc-theme-booking-form .hc-form-grid { display: grid; gap: 14px; margin-top: 18px; }
form.hc-theme-booking-form .hc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
form.hc-theme-booking-form .hc-form-field { display: block; margin: 0; min-width: 0; }
form.hc-theme-booking-form .hc-field-label {
  display: block;
  margin: 0 0 6px;
  color: var(--rc-ink);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
}
.hc-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; }

/* One clean bordered shell per field; the input itself is borderless */
form.hc-theme-booking-form .hc-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  height: 52px;
  min-height: 52px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1.5px solid #ead3b4;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
  transform: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
form.hc-theme-booking-form .hc-input-wrap:focus-within {
  border-color: var(--rc-orange);
  box-shadow: 0 0 0 4px rgba(242, 140, 24, .16);
  transform: none;
  background: #fff;
}
form.hc-theme-booking-form .hc-input-wrap > .hc-icon {
  position: static;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0 0 0 14px;
  color: var(--rc-orange) !important;
  transform: none;
  pointer-events: none;
}
form.hc-theme-booking-form .hc-input-wrap input:not([type="hidden"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  padding: 0 14px 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--rc-ink) !important;
  -webkit-text-fill-color: var(--rc-ink) !important;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  cursor: text !important;
  -webkit-appearance: none;
  appearance: none;
}
form.hc-theme-booking-form .hc-input-wrap input::placeholder { color: #9a8b7a !important; font-weight: 500; opacity: 1; }
form.hc-theme-booking-form .hc-input-wrap input[type="date"],
form.hc-theme-booking-form .hc-input-wrap input[type="time"] { color-scheme: light; min-height: 0; }
form.hc-theme-booking-form .hc-input-wrap input[type="date"]::-webkit-calendar-picker-indicator,
form.hc-theme-booking-form .hc-input-wrap input[type="time"]::-webkit-calendar-picker-indicator {
  display: block !important;
  opacity: .55;
  cursor: pointer;
  -webkit-appearance: auto !important;
}
form.hc-theme-booking-form .hc-input-wrap input:invalid:not(:placeholder-shown):not(:focus) { color: #b3261e !important; }

/* Submit */
form.hc-theme-booking-form .hc-form-submit {
  display: flex;
  width: 100%;
  min-height: 54px;
  margin-top: 18px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 18px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #1faa59, #25d366) !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(31, 170, 89, .30) !important;
  cursor: pointer;
}
form.hc-theme-booking-form .hc-form-submit:hover { background: linear-gradient(135deg, #17934b, #1faa59) !important; transform: translateY(-2px); }
form.hc-theme-booking-form .hc-form-submit:disabled { opacity: .75; cursor: progress; transform: none; }
form.hc-theme-booking-form .hc-form-submit .hc-icon { width: 20px; height: 20px; }
form.hc-theme-booking-form .hc-submit-default,
form.hc-theme-booking-form .hc-submit-loading { display: inline-flex; align-items: center; gap: 9px; }
form.hc-theme-booking-form [hidden] { display: none !important; }

form.hc-theme-booking-form .hc-form-status { min-height: 0; margin-top: 12px; font-size: 14px; font-weight: 650; line-height: 1.45; }
form.hc-theme-booking-form .hc-form-status:empty { display: none; }
form.hc-theme-booking-form .hc-form-status.is-success { color: #137a3d; }
form.hc-theme-booking-form .hc-form-status.is-error { color: #b3261e; }
.hc-form-whatsapp-link { color: var(--rc-orange-dark); text-decoration: underline; }
form.hc-theme-booking-form .hc-form-note { margin: 12px 0 0; color: var(--rc-muted); font-size: 12.5px; line-height: 1.5; text-align: center; }

@media (max-width: 480px) {
  form.hc-theme-booking-form .hc-form-row { grid-template-columns: 1fr; }
  .hc-booking-card .hc-booking-tabs button { font-size: 13px; padding: 10px 4px; gap: 5px; }
  .hc-booking-card .hc-booking-tabs button .hc-icon { display: none; }
}

/* ------------------------------------------------------------------
 * 3. POPUP
 * ------------------------------------------------------------------ */
.hc-booking-modal { padding: 18px; }
.hc-booking-modal-dialog {
  position: relative;
  width: min(100%, 540px);
  max-height: calc(100vh - 36px);
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 0 !important;
  border-radius: 26px;
  background: #fffaf3;
}
.hc-booking-modal-dialog .hc-booking-card,
.hc-booking-card-popup {
  margin: 0;
  padding: 30px 26px 24px !important;
  border: 0 !important;
  border-radius: 26px;
  box-shadow: none !important;
}
.hc-booking-card-popup .hc-booking-head { padding-right: 52px; }
.hc-booking-card-popup .hc-booking-head h2 { font-size: clamp(24px, 4.6vw, 30px); line-height: 1.12; }

/* Close button – dark icon on a light chip so it is always visible */
.hc-booking-modal-dialog > .hc-booking-modal-close,
.hc-booking-modal-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 30 !important;
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border: 1.5px solid #ead3b4 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--rc-ink) !important;
  box-shadow: 0 6px 18px rgba(23, 18, 13, .18);
  cursor: pointer;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-tap-highlight-color: transparent;
}
.hc-booking-modal-close .hc-icon { width: 20px !important; height: 20px !important; stroke: currentColor !important; stroke-width: 2.4; }
.hc-booking-modal-close:hover,
.hc-booking-modal-close:focus-visible { background: var(--rc-orange) !important; border-color: var(--rc-orange) !important; color: #fff !important; outline: 0; }

@media (max-width: 767px) {
  .hc-booking-modal { align-items: center; padding: 10px; }
  .hc-booking-modal-dialog { max-height: calc(100dvh - 20px); border-radius: 22px; }
  .hc-booking-modal-dialog .hc-booking-card,
  .hc-booking-card-popup { padding: 24px 16px 18px !important; border-radius: 22px; }
}

/* ------------------------------------------------------------------
 * 4. BLOG POSTS + PAGE CONTENT
 * ------------------------------------------------------------------ */
.hc-generic-content,
.hc-single-post { width: min(100% - 32px, 820px); max-width: 820px; margin-inline: auto; }
.hc-route-overview-section.hc-article-section { padding: 56px 0 80px; background: #fff; }

.hc-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  margin: 0 0 18px;
  color: #e9d9c4;
  font-size: 14px;
  font-weight: 650;
}
.hc-article-meta a { color: #ffd08a; }
.hc-article-meta span + span::before { content: "•"; margin-right: 16px; color: var(--rc-orange-2); }

.hc-prose {
  color: #3b3027;
  font-size: 17.5px;
  line-height: 1.85;
  overflow-wrap: anywhere;
  word-wrap: break-word;
}
.hc-prose > *:first-child { margin-top: 0; }
.hc-prose > *:last-child { margin-bottom: 0; }
.hc-prose p { margin: 0 0 1.35em; color: #3b3027; font-size: inherit; line-height: inherit; }
.hc-prose h1,
.hc-prose h2,
.hc-prose h3,
.hc-prose h4 { color: var(--rc-ink); font-weight: 800; letter-spacing: -.01em; line-height: 1.25; }
.hc-prose h1,
.hc-prose h2 { margin: 2.1em 0 .65em; padding-bottom: .35em; border-bottom: 2px solid #f6e5cd; font-size: clamp(25px, 3.6vw, 32px); }
.hc-prose > h1:first-child,
.hc-prose > h2:first-child { margin-top: 0; }
.hc-prose h3 { margin: 1.8em 0 .5em; font-size: clamp(21px, 2.8vw, 25px); }
.hc-prose h4 { margin: 1.5em 0 .45em; font-size: 19px; }
.hc-prose a { color: var(--rc-orange-dark); text-decoration: underline; text-underline-offset: 3px; font-weight: 650; }
.hc-prose a:hover { color: var(--rc-orange); }
.hc-prose strong, .hc-prose b { color: var(--rc-ink); font-weight: 800; }

/* The legacy stylesheet removes list bullets – restore them inside content */
.hc-prose ul,
.hc-prose ol { margin: 0 0 1.5em; padding-left: 1.5em; }
.hc-prose ul { list-style: disc outside; }
.hc-prose ol { list-style: decimal outside; }
.hc-prose li { display: list-item; margin: 0 0 .55em; padding-left: .2em; color: #3b3027; line-height: 1.75; }
.hc-prose li::marker { color: var(--rc-orange); font-weight: 800; }
.hc-prose li > ul,
.hc-prose li > ol { margin: .6em 0 .2em; }

.hc-prose img,
.hc-prose video,
.hc-prose iframe { display: block; max-width: 100%; height: auto; margin: 1.8em auto; border-radius: 18px; }
.hc-prose figure { margin: 1.8em 0; }
.hc-prose figure img { margin: 0 auto; }
.hc-prose figcaption { margin-top: 10px; color: var(--rc-muted); font-size: 14px; text-align: center; }
.hc-prose .alignleft { float: left; margin: .4em 1.5em 1em 0; max-width: 45%; }
.hc-prose .alignright { float: right; margin: .4em 0 1em 1.5em; max-width: 45%; }
.hc-prose .aligncenter { margin-inline: auto; }
.hc-prose::after { content: ""; display: table; clear: both; }

.hc-prose blockquote {
  margin: 1.8em 0;
  padding: 18px 22px;
  border-left: 5px solid var(--rc-orange);
  border-radius: 0 16px 16px 0;
  background: #fff6e9;
  color: #4a3a2a;
  font-style: italic;
}
.hc-prose blockquote p:last-child { margin-bottom: 0; }
.hc-prose hr { margin: 2.4em 0; border: 0; border-top: 2px solid #f6e5cd; }

.hc-prose table { display: block; width: 100%; max-width: 100%; margin: 1.8em 0; overflow-x: auto; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; }
.hc-prose th,
.hc-prose td { padding: 12px 14px; border: 1px solid #efd8bc; text-align: left; vertical-align: top; }
.hc-prose th { background: #fff1dc; color: var(--rc-ink); font-weight: 800; }
.hc-prose tr:nth-child(even) td { background: #fffaf3; }

.hc-article-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 56px;
  padding: 28px 30px;
  border-radius: 24px;
  background: linear-gradient(135deg, #17120d, #3b230d);
  color: #fff;
}
.hc-article-cta h3 { margin: 0 0 6px; color: #fff; font-size: 24px; line-height: 1.2; }
.hc-article-cta p { margin: 0; color: #ead9c4; font-size: 15.5px; line-height: 1.6; }
.hc-article-cta-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 10px; }
.hc-article-cta .hc-btn-outline { background: transparent; border-color: rgba(255, 255, 255, .45); color: #fff; }
.hc-article-cta .hc-btn-outline:hover { background: #fff; color: var(--rc-ink); }

.hc-article-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 36px; }
.hc-article-nav a { display: block; padding: 16px 18px; border: 1px solid var(--rc-line); border-radius: 16px; background: var(--rc-cream); color: var(--rc-ink); font-weight: 750; line-height: 1.4; }
.hc-article-nav a:hover { border-color: var(--rc-orange); }
.hc-article-nav small { display: block; margin-bottom: 4px; color: var(--rc-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hc-article-nav .is-next { text-align: right; }

.hc-generic-featured-image { width: 100%; max-height: 460px; margin: 0 0 36px; border-radius: 24px; object-fit: cover; }

@media (max-width: 767px) {
  .hc-route-overview-section.hc-article-section { padding: 34px 0 60px; }
  .hc-prose { font-size: 16.5px; line-height: 1.8; }
  .hc-prose h1, .hc-prose h2 { margin-top: 1.8em; }
  .hc-prose .alignleft, .hc-prose .alignright { float: none; max-width: 100%; margin: 1.4em auto; }
  .hc-article-cta { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
  .hc-article-cta-actions, .hc-article-cta-actions .hc-btn { width: 100%; }
  .hc-article-nav { grid-template-columns: 1fr; }
  .hc-article-nav .is-next { text-align: left; }
  .hc-content-hero h1 { font-size: clamp(28px, 8vw, 38px); line-height: 1.15; }
}

/* ------------------------------------------------------------------
 * 5. BLOG ARCHIVE / SEARCH GRID
 * ------------------------------------------------------------------ */
.rc-archive { padding: 64px 0 90px; background: var(--rc-cream); }
.rc-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.rc-post-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--rc-line); border-radius: 22px; background: #fff; box-shadow: 0 14px 40px rgba(95, 51, 8, .08); transition: transform .3s ease, box-shadow .3s ease; }
.rc-post-card:hover { transform: translateY(-6px); box-shadow: 0 24px 55px rgba(95, 51, 8, .14); }
.rc-post-thumb { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, #fff1dc, #ffd79f); }
.rc-post-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.rc-post-card:hover .rc-post-thumb img { transform: scale(1.05); }
.rc-post-thumb .hc-icon { position: absolute; inset: 0; margin: auto; width: 54px; height: 54px; color: var(--rc-orange); }
.rc-post-cat { position: absolute; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; background: var(--rc-ink); color: #ffd08a; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.rc-post-body { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 24px; }
.rc-post-meta { margin-bottom: 8px; color: var(--rc-muted); font-size: 13px; font-weight: 650; }
.rc-post-title { margin: 0 0 10px; font-size: 21px; font-weight: 800; line-height: 1.3; }
.rc-post-title a { color: var(--rc-ink); }
.rc-post-title a:hover { color: var(--rc-orange-dark); }
.rc-post-excerpt { margin: 0 0 18px; color: var(--rc-muted); font-size: 15px; line-height: 1.7; }
.rc-post-more { margin-top: auto; color: var(--rc-orange-dark); font-size: 14px; font-weight: 800; }
.rc-pagination { margin-top: 46px; }
.rc-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.rc-pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--rc-line); border-radius: 12px; background: #fff; color: var(--rc-ink); font-weight: 750; }
.rc-pagination .page-numbers.current,
.rc-pagination .page-numbers:hover { border-color: var(--rc-orange); background: var(--rc-orange); color: #fff; }
.rc-empty { max-width: 560px; margin: 0 auto; padding: 40px 24px; border: 1px solid var(--rc-line); border-radius: 22px; background: #fff; text-align: center; }
.rc-empty form { margin-top: 18px; }

@media (max-width: 1024px) { .rc-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .rc-archive { padding: 40px 0 70px; }
  .rc-post-grid { grid-template-columns: 1fr; gap: 20px; }
}

/* ------------------------------------------------------------------
 * 6. BRAND POLISH (remove leftover blue, keep the orange / black theme)
 * ------------------------------------------------------------------ */
.hc-hero.hc-hero-clean {
  background:
    radial-gradient(circle at 12% 16%, rgba(242, 140, 24, .28), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(255, 177, 59, .17), transparent 28%),
    linear-gradient(135deg, #17120d 0%, #291b0e 54%, #3b230d 100%) !important;
}
.hc-hero::before { background: radial-gradient(circle, rgba(242, 140, 24, .30), transparent 68%) !important; }
.hc-btn:focus-visible,
.hc-menu-toggle:focus-visible,
.hc-booking-tabs button:focus-visible,
.hc-accordion button:focus-visible,
.hc-footer-route-toggle:focus-visible { outline-color: rgba(242, 140, 24, .7) !important; }
.hc-btn-primary { box-shadow: 0 12px 28px rgba(242, 140, 24, .28); }
.hc-btn-outline { border-color: var(--rc-line); color: var(--rc-orange-dark); }
.hc-btn-outline:hover { background: var(--rc-orange); border-color: var(--rc-orange); color: #fff; }
.hc-back-to-top { background: var(--rc-orange) !important; box-shadow: 0 13px 30px rgba(242, 140, 24, .35) !important; }
.hc-mobile-action-bar { border-color: var(--rc-line); }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
img { max-width: 100%; height: auto; }
.hc-main { overflow-x: clip; }

/* Keep the sticky mobile action bar from covering the footer / forms */
@media (max-width: 767px) { body { padding-bottom: 74px; } }
