/* Habacuck Diseño 1.1.0 — estilos aditivos para widgets nativos de Elementor.
 * No modifica :root, body, header, footer ni las clases hbp-* del kit anterior.
 * Colores y tipografía se configuran en los widgets para conservar su edición.
 */
.hbd-section { --hbd-paper:#f8f7f3; --hbd-ink:#090a0c; --hbd-lime:#caff42; position:relative; padding:28px 5%; font-family:Archivo,Arial,sans-serif; }
.hbd-section > .elementor-container { width:100%; max-width:1184px; margin-inline:auto; }
.hbd-section > .elementor-container > .elementor-column { min-width:0; }
.hbd-section .elementor-column > .elementor-widget-wrap { padding:0 10px; align-content:flex-start; }
.hbd-section .elementor-widget { min-width:0; }
.hbd-section .elementor-widget p { margin:0; }
.hbd-section .elementor-widget-heading .elementor-heading-title { padding:0; }
.hbd-section .elementor-widget-image img { display:block; height:auto; width:100%; }
.hbd-section .elementor-widget-text-editor { display:block; }
.hbd-section .elementor-widget-container { width:100%; }
.hbd-section .elementor-button { text-decoration:none; }
.hbd-section .elementor-button-content-wrapper { align-items:center; }
.hbd-section .hbd-button { margin-top:7px; }
.hbd-section .hbd-button .elementor-button { transition:transform .2s,background-color .2s; }
.hbd-section .hbd-button .elementor-button:hover { transform:translateY(-2px); }
.hbd-section .hbd-section-label { margin-bottom:0; }
.hbd-section .hbd-section-heading { margin-top:-9px; }
.hbd-section.hbd-hero { padding-top:30px; padding-bottom:24px; }
.hbd-section .hbd-hero-copy > .elementor-widget-wrap { padding-top:8px; }
.hbd-section .hbd-headline { margin-top:7px; margin-bottom:12px; }
.hbd-section .hbd-intro { max-width:425px; margin-top:10px; }
.hbd-section .hbd-hero-copy .hbd-button { width:auto; margin-right:20px; }
.hbd-section .elementor-widget.hbd-showreel { width:auto; align-self:center; margin-top:7px; }
.hbd-section .hbd-showreel .elementor-button { display:inline-flex; padding:0; background:transparent; color:var(--hbd-ink); font:13px Archivo,sans-serif; }
.hbd-section .hbd-showreel .elementor-button-icon { font-size:36px; }
.hbd-section .hbd-hero-art > .elementor-widget-wrap { align-content:center; padding:0; }
.hbd-section .hbd-hero-image { margin:0; }
.hbd-section.hbd-services { padding-block:25px; }
.hbd-section .hbd-services-title > .elementor-widget-wrap { padding-top:10px; }
.hbd-section .elementor-widget.hbd-blob { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:42% 34% 45% 28%; transform:rotate(7deg); margin-bottom:5px; }
.hbd-section .hbd-blob .elementor-icon-wrapper { line-height:0; text-align:center; }
.hbd-section .hbd-blob .elementor-icon { transform:rotate(-7deg); }
.hbd-section .hbd-blob > .elementor-widget-container { text-align:center; }
.hbd-section .hbd-services-more > .elementor-widget-wrap { align-content:center; }
.hbd-section.hbd-projects { overflow:hidden; padding-block:30px 24px; }
.hbd-section.hbd-projects:after { content:""; position:absolute; bottom:-70px; right:-70px; width:180px; height:150px; background:#cba8ff; border-radius:70% 35% 0 20%; transform:rotate(-25deg); pointer-events:none; }
.hbd-section .hbd-projects-title > .elementor-widget-wrap { gap:9px; }
.hbd-section .hbd-project-image img { aspect-ratio: .84; object-fit:cover; }
.hbd-section .hbd-project .elementor-widget-text-editor { margin-top:0; }
.hbd-section.hbd-process { padding-block:38px 30px; }
.hbd-section .hbd-process-tag { letter-spacing:1.5px; margin-top:8px; }
.hbd-section .hbd-step > .elementor-widget-wrap { padding-inline:22px; }
.hbd-section .hbd-step:not(:nth-child(2)):before { content:""; position:absolute; left:0; top:15px; height:140px; border-left:1px solid #ccc; }
.hbd-section .elementor-widget.hbd-number { width:56px; height:56px; display:flex; align-items:center; justify-content:center; border-radius:48% 35% 43% 28%; margin-left:-8px; }
.hbd-section .hbd-number .elementor-widget-container { text-align:center; }
.hbd-section .hbd-process-note > .elementor-widget-wrap { align-content:center; }
.hbd-section .hbd-handwriting { transform:rotate(-13deg); text-align:center; }
.hbd-section.hbd-contact { padding:0; overflow:hidden; }
.hbd-section.hbd-contact > .elementor-container { max-width:1440px; }
.hbd-section .hbd-contact-copy { isolation:isolate; }
.hbd-section .hbd-contact-copy > .elementor-widget-wrap { padding:35px 12% 30px 14%; }
.hbd-section .hbd-contact-copy:before { content:""; position:absolute; inset:-80px -18px -60px -170px; border-radius:20% 65% 42% 20%; background:var(--hbd-lime); transform:rotate(19deg); z-index:-1; }
.hbd-section .hbd-contact-copy .hbd-button { text-align:right; }
.hbd-section .hbd-contact-photo > .elementor-widget-wrap { padding:0; align-content:stretch; }
.hbd-section .hbd-contact-image, .hbd-section .hbd-contact-image .elementor-widget-container { height:100%; margin:0; }
.hbd-section .hbd-contact-image img { height:100%; object-fit:cover; }
.hbd-section .hbd-contact-signature > .elementor-widget-wrap { padding:45px 30px 35px 40px; }
.hbd-section .hbd-contact-signature { overflow:hidden; }
.hbd-section .hbd-contact-manifesto { letter-spacing:2px; }
.hbd-section .hbd-contact-signature:after { content:"✱"; position:absolute; font:180px/1 Arial,sans-serif; color:#8da5ff; right:-18px; bottom:-48px; transform:rotate(10deg); pointer-events:none; }
.hbd-section .hbd-contact-signature:before { content:""; position:absolute; width:44px; height:65px; border:7px solid #ee82cb; border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; right:29%; bottom:84px; transform:rotate(15deg); pointer-events:none; }
.hbd-section.hbd-footer { padding-block:35px; }
.hbd-section .hbd-footer-identity > .elementor-widget-wrap { position:relative; padding-right:48%; }
.hbd-section .hbd-footer-identity .hbd-footer-tagline { position:absolute; right:0; top:5px; width:46%; border-left:1px solid #bbb; padding-left:18px; }
.hbd-section .hbd-footer-brand { margin-bottom:-6px; }
.hbd-section .hbd-footer-nav { text-align:center; }
.hbd-section .hbd-footer-nav p { display:flex; flex-wrap:wrap; justify-content:center; gap:15px; }
.hbd-section .hbd-footer-nav a { display:inline-block; margin:0 5px 8px; }
.hbd-section .hbd-socials { margin-top:6px; }
.hbd-section .hbd-footer-address > .elementor-widget-wrap { text-align:right; }
@media (min-width:768px) and (max-width:1024px) {
 .hbd-section { padding-inline:4%; }
 .hbd-section .hbd-headline .elementor-heading-title { font-size:clamp(78px,10.3vw,108px); }
 .hbd-section .hbd-section-label .elementor-heading-title { font-size:30px; }
 .hbd-section .hbd-section-heading .elementor-heading-title { font-size:36px; }
 .hbd-section.hbd-services > .elementor-container, .hbd-section.hbd-process > .elementor-container { flex-wrap:wrap; }
 .hbd-section.hbd-services > .elementor-container > .hbd-services-title { width:100%; margin-bottom:24px; }
 .hbd-section.hbd-services > .elementor-container > .hbd-service { width:18%; }
 .hbd-section.hbd-services > .elementor-container > .hbd-services-more { width:10%; }
 .hbd-section .hbd-step > .elementor-widget-wrap { padding-inline:12px; }
 .hbd-section .hbd-contact-copy > .elementor-widget-wrap { padding-inline:25px; }
 .hbd-section .hbd-contact-copy .elementor-heading-title { font-size:35px; }
 .hbd-section .hbd-footer-brand .elementor-heading-title { font-size:28px; }
 .hbd-section .hbd-footer-identity > .elementor-widget-wrap { padding-right:10px; }
 .hbd-section .hbd-footer-identity .hbd-footer-tagline { position:static; width:100%; border:0; padding:10px 0 0; }
}
@media (max-width:767px) {
 .hbd-section { padding:30px 6%; }
 .hbd-section > .elementor-container { flex-wrap:wrap; }
 .hbd-section > .elementor-container > .elementor-column { width:100%; }
 .hbd-section .elementor-column > .elementor-widget-wrap { padding:0; }
 .hbd-section.hbd-hero { padding-top:25px; }
 .hbd-section .hbd-headline .elementor-heading-title { font-size:clamp(68px,19vw,120px); }
 .hbd-section .hbd-hero-copy .hbd-button { margin-right:15px; }
 .hbd-section .hbd-hero-art { margin-top:12px; }
 .hbd-section.hbd-services > .elementor-container { gap:25px 6%; }
 .hbd-section.hbd-services > .elementor-container > .hbd-service,
 .hbd-section.hbd-services > .elementor-container > .hbd-services-more { width:47%; }
 .hbd-section.hbd-projects > .elementor-container { gap:24px 4%; }
 .hbd-section.hbd-projects > .elementor-container > .hbd-project { width:48%; }
 .hbd-section .hbd-projects-title > .elementor-widget-wrap { padding-bottom:8px; }
 .hbd-section.hbd-process > .elementor-container { gap:28px 6%; }
 .hbd-section.hbd-process > .elementor-container > .hbd-step { width:47%; }
 .hbd-section .hbd-step > .elementor-widget-wrap { padding:0 8px; }
 .hbd-section .hbd-step:before { display:none; }
 .hbd-section .hbd-process-note { display:none; }
 .hbd-section .elementor-widget.hbd-number { margin-left:0; }
 .hbd-section.hbd-contact > .elementor-container > .hbd-contact-photo,
 .hbd-section.hbd-contact > .elementor-container > .hbd-contact-signature { width:50%; }
 .hbd-section .hbd-contact-copy > .elementor-widget-wrap { padding:35px 9%; }
 .hbd-section .hbd-contact-copy .hbd-button { text-align:left; }
 .hbd-section .hbd-contact-signature > .elementor-widget-wrap { padding:30px 20px; }
 .hbd-section .hbd-contact-signature:before { right:5%; bottom:70px; width:30px; }
 .hbd-section .hbd-contact-signature:after { font-size:135px; }
 .hbd-section.hbd-footer > .elementor-container { gap:25px; }
 .hbd-section .hbd-footer-identity > .elementor-widget-wrap { padding-right:48%; }
 .hbd-section .hbd-footer-nav p { gap:5px; }
 .hbd-section .hbd-footer-address > .elementor-widget-wrap { text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
 .hbd-section .hbd-button .elementor-button { transition:none; }
 .hbd-section .hbd-button .elementor-button:hover { transform:none; }
}

/* Imagen decorativa también reemplazable desde el widget Imagen. */
.hbd-section .hbd-contact-signature .hbd-contact-plant { position:absolute; right:0; top:0; width:42%; height:100%; margin:0; pointer-events:none; }
.hbd-section .hbd-contact-plant .elementor-widget-container, .hbd-section .hbd-contact-plant img { height:100%; object-fit:cover; }
.hbd-section .hbd-contact-signature:after { display:none; }
.hbd-section .hbd-contact-signature .elementor-widget-text-editor, .hbd-section .hbd-contact-signature .elementor-widget-divider { position:relative; z-index:1; }
