/* XGG P41: cohesive transport price hub, one source of published fares; max-width 1280px. */
#xgg-p41-price.xgg-p41-price{padding:58px 0 66px;background:linear-gradient(170deg,var(--xgp38-h-F3F9FE,#f3f9fe) 0%,#fff 54%,var(--xgp38-h-F5FAFF,#f5faff) 100%);border-top:1px solid var(--xgp38-h-E7EFF5,#e7eff5);border-bottom:1px solid var(--xgp38-h-E5EEF6,#e5eef6)}
#xgg-p41-price .xgg-p41-price-shell{width:min(1280px,calc(100% - 32px))!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}
#xgg-p41-price .xgg-p41-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 25px}
#xgg-p41-price .xgg-p41-head>div{max-width:860px;min-width:0}
#xgg-p41-price .xgg-p41-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:850;color:var(--xgp38-h-087FC2,#087fc2)}
#xgg-p41-price h2{margin:9px 0 12px;color:var(--xgp38-h-12385A,#12385a);font-size:clamp(26px,2.5vw,36px);font-weight:850;letter-spacing:-.035em;line-height:1.16}
#xgg-p41-price .xgg-p41-head p{margin:0;color:var(--xgp38-h-536F85,#536f85);font-size:15px;line-height:1.7}
#xgg-p41-price .xgg-p41-head-link{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap;text-decoration:none!important;font-weight:800;font-size:14px;padding:12px 16px;border:1px solid var(--xgp38-h-C5DCE9,#c5dce9);border-radius:12px;background:#fff;color:var(--xgp38-h-126BA7,#126ba7);transition:all .22s ease}
#xgg-p41-price .xgg-p41-head-link:hover{border-color:var(--xgp38-h-127DBB,#127dbb);box-shadow:0 7px 18px #14639b24;transform:translateY(-2px)}
#xgg-p41-price .xgg-p41-layout{display:grid;grid-template-columns:minmax(0,1.63fr) minmax(300px,.87fr);gap:22px;align-items:stretch}
#xgg-p41-price .xgg-p41-board{overflow:hidden;border:1px solid var(--xgp38-h-DCEAF4,#dceaf4);background:#fff;border-radius:21px;box-shadow:0 16px 40px rgba(var(--xgp38-r-16456D,22,69,109),.075);min-width:0}
#xgg-p41-price .xgg-p41-board-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 23px;border-bottom:1px solid var(--xgp38-h-E7EDF5,#e7edf5);background:linear-gradient(125deg,var(--xgp38-h-ECF8FF,#ecf8ff),#fff)}
#xgg-p41-price .xgg-p41-board-top strong{font-size:17px;font-weight:850;color:var(--xgp38-h-123A5C,#123a5c)}
#xgg-p41-price .xgg-p41-board-top span{color:#6c8497;font-size:12px;max-width:230px;text-align:right}
#xgg-p41-price .xgg-p41-table-wrap{max-width:100%;overflow-x:auto}
#xgg-p41-price .xgg-p41-table{border-collapse:collapse!important;width:100%;table-layout:auto;color:var(--xgp38-h-183B57,#183b57);margin:0!important;background:white}
#xgg-p41-price .xgg-p41-table th{background:var(--xgp38-h-F5F9FC,#f5f9fc);color:var(--xgp38-h-5B768B,#5b768b);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;border:0;border-bottom:1px solid var(--xgp38-h-E2EDF5,#e2edf5);text-align:left;padding:13px 15px}
#xgg-p41-price .xgg-p41-table td{font-size:13.5px;line-height:1.5;padding:14px 15px;border:0;border-bottom:1px solid var(--xgp38-h-E9F0F6,#e9f0f6);vertical-align:middle}
#xgg-p41-price .xgg-p41-table tbody tr:last-child td{border-bottom:0}
#xgg-p41-price .xgg-p41-table tbody tr:hover{background:var(--xgp38-h-F5FAFF,#f5faff)}
#xgg-p41-price .xgg-p41-table td:first-child{width:48%}
#xgg-p41-price .xgg-p41-table td>a{display:inline;color:var(--xgp38-h-184E79,#184e79)!important;text-decoration:none!important;font-weight:750;line-height:1.5}
#xgg-p41-price .xgg-p41-table td>a:hover{color:var(--xgp38-h-0878BC,#0878bc)!important;text-decoration:underline!important}
#xgg-p41-price .xgg-p41-money{color:#067d64;font-weight:850;white-space:nowrap}
#xgg-p41-price .xgg-p41-table small{display:block;color:#73899a;font-size:11px}
#xgg-p41-price .xgg-p41-pending{font-size:12px;color:var(--xgp38-h-5A7488,#5a7488);background:var(--xgp38-h-EDF5FA,#edf5fa);border-radius:8px;padding:7px 9px;white-space:nowrap}
#xgg-p41-price .xgg-p41-view{font-size:12px;white-space:nowrap}
#xgg-p41-price .xgg-p41-board-foot{display:flex;gap:9px;align-items:flex-start;background:var(--xgp38-h-F3F9FC,#f3f9fc);padding:15px 19px;color:var(--xgp38-h-527189,#527189);font-size:12.5px;line-height:1.5}
#xgg-p41-price .xgg-p41-board-foot span{font-size:18px;color:var(--xgp38-h-0479BF,#0479bf);line-height:1.2}
#xgg-p41-price .xgg-p41-board-foot p{margin:0}
#xgg-p41-price .xgg-p41-advice{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border-radius:21px;padding:26px 26px 27px;background:linear-gradient(150deg,var(--xgp38-h-124F86,#124f86) 0%,var(--xgp38-h-096EAA,#096eaa) 61%,var(--xgp38-h-0F9DB2,#0f9db2) 100%);box-shadow:0 19px 38px rgba(var(--xgp38-r-0E5793,14,87,147),.19);color:#fff;position:relative;overflow:hidden}
#xgg-p41-price .xgg-p41-advice::after{content:"";position:absolute;right:-125px;top:-120px;width:270px;height:270px;border:1px solid rgba(255,255,255,.2);border-radius:100%;pointer-events:none}
#xgg-p41-price .xgg-p41-advice-mark{background:#ffffff2c;border:1px solid #ffffff49;border-radius:99px;padding:7px 12px;letter-spacing:.08em;font-size:11px;font-weight:800}
#xgg-p41-price .xgg-p41-advice h3{font-size:25px;line-height:1.18;color:#fff;font-weight:850;margin:14px 0 9px;letter-spacing:-.025em}
#xgg-p41-price .xgg-p41-advice p{color:var(--xgp38-h-E3F2FB,#e3f2fb);font-size:13.5px;line-height:1.65;margin:0 0 15px}
#xgg-p41-price .xgg-p41-advice ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;width:100%}
#xgg-p41-price .xgg-p41-advice li{display:flex;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid #ffffff34}
#xgg-p41-price .xgg-p41-advice li>span{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:10px;background:#ffffff30;font-size:12px;font-weight:900}
#xgg-p41-price .xgg-p41-advice li strong{display:block;font-size:13px;line-height:1.45;color:#fff}
#xgg-p41-price .xgg-p41-advice li small{display:block;font-size:12px;line-height:1.5;color:var(--xgp38-h-D7F0FF,#d7f0ff);margin-top:3px}
#xgg-p41-price .xgg-p41-cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:auto;border:0;border-radius:12px;padding:14px 12px;background:#fff;color:var(--xgp38-h-09699E,#09699e);font-weight:850;font-size:14px;cursor:pointer;transition:all .2s ease}
#xgg-p41-price .xgg-p41-cta:hover{background:var(--xgp38-h-E7F8FF,#e7f8ff);transform:translateY(-2px)}
#xgg-p41-price .xgg-p41-empty{padding:30px!important;color:var(--xgp38-h-637F93,#637f93);text-align:center}
.xgg-p41-location-empty{grid-column:1/-1;padding:25px;background:linear-gradient(120deg,var(--xgp38-h-E8F6FF,#e8f6ff),#fff);border:1px solid var(--xgp38-h-D6E7F1,#d6e7f1);border-radius:16px}
.xgg-p41-location-empty strong{display:block;font-weight:850;font-size:18px;color:var(--xgp38-h-16456A,#16456a)}
.xgg-p41-location-empty p{margin:8px 0 14px;color:var(--xgp38-h-567387,#567387);line-height:1.65}
.xgg-p41-location-empty button{background:var(--xgp38-h-0879B6,#0879b6);border:0;color:#fff;padding:11px 15px;border-radius:10px;font-weight:800;cursor:pointer}
.xgg-p41-price-page .p75-table a{font-weight:750;text-decoration:none}
.xgg-p41-page-note{padding:14px 17px;margin:10px 0;background:var(--xgp38-h-EDF7FE,#edf7fe);color:var(--xgp38-h-46677E,#46677e);border-radius:12px;font-size:13px;line-height:1.6}
@media(max-width:990px){#xgg-p41-price .xgg-p41-layout{grid-template-columns:1fr}#xgg-p41-price .xgg-p41-advice ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}#xgg-p41-price .xgg-p41-advice li{border:0}#xgg-p41-price .xgg-p41-advice{padding:24px}#xgg-p41-price .xgg-p41-cta{max-width:380px}}
@media(max-width:650px){#xgg-p41-price.xgg-p41-price{padding:32px 0 40px}#xgg-p41-price .xgg-p41-price-shell{width:calc(100% - 24px)!important}#xgg-p41-price .xgg-p41-head{display:block;margin-bottom:18px}#xgg-p41-price h2{font-size:26px}#xgg-p41-price .xgg-p41-head p{font-size:13.5px;line-height:1.6}#xgg-p41-price .xgg-p41-head-link{margin-top:15px;font-size:13px}#xgg-p41-price .xgg-p41-layout{gap:12px}#xgg-p41-price .xgg-p41-board{border-radius:15px}#xgg-p41-price .xgg-p41-board-top{display:block;padding:15px 13px}#xgg-p41-price .xgg-p41-board-top strong{font-size:15px}#xgg-p41-price .xgg-p41-board-top span{display:block;text-align:left;max-width:none;margin-top:4px}#xgg-p41-price .xgg-p41-table th{padding:10px 9px;font-size:10px}#xgg-p41-price .xgg-p41-table td{padding:12px 9px;font-size:11.5px}#xgg-p41-price .xgg-p41-table td:first-child{width:52%}#xgg-p41-price .xgg-p41-pending{font-size:10px;white-space:normal;display:inline-block}#xgg-p41-price .xgg-p41-view{font-size:11px}#xgg-p41-price .xgg-p41-board-foot{padding:13px}#xgg-p41-price .xgg-p41-advice{border-radius:15px;padding:20px}#xgg-p41-price .xgg-p41-advice h3{font-size:22px}#xgg-p41-price .xgg-p41-advice ul{grid-template-columns:1fr;gap:5px}#xgg-p41-price .xgg-p41-advice li{border-bottom:1px solid #ffffff34}#xgg-p41-price .xgg-p41-cta{max-width:none}}
@media(prefers-reduced-motion:reduce){#xgg-p41-price .xgg-p41-head-link,#xgg-p41-price .xgg-p41-cta{transition:none!important;transform:none!important}}


/* P68: match the existing P41 card styling while showing 10 reference-price rows. */
#xgg-p41-price .xgg-p41-money.xgg-p68-reference{color:var(--xgp38-h-087CB0,#087cb0)}
#xgg-p41-price .xgg-p41-table td:nth-child(2) small{max-width:240px;line-height:1.45;margin-top:4px}
@media (min-width:851px){
  #xgg-p41-price .xgg-p41-table-wrap{max-height:425px;overflow-x:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--xgp38-h-AEC8DD,#aec8dd) transparent}
  #xgg-p41-price .xgg-p41-table th{position:sticky;top:0;z-index:2}
}


/* P69 – Pricing board is scrollable on desktop; blue sidebar must NOT stretch to table height.
   Scoped to this single Home block; no impact to /bang-gia or other modules. */
@media (min-width:991px){
  #xgg-p41-price .xgg-p41-layout{
    align-items:start!important;
  }
  #xgg-p41-price .xgg-p41-board{
    align-self:start!important;
    min-height:0!important;
  }
  #xgg-p41-price .xgg-p41-table-wrap{
    height:auto!important;
    max-height:405px!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:var(--xgp38-h-A2C1D8,#a2c1d8) var(--xgp38-h-F3F8FC,#f3f8fc);
  }
  #xgg-p41-price .xgg-p41-table th{
    position:sticky;
    top:0;
    z-index:2;
    background:var(--xgp38-h-F5F9FC,#f5f9fc);
  }
  #xgg-p41-price .xgg-p41-table-wrap::-webkit-scrollbar{width:7px}
  #xgg-p41-price .xgg-p41-table-wrap::-webkit-scrollbar-track{background:var(--xgp38-h-F3F8FC,#f3f8fc)}
  #xgg-p41-price .xgg-p41-table-wrap::-webkit-scrollbar-thumb{background:var(--xgp38-h-A2C1D8,#a2c1d8);border-radius:12px}
  #xgg-p41-price .xgg-p41-advice{
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    padding:23px 25px!important;
  }
  #xgg-p41-price .xgg-p41-advice h3{font-size:24px;margin:12px 0 8px}
  #xgg-p41-price .xgg-p41-advice p{margin-bottom:9px;line-height:1.55}
  #xgg-p41-price .xgg-p41-advice ul{margin-bottom:15px;gap:5px}
  #xgg-p41-price .xgg-p41-advice li{padding:7px 0}
  #xgg-p41-price .xgg-p41-cta{margin-top:0!important}
}
/* Below two-column breakpoint, avoid a nested vertical scroll on touch screens. */
@media (max-width:990px){
  #xgg-p41-price .xgg-p41-table-wrap{max-height:none!important;overflow-y:visible!important}
}
