/* SIARE QUALITY FIXES — typography, contrast, footer anchoring, consent and attachment UI. */
:root { --siare-tap: 48px; }
html { scroll-padding-top: 96px; }
body { font-size: 16px; line-height: 1.65; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }

/* Landing page: balanced central lock-up; bottom legal links are a single stable footer row. */
.entry { min-height: 100vh; min-height: 100svh; min-height: 100dvh; }
.entry-topbar { padding: clamp(24px,3.4vw,46px) clamp(24px,5vw,76px); }
.entry-brand { font-size: clamp(30px,3vw,42px); }
.entry-language-current { min-height: 44px; padding: 10px 4px; font-size: 13px; }
.entry-language-menu button { min-height: 44px; padding: 12px 14px; font-size: 14px; }
.entry-content { width: min(900px,calc(100% - 48px)); margin-inline: auto; padding: clamp(112px,14vh,156px) 18px clamp(132px,16vh,176px); gap: 0; }
.entry-eyebrow { max-width: 100%; margin-bottom: 22px; font-size: clamp(11px,.9vw,13px); line-height: 1.7; letter-spacing: .24em; }
.entry-content h1 { font-size: clamp(78px,12vw,160px); letter-spacing: .14em; text-indent: .14em; }
.entry-subtitle { max-width: 540px; margin: 28px auto 32px; font-size: clamp(16px,1.3vw,20px); line-height: 1.85; }
.entry-cta { min-height: 58px; justify-content: center; gap: 28px; padding: 0 24px; font-size: clamp(12px,.9vw,14px); letter-spacing: .12em; }
.entry-bottom { bottom: 62px; left: clamp(24px,5vw,76px); right: clamp(24px,5vw,76px); align-items: center; font-size: 10px; line-height: 1.6; letter-spacing: .12em; }
.entry-legal-links { position: absolute !important; left: 18px !important; right: 18px !important; bottom: 14px !important; justify-content: center !important; align-items: center !important; gap: 8px 22px !important; margin: 0 !important; color: rgba(245,242,234,.88) !important; font-size: 12px !important; line-height: 1.5 !important; z-index: 6; }
.entry-legal-links a, .entry-legal-links button { color: inherit !important; font-size: inherit !important; padding: 4px 0 !important; }
.entry:before { pointer-events: none; }

/* Shared navigation and CTA sizes: comfortably readable, not micro-label buttons. */
.site-header { min-height: 82px; }
.main-nav > a, .custom-nav > a { font-size: 12px !important; letter-spacing: .1em !important; }
.language-current, .custom-language-current { min-height: 44px; padding: 10px 4px !important; font-size: 13px !important; }
.language-menu button, .custom-language-menu button { min-height: 44px; padding: 12px 14px !important; font-size: 14px !important; }
.mobile-menu-toggle, .mobile-toggle { min-width: 46px; min-height: 46px; font-size: 17px !important; }
.entry-cta, .manufacturing-button, .customization-button, .collection-button, .custom-button, .action-button, .inquiry-submit, .inquiry-add-product, .contact-social-link, .contact-action-link, .contact-quote-link, .text-link, .filter-chip, .category-button, .series-button { font-size: 13px !important; }
.manufacturing-button, .customization-button, .collection-button, .custom-button, .action-button, .inquiry-submit, .inquiry-add-product, .contact-action-link { min-height: 48px; }
.home-page .manufacturing-button, .home-page .customization-button { gap: 18px; padding-inline: 20px; letter-spacing: .08em; }
.home-page .collection-button { min-height: 52px; padding-inline: 23px; letter-spacing: .08em; }
.text-link { letter-spacing: .06em !important; }

/* Homepage scene typography: keep editorial hierarchy but eliminate 8–10px actionable text. */
.home-page .manufacturing-eyebrow, .home-page .customization-eyebrow, .home-page .about-eyebrow, .home-page .contact-eyebrow { font-size: 12px !important; line-height: 1.7; letter-spacing: .16em; }
.home-page .manufacturing-description, .home-page .customization-description, .home-page .about-description { font-size: clamp(15px,1.05vw,17px) !important; line-height: 1.85; }
.home-page .manufacturing-lead, .home-page .customization-lead, .home-page .about-lead { font-size: clamp(17px,1.35vw,21px) !important; line-height: 1.7; }
.home-page .manufacturing-kicker, .home-page .customization-kicker, .home-page .customization-visual figcaption { font-size: 11px !important; line-height: 1.7; letter-spacing: .08em; }
.home-page .collection-description p { font-size: clamp(15px,1.1vw,17px) !important; line-height: 1.8; }

