/* ═══════════════════════════════════════════════════════════════════════════
   base.css: what page fragments inherited from the Themify Ultra theme.

   Live, every snippet sits inside Themify's document, so anything a page does
   not style itself falls back to the theme's element rules plus the Customizer
   typography (Inter, 18px, #333, capitalised headings ...). The theme CSS will
   not exist on the static site, so this file carries exactly those bare-element
   rules, copied from the live theme bundle (themify-473857983.css, 2026-11-10),
   in the same order and with the Customizer values resolved. No classes, no ids:
   chrome (header, footer, banner) is styled in chrome.css.
   Loaded before styles/site.css, which keeps its usual "last word".
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --tb_rounded_corner: 12px;
  --tb_rounded_corner_sm: 10px;
  --theme_accent: #ed1e24;
  --theme_accent_hover: #000;
  --theme_heading_color: #000;
  --theme_rounded: 12px;
  --theme_rounded_sm: 10px;
  --theme_input_rounded: 12px;
  --theme_input_border: rgba(0, 0, 0, .25);
  --theme_input_bg: #fff;
  --theme_input_color: #333;
  --theme_btn_rounded: 30px;
}

/* ── reset (theme) ───────────────────────────────────────────────────────── */
address, blockquote, body, button, dd, dl, dt, fieldset, figure, form,
h1, h2, h3, h4, h5, h6, html, legend, li, ol, p, pre, table, td, th, ul { margin: 0; padding: 0; }
a, fieldset, img { border: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
audio, iframe { max-width: 100%; }
iframe { border: 0; }
a { cursor: pointer; }
ol, ul { box-sizing: border-box; }
:where(figure) { margin: 0 0 1em; }
html :where(img[class*=wp-image-]) { height: auto; max-width: 100%; }

/* ── document ────────────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body {
  background-color: #fff;
  color: #333;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4em;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
a { color: #3772a3; text-decoration: none; transition: color .3s ease-in-out; }
a:hover { color: var(--theme_accent_hover); }
p { margin: 0 0 .5em; padding: 0; }
small { font-size: 87%; }
blockquote { border-left: 3px solid hsl(0 0% 59% / .3); font-size: 1.1em; line-height: 1.4em; margin: 0 5% 1.2em; padding: .8em 1.4em; }
ins { text-decoration: none; }
ol, ul { margin: 0 0 1.4em 1.6em; }
li, ol, ul { padding: 0; }
li { margin: 0 0 1em; }
img, input, textarea { box-sizing: border-box; }

/* ── headings: theme defaults, then the Customizer values ────────────────── */
h1, h2, h3, h4, h5, h6 { color: #333; font-family: "Inter", Arial, sans-serif; font-weight: 700; letter-spacing: -.02em; line-height: 1.4em; margin: 0 0 .5em; overflow-wrap: normal; }
h1, h2 { letter-spacing: -.03em; }
h5, h6 { line-height: 1.7em; }
h1 { font-weight: 700; letter-spacing: -.4px; font-size: 56px; line-height: 1.1em; text-transform: capitalize; }
h2 { font-weight: 700; font-size: 40px; line-height: 40px; text-transform: capitalize; }
h3 { font-weight: 400; font-size: 24px; text-transform: capitalize; }
h4 { font-weight: 400; font-size: 22px; text-transform: capitalize; }
h5 { font-weight: 400; font-size: 20px; }
h6 { font-weight: 400; font-size: 18px; }

@media (max-width: 600px) {
  body { font-size: 1em; }
  h1 { font-size: 2.3em; line-height: 1em; }
  h2 { font-size: 2em; line-height: 1em; }
  h3 { font-size: 1.4em; }
  h4 { font-size: 1.25em; }
  h5 { font-size: 1.1em; }
  h6 { font-size: 1em; }
}

/* ── form elements (theme) ───────────────────────────────────────────────── */
button, input, input[type=search], select, textarea { font-family: inherit; font-size: 100%; max-width: 100%; }
input:is([type=radio], [type=checkbox]), input:read-only, input:read-write, select, textarea {
  -webkit-appearance: none; appearance: none;
  background: var(--theme_input_bg); border: 1px solid var(--theme_input_border);
  border-radius: var(--theme_input_rounded); color: var(--theme_input_color); max-width: 100%; padding: .6em;
}
input:read-only, input:read-write { margin: 0 1em .6em 0; width: 17em; }
input[type=number] { width: 7em; }
textarea { margin: 0 0 .6em; min-height: 13.5em; width: 100%; }
select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='none' stroke='rgba(40,40,40,.8)' stroke-linecap='round' stroke-width='12'%3E%3Cpath d='m2.7 2.3 46.4 54.9L95.5 2.3'/%3E%3C/svg%3E");
  background-position: calc(100% - .7em) calc(50% + .15em); background-repeat: no-repeat; background-size: .85em;
  margin: 0 0 .6em; padding-right: 2em;
}
input:is([type=radio], [type=checkbox]) {
  -webkit-appearance: none; box-sizing: content-box; clear: none; cursor: pointer; display: inline-block;
  height: 1.3em; line-height: 1; margin: 0 .5em 0 0; min-height: 1.3em; min-width: 1.3em; padding: 0;
  text-align: center; vertical-align: middle; width: 1.3em;
}
input[type=checkbox] { border-radius: calc(var(--theme_input_rounded) - 4px); }
input[type=radio] { align-items: center; border-radius: 100% !important; display: inline-flex; justify-content: center; }
input[type=checkbox]:before { border-bottom: .13em solid #fff0; border-left: .13em solid #fff0; content: ""; display: inline-block; height: .32em; margin-bottom: .1em; margin-left: .1em; transform: rotate(-45deg) skewY(-10deg); width: .7em; }
input[type=checkbox]:checked:before { border-bottom: .13em solid; border-left: .13em solid; }
input[type=radio]:checked:before { background-color: var(--theme_input_color); border-radius: 100%; content: ""; display: inline-block; height: .7em; vertical-align: middle; width: .7em; }
:is(select, textarea):focus, input:read-only:focus, input:read-write:focus { border-color: rgb(0 0 0 / .5); }
button, input[type=reset], input[type=submit] {
  -webkit-appearance: none; background-color: var(--theme_accent); border: 0; border-radius: var(--theme_btn_rounded);
  color: #fff; cursor: pointer; display: inline-block; font-weight: 700; padding: .65em 1.6em;
  transition: background .3s, color .3s, transform .3s; width: auto;
}
button:hover, input:is([type=reset], [type=submit]):hover { background-color: var(--theme_accent_hover); box-shadow: 0 5px 10px rgb(0 0 0 / .1); color: #fff; transform: translateY(-1px); }
:is(button, a, input, select, textarea):focus-visible { outline: 2px solid rgb(0 176 255 / .8); }

/* ── page wrappers (Themify #body / #layout / #content, full width, no sidebar) ── */
#body, #layout, #content { box-sizing: border-box; max-width: 100%; width: 100%; padding: 0; margin: 0; }
#body { clear: both; }
#layout { display: block; }
