/* Page 50 presentation adapter. Native Form 1 owns state, validation and upload.
   No global Header/theme reset; compensate for this page's containing block only. */
body.page-id-50.wsh-production-header #page {max-width:none;margin:0;padding-top:0}

body.page-id-50 #page .site-content,body.page-id-50 #page .inside-article {padding:0}

body.page-id-50 #page .site-main,body.page-id-50 #page .entry-content {margin:0}

body.page-id-50 #page .content-area {width:100%;min-width:0}

/* Page 67 uses the same full-bleed content contract without changing the
   locked global Header or Footer containers. */
body.page-id-67.wsh-production-header #page {max-width:none;margin:0;padding-top:0}

body.page-id-67 #page .site-content,body.page-id-67 #page .inside-article {padding:0}

body.page-id-67 #page .site-main,body.page-id-67 #page .entry-content {margin:0}

body.page-id-67 #page .content-area {width:100%;min-width:0}

/* Reference shell and typography */
:root{--wsh-c1:#fff;--wsh-c2:#f7f7f7;--wsh-c3:#c2c9cf;--wsh-c4:#a2acb5;--wsh-c5:#1a1a1a;--wsh-c6:#466556}

.wsh-quote,.wsh-quote *,.wsh-quote *::before,.wsh-quote *::after{box-sizing:border-box}

.wsh-quote{background:var(--wsh-c2);color:var(--wsh-c5);font-family:"IBM Plex Sans Thai",sans-serif;font-size:16px;line-height:1.55}

.wsh-quote button,.wsh-quote input,.wsh-quote textarea{font:inherit}

.wsh-quote__layout{display:grid;grid-template-columns:minmax(18rem,36%) minmax(0,1fr);gap:clamp(3rem,6vw,7rem);width:min(100% - 8rem,86rem);margin:auto;padding:9rem 0 4rem}

.wsh-quote__intro{align-self:start}

.wsh-quote__eyebrow,.wsh-quote-process__intro>h2{display:inline-flex;margin:0 0 2rem;padding:.35rem .8rem;border:1px solid var(--wsh-c3);border-radius:999px;font-size:.8125rem;font-weight:500}

.wsh-quote h1{margin:0;font-size:clamp(3.5rem,6vw,6.25rem);font-weight:500;letter-spacing:-.055em;line-height:.95}

.wsh-quote__statement{margin:3.5rem 0 1rem;font-size:clamp(1.8rem,2.6vw,2.6rem);font-weight:500;letter-spacing:-.035em;line-height:1.12}

.wsh-quote__lead{max-width:32rem;margin:0;font-size:1.0625rem}
.wsh-quote__note{max-width:30rem;margin:1.5rem 0 0;color:var(--wsh-c6);font-size:.9375rem}

.wsh-quote__form-section>h2{margin:0 0 2rem;font-size:1rem;font-weight:500}

.wsh-quote__form-section>h2 {line-height:1.55}

.wsh-quote__layout>*,.wsh-quote .bf-field-wrapper {min-width:0}

/* Native outer field grid. Narrow !important overrides only native canvas layout
   and existing system-field visibility, never validation/error/widget state. */
.wsh-quote .bit-form {background:var(--wsh-c1);padding:clamp(2rem,4vw,4rem);border-radius:10px}

.wsh-quote .bf-form {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;row-gap:0;height:auto!important;margin:0;padding:0 0 4rem}

.wsh-quote .bf-form>.btcd-fld-itm {position:static!important;grid-column:1/-1;min-width:0;width:auto!important;height:auto!important;transform:none!important;margin:0}

.wsh-quote .bf-form>:is(.bf1-3,.bf1-4,.bf1-13,.bf1-14,.bf1-15,.bf1-16) {grid-column:auto}

.wsh-quote .bf-form>:is(.bf1-18,.bf1-19,.bf1-20,.bf1-21,.bf1-22),.wsh-quote .bf-form>input.d-none {display:none!important}

.wsh-quote .bf-form>:is(.bf1-3,.bf1-4,.bf1-5,.bf1-8,.bf1-11,.bf1-17) {margin-top:2rem}

.wsh-quote .bf-form>:is(.bf1-15,.bf1-16) {margin-top:1.5rem}

/* Group rhythm belongs to outer wrappers, not inner :first-child selectors. */
.wsh-quote .bf-form>:is(.bf1-6,.bf1-9,.bf1-12) {margin-top:4rem}

.wsh-quote .wsh-bf-group-heading {margin:0 0 .25rem;padding:0;border:0}

.wsh-quote .wsh-bf-group-title {display:flex;gap:1rem;margin:0;font-size:1.55rem;font-weight:500;line-height:1.55;letter-spacing:-.025em}

.wsh-quote .wsh-bf-group-title span {padding-top:.35rem;color:var(--wsh-c6);font-size:.75rem;letter-spacing:.08em}

.wsh-quote .bf-form>:is(.bf1-10,.bf1-13,.bf1-14) {margin-top:1rem}

.wsh-quote .bf-label {display:block;margin:0;font-weight:500}

.wsh-quote :is(.bf-check-field,.bf-radio-field)>.bf-label-wrapper {margin:1rem 0}

.wsh-quote :is(.bf-text-field,.bf-number-field,.bf-email-field,.bf-textarea-field) :is(input,textarea),.wsh-quote input[data-bf-other-inp] {width:100%;min-width:0;min-height:3.25rem;padding:.8rem 1rem;border:1px solid var(--wsh-c3);border-radius:4px;background:var(--wsh-c1);color:var(--wsh-c5);box-shadow:none;outline:0}

/* Match the reference's six-row textarea and inline baseline, not GP's top alignment. */
.wsh-quote .bf-textarea-field textarea {display:inline-block;vertical-align:baseline;min-height:10rem;height:calc(6 * 1.55em + 1.6rem + 2px);resize:vertical}
/* Explicit clearance replaces anonymous whitespace-dependent inline line boxes. */
.wsh-quote .bf1-10-inp-fld-wrp {display:grid;grid-template-columns:minmax(0,1fr);padding-bottom:.5rem}

.wsh-quote :is(input,textarea):focus-visible {border-color:var(--wsh-c6);outline:2px solid var(--wsh-c6);outline-offset:2px}

.wsh-quote [aria-invalid=true] {border-color:var(--wsh-c6)}

.wsh-quote .bf-error-wrapper {color:var(--wsh-c6);font-size:.875rem;font-weight:500}

.wsh-quote .bf-error-messages-container:not(:empty) {margin-top:.55rem}

.wsh-quote .wsh-render-help {margin:.5rem 0 0;color:var(--wsh-c6);font-size:.8125rem}

.wsh-quote .bf1-4-inp-wrp {position:relative}

.wsh-quote .bf1-4-inp-wrp input {padding-right:4.5rem}
.wsh-quote .bf1-4-inp-wrp input::placeholder {color:transparent}

.wsh-quote .wsh-render-unit {position:absolute;right:1rem;top:1rem;color:var(--wsh-c6);font-size:.875rem;pointer-events:none}

/* Definition storage only. Symbols remain available at every breakpoint. */
.wsh-quote svg.bf-cks {position:absolute;width:0;height:0;overflow:hidden}

/* Native options and single visual marker system */
.wsh-quote :is(.bf-check-field [role=group],.bf-radio-field [role=radiogroup]) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}

