/* Light refresh on top of the exported Divi 4.4 pages (Oct 2026).
   Type, spacing, rounded corners, soft shadows and buttons only; the layout is Divi's. Loaded after Divi's CSS. */

:root {
  --eb-green: #8cc63f;
  --eb-green-dark: #74ab2b;
  --eb-blue: #2ea3f2;
  --eb-navy: #0c71c3;
  --eb-ink: #23292f;
  --eb-text: #555c63;
  --eb-radius: 12px;
  --eb-shadow: 0 6px 24px rgba(16, 34, 52, .08);
  --eb-shadow-hover: 0 12px 32px rgba(16, 34, 52, .14);
}

html { scroll-behavior: smooth; }

body {
  color: var(--eb-text);
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body p { font-size: 15px; }

h1, h2, h3, h4, h5, h6 {
  color: var(--eb-ink);
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.25;
}

a { transition: color .2s ease, opacity .2s ease; }

/* Header: soft shadow instead of a hard line, frosted when it sticks on scroll */
#main-header { box-shadow: 0 1px 0 rgba(16, 34, 52, .04), 0 4px 18px rgba(16, 34, 52, .06); }
#main-header.et-fixed-header {
  background: rgba(255, 255, 255, .88) !important;
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  backdrop-filter: saturate(180%) blur(12px);
}
#top-menu li a { font-weight: 600; }

/* "Book Now" in the menu as a green pill; drawn behind the text so Divi's header height is untouched */
#top-menu li.menu-item-251 { margin-left: 10px; margin-right: 16px; }
#top-menu li.menu-item-251 > a { position: relative; z-index: 0; color: #fff !important; opacity: 1 !important; }
#top-menu li.menu-item-251 > a::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -16px;
  right: -16px;
  top: -9px;
  height: 34px;
  border-radius: 999px;
  background: var(--eb-green);
  transition: background .2s ease, transform .2s ease;
}
#top-menu li.menu-item-251 > a:hover::before { background: var(--eb-green-dark); transform: translateY(-1px); }

/* Buttons: pills without Divi's sliding arrow */
.et_pb_button,
.et_pb_button:hover {
  border-radius: 999px !important;
  border-width: 2px !important;
  padding: .5em 1.7em !important;
  font-weight: 600;
  letter-spacing: .01em;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}
.et_pb_button::after { display: none !important; }
.et_pb_button:hover { transform: translateY(-1px); }

/* Hero: the second button ("Book Now") filled green */
.et_pb_fullwidth_header .et_pb_button_two { background: var(--eb-green) !important; border-color: var(--eb-green) !important; color: #fff !important; }
.et_pb_fullwidth_header .et_pb_button_two:hover { background: var(--eb-green-dark) !important; border-color: var(--eb-green-dark) !important; }

/* Call-to-action band: rounded, with a light button */
.et_pb_promo { border-radius: var(--eb-radius); box-shadow: var(--eb-shadow); }
.et_pb_promo .et_pb_button { background: #fff !important; border-color: #fff !important; color: var(--eb-navy) !important; }
.et_pb_promo .et_pb_button:hover { background: rgba(255, 255, 255, .9) !important; }

/* Pictures: rounded with a soft shadow */
.et_pb_image img,
.et_pb_main_blurb_image img,
.et_pb_gallery_image img {
  border-radius: var(--eb-radius);
  box-shadow: var(--eb-shadow);
}
.et_pb_gallery_image { border-radius: var(--eb-radius); }

/* Home page blurbs: image lifts slightly on hover when it is a link */
.et_pb_blurb a .et_pb_main_blurb_image img { transition: transform .25s ease, box-shadow .25s ease; }
.et_pb_blurb a:hover .et_pb_main_blurb_image img { transform: translateY(-3px); box-shadow: var(--eb-shadow-hover); }

/* Pricing tables: separate cards */
.et_pb_pricing_table {
  border: 0 !important;
  border-radius: var(--eb-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--eb-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.et_pb_pricing_table:hover { transform: translateY(-4px); box-shadow: var(--eb-shadow-hover); }
.et_pb_pricing_heading { padding-top: 18px !important; padding-bottom: 14px !important; }
@media (min-width: 981px) {
  .et_pb_pricing_table_wrap { display: flex; gap: 24px; padding: 8px 0 12px; }
  .et_pb_pricing_table_wrap::after { display: none; }
  .et_pb_pricing .et_pb_pricing_table { float: none !important; flex: 1 1 0; width: auto !important; margin: 0 !important; }
}
@media (max-width: 767px) {
  .et_pb_pricing_table { margin-bottom: 20px; }
}

/* Footer: no blank space from the empty widget columns on phones */
#main-footer .footer-widget:empty { display: none; }
#footer-widgets { padding: 40px 0 16px; }
#main-footer .textwidget p { font-size: 14px; color: rgba(255, 255, 255, .75); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
