/* Building Life Modern — clean, premium, smooth */
:root{
  --bl-primary: #f2b826;
  --bl-dark: #111111;
  --bl-bg: #ffffff;
  --bl-muted: rgba(17,17,17,.62);
  --bl-border: rgba(17,17,17,.10);
  --bl-glass: rgba(255,255,255,.78);
  --bl-shadow: 0 18px 50px rgba(0,0,0,.12);
  --bl-radius: 22px;
  --bl-max: 1300px;
}
.hf-submit-button {
	background: var(--bl-primary) !important;
    border-radius: 8px !important;
    width: auto !important;
    height: 40px !important;
    color: white !important;
    justify-content: center !important;
	font-weight: 700 !important;
    font-size: medium !important;
	border: none !important;
	box-shadow: none !important;
}
*{ box-sizing: border-box; }
html, body{ margin:0; padding:0; }
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: var(--bl-bg);
  color: var(--bl-dark);
  line-height: 1.65;
}
a{ color: inherit; text-decoration: none; }
a.bl-accent, .bl-prose a{ color: var(--bl-primary); }
a:hover{ text-decoration: underline; text-underline-offset: 3px; }
.bl-container{ width: min(var(--bl-max), calc(100% - 2rem)); margin-inline: auto; }

/* Header */
.bl-header{
  position: fixed; top: 0; left: 0; right: 0;
  z-index: 60;
  backdrop-filter: blur(12px);
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
  border-bottom: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
}
.bl-header.is-solid{
  background: var(--bl-glass);
  border-bottom-color: var(--bl-border);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
.bl-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap: 1rem; padding: 1.0rem 0;
}
.bl-brand{ display:none; align-items:center; gap:.6rem; }
.bl-brand-text{ font-weight: 900; letter-spacing: -.02em; }
.custom-logo{ max-height: 62px; width:auto; }
.bl-nav .bl-menu{ list-style:none; display:flex; gap: 1rem; margin:0; padding:0; }
.bl-menu a{ padding: .55rem .75rem; border-radius: 999px; font-weight: 650; opacity: .92; }
.bl-menu a:hover{ background: rgba(255,255,255,.28); text-decoration:none; }
.bl-right{ display:flex; align-items:center; gap:.75rem; }
.bl-link{ font-weight: 650; opacity: .9; }
.bl-user{
  padding:.55rem .75rem; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.12);
  font-weight: 700;
}
.bl-lang{
  height: 36px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.12);
  color: var(--bl-dark);
  padding: 0 .6rem;
}