/* Critical contrast fix: child selectors in the legacy stylesheet explicitly forced dark text on the black contact scene. */
.home-page .contact-section { background: var(--siare-black) !important; color: var(--siare-ivory) !important; }
.home-page .contact-section .contact-section-title,
.home-page .contact-section .contact-title,
.home-page .contact-section .contact-social-copy h2,
.home-page .contact-section .contact-main h2 { color: var(--siare-ivory) !important; }
.home-page .contact-section .contact-description,
.home-page .contact-section .contact-lead { color: rgba(245,242,234,.78) !important; font-size: 16px !important; }
.home-page .contact-section .contact-social-link,
.home-page .contact-section .contact-action-link { color: var(--siare-ivory) !important; background: rgba(41,42,40,.8) !important; border-color: rgba(200,169,107,.55) !important; font-size: 14px !important; }
.home-page .contact-section .contact-social-icon,
.home-page .contact-section .contact-action-icon,
.home-page .contact-section .contact-link-arrow { color: var(--siare-gold) !important; }
.home-page .contact-section .contact-action-copy strong { color: var(--siare-ivory) !important; font-size: 16px !important; }
.home-page .contact-section .contact-action-copy small { color: rgba(245,242,234,.72) !important; font-size: 13px !important; }
.home-page .contact-section .contact-quote-link { background: var(--siare-gold) !important; border-color: var(--siare-gold) !important; color: var(--siare-black) !important; }
.home-page .contact-section .contact-quote-eyebrow { color: #292A28 !important; font-size: 12px !important; }
.home-page .contact-section .contact-quote-copy strong { color: var(--siare-black) !important; font-size: clamp(18px,1.75vw,24px) !important; }
.home-page .contact-section .contact-quote-description { color: rgba(11,11,11,.86) !important; font-size: 15px !important; }
.home-page .contact-section .contact-quote-action,
.home-page .contact-section .contact-quote-arrow,
.home-page .contact-section .contact-quote-action span { color: var(--siare-black) !important; border-color: rgba(11,11,11,.48) !important; }
.home-page .contact-section .contact-footer { border-top-color: rgba(245,242,234,.2) !important; color: rgba(245,242,234,.78) !important; }
.home-page .contact-section .contact-footer-brand { color: var(--siare-gold) !important; }
.home-page .contact-section .contact-footer-tagline,
.home-page .contact-section .contact-footer-note { color: rgba(245,242,234,.68) !important; }
.home-page .contact-section .siare-legal-links a,
.home-page .contact-section .siare-legal-links button { color: rgba(245,242,234,.88) !important; }
.home-page .contact-section .siare-legal-links a:hover,
.home-page .contact-section .siare-legal-links button:hover { color: var(--siare-gold) !important; }

/* Product catalog and detail action sizes. */
.site-header .brand-name, .site-header .brand .brand-name { font-size: 28px; }
.catalog-hero .hero-lead, .product-detail-page .detail-description { font-size: 16px !important; line-height: 1.8; }
.catalog-hero .eyebrow, .section-eyebrow, .section-description { font-size: 12px !important; }
.product-card .product-card-name, .product-card h3 { font-size: 18px; line-height: 1.35; }
.product-card button, .product-card a, .product-detail-page button, .product-detail-page a { min-height: 44px; }

/* Form fields and labels are large enough to read, tap, and type on mobile. */
.inquiry-page .form-field label { font-size: 14px !important; line-height: 1.5; }
.inquiry-page .form-field input, .inquiry-page .form-field select, .inquiry-page .form-field textarea,
.inquiry-page .dial-code-search, .inquiry-page .country-select-control input { font-size: 16px !important; min-height: 50px; }
.inquiry-page .form-field textarea { min-height: 140px; }
.inquiry-page .field-hint, .inquiry-page .submit-note { font-size: 13px !important; line-height: 1.7; }
.inquiry-page .inquiry-submit, .inquiry-page .inquiry-add-product { min-height: 54px; padding-inline: 22px; font-size: 14px !important; letter-spacing: .04em; }
.inquiry-page .required-note { font-size: 13px !important; }
.inquiry-page .inquiry-footer .footer-back, .inquiry-page .inquiry-footer p { font-size: 12px !important; }

/* Legal pages: normal document flow; footer anchors at the viewport bottom only when content is short. */
.legal-page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; min-height: 100dvh; }
.legal-main { flex: 1 0 auto; width: min(100%, 1100px); }
.legal-main h1 { color: var(--siare-ink) !important; }
.legal-intro, .legal-section p, .legal-note { font-size: 15px !important; line-height: 1.85 !important; }
.legal-section h2 { color: var(--siare-ink) !important; }
.legal-footer { margin-top: auto; width: 100%; flex-shrink: 0; font-size: 12px !important; }
.legal-footer .siare-legal-links { justify-content: center; gap: 10px 18px; font-size: 12px !important; }
.siare-legal-links { font-size: 12px !important; line-height: 1.7; }
.siare-legal-links a, .siare-legal-links button { min-height: 36px; display: inline-flex; align-items: center; font-size: 12px !important; padding: 5px 0; }
.inquiry-footer .siare-legal-links, .site-footer .siare-legal-links, .footer .siare-legal-links, .custom-footer .siare-legal-links { flex-basis: 100%; width: 100%; margin-top: 14px; }
.siare-legal-footer { width: 100%; margin-top: auto; font-size: 12px; }

