/* PTBN-P02 — Homepage Recovery & UI Polish. Dedicated override loaded AFTER xg-home-performance-p66.css.
   Scoped to Xe Ghép homepage: inner pages and Admin are intentionally unaffected. */
body.xg-home-pro-v10-enabled .xg-home-pro-v10{
  --ptbn-navy:#103451;--ptbn-teal:#0b9b8b;--ptbn-line:#dbe8ee;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 :is(.xgp-routes-pro,.xgp-benefits-pro,.xgp-process-pro,.xgp-info,.xgp-content-pro) h2{
  text-wrap:balance;letter-spacing:-.027em;
}
/* Keep photograph behind translucent Hero rather than a broken IMG/alt row. */
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-media{
  background:#e6f2f8;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-media img{
  display:block!important;object-fit:cover!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-unified-panel{
  border:1px solid rgba(215,232,240,.86)!important;
  box-shadow:0 26px 65px rgba(18,57,79,.15)!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-copy-card h1{
  letter-spacing:-.043em!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-booking-card{
  min-width:0;box-sizing:border-box;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-booking-form :is(input,select,textarea){
  max-width:100%;box-sizing:border-box;
}
/* Two primary corridors fill the available canvas instead of showing four empty columns. */
@media(min-width:901px){
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-routes-pro[data-ptbn-route-count="2"] .xgp-route-grid--pro{
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
   overflow:visible!important;max-width:none!important;scroll-snap-type:none!important;
   gap:20px!important;align-items:stretch!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-routes-pro[data-ptbn-route-count="2"] .xgp-route-card--pro{
   width:100%!important;max-width:none!important;min-width:0!important;flex:none!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-routes-pro[data-ptbn-route-count="2"] .xgp-route-slider-controls{display:none!important}
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro{
  border:1px solid var(--ptbn-line)!important;border-radius:20px!important;
  box-shadow:0 12px 32px rgba(16,52,81,.08)!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro:hover{
  transform:translateY(-3px)!important;box-shadow:0 18px 36px rgba(16,52,81,.13)!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro .xgp-route-image{
  display:block!important;aspect-ratio:16/9!important;height:auto!important;
  min-height:180px!important;background:linear-gradient(125deg,#d8eaf1,#b2d9e2)!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro .xgp-route-image img{
  width:100%!important;height:100%!important;object-fit:cover!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro .xgp-route-body{
  min-height:0!important;display:flex!important;flex-direction:column!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro .xgp-route-actions{margin-top:auto!important}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 :is(.xgp-benefit-card--pro,.xgp-content-panel){
  box-shadow:0 9px 28px rgba(16,52,81,.055)!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 :is(.xgp-benefit-card--pro,.xgp-content-panel,.xgp-home-price-panel){
  border-color:#deebef!important;
}
body.xg-home-pro-v10-enabled .xg-home-pro-v10 :is(.xgp-route-cta,.xgp-booking-submit){
  transition:background .15s ease,box-shadow .15s ease,transform .15s ease;
}
/* Tablet: let the two main corridors share width, keep form usable. */
@media(min-width:681px) and (max-width:900px){
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro{
   flex:0 0 calc((100% - 14px)/2)!important;width:calc((100% - 14px)/2)!important;
 }
}
/* Mobile: deliberate no-photo hero, flush to header and booking below H1. */
@media(max-width:680px){
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-media{
   display:none!important;height:0!important;min-height:0!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-unified-panel{
   margin-top:0!important;width:100%!important;border-radius:0 0 20px 20px!important;
   box-shadow:0 12px 28px rgba(16,52,81,.09)!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-grid{
   margin-top:0!important;padding-top:0!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-hero-copy-card h1{
   font-size:clamp(27px,6.7vw,36px)!important;line-height:1.14!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-booking-form :is(input,select,textarea){
   min-height:45px;font-size:14px!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-routes-pro{
   padding-top:34px!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-routes-pro .xgp-route-card--pro{
   flex:0 0 88%!important;width:88%!important;min-width:0!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-routes-pro .xgp-route-card--pro .xgp-route-image{
   min-height:150px!important;aspect-ratio:16/9!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro .xgp-route-body{padding:16px!important}
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-benefits-pro{
   padding-top:36px!important;padding-bottom:30px!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-process-pro{padding-top:32px!important}
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-content-pro .xgp-content-panel{
   padding:16px!important;
 }
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-home-price-grid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro{transition:none!important}
 body.xg-home-pro-v10-enabled .xg-home-pro-v10 .xgp-route-card--pro:hover{transform:none!important}
}
