/* WordPress integration and dynamic content additions. */
body.admin-bar .header{top:32px}
.menu .sub-menu{position:absolute;top:calc(100% + 12px);left:-20px;z-index:30;width:310px;margin:0;padding:10px;list-style:none;opacity:0;visibility:hidden;transform:translateY(-8px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-md);transition:opacity var(--t),transform var(--t),visibility var(--t)}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu,.menu li.open>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.menu .sub-menu .sub-menu{top:-10px;left:calc(100% + 12px);width:270px}
.menu .sub-menu a{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:11px;text-align:left;white-space:normal;line-height:1.25}
.menu .sub-menu a:hover{color:var(--red);background:var(--soft)}
.gaztec-submenu-toggle{display:none;border:0;background:transparent;color:var(--navy);cursor:pointer;padding:10px}
.hero-carousel-pager{grid-template-columns:repeat(var(--hero-items,5),1fr)}
.strip-grid{grid-template-columns:repeat(var(--strip-items,5),1fr)}
.gaztec-card-copy p:first-child,.testimonial-copy p:first-child{margin-top:0}
.gaztec-card-copy p:last-child,.testimonial-copy p:last-child{margin-bottom:0}
.services-grid .specialty{display:flex;flex-direction:column}
.services-grid .text-link{margin-top:auto;padding-top:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit}
.contact-form button:disabled{opacity:.65;cursor:wait}
.site-content{min-height:55vh;padding:80px 0}
.content-card{max-width:920px;margin:0 auto;padding:42px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-sm)}
.content-card h1{color:var(--navy);font-size:clamp(2.25rem,5vw,4.4rem);line-height:1;letter-spacing:-.055em}
.content-card .entry-content{font-size:1.06rem}
.content-card .entry-content a{color:var(--red);text-decoration:underline}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.archive-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}
.archive-card h2{margin-top:0;color:var(--navy)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1040px){
 body.admin-bar .header{top:32px}
 .menu .sub-menu,.menu .sub-menu .sub-menu{position:static;width:auto;margin:0 0 0 10px;padding:0;overflow:hidden;max-height:0;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;background:transparent;transition:max-height .3s ease}
 .menu li.open>.sub-menu{max-height:1200px}
 .menu-item-has-children{display:grid;grid-template-columns:1fr auto}
 .menu-item-has-children>.sub-menu{grid-column:1/-1}
 .gaztec-submenu-toggle{display:block}
 .archive-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:782px){body.admin-bar .header{top:46px}}
@media(max-width:700px){
 .hero-carousel-pager{grid-template-columns:repeat(var(--hero-items,5),minmax(50px,1fr));overflow-x:auto;padding-bottom:4px}
 .strip-grid{grid-template-columns:1fr}
 .form-row,.archive-grid{grid-template-columns:1fr}
 .content-card{padding:26px}
}
/* Specialty navigation and product catalog. */
.menu>li{position:relative}
.menu .sub-menu{top:100%}
.menu .sub-menu .sub-menu{left:100%}
.specialty-detail .content-card{max-width:1100px}
.specialty-breadcrumb{margin-bottom:24px;font-size:.9rem;line-height:1.8}
.specialty-breadcrumb a{color:var(--navy);text-decoration:underline}
.specialty-cover{display:block;width:100%;height:auto;max-height:440px;object-fit:cover;border-radius:18px;margin-bottom:24px}
.specialty-products{margin:40px 0}
.gaztec-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gaztec-product{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--soft)}
.gaztec-product img{display:block;width:100%;height:230px;object-fit:contain;background:#fff}
.gaztec-product figcaption{padding:20px}
.gaztec-product h3{font-size:1.15rem;overflow-wrap:anywhere}
.gaztec-product p{font-size:.95rem}
#especialidades .specialty>.btn{margin-top:22px;align-self:flex-start}
#especialidades .specialty{display:flex;flex-direction:column}
#especialidades .gaztec-card-copy{flex:1}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:1040px){.menu .sub-menu{max-height:none;display:none}.menu li.open>.sub-menu{display:block;max-height:none}}
@media(max-width:800px){.gaztec-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.gaztec-product-grid{grid-template-columns:minmax(0,1fr)}}
