/* Sholai School - polish layer (loaded last, after Divi).
   Direction: calm, warm, close to the land. Cream paper, forest green,
   two type families already on the page (Raleway for headings, Open Sans
   for text) and Tangerine kept for two signature lines only.
   Rules are grouped by section; selectors carry an id (#main-content,
   #main-header, #page-container) only where Divi's own page CSS uses
   !important or inline styles and must be beaten. */

/* ---------- 1. Tokens ---------- */
:root {
  --sh-paper: #faf8f3;        /* page */
  --sh-paper-2: #f1ecdf;      /* tinted bands */
  --sh-line: #e2dccd;         /* hairlines, input borders */
  --sh-ink: #2b2b2b;          /* headings on light */
  --sh-text: #333333;         /* body on light, 11.9:1 on paper */
  --sh-muted: #5f5f5a;        /* secondary text, 6.1:1 on paper */
  --sh-green: #2d6a3e;        /* links, buttons, 6.1:1 on paper */
  --sh-green-700: #255a33;    /* hover */
  --sh-green-900: #1f3d27;    /* heading colour */
  --sh-leaf: #6f9a3d;         /* non-text accents: focus ring, rules */
  --sh-night: #1f2e22;        /* dark bands (replaces #000) */
  --sh-cream: #e9e4d6;        /* text on night, 11.2:1 */
  --sh-cream-2: #c9c2b0;      /* secondary on night, 8:1 */
  --sh-radius: 8px;
  --sh-ease: cubic-bezier(.23, 1, .32, 1);
  --sh-font-head: Raleway, "Open Sans", Arial, sans-serif;
  --sh-font-body: "Open Sans", Arial, sans-serif;
}

/* ---------- 2. Base: page, type, links, images ---------- */
html { background: var(--sh-paper); }
body {
  background: var(--sh-paper);
  color: var(--sh-text);
  font-family: var(--sh-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}
#page-container .et_pb_section { background-color: var(--sh-paper); }
#page-container .et_pb_section.et_pb_fullwidth_section { background-color: transparent; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--sh-font-head);
  font-weight: 600;
  color: var(--sh-green-900);
  line-height: 1.2;
  letter-spacing: -0.005em;
  padding-bottom: .45em;
}
h1 { font-size: clamp(28px, 3.2vw, 38px); line-height: 1.15; }
h2 { font-size: clamp(24px, 2.6vw, 31px); }
h3 { font-size: clamp(20px, 2vw, 24px); }
h4 { font-size: 19px; }
h5 { font-size: 17px; }
h6 { font-size: 15px; }
h1 b, h1 strong, h2 b, h2 strong { font-weight: 600; }

/* Readable measure for single-column prose; blocks that wrap text around a
   floated photo keep the full width, or the text is squeezed beside it */
.et_pb_column_4_4 .et_pb_text_inner:not(:has(.alignleft, .alignright)) { max-width: 72ch; }
.et_pb_text_align_center .et_pb_text_inner { margin-left: auto; margin-right: auto; }
#main-content p { padding-bottom: 1.1em; }
#main-content ul, #main-content ol { padding-bottom: 1em; line-height: 1.65; }
#main-content li { padding-bottom: .35em; }

#main-content .et_pb_text_inner a:not(.et_pb_button) {
  color: var(--sh-green);
  text-decoration: underline;
  text-decoration-color: rgba(45, 106, 62, .35);
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}
#main-content .et_pb_text_inner a:not(.et_pb_button):hover { color: var(--sh-green-700); text-decoration-color: currentColor; }

/* Content images: soft corners; hero and logos are untouched */
#main-content .et_pb_image_wrap, #main-content .et_pb_image_wrap img, #main-content .et_pb_text_inner img { border-radius: 6px; }
#main-content .et_pb_image_wrap { overflow: hidden; }

