/* ============================================================
   Jimmy Hassan Campaign Site - Visual Redesign Overrides
   Loaded after existing stylesheets to provide a cohesive,
   professional look without altering underlying structure/JS.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Lato:wght@400;700&display=swap');

:root{
  --maroon:#6d1329;
  --maroon-dark:#4a0c1c;
  --maroon-darker:#2c060f;
  --gold:#c9a15a;
  --gold-dark:#a9803f;
  --ink:#241417;
  --ink-soft:#5a4247;
  --paper:#faf6f4;
  --paper-alt:#f1e6e2;
  --white:#ffffff;
  --radius:14px;
  --radius-sm:8px;
  --shadow-sm:0 2px 12px rgba(40,10,18,0.08);
  --shadow-md:0 14px 34px rgba(40,10,18,0.16);
  --font-head:'Playfair Display', Georgia, serif;
  --font-body:'Lato', Arial, Helvetica, sans-serif;
}

body{
  font-family:var(--font-body) !important;
  color:var(--ink) !important;
  background:var(--paper) !important;
}

h1,h2,h3,
.universal-h2,
.top-banner__h2,
.post-title-home,
.portfolio__name h2,
.fh5co-quotes-pS,
.article h2{
  font-family:var(--font-head) !important;
}

/* ---------- Top bar ---------- */
.top-bar{
  background:var(--maroon-darker) !important;
  padding:10px 0 !important;
}
.top-bar__item{
  color:var(--paper) !important;
  opacity:.92;
  font-size:.85rem;
  letter-spacing:.02em;
  transition:opacity .2s ease, color .2s ease;
}
.top-bar__item svg{
  fill:var(--gold);
}
.top-bar__item:hover{
  opacity:1;
  color:var(--gold) !important;
}

/* ---------- Header / Nav ---------- */
header{
  background:linear-gradient(180deg, var(--maroon) 0%, var(--maroon-dark) 100%) !important;
  box-shadow:var(--shadow-sm);
}
.logo--Home img{
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));
}
.navText--Home{
  color:#fff !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  position:relative;
}
.navText--Home::after{
  content:'';
  position:absolute;
  left:0; bottom:-4px;
  width:0; height:2px;
  background:var(--gold);
  transition:width .25s ease;
}
#main-nav button:hover .navText--Home::after{
  width:100%;
}
BUTTON.order-online,
.order-online{
  background:var(--gold) !important;
  color:var(--maroon-darker) !important;
  border:none !important;
  border-radius:999px !important;
  font-weight:700 !important;
  letter-spacing:.02em;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.order-online:hover{
  background:var(--gold-dark) !important;
  transform:translateY(-2px);
  box-shadow:var(--shadow-md);
}
.hamburger span, .hamburger::before, .hamburger::after{
  background:#fff !important;
}

/* ---------- Hero ---------- */
.fh5co-top-banner::after{
  background:linear-gradient(120deg, rgba(30,6,14,.93), rgba(109,19,41,.62)) !important;
  opacity:1 !important;
}
.top-banner__image img.framed{
  border-radius:var(--radius);
  box-shadow:var(--shadow-md);
  border:6px solid rgba(255,255,255,.14);
}
.top-banner__text-up,
.brand-span{
  color:var(--gold) !important;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-size:.95rem;
  font-weight:700;
}
.top-banner__h2{
  font-weight:700 !important;
  line-height:1.08 !important;
  text-shadow:0 2px 18px rgba(0,0,0,.25);
}
.top-banner__text-down p{
  color:#f2e9e6 !important;
  font-size:1.15rem !important;
}
.mainbrand-button{
  display:inline-block;
  margin:.4rem .7rem .4rem 0 !important;
  border-radius:999px !important;
  padding:.85em 1.7em !important;
  font-weight:700 !important;
  text-decoration:none !important;
  background:var(--gold) !important;
  color:var(--maroon-darker) !important;
  border:2px solid var(--gold) !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.mainbrand-button:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
  background:transparent !important;
  color:#fff !important;
}

/* ---------- About / Meet Jimmy ---------- */
.fh5co-about-me{
  background:var(--white) !important;
  padding:4.5rem 0 !important;
}
.portfolio__img img,
.about-me__profile{
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-sm);
}
.universal-h2{
  color:var(--maroon) !important;
  border-left:4px solid var(--gold);
  padding-left:.6em;
}
.about-me__text p{
  color:var(--ink-soft) !important;
  line-height:1.85 !important;
}
.about-me-bckg{
  background:var(--paper-alt) !important;
  border-radius:var(--radius) !important;
  padding:2.2rem !important;
}
.about-me-single-slide p{
  color:var(--ink-soft) !important;
  line-height:1.85 !important;
}