.wsh-quote .bf1-8 [role=radiogroup] {grid-template-columns:repeat(3,minmax(0,1fr))}

.wsh-quote .bf-cw {position:relative;min-width:0;display:flex;flex-wrap:wrap}

.wsh-quote .bf1-5-cw:has(input[value="บ้านหรือพื้นที่เดิมที่ต้องการปรับปรุง"]),.wsh-quote .bf1-7-cw:has(input[value="ยังไม่กำหนด / ต้องการให้ช่วยประเมิน"]) {grid-column:1/-1}

.wsh-quote :is(.bf-check-field input[type=checkbox],.bf-radio-field input[type=radio]) {position:absolute;width:1px;height:1px;opacity:0}

.wsh-quote :is(.bf-check-field,.bf-radio-field) [data-cl] {display:flex;align-items:center;width:100%;min-height:3.75rem;padding:.85rem 1rem;border:1px solid var(--wsh-c3);border-radius:4px;background:var(--wsh-c1);font-weight:400;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}

.wsh-quote :is(.bf-check-field,.bf-radio-field) [data-bx] {flex:0 0 auto;width:.85rem;height:.85rem;margin-right:.7rem;border:1px solid var(--wsh-c4);border-radius:50%}

.wsh-quote .bf-check-field [data-bx] {border-radius:2px}