/* Tables (the weekly menu on Health, Diet & Wellness) */
#main-content .et_pb_text_inner table { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 1.2em; }
#main-content .et_pb_text_inner td, #main-content .et_pb_text_inner th { border: 1px solid var(--sh-line); padding: 10px 14px; vertical-align: top; }
#main-content .et_pb_text_inner tr:nth-child(odd) td { background: rgba(255, 255, 255, .55); }
#main-content .et_pb_text_inner td strong { color: var(--sh-green-900); }

/* Section rhythm: Divi uses 4% / 54px; one steady scale instead */
#page-container .et_pb_section:not(.et_pb_fullwidth_section) { padding: clamp(40px, 5.5vw, 72px) 0; }
#page-container .et_pb_row { padding: clamp(10px, 1.6vw, 22px) 0; }

/* ---------- 3. Accessibility: focus, skip link, reduced motion ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, [tabindex]:focus-visible, .mobile_menu_bar:focus-visible {
  outline: 3px solid var(--sh-leaf);
  outline-offset: 3px;
  border-radius: 4px;
}
.sholai-skip {
  position: absolute; left: 16px; top: -100px; z-index: 100000;
  padding: 10px 16px; background: var(--sh-green); color: #fff; border-radius: 6px;
  font: 600 15px/1.2 var(--sh-font-body); text-decoration: none;
}
.sholai-skip:focus { top: 12px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  /* Divi hides "animated" modules until they scroll in; show them at once */
  .et_animated, .et-waypoint { opacity: 1 !important; transform: none !important; }
  #simple-chat-button--button::before { animation: none !important; }
}

/* ---------- 4. Header and menus ---------- */
#main-header, .et-fixed-header#main-header {
  background-color: rgba(250, 248, 243, .97) !important;
  box-shadow: 0 1px 0 var(--sh-line) !important;
}
.et-fixed-header#main-header { box-shadow: 0 1px 0 var(--sh-line), 0 8px 24px rgba(31, 46, 34, .06) !important; }
/* Logo: Divi sizes it to the full bar height, so its round border touched the bar's edges. Leave air above and below. */
@media (min-width: 981px) {
  #main-header #logo { max-height: 60px !important; }
  #main-header.et-fixed-header #logo { max-height: 40px !important; }
}
#main-header #top-menu li a, #main-header .et_search_form_container input {
  letter-spacing: 0;
  color: var(--sh-ink);
  font-family: var(--sh-font-body);
  font-size: 15px;
  font-weight: 600;
  transition: color 160ms ease;
}
#main-header #top-menu li a:hover { color: var(--sh-green); opacity: 1; }
/* Current page: green with an underline (Divi painted it white on grey) */
#main-header #top-menu li.current-menu-item > a,
#main-header #top-menu li.current-menu-ancestor > a,
#main-header #top-menu li.current_page_item > a,
.et-fixed-header #main-header #top-menu li.current-menu-item > a {
  color: var(--sh-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--sh-leaf);
  text-underline-offset: 8px;
}
#main-header #et_search_icon:before { color: var(--sh-ink); }

/* Desktop dropdowns: paper panel, green rule, dark text */
#main-header #top-menu li ul, #main-header .nav li ul {
  background-color: var(--sh-paper) !important;
  border-top: 2px solid var(--sh-green);
  border-radius: 0 0 var(--sh-radius) var(--sh-radius);
  box-shadow: 0 14px 34px rgba(31, 46, 34, .14);
  padding: 10px 0;
}
#main-header #top-menu li ul a { color: var(--sh-ink) !important; font-weight: 500; padding: 9px 20px; }
#main-header #top-menu li ul a:hover { color: var(--sh-green) !important; background-color: rgba(45, 106, 62, .07); opacity: 1; }
#main-header #top-menu li ul li.current-menu-item > a { text-decoration: none; }

