/*
Theme Name: Hallmark University (Educavo Child)
Theme URI: https://hallmarkuniversity.edu.ng
Description: Child theme of Educavo for Hallmark University. Holds all Hallmark
  branding overrides (palette, typography, spacing) so the parent theme stays
  update-safe. Do not edit the parent theme directly.
Author: Hallmark University
Template: educavo
Version: 0.1.0
Text Domain: educavo-child
*/

/* =========================================================================
   HALLMARK UNIVERSITY  —  brand override layer
   Palette:  Navy #1C335F  ·  Navy deep #12233F  ·  Gold #F4BF00
   Loaded after every parent + plugin stylesheet (handle: educavo-style).
   ========================================================================= */

:root{
  --hu-navy:        #1C335F;
  --hu-navy-deep:   #12233F;
  --hu-navy-soft:   #2C4A7C;
  --hu-gold:        #F4BF00;
  --hu-gold-deep:   #D4A500;
  --hu-ink:         #2B3444;
  --hu-muted:       #5B6676;
  --hu-paper:       #F7F9FC;
  --hu-line:        #E4E9F1;
  --hu-serif:       "Lora", Georgia, "Times New Roman", serif;
  --hu-sans:        "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ------------------------------------------------------------------ TYPE */
body,
.rs-body,
p, li, .elementor-widget-text-editor{
  font-family: var(--hu-sans);
  color: var(--hu-ink);
}

h1,h2,h3,.rs-heading .title,.sec-title .title,.elementor-heading-title,
.rs-dual-heading .title,.page-title,.entry-title{
  font-family: var(--hu-serif) !important;
  letter-spacing: -0.01em;
  color: var(--hu-navy-deep);
}
h1,.page-title{ line-height:1.12; font-weight:600; }
h2,.rs-heading .title{ line-height:1.18; font-weight:600; }
h3{ line-height:1.25; font-weight:600; }
h4,h5,h6{ font-family: var(--hu-sans); font-weight:600; color: var(--hu-navy); }

/* Section eyebrow / kicker -------------------------------------------------- */
.rs-heading .sub-text,
.rs-heading .sub-title,
.sec-title .sub-title,
.sec-title .sub-text,
.rs-dual-heading .sub-title{
  display:inline-block;
  font-family: var(--hu-sans) !important;
  color: var(--hu-gold-deep) !important;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.rs-heading .sub-text::after,
.sec-title .sub-title::after{
  content:"";
  display:block;
  width:44px; height:2px;
  margin:10px auto 0;
  background: var(--hu-gold);
}
.rs-heading.default:not(.center) .sub-text::after,
.rs-heading.left .sub-text::after{ margin-left:0; }

/* ---------------------------------------------------------------- LINKS */
a{ color: var(--hu-navy); transition: color .2s ease; }
a:hover{ color: var(--hu-gold-deep); }
.elementor-widget-text-editor a,
.rs-footer a:hover{ color: var(--hu-gold-deep); }

/* -------------------------------------------------------------- BUTTONS */
.readon, .readon-arrow, .tops-btn, .btn_quote, .btn_quotes,
.rs-button a, .elementor-button, .wp-block-button__link,
.rs-contact-box .readon, button.rs-btn, .course-btn a,
.slide-btn a, .apply-btn a{
  background: var(--hu-navy) !important;
  color:#fff !important;
  border:1px solid var(--hu-navy) !important;
  border-radius: 4px !important;
  font-family: var(--hu-sans) !important;
  font-weight:600;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 13px;
  box-shadow:none !important;
  transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}
.readon:hover, .readon-arrow:hover, .tops-btn:hover, .btn_quote:hover, .btn_quotes:hover,
.rs-button a:hover, .elementor-button:hover, .wp-block-button__link:hover,
.rs-contact-box .readon:hover, button.rs-btn:hover, .course-btn a:hover,
.slide-btn a:hover, .apply-btn a:hover{
  background: var(--hu-gold) !important;
  color: var(--hu-navy-deep) !important;
  border-color: var(--hu-gold) !important;
  transform: translateY(-2px);
}

/* --------------------------------------------------------- HEADER / NAV */
.rs-header .menu-area,
.rs-header .main-menu .rs-menu > ul > li > a{ font-family: var(--hu-sans); }
.rs-header .main-menu ul li.current-menu-item > a,
.rs-header .main-menu ul li.current_page_item > a,
.rs-header .main-menu ul li:hover > a{ color: var(--hu-gold) !important; }
.rs-header .main-menu .rs-menu > ul > li{ position:relative; }
.rs-header .main-menu .rs-menu > ul > li > a::after{
  content:""; position:absolute; left:0; right:100%; bottom:6px;
  height:2px; background: var(--hu-gold); transition: right .25s ease;
}
.rs-header .main-menu .rs-menu > ul > li:hover > a::after,
.rs-header .main-menu .rs-menu > ul > li.current-menu-item > a::after{ right:0; }

.rs-topbar, .topbar-area, .rs-header .topbar-area{ background: var(--hu-navy-deep) !important; }
.topbar-area .toolbar-sl-share .apply-btn a,
.topbar-area .btn-part a,
.rs-topbar .tops-btn{
  background: var(--hu-gold) !important;
  color: var(--hu-navy-deep) !important;
  font-weight:700; letter-spacing:.05em;
}

/* --------------------------------------------------------------- CARDS */
.elementor-widget-rs-iconbox .rs-iconbox,
.rs-services .services-item,
.rs-service-grid .services-item,
.rs-counter .counter-item,
.rs-event .event-item,
.rs-courses .courses-item{
  border:1px solid var(--hu-line);
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(18,35,63,.06);
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.elementor-widget-rs-iconbox .rs-iconbox:hover,
.rs-services .services-item:hover,
.rs-service-grid .services-item:hover,
.rs-event .event-item:hover,
.rs-courses .courses-item:hover{
  box-shadow: 0 20px 46px rgba(18,35,63,.12);
  transform: translateY(-4px);
  border-color: rgba(244,191,0,.5);
}
/* icon accents – font icons */
.rs-iconbox .icon-part i,
.rs-services .services-icon i,
.services-item .icon-part i,
.rs-counter .counter-icon i,
.rs-service-grid .services-icon i,
.number-grid .icon-part i{ color: var(--hu-gold-deep) !important; }

/* icon accents – the demo ships ORANGE line-art PNG/SVG icons in image mode.
   Recolour them to Hallmark navy so they stop reading as Educavo orange.
   (Replace with real Hallmark icons in a later content pass.) */
.rs-service-grid .services-icon img,
.rs-services .services-icon img,
.rs-iconbox .icon-part img,
.number-grid .icon-part img,
.rs-counter .counter-icon img,
.services-item .icon-part img{
  filter: brightness(0) saturate(100%) invert(17%) sepia(38%) saturate(1900%) hue-rotate(191deg) brightness(94%) contrast(93%);
}

/* counters / stat numbers */
.rs-counter .rs-count, .counter-number .rs-count, .rs-counter .count-text .rs-count{
  font-family: var(--hu-serif) !important;
  color: var(--hu-navy) !important;
  font-weight:600;
}

/* --------------------------------------------------------- TESTIMONIALS */
.rs-testimonial .testi-item,
.rs-testimonial-slider .testi-item{
  border:1px solid var(--hu-line);
  border-radius:6px;
}
.rs-testimonial .quote,
.rs-testimonial i.fa-quote-left,
.rs-testimonial-slider .quote{ color: var(--hu-gold) !important; }
.rs-testimonial .testi-name, .rs-testimonial .name{ color: var(--hu-navy-deep); font-weight:600; }

/* ------------------------------------------------ PAGE HEADER / BREADCRUMB */
.rs-breadcrumbs, .breadcrumbs-area, .page-title-area{
  background-color: var(--hu-navy) !important;
}
.rs-breadcrumbs .breadcrumbs-inner .page-title,
.breadcrumbs-area .page-title{ font-family: var(--hu-serif) !important; }
.rs-breadcrumbs .breadcrumb li a{ color: var(--hu-gold); }

/* -------------------------------------------------------------- FOOTER */
.rs-footer, .footer-area, .rs-footer .footer-top{ background: var(--hu-navy-deep) !important; }
.rs-footer .footer-logo-wrap img,
.footer-top-logo img{
  filter: brightness(0) invert(1);   /* render the colour logo as clean white */
  max-height: 46px; width:auto;
}
.rs-footer .footer-title, .rs-footer h3, .rs-footer h4,
.rs-footer .widget-title{
  color:#fff !important;
  font-family: var(--hu-sans) !important;
  font-weight:600;
  position:relative;
  padding-bottom:14px;
  margin-bottom:22px;
}
.rs-footer .footer-title::after, .rs-footer .widget-title::after{
  content:""; position:absolute; left:0; bottom:0;
  width:40px; height:2px; background: var(--hu-gold);
}
.rs-footer, .rs-footer p, .rs-footer li, .rs-footer .textwidget{ color: rgba(255,255,255,.72); }
.rs-footer a{ color: rgba(255,255,255,.72); }
.rs-footer a:hover{ color: var(--hu-gold) !important; }
.rs-footer .footer-social a, .rs-footer .social-links a{ color:#fff; }
.rs-footer .footer-social a:hover{ color: var(--hu-gold) !important; }
.footer-bottom, .rs-footer .copyright, .copyright_border{
  border-top:1px solid rgba(255,255,255,.10) !important;
  background: var(--hu-navy-deep) !important;
}
.copyright.text-center, .copyright-widget p{ color: rgba(255,255,255,.55); }

/* --------------------------------------------------------- MISC POLISH */
.elementor-widget-divider .elementor-divider-separator{ border-top-color: var(--hu-gold) !important; }
::selection{ background: var(--hu-gold); color: var(--hu-navy-deep); }
.rs-body ::selection{ background: var(--hu-gold); color: var(--hu-navy-deep); }

/* dot / bullet accents used around headings in the demo */
.sec-title .desc, .rs-heading .desc{ color: var(--hu-muted); }

/* --------------------------------------- HEADER SEARCH POP-OVER (bugfix) */
/* Educavo leaves .sticky_form in the flow (position:absolute, no display:none)
   so the search field sits visible under the header on every page. Hide it;
   the theme's jQuery slideToggle re-shows it (inline display) on click. */
.sticky_form{ display:none; }
.sticky_form.rs-open,
.sticky_form[style*="block"]{ display:block; }

/* stray off-canvas close button showing on desktop */
@media (min-width: 992px){
  .menu-wrap-off .close-button.rs-idle{ display:none; }
}

/* ------------------------------------------- BREADCRUMB / PAGE BANNER */
.rs-breadcrumbs{ background: var(--hu-navy) !important; }
.rs-breadcrumbs .breadcrumbs-single{
  position: relative;
  background-size: cover !important;
  background-position: center !important;
  padding-top: 190px;
  padding-bottom: 120px;
}
.rs-breadcrumbs .breadcrumbs-single::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(18,35,63,.72) 0%, rgba(18,35,63,.85) 100%);
}
.rs-breadcrumbs .breadcrumbs-single > .container{ position:relative; z-index:1; }
.rs-breadcrumbs .breadcrumbs-inner .page-title{
  font-family: var(--hu-serif) !important;
  color:#fff !important;
  font-size: 44px;
  margin-bottom: 10px;
}
.rs-breadcrumbs .breadcrumb,
.rs-breadcrumbs ul.breadcrumb li,
.rs-breadcrumbs .breadcrumbs-inner span{ color: rgba(255,255,255,.8) !important; }
.rs-breadcrumbs .breadcrumb li a,
.rs-breadcrumbs ul li a{ color: var(--hu-gold) !important; }

/* --------------------------------------------- SLIDER DOTS / CAROUSELS */
.rs-testimonial .slick-dots li button,
.rs-testimonial-slider .slick-dots li button,
.testimonial-slide .slick-dots li button,
.rs-carousel .slick-dots li button,
.slick-dots li button{
  background: var(--hu-line) !important;
  border: none !important;
}
.rs-testimonial .slick-dots li.slick-active button,
.rs-testimonial-slider .slick-dots li.slick-active button,
.testimonial-slide .slick-dots li.slick-active button,
.rs-carousel .slick-dots li.slick-active button,
.slick-dots li.slick-active button{
  background: var(--hu-gold) !important;
}
.slick-arrow, .rs-carousel .slick-arrow,
.testi-item + .slick-arrow, .owl-nav button{
  background: var(--hu-navy) !important;
  color:#fff !important;
  border-radius: 4px !important;
}
.slick-arrow:hover, .owl-nav button:hover{
  background: var(--hu-gold) !important; color: var(--hu-navy-deep) !important;
}

/* --------------------------------------------- RESPONSIVE / SLIDER GUARD */
@media (max-width: 767px){
  /* Slider Revolution layers overlap badly at phone widths in the demo –
     clamp the big caption type so the three lines don't collide. */
  .rev_slider .tp-caption,
  .rev_slider .tp-caption *{
    font-size: clamp(18px, 6vw, 34px) !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  h1,.page-title{ font-size: 30px; }
  h2,.rs-heading .title{ font-size: 25px; }
}
