/*
 * Talents Chrétiens — global header + footer components
 * Extracted verbatim from the validated V3 package (component-header.html / component-footer.html).
 * Project-specific additions go in the *-wp.css files, not here.
 */

/* ==== tc-global-footer-v1 ==== */
/* ============================================================
   TC GLOBAL FOOTER — COMPOSANT UNIQUE V1
   À intégrer une seule fois dans WordPress et réutiliser partout.
   ============================================================ */
.tc-global-footer{
  /*
   * The shared palette, re-stated on the footer itself.
   * These names are also used by the page stylesheets, and a page is free to give one
   * a different meaning: the V33 landing defines --soft as a pale background tint
   * (#f6f7f9), while the footer uses it for the description and the column links. On
   * that page the links came out at 1.1:1 against the footer background — invisible.
   * Declaring them here means the footer reads the same on every page, whatever the
   * page defines at :root. The values are the shared palette, unchanged.
   */
  --navy:#0B132B; --navy-60:#3A506B; --txt:#0F1A2E; --soft:#3D4F63;
  --surface:#E8EDF2; --gold:#C6A756; --gold-dk:#A8893C;

  background:var(--surface,#E8EDF2)!important;
  border-top:1px solid rgba(198,167,86,.18)!important;
  color:var(--txt,#0F1A2E)!important;
  font-family:var(--font-body,'Inter',sans-serif)!important;
  margin:0!important;
}
.tc-global-footer *{box-sizing:border-box;}
.tc-ft-inner{max-width:1180px;margin:0 auto;padding:22px 40px 8px;}
.tc-ft-top{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(11,19,43,.08);
}
.tc-ft-brand-name{
  font-size:17px;
  line-height:1.25;
  font-weight:700;
  color:var(--navy,#0B132B);
  letter-spacing:-.3px;
}
.tc-ft-brand-desc{
  margin:9px 0 0!important;
  max-width:390px;
  font-size:13px!important;
  line-height:1.55!important;
  color:var(--soft,#3D4F63)!important;
  font-weight:400!important;
}
.tc-ft-disclaimer{
  display:block;
  margin-top:8px;
  font-size:11px;
  line-height:1.45;
  color:var(--navy-60,#3A506B);
}
.tc-ft-status{
  margin-top:10px;
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  color:var(--gold-dk,#A8893C);
}
.tc-ft-col{min-width:0;}
.tc-ft-col-title{
  margin:0 0 11px;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  color:var(--navy-60,#3A506B);
  text-transform:uppercase;
  letter-spacing:1.05px;
}
.tc-ft-col a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 6px;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:400!important;
  color:var(--soft,#3D4F63)!important;
  transition:color .18s ease;
}
.tc-ft-col a:hover{color:var(--navy,#0B132B)!important;}
.tc-ft-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:38px;
  padding-top:8px;
}
.tc-ft-copy{
  font-size:11px;
  line-height:1.4;
  color:var(--navy-60,#3A506B);
}
.tc-ft-legal{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:12px;
}
.tc-ft-legal a{
  text-decoration:none!important;
  font-size:11px!important;
  line-height:1.4!important;
  font-weight:400!important;
  color:var(--navy-60,#3A506B)!important;
}
.tc-ft-legal a:hover{color:var(--navy,#0B132B)!important;}

@media(max-width:900px){
  .tc-ft-inner{padding:18px 20px 8px;}
  .tc-ft-top{
    grid-template-columns:1.65fr 1fr 1fr;
    gap:22px 28px;
  }
  .tc-ft-brand{grid-column:1 / -1;}
  .tc-ft-brand-desc{max-width:620px;}
}
@media(max-width:600px){
  .tc-ft-inner{padding:18px 18px 8px;}
  .tc-ft-top{
    grid-template-columns:1fr 1fr;
    gap:20px 22px;
  }
  .tc-ft-brand{grid-column:1 / -1;}
  .tc-ft-col:last-child{grid-column:auto;}
  .tc-ft-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    padding:10px 0 4px;
  }
  .tc-ft-legal{
    justify-content:flex-start;
    gap:7px 12px;
  }
}

/* ==== tc-global-header-v1 ==== */
/* ============================================================
   TC GLOBAL HEADER V1 — COMPOSANT UNIQUE
   ============================================================ */
.tc-global-header{
  position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:900!important;
  height:68px!important;background:var(--surface,#E8EDF2)!important;
  border-bottom:1px solid rgba(11,19,43,.08)!important;
  display:block!important;
}
.tc-global-topbar{
  height:68px!important;min-height:68px!important;display:flex!important;align-items:center!important;
  padding:0 28px!important;gap:16px!important;max-width:none!important;
}
.tc-global-header .tb-logo{display:flex!important;align-items:center!important;text-decoration:none!important;flex-shrink:0!important;}
.tc-global-header .tb-logo img{height:65px!important;width:auto!important;max-width:300px!important;display:block!important;}
.tc-global-header .tb-r{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important;}
.tc-global-header .tb-icon-btn,.tc-global-header .tb-menu-btn{
  width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid rgba(11,19,43,.16)!important;background:#fff!important;
  color:var(--navy-60,#3A506B)!important;cursor:pointer!important;pointer-events:auto!important;
  visibility:visible!important;opacity:1!important;box-shadow:0 1px 6px rgba(11,19,43,.07)!important;
}
.tc-global-header .tb-icon-btn{border-radius:10px!important;}
.tc-global-header .tb-menu-btn{border-radius:8px!important;}
.tc-global-header .tb-icon-btn:hover,.tc-global-header .tb-menu-btn:hover{
  color:var(--navy,#0B132B)!important;background:var(--surface-2,#EDF1F5)!important;
}

/* Accueil : comportement validé — loupe seulement après sortie du hero */
body.tc-page-home .tc-global-header .tb-icon-btn{
  opacity:0!important;pointer-events:none!important;
}
body.tc-page-home .tc-global-header .tb-icon-btn.visible{
  opacity:1!important;pointer-events:auto!important;
}

/* Search panel */
.tc-global-search-panel{
  position:fixed!important;top:68px!important;left:0!important;right:0!important;z-index:890!important;
  background:var(--surface,#E8EDF2)!important;padding:0 20px!important;max-height:0!important;
  opacity:0!important;visibility:hidden!important;overflow:hidden!important;pointer-events:none!important;
  transform:translateY(-8px)!important;border-bottom:1px solid transparent!important;
  transition:max-height .28s ease,opacity .2s ease,transform .28s ease,padding .28s ease,visibility .2s ease!important;
}
.tc-global-search-panel.open{
  max-height:130px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translateY(0)!important;padding:20px 20px 22px!important;
  border-bottom-color:rgba(11,19,43,.06)!important;box-shadow:0 10px 24px rgba(11,19,43,.08)!important;
}
.tc-global-search-wrap{max-width:720px!important;margin:0 auto!important;}
.tc-global-search-form{
  display:flex!important;min-height:66px!important;background:#fff!important;
  border:1.5px solid var(--gold,#C6A756)!important;border-radius:16px!important;
  overflow:hidden!important;box-shadow:0 6px 28px rgba(11,19,43,.10)!important;
}
.tc-global-search-field{
  display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;
  padding:0 18px!important;color:var(--soft,#3D4F63)!important;
}
.tc-global-search-field:first-child{flex:65!important;}
.tc-global-search-location{
  flex:35!important;border-left:1px solid rgba(11,19,43,.10)!important;
  position:relative!important;padding-right:68px!important;
}
.tc-global-search-field input{
  width:100%!important;min-width:0!important;border:0!important;outline:0!important;box-shadow:none!important;
  background:transparent!important;font-family:'Inter',sans-serif!important;font-size:15px!important;
  color:var(--navy,#0B132B)!important;-webkit-appearance:none!important;appearance:none!important;
}
.tc-global-search-field input[type=search]::-webkit-search-cancel-button,
.tc-global-search-field input[type=search]::-webkit-search-decoration,
.tc-global-search-field input[type=search]::-webkit-search-results-button,
.tc-global-search-field input[type=search]::-webkit-search-results-decoration{display:none!important;-webkit-appearance:none!important;}
.tc-global-search-submit{
  position:absolute!important;right:14px!important;top:50%!important;transform:translateY(-50%)!important;
  width:44px!important;height:44px!important;border:0!important;border-radius:50%!important;background:transparent!important;
  color:var(--gold-dk,#A8893C)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;
}
.tc-global-search-submit:hover{background:rgba(198,167,86,.10)!important;}

/* Drawer */
.tc-global-drawer-overlay{
  position:fixed!important;inset:0!important;z-index:1000!important;background:rgba(11,19,43,.42)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .22s ease,visibility .22s ease!important;
}
.tc-global-drawer-overlay.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.tc-global-drawer{
  position:fixed!important;top:0!important;right:0!important;bottom:0!important;z-index:1001!important;
  width:300px!important;max-width:90vw!important;background:#fff!important;display:flex!important;flex-direction:column!important;
  transform:translateX(105%)!important;transition:transform .28s ease!important;box-shadow:-6px 0 30px rgba(11,19,43,.16)!important;
}
.tc-global-drawer.open{transform:translateX(0)!important;}
.tc-global-drawer-header{
  height:68px!important;min-height:68px!important;display:flex!important;align-items:center!important;
  padding:0 20px!important;border-bottom:1px solid rgba(11,19,43,.08)!important;
}
.tc-global-drawer-brand{font-size:15px!important;font-weight:700!important;color:var(--navy,#0B132B)!important;}
.tc-global-drawer-brand span{color:var(--gold-dk,#A8893C)!important;}
.tc-global-drawer .drawer-close{
  margin-left:auto!important;width:38px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;background:transparent!important;color:var(--navy-60,#3A506B)!important;cursor:pointer!important;
}
.tc-global-drawer-body{padding:20px!important;display:flex!important;flex-direction:column!important;gap:4px!important;overflow-y:auto!important;}
.tc-global-drawer .drawer-nav-link{
  display:block!important;padding:10px 12px!important;border-radius:8px!important;text-decoration:none!important;
  color:var(--navy-60,#3A506B)!important;font-size:15px!important;font-weight:500!important;
}
.tc-global-drawer .drawer-nav-link:hover{background:var(--surface,#E8EDF2)!important;color:var(--navy,#0B132B)!important;}
.tc-global-drawer .drawer-divider{height:1px!important;background:rgba(11,19,43,.08)!important;margin:10px 0!important;}
.tc-global-drawer .drawer-cta-primary,.tc-global-drawer .drawer-cta-secondary{
  display:block!important;text-decoration:none!important;text-align:center!important;border-radius:8px!important;font-size:14px!important;
}
.tc-global-drawer .drawer-cta-primary{
  background:var(--gold,#C6A756)!important;color:#fff!important;padding:12px 16px!important;font-weight:700!important;
}
.tc-global-drawer .drawer-cta-secondary{
  background:var(--surface,#E8EDF2)!important;color:var(--navy-60,#3A506B)!important;padding:10px 16px!important;font-weight:500!important;margin-top:4px!important;
}
body.tc-menu-open{overflow:hidden!important;}

@media(max-width:900px){
  .tc-global-topbar{padding:0 14px!important;gap:8px!important;}
  .tc-global-header .tb-logo img{height:36px!important;max-width:200px!important;}
}
@media(max-width:768px){
  /* Mobile reference: the two search fields are ALWAYS stacked, on every page. */
  .tc-global-search-panel{padding:0 16px!important;}
  .tc-global-search-panel.open{max-height:190px!important;padding:14px 16px 16px!important;}
  .tc-global-search-form{flex-direction:column!important;min-height:auto!important;border-radius:20px!important;}
  .tc-global-search-field,.tc-global-search-field:first-child,.tc-global-search-location{flex:none!important;width:100%!important;min-height:64px!important;}
  .tc-global-search-location{border-left:0!important;border-top:1px solid rgba(11,19,43,.09)!important;}
}

/* ── État de focus de la barre de recherche partagée ─────────────────────────
 * The form-field focus style (:not(.hs)>input:focus) is written for the fields
 * of the form, but it also matches the two inputs of the shared search bar and
 * outranks their own reset, drawing a 3px ring inside the rounded pill — the
 * extra frame reported on 04/10/2026. The inputs are put back to no ring, and
 * the focus is shown on the pill instead: one visible, accessible state for the
 * whole control, the same on every page that carries it.
 */
.tc-global-search-field input:focus,
.tc-global-search-field input:focus-visible{
  border-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.tc-global-search-form:focus-within{
  box-shadow:0 0 0 3px rgba(198,167,86,.22), 0 6px 28px rgba(11,19,43,.10)!important;
}