/* Phone menu: solid panel (it was translucent over the hero photo) */
#main-header .mobile_menu_bar:before { color: var(--sh-green); }
#main-header .et_mobile_menu {
  background-color: var(--sh-paper) !important;
  border-top: 2px solid var(--sh-green);
  box-shadow: 0 18px 40px rgba(31, 46, 34, .16);
  padding: 8px 0 14px;
  max-height: calc(100vh - 90px);
  overflow-y: auto;
}
#main-header .et_mobile_menu li a {
  color: var(--sh-ink);
  font-size: 16px;
  font-weight: 500;
  padding: 13px 24px;
  border-bottom: 1px solid var(--sh-line);
}
#main-header .et_mobile_menu .menu-item-has-children > a { font-weight: 600; background-color: transparent; }
#main-header .et_mobile_menu li li a { padding-left: 40px; font-size: 15px; color: var(--sh-muted); }
#main-header .et_mobile_menu li a:hover { background-color: rgba(45, 106, 62, .06); color: var(--sh-green); opacity: 1; }
#main-header .et_mobile_menu li.current-menu-item > a { color: var(--sh-green); }

/* ---------- 5. Hero (first section slider on every page) ---------- */
/* Static cover photo instead of fixed-attachment parallax: cheaper to
   paint on phones, and it was blank in iOS Safari and in full-page shots */
.et_parallax_bg.et_pb_parallax_css { background-attachment: scroll !important; background-position: center !important; }
.et_pb_section_0 .et_pb_slide { background-position: center; background-size: cover; }
.et_pb_section_0 .et_pb_slide_description { padding: max(96px, 12vw) 6% !important; }
/* The page builder used stacks of empty <h1> as spacers */
.et_pb_slide_content h1:empty, .et_pb_slide_content p:empty { display: none; }
/* One gradient overlay on every hero so the title always has contrast;
   Divi's per-page overlays (0.18-0.69) are switched off */
.et_pb_section_0 .et_pb_slide::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(18, 28, 20, .22) 0%, rgba(18, 28, 20, .26) 50%, rgba(18, 28, 20, .62) 100%);
}
#main-content .et_pb_slide_overlay_container { background-color: transparent !important; }
#main-content .et_pb_section_0 .et_pb_slide_description .et_pb_slide_title,
#main-content .et_pb_section_0 .et_pb_slide_content h1 {
  font-family: var(--sh-font-head) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-size: clamp(30px, 4.4vw, 54px) !important;
  line-height: 1.12;
  letter-spacing: .005em;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 10px 36px rgba(0, 0, 0, .25);
  margin: 0;
  padding-bottom: .2em;
}
/* "JIDDU KRISHNAMURTI" was set in a rounded display face via inline style */
#main-content .et_pb_section_0 .et_pb_slide_content h1[style] {
  text-align: center !important;
  letter-spacing: .08em;
  font-size: clamp(24px, 3.4vw, 42px) !important;
}
.et_pb_section_0 .et_pb_slide_content { font-size: clamp(16px, 1.4vw, 19px); color: #fff; }
.et_pb_section_0 .et_pb_slide_content p { padding-bottom: .4em; }
/* Home: Tangerine welcome line, larger so the thin script stays legible */
#main-content .et_pb_section_0 .et_pb_slide_title span[style*="Tangerine"] {
  font-family: Tangerine, cursive !important;
  font-size: clamp(54px, 7vw, 96px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  display: inline-block;
  padding-top: .15em;
}
#main-content .et_pb_section_0 .et_pb_slide_title:has(span[style*="Tangerine"]) { font-size: 1em !important; line-height: 1; }
/* Home slides 2-3: the quote panel and its titles */
#main-content .et_pb_slider_with_text_overlay .et_pb_text_overlay_wrapper {
  background-color: rgba(18, 28, 20, .58);
  border-radius: 12px;
  padding: 28px 32px;
}
#main-content .et_pb_slider_with_text_overlay .et_pb_slide_title { font-size: clamp(22px, 2.6vw, 34px) !important; padding-bottom: .4em; }
#main-content .et_pb_slider_with_text_overlay h1:not(.et_pb_slide_title) {
  font-family: var(--sh-font-head); font-weight: 400 !important; font-size: clamp(16px, 1.6vw, 21px); line-height: 1.5; color: var(--sh-cream);
}
#main-content .et_pb_slider_with_text_overlay h1 strong { font-weight: 400; }
.et-pb-controllers a { width: 8px; height: 8px; border-radius: 8px; }
/* Focal points: Divi crops every banner around its centre, which cut off heads and roofs */
.page-id-558 .et_pb_section_0 .et_pb_slide_0 { background-position: 50% 18% !important; }   /* Health & Wellness: the children's faces */
.page-id-531 .et_pb_section_0 .et_pb_slide_0 { background-position: 50% 4% !important; }    /* Alumni: the house and its roof */
/* Join Our Team: a group photo; a taller banner fits both rows of faces */
.page-id-562 .et_pb_section_0 .et_pb_slide_0 { background-position: 50% 15% !important; }
.page-id-562 .et_pb_section_0 .et_pb_slide_description { padding: max(120px, 15vw) 6% !important; }
/* Phones: the photo already fits the banner's height, but the 80px menu bar covers its top,
   where the faces are. Start the photo below the bar. */