.wsh-quote :is(.bf-check-field,.bf-radio-field) [data-bx]>svg {display:none}

.wsh-quote :is(.bf-check-field,.bf-radio-field) input:checked+[data-cl] {border-color:var(--wsh-c6);background:var(--wsh-c6);color:var(--wsh-c1)}

.wsh-quote :is(.bf-check-field,.bf-radio-field) input:checked+[data-cl] [data-bx] {border-color:var(--wsh-c1);background:var(--wsh-c1);box-shadow:inset 0 0 0 3px var(--wsh-c6)}

.wsh-quote :is(.bf-check-field,.bf-radio-field) input:focus-visible+[data-cl] {outline:3px solid var(--wsh-c6);outline-offset:2px}

.wsh-quote [data-oinp-wrp] {width:100%;margin-top:.75rem}

.wsh-quote .bf-check-field [data-oopt]:not(:checked)~[data-oinp-wrp] {display:none}

/* Existing upload surface/button/input/list/errors, no replacement uploader. */
.wsh-quote .bf1-11-btn-wrpr {display:flex;align-items:center;justify-content:space-between;gap:1rem;position:relative;min-height:5rem;margin-top:1rem;padding:1rem;border:1px dashed var(--wsh-c4);border-radius:4px;background:var(--wsh-c1)}

.wsh-quote .bf1-11-btn-wrpr:focus-within {outline:2px solid var(--wsh-c6);outline-offset:2px}

.wsh-quote .bf1-11-inp-btn {display:inline-flex;align-items:center;gap:.65rem;flex:0 0 auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--wsh-c5);font-weight:500;cursor:pointer}

.wsh-quote .bf1-11-inp-btn:is(:hover,:focus) {background:transparent;color:var(--wsh-c5)}

