/* JainVoyagers Forms 2.2: device-aware, width-aware layouts. Scoped to plugin. */
.jvf-shell{container-type:inline-size;width:100%;max-width:100%;min-width:0;overflow:clip;--jvf-primary:#0c4476;--jvf-secondary:#527c9f;--jvf-accent:#527c9f}
.jvf-shell .jvf-wrap,.jvf-shell .jvf-aside,.jvf-shell .jvf-card,.jvf-shell .jvf-grid>*{min-width:0;max-width:100%}
.jvf-shell input,.jvf-shell textarea,.jvf-shell select{max-width:100%;min-width:0}
.jvf-shell button,.jvf-shell input,.jvf-shell select,.jvf-shell textarea{font-family:inherit}
.jvf-shell button:focus-visible,.jvf-shell input:focus-visible,.jvf-shell select:focus-visible,.jvf-shell textarea:focus-visible{outline:3px solid #527c9f;outline-offset:2px}
.jvf-shell [hidden]{display:none!important}
.jvf-shell .jvf-wrap{width:100%;margin-inline:auto}
.jvf-shell .jvf-card{height:auto}
.jvf-shell .jvf-aside h1{overflow-wrap:anywhere}
.jvf-shell .jvf-grid label,.jvf-shell .jvf-review>div{min-width:0}
.jvf-shell .jvf-review strong{overflow-wrap:anywhere}
.jvf-shell .jvf-step-head{min-width:0}
.jvf-shell .jvf-stage{min-width:0}
.jvf-shell .jvf-btn{touch-action:manipulation}
/* Mobile phones: deliberate one-column composition; informational content above form */
.jvf-shell[data-jvf-device="mobile"]{padding:8px 4px!important}
.jvf-shell[data-jvf-device="mobile"] .jvf-wrap{display:block!important;max-width:560px!important}
.jvf-shell[data-jvf-device="mobile"] .jvf-aside{display:none!important}
.jvf-shell[data-jvf-device="mobile"] .jvf-mobile-intro{display:block!important}
.jvf-shell[data-jvf-device="mobile"] .jvf-card{padding:clamp(14px,4.5vw,22px)!important;border-radius:16px!important;min-height:0!important}
.jvf-shell[data-jvf-device="mobile"] .jvf-stage-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.jvf-shell[data-jvf-device="mobile"] .jvf-stage{font-size:clamp(9px,2.7vw,11px);flex-direction:column;gap:2px;padding:8px 2px}
.jvf-shell[data-jvf-device="mobile"] .jvf-grid.two,.jvf-shell[data-jvf-device="mobile"] .jvf-review{grid-template-columns:minmax(0,1fr)!important}
.jvf-shell[data-jvf-device="mobile"] .jvf-enquiry-quick{grid-template-columns:repeat(2,minmax(0,1fr))}
.jvf-shell[data-jvf-device="mobile"] .jvf-grid input,.jvf-shell[data-jvf-device="mobile"] .jvf-grid select,.jvf-shell[data-jvf-device="mobile"] .jvf-grid textarea{font-size:16px!important;min-height:48px}
.jvf-shell[data-jvf-device="mobile"] .jvf-actions{position:static!important;flex-wrap:wrap}
.jvf-shell[data-jvf-device="mobile"] .jvf-actions .jvf-btn{min-height:48px;flex:1 1 100px}
/* Tablets: compact hero header and full-width form, with two field columns */
.jvf-shell[data-jvf-device="tablet"]{padding:24px 16px!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-wrap{display:grid!important;grid-template-columns:minmax(0,1fr)!important;max-width:850px!important;gap:12px!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-mobile-intro{display:none!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-aside{display:block!important;min-height:0!important;padding:26px 32px!important;border-radius:18px!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-aside .jvf-kicker{margin-top:18px!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-aside h1{font-size:clamp(31px,5vw,44px)!important;max-width:none;margin:8px 0!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-aside>p{font-size:14px;margin:10px 0!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-aside-label,.jvf-shell[data-jvf-device="tablet"] .jvf-route,.jvf-shell[data-jvf-device="tablet"] .jvf-trust-grid{display:none!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-card{min-height:0!important;border-radius:18px!important;padding:clamp(24px,4vw,40px)!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-grid.two,.jvf-shell[data-jvf-device="tablet"] .jvf-review{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.jvf-shell[data-jvf-device="tablet"] .jvf-enquiry-quick{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Desktops: proportional sidebar / enquiry workspace */
.jvf-shell[data-jvf-device="desktop"] .jvf-wrap{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;max-width:1360px!important;gap:18px!important}
.jvf-shell[data-jvf-device="desktop"] .jvf-aside{display:flex!important}
.jvf-shell[data-jvf-device="desktop"] .jvf-card{padding:clamp(24px,3vw,52px)!important}
.jvf-shell[data-jvf-device="desktop"] .jvf-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* TV / ultra-wide: centered content with better readability; never stretched edge-to-edge */
.jvf-shell[data-jvf-device="tv"]{padding:clamp(48px,5vw,100px) 5vw!important}
.jvf-shell[data-jvf-device="tv"] .jvf-wrap{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;max-width:1800px!important;gap:32px!important}
.jvf-shell[data-jvf-device="tv"] .jvf-aside,.jvf-shell[data-jvf-device="tv"] .jvf-card{display:flex;flex-direction:column;min-height:780px!important;border-radius:30px!important;padding:clamp(44px,4vw,76px)!important}
.jvf-shell[data-jvf-device="tv"] .jvf-card{display:block}
.jvf-shell[data-jvf-device="tv"] .jvf-aside h1{font-size:clamp(58px,4vw,88px)!important}
.jvf-shell[data-jvf-device="tv"] .jvf-aside>p{font-size:clamp(18px,1.1vw,23px)!important}
.jvf-shell[data-jvf-device="tv"] .jvf-step-head h2{font-size:clamp(32px,2vw,44px)!important}
.jvf-shell[data-jvf-device="tv"] .jvf-grid input,.jvf-shell[data-jvf-device="tv"] .jvf-grid select,.jvf-shell[data-jvf-device="tv"] .jvf-grid textarea{font-size:18px!important;min-height:58px}
.jvf-shell[data-jvf-device="tv"] .jvf-grid label>span{font-size:14px}
.jvf-shell[data-jvf-device="tv"] .jvf-btn{min-height:58px;font-size:17px}
.jvf-shell[data-jvf-device="tv"] .jvf-stage{font-size:15px;padding:15px}
.jvf-shell[data-jvf-device="tv"] .jvf-enquiry-quick button{font-size:15px;min-height:58px}
/* width fallback in browsers where observer JS is unavailable */
@container (max-width:599px){.jvf-shell .jvf-enquiry-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.jvf-shell .jvf-grid.two{grid-template-columns:minmax(0,1fr)}}
@media print{.jvf-shell{background:#fff!important;padding:0!important}.jvf-shell .jvf-aside{display:none!important}.jvf-shell .jvf-wrap{display:block!important}.jvf-shell .jvf-card{box-shadow:none!important;border:1px solid #d6e1eb!important}}
@media(prefers-reduced-motion:reduce){.jvf-shell *, .jvf-shell *:before,.jvf-shell *:after{animation:none!important;transition:none!important}}
