/* =============================================================
   Talentis — base.css
   Reset + Elementor theme compatibility
   (Replaces hello-elementor reset.css + theme.css + header-footer.css)
   ============================================================= */

/* ── Normalize / Reset ── */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

body {
  background-color: #fff;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  margin-block-start: 0.5rem;
  margin-block-end: 1rem;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
  font-family: inherit;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
  margin-block-start: 0;
  margin-block-end: 0.9rem;
}

a {
  background-color: transparent;
  text-decoration: none;
}

img {
  border-style: none;
  height: auto;
  max-width: 100%;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

dd, dl, dt, li, ol, ul {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin-block-start: 0;
  margin-block-end: 0;
  outline: 0;
  vertical-align: baseline;
}

/* ── WordPress core classes ── */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  color: #333;
  display: block;
  font-size: 1rem;
  height: auto;
  left: 5px;
  padding: 12px 24px;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.alignright  { float: right; margin-left: 1rem; }
.alignleft   { float: left; margin-right: 1rem; }
.aligncenter { clear: both; display: block; margin-inline: auto; }
.alignwide   { margin-inline: -80px; }
.alignfull   { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }

.hide { display: none !important; }

/* ── Elementor compatibility ── */

/* Pages built with Elementor header/footer — hide Hello header/footer */
.elementor-template-full-width .site-header,
.elementor-template-full-width .site-footer,
body.elementor-page .site-header:not(.tj-hdr),
body.elementor-page .site-footer:not(.tj-footer) {
  display: none;
}

/* Allow our custom header and footer */
.tj-hdr,
.tj-footer {
  display: block !important;
}

/* Elementor sections — edge to edge backgrounds */
.elementor-section.elementor-section-full_width,
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: 100% !important;
}

/* Elementor inner container — constrained content */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Body padding from WP admin bar */
body.admin-bar {
  padding-top: 0;
}

body.admin-bar .tj-hdr {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .tj-hdr {
    top: 46px;
  }
}

/* ── Site header/footer (default — hidden for Elementor pages) ── */
.site-header,
.site-footer {
  display: none;
}

/* ── WordPress image captions ── */
.wp-caption {
  margin-block-end: 1.25rem;
  max-width: 100%;
}

.wp-caption img {
  display: block;
  margin-inline: auto;
}

.wp-caption-text {
  margin: 0;
  font-size: 0.875rem;
  font-style: italic;
  color: #6b7280;
}

/* ── Comments ── */
.comments-area a,
.page-content a {
  text-decoration: underline;
}

/* ── Print ── */
@media print {
  *,
  *::after,
  *::before {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  img,
  tr {
    break-inside: avoid;
  }

  h2,
  h3 {
    break-after: avoid;
  }
}