@media (max-width: 980px) {
  .page-id-558 .et_pb_section_0 .et_pb_slide_0,
  .page-id-562 .et_pb_section_0 .et_pb_slide_0 {
    padding: 80px 0 0 !important; background-origin: content-box !important; background-clip: content-box !important;
  }
}

/* ---------- 6. Buttons and forms ---------- */
#page-container .et_pb_button {
  font-family: var(--sh-font-body);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25 !important;
  padding: 12px 22px !important;
  border: 2px solid var(--sh-green);
  border-radius: var(--sh-radius);
  background-color: var(--sh-green);
  color: #fff !important;
  text-shadow: none;
  transition: background-color 160ms var(--sh-ease), border-color 160ms var(--sh-ease), transform 160ms var(--sh-ease);
}
#page-container .et_pb_button:after { display: none; }      /* no sliding arrow, no width jump */
#page-container .et_pb_button:hover { background-color: var(--sh-green-700); border-color: var(--sh-green-700); padding: 12px 22px !important; }
#page-container .et_pb_button:active { transform: scale(.98); }
/* On photos and dark bands: cream button, green text */
#page-container .et_pb_bg_layout_dark .et_pb_button, #page-container .et_pb_slide .et_pb_button {
  background-color: var(--sh-paper);
  border-color: var(--sh-paper);
  color: var(--sh-green-900) !important;
}
#page-container .et_pb_bg_layout_dark .et_pb_button:hover, #page-container .et_pb_slide .et_pb_button:hover { background-color: #fff; border-color: #fff; }
/* Form submit: Divi's bottom row is a stretching flex row, so the button grew to the captcha's
   full height (98px). Align the row to the bottom so the button matches the captcha input. */
#main-content .et_contact_bottom_container { align-items: flex-end; }
#main-content .et_contact_bottom_container .et_pb_contact_right p { margin-bottom: 0; padding-bottom: 0; }
#main-content .et_pb_contact_submit { height: 52px; margin-bottom: 0; }

#main-content .et_pb_contact p input, #main-content .et_pb_contact p textarea {
  background-color: #fff;
  border: 1px solid var(--sh-line);
  border-radius: 6px;
  color: var(--sh-text);
  font-family: var(--sh-font-body);
  font-size: 16px;            /* 16px stops iOS zooming into the field */
  padding: 14px 16px;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
