/* Componentes compartidos por la portada y las soluciones españolas. */
.product-detail { scroll-margin-top: 100px; }
.product-detail__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-3xl); margin-bottom: var(--spacing-2xl); }
.product-detail__grid h3 { font-size: var(--font-size-h4); margin-bottom: var(--spacing-lg); }
.product-detail__grid ul, .product-detail__grid ol { padding-left: var(--spacing-xl); margin-bottom: var(--spacing-xl); }
.product-detail__grid li { margin-bottom: var(--spacing-sm); }
.product-detail a:not(.btn) { color: var(--color-text-light); text-decoration: underline; text-underline-offset: 3px; }
.product-detail__actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--spacing-xl); }
.product-detail__note { color: var(--color-gray-light); font-size: var(--font-size-small); margin-top: var(--spacing-lg); }
.product-detail a:focus-visible { outline: 3px solid var(--color-white); outline-offset: 4px; }
@media (max-width: 767px) {
    .product-detail__grid { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-xl); }
    .product-detail__actions { flex-direction: column; align-items: stretch; }
    .product-detail__actions .btn { text-align: center; white-space: normal; }
}

/* Tres aplicaciones del mismo producto en la portada española. */
#productos, #soluciones { scroll-margin-top: 100px; }
.solutions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--spacing-2xl); }
.solutions-grid .product-card__image { height: 210px; }
.solutions-grid .product-card__link { color: var(--color-blue-light); text-underline-offset: 3px; }
.solutions-grid .product-card__link:hover { color: var(--color-white); text-decoration: underline; }
.solutions-grid a:focus-visible, #productos a:focus-visible { outline: 3px solid var(--color-white); outline-offset: 4px; }
.product-detail__actions .btn { white-space: normal; }
@media (max-width: 1023px) {
    .solutions-grid { grid-template-columns: minmax(0, 1fr); }
    .solutions-grid .product-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
    .solutions-grid .product-card__image { height: 100%; min-height: 210px; }
}
@media (max-width: 767px) {
    .solutions-grid .product-card { display: flex; }
    .solutions-grid .product-card__image { height: 210px; min-height: 0; }
    #soluciones .section__subtitle { text-align: left; }
}
/* La navegación completa no cabe en los anchos intermedios. */
.header .nav__link:hover, .header .nav__link--active, .nav-mobile .nav__link--active { color: var(--color-blue-light); }
@media (max-width: 1279px) {
    .header .nav, .header .language-selector { display: none; }
    .header .menu-toggle { display: block; }
    .nav-mobile { display: none; position: fixed; top: 72px; left: 0; right: 0; z-index: 900; background: var(--color-dark-secondary); border-top: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow-lg); padding: var(--spacing-lg); max-height: calc(100dvh - 72px); overflow-y: auto; }
    .nav-mobile.active { display: block; }
    .nav-mobile .nav__list { display: flex; flex-direction: column; gap: var(--spacing-sm); }
    .nav-mobile .nav__link, .nav-mobile .nav__sublink { display: block; padding: var(--spacing-md); }
    .nav-mobile .nav__submenu { display: block; position: static; min-width: 0; background: transparent; box-shadow: none; padding-left: var(--spacing-lg); }
    .nav-mobile .language-selector { display: flex; margin: var(--spacing-lg) 0 0; gap: var(--spacing-sm); }
}
/* Mantener visible la marca sin comprimirla con la navegación. */
.header .logo { flex-shrink: 0; min-width: 40px; }
.header .nav { margin-left: var(--spacing-lg); margin-right: var(--spacing-lg); }
.header .nav__list { gap: var(--spacing-lg); }
.header .nav__sublink:hover, .nav-mobile .nav__sublink:hover { color: var(--color-blue-light); }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .solutions-grid .product-card, .solutions-grid img { transition: none; }
}

