/* =========================================================
   CHUYEN NHA HA NOI — GLOBAL FRONTEND CONTAINER 1280
   Single source of truth for public-page content width.
   Full-bleed backgrounds remain full width; only inner content is capped.
   ========================================================= */
:root{--cn-shell:1280px}

/* Shared service-theme shells (homepage + inner pages + header/footer). */
body.txs-body :is(.txs-shell,.txs-vf-shell,.txf-wrap,.shell),
body.taxi-service-site :is(.txs-shell,.txs-vf-shell,.txf-wrap,.txp-shell,.txsp-container,.txseo-shell,.w11-pro-container,.ct5-container,.taxi-container,.dtx-container,.vpd-container,.authx-container,.ua-shell,.dtf-pro-container,.txnews-wrap,.lgc-shell,.lgp-shell,.posts-container,.wt2-container,.w2-container,.wt-shop-container,.footer-merge-container),
body.taxi-service-site .mmp{
  width:min(var(--cn-shell),calc(100% - 32px))!important;
  max-width:var(--cn-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Legacy KingComposer blocks still used by a few public sections. */
body.taxi-service-site .taxi-service-main > .kc-container,
body.taxi-service-site .taxi-service-main > section > .kc-container,
body.taxi-service-site .taxi-service-main .kc-row-container.kc-container,
body.txs-body .kc-row-container.kc-container{
  width:min(var(--cn-shell),calc(100% - 32px))!important;
  max-width:var(--cn-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Bootstrap containers that act as page/header/footer wrappers. Avoid touching modal internals. */
body.taxi-service-site :is(.header-wow-mini-top,.header-wow-top,.header-wow-sticky) > .container,
body.taxi-service-site .taxi-service-main > .container,
body.taxi-service-site .taxi-service-main > section > .container,
body.taxi-service-site .taxi-service-main > main > .container,
body.taxi-service-site footer > .container,
body.taxi-service-site footer .dtf-pro-container{
  width:min(var(--cn-shell),calc(100% - 32px))!important;
  max-width:var(--cn-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Homepage logistics shell uses the same desktop width. */
body.txs-body .lgf .shell{
  width:min(var(--cn-shell),calc(100% - 32px))!important;
  max-width:var(--cn-shell)!important;
}

/* Keep comfortable gutters on tablets and phones. */
@media(max-width:767.98px){
  body.txs-body :is(.txs-shell,.txs-vf-shell,.txf-wrap,.shell),
  body.taxi-service-site :is(.txs-shell,.txs-vf-shell,.txf-wrap,.txp-shell,.txsp-container,.txseo-shell,.w11-pro-container,.ct5-container,.taxi-container,.dtx-container,.vpd-container,.authx-container,.ua-shell,.dtf-pro-container,.txnews-wrap,.lgc-shell,.lgp-shell,.posts-container,.wt2-container,.w2-container,.wt-shop-container,.footer-merge-container),
  body.taxi-service-site .mmp,
  body.taxi-service-site .taxi-service-main > .kc-container,
  body.taxi-service-site .taxi-service-main > section > .kc-container,
  body.taxi-service-site .taxi-service-main .kc-row-container.kc-container,
  body.txs-body .kc-row-container.kc-container,
  body.taxi-service-site :is(.header-wow-mini-top,.header-wow-top,.header-wow-sticky) > .container,
  body.taxi-service-site .taxi-service-main > .container,
  body.taxi-service-site .taxi-service-main > section > .container,
  body.taxi-service-site .taxi-service-main > main > .container,
  body.taxi-service-site footer > .container,
  body.txs-body .lgf .shell{
    width:calc(100% - 24px)!important;
    max-width:var(--cn-shell)!important;
  }
}
