/*
Theme Name: Constructora H&H Perú
Author: Equipo de desarrollo
Description: Tema de bloques corporativo para Constructora H&H Perú S.A.C.
Version: 2.8.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: constructora-hh
License: GPL-2.0-or-later
*/
:root{scroll-behavior:smooth}body{margin:0}a{text-underline-offset:3px}.wp-site-blocks{overflow:hidden}.hh-header{box-shadow:0 3px 16px #031b3612;position:relative;z-index:10}.hh-hero{min-height:690px!important}.hh-hero h1{max-width:880px;font-weight:800;letter-spacing:-.035em}.hh-eyebrow{letter-spacing:.18em;text-transform:uppercase;font-weight:750}.hh-section{padding-top:84px!important;padding-bottom:84px!important}.hh-card{background:#fff;box-shadow:0 12px 34px #08234114;border-bottom:5px solid #ffbf00;transition:transform .2s}.hh-card:hover{transform:translateY(-4px)}.hh-card .wp-block-post-featured-image{margin:0}.hh-card .wp-block-group{padding:22px}.hh-contact .wp-block-column{min-width:240px}.hh-logo img{object-fit:contain}.hh-service-icon{font-size:36px;margin-bottom:8px}.hh-footer a{color:#fff}.hh-section h2{letter-spacing:-.025em}@media(max-width:780px){.hh-hero{min-height:550px!important}.hh-section{padding-top:54px!important;padding-bottom:54px!important}.hh-hero h1{font-size:2.3rem!important}}

.hh-hero{background-image:linear-gradient(100deg,rgba(2,22,49,.88),rgba(2,22,49,.37)),url("assets/images/portada-camiones.jpg");background-size:cover;background-position:center 40%}.hh-hero .wp-block-cover__background{opacity:.20!important}

.hh-header{position:sticky;top:0}.hh-header .wp-block-navigation a:hover{color:#b37a00}.hh-header .wp-block-site-title{font-size:clamp(.8rem,1.3vw,1rem);font-weight:800}.hh-banner-bar{background:#052b58;color:white;padding:9px 24px;text-align:right;font-size:.8rem}.hh-banner-bar a{color:white}.hh-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hh-gallery figure{margin:0;overflow:hidden;position:relative;aspect-ratio:4/3;border-radius:5px;background:#e9edf2}.hh-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.hh-gallery figure:hover img{transform:scale(1.04)}.hh-gallery figcaption{font-size:.78rem;padding:8px;background:#f0f4f8}.hh-certificates{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.hh-certificates a{display:block;padding:24px 16px;border-radius:5px;background:white;border:1px solid #dce5ef;text-decoration:none;box-shadow:0 8px 22px #07284e0a}.hh-certificates strong{display:block;font-size:1.2rem;color:#052b58}.hh-certificates span{color:#3c4b5c;font-size:.92rem}.hh-certificates em{display:block;color:#8c5c00;margin-top:13px;font-style:normal;font-weight:bold}.hh-contact-form{max-width:720px}.hh-contact-form label{display:block;margin-top:16px;font-weight:700}.hh-contact-form input,.hh-contact-form textarea{box-sizing:border-box;display:block;width:100%;padding:14px;border:1px solid #ccd6e0;border-radius:3px;font:inherit}.hh-contact-form button{margin-top:16px;padding:14px 24px;background:#ffbf00;border:0;font-weight:800;color:#052b58;cursor:pointer}.hh-alert{padding:16px;background:#f4f7fa;border-left:4px solid #ffbf00}.hh-hero .wp-block-cover__inner-container{padding-inline:clamp(18px,5vw,90px)}.hh-section{padding-inline:clamp(20px,4vw,64px)}@media(max-width:1000px){.hh-gallery{grid-template-columns:repeat(3,1fr)}.hh-certificates{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hh-gallery{grid-template-columns:repeat(2,1fr)}.hh-certificates{grid-template-columns:1fr}.hh-header{position:relative}}

/* Mejoras del encabezado y tarjetas, diseño 2.2 */
.hh-brandmark{display:flex;align-items:center;gap:12px;min-height:66px}
.hh-brandmark:before{content:"";display:block;width:74px;height:62px;flex:0 0 74px;background:url("assets/images/logo-hh.png") center/contain no-repeat}
.hh-brandmark .wp-block-site-title a{color:#052b58;text-decoration:none}
.hh-services-grid .hh-card{height:100%;overflow:hidden}
.hh-services-grid .hh-card:before{content:"";display:block;height:200px;background-size:cover;background-position:center}
.hh-services-grid .wp-block-column:nth-child(1) .hh-card:before{background-image:url("assets/images/cisterna.jpg")}
.hh-services-grid .wp-block-column:nth-child(2) .hh-card:before{background-image:url("assets/images/obras.jpg")}
.hh-services-grid .wp-block-column:nth-child(3) .hh-card:before{background-image:url("assets/images/equipo-campo.jpg")}
.hh-services-grid .hh-card > h3,.hh-services-grid .hh-card > p{margin-inline:22px}
.hh-services-grid .hh-card > p:last-child{margin-bottom:25px}
.hh-header .wp-block-navigation a{color:#052b58;text-decoration:none}
.hh-header .wp-block-navigation a:hover{color:#a37100}
.hh-footer p,.hh-footer a{color:#fff}
.hh-content-section{padding:65px 22px}
.hh-content-section h1,.hh-content-section h2{color:#052b58}
.hh-no-results{padding:20px;background:#f3f6fa}
.hh-contact-form input:focus,.hh-contact-form textarea:focus{outline:3px solid #ffbf00;outline-offset:2px}
@media(max-width:780px){.hh-brandmark:before{width:55px;height:50px;flex-basis:55px}.hh-services-grid .hh-card:before{height:165px}}

.hh-brandmark:has(.wp-block-site-logo img):before{display:none}


/* V2.7 — Cambios aislados a la portada; no se tocan los módulos inferiores. */
.hh-hero-v26 {
 box-sizing:border-box!important;position:relative;isolation:isolate;
 margin:0!important;min-height:670px;
 padding:64px 32px 42px!important;
 display:flex!important;flex-direction:column!important;
 justify-content:center!important;align-items:center!important;
 gap:38px!important;color:#fff!important;
 background:linear-gradient(90deg,rgba(3,23,54,.94) 0%,rgba(4,30,67,.86) 42%,rgba(5,38,80,.38) 100%),url('assets/images/portada-camiones.jpg') center 54%/cover no-repeat!important;
}
.hh-hero-v26 *, .hh-hero-v26 *::before, .hh-hero-v26 *::after {box-sizing:border-box}
.hh-hero-v26 .hh-hero-v26-content {
 width:min(100%,1130px)!important;max-width:1130px!important;
 margin:0 auto!important;padding:0!important;
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
}
.hh-hero-v26 .hh-v26-kicker {
 display:inline-flex!important;align-items:center!important;
 width:max-content;max-width:100%;border:1px solid #ffbf00!important;
 border-radius:999px!important;background:rgba(5,34,72,.76)!important;
 color:#ffbf00!important;padding:9px 19px!important;
 margin:0 0 20px!important;font-size:13px!important;font-weight:750!important;
 line-height:1.4!important;letter-spacing:.055em!important;
}
.hh-hero-v26 .hh-v26-title {
 width:100%;max-width:790px!important;margin:0 0 17px!important;
 font-family:inherit!important;font-size:clamp(33px,3.45vw,49px)!important;
 font-weight:800!important;line-height:1.17!important;
 letter-spacing:-.023em!important;color:#fff!important;text-align:left!important;
 overflow-wrap:normal!important;word-break:normal!important;
 text-shadow:0 2px 8px rgba(0,0,0,.24);
}
.hh-hero-v26 .hh-v26-subtitle {
 width:100%;max-width:770px!important;margin:0 0 26px!important;
 font-size:clamp(16px,1.3vw,18px)!important;line-height:1.55!important;
 color:#fff!important;text-align:left!important;
}
.hh-hero-v26 .hh-v26-actions {
 margin:0!important;width:auto!important;
 display:flex!important;justify-content:flex-start!important;
 align-items:center!important;gap:14px!important;flex-wrap:wrap!important;
}
.hh-hero-v26 .hh-v26-actions .wp-block-button {margin:0!important}
.hh-hero-v26 .hh-v26-actions .wp-block-button__link {
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:49px!important;border-radius:999px!important;
 padding:12px 24px!important;font-size:15px!important;
 font-weight:750!important;line-height:1.3!important;text-decoration:none!important;
 transition:transform .2s ease,background-color .2s ease!important;
}
.hh-hero-v26 .hh-v26-actions .wp-block-button__link:hover {transform:translateY(-2px)}
.hh-hero-v26 .hh-v26-primary a {background:#ffbf00!important;color:#052b58!important;border:2px solid #ffbf00!important}
.hh-hero-v26 .hh-v26-secondary a {background:rgba(5,43,88,.25)!important;color:#fff!important;border:2px solid #fff!important}
.hh-hero-v26 .hh-v26-stats {
 position:relative!important;width:min(100%,1130px)!important;
 max-width:1130px!important;margin:0 auto!important;
 padding:25px 24px!important;border-radius:16px!important;
 border:1px solid rgba(255,255,255,.16)!important;
 background:linear-gradient(105deg,#061f45,#0c397a)!important;
 box-shadow:0 16px 36px rgba(0,20,54,.28)!important;
 color:#fff!important;
}
.hh-hero-v26 .hh-v26-stats .hh-v26-stats-columns {
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:0!important;margin:0!important;width:100%!important;
 align-items:center!important;
}
.hh-hero-v26 .hh-v26-stats-columns>.wp-block-column {
 min-width:0!important;max-width:none!important;width:auto!important;
 flex:none!important;align-self:stretch!important;
 margin:0!important;padding:10px 24px!important;
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;
 justify-content:center!important;
}
.hh-hero-v26 .hh-v26-stats-columns>.wp-block-column+.wp-block-column {border-left:1px solid rgba(255,255,255,.18)!important}
.hh-hero-v26 .hh-v26-stats h3 {
 margin:0 0 9px!important;font-size:clamp(22px,2.05vw,30px)!important;
 font-weight:800!important;line-height:1.2!important;
 color:#ffbf00!important;overflow-wrap:normal!important;word-break:normal!important;
}
.hh-hero-v26 .hh-v26-stats p {
 margin:0!important;font-size:13.5px!important;line-height:1.5!important;
 color:#fff!important;overflow-wrap:normal!important;word-break:normal!important;
}
@media(max-width:950px){
 .hh-hero-v26{padding:56px 26px 35px!important;min-height:650px;gap:31px!important}
 .hh-hero-v26 .hh-v26-stats {padding:18px 14px!important}
 .hh-hero-v26 .hh-v26-stats-columns>.wp-block-column {padding:10px 15px!important}
 .hh-hero-v26 .hh-v26-stats h3 {font-size:24px!important}
}
@media(max-width:680px){
 .hh-hero-v26 {padding:46px 20px 26px!important;min-height:0!important;gap:32px!important;background-position:60% center!important}
 .hh-hero-v26 .hh-v26-title{font-size:clamp(30px,7vw,38px)!important;max-width:100%!important}
 .hh-hero-v26 .hh-v26-subtitle{font-size:16px!important}
 .hh-hero-v26 .hh-v26-stats .hh-v26-stats-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .hh-hero-v26 .hh-v26-stats-columns>.wp-block-column{padding:16px 12px!important}
 .hh-hero-v26 .hh-v26-stats-columns>.wp-block-column:nth-child(3){border-left:0!important;border-top:1px solid rgba(255,255,255,.18)!important}
 .hh-hero-v26 .hh-v26-stats-columns>.wp-block-column:nth-child(4){border-top:1px solid rgba(255,255,255,.18)!important}
 .hh-hero-v26 .hh-v26-stats h3{font-size:23px!important}
 .hh-hero-v26 .hh-v26-stats p{font-size:12px!important}
}
@media(max-width:400px){
 .hh-hero-v26{padding:35px 16px 20px!important}
 .hh-hero-v26 .hh-v26-actions{gap:10px!important}
 .hh-hero-v26 .hh-v26-actions .wp-block-button__link{font-size:13px!important;padding:11px 17px!important}
 .hh-hero-v26 .hh-v26-stats{padding:10px!important}
 .hh-hero-v26 .hh-v26-stats-columns>.wp-block-column{padding:12px 9px!important}
}
@media(prefers-reduced-motion:reduce){.hh-hero-v26 .hh-v26-actions .wp-block-button__link{transition:none!important}}

/* V2.8 — Ajuste exclusivo de la cabecera en pantallas pequeñas. */
@media (max-width: 781px) {
  .hh-header {
    position: relative;
    z-index: 100;
  }
  .hh-header > .wp-block-group,
  .hh-header > .wp-block-group.alignwide,
  .hh-header .wp-block-group.alignwide {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  .hh-header.wp-block-group {
    padding: 10px 14px !important;
  }
  .hh-header .hh-brandmark {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 46px !important;
    gap: 9px !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }
  .hh-header .hh-brandmark .wp-block-site-logo {
    margin: 0 !important;
    flex: 0 0 auto !important;
    line-height: 0 !important;
  }
  .hh-header .hh-brandmark .wp-block-site-logo img {
    width: 45px !important;
    max-width: 45px !important;
    height: 45px !important;
    object-fit: contain !important;
  }
  .hh-header .hh-brandmark:before {
    width: 45px !important;
    height: 45px !important;
    flex: 0 0 45px !important;
  }
  .hh-header .wp-block-site-title {
    margin: 0 !important;
    min-width: 0 !important;
    max-width: 235px !important;
    font-size: clamp(11px, 3.2vw, 14px) !important;
    font-weight: 800 !important;
    line-height: 1.17 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .hh-header .wp-block-site-title a {
    text-decoration: none !important;
  }
  .hh-header .wp-block-navigation {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: flex-end !important;
  }
  .hh-header .wp-block-navigation__responsive-container-open {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 9px !important;
    border: 1px solid #dce5ef !important;
    border-radius: 7px !important;
    color: #052b58 !important;
    background-color: #fff !important;
  }
  .hh-header .wp-block-navigation__responsive-container-open svg {
    width: 24px !important;
    height: 24px !important;
  }
  .hh-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
  .hh-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    z-index: 100000 !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    padding: 24px !important;
    background: #fff !important;
    color: #052b58 !important;
  }
  .hh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: flex-start !important;
    padding-top: 62px !important;
  }
  .hh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: flex-start !important;
    gap: 17px !important;
  }
  .hh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #052b58 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }
  .hh-header .wp-block-navigation__responsive-container-close {
    color: #052b58 !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}
@media (max-width: 360px) {
  .hh-header.wp-block-group {padding-inline: 10px !important;}
  .hh-header .hh-brandmark {gap: 6px !important;}
  .hh-header .hh-brandmark .wp-block-site-logo img {width: 39px !important;height: 39px !important;}
  .hh-header .hh-brandmark:before {width: 39px !important;height: 39px !important;flex-basis: 39px !important;}
  .hh-header .wp-block-site-title {font-size: 11px !important;}
}
