/*
Theme Name: RNC Reconstructed
Theme URI: https://rwandanationalcongress-rnc.org
Author: AfriCreativa reconstruction
Description: Public visual reconstruction of the RNC website from captured public CSS/HTML. Not the original proprietary theme source.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: rnc-reconstructed
*/

.rnc-form-notice,.rnc-local-form{/* styles live in css/rnc-forms.css */}
img.custom-logo{max-height:90px;width:auto}

/* Section 1: language switcher visual parity (local; no GTranslate credentials) */
div.skiptranslate,#google_translate_element2{display:none!important}
.gt_float_switcher{font-family:Arial,sans-serif;font-size:20px;border-radius:10px!important;color:#555;display:inline-block;line-height:20px;box-shadow:rgba(0,0,0,.15) 0 5px 15px;background:#fff;overflow:hidden;transition:all .5s cubic-bezier(.4,0,1,1)}
.gt_float_switcher img{vertical-align:middle;display:inline-block;width:33px;height:auto;max-width:none;margin:0 5px 0 0;border-radius:3px}
.gt_float_switcher .gt_options{position:relative;z-index:777;max-height:250px;overflow-y:auto;transform:translateY(-30px);opacity:0;cursor:pointer;transition:all .8s cubic-bezier(.3,1.1,.4,1.1)}
.gt_float_switcher .gt_options a{display:block;text-decoration:none;padding:10px 15px;color:#444;transition:color .4s linear;font-size:14px;text-transform:none;line-height:1.3}
.gt_float_switcher .gt-selected{position:relative;z-index:888;background-color:#fff;cursor:pointer;text-transform:uppercase;overflow:hidden}
.gt_float_switcher .gt_options.gt-open{opacity:1;transform:translateX(0)}
.gt_float_switcher .gt_options a:hover{background:#6070a0;color:#fff}
.gt_float_switcher .gt_options a.gt-current{display:none}
.gt_float_switcher .gt-selected .gt-current-lang{padding:10px 15px;color:#333;font-weight:700}
.gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code{position:relative;top:2px;display:inline-block;right:unset}
.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow{display:inline-block;height:24px;width:15px;vertical-align:middle;position:static;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 285 285'><path d='M282 76.5l-14.2-14.3a9 9 0 0 0-13.1 0L142.5 174.4 30.3 62.2a9 9 0 0 0-13.2 0L3 76.5a9 9 0 0 0 0 13.1l133 133a9 9 0 0 0 13.1 0l133-133a9 9 0 0 0 0-13z' style='fill:%23666'/></svg>");background-position:50%;background-size:11px;background-repeat:no-repeat;transition:all .3s;transform:rotate(-180deg)}
.gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow.gt_arrow_rotate{transform:rotate(0deg)}
.social_media img,.main_logo img,.logo_slide_right img{max-width:100%;height:auto}
.gt_float_switcher img{max-width:none}

/* Homepage: flags band — single image, no repeat-y */
.middle_fig{
  width:100%;
  line-height:0;
  background:transparent;
}
.middle_fig figure{
  margin:0;
  width:100%;
}
.middle_fig img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  object-position:center top;
}

/* Homepage featured news: prefer source flex row over stacked post-card look */
body.front_page .news-section .news-card{
  max-width:100%;
  align-items:stretch;
}
body.front_page .news-section .news-card__image{
  flex:0 0 auto;
}
@media (max-width:800px){
  body.front_page .news-section .news-card{
    flex-direction:column;
    max-width:400px;
  }
  body.front_page .news-section .news-card__image img{
    width:100%;
    height:auto;
    aspect-ratio:4/3;
  }
}

/* Match source visibility rules — main content on inner pages only */
body.nonhome_page #main_area{display:block!important}
body.front_page #main_area{display:none!important}
/* Full footer on all pages (locked further in rnc-site-chrome.css) */
.footer_top{display:block!important}

/* —— Homepage lightweight hero (lazy slides; no skitter preload storm) —— */
html,body{overflow-x:hidden}
body.front_page #banner.rnc-hero-banner,
body.front_page #banner.rnc-hero-banner .wrapper,
body.front_page #banner.rnc-hero-banner .bnr_con,
body.front_page #banner.rnc-hero-banner .slider{
  background:#c8c8c8!important;
}
body.front_page #banner.rnc-hero-banner{
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  position:relative;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
}
body.front_page #banner.rnc-hero-banner .wrapper,
body.front_page #banner.rnc-hero-banner .bnr_con{
  max-width:none!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  height:auto!important;
  position:relative;
  left:auto!important;
  transform:none!important;
}
/*
 * Kill legacy skitter centering from style.min:
 *   .slider { width:1920px; margin-left:50%; transform:translateX(-50%) }
 * That combo shifts a 100%-wide hero half off-screen (grey slab on the right).
 */
body.front_page #banner.rnc-hero-banner .slider,
body.front_page #banner.rnc-hero-banner .rnc-hero{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  margin-left:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  -webkit-transform:none!important;
  overflow:hidden!important;
  background:#c8c8c8!important;
  aspect-ratio:1600 / 625;
  min-height:220px!important;
  height:auto!important;
  box-sizing:border-box!important;
}
body.front_page #banner.rnc-hero-banner .slider::before,
body.front_page #banner.rnc-hero-banner .rnc-hero::before{
  content:none!important;
  display:none!important;
}
@media (max-width:1010px){
  body.front_page #banner.rnc-hero-banner .slider,
  body.front_page #banner.rnc-hero-banner .rnc-hero{
    aspect-ratio:1010 / 600;
    min-height:180px!important;
  }
}
body.front_page .rnc-hero__slide{
  position:absolute;
  inset:0;
  margin:0;
  padding:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .7s ease;
  z-index:0;
}
body.front_page .rnc-hero__slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}
body.front_page .rnc-hero__slide > picture{
  position:absolute;
  inset:0;
  display:block;
  margin:0;
  width:100%;
  height:100%;
}
body.front_page .rnc-hero__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
body.front_page .rnc-hero__caption{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(92vw, 56rem);
  max-width:min(900px, 92%);
  padding:0 0.75rem;
  box-sizing:border-box;
  text-align:center;
  z-index:2;
  pointer-events:none;
}
body.front_page .rnc-hero__caption h2{
  color:#fff;
  font-size:clamp(1.05rem, 3.6vw, 2.75rem)!important;
  line-height:1.25!important;
  font-weight:700!important;
  margin:0;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-wrap:break-word;
  max-width:100%;
}
@media (max-width:1010px){
  body.front_page .rnc-hero__caption{
    width:min(94vw, 100%);
    max-width:94%;
    padding:0 1rem;
  }
  body.front_page .rnc-hero__caption h2{
    font-size:clamp(0.95rem, 4.2vw, 1.45rem)!important;
  }
}
body.front_page .rnc-hero__dots{
  position:absolute;
  left:50%;
  bottom:0.85rem;
  transform:translateX(-50%);
  display:flex;
  gap:0.4rem;
  z-index:3;
}
body.front_page .rnc-hero__dot{
  width:0.55rem;
  height:0.55rem;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(255,255,255,.45);
  cursor:pointer;
}
body.front_page .rnc-hero__dot.is-active{
  background:#f6b100;
}
body.front_page .rnc-hero__dot:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}