.wsh-quote .bf1-11-inp-btn::before{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;background-color:var(--wsh-c5);content:"";mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16V4m0 0L7 9m5-5 5 5M5 15v4h14v-4' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16V4m0 0L7 9m5-5 5 5M5 15v4h14v-4' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E") center/contain no-repeat}

.wsh-quote .bf1-11-file-select-status {min-width:0;color:var(--wsh-c6);font-size:.833333em;text-align:right}

.wsh-quote .bf1-11-file-upload-input {position:absolute;width:1px;height:1px;max-width:100%;opacity:0}

.wsh-quote .bf1-11 .files-list {margin-top:.75rem;font-size:.875rem;overflow-wrap:anywhere}

/* Consent remains a visible native checkbox, not a service tile. */
.wsh-quote .bf1-17-cw {display:flex;gap:.85rem;align-items:flex-start;flex-wrap:nowrap}

.wsh-quote .bf1-17-ci {flex:0 0 auto;width:1.15rem;height:1.15rem;margin:.25rem 3px 3px 4px;accent-color:var(--wsh-c6)}

.wsh-quote .bf1-17-cl {display:block;min-width:0;font-weight:400;cursor:pointer}

.wsh-quote .bf1-17-svgwrp {display:none}

.wsh-quote .bf1-17 a {margin:0 .25rem;color:var(--wsh-c6);text-underline-offset:3px}

/* Native Turnstile retains its DOM order/idle height; no arbitrary reserved box. */
.wsh-quote .bf-form>.bf1-turnstile {margin:0}

.wsh-quote .bf-form>:is(.bf1-23,.bf1-24) {grid-column:auto;align-self:center;margin-top:3rem}

.wsh-quote .bf-form>.bf1-24 {justify-self:end;min-width:max-content}

.wsh-quote .wsh-bf-submit-support {margin:0;color:var(--wsh-c6);font-size:.8125rem}

.wsh-quote__form-section button[type=submit]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-width:19rem;min-height:3.5rem;padding:0 1.25rem;overflow:hidden;border:0;border-radius:4px;background-color:var(--wsh-c5);background-image:linear-gradient(var(--wsh-c6),var(--wsh-c6));background-position:bottom;background-repeat:no-repeat;background-size:100% 0;color:var(--wsh-c1);cursor:pointer;transition:background-size 240ms cubic-bezier(.22,.61,.36,1)}
.wsh-quote__form-section button[type=submit]::after{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;background-color:var(--wsh-c1);content:"";mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 15 15 5M7 5h8v8' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 15 15 5M7 5h8v8' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");mask-position:center,-1.2rem 1.2rem;mask-repeat:no-repeat;mask-size:1.2rem 1.2rem;transition:background-color 120ms ease,mask-position 240ms cubic-bezier(.22,1,.36,1);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 15 15 5M7 5h8v8' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 15 15 5M7 5h8v8' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E");-webkit-mask-position:center,-1.2rem 1.2rem;-webkit-mask-repeat:no-repeat;-webkit-mask-size:1.2rem 1.2rem}
.wsh-quote__form-section button[type=submit]:is(:hover,:focus-visible){background-size:100% 100%}
.wsh-quote__form-section button[type=submit]:is(:hover,:focus-visible)::after{background-color:var(--wsh-c5);mask-position:1.2rem -1.2rem,center;-webkit-mask-position:1.2rem -1.2rem,center}
.wsh-quote__form-section button[type=submit]:disabled{cursor:wait;opacity:.65}
.wsh-quote__form-section button[type=submit]:focus-visible{outline:3px solid var(--wsh-c6);outline-offset:3px}

/* Process typography does not inherit GeneratePress heading line-height. */
.wsh-quote-process{display:grid;grid-template-columns:1fr 1.5fr;width:min(100% - 8rem,86rem);margin:auto;padding:4rem 0 8rem;column-gap:7rem}
.wsh-quote-process__statement{max-width:30rem;margin:0;font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.wsh-quote-process ol{margin:0;padding:0;list-style:none}
.wsh-quote-process li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--wsh-c3)}
.wsh-quote-process li span{color:var(--wsh-c6);font-size:.75rem}
.wsh-quote-process h3{margin:0;line-height:1.55;font-size:1.35rem;font-weight:500}
.wsh-quote-process aside{grid-column:2;margin-top:3rem;padding:2rem;border-radius:6px;background:var(--wsh-c1)}
.wsh-quote-process aside p{margin:1rem 0 0}

/* Thank-you presentation remains isolated from the Form and global components. */
.wsh-quote-thank-you{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:75svh;padding:8rem max(4rem,8vw);background:var(--wsh-c6);color:var(--wsh-c1);font-family:"IBM Plex Sans Thai",sans-serif}
.wsh-quote-thank-you>p:first-child{margin:0 0 2rem;font-size:.875rem}
.wsh-quote-thank-you h1{max-width:65rem;margin:0;font-size:3.25rem;font-weight:500;letter-spacing:-.045em;line-height:1.08}
.wsh-quote-thank-you h1+p{max-width:44rem;margin:2rem 0 0;font-size:1.0625rem}
.wsh-quote-thank-you a{align-self:flex-start;margin-top:2.5rem;padding:.8rem 1rem;overflow:hidden;border:1px solid var(--wsh-c1);border-radius:4px;background-color:transparent;background-image:linear-gradient(var(--wsh-c1),var(--wsh-c1));background-position:bottom;background-repeat:no-repeat;background-size:100% 0;color:inherit;text-decoration:none;transition:background-size 220ms cubic-bezier(.22,.61,.36,1),color 180ms ease}
.wsh-quote-thank-you a span{display:inline-block;margin-left:.25rem;transition:transform 220ms cubic-bezier(.22,.61,.36,1)}
.wsh-quote-thank-you a:is(:hover,:focus-visible){background-size:100% 100%;color:var(--wsh-c6)}
.wsh-quote-thank-you a:is(:hover,:focus-visible) span{transform:translateX(.3rem)}
.wsh-quote-thank-you a:focus-visible{outline:3px solid var(--wsh-c1);outline-offset:3px}