/* Consent: a single fixed bottom banner. Only the explicit Settings action opens the centered preferences dialog. */
.siare-cookie-banner { position: fixed !important; inset: auto 16px 16px 16px !important; width: min(1080px,calc(100vw - 32px)) !important; max-width: 1080px !important; margin: 0 auto !important; padding: 22px 24px !important; display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,auto); align-items: center; gap: 24px !important; max-height: min(72svh,440px); overflow-y: auto; z-index: 10000 !important; }
.siare-cookie-title { font-size: 28px !important; line-height: 1.15 !important; }
.siare-cookie-copy { font-size: 14px !important; line-height: 1.7 !important; }
.siare-cookie-links { font-size: 12px !important; gap: 8px 16px !important; }
.siare-cookie-links a { min-height: 32px; display: inline-flex; align-items: center; font-size: 12px !important; }
.siare-cookie-actions { gap: 9px !important; }
.siare-cookie-btn { min-height: 46px !important; padding: 10px 16px !important; font-size: 13px !important; line-height: 1.25; white-space: normal; }
.siare-cookie-settings { max-height: min(86svh,780px); overscroll-behavior: contain; }
.siare-cookie-settings h2 { font-size: 32px !important; }
.siare-cookie-settings p { font-size: 14px !important; line-height: 1.7 !important; }
.siare-cookie-choice strong { font-size: 14px !important; }
.siare-cookie-choice small { font-size: 13px !important; }
.siare-cookie-settings-actions .siare-cookie-btn { flex: 1 1 135px; }
.siare-consent-open { overflow: hidden; }