/* ---------- Platform carousel ---------- */
.fh5co-blog{
  background:var(--paper) !important;
  padding:4.5rem 0 !important;
}
.fh5co-blog .universal-h2, .fh5co-blog h2{
  color:var(--maroon) !important;
  text-align:center;
  border-left:none;
}
DIV.about-me.slick-slide,
.about-me-slider .about-me{
  background:var(--white) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-sm) !important;
  padding:1.4rem !important;
  transition:transform .25s ease, box-shadow .25s ease;
}
.about-me-slider .slick-slide:hover .about-me,
.about-me-slider .about-me:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-md) !important;
}
img.attachment-blog_thumb_s{
  border-radius:calc(var(--radius) - 6px) !important;
  object-fit:cover;
  width:100% !important;
  height:180px !important;
}
.post-title-home{
  color:var(--maroon) !important;
  font-size:1.15rem !important;
}
p.home{
  color:var(--ink-soft) !important;
  font-size:.95rem !important;
}
a.platform-button{
  color:var(--maroon) !important;
  font-weight:700 !important;
  text-decoration:none !important;
  border-bottom:2px solid var(--gold);
}
.slick-prev.slick-arrow, .slick-next.slick-arrow{
  background:var(--maroon) !important;
  border-radius:50% !important;
}
.slick-dots li button:before{
  color:var(--maroon) !important;
}

/* ---------- Endorsements ---------- */
.fh5co-quotes{
  background:var(--maroon-darker) !important;
  color:#fff !important;
  padding:4.5rem 0 !important;
}
.fh5co-quotes .universal-h2, .fh5co-quotes h2{
  color:#fff !important;
  text-align:center;
}
.fh5co-quotes-pS{
  font-style:italic;
  font-size:1.05rem;
  line-height:1.75;
  color:#f2e9e6 !important;
}
.img-box img{
  border-radius:50% !important;
  border:3px solid var(--gold) !important;
}

/* ---------- Footer / Contact ---------- */
.site-footer{
  background:var(--maroon-darker) !important;
  color:var(--paper) !important;
}
.footer-phone{
  color:var(--gold) !important;
  font-weight:700 !important;
}
.social-icons a{
  background:rgba(255,255,255,.08) !important;
  border-radius:50% !important;
  transition:background .2s ease;
}
.social-icons a:hover{
  background:var(--gold) !important;
}
.contact-form__input input,
.contact-form__input textarea{
  border-radius:var(--radius-sm) !important;
  border:1px solid rgba(255,255,255,.25) !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  padding:.8em 1em !important;
}
.contact-form__input input::placeholder,
.contact-form__input textarea::placeholder{
  color:rgba(255,255,255,.6) !important;
}
.submit-button{
  background:var(--gold) !important;
  color:var(--maroon-darker) !important;
  border:none !important;
  border-radius:999px !important;
  padding:.8em 2.2em !important;
  font-weight:700 !important;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.submit-button:hover{
  background:var(--gold-dark) !important;
  transform:translateY(-2px);
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15) !important;
}

