/* Shared mobile interactions, scoped to the EN / VI interfaces. */
.gse-mobile-contact { display:none; }
body:is(.gse,.gsv) .gs-menu-row { display:flex; align-items:stretch; gap:8px; }
body:is(.gse,.gsv) .gs-menu-row > a { flex:1; min-width:0; }
body:is(.gse,.gsv) .gs-menu-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; min-height:48px; padding:0; margin:0; border:1px solid #dce6d2; border-radius:8px; color:#2f5d14; background:#f2f7eb; cursor:pointer; }
.gs-menu-toggle::before { content:'+'; font-size:24px; line-height:1; }
.gs-menu-toggle[aria-expanded="true"]::before { content:'−'; }
body:is(.gse,.gsv) :is(.gse-drawer,.gsv-drawer) [hidden] { display:none !important; }
body:is(.gse,.gsv) .gs-mobile-table { min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
body.gsv .gsv-cs-faq__list { grid-template-columns:minmax(0,1fr); }
body.gsv .gsv-cs-faq__list > .wp-block-group__inner-container { min-width:0; }
.gs-table-hint { margin:8px 0; font-size:14px; color:#53634f; }
@media (min-width:1101px) { .gs-table-hint { display:none; } }
@media (max-width:1100px) {
    body.gsv .gsv-header .gsv-header__cta { display:none; }
    body.gs-menu-open { overflow:hidden; }
    body:is(.gse,.gsv) :is(.gse-drawer,.gsv-drawer) { box-sizing:border-box; max-height:calc(var(--gs-viewport-height,100dvh) - 100px); overscroll-behavior-y:contain; padding-bottom:28px; }
    body:is(.gse,.gsv) :is(.gse-drawer__menu,.gsv-drawer__menu) a { box-sizing:border-box; min-height:48px; display:flex; align-items:center; font-size:16px; line-height:1.5; padding-top:12px; padding-bottom:12px; overflow-wrap:anywhere; }
    body:is(.gse,.gsv) .gs-menu-row { padding:4px 0; }
    body:is(.gse,.gsv) :is(.gse-burger,.gsv-burger,.gse-lang__btn,.gsv-lang__btn) { min-width:48px; min-height:48px; }
}
@media (max-width:600px) {
    body.gse .gse-header .gse-header__cta { display:none; }
    body.gse .gse-langstats { width:100%; min-width:0; }
    body.gse .gse-langstats > .wp-block-group__inner-container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    body.gse .gse-lstat { box-sizing:border-box; min-width:0; padding:16px 10px; }
    body.gse .gse-lstat strong { white-space:normal; overflow-wrap:anywhere; }
    body.gse { padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)); }
    body.gse .gse-float { display:none; }
    body.gse .gse-mobile-contact { display:grid; grid-template-columns:1fr 1.65fr; position:fixed; bottom:0; left:0; right:0; z-index:9990; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid #dce6d2; box-shadow:0 -5px 22px rgba(22,32,26,.1); }
    body.gse .gse-mobile-contact a { display:flex; align-items:center; justify-content:center; gap:8px; box-sizing:border-box; min-height:48px; padding:8px; border:1px solid #3f7a1c; border-radius:10px; color:#2f5d14; font-size:15px; font-weight:700; line-height:1.3; text-align:center; text-decoration:none; }
    body.gse .gse-mobile-contact a.gse-mobile-contact__quote { background:#cc6109; border-color:#cc6109; color:#fff; }
    body:is(.gse,.gsv):is(.gs-input-active,.gs-menu-open) :is(.gse-mobile-contact,.gsv-mobile-contact) { display:none; }
    body:is(.gse,.gsv):has(form:focus-within) :is(.gse-mobile-contact,.gsv-mobile-contact) { display:none; }
    body:is(.gse,.gsv) :is(.gse-main,#content) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { box-sizing:border-box; max-width:100%; min-width:0; min-height:48px; font-size:16px; }
    body:is(.gse,.gsv) :is(.gse-qf,.gsv-form,.gse-cform) { gap:16px; }
    body.gse .gse-qf__field { gap:7px; }
    body.gse .gse-qf__row--2 { gap:16px; }
    body.gse .gse-qf__label, body.gsv .gsv-form .col-form-label { font-size:15px; }
    body.gse .gse-qf__langs label { min-width:0; padding:8px; }
    body.gse .gse-qf__langs select { width:100%; }
    body.gse .gse-qf__legal { font-size:12px; line-height:1.6; }
    body.gse .gse-quote-card__sub { font-size:14px; line-height:1.5; }
    body:is(.gse,.gsv) :is(.gse-btn,.gsv-btn,.wp-block-button__link,.codedropz-btn-wrap a) { box-sizing:border-box; min-height:48px; display:inline-flex; align-items:center; justify-content:center; white-space:normal; }
    body:is(.gse,.gsv) .codedropz-upload-inner { gap:8px; }
    body:is(.gse,.gsv) :is(.gse-drawer,.gsv-drawer) { max-height:calc(var(--gs-viewport-height,100dvh) - 84px); }
    body.gsv #content :is(.container,.container-fluid) { max-width:100%; }
    body:is(.gse,.gsv) :is(.gse-main,#content) :is(img,iframe,video) { max-width:100%; }
    body:is(.gse,.gsv) :is(input,select,textarea,.wpcf7-response-output) { scroll-margin-top:100px; scroll-margin-bottom:100px; }
    body:is(.gse,.gsv) .gs-mobile-table:focus-visible,
    body:is(.gse,.gsv) :is(.gs-menu-toggle,.gse-mobile-contact a):focus-visible { outline:3px solid #8bc53f; outline-offset:2px; }
}
