/* ===== Ajustes de la revision (Home + Products) ===== */

/* Cabecera compacta de paginas interiores (el header es absolute y se superpone al banner) */
.breadcrumb-wrapperx .page-heading { padding: 88px 0 24px !important; }
.breadcrumb-wrapperx .page-heading h1 { font-size: 30px !important; margin-bottom: 0; }
.breadcrumb-wrapperx .page-heading .breadcrumb-items { margin-top: 4px; }
.breadcrumb-wrapperx .border-shape,
.breadcrumb-wrapperx .line-shape { display: none; }

/* HOME: tarjetas alineadas */
.home-products .row > [class*="col-"] { display: flex; }
.home-products .service-box-items.style-3 { width: 100%; height: 100%; margin-top: 0; display: flex; flex-direction: column; }
.home-products .service-box-items.style-3 .content { display: flex; flex-direction: column; flex: 1; }
.home-products .service-box-items.style-3 .content p { margin-bottom: 16px; }
.home-products .service-box-items.style-3 .icon { align-self: flex-start; }
.home-products .service-box-items.style-3 .theme-btn-2 { align-self: flex-start; padding: 12px 22px; font-size: 14px; }

/* PRODUCTS: barra de navegacion por secciones */
.product-nav { position: sticky; top: 80px; z-index: 100; background: #fff; border-bottom: 1px solid var(--border); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); }
.product-nav ul { display: flex; gap: 8px; margin: 0; padding: 12px 0; list-style: none; overflow-x: auto; white-space: nowrap; }
.product-nav li { list-style: none; }
.product-nav a { display: block; padding: 8px 14px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--header); line-height: 1.4; }
.product-nav a:hover { background: var(--theme); color: #fff; }

/* PRODUCTS: paneles de dos columnas por fila */
/* La seccion lleva pt-0 de Bootstrap (!important): por eso hace falta !important aqui */
.products-page.pt-0 { padding-top: 64px !important; }
.products-page .row > [class*="col-"] { display: flex; }
.product-panel {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 32px;
    background: var(--white);
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    scroll-margin-top: 170px;
    position: relative;
    z-index: 1;
}
.product-head { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
.product-head h3 { margin: 0; font-size: 22px; color: var(--header); }
.product-icon { position: relative; z-index: 1; flex: 0 0 auto; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; }
.product-icon::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../img/service/shape-2.png) center / cover no-repeat; }
.product-icon img { max-width: 44px; max-height: 44px; }
.product-summary { max-width: 480px; margin-bottom: 16px; }
.product-features { max-width: 480px; margin: 0 0 12px; padding: 0; list-style: none; }
.product-features li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; line-height: 1.5; }
.product-features li i { flex: 0 0 auto; margin-top: 4px; color: var(--theme); }
.product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: auto; padding-top: 16px; }
.product-toggle { background: none; border: 0; padding: 0; font-weight: 600; color: var(--theme); cursor: pointer; }
.product-toggle .t-open { display: none; }
.product-toggle[aria-expanded="true"] .t-open { display: inline; }
.product-toggle[aria-expanded="true"] .t-closed { display: none; }
.product-shot { max-width: 100%; border-radius: 8px; margin: 0 0 16px; }

/* Imagenes decorativas: que nunca intercepten clics */
.products-page .line-shape-2,
.products-page .line-shape-2 img,
.footer-section .shape-1,
.footer-section .shape-2 { pointer-events: none; }




/* ---------- CONTACT ---------- */
.contact-section .contact-content h2 { font-size: 34px; line-height: 1.2; margin-bottom: 12px; }
.contact-section .contact-content p { margin-bottom: 20px; }
.contact-section .contact-form-items textarea { height: 170px; min-height: 170px; }
.contact-info-items .content h3.address-text { font-size: 16px; font-weight: 500; line-height: 1.5; }
.contact-info-items .content .directions { display: inline-block; margin-top: 6px; font-size: 14px; font-weight: 600; color: #fff; text-decoration: underline; }
.form-privacy a { color: var(--theme); text-decoration: underline; }