/* Catalogue refresh. Preserve the existing graphite and brass visual system. */
html { word-break: normal; overflow-wrap: normal; hyphens: none; }
body, h1, h2, h3, h4, p, a, span, strong, button, label, li { word-break: normal; overflow-wrap: normal; hyphens: none; }
.brand strong, .brand small, .contact-line strong, .social-card strong, .social-card small, .footer-contact a, .spec-list strong, .email-dialog-address { word-break:normal; overflow-wrap:normal; hyphens:none; }
.email-dialog-address { font-size:clamp(16px,3.6vw,22px); }
html:lang(ko), html:lang(ko) :is(body,h1,h2,h3,h4,p,a,span,strong,button,label,li) { word-break: keep-all; }
html:lang(ar) body { font-family: Tahoma, sans-serif; letter-spacing: normal; }
html:lang(ar) .eyebrow { letter-spacing: normal; }
.language-switch { flex-wrap: wrap; flex-shrink: 0; max-width: 300px; }
.language-switch button { min-height: 36px; }
.product-heading { display: block; }
.filter-bar { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.filter-bar button { white-space: normal; max-width: 100%; }
.product-card, .product-content, .section-copy, .footer-column { min-width: 0; }
.product-card .product-content h3 { font-family:inherit; font-weight:600; line-height:1.35; letter-spacing:normal; font-variant-numeric:lining-nums; }
.product-card .product-content h3 .product-title-suffix { font-size:calc(1em - 2px); color:#68716d; }
.catalog-specs { display: block; padding-inline-start: 1.1rem; }
.catalog-specs li { display: list-item; margin-block: .45rem; font-size: .88rem; line-height: 1.6; }
.product-content > .catalog-page-note { min-height: 0; margin: 4px 0 0; font-size: .78rem; opacity: .65; }
.product-link { cursor: pointer; justify-self:start; padding:9px 13px; border:1px solid #b9ccc9; border-radius:6px; background:#f1f6f5; color:#255358; text-align:start; font-family:inherit; font-size:.85rem; font-weight:600; line-height:1.35; }
.product-link:hover { background:#e4eeec; border-color:#597e80; }
.product-image { position: relative; }
/* A definite image box prevents square/tall originals from growing the grid
   item beyond the 4:3 frame. Keep the full source, with M9801-style spacing. */
.product-image img { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; box-sizing: border-box; padding: 22px; object-fit: contain; object-position: center; background: #fff; }
.product-card:hover .product-image img { transform: none; filter: none; }
.product-image img { transition: transform .28s ease, filter .28s ease; }
/* The rotated box swaps the 4:3 frame dimensions before rotating, so the
   complete source still fits inside the same padded product viewport. */
.product-image[data-orientation="landscape-left"] img { inset: auto; left: 50%; top: 50%; width: 75%; height: 133.333333%; transform: translate(-50%, -50%) rotate(-90deg); }
.product-card:hover .product-image[data-orientation="landscape-left"] img { transform: translate(-50%, -50%) rotate(-90deg); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card:hover .product-image img { transform: scale(1.035); filter: drop-shadow(0 5px 5px rgba(20,24,22,.12)); }
  .product-card:hover .product-image[data-orientation="landscape-left"] img { transform: translate(-50%, -50%) rotate(-90deg) scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  .product-image img { transition: none; }
}
.client-logo-mark img { filter: none; }
.client-marquee-section .client-logo-vtech .client-logo-mark { background: #123d65; padding: 10px 14px; }
[data-catalog-footer] { display: grid; gap: .65rem; }
.hero-carousel { height: clamp(600px,56.25vw,1000px); min-height: 0; padding: 0; }
.hero-slide:not(.hero-slide-original) img { object-fit: cover; object-position: center; background: #111411; }
.hero-slide-copy { width: min(760px, 60vw); }
.hero-slide-copy h1 { font-size: clamp(2rem, 4.6vw, 4.4rem); }
.hero-slide.hero-lifestyle img { object-fit: cover; width: 100%; height: 100%; inset: 0; border-radius: 0; object-position: center; }
.hero-slide.hero-lifestyle:after { background: linear-gradient(90deg,rgba(5,8,6,.76) 0%,rgba(5,8,6,.38) 28%,transparent 60%),linear-gradient(0deg,rgba(5,8,6,.25),transparent 40%); }
.hero-slide.hero-user-scene:after { background: linear-gradient(90deg,rgba(5,8,6,.85),rgba(5,8,6,.55) 34%,transparent 65%); }
[dir="rtl"] .hero-slide-copy { margin-inline-start: auto; text-align: right; }
[dir="rtl"] .hero-slide:after { background: linear-gradient(270deg,rgba(5,8,6,.93),rgba(5,8,6,.55) 45%,transparent); }
[dir="rtl"] .hero-slide-copy { background: rgba(5,8,6,.55); }
[data-media-items], .media-carousel { direction: ltr; }
[dir="rtl"] .media-card { direction: rtl; }
.welcome-dialog { color: #f5f2e9; background: #171c19; border: 1px solid #8f7844; border-radius: 10px; width: min(620px, calc(100vw - 28px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 30px; }
.welcome-dialog::backdrop { background: rgba(5,10,7,.75); backdrop-filter: blur(4px); }
.welcome-dialog h2 { color: #f5f2e9; font-size: clamp(1.6rem, 4vw, 2.3rem); margin-block: 8px 16px; padding-inline-end: 24px; }
.welcome-dialog p { line-height: 1.6; font-size: .92rem; }
.welcome-dialog label { display: grid; gap: 6px; font-size: .87rem; }
.welcome-dialog input, .welcome-dialog select, .welcome-dialog textarea { box-sizing: border-box; width: 100%; min-width: 0; color: #f5f2e9; background: #232b26; border: 1px solid #667067; padding: 11px 12px; border-radius: 4px; font: inherit; }
.welcome-dialog input[type="email"], .welcome-dialog input[type="tel"] { direction: ltr; text-align: start; }
.welcome-dialog textarea { min-height: 90px; resize: vertical; }
.welcome-dialog form { display: grid; gap: 14px; }
.welcome-fields, .welcome-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.welcome-panel { position: relative; }
.welcome-field-message { grid-column: 1 / -1; }
.welcome-status:empty { display: none; }
.welcome-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.welcome-actions button { flex: 1; min-height: 46px; padding: 12px; border: 1px solid #c3a269; border-radius: 4px; background: #c3a269; color: #111411; font: inherit; cursor: pointer; }
.welcome-actions button:last-child { background: transparent; color: #eee8da; }
.welcome-close { position: absolute; inset-inline-end: 14px; top: 12px; width: 36px; height: 36px; background: none; color: inherit; border: 0; font-size: 26px; cursor: pointer; }
.welcome-dialog :focus-visible { outline: 3px solid #e1bc75; outline-offset: 3px; }
.welcome-privacy, .welcome-status { color: #c4cdc5; font-size: .78rem !important; }
@media (max-width: 760px) {
  .site-nav { flex-wrap: wrap; gap: 8px; padding: 10px 16px; }
  .language-switch { max-width: 100%; }
  .nav-links { flex-wrap: wrap; }
  .hero-carousel { min-height: 740px; }
  .hero-slide-copy, .hero-slide-original .hero-slide-copy { width: 100%; padding: 1.5rem 2.5rem 4rem; transform: none; }
  .hero-slide-copy h1 { font-size: clamp(1.9rem, 7vw, 2.7rem); }
  .hero-slide-copy p { font-size: 1rem; }
  .hero-slide.hero-lifestyle img, [dir="rtl"] .hero-slide.hero-lifestyle img { object-fit: cover; object-position: 62% center; width:100%;height:100%;inset:0; }
  .hero-slide.hero-lifestyle:after { background: linear-gradient(0deg,rgba(5,8,6,.94) 0%,rgba(5,8,6,.48) 38%,transparent 74%); }
  .hero-slide:after, [dir="rtl"] .hero-slide:after { background: linear-gradient(0deg,rgba(5,8,6,.95) 0%,rgba(5,8,6,.8) 45%,transparent 90%); }
  .welcome-dialog { padding: 24px 18px; }
  .welcome-fields, .welcome-grid { grid-template-columns: 1fr; }
}
