/* Shared typography for every Spanish Louisville public page (matches the home page). */
html body { font-family:'PT Serif',Georgia,serif; font-size:17px; line-height:1.5; color:#1e1a1b; }
html body p, html body li { font-family:'PT Serif',Georgia,serif; font-size:17px; line-height:1.5; }
html body:not(.sl-home) :is(h1,h2,h3,h4,h5,.h1,.h2,.h3) { font-family:Barlow,sans-serif !important; font-weight:700; letter-spacing:0; }
html body:not(.sl-home) :is(h1,.h1) { font-size:clamp(2.39rem,3.84vw,3.45rem) !important; line-height:1.2 !important; }
html body:not(.sl-home) :is(h2,.h2) { font-size:clamp(2.39rem,3.84vw,3.45rem) !important; line-height:1.2 !important; }
html body:not(.sl-home) :is(h3,.h3) { font-size:clamp(1.6rem,2.2vw,2rem) !important; line-height:1.25 !important; }
html body:not(.sl-home) :is(h4,h5) { font-size:1.5rem !important; line-height:1.3 !important; }
html body .lead { font-family:Barlow,sans-serif; font-size:1.5rem; line-height:1.5; }
html body .btn, html body button, html body input, html body select, html body textarea,
html body label, html body .form-label, html body .form-control, html body .form-select,
html body .nav-link, html body .dropdown-item, html body .badge { font-family:Barlow,sans-serif; }
html body .btn { font-size:1.125rem; font-weight:600; border-radius:0; }
html body .form-control, html body .form-select { font-size:1.0625rem; }
html body .btn-primary, html body .btn-danger { background-color:#BD262D; border-color:#BD262D; }
html body a.btn[style*="C8102E"], html body .btn[style*="C8102E"] { border-radius:0 !important; }
/* keep the red site header/footer text on their own sizes */
html body footer p, html body footer li, html body footer a { font-size:17px; }
@media (min-width:1200px){ html body .container { max-width:1166px; } }
html body { overflow-x:clip; }
html body footer h5 { font-family:Barlow,sans-serif !important; font-weight:400; font-size:2.39rem !important; line-height:1.2 !important; }

/* ===== Spanish Louisville page template (matches spanishlouisville.com) =====
   Change these tokens / shared rules once and every section on the home page follows. */
:root {
  --sl-red:#BD262D; --sl-red-dark:#9e0b24; --sl-dark:#1f1b1c; --sl-text:#1e1a1b;
  --sl-gray:#adaeb3; --sl-gray-bg:rgba(173,174,179,.25);
  --sl-font-head:Barlow,sans-serif; --sl-font-body:'PT Serif',serif;
  --sl-max:1200px; --sl-section-pad:3em 1em;
}
/* section shell: every full-width band uses the same padding and 1200px inner width */
.app-sec,.traj-sec,.biz-sec,.about-sec,.svc-sec,.exp-sec { padding:var(--sl-section-pad); font-family:var(--sl-font-head); }
.app-inner,.traj-inner,.biz-inner,.about-inner,.svc-inner,.exp-inner { max-width:var(--sl-max); margin:0 auto; }
/* section headings: Barlow 700, 3.25em */
.traj-h2,.biz-h2,.about-h2,.svc-h2,.app-h2,.exp-h2,.slf-brand { font-family:var(--sl-font-head); font-weight:700; font-size:3.25em; line-height:1.2; color:var(--sl-text); margin:0 0 1rem; }
.biz-h2 { text-align:center; }
.app-h2 { color:#fff; }
/* body copy: PT Serif 17px */
.about-p,.svc-p,.exp-p { font-family:var(--sl-font-body); font-size:17px; line-height:1.5; color:var(--sl-text); margin:0 0 1.5em; }
.about-p,.exp-p { margin-bottom:2rem; }
@media (max-width:767.98px){ .traj-h2,.biz-h2,.about-h2,.svc-h2,.app-h2,.exp-h2 { font-size:2.4rem; } .traj-h2 { text-align:center; } }
/* light grey bands (original: rgba(173,174,179,.25)) */
.traj-sec,.svc-sec { background:var(--sl-gray-bg); }
.traj-sec { min-height:400px; }

/* ===== Spanish Louisville inner pages: same colors and flow as the home page =====
   Page = light grey, bands = solid SL red, buttons square. Forms keep their own layout. */
:root { --red:#BD262D; --red-dark:#9e1d23; --red-deeper:#7d1519; --c-accent:#BD262D; --c-accent-dark:#9e1d23; --c-bg:var(--sl-gray-bg-solid,#EBEBEC); }
html body:not(.sl-home) { background:#EBEBEC; }
/* gradient hero / call-to-action bands -> solid brand red */
html body:not(.sl-home) :is(.page-hero,.hero-card,.hero-band,.pub-hero),
html body:not(.sl-home) section[style*="linear-gradient(135deg"] { background:#BD262D !important; }
html body:not(.sl-home) :is([style^="color:#C8102E"],[style*=";color:#C8102E"],[style*="; color:#C8102E"],[style*=" color:#C8102E"]) { color:#BD262D !important; }
html body:not(.sl-home) [style*="background:#C8102E"] { background:#BD262D !important; }
html body:not(.sl-home) :is([style^="color:#8f1f2c"],[style*=";color:#8f1f2c"],[style*="; color:#8f1f2c"],[style*=" color:#8f1f2c"]) { color:#BD262D !important; }
/* square buttons like the original site */
html body:not(.sl-home) :is(.btn-red,.btn-ghost,.start-btn,.submit-btn) { border-radius:0 !important; }
/* the booking pages get the site header, so drop their stand-alone logo */
html body .bk-logo { display:none; }
html body:not(.sl-home) :is(.btn-red,.start-btn,.submit-btn,.btn-danger,.hero-overlay.no-img) { background:#BD262D !important; border-color:#BD262D !important; }
html body:not(.sl-home) :is(.btn-red,.start-btn,.submit-btn):hover { background:#9e1d23 !important; }
html body:not(.sl-home) :is(.detail-icon,.enroll-logo span) { color:#BD262D !important; }
/* checkout split pages: keep the compact form heading, brand the primary buttons */
html body.account-page .form-heading, html body .form-panel :is(h1,h2) { font-size:1.9rem !important; line-height:1.2 !important; }
html body:not(.sl-home) :is(.central-signup-submit,.btn-submit) { background:#BD262D !important; border-color:#BD262D !important; border-radius:0 !important; }
html body:not(.sl-home) :is(.central-signup-submit,.btn-submit):hover { background:#9e1d23 !important; }
/* red bands with the soft corner curves (matches the About testimonials) */
html body:not(.sl-home) :is(.page-hero,.sl-curve) { background-color:#BD262D !important; background-image:url('/images/sl/curves.svg') !important; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; }
/* level pills: dark so they read as clickable */
html body .level-pill { background:#111 !important; color:#fff !important; }
html body .level-pill:hover { background:#333 !important; color:#fff !important; }
html body .level-pill .dot { background:#fff !important; }

/* Mobile readability: lift small body text (does not affect nav, footer or desktop) */
@media (max-width:767px){
  body :not(footer):not(footer *)[style*="font-size:0.7"], body :not(footer):not(footer *)[style*="font-size:0.8"] { font-size:0.97rem !important; }
  body :not(footer):not(footer *)[style*="font-size:0.9"] { font-size:1.03rem !important; }
  body p:not(footer p)[style*="font-size:1rem"], body p:not(footer p)[style*="font-size:1.0"], body p:not(footer p):not([style*="font-size"]) { font-size:1.08rem; line-height:1.7; }
  .page-section-red p, .container p { line-height:1.7; }
}
@media (max-width:767px){ .accordion-body { font-size:1.06rem; } .accordion-body p { font-size:1.06rem !important; line-height:1.7 !important; } .class-detail { font-size:1.02rem; } }