/* Attachment chooser with visible action, thumbnail/file preview and remove controls. */
.attachment-field { min-width: 0; }
.attachment-dropzone { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 112px; margin-top: 8px; padding: 20px; border: 1px dashed rgba(154,121,68,.7); background: #F5F2EA; color: #191A18; cursor: pointer; transition: border-color .2s,background .2s,box-shadow .2s; }
.attachment-dropzone:hover, .attachment-dropzone:focus-visible, .attachment-dropzone.is-dragover { border-color: #C8A96B; background: #E4E1DA; box-shadow: 0 0 0 3px rgba(200,169,107,.13); }
.attachment-upload-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border: 1px solid #C8A96B; border-radius: 50%; font-size: 28px; line-height: 1; }
.attachment-dropzone-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 5px; }
.attachment-dropzone-copy strong { font-size: 16px; line-height: 1.4; }
.attachment-dropzone-copy span { color: #5A5B54; font-size: 14px; line-height: 1.55; }
.attachment-choose-button { flex: 0 0 auto; min-height: 48px; padding: 10px 17px; border: 1px solid #0B0B0B; background: #0B0B0B; color: #F5F2EA; font-size: 14px; font-weight: 600; cursor: pointer; }
.attachment-choose-button:hover { border-color: #C8A96B; background: #C8A96B; color: #0B0B0B; }
.attachment-help { margin: 10px 0 0; color: #555750; font-size: 13px; line-height: 1.65; }
.attachment-preview-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.attachment-preview-card { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 10px; border: 1px solid rgba(41,42,40,.16); background: #fffdfa; }
.attachment-preview-thumb { display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 64px; object-fit: cover; background: #E4E1DA; color: #292A28; font-size: 12px; }
.attachment-preview-meta { flex: 1; min-width: 0; }
.attachment-preview-name { display: block; overflow-wrap: anywhere; font-size: 13px; font-weight: 600; line-height: 1.4; }
.attachment-preview-size { display: block; margin-top: 4px; color: #686961; font-size: 12px; }
.attachment-remove-button { flex: 0 0 auto; min-width: 40px; min-height: 40px; border: 1px solid rgba(41,42,40,.28); background: transparent; color: #292A28; font-size: 20px; line-height: 1; }
.attachment-remove-button:hover { border-color: #9A4E42; color: #9A4E42; }
.attachment-status { margin: 10px 0 0; font-size: 13px; line-height: 1.65; }
.attachment-status[data-kind="error"] { color: #9B382D; }
.attachment-status[data-kind="success"] { color: #2F6A42; }
.attachment-status[data-kind="notice"] { color: #725725; }

/* Keep content intact on narrow screens without floating footer links over content. */
@media (max-width: 900px) {
  .siare-cookie-banner { grid-template-columns: minmax(0,1fr) !important; gap: 14px !important; }
  .siare-cookie-actions { justify-content: flex-start; }
}
@media (max-width: 760px) {
  .entry-content { width: calc(100% - 36px); padding: 100px 4px 142px; }
  .entry-content h1 { font-size: clamp(62px,16vw,112px); letter-spacing: .1em; text-indent: .1em; }
  .entry-subtitle { font-size: 16px; margin: 22px auto 27px; }
  .entry-bottom { left: 22px; right: 22px; bottom: 66px; flex-direction: row; align-items: center; gap: 12px; font-size: 9px; letter-spacing: .06em; }
  .entry-bottom > span { max-width: 48%; }
  .entry-bottom > span:last-child { text-align: right; }
  .entry-legal-links { bottom: 10px !important; gap: 6px 14px !important; font-size: 11px !important; }
  .home-page .contact-section-title { font-size: clamp(30px,7vw,40px) !important; }
  .home-page .contact-section .contact-description, .home-page .contact-section .contact-lead { font-size: 15px !important; }
  .legal-main { padding: 42px 22px 48px; }
  .legal-footer { align-items: flex-start; flex-direction: column; }
  .legal-footer .siare-legal-links { justify-content: flex-start; }
  .siare-cookie-banner { inset: auto 10px 10px 10px !important; width: calc(100vw - 20px) !important; max-height: min(74svh,540px); padding: 17px !important; gap: 14px !important; }
  .siare-cookie-title { font-size: 25px !important; }
  .siare-cookie-copy { font-size: 14px !important; }
  .siare-cookie-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; gap: 7px !important; }
  .siare-cookie-actions .siare-cookie-btn { min-width: 0; padding: 10px 7px !important; font-size: 12px !important; }
  .attachment-dropzone { align-items: flex-start; flex-wrap: wrap; padding: 16px; gap: 12px; }
  .attachment-upload-icon { flex-basis: 42px; width: 42px; height: 42px; }
  .attachment-dropzone-copy { flex-basis: calc(100% - 60px); }
  .attachment-choose-button { width: 100%; }
  .attachment-preview-list { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 420px) {
  .entry-bottom { flex-direction: column; align-items: center; text-align: center; bottom: 70px; gap: 5px; }
  .entry-bottom > span { max-width: 100%; text-align: center !important; }
  .entry-legal-links { gap: 4px 10px !important; font-size: 10px !important; }
  .siare-cookie-actions { grid-template-columns: 1fr; }
  .siare-cookie-actions .siare-cookie-btn { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