/* Inner page banners: same full-bleed 1920 centering as homepage hero
   (do NOT clamp .non_ban_img to wrapper — that causes gray side gutters) */
@media (min-width:1011px){
  #banner .non_ban{
    position:relative;
    overflow:hidden;
    min-height:600px;
  }
  #banner .non_ban_img{
    width:1920px!important;
    max-width:none!important;
    margin-left:50%!important;
    transform:translateX(-50%)!important;
    position:relative;
  }
  #banner .non_ban_img figure{
    width:1920px!important;
    max-width:none!important;
    margin:0;
  }
  #banner .non_ban_img img,
  #banner .non_ban_img .wp-post-image{
    width:1920px!important;
    max-width:none!important;
    height:600px!important;
    object-fit:cover;
    object-position:center;
    vertical-align:middle;
  }
}
@media (max-width:1010px){
  #banner .non_ban{min-height:0}
  #banner .non_ban_img,
  #banner .non_ban_img figure{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    transform:none!important;
  }
  #banner .non_ban_img img,
  #banner .non_ban_img .wp-post-image{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:16 / 9;
    object-fit:cover;
  }
}

/* Keep nav usable */
#nav_area.open, body.active #nav_area{visibility:visible}

html,body{width:100%;max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%;height:auto}
/* Keep banner assets at native 1920 width (global img max-width must not shrink them) */
#banner .box_skitter img,
#banner .container_skitter img,
#banner .image_main,
#banner .non_ban_img img,
#banner .non_ban_img .wp-post-image{
  max-width:none;
}
/* avoid breaking fixed icon fonts / FA */
i, .fa, .fas, .far, .fab{max-width:none}

/* Sidebar explore cards: only the corner CTA is a circle button */
.sidebar section > a.btn{
  background:url(images/icons/aside-btn.png) center top no-repeat;
  width:60px;
  aspect-ratio:1/1;
  position:absolute;
  right:0;
  bottom:0;
  padding:0;
  border:0;
  font-size:0;
  line-height:0;
  text-indent:-9999px;
  overflow:hidden;
  max-width:60px;
}
.sidebar section:hover > a.btn{
  background-image:url(images/icons/aside-btn1.png);
}
.sidebar section a:not(.btn){
  width:auto!important;
  aspect-ratio:auto!important;
  position:static!important;
  background:none!important;
}

/* Banner title wings — never become a solid blue slab */
#banner .page_title::before,
#banner .page_title::after{
  background:inherit!important;
  pointer-events:none;
}
body.page-template-default #banner .page_title{
  background-image:linear-gradient(0deg,rgba(0,0,0,.78) 0,rgba(0,0,0,0) 96%)!important;
  background-color:transparent!important;
}

/* Captured full-width pages: force-hide any leftover sidebar chrome */
body.page-political-opposition-organization-who-we-are .sidebar,
body.page-political-opposition-organization-our-vision .sidebar,
body.page-political-opposition-organization-our-approach .sidebar,
body.page-political-opposition-organization-our-strategy .sidebar,
body.page-political-opposition-organization-our-agenda .sidebar,
body.page-political-opposition-organization-our-leadership .sidebar,
body.page-political-opposition-organization-our-publication .sidebar,
body.page-political-opposition-organization-why-we-need-change .sidebar,
body.parent-pageid-12 .sidebar,
body.page-political-opposition-organization-take-action .sidebar,
body.page-political-opposition-organization-join-us .sidebar,
body.page-political-opposition-organization-donate .sidebar,
body.page-awards .sidebar,
body.page-press-releases .sidebar,
body.page-contact-us .sidebar{
  display:none!important;
}
