/* ==========================================================================
   Craitrix global site footer — shared by every static page, home.php and the
   WordPress blog theme. Extracted from the homepage (home.php) footer.
   Self-contained: defines its own tokens + Lora font so it renders the same
   regardless of the host page's CSS.
   ========================================================================== */
@font-face{ font-family:'Lora'; font-style:normal; font-weight:400 700; font-display:swap; src:url('/assets/fonts/Lora-Variable.woff2') format('woff2'); }
@font-face{ font-family:'Lora'; font-style:italic; font-weight:400 700; font-display:swap; src:url('/assets/fonts/Lora-Variable-Italic.woff2') format('woff2'); }

.chh-footer, .chh-news-popup{
  --blue-1:#0072FF; --blue-2:#0D47A1; --ink:#0a1733; --muted:#000000;
  --line:rgba(10,23,51,0.10);
  --font:'Lora','Georgia','Times New Roman',serif;
}
.chh-footer *, .chh-footer *::before, .chh-footer *::after,
.chh-news-popup *, .chh-news-popup *::before, .chh-news-popup *::after{ box-sizing:border-box; }
.chh-footer a, .chh-footer a:hover, .chh-footer a:focus{ text-decoration:none !important; }
.chh-footer .chh-arrow{ display:inline-block; transition:transform .25s cubic-bezier(.2,.7,.2,1); }
.chh-footer .chh-footer-cta-btn:hover .chh-arrow{ transform:translateX(4px); }

.chh-footer, .chh-footer *{ font-family: var(--font) !important; }
.chh-footer i.fa-solid, .chh-footer i.fas{ font-family:"Font Awesome 6 Free" !important; font-weight:900 !important; }
.chh-footer i.fa-brands, .chh-footer i.fab{ font-family:"Font Awesome 6 Brands" !important; font-weight:400 !important; }

.chh-footer{
  position:relative;
  background: linear-gradient(135deg, #eaf2ff, #dbe9ff);
  color: rgba(16,17,20,.68);
  padding: 76px 0 0;
}
.chh-footer-inner{ max-width:1320px; margin:0 auto; padding:0 40px; position:relative; }

/* CTA banner */
.chh-footer-cta{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border:1px solid rgba(255,255,255,.7);
  border-radius:22px;
  padding:38px 44px;
  margin-bottom:64px;
}
.chh-footer-cta h2{
  margin:0 0 8px !important; font-weight:800 !important; color:var(--ink) !important;
  font-size:clamp(1.5rem,2.6vw,2rem) !important; letter-spacing:-0.02em;
}
.chh-footer-cta p{ margin:0 !important; font-size:.98rem !important; color:var(--muted) !important; }
.chh-footer-cta-btn{
  display:inline-flex; align-items:center; gap:10px; flex-shrink:0;
  padding:15px 30px; border-radius:999px;
  background:var(--ink); color:#fff !important; font-weight:700 !important; font-size:.96rem !important;
  text-decoration:none; transition: transform .25s, background .25s;
}
.chh-footer-cta-btn:hover{ background:var(--blue-1); color:#fff !important; transform:translateY(-2px); }

/* Link grid */
.chh-footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:32px;
  padding-bottom:52px; border-bottom:1px solid rgba(16,17,20,.1);
}
.chh-footer-brand-logo{ display:flex; align-items:center; margin-bottom:16px; }
.chh-footer-brand-logo img{ height:32px; width:auto; object-fit:contain; }
.chh-footer-brand-desc{ font-size:.88rem !important; line-height:1.65 !important; color:var(--muted) !important; margin:0 0 22px !important; max-width:280px; }
.chh-footer-social{ display:flex; gap:10px; padding:36px 0; border-bottom:1px solid rgba(16,17,20,.1); }
.chh-footer-social a{
  width:38px; height:38px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.6); border:1px solid rgba(16,17,20,.08);
  color:var(--ink); transition: background .22s, color .22s, transform .22s;
}
.chh-footer-social a:hover{ background:#4da3ff; color:#fff; transform:translateY(-3px); }

.chh-footer-col h4{
  font-size:.82rem !important; font-weight:700 !important; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink) !important; margin:0 0 20px !important;
}
.chh-footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:13px; }
.chh-footer-col a{
  font-size:.88rem !important; color:var(--muted) !important; text-decoration:none;
  transition: color .2s;
}
.chh-footer-col a:hover{ color:var(--blue-1) !important; }

