/* P28B – 1280px Pixel Match + Responsive Finalization. Loaded after P28A. */
body.mbr-p28-reference-page{--p28-container:1280px;--p28-gap:18px;--p28-side:316px;background:#f7f8fa}
body.mbr-p28-reference-page .p28-container{width:min(var(--p28-container),calc(100% - 32px))!important;max-width:var(--p28-container)!important;margin-inline:auto!important}
body.mbr-p28-reference-page .p28-page{padding:14px 0 38px}
body.mbr-p28-reference-page .p28-topline{margin:10px 0 16px;min-height:26px}
body.mbr-p28-reference-page .p28-hero-grid,
body.mbr-p28-reference-page .p28-section-grid{grid-template-columns:minmax(0,1fr) var(--p28-side)!important;gap:var(--p28-gap)!important}
body.mbr-p28-reference-page .p28-hero-main,
body.mbr-p28-reference-page .p28-contact-card,
body.mbr-p28-reference-page .p28-card{border-radius:16px;box-shadow:0 5px 18px rgba(15,23,42,.055);border-color:#e7ebf0}

/* Hero proportions closer to the approved reference. */
body.mbr-p28-reference-page .p28-gallery{height:344px;grid-template-columns:1.7fr .53fr .53fr;gap:5px;background:#eef2f5}
body.mbr-p28-reference-page .p28-gallery button{background:#edf1f4}
body.mbr-p28-reference-page .p28-gallery img{transition:transform .2s ease}
body.mbr-p28-reference-page .p28-gallery button:hover img{transform:scale(1.012)}
body.mbr-p28-reference-page .p28-photo-count{left:14px;bottom:14px;padding:6px 9px}
body.mbr-p28-reference-page .p28-placeholder-label{font-size:12px;padding:8px 13px;color:#475569;box-shadow:0 4px 14px rgba(15,23,42,.06)}
/* No broken-image glyphs when the listing has no real media. */
body.mbr-p28-reference-page .p28-gallery.is-placeholder button{background:linear-gradient(145deg,#eef3f7,#e5ebf0)!important}
body.mbr-p28-reference-page .p28-gallery.is-placeholder .p28-g2{background:linear-gradient(145deg,#e8edf1,#dfe6eb)!important}
body.mbr-p28-reference-page .p28-gallery.is-placeholder .p28-g3{background:linear-gradient(145deg,#edf2f5,#e3e9ee)!important}
body.mbr-p28-reference-page .p28-gallery.is-placeholder .p28-g4{background:linear-gradient(145deg,#e7edf2,#dde5eb)!important}
body.mbr-p28-reference-page .p28-gallery.is-placeholder .p28-g5{background:linear-gradient(145deg,#edf1f4,#e1e7ec)!important}
body.mbr-p28-reference-page .p28-gallery.is-placeholder img{opacity:0!important;visibility:hidden!important}

body.mbr-p28-reference-page .p28-summary{padding:18px 20px 20px}
body.mbr-p28-reference-page .p28-summary-top{gap:18px}
body.mbr-p28-reference-page .p28-summary h1{font-size:28px;line-height:1.16;margin:9px 0 11px;letter-spacing:-.025em}
body.mbr-p28-reference-page .p28-meta-row{gap:16px;font-size:13px}
body.mbr-p28-reference-page .p28-price-box{min-width:178px;padding:11px 14px;border-radius:13px}
body.mbr-p28-reference-page .p28-price-box strong{font-size:23px}
body.mbr-p28-reference-page .p28-facts{gap:8px;margin-top:17px}
body.mbr-p28-reference-page .p28-fact{padding:10px 11px;border-radius:11px;min-width:0}
body.mbr-p28-reference-page .p28-fact>i{width:34px;height:34px;flex:0 0 34px;font-size:16px}
body.mbr-p28-reference-page .p28-fact strong{font-size:12px;line-height:1.25}
body.mbr-p28-reference-page .p28-fact span{font-size:10.5px;line-height:1.25}

/* Contact card: compact, aligned, no page-length floating duplication. */
body.mbr-p28-reference-page .p28-contact-card{padding:18px;top:14px}
body.mbr-p28-reference-page .p28-contact-head{padding-bottom:14px}
body.mbr-p28-reference-page .p28-contact-head>span{width:44px;height:44px;flex:0 0 44px;font-size:20px}
body.mbr-p28-reference-page .p28-contact-head h2{font-size:19px}
body.mbr-p28-reference-page .p28-call,body.mbr-p28-reference-page .p28-zalo{border-radius:11px;margin-top:10px;padding:12px}
body.mbr-p28-reference-page .p28-call strong{font-size:17px}
body.mbr-p28-reference-page .p28-socials{margin:8px 0 12px}
body.mbr-p28-reference-page .p28-contact-facts>div{padding:10px 1px}
body.mbr-p28-reference-page .p28-contact-facts strong{font-size:12.5px;line-height:1.35}
body.mbr-p28-reference-page .alo-floating-contact{display:none!important}

/* Tabs and cards match the approved 1280 desktop rhythm. */
body.mbr-p28-reference-page .p28-tabs{margin:16px 0;padding:7px;gap:8px;border-radius:13px;top:6px}
body.mbr-p28-reference-page .p28-tabs a{padding:9px 14px;font-size:12.5px}
body.mbr-p28-reference-page .p28-section-grid{margin-top:14px}
body.mbr-p28-reference-page .p28-card{padding:18px 20px}
body.mbr-p28-reference-page .p28-card>h2,body.mbr-p28-reference-page .p28-section-head h2{font-size:19px;margin-bottom:14px}
body.mbr-p28-reference-page .p28-description{font-size:14.25px;line-height:1.76;color:#334155}
body.mbr-p28-reference-page .p28-description p{margin-bottom:11px}

/* Long legacy descriptions stay readable without pushing all service modules far below the fold. */
body.mbr-p28-reference-page .p28-description-shell{position:relative}
body.mbr-p28-reference-page .p28-description-shell.is-collapsed .p28-description{max-height:470px;overflow:hidden}
body.mbr-p28-reference-page .p28-description-shell.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:42px;height:90px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);pointer-events:none}
body.mbr-p28-reference-page .p28-description-toggle{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px auto 0;border:1px solid #e4e8ed;background:#fff;color:#334155;border-radius:999px;padding:8px 15px;font-weight:700;font-size:12px;position:relative;z-index:2}
body.mbr-p28-reference-page .p28-description-toggle[hidden]{display:none!important}
body.mbr-p28-reference-page .p28-description-shell.is-expanded .p28-description{max-height:none}
body.mbr-p28-reference-page .p28-description-shell.is-expanded:after{display:none}

body.mbr-p28-reference-page .p28-route-visual{height:230px;margin-top:15px;border-radius:13px}
body.mbr-p28-reference-page .p28-route-overlay{padding:25px 15px 12px}
body.mbr-p28-reference-page .p28-quick-row{padding:10px 0}
body.mbr-p28-reference-page .p28-direction-tabs{margin-bottom:10px}
body.mbr-p28-reference-page .p28-table-wrap table{min-width:690px}
body.mbr-p28-reference-page .p28-table-wrap th,body.mbr-p28-reference-page .p28-table-wrap td{padding:10px 11px}
body.mbr-p28-reference-page .p28-price-note{margin-top:10px}
body.mbr-p28-reference-page .p28-real-gallery{margin-top:14px}
body.mbr-p28-reference-page .p28-strip{gap:7px}
body.mbr-p28-reference-page .p28-strip button{border-radius:10px;aspect-ratio:1.55}
body.mbr-p28-reference-page .p28-service-fields{gap:8px}
body.mbr-p28-reference-page .p28-related{margin-top:16px}
body.mbr-p28-reference-page .p28-related-grid{grid-template-columns:repeat(4,1fr);gap:10px}

/* Tablet */
@media(max-width:1199.98px){
 body.mbr-p28-reference-page{--p28-side:300px;--p28-gap:15px}
 body.mbr-p28-reference-page .p28-container{width:min(100% - 28px,1080px)!important}
 body.mbr-p28-reference-page .p28-gallery{height:320px}
 body.mbr-p28-reference-page .p28-summary h1{font-size:26px}
 body.mbr-p28-reference-page .p28-facts{grid-template-columns:repeat(2,1fr)}
 body.mbr-p28-reference-page .p28-related-grid{grid-template-columns:repeat(3,1fr)}
}

/* Mobile/tablet single-column */
@media(max-width:899.98px){
 body.mbr-p28-reference-page .p28-container{width:calc(100% - 24px)!important}
 body.mbr-p28-reference-page .p28-hero-grid,body.mbr-p28-reference-page .p28-section-grid{grid-template-columns:1fr!important}
 body.mbr-p28-reference-page .p28-contact-card{position:static}
 body.mbr-p28-reference-page .p28-gallery{height:320px}
 body.mbr-p28-reference-page .p28-tabs{position:relative;top:auto}
 body.mbr-p28-reference-page .p28-route-visual{height:220px}
}

@media(max-width:639.98px){
 body.mbr-p28-reference-page .p28-container{width:calc(100% - 18px)!important}
 body.mbr-p28-reference-page .p28-page{padding-top:7px}
 body.mbr-p28-reference-page .p28-gallery{height:250px;grid-template-columns:1fr 1fr;grid-template-rows:1.55fr .72fr}
 body.mbr-p28-reference-page .p28-summary{padding:14px}
 body.mbr-p28-reference-page .p28-summary h1{font-size:22px}
 body.mbr-p28-reference-page .p28-summary-top{grid-template-columns:1fr}
 body.mbr-p28-reference-page .p28-price-box{min-width:0;width:max-content}
 body.mbr-p28-reference-page .p28-price-box strong{font-size:20px}
 body.mbr-p28-reference-page .p28-facts{grid-template-columns:1fr 1fr;gap:7px}
 body.mbr-p28-reference-page .p28-card{padding:15px}
 body.mbr-p28-reference-page .p28-description{font-size:14px}
 body.mbr-p28-reference-page .p28-description-shell.is-collapsed .p28-description{max-height:430px}
 body.mbr-p28-reference-page .p28-route-overlay{grid-template-columns:1fr 1fr;gap:12px}
 body.mbr-p28-reference-page .p28-strip{grid-template-columns:repeat(2,1fr)}
 body.mbr-p28-reference-page .p28-related-grid{grid-template-columns:repeat(2,1fr)}
 body.mbr-p28-reference-page .p28-service-fields{grid-template-columns:1fr}
}