/* Una tarjeta enlaza a una página propia por cada solución. */
.solutions-grid .product-card { position: relative; scroll-margin-top: 100px; }
.solutions-grid .solution-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.solutions-grid .solution-card__link:focus-visible { outline: 3px solid var(--color-white); outline-offset: -4px; }
.solutions-grid .solution-card__link:hover .product-card__link { text-decoration: underline; }
.solution-breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); list-style: none; padding: 0; margin: 0 0 var(--spacing-2xl); font-size: var(--font-size-small); }
.solution-breadcrumb li + li::before { content: "/"; margin-right: var(--spacing-sm); color: var(--color-gray-light); }
.solution-breadcrumb a, .solution-related a { color: var(--color-blue-light); text-decoration: underline; text-underline-offset: 3px; }
.solution-hero__grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); align-items: center; gap: var(--spacing-3xl); }
.solution-hero__image { width: 100%; height: 300px; object-fit: cover; border-radius: var(--radius); }
.solution-hero__eyebrow { margin-bottom: var(--spacing-lg); color: var(--color-gray-light); }
.solution-related { padding-left: var(--spacing-xl); margin-bottom: var(--spacing-2xl); }
.solution-related li { margin-bottom: var(--spacing-lg); }
.solution-language { display: inline-block; padding: var(--spacing-sm) var(--spacing-md); color: var(--color-white); background: var(--color-primary); border-radius: var(--radius); font-size: var(--font-size-tiny); font-weight: 600; }
@media (min-width: 768px) and (max-width: 1023px) { .solutions-grid .solution-card__link { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); } .solutions-grid .product-card { display: block; } }
@media (max-width: 767px) { .solution-hero__grid { grid-template-columns: minmax(0,1fr); gap: var(--spacing-xl); } .solution-hero__image { height: 210px; } .solution-hero .section__title { font-size: var(--font-size-h3); overflow-wrap: break-word; } }
.product-detail__grid h2 { font-size: var(--font-size-h4); margin-bottom: var(--spacing-lg); }

.solution-uses { padding-left: var(--spacing-xl); margin-bottom: var(--spacing-2xl); }
.solution-uses li { margin-bottom: var(--spacing-md); }

