/* PATCH 20 - Taxi Home VinFast structural parity v3
 * Loaded only on Theme Taxi homepage. The visual grammar intentionally follows the
 * user-supplied XeVinFast homepage; taxi content/data remain owned by Taxi engines.
 */
.w11-theme-taxi .vinfast-lead-section{font-family:inherit}
.w11-theme-taxi .vinfast-lead-panel[hidden]{display:none!important}
.w11-theme-taxi .vinfast-lead-heading h2{margin:0 0 5px;color:var(--booking-title-color,#2F6FAE);font-size:22px;font-weight:800}
.w11-theme-taxi .vinfast-lead-heading p{margin:0 0 14px;color:var(--booking-description-color,#667085);font-size:13px;line-height:1.45}
.w11-theme-taxi .vinfast-lead-field select{width:100%;height:42px;border:1px solid var(--booking-input-border,#BFCBDA);border-radius:var(--booking-input-radius,6px);background:var(--booking-input-bg,#fff);color:var(--booking-input-text,#20242A);padding:0 12px;outline:0}
.w11-theme-taxi .dc_home_slider{position:relative;height:var(--booking-slider-height-pc,360px);overflow:hidden;background:#fff}
.w11-theme-taxi .dc_home_slider>.item{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}
.w11-theme-taxi .dc_home_slider>.item.is-active{opacity:1;pointer-events:auto;z-index:2}
.w11-theme-taxi .dc_home_slider>.item img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.w11-theme-taxi .dc_home_slider>.owl-controls{position:absolute;z-index:5;left:0;right:0;bottom:9px;display:flex;justify-content:center;pointer-events:none}
.w11-theme-taxi .dc_home_slider .owl-pagination{display:flex;gap:7px}
.w11-theme-taxi .dc_home_slider .owl-page{border:0;background:transparent;padding:0;pointer-events:auto;cursor:pointer}
.w11-theme-taxi .dc_home_slider .owl-page span{display:block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.w11-theme-taxi .dc_home_slider .owl-page.active span{background:#fff;transform:scale(1.12)}

/* XeVinFast homepage starts with lead form and then product grid. Quick-icon block from Patch 19 is intentionally not rendered. */
.w11-theme-taxi .home_price_section{background:var(--home-product-section-bg,#f3f5f4)!important;padding-top:36px!important;padding-bottom:42px!important}
.w11-theme-taxi .home_price_title_wrap{text-align:center!important;margin-bottom:18px!important}
.w11-theme-taxi .home_price_title{margin:0!important;font-size:clamp(25px,2.35vw,34px)!important;line-height:1.18!important;font-weight:800!important;color:#1f2937!important;text-transform:none!important}
.w11-theme-taxi .home_price_full_grid{grid-template-columns:repeat(var(--home-product-columns-pc),minmax(0,1fr))!important;gap:var(--home-product-gap)!important}
.w11-theme-taxi .home_price_card_inner{background:var(--home-product-card-bg)!important;border-color:var(--home-product-border-color)!important;border-width:var(--home-product-border-width)!important;border-radius:var(--home-product-radius)!important;box-shadow:0 8px 22px rgba(15,23,42,.08)!important}
.w11-theme-taxi .home_price_card_inner:hover{transform:translateY(calc(var(--home-product-hover-lift) * -1))!important}
.w11-theme-taxi .home_price_card_media,.w11-theme-taxi .home_price_card_body{background:var(--home-product-card-bg)!important}
.w11-theme-taxi .home_price_card_media{position:relative!important;overflow:hidden!important;isolation:isolate}
.w11-theme-taxi .home_price_card_media img{transform:scale(var(--home-product-image-scale))!important;position:relative;z-index:2}
.w11-theme-taxi .vinfast-card-watermark{position:absolute;top:16px;left:14px;right:14px;z-index:1;display:block;text-align:center;font-size:clamp(28px,2.25vw,44px);line-height:.92;font-weight:400;font-style:italic;text-transform:uppercase;color:rgba(15,23,42,.14);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.w11-theme-taxi .home_price_card_body{padding:var(--home-product-body-padding)!important}
.w11-theme-taxi .home_price_car_name,.w11-theme-taxi .home_price_car_name a{color:var(--home-product-title-color)!important;font-size:var(--home-product-title-size)!important}
.w11-theme-taxi .home_price_slogan{color:var(--home-product-slogan-color)!important;min-height:42px}
.w11-theme-taxi .home_price_value strong{color:var(--home-product-price-color)!important}
.w11-theme-taxi .home_price_action_btn{min-height:var(--home-product-button-height)!important;border-radius:var(--home-product-button-radius)!important}
.w11-theme-taxi .home_price_action_btn--detail{background:var(--home-product-detail-bg)!important;color:var(--home-product-detail-text)!important;border-color:var(--home-product-detail-border)!important}
.w11-theme-taxi .home_price_action_btn--test{background:var(--home-product-test-bg)!important;color:var(--home-product-test-text)!important;border-color:var(--home-product-test-border)!important}
.w11-theme-taxi .home_price_test_label--mobile{display:none}

/* Full-width animated banner identical geometry to XeVinFast. */
.w11-theme-taxi .home-fluid-shell{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0!important;box-sizing:border-box!important}
.w11-theme-taxi .wt2-banner-after-price,.w11-theme-taxi .wt2-banner-after-price .wt2-ad,.w11-theme-taxi .wt2-banner-after-price .wt2-ad img,.w11-theme-taxi .wt2-ad--animated,.w11-theme-taxi .wt2-ad--animated .wt2-ad-bg{border-radius:0!important}

/* Map geometry copied from XeVinFast homepage. */
.w11-theme-taxi .home-map-section{padding-top:24px;padding-bottom:0;clear:both;background:#fff;overflow:hidden}
.w11-theme-taxi .home-map-title{margin:0 0 12px;text-align:center;font-size:clamp(22px,2.2vw,32px);line-height:1.25;font-weight:800;color:#1f2937}
.w11-theme-taxi .home-map-shell{position:relative;display:block;width:100%;height:clamp(530px,var(--home-map-height-pc),580px);min-height:0;overflow:hidden;border-top:1px solid var(--home-map-border-color);border-bottom:1px solid var(--home-map-border-color);border-radius:0;background:#e5e7eb;box-shadow:none}
.w11-theme-taxi .home-map-frame{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:hidden;background:#e5e7eb}
.w11-theme-taxi .home-map-frame iframe{display:block;width:100%;height:100%;border:0}
.w11-theme-taxi .home-map-info{position:absolute;z-index:2;top:0;bottom:0;right:max(0px,calc((100% - 1280px)/2));width:clamp(380px,var(--home-map-card-width),460px);overflow:hidden;background:var(--home-map-card-bg);color:var(--home-map-card-text);padding:10px 14px;border-left:1px solid var(--home-map-border-color);border-right:1px solid var(--home-map-border-color);box-sizing:border-box;box-shadow:-10px 0 24px rgba(15,23,42,.08)}
.w11-theme-taxi .home-map-info-image{display:block;width:100%;aspect-ratio:1200/630;overflow:hidden;background:#f3f4f6;margin-bottom:7px}
.w11-theme-taxi .home-map-info-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.w11-theme-taxi .home-map-info h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 5px;color:var(--home-map-accent-color);font-size:clamp(17px,1.35vw,22px);line-height:1.2;font-weight:800}
.w11-theme-taxi .home-map-info-intro{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 6px;font-size:12.5px;line-height:1.35}
.w11-theme-taxi .home-map-info-cta{display:inline-flex;align-items:center;gap:5px;margin:0 0 7px;padding:0 0 2px;color:var(--home-map-accent-color)!important;border-bottom:2px solid currentColor;font-size:13.5px;font-weight:800;text-decoration:none}
.w11-theme-taxi .home-map-contact-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.w11-theme-taxi .home-map-contact-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;min-height:28px}
.w11-theme-taxi .home-map-contact-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f5f7fa;color:var(--home-map-accent-color);font-size:14px}
.w11-theme-taxi .home-map-contact-content{display:flex;align-items:baseline;gap:4px;min-width:0;line-height:1.3}
.w11-theme-taxi .home-map-contact-content strong{flex:0 0 auto;color:#111827;font-size:12.5px}
.w11-theme-taxi .home-map-contact-content span,.w11-theme-taxi .home-map-contact-content a{min-width:0;color:var(--home-map-card-text)!important;font-size:12.5px;line-height:1.3;overflow-wrap:anywhere;text-decoration:none}

@media(max-width:1280px){.w11-theme-taxi .home-map-info{right:0}}
@media(max-width:991px){
  .w11-theme-taxi .home_price_full_grid{grid-template-columns:repeat(var(--home-product-columns-tablet),minmax(0,1fr))!important}
  .w11-theme-taxi .dc_home_slider{height:var(--booking-slider-height-tablet,360px)}
  .w11-theme-taxi .home-map-shell{height:clamp(500px,var(--home-map-height-tablet),540px)}
  .w11-theme-taxi .home-map-info{width:clamp(330px,42vw,390px);padding:9px 12px}
}
@media(max-width:767px){
  .w11-theme-taxi .dc_home_slider{height:var(--booking-slider-height-mobile,200px)}
  .w11-theme-taxi .home_price_full_grid{grid-template-columns:repeat(var(--home-product-columns-mobile),minmax(0,1fr))!important;column-gap:6px!important;row-gap:9px!important}
  .w11-theme-taxi .home_price_card_body{padding:10px 8px 10px!important}
  .w11-theme-taxi .vinfast-card-watermark{top:10px;left:8px;right:8px;font-size:clamp(16px,5.2vw,24px)}
  .w11-theme-taxi .home_price_car_name,.w11-theme-taxi .home_price_car_name a{font-size:clamp(12px,calc(var(--home-product-title-size) * .65),18px)!important}
  .w11-theme-taxi .home_price_slogan{min-height:0;font-size:10px!important;line-height:1.35!important}
  .w11-theme-taxi .home_price_actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;width:100%!important}
  .w11-theme-taxi .home_price_action_btn{min-height:32px!important;height:32px!important;padding:4px 3px!important;border-width:1px!important;font-size:9px!important;line-height:1!important;white-space:nowrap!important}
  .w11-theme-taxi .home_price_test_label--desktop{display:none!important}.w11-theme-taxi .home_price_test_label--mobile{display:inline!important}
  .w11-theme-taxi .home-map-shell{display:flex;min-height:0;height:auto;flex-direction:column;overflow:visible}
  .w11-theme-taxi .home-map-frame{position:relative;inset:auto;order:1;min-height:max(220px,calc(var(--home-map-height-mobile) - 20px));height:max(220px,calc(var(--home-map-height-mobile) - 20px))}
  .w11-theme-taxi .home-map-info{position:relative;inset:auto;order:2;width:100%;height:auto;overflow:visible;border-left:0;border-right:0;border-bottom:1px solid var(--home-map-border-color);padding:12px;box-shadow:none}
}
