/* Lavender Pre-School – Fresh Classic Skin
   Safe CSS-only refresh. No absolute positioning, no forced column reordering. */

:root {
  --lav-ink: #2f2635;
  --lav-text: #51475a;
  --lav-muted: #7a7080;
  --lav-deep: #6c4a7f;
  --lav-mid: #a985c7;
  --lav-soft: #e8dcf4;
  --lav-mist: #f8f3fb;
  --lav-cream: #fffaf1;
  --lav-sage: #dfeadf;
  --lav-white: #ffffff;
  --lav-border: rgba(108, 74, 127, 0.16);
  --lav-shadow: 0 12px 32px rgba(62, 42, 78, 0.10);
  --lav-radius: 20px;
}

html body {
  background: var(--lav-cream) !important;
  color: var(--lav-text) !important;
  font-family: "Lato", "Open Sans", Arial, sans-serif !important;
  font-size: 17px;
  line-height: 1.72;
}

body #page-container {
  background:
    radial-gradient(circle at top left, rgba(232,220,244,.85), transparent 34rem),
    linear-gradient(180deg, var(--lav-cream) 0%, #fff 34%, var(--lav-mist) 100%) !important;
}

/* Header / navigation */
#main-header,
.et-l--header,
.et_pb_menu,
.et_pb_section.et_pb_section_0_tb_header {
  background: rgba(255, 250, 241, 0.94) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 24px rgba(60, 40, 70, 0.08) !important;
}

