/* Product extension: existing Ruidebao palette, unaltered workshop photographs. */
.pv-localized .pv-intro h1 { font-size: clamp(2.2rem,3.8vw,3.75rem); line-height: 1.28; letter-spacing: -.01em; }
.pv-localized .pv-intro,.pv-localized .pv-process-grid > * { min-width: 0; }
.pv-locale-note { color: #b8cbd6; font-size: .875rem; margin-top: 24px; max-width: 610px; }
html[lang="th"] body { font-family: "Noto Sans Thai", "Leelawadee UI", Tahoma, system-ui, sans-serif; line-height: 1.8; }
html[lang="th"] h1,html[lang="th"] h2,html[lang="th"] h3 { line-height: 1.4; letter-spacing: normal; }
html[lang="th"] .pv-kicker { letter-spacing: normal; }
.pv-contact { scroll-margin-top: 100px; }
.pv-hero { background: var(--ink); color: white; padding: 48px 0 64px; }
.pv-hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; }
.pv-breadcrumb { display: flex; gap: 14px; color: #b8cbd6; font-size: .9rem; margin-bottom: 42px; }
.pv-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.pv-kicker { color: #71d6cc; font-size: .9rem; letter-spacing: .08em; }
.pv-intro h1 { font-size: clamp(2.5rem,4.5vw,4.5rem); max-width: 750px; overflow-wrap: anywhere; }
.pv-lead { font-size: 1.125rem; color: #d0dfe7; max-width: 610px; margin: 26px 0; }
.pv-facts { display: flex; flex-wrap: wrap; padding: 0; list-style: none; gap: 10px 24px; margin-top: 38px; color: #b8cbd6; font-size: .9rem; }
.pv-facts li { border-top: 1px solid #537182; padding-top: 12px; }
.pv-hero-photo { margin: 0; background: #173d56; border-radius: 3px 22px 3px 22px; overflow: hidden; }
.pv-hero-photo img { height: 500px; object-fit: contain; }
.pv-hero-photo figcaption { padding: 14px 22px; display: flex; justify-content: space-between; font-size: .9rem; color: #dcebf0; }
.pv-section-head { margin-bottom: 32px; display: flex; align-items: end; justify-content: space-between; gap: 26px; }
.pv-section-head p { margin: 0; color: var(--muted); }
.pv-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 24px; }
.pv-photo-card { margin: 0; min-width: 0; }
.pv-photo-card a { display: block; background: #e9eef0; }
.pv-photo-card img { aspect-ratio: 4/5; object-fit: contain; }
.pv-photo-card figcaption { padding: 15px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; }
.pv-photo-card figcaption span { color: var(--teal-dark); }
.pv-spec-note { color: var(--muted); margin: 28px 0 0; font-size: .9rem; }
.pv-process { padding: 56px 0; border-top: 1px solid var(--line); }
.pv-process-grid { display: grid; grid-template-columns: .9fr 1.3fr .7fr; align-items: center; gap: 32px; }
.pv-process h2 { font-size: 2rem; }
.pv-process p { color: var(--muted); margin: 0; }
.pv-process .text-link { margin: 0; }
.pv-contact { background: var(--mint); padding: 60px 0; }
.pv-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.pv-contact h2 { font-size: clamp(1.8rem,3vw,2.6rem); }
.pv-contact p { color: var(--muted); margin-bottom: 0; }
.pv-contact address { display: flex; flex-direction: column; gap: 9px; font-style: normal; min-width: 0; }
.pv-contact address a { font-weight: 700; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.pv-contact address span { font-size: .9rem; color: var(--muted); }
@media (min-width: 981px) { .nav-wrap { gap: 20px; } .site-nav { gap: 16px; } }
@media (max-width: 980px) { .pv-hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; } .pv-hero-photo img { height: 430px; } .pv-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); } .pv-process-grid { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 680px) { .pv-hero { padding: 28px 0 40px; } .pv-hero-grid,.pv-contact-grid { grid-template-columns: 1fr; gap: 30px; } .pv-breadcrumb { margin-bottom: 28px; } .pv-hero-photo img { height: 440px; } .pv-section-head { display: block; } .pv-section-head p { margin-top: 16px; } .pv-gallery { grid-template-columns: 1fr; } .pv-photo-card img { max-height: 540px; } .pv-gallery-section { padding: 52px 0; } .pv-contact { padding: 40px 0; } }