/* Contact / address strip */
.chh-footer-contact{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:28px; align-items:start;
  padding:44px 0; border-bottom:1px solid rgba(16,17,20,.1);
}
.chh-footer-contact-card{ display:flex; gap:14px; }
.chh-footer-contact-card--news{ width:100%; }
.chh-footer-contact-card--news > div{ width:100%; }
.chh-footer-contact-icon img{ width:100%; height:100%; object-fit:contain; border-radius:8px; }
.chh-footer-contact-icon{
  width:140px; height:76px; border-radius:14px; flex-shrink:0; padding:6px;
  background: var(--blue-1); border:1px solid rgba(16,17,20,.1);
  box-shadow: 0 10px 22px -8px rgba(0,114,255,.45);
  display:flex; align-items:center; justify-content:center; color:#fff;
}
.chh-footer-contact-card h5{ font-size:.86rem !important; font-weight:700 !important; color:var(--ink) !important; margin:0 0 4px !important; }
.chh-footer-contact-card p{ font-size:.82rem !important; line-height:1.55 !important; color:var(--muted) !important; margin:0 !important; }
.chh-footer-contact-card--news p{ margin:0 0 12px !important; }
.chh-footer-news-form{ display:flex; gap:8px; max-width:280px; }
.chh-footer-news-form input{
  flex:1; min-width:0; padding:10px 14px; border-radius:999px;
  border:1px solid rgba(16,17,20,.15); background:rgba(255,255,255,.7);
  font-size:.82rem !important; color:var(--ink) !important; outline:none;
}
.chh-footer-news-form input:focus{ border-color:var(--blue-1); }
.chh-footer-news-form button{
  flex-shrink:0; width:38px; height:38px; border-radius:50%; border:none;
  background:var(--blue-1); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:.8rem; transition: background .22s, transform .22s;
}
.chh-footer-news-form button:hover{ background:var(--ink); transform:translateY(-2px); }
.chh-footer-news-form button:disabled{ opacity:.6; cursor:default; transform:none; }
.chh-footer-news-msg{ margin:8px 0 0 !important; font-size:.78rem !important; min-height:1.1em; }
.chh-footer-news-msg--ok{ color:#1a8f5c !important; }
.chh-footer-news-msg--err{ color:#d33636 !important; }

/* Bottom bar */
.chh-footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:26px 0; font-size:.82rem !important; color:rgba(16,17,20,.5) !important;
}
.chh-footer-bottom a{ color:rgba(16,17,20,.5) !important; text-decoration:none; }
.chh-footer-bottom a:hover{ color:var(--blue-1) !important; }
.chh-footer-legal{ display:flex; gap:22px; }

@media (max-width:1024px){
  .chh-footer-grid{ grid-template-columns:1fr 1fr 1fr; }
  .chh-footer-contact{ grid-template-columns:1fr 1fr; }
}
@media (max-width:700px){
  .chh-footer-inner{ padding:0 22px; }
  .chh-footer-cta{ padding:28px; }
  .chh-footer-grid{ grid-template-columns:1fr 1fr; gap:36px 24px; }
  .chh-footer-contact{ grid-template-columns:1fr; }
  .chh-footer-bottom{ justify-content:center; text-align:center; }
}

/* Newsletter subscribe success popup */
.chh-news-popup, .chh-news-popup *{ font-family: var(--font) !important; }
.chh-news-popup i.fa-solid, .chh-news-popup i.fas{ font-family:"Font Awesome 6 Free" !important; font-weight:900 !important; }
.chh-news-popup i.fa-brands, .chh-news-popup i.fab{ font-family:"Font Awesome 6 Brands" !important; font-weight:400 !important; }
.chh-news-popup{
  position: fixed; inset: 0; z-index: 10001;
  display: none; align-items: center; justify-content: center;
  padding: 20px;
  background: rgba(6, 27, 74, 0.55);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  animation: chh-news-fadein .3s ease;
}
.chh-news-popup.is-open{ display: flex; }
@keyframes chh-news-fadein{ from{ opacity:0; } to{ opacity:1; } }
.chh-news-popup__card{
  position: relative;
  width: min(420px, 100%);
  background: #fff;
  border-radius: 20px;
  padding: 40px 32px 32px;
  text-align: center;
  box-shadow: 0 40px 90px rgba(0,0,0,.35);
  animation: chh-news-pop .4s cubic-bezier(.2,.7,.2,1);
}
@keyframes chh-news-pop{
  from{ opacity:0; transform: scale(.94) translateY(16px); }
  to{ opacity:1; transform: scale(1) translateY(0); }
}
.chh-news-popup__close{
  position: absolute; top: 14px; right: 14px;
  width: 32px; height: 32px; border-radius: 50%;
  border: 1px solid rgba(10,23,51,.1); background: #f4f7fc;
  color: var(--ink) !important; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, transform .2s;
}
.chh-news-popup__close:hover{ background:#eef1ff; transform: rotate(90deg); }
.chh-news-popup__icon{
  width: 64px; height: 64px; margin: 0 auto 18px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--blue-1) 12%, transparent);
  color: var(--blue-1);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
}
.chh-news-popup__title{
  margin: 0 0 10px !important; font-weight: 800 !important;
  font-size: 1.35rem !important; line-height: 1.25 !important;
  color: var(--ink) !important;
}
.chh-news-popup__desc{
  margin: 0 !important; font-size: .92rem !important; line-height: 1.6 !important;
  color: var(--muted) !important;
}