#main-content .et_pb_contact p input::placeholder, #main-content .et_pb_contact p textarea::placeholder { color: #767676; opacity: 1; }
#main-content .et_pb_contact p input:focus, #main-content .et_pb_contact p textarea:focus {
  border-color: var(--sh-green);
  box-shadow: 0 0 0 3px rgba(45, 106, 62, .18);
  outline: 0;
}
#main-content .et_pb_contact_right p input { max-width: 64px; text-align: center; }
#main-content .et_pb_contact_captcha_question { color: var(--sh-muted); }
#main-content .et-pb-contact-message { font-size: 15px; }
#main-content .et_pb_contact_main_title { padding-bottom: .5em; }

/* Call-out box (Mature Student brochure) */
#main-content .et_pb_promo:not(.et_pb_no_bg) { background-color: var(--sh-green-700) !important; border-radius: 12px; padding: 36px 28px; }
#main-content .et_pb_promo:not(.et_pb_no_bg) .et_pb_module_header { font-family: var(--sh-font-head) !important; font-size: 22px !important; font-weight: 600; }

/* ---------- 7. Footer ---------- */
#main-footer { background-color: var(--sh-night); border-top: 3px solid var(--sh-green); }
#main-footer #footer-bottom { background-color: transparent; padding: 26px 0 24px; }
#main-footer #footer-info { float: none; color: var(--sh-cream-2); font-size: 14px; padding: 0; }
#main-footer #footer-info a { color: var(--sh-cream); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(233, 228, 214, .4); transition: text-decoration-color 160ms ease; }
#main-footer #footer-info a:hover { text-decoration-color: currentColor; }
#main-footer #footer-info a + a { margin-left: .4em; }

