/* Altura compartida de campos, según la preferencia de Ernesto. */
:root { --field-height: 52px; }
select, [role="combobox"], input:not([type]), input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="password"], input[type="number"], input[type="date"] {
 box-sizing: border-box !important; min-height: var(--field-height) !important; height: var(--field-height) !important; padding: 12px 16px !important; font-size: 16px !important; line-height: 24px !important;
}

/* Idiomas: controles siempre visibles, con objetivos táctiles amplios. */
html { scroll-behavior: auto; scroll-padding-top: 80px; }
body { margin: 0; }
.language-switcher {
 position: fixed; z-index: 100000; top: max(18px, env(safe-area-inset-top)); right: max(22px, env(safe-area-inset-right));
 display: flex; align-items: center; gap: 3px; padding: 0; border: 0;
 background: transparent; color: #b67b53; box-shadow: none;
 font: 400 11px/1 Arial, sans-serif;
}
.language-switcher button { appearance: none; border: 0; border-radius: 0; width: auto; height: 26px; padding: 4px 2px; background: transparent; color: inherit; cursor: pointer; font: inherit; opacity: .65; }
.language-switcher button[aria-pressed="true"] { background: transparent; color: inherit; font-weight: 600; opacity: 1; }
.language-switcher button:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
.language-switcher span { opacity: .5; }
.header-title { max-width: calc(100% - 126px); }
.sqs-block-html { overflow-wrap: break-word; }
/* Permite el crecimiento del texto traducido en las filas de escritorio. */
.fluid-engine .fe-block:has(.html-block) { min-height: min-content; }
.form-wrapper input, .form-wrapper select, .form-wrapper textarea { max-width: 100%; }
.form-wrapper textarea { min-height: 150px; }