#top-menu li a,
.et-menu li a,
.et_pb_menu__menu a {
  color: var(--lav-ink) !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

#top-menu li a:hover,
.et-menu li a:hover,
.et_pb_menu__menu a:hover {
  color: var(--lav-deep) !important;
  opacity: 1 !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6,
.et_pb_module_header,
.et_pb_text h1,
.et_pb_text h2,
.et_pb_text h3 {
  color: var(--lav-ink) !important;
  font-family: Georgia, Garamond, "Times New Roman", serif !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em;
}

h1, .et_pb_text h1, .et_pb_fullwidth_header h1 {
  font-size: clamp(2.4rem, 5vw, 4.8rem) !important;
  max-width: 920px;
}

h2, .et_pb_text h2 {
  font-size: clamp(2rem, 3.4vw, 3.3rem) !important;
  margin-bottom: 1rem;
}

h3, .et_pb_text h3, .et_pb_blurb h4 {
  font-size: clamp(1.35rem, 2vw, 1.8rem) !important;
}

p, .et_pb_text_inner, .et_pb_blurb_description {
  color: var(--lav-text) !important;
}

/* Sections: more breathing room without moving layout */
.et_pb_section {
  padding-top: clamp(46px, 7vw, 92px) !important;
  padding-bottom: clamp(46px, 7vw, 92px) !important;
}

.et_pb_row {
  width: min(92%, 1180px) !important;
  max-width: 1180px !important;
}

/* First visible content section – make it feel like a real homepage hero */
body.home .et_pb_section:first-of-type,
body.page-id-2 .et_pb_section:first-of-type,
body.page-template-default .et_pb_section:first-of-type {
  background:
    linear-gradient(115deg, rgba(255,250,241,.96) 0%, rgba(248,243,251,.92) 52%, rgba(223,234,223,.70) 100%) !important;
  border-bottom: 1px solid var(--lav-border);
  padding-top: clamp(70px, 9vw, 125px) !important;
  padding-bottom: clamp(55px, 8vw, 105px) !important;
}

body.home .et_pb_section:first-of-type .et_pb_text:first-child,
body.page-id-2 .et_pb_section:first-of-type .et_pb_text:first-child {
  max-width: 850px;
}

/* Text panels – subtle paper effect */
.et_pb_text:not(.et_pb_bg_layout_dark),
.et_pb_blurb,
.et_pb_code,
.et_pb_contact_form_container,
.et_pb_toggle,
.et_pb_accordion_item,
.et_pb_testimonial {
  border-radius: var(--lav-radius) !important;
}

.et_pb_section:not(:first-of-type) .et_pb_text:not(.no-card):not(.et_pb_bg_layout_dark) {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(108,74,127,.09);
  box-shadow: 0 8px 24px rgba(62,42,78,.055);
  padding: clamp(20px, 3vw, 34px) !important;
}

/* Blurbs/cards – visibly different: soft left accent instead of heavy card grid */
.et_pb_blurb {
  background: var(--lav-white) !important;
  border: 1px solid var(--lav-border) !important;
  border-left: 7px solid var(--lav-mid) !important;
  box-shadow: 0 7px 22px rgba(62,42,78,.075) !important;
  padding: 24px 24px 22px !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.et_pb_blurb:hover {
  transform: translateY(-3px);
  box-shadow: var(--lav-shadow) !important;
  border-left-color: var(--lav-deep) !important;
}

.et_pb_blurb .et_pb_main_blurb_image,
.et_pb_blurb .et-pb-icon {
  color: var(--lav-deep) !important;
}

/* Images – elegant print style, not modern bubble cards */
.et_pb_image img,
.et_pb_gallery_image img,
.et_pb_post img {
  border-radius: 12px !important;
  box-shadow: 0 10px 28px rgba(62,42,78,.12) !important;
  border: 10px solid rgba(255,255,255,.9) !important;
}

.et_pb_image:hover img,
.et_pb_gallery_image:hover img {
  transform: scale(1.012);
}

.et_pb_image img,
.et_pb_gallery_image img {
  transition: transform .28s ease, box-shadow .28s ease !important;
}

/* Buttons – calmer, classic pill */
.et_pb_button,
.et_button_no_icon .et_pb_button,
a.et_pb_button,
button,
input[type="submit"] {
  background: var(--lav-deep) !important;
  color: #fff !important;
  border: 2px solid var(--lav-deep) !important;
  border-radius: 999px !important;
  padding: .78rem 1.45rem !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  box-shadow: 0 8px 20px rgba(108,74,127,.20) !important;
  transition: all .22s ease !important;
}

.et_pb_button:hover,
a.et_pb_button:hover,
button:hover,
input[type="submit"]:hover {
  background: transparent !important;
  color: var(--lav-deep) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(108,74,127,.16) !important;
}

/* Forms */
.et_pb_contact_field input,
.et_pb_contact_field textarea,
input[type="text"],
input[type="email"],
textarea {
  background: #fff !important;
  border: 1px solid var(--lav-border) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  color: var(--lav-ink) !important;
}

.et_pb_contact_field input:focus,
.et_pb_contact_field textarea:focus,
input:focus,
textarea:focus {
  outline: 3px solid rgba(169,133,199,.25) !important;
  border-color: var(--lav-mid) !important;
}

/* Blog/news posts */
.et_pb_post,
.et_pb_blog_grid .et_pb_post {
  background: #fff !important;
  border: 1px solid var(--lav-border) !important;
  border-radius: var(--lav-radius) !important;
  padding: 24px !important;
  box-shadow: 0 7px 22px rgba(62,42,78,.075) !important;
}

.et_pb_post .entry-title a,
.et_pb_post h2 a {
  color: var(--lav-ink) !important;
}

/* Footer */
#main-footer,
.et-l--footer,
.footer-widget,
.et_pb_section.et_pb_section_0_tb_footer {
  background: var(--lav-ink) !important;
  color: rgba(255,255,255,.86) !important;
}

#main-footer a,
.et-l--footer a {
  color: var(--lav-soft) !important;
}

/* Mobile */
@media (max-width: 980px) {
  html body { font-size: 16px; }
  .et_pb_section { padding-top: 44px !important; padding-bottom: 44px !important; }
  .et_pb_row { width: 90% !important; }
}

@media (max-width: 640px) {
  h1, .et_pb_text h1, .et_pb_fullwidth_header h1 { font-size: 2.35rem !important; }
  h2, .et_pb_text h2 { font-size: 1.9rem !important; }
  .et_pb_section:not(:first-of-type) .et_pb_text:not(.no-card):not(.et_pb_bg_layout_dark),
  .et_pb_blurb,
  .et_pb_post { padding: 20px !important; }
  .et_pb_image img,
  .et_pb_gallery_image img { border-width: 6px !important; }
}