/* ---------- Inner pages (Platform / Initiatives / Accomplishments) ---------- */
.content{
  background:var(--paper) !important;
}
.content_resize{
  background:transparent !important;
  box-shadow:none !important;
  max-width:1100px;
  margin:0 auto !important;
}
.article{
  background:var(--white) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-sm) !important;
  padding:1.6rem !important;
  margin-bottom:2rem !important;
  border-bottom:none !important;
  overflow:hidden;
}
.article img.fl{
  border-radius:calc(var(--radius) - 6px) !important;
  box-shadow:var(--shadow-sm);
  margin:0 1.6rem 1rem 0 !important;
}
.article h2{
  color:var(--maroon) !important;
  margin-bottom:.5rem !important;
}
.article p{
  color:var(--ink-soft) !important;
  line-height:1.8 !important;
}
.mainbar > h1, .content h1{
  font-family:var(--font-head) !important;
  letter-spacing:.01em;
}

/* ---------- Responsive tweaks (cosmetic only) ---------- */
@media (max-width:768px){
  .article img.fl{
    float:none !important;
    display:block;
    margin:0 auto 1rem auto !important;
    max-width:100% !important;
  }
  .top-banner__h2{
    font-size:2.4rem !important;
  }
}


/* ---------- Fixes: testimonial names, footer links, drop-cap heading ---------- */
.fh5co-quotes h4{
  color:var(--gold) !important;
  font-family:var(--font-head) !important;
  font-weight:700 !important;
}
.footer-bottom-inner a,
.footer-bottom a{
  color:var(--paper) !important;
  opacity:.85;
  text-decoration:none;
}
.footer-bottom-inner a:hover,
.footer-bottom a:hover{
  color:var(--gold) !important;
  opacity:1;
}
.portfolio__name{
  align-items:baseline !important;
  gap:.2rem;
}
.portfolio__name span{
  font-family:var(--font-head) !important;
  color:var(--maroon) !important;
  font-size:3.2rem !important;
  line-height:1 !important;
}


/* ---------- Fix: page title hidden behind fixed header on inner pages ---------- */
.content{
  padding-top:200px !important;
}
.content h1{
  color:var(--maroon) !important;
  position:relative;
  z-index:1;
}
@media (max-width:768px){
  .content{
    padding-top:160px !important;
  }
}


/* ---------- Fixes: footer consistency, contact form polish, platform card ---------- */
.footer-bottom{
  background:var(--maroon-darker) !important;
  border-top:2px solid var(--gold) !important;
}
.footer-info__right h5,
.footer-contact-form h5{
  color:var(--gold) !important;
  font-family:var(--font-head) !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:1.05rem !important;
  font-weight:700 !important;
  margin-bottom:1.1rem !important;
  padding-bottom:.6rem;
  border-bottom:2px solid rgba(201,161,90,.35);
  display:inline-block;
}
.footer-contact-form h5{
  display:block;
}
.contact-form__input input:focus,
.contact-form textarea:focus{
  outline:none !important;
  border-color:var(--gold) !important;
  background:rgba(255,255,255,.12) !important;
}
.footer-phone{
  font-size:1.05rem !important;
}
.footer-info__right p{
  color:var(--paper) !important;
  opacity:.9;
}

/* Platform carousel card button + text sizing */
.platform-button{
  display:inline-block !important;
  font-family:var(--font-body) !important;
  font-weight:700 !important;
  letter-spacing:.02em;
  font-size:.92rem !important;
  background:var(--gold) !important;
  color:var(--maroon-darker) !important;
  border:2px solid var(--gold) !important;
  border-radius:999px !important;
  padding:.55em 1.5em !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.platform-button:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-sm) !important;
  background:var(--gold-dark) !important;
  border-color:var(--gold-dark) !important;
}
p.home{
  font-size:1rem !important;
  line-height:1.7 !important;
}
.post-title-home{
  font-size:1.3rem !important;
  margin-bottom:.5rem !important;
}