/* Responsive */
@media(min-width:1101px) {
.wsh-quote__intro {position:sticky;top:calc(var(--wsh-header-height) + var(--wsh-admin-offset,0px) + 2rem)}

.wsh-quote h1 {font-size:clamp(3.25rem,4.2vw,4.5rem)}

.wsh-quote-thank-you h1 {max-width:none;font-size:3.75rem;line-height:1.08}

}

@media(max-width:1100px) {
.wsh-quote__layout,.wsh-quote-process {grid-template-columns:minmax(0,1fr);width:min(100% - 6rem,58rem)}

.wsh-quote__layout {gap:4rem;padding-top:8rem}

.wsh-quote__lead,.wsh-quote-process__statement {max-width:44rem}

.wsh-quote-process {gap:4rem}

.wsh-quote-process aside {grid-column:1}

}

@media(max-width:767.98px) {
.wsh-quote__layout,.wsh-quote-process {width:calc(100% - 2.5rem)}

.wsh-quote__layout {padding:6.5rem 0 2.5rem}

.wsh-quote h1 {font-size:3.35rem}

.wsh-quote__statement {margin-top:2.5rem}

.wsh-quote .bit-form {padding:1.5rem}

.wsh-quote .bf-form {padding-bottom:3rem}

.wsh-quote .bf-form,.wsh-quote .bf-check-field [role=group],.wsh-quote .bf-radio-field [role=radiogroup] {grid-template-columns:minmax(0,1fr)}

.wsh-quote .bf-form>.btcd-fld-itm {grid-column:1}

.wsh-quote .bf-form>:is(.bf1-6,.bf1-9,.bf1-12) {margin-top:3rem}

.wsh-quote .bf-form>:is(.bf1-4,.bf1-14,.bf1-16) {margin-top:1.5rem}

.wsh-quote .bf1-11-btn-wrpr {flex-direction:column;align-items:flex-start}

.wsh-quote .bf1-11-file-select-status {text-align:left}

.wsh-quote .bf-form>.bf1-23 {margin-top:3rem}

.wsh-quote .bf-form>.bf1-24 {justify-self:stretch;min-width:0;margin-top:1.5rem}

.wsh-quote__form-section button[type=submit] {justify-content:center;width:100%;min-width:0;padding:0 .75rem;gap:.5rem;font-size:1rem;white-space:nowrap}

.wsh-quote-process {padding:2.5rem 0 5rem}

.wsh-quote-process__statement span {display:block}

.wsh-quote-process aside {padding:1.5rem}

.wsh-quote-thank-you {min-height:70svh;padding:7rem 1.25rem 5rem}

.wsh-quote-thank-you h1 {font-size:2.5rem;line-height:1.12}

}

@media(prefers-reduced-motion:reduce) {
.wsh-quote * {scroll-behavior:auto!important;transition:none!important}

.wsh-quote__form-section button[type=submit] {background-size:100% 0}

.wsh-quote__form-section button[type=submit]:is(:hover,:focus-visible) {background-size:100% 100%}

.wsh-quote__form-section button[type=submit]::after {transition:none}

.wsh-quote-thank-you a {transition:none}

.wsh-quote-thank-you a span {transition:none}

.wsh-quote-thank-you a:is(:hover,:focus-visible) span {transform:none}

}