/* ---------- 8. Home page bands (body.page-id-38) ---------- */
/* Quote band */
.page-id-38 #page-container .et_pb_section_1.et_pb_section { background-color: var(--sh-night) !important; }
.page-id-38 .et_pb_section_1 .et_pb_promo { padding: 24px 0; }
.page-id-38 .et_pb_section_1 .et_pb_promo h1 {
  font-family: var(--sh-font-head); font-weight: 400; font-style: italic;
  font-size: clamp(21px, 2.3vw, 30px); line-height: 1.45; letter-spacing: 0;
  max-width: 36em; margin: 0 auto; color: var(--sh-cream) !important;
}
.page-id-38 .et_pb_section_1 .et_pb_promo h1 strong { font-weight: 400; }
/* Clouds over the forest: cap the height, keep the photo */
.page-id-38 .et_pb_section_2 { max-height: min(56vh, 520px); min-height: 240px; overflow: hidden; }
.page-id-38 .et_pb_section_2 .et_pb_fullwidth_image_0 img { width: min(100%, 980px); opacity: .92; }
/* Krishnamurti band */
.page-id-38 #page-container .et_pb_section_3.et_pb_section { background-color: var(--sh-night) !important; }
.page-id-38 .et_pb_section_3 .et_pb_text_0 h1 {
  font-size: clamp(46px, 7vw, 84px) !important;
  font-weight: 700; line-height: 1.1; letter-spacing: 0;
  color: var(--sh-cream) !important; overflow-wrap: normal; word-break: keep-all; hyphens: none;
}
.page-id-38 .et_pb_section_3 .et_pb_image_0 { margin: 0 auto !important; text-align: center !important; max-width: 380px !important; }
.page-id-38 .et_pb_section_3 .et_pb_image_0 .et_pb_image_wrap { border-radius: 0; }
.page-id-38 .et_pb_section_3 .et_pb_row_3 .et_pb_text_inner h3 {
  font-family: var(--sh-font-body); font-weight: 400; font-size: 17px; line-height: 1.65;
  color: var(--sh-cream) !important; padding-left: 18px; border-left: 2px solid var(--sh-leaf);
}
/* Six facts: smaller icons, quieter text */
.page-id-38 #page-container .et_pb_section_4.et_pb_section { background-color: var(--sh-paper) !important; }
.page-id-38 .et_pb_row_4, .page-id-38 .et_pb_row_5 { background-color: var(--sh-paper) !important; padding: 28px 32px !important; }
.page-id-38 .et_pb_row_4 { border-radius: 12px 12px 0 0; padding-bottom: 8px !important; }
.page-id-38 .et_pb_row_5 { border-radius: 0 0 12px 12px; margin-top: -1px; }
.page-id-38 .et_pb_section_4 .et-pb-icon { font-size: 44px !important; color: var(--sh-green) !important; }
.page-id-38 .et_pb_section_4 .et_pb_blurb_position_left .et_pb_main_blurb_image { width: 56px; padding-top: 2px; }
.page-id-38 .et_pb_section_4 .et_pb_blurb_container { padding-left: 18px; }
.page-id-38 .et_pb_section_4 .et_pb_module_header { font-size: 18px; padding-bottom: .3em; }
.page-id-38 .et_pb_section_4 .et_pb_blurb_description { font-size: 15px; color: var(--sh-muted); line-height: 1.6; }
/* Green-energy numbers: one colour instead of four */
.page-id-38 #page-container .et_pb_section_5.et_pb_section { background-color: var(--sh-paper-2) !important; }
.page-id-38 .et_pb_number_counter .percent { color: var(--sh-green) !important; height: auto !important; margin-bottom: 4px !important; }
/* keep each number with its label; space goes between the pairs */
.page-id-38 .et_pb_number_counter { margin-bottom: 40px !important; }
.page-id-38 .et_pb_number_counter .percent p { font-family: var(--sh-font-head); font-weight: 600; font-size: clamp(40px, 4.6vw, 56px); line-height: 1.1; padding-bottom: 0 !important; }
.page-id-38 .et_pb_number_counter .title { color: var(--sh-text) !important; font-family: var(--sh-font-body); font-weight: 500; font-size: 15px; letter-spacing: .01em; }
/* Founder slide */
.page-id-38 #page-container .et_pb_slider .et_pb_slide_3 { background-color: var(--sh-night) !important; }
.page-id-38 .et_pb_slide_3 .et_pb_slide_description { padding: 56px 6%; text-align: left; }
.page-id-38 .et_pb_slide_3 .et_pb_slide_title { font-family: var(--sh-font-head); font-weight: 500; font-size: clamp(26px, 3vw, 36px); color: #fff !important; }
.page-id-38 .et_pb_slide_3 .et_pb_slide_title a { color: inherit !important; text-decoration: none; }
.page-id-38 .et_pb_slide_3 .et_pb_slide_content { font-size: 16px; color: var(--sh-cream); line-height: 1.7; }
.page-id-38 .et_pb_slide_3 .et_pb_slide_image img { border-radius: 10px; }
/* Board of studies: light band, dark text */
.page-id-38 #page-container .et_pb_section_7.et_pb_section { background-color: var(--sh-paper) !important; border-top: 1px solid var(--sh-line); }
.page-id-38 .et_pb_section_7 .et_pb_bg_layout_dark,
.page-id-38 .et_pb_section_7 .et_pb_bg_layout_dark :is(h1, h2, h3, h4, p, div) { color: var(--sh-text) !important; }
.page-id-38 .et_pb_section_7 .et_pb_bg_layout_dark h1, .page-id-38 .et_pb_section_7 .et_pb_module_header { color: var(--sh-green-900) !important; }
.page-id-38 .et_pb_section_7 .et_pb_blurb_description span[style] { color: var(--sh-muted) !important; }
.page-id-38 .et_pb_section_7 .et-pb-icon { color: var(--sh-green) !important; }
.page-id-38 .et_pb_section_7 .et_pb_image .et_pb_image_wrap { background: #fff; border: 1px solid var(--sh-line); border-radius: 10px; padding: 14px; }
.page-id-38 .et_pb_section_7 .et_pb_image_1 { background-color: transparent; }
/* Testimonials */
.page-id-38 #page-container .et_pb_testimonial { background-color: #fff !important; border: 1px solid var(--sh-line); border-radius: 12px; padding: 40px 32px 28px; }
.page-id-38 .et_pb_testimonial:before { background: var(--sh-paper); color: var(--sh-leaf); }
.page-id-38 .et_pb_testimonial_content { font-size: 16px; color: var(--sh-text); }
.page-id-38 .et_pb_testimonial_author { font-family: var(--sh-font-head); font-weight: 600; font-size: 15px; color: var(--sh-green-900); }
.page-id-38 .et_pb_testimonial_company { color: var(--sh-muted); }
/* Enquiry form band */
.page-id-38 #page-container .et_pb_section_9.et_pb_section { background-color: var(--sh-paper-2) !important; }
.page-id-38 .et_pb_section_10 iframe { display: block; }

/* ---------- 9. Events calendar (jQuery UI "ui-lightness" was orange) ---------- */
#main-content .fc .ui-widget-header, #main-content .fc .fc-widget-header,
#main-content .fc .ui-state-default, #main-content .fc .ui-widget-content .ui-state-default {
  background: var(--sh-paper-2) !important; background-image: none !important;
  border-color: var(--sh-line) !important; color: var(--sh-ink) !important; font-weight: 500 !important;
}
#main-content .fc .ui-state-hover, #main-content .fc .ui-state-active, #main-content .fc .ui-state-focus {
  background: var(--sh-green) !important; border-color: var(--sh-green-700) !important; color: #fff !important;
}
#main-content .fc .ui-icon { filter: grayscale(1); }
#main-content .fc-event, #main-content .fc-event-skin { background: var(--sh-green) !important; border-color: var(--sh-green-700) !important; color: #fff !important; }
#main-content .fc-day-number, #main-content .fc-header-title h2 { color: var(--sh-text); font-family: var(--sh-font-body); }
#main-content .fc-widget-content { border-color: var(--sh-line) !important; }
#main-content .events-table th { font-family: var(--sh-font-head); color: var(--sh-green-900); }
#main-content .events-table td, #main-content .events-table th { border-color: var(--sh-line) !important; }

