/* Wave A — footer (CDE), synced to CDE rev. 1792490138418657 in ETAPA 03D (flex brand + navigation, no watermark). Inner rows share the CDE 1360px frame with clamp(16px,3vw,40px) padding. */
.ut-footer { margin-top: 96px; background: var(--ut-color-ink); color: var(--ut-color-line); }
.ut-footer a { color: inherit; }
.ut-footer__newsletter-inner, .ut-footer__main, .ut-footer__bottom-inner { box-sizing: border-box; max-width: 85rem; margin: 0 auto; padding-inline: clamp(16px, 3vw, 40px); }
.ut-footer__newsletter-inner { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 14px clamp(22px, 3vw, 48px); overflow: hidden; padding-block: 22px; border-bottom: 1px solid rgb(185 167 148 / 25%); }
.ut-footer__newsletter-copy { position: relative; flex: 1 1 300px; min-width: min(100%, 260px); }
.ut-footer__newsletter h2 { margin: 0; color: var(--ut-color-surface); font-family: var(--ut-font-body); font-size: 16.5px; font-weight: var(--ut-font-weight-regular); line-height: 1.4; }
.ut-footer__newsletter-copy p { margin: 2px 0 0; color: #b9a794; font-size: 14.5px; line-height: 1.5; }
.ut-footer__newsletter-form { position: relative; display: flex; flex: 0 1 460px; flex-wrap: wrap; gap: 10px; min-width: min(100%, 280px); }
.ut-footer__newsletter input { box-sizing: border-box; flex: 999 1 200px; width: auto; min-width: 0; min-height: 44px; padding: 10px 16px; border: 1px solid rgb(231 220 203 / 45%); border-radius: 999px; outline: none; background: rgb(255 252 247 / 8%); color: var(--ut-color-surface); font-size: 15.5px; line-height: normal; }
.ut-footer__newsletter input::placeholder { color: #b9a794; opacity: 1; }
.ut-footer__newsletter input:focus-visible { border-color: rgb(231 220 203 / 85%); box-shadow: 0 0 0 2px rgb(255 252 247 / 18%); }
.ut-footer__newsletter-form .ut-button { flex: 0 1 140px; min-height: 44px; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--ut-color-surface); color: var(--ut-color-ink); font-size: 15.5px; font-weight: var(--ut-font-weight-regular); white-space: nowrap; transition: background .2s ease; }
/* CDE: the newsletter submit has no hover state (CDE FINAL POLISH hover QA). */
.ut-footer__newsletter-form small { display: block; flex: 0 0 100%; margin-top: -4px; color: #8a7b69; font-size: 13px; line-height: 1.5; }
.ut-footer__newsletter-success { position: relative; flex: 0 1 460px; min-width: min(100%, 280px); padding: 14px 18px; border: 1px solid rgb(185 167 148 / 40%); border-radius: 10px; }
.ut-footer__newsletter-success-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.ut-footer__newsletter-success-head strong { color: var(--ut-color-surface); font-size: 16px; font-weight: var(--ut-font-weight-regular); }
.ut-footer__newsletter-check { display: grid; width: 28px; height: 28px; flex: none; place-items: center; border-radius: 999px; background: #e6ede2; }
.ut-footer__newsletter-check svg { width: 15px; height: 15px; fill: none; stroke: #4f6b4a; stroke-width: 2.4; }
.ut-footer__newsletter-success p { margin: 0; color: #b9a794; font-size: 15.5px; line-height: 1.7; }
.ut-footer__newsletter-success p strong { color: var(--ut-color-line); font-weight: var(--ut-font-weight-regular); }
.ut-footer__newsletter-success a { display: inline-flex; min-height: 44px; align-items: center; padding-top: 12px; color: #d8b49c; font-size: 15px; text-decoration: none; }
.ut-footer__main { display: flex; flex-wrap: wrap; justify-content: space-between; gap: clamp(36px, 5vw, 96px); padding-block: clamp(40px, 5vw, 64px) clamp(32px, 4vw, 48px); }
.ut-footer__brand { flex: 1 1 260px; max-width: 340px; min-width: 0; }
.ut-footer__nav { display: grid; flex: 999 1 520px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: clamp(28px, 3vw, 36px) clamp(24px, 3.4vw, 56px); max-width: 820px; min-width: 0; }
.ut-footer__brand .ut-brand { display: block; margin: 0 0 18px; }
.ut-footer__brand .ut-brand img { width: min(100%, 240px); max-height: none; filter: brightness(0) invert(1); opacity: .92; }
.ut-footer__brand p { max-width: 280px; margin: 0; color: #b9a794; font-size: 16px; line-height: 1.7; }
.ut-footer__links { min-width: 0; }
.ut-footer__links h2 { margin: 0 0 8px; color: #8a7b69; font-family: var(--ut-font-body); font-size: 12.5px; font-weight: var(--ut-font-weight-regular); letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.ut-footer__links ul { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.ut-footer__links li { font-size: 16px; line-height: normal; }
.ut-footer__links a { display: flex; align-items: center; min-height: clamp(36px, calc(52px - 1.2vw), 46px); color: var(--ut-color-line); font-size: 16px; line-height: 1.35; text-decoration: none; text-wrap: pretty; transition: color .2s ease; }
.ut-footer__links a:hover, .ut-footer__links a:focus-visible { color: var(--ut-color-surface); }
.ut-footer__bottom-inner { padding-block: 22px 40px; border-top: 1px solid rgb(185 167 148 / 25%); color: #8a7b69; font-size: 14.5px; line-height: normal; }
