/* Prueba local: portada publicada más hero y franja de escritorio. */
.hero-proyecto,.hero-soluciones-heading { display:none; }
@media (min-width:901px) {
  body[data-page="home"] .ac-home-hero--photo { min-height:535px; padding:0; color:#fff; background:linear-gradient(90deg,rgba(4,23,47,.99) 0%,rgba(5,30,60,.95) 32%,rgba(6,31,58,.78) 49%,rgba(6,29,53,.2) 77%),url('/assets/hero/qualica-rd-vega-hero-home-wide.jpg') center/cover; }
  body[data-page="home"] .ac-home-hero--photo .ac-home-hero__copy { max-width:640px; padding:72px 0 78px; }
  body[data-page="home"] .ac-home-hero--photo .ac-home-hero__copy h1 { max-width:600px; color:#fff; font-size:clamp(2.75rem,4vw,4rem); font-weight:760; letter-spacing:-.045em; line-height:1.05; }
  body[data-page="home"] .ac-home-hero--photo .ac-home-hero__copy p { max-width:530px; margin-top:24px; color:#dfebf8; font-size:1.05rem; line-height:1.7; }
  body[data-page="home"] .hero-proyecto { display:block; margin-top:30px; }
  body[data-page="home"] .hero-proyecto a { display:inline-flex; align-items:center; gap:36px; min-height:52px; padding:0 21px; background:#075de9; border:1px solid #347cfa; border-radius:5px; color:#fff; font-size:.96rem; font-weight:750; text-decoration:none; }
  body[data-page="home"] .hero-proyecto a:hover { background:#2676ef; }
  body[data-page="home"] .hero-proyecto a:focus-visible { outline:3px solid #8ac6ff; outline-offset:4px; }
  body[data-page="home"] .ac-home-mobile-links { display:block; padding:30px 0 34px; background:#f1f5f9; border-bottom:1px solid #dce6f0; }
  body[data-page="home"] .hero-soluciones-heading { display:flex; margin-bottom:17px; }
  body[data-page="home"] .hero-soluciones-heading span { color:#526a82; font-size:.68rem; font-weight:850; letter-spacing:.14em; }
  body[data-page="home"] .ac-home-mobile-links__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
  body[data-page="home"] .ac-home-mobile-links__grid a { display:flex; align-items:center; gap:12px; min-height:65px; padding:10px 20px; border:0; border-left:1px solid #d8e3ee; border-radius:0; box-shadow:none; background:transparent; color:#112a45; text-decoration:none; font-size:.93rem; font-weight:700; }
  body[data-page="home"] .ac-home-mobile-links__grid a:first-child { border-left:0; padding-left:0; }
  body[data-page="home"] .ac-home-mobile-links__grid a:hover { color:#0052e0; }
  body[data-page="home"] .ac-home-mobile-links__grid a:focus-visible { outline:3px solid #0052e0; outline-offset:3px; }
  body[data-page="home"] .ac-home-mobile-links__icon { display:inline-flex; flex:0 0 34px; width:34px; height:34px; align-items:center; justify-content:center; color:#0052e0; }
  body[data-page="home"] .ac-home-mobile-links__icon svg { width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.7; }
  body[data-page="home"] .ac-home-mobile-links__arrow { display:none; }
}
.hero-desktop-contact { display:none !important; }
@media (min-width:901px) {
  body[data-page="home"] .site-header { min-height:88px; padding:0 clamp(24px,4vw,72px); background:#fff; border-bottom:1px solid #e4eaf1; box-shadow:none; }
  body[data-page="home"] .brand img { width:172px; max-width:100%; height:auto; }
  body[data-page="home"] .site-nav { gap:clamp(14px,1.5vw,25px); }
  body[data-page="home"] .site-nav > a:not(.nav-cta) { color:#253951; font-size:.8rem; font-weight:650; letter-spacing:0; text-transform:none; }
  body[data-page="home"] .site-nav > a:hover { color:#0052dc; }
  body[data-page="home"] .site-nav .hero-original-contact { display:none !important; }
  body[data-page="home"] .site-nav .hero-desktop-contact { display:flex !important; padding-left:20px; border-left:1px solid #d9e3ed; }
  body[data-page="home"] .language-switcher { font-size:.72rem; }
}
@media (min-width:901px) and (max-width:1100px) {
  body[data-page="home"] .site-header { width:100%; margin:0; }
}
/* Banderas decorativas: el nombre accesible sigue siendo el idioma. */
body[data-page="home"] .language-switcher a { display:inline-flex; align-items:center; justify-content:center; gap:5px; }
body[data-page="home"] .idioma-bandera { display:block; flex:0 0 20px; width:20px; height:14px; border:1px solid rgba(8,32,61,.14); border-radius:2px; overflow:hidden; }

/* Prueba local compartida: menú, selector, pie y aviso de cookies. */
.compact-footer-solutions,.hero-desktop-contact { display:none !important; }
.language-switcher { display:flex; align-items:center; gap:5px; }
.language-switcher a { display:inline-flex !important; align-items:center; justify-content:center; width:38px; min-height:32px; padding:5px !important; border-radius:4px; }
body .language-switcher .idioma-bandera { display:block; flex:0 0 24px; width:24px; height:16px; border:1px solid rgba(8,32,61,.17); border-radius:2px; overflow:hidden; }
.language-switcher a.is-current { background:#e5efff; }
.language-switcher a:focus-visible { outline:3px solid #0052e0; outline-offset:2px; }
@media (min-width:901px) {
  body .site-header { min-height:88px; padding:0 clamp(24px,4vw,72px); background:#fff; border-bottom:1px solid #e4eaf1; box-shadow:none; }
  body .site-header .brand img { width:172px; max-width:100%; height:auto; }
  body .site-nav { gap:clamp(14px,1.5vw,25px); }
  body .site-nav > a:not(.nav-cta) { color:#253951; font-size:.8rem; font-weight:650; letter-spacing:0; text-transform:none; }
  body .site-nav > a:hover { color:#0052dc; }
  body .site-nav .hero-original-contact { display:none !important; }
  body .site-nav .hero-desktop-contact { display:flex !important; padding-left:20px; border-left:1px solid #d9e3ed; }
  body .language-switcher { margin-left:5px; padding-left:16px; border-left:1px solid #d9e3ed; }
  body .site-footer { padding:34px 0 20px; }
  body .footer-main { display:grid; grid-template-columns:minmax(270px,1.3fr) minmax(260px,1fr) auto; gap:30px; align-items:start; }
  body .footer-main > .footer-solutions { display:none !important; }
  body .footer-brand-block { grid-column:1; grid-row:1; }
  body .footer-contact { grid-column:2; grid-row:1; }
  body .compact-footer-solutions { display:block !important; grid-column:3; grid-row:1; color:#e5eef6; }
  body .compact-footer-solutions summary { cursor:pointer; padding:10px 14px; border:1px solid rgba(229,238,246,.35); border-radius:5px; font-size:.9rem; font-weight:700; }
  body .compact-footer-solutions nav { display:block; padding-top:12px; }
  body .compact-footer-solutions nav h2 { display:none; }
  body .compact-footer-solutions .footer-solution-link { min-height:32px; padding:5px 0; }
  body .compact-footer-solutions .footer-link-icon { display:none; }
  body .footer-logo { width:190px; max-height:45px; }
  body .footer-brand-block p { max-width:360px; margin:12px 0 0; font-size:.9rem; line-height:1.5; }
  body .footer-accent { display:none; }
  body .footer-certification { margin-top:14px; }
  body .footer-certification span { font-size:.68rem; }
  body .footer-qualicard-logo { width:132px; margin-top:5px; padding:5px 7px; }
  body .footer-contact h2 { margin:0 0 10px; }
  body .footer-contact address { gap:4px; }
  body .footer-contact address a,body .footer-contact address span { min-height:32px; padding:4px 0; }
  body .footer-bottom { margin-top:24px; padding-top:16px; gap:18px; }
  body .footer-bottom nav a { padding:0 14px; }
  body .cookie-banner:not([hidden]) { right:16px; bottom:16px; width:min(650px,calc(100vw - 32px)); grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:12px 14px; border-radius:8px; box-shadow:0 12px 35px rgba(7,26,66,.16); }
  body .cookie-banner__copy strong { margin-bottom:3px; font-size:.92rem; }
  body .cookie-banner__copy p { font-size:.85rem; line-height:1.4; }
  body .cookie-banner .button { min-height:42px; padding:8px 11px; }
}
@media (min-width:901px) and (max-width:1100px) { body .site-header { width:100%; margin:0; } }
@media (min-width:901px) {
 body .compact-footer-solutions summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:132px; min-height:42px; color:#e5eef6; background:transparent; list-style:none; }
 body .compact-footer-solutions summary::-webkit-details-marker { display:none; }
 body .compact-footer-solutions summary::after { content:'▾'; color:#a9c8ed; }
 body .compact-footer-solutions[open] summary::after { content:'▴'; }
}
@media (min-width:901px) {
 body details.compact-footer-solutions { min-width:190px; background:transparent; border:0; box-shadow:none; }
 body details.compact-footer-solutions > summary { width:100%; background:transparent; }
 body details.compact-footer-solutions nav { width:100%; }
 body details.compact-footer-solutions .footer-solution-link { display:flex; align-items:center; gap:0; width:100%; color:#e5eef6; }
}
@media (min-width:901px) {
 body details.compact-footer-solutions summary::after { transform:none; position:static; }
 body .footer-bottom { padding-right:65px; }
}
@media (min-width:901px) {
 body .footer-main { grid-template-columns:minmax(270px,1.2fr) minmax(260px,1fr); }
}
@media (min-width:901px) {
 body .site-nav .hero-desktop-contact { display:inline-flex !important; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:0 16px; color:#06427e; background:#e8f2ff; border:1px solid #c9e0fb; border-radius:9px; font-size:.86rem; font-weight:750; text-decoration:none; }
 body .site-nav .hero-desktop-contact:hover { color:#003d7f; background:#d9eaff; }
 body .site-nav .hero-desktop-contact:focus-visible { outline:3px solid #0052e0; outline-offset:3px; }
 body .site-nav .hero-desktop-contact .icono-contacto { width:19px; height:19px; flex:0 0 19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
}