/* ---------- 10. WhatsApp button and portfolio grid ---------- */
#simple-chat-button--text { box-shadow: 0 4px 14px rgba(31, 46, 34, .14); font-family: var(--sh-font-body); }
#simple-chat-button--button { box-shadow: 0 6px 18px rgba(31, 46, 34, .22); }
#main-content .et_pb_portfolio_item .et_pb_portfolio_image { border-radius: 8px; overflow: hidden; }

/* ---------- 11. Phone ---------- */
@media (max-width: 767px) {
  #page-container .et_pb_row { width: 88%; }
  .et_pb_column { margin-bottom: 26px; }
  #page-container .et_pb_section:not(.et_pb_fullwidth_section) { padding: 36px 0; }
  #page-container .et_pb_button { width: auto; }
  .et_pb_section_0 .et_pb_slide_description { padding: 112px 6% !important; }
  #main-content .et_pb_slider_with_text_overlay .et_pb_text_overlay_wrapper { padding: 18px 16px; }
  .page-id-38 .et_pb_section_3 .et_pb_row_3 .et_pb_text_inner h3 { font-size: 16px; }
  .page-id-38 .et_pb_slide_3 .et_pb_slide_description { padding: 40px 6%; text-align: center; }
  /* A photo floated beside text leaves a few words per line on a phone */
  #main-content .et_pb_text_inner .alignleft, #main-content .et_pb_text_inner .alignright {
    float: none; display: block; margin: 0 auto 1em; max-width: 100%;
  }
  #main-content .et_pb_text_inner table { font-size: 14px; }
  #main-content .et_pb_text_inner td, #main-content .et_pb_text_inner th { padding: 8px 10px; }
  #main-footer #footer-info { text-align: center; }
}
