/* Shared ES navigation entry. Existing model catalogue and lead forms remain independent. */
#menu-demo > li:focus-within > ul,
#menu-demo > li.lexus-models-open > ul { display:block; visibility:visible; opacity:1; }
#menu-demo a:focus-visible,
.lexus-global-header a:focus-visible,
.lexus-es-discovery a:focus-visible,
.lexus-site-shell a:focus-visible,
.lexus-site-shell button:focus-visible { outline:2px solid #8a6b40; outline-offset:5px; }
.lexus-es-model-menu .img-container img { width:100%; height:110px; object-fit:contain; }
.lexus-es-model-menu h5 { font-size:12px; letter-spacing:.04em; }
.lexus-es-footer-mobile { margin:22px 0; text-align:center; }
.lexus-es-footer-mobile a { color:#fff; text-transform:uppercase; letter-spacing:.08em; }
.lexus-site-footer .lexus-es-footer-mobile a { color:#111; }
.lexus-es-range-card .div-gamme > img { object-fit:contain; }
.lexus-es-range-description { margin:8px 0; }
.lexus-es-range-action { display:inline-block; margin-top:10px; text-transform:uppercase; font-size:12px; letter-spacing:.08em; }
.lexus-es-discovery { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:5%; padding:48px 6%; background:#f4f4f4; clear:both; color:#1a1a1a; }
.lexus-es-discovery-image { display:block; min-width:0; }
.lexus-es-discovery-image img { display:block; width:100%; height:auto; }
.lexus-es-discovery-copy { padding:24px 0; }
.lexus-es-discovery .lexus-es-eyebrow { font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px; }
.lexus-es-discovery h2 { margin:0 0 18px; font-size:42px; line-height:1.1; font-weight:400; }
.lexus-es-discovery-copy > p { font-size:17px; line-height:1.55; }
.lexus-es-discovery-action { display:inline-flex; align-items:center; gap:28px; padding:16px 22px; margin-top:18px; color:#fff!important; background:#111; text-decoration:none; text-transform:uppercase; font-size:12px; letter-spacing:.08em; }
.lexus-es-discovery-action:hover { background:#333; }

/* The standalone ES designs retain their own CSS. Only the shared site chrome is scoped here. */
.lexus-es-integrated { --lexus-site-header-height:80px; }
.lexus-es-integrated .subnav { top:var(--lexus-site-header-height); }
.lexus-es-integrated .spec-sidebar { top:calc(var(--lexus-site-header-height) + var(--subnav-h,56px) + 20px); }
.lexus-es-integrated .spec-matrix thead th { top:calc(var(--lexus-site-header-height) + var(--subnav-h,56px) + 1px); }
.lexus-es-integrated .spec-cat,
.lexus-es-integrated main [id] { scroll-margin-top:calc(var(--lexus-site-header-height) + var(--subnav-h,56px) + 20px); }
.lexus-es-index .hero { height:calc(100svh - var(--lexus-site-header-height)); }
.lexus-es-skip-link { position:fixed; left:16px; top:-100px; z-index:3000; padding:12px 18px; color:#fff; background:#111; }
.lexus-es-skip-link:focus { top:12px; }
.lexus-site-shell { color:#111; background:#fff; font-family:'Nobel',Arial,sans-serif; font-size:14px; line-height:1.5; }
.lexus-site-shell *, .lexus-site-shell *::before, .lexus-site-shell *::after { box-sizing:border-box; }
.lexus-site-shell a { color:inherit; text-decoration:none; }
.lexus-site-shell ul { list-style:none; margin:0; padding:0; }
.lexus-site-shell img { max-width:100%; height:auto; }
.lexus-site-shell button, .lexus-site-shell input { font:inherit; }
.lexus-site-shell .hidden-lg, .lexus-site-shell .hidden-md { display:none; }
.lexus-site-header { position:sticky; top:0; z-index:1001; border-bottom:1px solid #e5e5e5; }
.lexus-site-header .header-banier-menu-1 { max-width:1600px; margin:auto; padding:0 4%; }
.lexus-site-header .header-banier-menu-1 > .row { display:flex; align-items:center; justify-content:space-between; min-height:79px; gap:28px; }
.lexus-site-header .logo-site { flex:0 0 190px; }
.lexus-site-header .logo-site img { display:block; width:190px; }
.lexus-site-header .menu-lexus { display:flex; align-items:center; gap:20px; min-width:0; }
.lexus-site-header .div-1 > ul, .lexus-site-header .main-menu { display:flex; align-items:center; gap:20px; }
.lexus-site-header .div-1 > ul > li, .lexus-site-header .main-menu > li { margin:0; }
.lexus-site-header .div-1 a { display:block; padding:28px 0; font-size:11px; font-weight:600; text-transform:uppercase; white-space:nowrap; }
.lexus-site-header .compare > a,
.lexus-site-header .personnalisez-lexus > a,
.lexus-site-header .contact-lexus > a { padding:12px!important; background:#111; color:#fff; }
.lexus-site-header #menu-demo > li > ul { display:none; position:absolute; top:100%; left:4%; right:4%; padding:26px 24px; background:#fff; box-shadow:0 12px 20px #0000001a; border-top:1px solid #ddd; }
.lexus-site-header #menu-demo > li:hover > ul,
.lexus-site-header #menu-demo > li:focus-within > ul,
.lexus-site-header #menu-demo > li.lexus-models-open > ul { display:block; }
#menu-demo > li.lexus-models-dismissed > ul { display:none; visibility:hidden; opacity:0; }
.lexus-site-header #menu-demo .col-lg-12 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; width:100%; }
.lexus-site-header #menu-demo .content-sous-menu { float:none; width:auto; }
.lexus-site-header #menu-demo .content-sous-menu a { padding:0; }
.lexus-site-header #menu-demo .img-container { height:130px; display:flex; align-items:center; }
.lexus-site-header #menu-demo img { width:100%; height:130px; object-fit:contain; }
.lexus-site-header #menu-demo h4 { margin:14px 0 3px; font-size:15px; line-height:1.3; }
.lexus-site-header #menu-demo h5 { font-size:12px; font-weight:400; line-height:1.4; }
.lexus-site-header #menu-demo h6:empty { display:none; }
.lexus-site-header .div-2 { display:flex; flex-direction:row-reverse; align-items:center; gap:18px; }
.lexus-site-header .div-2 > a { font-size:11px; font-weight:600; text-transform:uppercase; }
.lexus-site-header .hamburger-1 { position:relative; width:19px; height:19px; border:1.5px solid #555; border-radius:50%; cursor:pointer; }
.lexus-site-header .hamburger-1::after { position:absolute; content:''; width:8px; height:1.5px; background:#555; right:-6px; bottom:-3px; transform:rotate(45deg); }
.lexus-site-header .menu-overlay-1 { display:none; position:absolute; top:100%; right:4%; width:min(420px,92vw); padding:24px; background:#fff; box-shadow:0 12px 20px #0000001a; }
.lexus-site-header .menu-overlay-1.lexus-search-open { display:block; }
.lexus-site-shell #frm-search, .lexus-site-shell #form-search-mobile-footer { display:flex; gap:8px; }
.lexus-site-shell input[type=text] { min-width:0; padding:12px; border:1px solid #ccc; background:#fff; color:#111; }
.lexus-site-shell input[type=submit] { cursor:pointer; padding:12px; background:#111; color:#fff; border:0; }
.lexus-site-header #frm-search input[type=text] { flex:1; }
.lexus-site-footer { border-top:1px solid #ddd; }
.lexus-site-footer #main-footer { max-width:1600px; margin:auto; padding:52px 6% 40px; }
.lexus-site-footer .content-footer { display:grid; grid-template-columns:1.2fr 1fr 1fr .8fr; gap:36px; }
.lexus-site-footer .content-footer > .besoin-aide { display:none; }
.lexus-site-footer .logo-footer { width:26px; margin-bottom:24px; filter:brightness(0); }
.lexus-site-footer .content-footer label { display:block; margin-bottom:18px; font-size:14px; font-weight:600; text-transform:uppercase; }
.lexus-site-footer .content-footer li div { margin:0 0 11px; }
.lexus-site-footer .content-footer li a { font-size:13px; }
.lexus-site-footer .reseaux-sociaux { display:flex; align-items:center; gap:18px; margin-top:24px; }
.lexus-site-footer .reseaux-sociaux img { width:22px; max-height:24px; object-fit:contain; filter:brightness(0); }
.lexus-site-footer .l-disclaimer { display:none; }

@media (max-width:1279px) and (min-width:992px) {
 .lexus-site-header .header-banier-menu-1 { padding:0 24px; }
 .lexus-site-header .logo-site { flex-basis:140px; }
 .lexus-site-header .logo-site img { width:140px; }
 .lexus-site-header .div-1 > ul, .lexus-site-header .main-menu { gap:12px; }
 .lexus-site-header .menu-lexus { gap:14px; }
 .lexus-site-header .div-1 a { font-size:10px; }
 .lexus-site-header .contact-lexus { display:none; }
}
@media (max-width:991px) {
 .lexus-es-integrated { --lexus-site-header-height:64px; }
 .lexus-site-shell .hidden-sm, .lexus-site-shell .hidden-xs { display:none; }
 .lexus-site-shell .hidden-lg, .lexus-site-shell .hidden-md { display:block; }
 .lexus-site-header .header-mobile .header { position:relative; display:flex; align-items:center; min-height:63px; padding:0 22px; gap:22px; }
 .lexus-site-header .header-mobile .header > a:first-child { margin-right:auto; }
 .lexus-site-header .logo-menu-mobile { width:130px; filter:brightness(0); }
 .lexus-site-header .positionnement-mobile { width:20px; max-height:24px; object-fit:contain; }
 .lexus-site-header .burger-container { width:28px; }
 .lexus-site-header .mobile-menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:5px; min-height:44px; }
 .lexus-site-header .mobile-menu-toggle > span { display:block; width:24px; height:2px; background:#111; transition:transform .15s; }
 .lexus-site-header .mobile-menu-toggle[aria-expanded=true] > span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
 .lexus-site-header .mobile-menu-toggle[aria-expanded=true] > span:nth-child(2) { opacity:0; }
 .lexus-site-header .mobile-menu-toggle[aria-expanded=true] > span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
 .lexus-site-header .header-mobile .menu { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100svh - 64px); overflow:auto; padding:16px 24px 24px; background:#fff; border-top:1px solid #ddd; box-shadow:0 10px 20px #0000001a; }
 .lexus-site-header .header-mobile .window.open .menu { display:block; }
 .lexus-site-header .menu > .menu-item > a { display:block; padding:14px 0; text-transform:uppercase; font-size:15px; }
 .lexus-site-header .menu .two-btn ul { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
 .lexus-site-header .menu .two-btn a { display:block; padding:10px 14px; border:1px solid #111; font-size:12px; text-transform:uppercase; }
 .lexus-site-header .positionnement-mobile-1 { width:22px; margin-top:20px; }
 .lexus-site-header .bloc-recherche-menu { display:none; }
 .lexus-site-header .form-search-mobile { display:flex; margin:16px 0; }
 .lexus-site-header .form-search-mobile input[type=text] { flex:1; }
 .lexus-site-footer #main-footer { padding:30px 24px; }
 .lexus-site-footer #form-search-mobile-footer input[type=text] { flex:1; }
 .lexus-site-footer .lexus-es-footer-mobile { text-align:left; }
 .lexus-site-footer .reseaux-sociaux { margin:26px 0; }
 .lexus-site-footer .div-footer { display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding-top:20px; border-top:1px solid #ddd; font-size:12px; text-transform:uppercase; }
 .lexus-site-footer .div-footer span { flex-basis:100%; font-size:11px; }
 .lexus-es-discovery { grid-template-columns:1fr; gap:8px; padding:32px 6%; }
 .lexus-es-discovery-copy { padding:12px 8px; }
 .lexus-es-discovery h2 { font-size:34px; }
}
@media (prefers-reduced-motion:reduce) {
 .lexus-site-header .mobile-menu-toggle > span { transition:none; }
}

/* Five model families share the same menu row, including the RZ. */
@media (min-width:992px) {
 #menu-demo > li > ul { display:none; padding:0; }
 #menu-demo > li:hover > ul,
 #menu-demo > li:focus-within > ul,
 #menu-demo > li.lexus-models-open > ul { display:block; max-height:100em; padding:26px 24px; }
 #menu-demo > li.lexus-models-dismissed > ul { display:none; padding:0; }
 #menu-demo > li > ul > .row { width:100%; max-width:none; margin:0; }
 #menu-demo > li > ul .col-lg-12 { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; width:100%; }
 #menu-demo > li > ul .content-sous-menu { float:none; width:auto; min-width:0; height:auto; padding:0; }
 #menu-demo > li > ul .content-sous-menu li { float:none; padding:0; }
 #menu-demo > li > ul .content-sous-menu a { display:block; padding:0; }
 #menu-demo > li > ul .img-container { display:flex; align-items:center; height:130px; }
 #menu-demo > li > ul .img-container img { width:100%; height:130px; object-fit:contain; }
 #menu-demo > li > ul h4 { margin:14px 0 3px; font-size:15px; line-height:1.3; }
 #menu-demo > li > ul h5 { font-size:12px; font-weight:400; line-height:1.4; letter-spacing:0; }
 #menu-demo > li > ul h6:empty { display:none; }
 .lexus-site-header #menu-demo .col-lg-12 { grid-template-columns:repeat(5,minmax(0,1fr)); }
 #menu-demo .lexus-rz-model-menu img { width:100%; height:130px; object-fit:contain; }
}
.lexus-es-footer-mobile .lexus-rz-footer-link { margin-top:11px; }
.lexus-rz-discovery { background:#fff; }

/* Escape must dismiss the model menu even while its trigger is hovered. */
#menu-demo > li.lexus-models-dismissed > ul,
.lexus-site-header #menu-demo > li.lexus-models-dismissed > ul {
  display:none; padding:0; max-height:0; visibility:hidden; opacity:0;
}