@media (max-width: 799px) {
 :root { --mobile-gutter: clamp(20px, 5vw, 36px); }
 .header-inner { padding: 20px var(--mobile-gutter) !important; }
 .header-title-logo img { max-width: min(50vw, 220px) !important; max-height: 40px !important; width: auto !important; height: auto !important; }
 .header-title { max-width: calc(100% - 110px) !important; }
 .language-switcher { top: max(12px, env(safe-area-inset-top)); right: max(12px, env(safe-area-inset-right)); }
 .page-section { min-height: 0 !important; }
 .page-section .content-wrapper { box-sizing: border-box; width: 100% !important; max-width: 100% !important; padding: 48px var(--mobile-gutter) !important; }
 .page-section .fluid-engine { display: flex !important; flex-direction: column; gap: 24px; grid-template-rows: none !important; grid-template-columns: none !important; padding: 0 !important; }
 .fluid-engine > .fe-block { position: relative !important; grid-area: auto !important; width: 100% !important; height: auto !important; min-width: 0; }
 .fluid-engine .sqs-block { width: 100%; height: auto !important; padding: 0 !important; }
 .fluid-engine .sqs-block-content { height: auto !important; }
 .fluid-engine .sqs-block-spacer { display: none !important; }
 .fluid-engine .fe-block:has(.sqs-block-spacer) { display: none !important; }
 h1, h2, h3, h4, p { white-space: normal !important; overflow-wrap: break-word; }
 h1 { font-size: clamp(36px, 9vw, 64px) !important; line-height: 1.08 !important; }
 h2 { font-size: clamp(30px, 7.5vw, 46px) !important; line-height: 1.16 !important; }
 h3 { font-size: clamp(27px, 6.5vw, 38px) !important; line-height: 1.2 !important; }
 h4 { font-size: 23px !important; line-height: 1.3 !important; }
 p, li { font-size: 17px !important; line-height: 1.6 !important; }
 .sqs-block-html h1, .sqs-block-html h2, .sqs-block-html h3, .sqs-block-html h4, .sqs-block-html p { text-align: left !important; }
 .fluid-image-component-root, .fluid-image-animation-wrapper, .fluid-image-container,
 .fluid-image-container .js-content-mode-element-wrapper { height: auto !important; min-height: 0 !important; width: 100% !important; position: relative !important; }
 .fluid-image-container img { position: relative !important; display: block; width: 100% !important; height: auto !important; max-height: 480px; object-fit: contain !important; }
 .sqs-block-image .sqs-image-shape-container-element { height: auto !important; padding-bottom: 0 !important; }
 /* Portada: título legible por encima de la imagen, sin filas fijas. */
 [data-section-id="6a12845f7be386a5851434fa"] { min-height: 650px !important; min-height: min(760px, 100svh) !important; }
 [data-section-id="6a12845f7be386a5851434fa"] .content-wrapper { min-height: 650px; min-height: min(760px, 100svh); padding-top: 130px !important; padding-bottom: 50px !important; display: flex; align-items: flex-end; }
 [data-section-id="6a12845f7be386a5851434fa"] .fluid-engine { gap: 0; width: 100%; }
 [data-section-id="6a12845f7be386a5851434fa"] h1 { font-size: clamp(43px, 12vw, 75px) !important; line-height: 1.02 !important; margin: 0 !important; text-align: left !important; }
 [data-section-id="6a12845f7be386a5851434fa"] h1 br { display: none; }
 [data-section-id="6a12845f7be386a5851434fa"] .section-background img { object-position: 44% 45% !important; }
 [data-section-id="6a12845f7be386a5851434fa"] .section-background-overlay { opacity: .12 !important; }
 .sqs-layout .sqs-row { margin: 0 !important; }
 .sqs-layout [class*="sqs-col-"] { width: 100% !important; float: none !important; }
 .sqs-block { padding-left: 0 !important; padding-right: 0 !important; }
 .sqs-block-image .image-block-outer-wrapper:not(.design-layout-fluid) { max-width: 100%; }
 .image-card-wrapper, .image-title-wrapper, .image-subtitle-wrapper { max-width: 100% !important; }
 .image-card-wrapper { padding: 24px 0 !important; }
 .sqs-block-button-container a, .sqs-block-form button { box-sizing: border-box; max-width: 100%; white-space: normal !important; min-height: 48px; }
 .form-wrapper .field-list .fields { display: flex; flex-wrap: wrap; gap: 16px; }
 .form-wrapper .field-list .fields .field { width: 100% !important; margin: 0 !important; }
 .form-wrapper .field-list .field { min-width: 0; }
 .list-item-content__title, .list-item-content__description { max-width: 100% !important; }
 .user-items-list { padding-left: var(--mobile-gutter) !important; padding-right: var(--mobile-gutter) !important; }
 .list-item-content__title { font-size: 26px !important; }
 .map-block .sqs-block-content { height: 250px !important; }
 footer .fluid-image-container img { max-height: 120px; width: auto !important; max-width: 100%; }
 footer h4, footer p { text-align: left !important; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media (max-width: 799px) {
 .header-inner { box-sizing: border-box !important; width: 100% !important; margin: 0 !important; }
 .header-burger { display: none !important; }
 .sqs-block-image .sqs-image-shape-container-element img { position: relative !important; width: 100% !important; height: auto !important; }
 [data-section-id="6a12845f7be386a5851434fa"] { padding: 0 !important; }
 [data-section-id="6a12845f7be386a5851434fa"] .section-border { padding: 0 !important; }
}
@media (max-width: 799px) {
 .header-mobile-logo img { width: min(50vw, 220px) !important; max-width: 100% !important; height: auto !important; max-height: 40px !important; }
 .header-display-mobile { width: 100%; }
 .header-mobile-logo { width: min(50vw, 220px); }
}
@media (min-width: 800px) {
 [data-section-id="6a12845f7be386a5851434fa"] h1 { font-size: clamp(44px, 6.1vw, 90px) !important; line-height: 1.06 !important; overflow-wrap: normal; word-break: normal; }
}
@media (max-width: 799px) {
 .form-wrapper .field-list .fields { margin-bottom: 24px !important; }
}
