/* Divi's native header + footer, restyled to the Rothbury design. */

/* ================= HEADER ================= */
#main-header{background:var(--color-bg-alt)!important;box-shadow:none!important;
  border-bottom:1px solid var(--color-border);font-family:var(--font-body)}
#main-header.et-fixed-header{box-shadow:0 1px 2px rgba(27,38,33,.06)!important;border-bottom:1px solid var(--color-border)}
.et_fixed_nav #main-header{position:fixed}
#main-header .container.et_menu_container{width:100%;max-width:var(--rhc-max);padding:14px 48px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.et_header_style_left #et-top-navigation{padding:0!important;float:none;margin-left:auto;
  display:flex;align-items:center;gap:18px}
.et_header_style_left .logo_container{position:static;height:auto;width:auto;float:none}

/* wordmark */
.rhc-brand{display:flex;align-items:center;gap:12px;text-decoration:none!important}
.rhc-brand img{height:52px;width:52px;object-fit:cover;border-radius:50%;display:block}
.rhc-brand-txt{display:flex;flex-direction:column;line-height:1.15}
.rhc-brand-name{font-family:var(--font-display);font-weight:800;font-size:1.125rem;color:var(--green-800);white-space:nowrap}
.rhc-brand-sub{font-size:var(--fs-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-500);white-space:nowrap}
.logo_container{flex-shrink:0}
@media (max-width:1320px){.rhc-brand-name{font-size:1rem}#top-menu.nav{gap:18px}#top-menu a{font-size:var(--fs-small)}#top-menu li.rhc-tel>a{font-size:1rem}#top-menu li.rhc-quote>a{padding:10px 18px;font-size:var(--fs-small)}}
/* The phone lives in the hero, the footer and every CTA band, so it is the first
   thing to drop when the header row runs out of room. */
@media (max-width:1260px){#top-menu li.rhc-tel{display:none}}
@media (max-width:1080px){.rhc-brand-sub{display:none}#top-menu.nav{gap:14px}}
#main-header.et-fixed-header .rhc-brand img{height:44px;width:44px;transition:all .3s}

/* nav */
#top-menu-nav{float:none}
#top-menu.nav{display:flex;align-items:center;gap:28px;padding:0;float:none}
#top-menu li{padding-right:0;margin:0}
#top-menu a{font-size:var(--fs-body);color:var(--ink-900);font-weight:400;padding-bottom:0;opacity:1;
  white-space:nowrap;text-decoration:none}
#top-menu a:hover{color:var(--green-800);opacity:1;text-decoration:none}
#top-menu li.current-menu-item>a,#top-menu li.current-menu-ancestor>a,
#top-menu li.current_page_item>a,#top-menu li.current_page_ancestor>a{color:var(--green-800)!important;font-weight:700}
#top-menu li li a{width:auto;padding:10px 20px;font-size:var(--fs-small)}
#top-menu li ul{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--green-500);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:8px 0;width:270px}
#top-menu li ul li a{white-space:normal;line-height:1.4}
#top-menu li ul li a:hover{background:var(--green-100);opacity:1}
#top-menu li.mega-menu>ul{width:auto}
.et_header_style_left #et_top_search,#et_search_icon{display:none!important}
#et-top-navigation .et-cart-info{display:none}

/* phone + CTA in the menu */
#top-menu li.rhc-tel>a{font-family:var(--font-display);font-weight:800;font-size:1.0625rem;color:var(--ink-900)}
#top-menu li.rhc-quote>a{background:var(--color-primary);color:var(--color-on-primary)!important;
  border-radius:var(--radius-pill);padding:12px 24px;font-weight:700;font-size:var(--fs-body);
  transition:background var(--duration-base) var(--ease-standard)}
#top-menu li.rhc-quote>a:hover{background:var(--color-primary-hover);color:#fff!important}

/* mobile */
#et_mobile_nav_menu{float:none;margin:0}
.mobile_menu_bar:before{color:var(--green-800)!important}
.et_mobile_menu{background:var(--color-surface);border-top:3px solid var(--green-500);
  box-shadow:var(--shadow-md);padding:8px 0}
.et_mobile_menu li a{color:var(--ink-900);font-size:var(--fs-body);padding:12px 20px;border-bottom:1px solid var(--color-border)}
.et_mobile_menu li a:hover{background:var(--green-100);opacity:1}
.et_mobile_menu li.rhc-quote>a{color:var(--green-800);font-weight:700}
.et_mobile_menu li.rhc-tel>a{font-weight:800}
@media (max-width:980px){
  #main-header .container.et_menu_container{padding:12px 20px}
  .rhc-brand-sub{display:none}
  .rhc-brand img{height:44px;width:44px}
  .rhc-brand-name{font-size:1rem;white-space:normal;line-height:1.2}
  /* Divi's own breakpoint: desktop nav out, hamburger in. */
  #top-menu-nav,#top-menu.nav{display:none!important}
  #et_mobile_nav_menu{display:block!important}
  .et_header_style_left #et-top-navigation{gap:0;padding:0!important}
}
@media (max-width:400px){
  .rhc-brand-name{font-size:0.9375rem}
  .rhc-brand img{height:38px;width:38px}
}
@media (max-width:1180px){
  #main-header .container.et_menu_container{padding:14px 28px}
  #top-menu.nav{gap:20px}
}

/* ================= FOOTER ================= */
#main-footer{background:var(--color-dark);font-family:var(--font-body)}
/* NB: in Divi the .container WRAPS #footer-widgets, it is not inside it. */
#main-footer .container{width:100%;max-width:var(--rhc-max);padding:0 var(--rhc-pad);margin:0 auto}
#footer-widgets{padding:56px 0 12px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;align-items:start}
#footer-widgets .footer-widget,#footer-widgets .footer-widget:nth-child(n){margin:0!important;padding:0!important;
  float:none!important;width:auto!important}