/* Texto blanco en el CTA de portada, incluidos enlaces visitados. */
.hero__ctas .btn--primary,
.hero__ctas .btn--primary:visited,
.hero__ctas .btn--primary:hover,
.hero__ctas .btn--primary:focus-visible,
.hero__ctas .btn--primary:active { color: #fff; }


/* Texto blanco en el botón de elección de solución. */
a.btn--primary[href="#soluciones"],
a.btn--primary[href="#soluciones"]:visited,
a.btn--primary[href="#soluciones"]:hover,
a.btn--primary[href="#soluciones"]:focus-visible,
a.btn--primary[href="#soluciones"]:active { color: #fff; }


/* Soluciones en dos columnas equilibradas en escritorio. */
@media (min-width: 1024px) { .solutions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.product-detail__actions .btn--primary, .product-detail__actions .btn--primary:visited, .product-detail__actions .btn--primary:hover { color: #fff; }

/* Resultados accesibles del ensayo de adobes. */
.adobe-results { width: 100%; max-width: 440px; margin: 0 0 var(--spacing-2xl); }
.adobe-results img { display:block; width:100%; height:auto; border-radius:var(--radius); }
.adobe-results figcaption { margin-top:var(--spacing-lg); color:var(--color-text-light); }
.adobe-table-wrap { overflow-x:auto; margin-bottom:var(--spacing-xl); }
.adobe-table { width:100%; border-collapse:collapse; text-align:left; }
.adobe-table caption { text-align:left; margin-bottom:var(--spacing-md); font-weight:700; }
.adobe-table th,.adobe-table td { padding:var(--spacing-md); border-bottom:1px solid #777; }
.adobe-table tbody th { font-weight:400; }
.solutions-grid .product-card__image--chart { background:#202020; }
.solutions-grid .product-card__image--chart img { object-fit:contain; }


/* Identidad de marca sin atribuir una fotografía ajena a esta aplicación. */
.solutions-grid .product-card__image--brand { background:var(--color-dark-secondary); }
.solutions-grid .product-card__image--brand img { object-fit:contain; padding:var(--spacing-2xl); }


/* Grafica y tabla del mismo ensayo, alineadas en escritorio. */
.adobe-results-layout { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: var(--spacing-2xl); align-items: start; margin-bottom: var(--spacing-xl); }
.adobe-results-layout .adobe-results, .adobe-results-layout .adobe-table-wrap { margin-bottom: 0; min-width: 0; }
@media (max-width: 767px) { .adobe-results-layout { grid-template-columns: minmax(0, 1fr); } }

/* Jerarquía y ritmo comunes en las seis páginas de soluciones. */
.solution-hero h1 { line-height: 1.2; overflow-wrap: break-word; }
.product-detail h2.section__title { font-size: var(--font-size-h3); line-height: 1.25; margin-bottom: var(--spacing-xl); overflow-wrap: break-word; }
.product-detail h3 { font-size: var(--font-size-h4); line-height: 1.3; margin-bottom: var(--spacing-lg); }
.product-detail .container > * + h2 { margin-top: var(--spacing-3xl); }
.product-detail .section__text, .solution-uses { font-size: var(--font-size-body); line-height: var(--line-height-body); color: var(--color-text-light); }
.product-detail .section__text { max-width: 80ch; }
.product-detail__actions { margin-top: var(--spacing-2xl); }
.solution-related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--spacing-md) var(--spacing-2xl); list-style: none; padding: 0; }
.solution-related li { margin: 0; min-width: 0; }
.solution-related a { display: flex; align-items: center; min-height: 44px; overflow-wrap: break-word; }
.adobe-results figcaption { font-size: var(--font-size-small); line-height: var(--line-height-body); }
@media (max-width: 1023px) { .solution-hero__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
 .solution-hero h1.section__title { font-size: 28px; }
 .solution-related { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-sm); }
 .product-detail__actions > a { min-height: 44px; display: flex; align-items: center; }
 .product-detail__actions > .btn { justify-content: center; }
 .adobe-table th, .adobe-table td { padding: var(--spacing-md) var(--spacing-sm); }
}

/* Tarjetas de igual altura, con imagen, título y enlace alineados. */
.solutions-grid { grid-auto-rows: 1fr; align-items: stretch; }
.solutions-grid .product-card { min-width: 0; height: 100%; }
.solutions-grid .solution-card__link { flex: 1; min-width: 0; }
.solutions-grid .product-card__image { flex-shrink: 0; }
.solutions-grid .product-card__content { min-width: 0; }
.solutions-grid .product-card__title { line-height: 1.3; min-height: 3.9em; overflow-wrap: break-word; }
.solutions-grid .product-card__link { display: block; min-height: 2.8em; margin-top: auto; line-height: 1.4; }
@media (max-width: 767px) { .solutions-grid .product-card__content { padding: var(--spacing-xl); } }

/* Centrar la elección de solución en el bloque del producto. */
#productos .product-detail__actions { justify-content: center; align-items: center; }
#productos .product-detail__actions .btn { max-width: 100%; text-align: center; }

/* Acciones de retorno centradas en escritorio y móvil. */
.product-detail__actions--centered { justify-content: center; align-items: center; }
.product-detail__actions--centered .btn { max-width: 100%; text-align: center; }
.application-videos .video-card { min-width: 0; }

/* Contraste comprobado y recurso de cabecera de formato adaptable. */
#contacto .benefit-item__text a, #contacto .benefit-item__text a:visited { color: var(--color-blue-light); text-decoration: underline; text-underline-offset: 3px; }
.footer__title { color: var(--color-blue-light); }
.hero__background picture { display: block; width: 100%; height: 100%; }

.responsive-photo { display: block; width: 100%; }
.solution-hero__grid > .responsive-photo { min-width: 0; }
.footer__title { line-height: 1.3; }
.product-card__image > .responsive-photo { height: 100%; }
