/* ===========================================================
   Global responsive overrides — v26
   Professional, mobile-first guardrails for every public page.
   =========================================================== */
:root{--vp-pad:clamp(14px,4vw,28px);--vp-radius:clamp(10px,1.4vw,18px);--nav-h:64px}
html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
img,video,iframe,canvas,svg{max-width:100%;height:auto}
iframe{border:0} table{max-width:100%}
.container,.wrap,main,section>.container{width:100%;max-width:min(var(--container,1240px),100%);margin-inline:auto;padding-inline:var(--vp-pad);box-sizing:border-box}
.card,.product,.pcard,.plan,.project,.buy-card,.empty-card{box-sizing:border-box;max-width:100%;min-width:0}
.grid,.row,.cards,.product-grid,.website-grid,.feature-grid,.portfolio-grid,.pricing-grid,.services-grid{display:grid;gap:clamp(14px,2vw,24px);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.hero-grid,.checkout-grid,.cart-grid,.two-col,.split,.product-detail,.website-detail{min-width:0}
.btn,button,.input,input,select,textarea{font-size:16px;max-width:100%;box-sizing:border-box}
.btn{min-height:42px;white-space:normal;text-align:center;justify-content:center}.btn i{flex:0 0 auto}
pre,code{white-space:pre-wrap;word-break:break-word}.chip,.badge{display:inline-flex;max-width:100%;min-width:0}

/* Modern navigation: visible desktop, full-height scrollable drawer on touch widths */
.nav-inner{min-height:var(--nav-h)}
.hamburger{flex:0 0 auto;position:relative;z-index:140}
.nav-scrim{position:fixed;inset:var(--nav-h) 0 0 0;background:rgba(8,10,22,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;z-index:118;transition:opacity .2s ease,visibility .2s ease}
.nav-scrim.open{opacity:1;visibility:visible;pointer-events:auto}
body.nav-open{overflow:hidden;touch-action:none}
body.nav-open::after{display:none!important}
@media (min-width:1281px){.nav-links{display:flex!important;visibility:visible!important;transform:none!important}.nav-scrim{display:none!important}}
@media (max-width:1280px){
  :root{--nav-h:64px}
  .navbar{position:sticky!important;top:0;padding:8px 0!important;z-index:130!important}
  .nav-inner{gap:10px}.logo{min-width:0}.logo-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
  .hamburger{display:inline-flex!important;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border)!important;border-radius:12px;background:var(--surface)!important;color:var(--text)!important;font-size:1.05rem!important}
  header .nav-links,.nav-links{
    display:flex!important;position:fixed!important;top:var(--nav-h)!important;right:0!important;bottom:0!important;left:auto!important;
    width:min(92vw,390px)!important;height:calc(100dvh - var(--nav-h))!important;max-height:calc(100dvh - var(--nav-h))!important;
    padding:16px 14px calc(env(safe-area-inset-bottom,0px) + 28px)!important;background:var(--surface)!important;border-left:1px solid var(--border)!important;
    box-shadow:-24px 0 70px -28px rgba(0,0,0,.45)!important;z-index:135!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;transform:translateX(110%)!important;visibility:hidden!important;transition:transform .28s cubic-bezier(.2,.7,.2,1),visibility .28s!important;
  }
  .nav-links.open{transform:translateX(0)!important;visibility:visible!important}
  .nav-links>a,.nav-links .btn,.nav-links .btn-cta,.nav-links .btn-ghost{width:100%!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;padding:12px 14px!important;margin:0!important;border-radius:12px!important;white-space:normal!important;text-align:left!important;font-size:1rem!important}
  .nav-links>a.active{background:var(--surface-2)!important}.nav-links>a.active::after{display:none!important}
  .cur-switch,.theme-toggle,.cart-link{align-self:stretch!important;width:100%!important;margin:4px 0!important}
  .theme-toggle,.cart-link{height:46px!important;display:flex!important;justify-content:flex-start!important;padding:0 14px!important;border-radius:12px!important}
  .cur-switch>button{width:100%!important;min-height:46px!important;justify-content:flex-start!important;border-radius:12px!important}
  .cur-switch ul{position:static!important;width:100%!important;min-width:0!important;box-shadow:none!important;border:0!important;padding:4px 0 0 14px!important;margin:0!important;transform:none!important;opacity:1!important;visibility:visible!important;display:none!important;background:transparent!important}
  .cur-switch.open ul{display:block!important}.cur-switch ul a{padding:10px 12px!important}
}
@media (max-width:420px){:root{--nav-h:58px}.logo-mark{width:34px!important;height:34px!important}.logo-text{max-width:45vw}.hamburger{width:40px;height:40px}.nav-links{width:100vw!important;border-left:0!important}}

/* Preview modal that does not trap content below viewport */
.preview-modal.open{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.preview-modal .pm-dialog{width:min(96vw,1180px);height:min(92dvh,820px);border-radius:var(--vp-radius);max-height:92dvh}
.preview-modal .pm-frame-wrap{height:100%;min-height:0}.preview-modal iframe{width:100%;height:100%;border:0;display:block}.pm-views a,.pm-views button{display:inline-grid;place-items:center;min-width:36px;min-height:36px}
@media (max-width:720px){.preview-modal .pm-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.preview-modal .pm-bar{flex-wrap:wrap;gap:6px;padding:8px 10px}.preview-modal .pm-brand{min-width:0;max-width:calc(100vw - 16px)}.preview-modal .pm-brand span:not(.pm-pulse){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-modal .pm-views button,.preview-modal .pm-views a{padding:6px 8px}.preview-modal .pm-cta{flex-direction:column;align-items:stretch;gap:10px;padding:12px;position:sticky;bottom:0}.preview-modal .pm-cta-info{flex-wrap:wrap}.preview-modal .pm-cta-actions{display:flex;gap:8px}.preview-modal .pm-cta-actions .btn{flex:1;justify-content:center}.pm-views button[title="Desktop"],.pm-views button[title="Tablet"]{display:none}}

/* Footer and dense content */
.footer-grid{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))!important}.footer .newsletter{max-width:100%}.copyright{gap:12px}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1}.site-footer .row,.site-footer .grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.footer-grid,.site-footer .row,.site-footer .grid{grid-template-columns:1fr!important;text-align:left}.copyright{flex-direction:column;align-items:flex-start!important;text-align:left}.newsletter{width:100%}h1{font-size:clamp(1.8rem,9vw,2.5rem);line-height:1.12}h2{font-size:clamp(1.45rem,7vw,2rem);line-height:1.18}.hero,.page-hero{padding-top:clamp(34px,10vw,72px)}}
@media (max-width:700px){.table-wrap,table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{white-space:nowrap}.qv-modal{padding:0!important}.qv-inner{width:100vw!important;max-height:100dvh!important;border-radius:0!important}}
@media (max-width:900px){.checkout-grid,.cart-grid,.two-col,.split,.hero-grid,.product-detail,.website-detail{grid-template-columns:1fr!important}}