#footer-widgets .footer-widget .fwidget{margin-bottom:0!important}
.footer-widget .widget_text,.footer-widget .textwidget{color:var(--sage-400)}
.rhc-f-col{display:flex;flex-direction:column;gap:10px}
.rhc-f-brand{display:flex;flex-direction:column;gap:14px}
.rhc-f-brandrow{display:flex;align-items:center;gap:12px}
.rhc-f-brandrow img{height:54px;width:54px;object-fit:cover;border-radius:50%;display:block}
.rhc-f-name{font-family:var(--font-display);font-weight:800;font-size:1.125rem;color:var(--color-text-on-dark)}
.rhc-f-blurb{margin:0;font-size:var(--fs-small);line-height:var(--lh-relaxed);max-width:300px;color:var(--sage-400)}
.rhc-f-head{font-size:var(--fs-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;
  color:var(--color-text-on-dark);font-weight:700}
#main-footer .rhc-f-col a,#main-footer .rhc-f-brand a{font-size:var(--fs-small);color:var(--sage-400);text-decoration:none}
#main-footer .rhc-f-col a:hover{color:var(--white);text-decoration:none}
#main-footer .rhc-f-col a.rhc-f-quote{color:var(--green-300)}
#main-footer .rhc-f-col a.rhc-f-mail{word-break:break-all}
#footer-bottom{background:var(--color-dark)!important;padding:0 0 24px;border-top:0}
#footer-bottom .container{width:100%;max-width:var(--rhc-max);padding:0 var(--rhc-pad);margin:0 auto}
#footer-bottom .et-social-icons{display:none}
#footer-info{float:none;width:100%;margin:28px 0 0;padding:20px 0 0;text-align:left;
  border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;
  gap:12px 20px;flex-wrap:wrap;font-size:var(--fs-micro);color:var(--sage-400);line-height:1.6}
#footer-info a{color:var(--sage-400)!important;font-weight:400;text-decoration:none}
#footer-info a:hover{color:var(--white)!important;opacity:1}
.rhc-f-bottom-l{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
@media (max-width:980px){
  #footer-widgets{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:640px){
  #footer-widgets{grid-template-columns:1fr;padding:40px 0 8px;gap:28px}
}