/* Buttons */
.bl-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding: .6rem 1rem; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.12);
  font-weight: 800; letter-spacing: .01em;
  cursor:pointer;
  transition: transform .18s ease, filter .18s ease, background .18s ease;
  text-decoration:none !important;
}
.bl-btn:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.bl-btn:active{ transform: translateY(0); }
.bl-btn-primary{
  background: linear-gradient(135deg, var(--bl-primary), #ffd84a);
  border-color: rgba(0,0,0,.10);
  color: var(--bl-primary-4) !important;
}
.bl-btn-xl{ padding: .85rem 1.25rem; font-size: 1rem; }

/* Hero carousel */
.bl-hero{ height: 100vh; min-height: 680px; position: relative; overflow: hidden; }
.bl-hero-track{ height: 100%; position: relative; }
.bl-hero-slide{
  position:absolute; inset:0;
  background-size: cover; background-position: center;
  opacity: 0; transform: scale(1.04);
  transition: opacity 900ms cubic-bezier(.2,.8,.2,1), transform 1600ms cubic-bezier(.2,.8,.2,1);
}
.bl-hero-slide.is-active{ opacity: 1; transform: scale(1); }
.bl-hero-overlay{
  position:absolute; inset:0;
  background: radial-gradient(60% 60% at 50% 40%, rgba(0,0,0,.30), rgba(0,0,0,.55));
}
.bl-hero-content{
  position: relative; height: 100%;
  display:flex; align-items:center; justify-content:center;
  padding-top: 86px;
}
.bl-hero-center{ text-align:center; max-width: 900px; padding: 1.2rem 1.25rem; }
.bl-h1{
  margin: 0 0 .65rem;
  font-size: clamp(2.2rem, 4.6vw, 4rem);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: #fff;
  text-shadow: 0 14px 40px rgba(0,0,0,.40);
}
.bl-subtitle{
  margin: 0 0 1.25rem;
  color: rgba(255,255,255,.88);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
}

/* Arrows */
.bl-arrow{
  position:absolute; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; color: #fff;
  font-size: 80px; line-height: 1;
  cursor:pointer; padding: 0;
  z-index: 12; opacity: .95;
}
.bl-arrow span{
  display:inline-flex; width: 60px; height: 60px;
  align-items:center; justify-content:center;
  border-radius: 999px;
}
.bl-arrow:hover{ opacity: 1; }
.bl-arrow-prev{ left: 20px; }
.bl-arrow-next{ right: 20px; }

/* Dots */
.bl-hero-dots{
  position:absolute; left: 50%; bottom: 26px; transform: translateX(-50%);
  display:flex; gap: 10px; z-index: 6;
}
.bl-dot{
  width: 10px; height: 10px; border-radius: 999px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(255,255,255,.35);
}
.bl-dot.is-active{
  background: var(--bl-primary);
  border-color: rgba(0,0,0,.20);
}

/* Sections */
.bl-content{ padding: 7rem 0 3.5rem; }
.bl-section{ padding: 5rem 0; border-top: 1px solid var(--bl-border); background: #fff; }
.bl-section:nth-of-type(even){
  background: linear-gradient(180deg, rgba(242,196,0,.06), rgba(255,255,255,0));
}
.bl-section-head{ display:flex; align-items:center; gap: 1rem; margin-bottom: 1.5rem; }
.bl-h2{ margin: 0; font-size: 1.55rem; letter-spacing: -.02em; }
.bl-line{
  height: 2px; flex: 1; border-radius: 999px;
  background: linear-gradient(90deg, rgba(0,0,0,0), rgba(0,0,0,.12));
}
.bl-card{
  border: 1px solid var(--bl-border);
  border-radius: var(--bl-radius);
  box-shadow: var(--bl-shadow);
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  padding: 1.25rem;
}
.bl-prose img{ max-width: 100%; height:auto; border-radius: 16px; }
.bl-media img{ width:100%; height:auto; border-radius: 16px; }

/* Reveal */
.bl-reveal{
  opacity: 0; transform: translateY(18px);
  transition: opacity 900ms cubic-bezier(.2,.8,.2,1), transform 900ms cubic-bezier(.2,.8,.2,1);
  will-change: transform, opacity;
}
.bl-reveal.is-visible{ opacity: 1; transform: translateY(0); }

/* Footer */
.bl-footer{ border-top: 1px solid var(--bl-border); padding: 2.2rem 0 2.5rem; background: #fff; }
.bl-footer-top{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap: 1rem; padding-bottom: 1.25rem;
}
.bl-footer-bottom{
  display:flex; align-items:center; justify-content:space-between;
  gap: 1rem; flex-wrap: wrap;
  border-top: 1px solid var(--bl-border);
  padding-top: 1.25rem;
}
.bl-muted{ color: var(--bl-muted); }
.bl-footer-menu{ list-style:none; display:flex; gap: .9rem; margin:0; padding:0; }
.bl-footer-menu a{ color: var(--bl-muted); font-weight: 650; }

/* Forms */
.bl-auth{ max-width: 560px; margin: 0 auto; }
.bl-alert{
  border: 1px solid rgba(239,68,68,.35);
  background: rgba(239,68,68,.06);
  border-radius: 16px;
  padding: .85rem 1rem;
  margin: 1rem 0;
}
.bl-form{ display:grid; gap: .9rem; margin-top: 1rem; }
.bl-form label{ display:grid; gap: .35rem; font-weight: 650; }
.bl-form input{
  height: 44px; border-radius: 14px;
  border: 1px solid var(--bl-border);
  padding: 0 .9rem;
}
.bl-form-row{ display:grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.bl-help{ font-weight: 500; color: var(--bl-muted); font-size: .9rem; }
.bl-auth-links{ margin-top: .9rem; color: var(--bl-muted); }

@media (max-width: 860px){
  .bl-form-row{ grid-template-columns: 1fr; }
  .bl-nav{ display:block; position: relative; }
}


/* New sections */
.bl-lead{
  margin: -0.6rem 0 1.4rem;
  color: rgba(17,17,17,.72);
  font-size: 1.05rem;
}

.bl-trial-card{
  border: 1px solid var(--bl-border);
  border-radius: var(--bl-radius);
  background: linear-gradient(180deg, rgba(242,196,0,.08), rgba(255,255,255,.72));
  box-shadow: var(--bl-shadow);
  padding: 1.25rem;
}

/* Cards grid */
.bl-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.bl-card-link{
  border: 1px solid var(--bl-border);
  border-radius: var(--bl-radius);
  overflow: hidden;
  background: rgba(255,255,255,.75);
  box-shadow: var(--bl-shadow);
  transform: translateY(0);
  transition: transform 220ms cubic-bezier(.2,.8,.2,1), filter 220ms cubic-bezier(.2,.8,.2,1);
}
.bl-card-link:hover{
  transform: translateY(-3px);
  filter: brightness(1.02);
  text-decoration: none;
}

.bl-card-media{
  position: relative;
  height: 180px;
  background: linear-gradient(135deg, rgba(17,17,17,.08), rgba(17,17,17,.02));
  background-size: cover;
  background-position: center;
}
.bl-card-overlay{
  position:absolute; inset:0;
  background: radial-gradient(70% 70% at 50% 30%, rgba(0,0,0,.05), rgba(0,0,0,.25));
  opacity: .65;
}

.bl-card-body{
  padding: 1rem 1rem 1.1rem;
}
.bl-card-meta{
  color: var(--bl-muted);
  font-size: .9rem;
  margin-bottom: .25rem;
}
.bl-card-title{
  font-weight: 850;
  letter-spacing: -.02em;
  margin-bottom: .35rem;
}
.bl-card-text{
  color: rgba(17,17,17,.70);
  font-size: .95rem;
}

.bl-section-actions{
  margin-top: 1.2rem;
}

@media (max-width: 980px){
  .bl-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .bl-grid{ grid-template-columns: 1fr; }
}


/* Navbar + right controls — refined (v1.3) */
.bl-menu a{
  font-size: 1.15rem;
  font-weight: 850;
  letter-spacing: -.01em;
  color: rgba(255,255,255,.92);
  background: transparent !important;
  padding: .65rem .9rem;
  position: relative;
}
.bl-header.is-solid .bl-menu a{ color: rgba(17,17,17,.86); }

.bl-menu a:hover{ text-decoration: none; }
.bl-menu a::after{
  content:'';
  position:absolute;
  left: .9rem;
  right: .9rem;
  bottom: .28rem;
  height: 2px;
  border-radius: 999px;
  background: var(--bl-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms cubic-bezier(.2,.8,.2,1), background 240ms cubic-bezier(.2,.8,.2,1);
}
.bl-header.is-solid .bl-menu a::after{ background: var(--bl-primary); }
.bl-menu a:hover::after{ transform: scaleX(1); }
.bl-menu a.is-active::after{
  transform: scaleX(1);
  background: var(--bl-primary);
}

/* Item activo (igual que hover) */
.bl-menu .current-menu-item > a::after,
.bl-menu .current_page_item > a::after,
.bl-menu .current-lang > a::after{
  transform: scaleX(1);
  background: var(--bl-primary);
}

/* Right side */
.bl-right{ gap: 2rem; }

.bl-link{
  font-size: 1.12rem;
  font-weight: 850;
  color: rgba(255,255,255,.92);
}
.bl-header.is-solid .bl-link{ color: rgba(17,17,17,.86); }
.bl-link:hover{ text-decoration: none; }

/* User button (icon + name) */
.bl-userwrap{ position: relative; }
.bl-userbtn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.6rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  font-weight: 850;
  font-size: 1.12rem;
  cursor:pointer;
  transition: background 180ms ease, transform 180ms ease, filter 180ms ease;
}
.bl-userbtn:hover{ filter: brightness(1.03); transform: translateY(-1px); }
.bl-usericon svg{ width: 24px; height: 24px; }
.bl-caret{ opacity:.85; font-size: 1rem; }

.bl-header.is-solid .bl-userbtn{
  color: rgba(17,17,17,.86);
  border-color: rgba(17,17,17,.12);
  background: rgba(255,255,255,.78);
}

/* Dropdown menu */
.bl-usermenu{
  position:absolute;
  top: calc(100% + 12px);
  right: 0;
  min-width: 210px;
  padding: .5rem;
  border-radius: 16px;
  border: 1px solid rgba(17,17,17,.10);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 44px rgba(0,0,0,.16);
  display: none !important;
  z-index: 200;
}
.bl-usermenu.is-open{ display: block !important; }
.bl-usermenu a{
  display:flex;
  padding:.7rem .75rem;
  border-radius: 12px;
  font-weight: 800;
  color: rgba(17,17,17,.86);
}
.bl-usermenu a:hover{
  background: rgba(242,196,0,.18);
  text-decoration:none;
}

/* Language selector — matches user button */
.bl-lang{
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  padding: 0 2.3rem 0 .95rem;
  font-weight: 850;
  font-size: 1.05rem;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position:
    calc(100% - 1.25rem) 50%,
    calc(100% - .98rem) 50%;
  background-size: 8px 8px, 8px 8px;
  background-repeat: no-repeat;
}
.bl-header.is-solid .bl-lang{
  color: rgba(17,17,17,.86);
  border-color: rgba(17,17,17,.12);
  background: rgba(255,255,255,.78);
}
.bl-lang:disabled{ opacity:.7; }


/* Hero side gradients (full-height) */
.bl-hero::before,
.bl-hero::after{
  content:'';
  position:absolute;
  top:0; bottom:0;
  width: 110px;
  z-index: 10;
  pointer-events: none;
}
.bl-hero::before{
  left:0;
  background: linear-gradient(90deg, rgba(0,0,0,.38), rgba(0,0,0,.10), rgba(0,0,0,0));
}
.bl-hero::after{
  right:0;
  background: linear-gradient(270deg, rgba(0,0,0,.38), rgba(0,0,0,.10), rgba(0,0,0,0));
}

/* Arrows sit above gradients */
.bl-arrow{ z-index: 12; }

/* Force navbar styles (override any plugin/customizer quirks) */
.bl-header .bl-menu a{
  font-size: 1.18rem !important;
  font-weight: 900 !important;
  color: rgba(255,255,255,.92) !important;
}
.bl-header.is-solid .bl-menu a{ color: rgba(17,17,17,.86) !important; }

.bl-header .bl-link{
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  color: rgba(255,255,255,.92) !important;
}
.bl-header.is-solid .bl-link{ color: rgba(17,17,17,.86) !important; }

.bl-header .bl-userbtn{
  font-size: 1.12rem !important;
  font-weight: 900 !important;
}
.bl-header .bl-usericon svg{ width: 26px !important; height: 26px !important; }

.bl-header .bl-usermenu{ display:none !important; }
.bl-header .bl-usermenu.is-open{ display:block !important; }

.bl-header .bl-lang{
  height: 44px !important;
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  border-radius: 999px !important;
}



/* Footer layout (blocks) */
.bl-footer{
  padding: 3rem 0 0;
}
.bl-footer-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  padding-bottom: 2.4rem;
}
.bl-footer-title{
  margin: 0 0 .9rem;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.bl-footer-text{
  max-width: 420px;
}
.bl-footer-search form{
  display:flex;
  gap:.6rem;
  align-items: center;
}
.bl-footer-search input[type="search"]{
  flex:1;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  padding: 0 .9rem;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
}
.bl-footer-search input[type="submit"]{
  height: 44px;
  width: 56px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  font-weight: 900;
  cursor: pointer;
}
.bl-footer-quote{
  text-align: center;
  display:flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}
.bl-quote{
  margin: 0;
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.45;
}
.bl-quote cite{
  display:block;
  margin-top: 1rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .08em;
  opacity: .9;
}
.bl-quote-lines{
  height: 3px;
  width: 70%;
  margin: 0 auto;
  background: rgba(255,255,255,.35);
  border-radius: 999px;
}

.bl-footer-bottombar{
  padding: 1.1rem 0 1.2rem;
}
.bl-footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.bl-to-top{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  height: 44px;
  width: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
  font-weight: 900;
  cursor:pointer;
}

@media (max-width: 980px){
  .bl-footer-grid{ grid-template-columns: 1fr; }
  .bl-footer-text{ max-width: none; }
}


/* Section background image + overlay */
.bl-section.has-bg{
  position: relative;
  background-image: var(--bl-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  isolation: isolate;
}
.bl-section.has-bg::before{
  pointer-events: none;
  content:'';
  position:absolute;
  inset:0;
  background: rgba(0,0,0,var(--bl-bg-op, .55));
  z-index: 0;
}
.bl-section.has-bg > .bl-container,
.bl-section.has-bg .bl-section-inner{
  position: relative;
  z-index: 1;
}

/* Contact section layout */
.bl-contact-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 2rem;
  align-items: start;
}
.bl-contact-side{
  display:flex;
  flex-direction: column;
  gap: 1.1rem;
}
.bl-contact-text{
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(255,255,255,.9);
}
.bl-meta-row{
  display:flex;
  gap: .6rem;
  align-items:center;
  color: rgba(255,255,255,.88);
  margin: .35rem 0;
}
.bl-meta-ico{
  width: 1.35rem;
  display:inline-flex;
  justify-content:center;
  opacity: .95;
}
.bl-social{
  display:flex;
  gap: .55rem;
  flex-wrap: wrap;
  margin-top: .4rem;
}
.bl-social-btn{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
  color: rgba(255,255,255,.92);
  transition: transform 180ms ease, filter 180ms ease, background 180ms ease;
}
.bl-social-btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
  background: rgba(242,196,0,.18);
}
.bl-social-btn svg{ width: 20px; height: 20px; }

@media (max-width: 980px){
  .bl-contact-grid{ grid-template-columns: 1fr; }
}



/* === Palette-driven UI (primary / secondary / gradients) === */
:root{
  --bl-primary: var(--bl-primary, #f2b826);
  --bl-primary-2: color-mix(in srgb, var(--bl-primary) 70%, #000);
  --bl-primary-3: color-mix(in srgb, var(--bl-primary) 45%, #000);
  --bl-primary-4: #4d656f;
}

/* Back to top button */
.bl-to-top{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  background: var(--bl-primary) !important;
  color: #111 !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.25);
}
.bl-to-top:hover{
  background:var(--bl-primary) !important;
  transform: translateY(-3px);
}

/* Hero side gradients (use primary palette) */
.bl-hero::before,
.bl-hero::after{
  background: linear-gradient(
    to right,
    rgba(0,0,0,.55),
    rgba(0,0,0,0)
  );
}
.bl-hero::after{
  transform: scaleX(-1);
}

/* Social hover uses primary */
.bl-social-btn:hover{
  background: linear-gradient(180deg, var(--bl-primary), var(--bl-primary-2));
  color: #111;
}

.bl-to-top{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
}
.bl-to-top.is-visible{
  opacity: 1;
  pointer-events: auto;
}

/* Contact readability */
.bl-section-contact .bl-h2,
.bl-section-contact .bl-lead,
.bl-section-contact .bl-contact-text,
.bl-section-contact .bl-contact-meta,
.bl-section-contact .bl-contact-meta a{
  color: rgba(255,255,255,.96);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.bl-section-contact .bl-contact-text{ font-weight: 520; }
.bl-section-contact label,
.bl-section-contact .hashform-field-label{
  color: rgba(255,255,255,.92) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
}
.bl-social-btn{ cursor: pointer; pointer-events: auto; }
.bl-social{ position: relative; z-index: 2; }

.bl-meta-ico svg{
  width: 18px;
  height: 18px;
  color: var(--bl-primary);
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.25));
}
.bl-contact-meta a{
  color: rgba(255,255,255,.96);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.32);
}
.bl-contact-meta a:hover{
  border-bottom-color: var(--bl-primary);
}


/* Footer colors driven by Customizer */
.bl-footer{
  background: var(--bl-footer-top-bg, transparent);
  color: var(--bl-footer-top-fg, inherit);
}
.bl-footer .bl-footer-title,
.bl-footer .bl-footer-text,
.bl-footer .bl-quote,
.bl-footer .bl-quote cite{
  color: var(--bl-footer-top-fg, inherit);
}
.bl-footer .bl-quote-lines{
  background: color-mix(in srgb, var(--bl-footer-top-fg) 35%, transparent);
}
.bl-footer-search input[type="search"]{
  color: var(--bl-footer-top-fg, #fff);
  border-color: color-mix(in srgb, var(--bl-footer-top-fg) 18%, transparent);
}
.bl-footer-search input[type="submit"]{
  color: var(--bl-footer-top-fg, #fff);
  border-color: color-mix(in srgb, var(--bl-footer-top-fg) 18%, transparent);
}

/* Bottom bar (copyright row) */
.bl-footer-bottombar{
  background: var(--bl-footer-bottom-bg, transparent);
  color: var(--bl-footer-bottom-fg, inherit);
}
.bl-footer-bottombar .bl-muted,
.bl-footer-bottombar a,
.bl-footer-bottombar button{
  color: var(--bl-footer-bottom-fg, inherit);
}
.bl-footer-bottombar{
  border-top-color: color-mix(in srgb, var(--bl-footer-bottom-fg) 14%, transparent);
}
.bl-to-top{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  border-color: color-mix(in srgb, var(--bl-footer-bottom-fg) 18%, transparent) !important;
}

/* Search form (icon submit) */
.bl-searchform .search-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.bl-searchform .search-submit svg{
  width: 18px;
  height: 18px;
}

/* Ensure anchor targets aren't hidden behind fixed header */
.bl-section{ scroll-margin-top: 92px; }

/* Footer search button matches input */
.bl-searchform .search-field{
  height: 44px;
  border-radius: 14px;
}

.bl-searchform .search-submit{
  height: 44px;
  width: 44px;
  border-radius: 14px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.45);
  color: rgba(255,255,255,.85);
}

.bl-searchform .search-submit svg{
  width: 18px;
  height: 18px;
  stroke-width: 2.4;
}

/* Footer search hover */
.bl-searchform .search-submit{
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease, filter 180ms ease;
}
.bl-searchform .search-submit:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.65);
  transform: translateY(-1px);
  filter: brightness(1.05);
}

/* Back to top SVG icon */
.bl-to-top svg.bl-arrow-icon{
  color: #fff;
  width: 30px;
  height: 30px;
}
/* FIX: only the active slide should receive clicks */
.bl-hero-slide{
  pointer-events: none;
}
.bl-hero-slide.is-active{
  pointer-events: auto;
}
.bl-hero-slide{ z-index: 0; }
.bl-hero-slide.is-active{ z-index: 2; }
/* ================================
   Navbar contrast fix (non-home)
   ================================ */

/* Menu items color on non-home */
body:not(.home) .bl-header .bl-menu a,
body:not(.home) .bl-header .bl-link {
  color: var(--bl-dark) !important;
}

/* Active + hover underline uses primary */
body:not(.home) .bl-header .bl-menu a::after {
  background: var(--bl-primary);
}

body:not(.home) .bl-header .bl-menu a.is-active::after {
  background: var(--bl-primary);
}

/* User button (logged in) */
body:not(.home) .bl-header .bl-userbtn {
  color: var(--bl-dark) !important;
  border-color: rgba(17,17,17,.15);
  background: rgba(255,255,255,.85);
}

/* Language selector */
body:not(.home) .bl-header .bl-lang {
  color: var(--bl-dark) !important;
  border-color: rgba(17,17,17,.15);
  background: rgba(255,255,255,.85);
}

/* ===========================
   Dropdown SOLO por CLICK
   =========================== */

.bl-menu > li {
  position: relative;
}

/* Submenu oculto siempre */
.bl-menu .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 220px;
  padding: 10px;
  margin: 0;
  list-style: none;
  z-index: 9999;

  border-radius: 14px;
  background: rgba(20, 20, 20, 0.92);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

/* Mostrar SOLO cuando JS añade la clase */
.bl-menu li.is-open > .sub-menu {
  display: block;
}

/* Links */
.bl-menu .sub-menu a {
  display: block;
  padding: .55rem .75rem;
  border-radius: 12px;
  font-weight: 650;
  white-space: nowrap;
}

.bl-menu .sub-menu a:hover {
  background: rgba(255,255,255,.12);
}
/* ===== Accesibilidad: texto solo para lectores ===== */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* ===========================
   Dropdown SOLO por CLICK
   =========================== */

.bl-menu > li {
  position: relative;
}

/* Submenu oculto siempre */
.bl-menu .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 220px;
  padding: 10px;
  margin: 0;
  list-style: none;
  z-index: 9999;

  border-radius: 14px;
  background: rgba(20, 20, 20, 0.92);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

/* Mostrar SOLO cuando JS añade la clase */
.bl-menu li.is-open > .sub-menu {
  display: block;
}

/* Links */
.bl-menu .sub-menu a {
  display: block;
  padding: .55rem .75rem;
  border-radius: 12px;
  font-weight: 650;
  white-space: nowrap;
}

.bl-menu .sub-menu a:hover {
  background: rgba(255,255,255,.12);
}
/* ===== Accesibilidad: texto solo para lectores ===== */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* ===========================
   Dropdown SOLO por CLICK
   =========================== */

.bl-menu > li {
  position: relative;
}

/* Submenu oculto siempre */
.bl-menu .sub-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 220px;
  padding: 10px;
  margin: 0;
  list-style: none;
  z-index: 9999;

  border-radius: 14px;
  background: rgba(20, 20, 20, 0.92);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}

/* Mostrar SOLO cuando JS añade la clase */
.bl-menu li.is-open > .sub-menu {
  display: block;
}

/* Links */
.bl-menu .sub-menu a {
  display: block;
  padding: .55rem .75rem;
  border-radius: 12px;
  font-weight: 650;
  white-space: nowrap;
}

.bl-menu .sub-menu a:hover {
  background: rgba(255,255,255,.12);
}

/* ===========================
   Menú responsive (tablet/móvil)
   =========================== */

/* Botón hamburguesa oculto en desktop */
.bl-menu-toggle{
  display:none;
  background:transparent;
  border:0;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
/* ===========================
   Menú responsive (slide down desde header)
   =========================== */
@media (max-width: 860px){
	
	.bl-menu-toggle{
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 10px 12px;
		border-radius: 12px;
		background: transparent;
		cursor: pointer;
		z-index: 10001;
  	}

  /* El nav debe poder “anclar” el dropdown */
  .bl-right { position: relative; }
  .bl-nav { position: relative; }

  /* El UL existe siempre para poder animar (NO usar display none/block) */
  .bl-nav .bl-menu{
    display: block !important;

    position: absolute;
	width: 50vw;
    left: -50vw;
    top: 40px;
    border-radius: 16px;

    margin: 0;
    padding: 10px 12px 12px;
    list-style: none;

    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 44px rgba(0,0,0,.18);

    /* MISMO “look” que el header cuando NO es solid */
    background: rgb(66 66 66 / 90%);

    /* Estado cerrado (animable) */
    opacity: 0;
    transform: translateY(-10px);
    visibility: hidden;
    pointer-events: none;

    transition:
      opacity .22s ease,
      transform .22s ease,
      visibility 0s linear .22s;

    z-index: 9999;
  }

  /* Cuando el header se pone solid (scroll), el menú también */
  .bl-header.is-solid .bl-nav .bl-menu{
    background: white;
    border-color: var(--bl-border);
    box-shadow: 0 18px 44px rgba(0,0,0,.14);
  }

  /* Estado abierto */
  .bl-header.is-menu-open .bl-nav .bl-menu{
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;

    transition:
      opacity .22s ease,
      transform .22s ease,
      visibility 0s;
  }

  /* Items en columna, bonitos */
  .bl-nav .bl-menu > li{
    display: block;
    margin: 0;
  }

  .bl-nav .bl-menu > li > a{
    display: block;
    padding: .85rem .85rem;
    border-radius: 14px;
    font-weight: 900;
    text-decoration: none !important;
  }

  /* Separadores sutiles */
  .bl-nav .bl-menu > li + li{
    margin-top: 6px;
  }

  /* Hover suave */
  .bl-nav .bl-menu > li > a:hover{
    background: rgba(255,255,255,.12);
  }	
	
  .bl-header .bl-menu-toggle{
    color: rgba(255,255,255,.92) !important;
  }

  /* Cuando el header está solid (scroll) -> igual que textos en solid */
  .bl-header.is-solid .bl-menu-toggle{
    color: rgba(17,17,17,.86) !important;
  }

  /* Texto según estado del header */
  .bl-nav .bl-menu > li > a{
    color: rgba(255,255,255,.92) !important; /* header transparente */
  }
  .bl-header.is-solid .bl-nav .bl-menu > li > a{
    color: rgba(17,17,17,.86) !important; /* header solid */
  }
  body:not(.home) .bl-header .bl-menu-toggle{
    color: var(--bl-dark) !important;
  }

  /* Si el icono es SVG, hereda currentColor */
  body:not(.home) .bl-header .bl-menu-toggle svg{
    stroke: currentColor !important;
    fill: currentColor !important;
  }

  /* 2) Menú desplegable: mantenerlo oscuro (blanco NO), pero con sombra */
  body:not(.home) .bl-header .bl-nav .bl-menu{
    background: white !important; /* sigue oscuro */
    border-color: rgba(0,0,0,.10) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.28) !important; /* shadow más pro */
  }

  /* Opcional: hover un poquito más visible en fondo oscuro */
  body:not(.home) .bl-header .bl-nav .bl-menu > li > a:hover{
    background: rgba(255,255,255,.10) !important;
  }
}