/*
Theme Name: Cerrajero en Cádiz
Description: Tema de bloques ligero para Cerrajero en Cádiz 24 Horas. Requiere el plugin Cerrajero Blocks.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Author: Webloading
Text Domain: alvaro
*/

/* Cabecera */
.ab-site-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid #e2e8f0; }
.admin-bar .ab-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ab-site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ab-site-header { top: 0; } }
.ab-site-header__inner { min-height: 74px; gap: 16px; }
.ab-site-header .wp-block-navigation { font-weight: 600; font-size: .97rem; }
.ab-site-header .wp-block-navigation__container { gap: 4px 26px; }
.ab-site-header .wp-block-navigation a { text-decoration: none; }
.ab-site-header .wp-block-navigation a:hover { color: #a35f00; }
.ab-site-header .wp-block-navigation .wp-block-navigation__submenu-container { border-radius: 14px; border: 1px solid #e2e8f0 !important; box-shadow: 0 18px 40px -14px rgba(15,23,42,.28); padding: 8px; min-width: 270px; }
.ab-site-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 9px 12px; border-radius: 8px; }
.ab-site-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover { background: #fff4d6; }
.ab-site-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; place-items: center; justify-content: center; align-items: center; border-radius: 12px; background: #f3f6fa; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 14px; font-size: 1.2rem; }
.ab-site-header__actions { gap: 10px; }
@media (max-width: 1080px) and (min-width: 600px) { .ab-site-header .ab-callbtn__text small { display: none; } }

/* Pie */
.ab-site-footer { background: #0b1a2e; color: #cbd5e1; }
.ab-site-footer a { color: #e2e8f0; text-decoration: none; }
.ab-site-footer a:hover { color: #ffb400; text-decoration: underline; }
.ab-site-footer h2 { color: #fff; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 14px; }
.ab-site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: .95rem; }
.ab-site-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); font-size: .85rem; color: #94a3b8; }
.ab-site-footer__bottom a { color: #94a3b8; }

/* Páginas legales / genéricas */
.ab-page-plain { padding-block: clamp(40px, 6vw, 80px); }
.ab-page-plain h1 { font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: -.02em; }

:where(a) { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid #60a5fa; outline-offset: 2px; }
.skip-link:focus { z-index: 100000; }

.wp-site-blocks > * { margin-block-start: 0 !important; }
.ab-foot-title { color: #fff; font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 14px; }
.ab-site-footer .wp-block-column > p:not(.ab-foot-title) { font-size: .95rem; color: #94a3b8; }
.ab-site-footer .ab-logo { margin-bottom: 16px; }
.ab-site-header__inner { max-width: 1200px; margin-inline: auto; box-sizing: border-box; }

/* Menú móvil (overlay) */
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open { background: #fff; color: #0b1a2e; padding: 20px 24px 120px; overflow-y: auto; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
.ab-site-header .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: #f3f6fa; top: 0; right: 0; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 64px; align-items: stretch; gap: 0; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch; gap: 0; width: 100%; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; flex-direction: column; align-items: stretch; border-bottom: 1px solid #e2e8f0; padding: 14px 0; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a { font-size: 1.3rem; font-weight: 800; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 8px 0 0 !important; min-width: 0; display: grid !important; grid-template-columns: 1fr 1fr; gap: 2px 12px; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: auto; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { font-size: .95rem; font-weight: 600; color: #334155; padding: 7px 0; line-height: 1.3; }
@media (max-width: 380px) { .ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { grid-template-columns: 1fr; } }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { display: none; }
@media (max-width: 1080px) and (min-width: 600px) { .ab-site-header .wp-block-navigation__container { gap: 4px 18px; } }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { justify-content: flex-start !important; align-items: flex-start !important; text-align: left !important; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 0 !important; padding-right: 0 !important; }
.ab-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a:hover { color: #a35f00; }

/* Submenús de escritorio sin JavaScript: se abren al pasar el ratón o al llegar con el teclado */
.ab-site-header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.ab-site-header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container { height: auto; min-width: 270px; opacity: 1; overflow: visible; visibility: visible; width: auto; }
.ab-site-header .wp-block-navigation .has-child:focus-within > .wp-block-navigation-submenu__toggle svg,
.ab-site-header .wp-block-navigation .has-child:hover > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }
.ab-site-header .wp-block-navigation-submenu__toggle svg { transition: transform .2s; }
