
:root{
  --imhp-bg:#0B0B0B;
  --imhp-gold:#D4AF37;
  --imhp-text:#FFFFFF;
}

.imhp-hero{ position:relative; width:100%; overflow:hidden; color:var(--imhp-text); }
.imhp-hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center; background-color:#111; }
.imhp-hero-overlay{ position:absolute; inset:0; background: #000; }
.imhp-hero-content{ position:relative; z-index:2; padding: 36px 16px 56px; max-width: 1200px; margin:0 auto; display:flex; align-items:flex-start; }
.imhp-search-card{
  width:min(520px, 100%);
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(212,175,55,.25);
  backdrop-filter: blur(6px);
  border-radius: 14px;
  padding: 18px 18px 16px;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.imhp-title{ margin:0 0 6px; font-size: 22px; letter-spacing:.2px; }
.imhp-subtitle{ margin:0 0 14px; opacity:.92; font-size: 13px; }

.imhp-form{ display:grid; gap: 10px; }
.imhp-field label{ display:block; font-size:12px; opacity:.9; margin: 0 0 5px; }
.imhp-field input, .imhp-field select{
  width:100%;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--imhp-text);
  outline:none;
}
.imhp-field input::placeholder{ color: rgba(255,255,255,.65); }
.imhp-grid2{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }

.imhp-actions{ display:flex; gap:10px; margin-top: 6px; }
.imhp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding: 11px 14px; border-radius: 12px; text-decoration:none; font-weight:700; border:1px solid transparent; cursor:pointer; user-select:none; }
.imhp-btn-primary{ background: var(--imhp-gold); color:#111; border-color: rgba(212,175,55,.55); }
.imhp-btn-primary:hover{ filter: brightness(1.05); }
.imhp-btn-ghost{ background: transparent; color: var(--imhp-text); border-color: rgba(255,255,255,.22); }
.imhp-btn-ghost:hover{ border-color: rgba(212,175,55,.65); color: var(--imhp-gold); }

.imhp-hero-header{ position:relative; z-index:3; }
.imhp-hero-header-inner{
  max-width: 1200px; margin: 0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 16px;
}
.imhp-hero-header:before{
  content:""; position:absolute; inset:0;
  background: rgba(0,0,0,.55);
  border-bottom: 1px solid rgba(212,175,55,.25);
}
.imhp-hero-header-inner > *{ position:relative; z-index:1; }

.imhp-brand{ display:flex; align-items:center; gap:10px; }
.imhp-brand-logo{ height:44px; width:auto; display:block; }
.imhp-brand-text{ font-weight:800; letter-spacing:.3px; }

.imhp-nav{ display:flex; align-items:center; gap: 14px; }
.imhp-menu{ display:flex; gap: 16px; list-style:none; margin:0; padding:0; }
.imhp-menu li a{ color: var(--imhp-text); text-decoration:none; font-weight:700; font-size: 13px; opacity:.95; }
.imhp-menu li a:hover{ color: var(--imhp-gold); }
.imhp-wa{ color: var(--imhp-gold); text-decoration:none; font-weight:800; border:1px solid rgba(212,175,55,.55); padding: 8px 10px; border-radius: 999px; }
.imhp-wa:hover{ background: rgba(212,175,55,.14); }

.imhp-nav-toggle{ display:none; background:transparent; border:1px solid rgba(212,175,55,.4); border-radius: 10px; width:44px; height:38px; padding:0; }
.imhp-nav-toggle span{ display:block; height:2px; width:20px; background: var(--imhp-gold); margin: 4px auto; border-radius: 2px; }

/* FOOTER */
.imhp-footer{ background: var(--imhp-bg); color: var(--imhp-text); border-top: 1px solid rgba(212,175,55,.22); }
.imhp-footer-inner{ max-width: 1200px; margin: 0 auto; padding: 44px 16px; display:grid; grid-template-columns: 1.15fr 2fr; gap: 28px; }
.imhp-footer-logo{ height: 56px; width:auto; display:block; margin-bottom: 10px; }
.imhp-footer-brandline{ font-weight: 900; letter-spacing:.4px; }
.imhp-footer-tagline{ opacity:.92; margin-top: 6px; }
.imhp-footer-mp{ margin-top: 10px; color: var(--imhp-gold); font-weight: 800; }
.imhp-footer-meta{ margin-top: 14px; opacity:.95; display:grid; gap: 6px; }
.imhp-footer-hours{ opacity: .92; }
.imhp-footer-credit{ margin-top: 16px; opacity:.8; font-size: 12px; border-top: 1px solid rgba(255,255,255,.10); padding-top: 12px; }

.imhp-footer-cols{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.imhp-footer-title{ font-weight: 900; color: var(--imhp-gold); margin-bottom: 10px; }
.imhp-footer-menu{ list-style:none; margin:0; padding:0; display:grid; gap: 10px; }
.imhp-footer-menu a{ color: var(--imhp-text); text-decoration:none; opacity:.92; }
.imhp-footer-menu a:hover{ color: var(--imhp-gold); opacity:1; }

/* Responsive */
@media (max-width: 900px){
  .imhp-footer-inner{ grid-template-columns: 1fr; }
}
@media (max-width: 780px){
  .imhp-hero-content{ padding-top: 18px; }
  .imhp-nav-toggle{ display:inline-block; }
  .imhp-menu{ display:grid; gap: 12px; }
  .imhp-nav{ position:absolute; right: 16px; top: 64px; background: rgba(0,0,0,.88); border:1px solid rgba(212,175,55,.25); border-radius: 14px; padding: 14px; display:none; flex-direction:column; align-items:flex-start; min-width: 240px; }
  .imhp-nav.is-open{ display:flex; }
  .imhp-wa{ width:100%; text-align:center; }
  .imhp-grid2{ grid-template-columns: 1fr; }
  .imhp-footer-cols{ grid-template-columns: 1fr; }
}


/* Sección institucional (título + texto + imagen) */
.imhp-inst{
  width:100%;
  padding: 52px 16px;
}
.imhp-inst--light{
  background:#ffffff;
  color:#111827;
}
.imhp-inst--dark{
  background: var(--imhp-bg, #0B0B0B);
  color: var(--imhp-text, #FFFFFF);
}
.imhp-inst__wrap{
  margin:0 auto;
}
.imhp-inst__title{
  font-size: 28px;
  line-height:1.2;
  margin: 0 0 18px 0;
  font-weight: 800;
  text-transform: none;
  position: relative;
  padding-bottom: 10px;
}
.imhp-inst__title:after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:120px;
  height:3px;
  background: var(--imhp-gold, #D4AF37);
  border-radius: 99px;
  opacity: .95;
}
.imhp-inst__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 28px;
  align-items:start;
}
.imhp-inst__content{
  font-size: 15.5px;
  line-height: 1.75;
  opacity: .95;
}
.imhp-inst__content p{ margin: 0 0 12px 0; }
.imhp-inst__media img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 14px;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  border: 2px solid rgba(212,175,55,.35);
}
.imhp-inst--img-left .imhp-inst__grid{
  grid-template-columns: .8fr 1.2fr;
}
.imhp-inst--img-left .imhp-inst__media{ order:0; }
.imhp-inst--img-left .imhp-inst__content{ order:1; }

@media (max-width: 920px){
  .imhp-inst__grid{ grid-template-columns: 1fr; }
  .imhp-inst__title{ font-size: 24px; }
}


/* Custom select (dark dropdown) */
.imhp-select{ position:relative; }
.imhp-select select{ position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; }
.imhp-select-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(15,15,15,0.35);
  color: var(--imhp-text);
  cursor:pointer;
}
.imhp-select-btn:hover{ border-color: rgba(212,175,55,0.45); }
.imhp-select-btn:focus{ outline:none; box-shadow:0 0 0 3px rgba(212,175,55,0.18); border-color: rgba(212,175,55,0.65); }
.imhp-select-caret{ width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-top:7px solid rgba(255,255,255,0.75); }
.imhp-select.is-open .imhp-select-caret{ transform: rotate(180deg); }
.imhp-select-list{
  display:none;
  position:absolute;
  left:0; right:0;
  top: calc(100% + 8px);
  background: rgba(10,10,10,0.97);
  border:1px solid rgba(212,175,55,0.32);
  border-radius:14px;
  padding:6px;
  max-height:260px;
  overflow:auto;
  z-index:9999;
  box-shadow: 0 20px 60px rgba(0,0,0,0.55);
  backdrop-filter: blur(10px);
}
.imhp-select.is-open .imhp-select-list{ display:block; }
.imhp-select-item{
  padding:11px 12px;
  border-radius:10px;
  cursor:pointer;
  color: rgba(255,255,255,0.92);
}
.imhp-select-item:hover{ background: rgba(212,175,55,0.12); }
.imhp-select-item.is-selected{ background: rgba(212,175,55,0.18); border: 1px solid rgba(212,175,55,0.35); }
