:root{--black:#0b0d0c;--paper:#f0eee6;--green:#9eaa78;--ink:#151714;--light:#fff;--nl-body:16px;--nl-h1:128px;--nl-h2:78px;--nl-h3:26px;--nl-nav:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);font-family:Arial,Helvetica,sans-serif;color:var(--light);font-size:var(--nl-body)}a{color:inherit;text-decoration:none}.nl-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.nl-header{position:absolute;z-index:20;width:100%;border-bottom:1px solid #ffffff38}.nl-nav{height:82px;display:flex;align-items:center;gap:28px}.nl-logo{font-size:28px;font-weight:900;margin-right:auto}.nl-logo{display:flex;align-items:center;max-width:var(--nl-logo-w);max-height:var(--nl-logo-h);overflow:hidden}
.nl-logo .custom-logo-link{display:flex;align-items:center;max-width:100%;max-height:var(--nl-logo-h)}
.nl-logo img,.nl-logo .custom-logo{display:block!important;width:auto!important;height:auto!important;max-width:var(--nl-logo-w)!important;max-height:var(--nl-logo-h)!important;object-fit:contain!important}.nl-links{display:flex;gap:24px;font-size:var(--nl-nav);font-weight:800;text-transform:uppercase}.nl-links ul{display:contents}.nl-links li{list-style:none}.nl-book,.nl-btn{border:1px solid #ffffffaa;padding:14px 18px;font-size:12px;font-weight:900;letter-spacing:.07em}.nl-menu{display:none;background:none;border:0;color:#fff;font-size:24px}.nl-hero{min-height:850px;display:flex;align-items:flex-end;background:linear-gradient(90deg,#000c,#0004),linear-gradient(0deg,#000b,transparent 50%),url('https://nikilao.com/wp-content/uploads/2026/01/20221209_152535-1024x768.jpg') center/cover}.nl-hero-content{padding:170px 0 90px}.nl-kicker{color:var(--green);font-size:12px;font-weight:900;letter-spacing:.18em}.nl-hero h1,.nl-final h2{font-size:clamp(48px,9vw,var(--nl-h1));line-height:.88;letter-spacing:-.055em;margin:18px 0 28px}.nl-hero p{max-width:620px;font-size:1.18em;color:#d3d7d1}.nl-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.nl-btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.nl-section{padding:105px 0}.nl-paper{background:var(--paper);color:var(--ink)}.nl-dark{background:#111412}.nl-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:end;margin-bottom:55px}.nl-heading h2,.nl-split h2,.nl-cinema h2,.nl-story h2{font-size:clamp(32px,6vw,var(--nl-h2));line-height:.94;letter-spacing:-.045em;margin:15px 0}.nl-heading p,.nl-paper p{color:#5d625b}.nl-three{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.nl-three article{padding:34px;border:1px solid #bfc0b9;min-height:260px;display:flex;flex-direction:column}.nl-three h3{font-size:var(--nl-h3);margin:20px 0 8px}.nl-three article>a{margin-top:auto;font-size:12px;font-weight:900}.nl-split{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.nl-split p{color:#c4cac3;font-size:1.12em}.nl-stats{border-top:1px solid #ffffff28}.nl-stats div{display:flex;justify-content:space-between;gap:20px;padding:23px 0;border-bottom:1px solid #ffffff28}.nl-stats strong{font-size:27px}.nl-cinema{min-height:680px;display:flex;align-items:flex-end;padding:80px 0;background:linear-gradient(0deg,#000d,#0001),url('https://images.unsplash.com/photo-1528127269322-539801943592?auto=format&fit=crop&w=2000&q=85') center/cover}.nl-cinema p{font-size:1.2em}.bikes article{padding:0 0 28px;background:#fff}.bikes article>*:not(.nl-bikephoto){margin-left:25px;margin-right:25px}.nl-bikephoto{height:290px;background-size:cover;background-position:center}.bike1{background-image:url('https://images.unsplash.com/photo-1558981806-ec527fa84c39?auto=format&fit=crop&w=1000&q=80')}.bike2{background-image:url('https://images.unsplash.com/photo-1558981359-219d6364c9c8?auto=format&fit=crop&w=1000&q=80')}.bike3{background-image:url('https://images.unsplash.com/photo-1525160354320-d8e92641c563?auto=format&fit=crop&w=1000&q=80')}.tours article{border-color:#ffffff25;background:#171a18}.tours p{color:#bec5bd}.nl-story{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.nl-storyimg{background:url('https://nikilao.com/wp-content/uploads/2026/01/20221209_152535-1024x768.jpg') center/cover}.nl-storytext{padding:70px;align-self:center}.darkbtn{border-color:#222;color:var(--ink);display:inline-block;margin-top:20px}.nl-guide{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa}.nl-guide span{padding:24px 10px;border-bottom:1px solid #aaa;font-weight:800}.nl-home-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:45px}.nl-widget{padding:22px;border:1px solid #aaa}.nl-widget .widget-title{margin-top:0;font-size:var(--nl-h3)}.nl-final{text-align:center;padding:120px 0}.nl-final .nl-actions{justify-content:center}.nl-footer{padding:60px 0;background:var(--black)}.nl-footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.nl-footgrid strong{font-size:32px}.nl-footgrid>div{display:flex;flex-direction:column;gap:8px}.nl-footgrid b{font-size:11px;color:#929991;letter-spacing:.14em}.nl-footgrid p,.nl-footgrid a,.nl-footgrid span{color:#adb3ac;font-size:14px}.nl-widget-footer>div{display:block}.nl-widget-footer .nl-widget{border-color:#ffffff20;margin-bottom:15px}.nl-copy{border-top:1px solid #ffffff20;margin-top:45px;padding-top:20px;color:#777;font-size:11px}.nl-content{padding:140px 0 90px;min-height:70vh}.nl-content h1{font-size:clamp(42px,6vw,72px)}.nl-entry{margin-top:30px}.nl-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px}.nl-sidebar .nl-widget{margin-bottom:20px}.reveal{opacity:0;transform:translateY(22px);transition:.65s}.reveal.on{opacity:1;transform:none}@media(max-width:850px){.nl-wrap{width:calc(100% - 28px)}.nl-nav{height:68px}.nl-menu{display:block}.nl-links{display:none;position:absolute;top:68px;left:0;right:0;background:#0b0d0cf5;padding:25px 20px;flex-direction:column}.nl-links.open{display:flex}.nl-links ul{display:flex;flex-direction:column;gap:20px;padding:0;margin:0}.nl-book{display:none}.nl-hero{min-height:760px}.nl-hero-content{padding:145px 0 65px}.nl-section{padding:75px 0}.nl-heading,.nl-split,.nl-story,.nl-footgrid,.nl-page-layout{grid-template-columns:1fr}.nl-three,.nl-guide,.nl-home-widgets{grid-template-columns:1fr}.nl-split{gap:45px}.nl-storyimg{min-height:480px}.nl-storytext{padding:55px 24px}}
/* V3 IMAGE SAFETY — prevents uploaded/plugin images from covering the page */
.nl-entry img,
.nl-content img,
.woocommerce img,
.woocommerce-page img,
.vrcdivsearch img,
.vrc-searchmod-wrap img,
.vrc-showprc-container img,
.vrc-rentitempage img,
.vrcdetcarimg img,
.vrc-car-img img {
  max-width:100%!important;
  height:auto!important;
  object-fit:contain;
}

/* WooCommerce product/gallery image containment */
.woocommerce div.product div.images,
.woocommerce-page div.product div.images{
  max-width:560px;
  width:48%;
}
.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img{
  width:100%!important;
  max-height:560px!important;
  object-fit:contain!important;
}
.woocommerce ul.products li.product img{
  width:100%!important;
  height:280px!important;
  object-fit:contain!important;
}

/* VikRentCar / rental detail image containment */
.vrc-rentitempage img,
.vrc-showprc-container img,
.vrcdetcarimg img,
.vrc-car-img img{
  width:auto!important;
  max-width:100%!important;
  max-height:520px!important;
  margin-left:auto;
  margin-right:auto;
}
.vrc-rentitempage,
.vrc-showprc-container{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

/* WordPress logo hard stop even if a plugin injects inline dimensions */
.custom-logo-link,
.custom-logo-link img{
  max-width:var(--nl-logo-w)!important;
  max-height:var(--nl-logo-h)!important;
}
@media(max-width:850px){
  .nl-logo,.nl-logo .custom-logo-link,.nl-logo img,.custom-logo-link,.custom-logo-link img{
    max-height:42px!important;
    max-width:160px!important;
  }
  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images{width:100%;max-width:100%}
  .woocommerce div.product div.images img,
  .woocommerce-page div.product div.images img,
  .vrc-rentitempage img,.vrc-showprc-container img{max-height:420px!important}
}

/* V4: internal page header must remain readable */
body:not(.home) .nl-header,
.nl-header-inner{
  position:relative!important;
  background:#0b0d0c!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
}
body:not(.home) .nl-header a,
.nl-header-inner a{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
body:not(.home) .nl-content{padding-top:70px}

/* V4: preserve logo aspect ratio — never stretch vertically */
.nl-logo{overflow:visible!important;width:auto!important;height:auto!important;max-width:var(--nl-logo-w)!important;max-height:var(--nl-logo-h)!important}
.nl-logo .custom-logo-link{display:block!important;width:auto!important;height:auto!important;line-height:0}
.nl-logo .custom-logo,
.nl-logo .custom-logo-link img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:var(--nl-logo-w)!important;
  max-height:var(--nl-logo-h)!important;
  object-fit:contain!important;
  object-position:left center!important;
  aspect-ratio:auto!important;
}

/* =========================================================
   V5 — PLUGIN / GALLERY / RENTAL PAGE READABILITY & SCALE
   Screenshot-specific compatibility layer.
   ========================================================= */

/* Internal pages use a light canvas. This prevents plugin-generated dark text
   from disappearing against the theme's global dark body background. */
body:not(.home){
  background:var(--paper)!important;
  color:var(--ink)!important;
}
body:not(.home) main{
  background:var(--paper)!important;
  color:var(--ink)!important;
  min-height:70vh;
}

/* Keep the navigation intentionally dark and readable. */
body:not(.home) .nl-header,
.nl-header-inner{
  background:#0b0d0c!important;
  color:#fff!important;
}
body:not(.home) .nl-header .nl-links a,
body:not(.home) .nl-header .nl-logo a,
body:not(.home) .nl-header .nl-book,
.nl-header-inner .nl-links a,
.nl-header-inner .nl-logo a{
  color:#fff!important;
}

/* Third-party listing/gallery pages often sit directly inside main rather than
   our .nl-content wrapper. Give them the same desktop scale as the homepage. */
body:not(.home) main > div,
body:not(.home) main > section:not(.nl-content){
  font-size:16px;
}
body:not(.home) .container,
body:not(.home) .site-content,
body:not(.home) .content-area,
body:not(.home) .ast-container,
body:not(.home) .directorist-container-fluid,
body:not(.home) .directorist-container,
body:not(.home) .atbd_wrapper,
body:not(.home) .directorist-single-wrapper,
body:not(.home) .directorist-single-listing-content{
  max-width:1180px!important;
}

/* Directory / gallery plugin: restore readable text on white cards and sidebars */
body:not(.home) .directorist-single-wrapper,
body:not(.home) .directorist-single-listing-content,
body:not(.home) .directorist-card,
body:not(.home) .directorist-single-info,
body:not(.home) .directorist-single-info__label,
body:not(.home) .directorist-single-info__value,
body:not(.home) .directorist-single-listing-header,
body:not(.home) .directorist-listing-single,
body:not(.home) .atbd_content_module,
body:not(.home) .atbd_content_module_contents,
body:not(.home) .atbd_listing_detail,
body:not(.home) .atbd_listing_info,
body:not(.home) .widget,
body:not(.home) .widget-area{
  color:#171a18!important;
}
body:not(.home) .directorist-card,
body:not(.home) .atbd_content_module,
body:not(.home) .widget{
  background:#fff;
}
body:not(.home) .directorist-card a,
body:not(.home) .atbd_content_module a,
body:not(.home) .widget a{
  color:#171a18!important;
}
body:not(.home) .directorist-card p,
body:not(.home) .directorist-card li,
body:not(.home) .atbd_content_module p,
body:not(.home) .atbd_content_module li,
body:not(.home) .widget p,
body:not(.home) .widget li{
  color:#3d433e!important;
  font-size:16px!important;
  line-height:1.7;
}

/* Make plugin page titles and descriptions visually consistent with homepage */
body:not(.home) h1,
body:not(.home) .entry-title,
body:not(.home) .directorist-listing-title{
  color:#111!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1.05!important;
  font-weight:900!important;
}
body:not(.home) h2{color:#171a18}
body:not(.home) h3{color:#171a18}

/* Search/sidebar inputs and buttons */
body:not(.home) input[type="text"],
body:not(.home) input[type="search"],
body:not(.home) input[type="email"],
body:not(.home) input[type="tel"],
body:not(.home) select,
body:not(.home) textarea{
  color:#171a18!important;
  background:#fff!important;
  font-size:16px!important;
}
body:not(.home) button,
body:not(.home) input[type="submit"]{
  font-size:15px;
}

/* Gallery/detail main image: large enough, but never uncontrolled */
body:not(.home) .directorist-single-listing-slider img,
body:not(.home) .directorist-gallery-slider img,
body:not(.home) .atbdp-slider img,
body:not(.home) .slick-slide img{
  max-width:100%!important;
  height:auto!important;
  max-height:680px!important;
  object-fit:contain!important;
}

/* WooCommerce & rental pages: enlarge typography without enlarging bike images */
.woocommerce,
.woocommerce-page,
.vrc-rentitempage,
.vrc-showprc-container,
[class*="vikrentcar"],
[class*="vrc-"]{
  font-size:16px!important;
  line-height:1.6;
}
.woocommerce div.product .product_title{
  font-size:clamp(32px,4vw,52px)!important;
  color:#171a18!important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-size:22px!important;
}

/* Desktop inner page breathing room */
body:not(.home) main{
  padding-top:28px;
}
body:not(.home) .nl-content{
  padding-top:55px!important;
}

@media(max-width:850px){
  body:not(.home) main{padding-top:12px}
  body:not(.home) h1,
  body:not(.home) .entry-title,
  body:not(.home) .directorist-listing-title{font-size:34px!important}
  body:not(.home) .directorist-card p,
  body:not(.home) .atbd_content_module p,
  body:not(.home) .widget p{font-size:15px!important}
}

/* V13: Directorist internal grid/image sizing is intentionally left to the plugin. */

/* V14 — Directorist title sizing: page title and card title are different things. */
body:not(.home) .directorist-listing-title,
body:not(.home) .directorist-listing-title a,
body:not(.home) .atbd_listing_title,
body:not(.home) .atbd_listing_title a{
  font-size:var(--nl-listing-title,24px)!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
}
body:not(.home) .directorist-listing-title{
  margin-top:0!important;
  margin-bottom:10px!important;
}
@media(max-width:850px){
  body:not(.home) .directorist-listing-title,
  body:not(.home) .directorist-listing-title a,
  body:not(.home) .atbd_listing_title,
  body:not(.home) .atbd_listing_title a{
    font-size:min(var(--nl-listing-title,24px),22px)!important;
  }
}

/* =========================================================
   V15 — Header logo + footer brand visibility
   ========================================================= */

/* Header logo: approximately 25% smaller than V14.
   Keep aspect ratio so the uploaded logo is never vertically distorted. */
.nl-logo,
.nl-logo.custom-logo-link,
.nl-logo .custom-logo-link{
  flex:0 0 auto!important;
}
.nl-logo img,
.custom-logo-link img,
img.custom-logo{
  width:auto!important;
  height:40px!important;
  max-width:120px!important;
  max-height:40px!important;
  object-fit:contain!important;
  object-position:center!important;
  aspect-ratio:auto!important;
}

/* Footer brand was inheriting a dark text color on the black footer. */
.nl-footer .nl-footer-brand,
.nl-footer .nl-footer-brand a,
.nl-footer .nl-footer-brand strong,
.nl-footer .nl-footer-logo,
.nl-footer .nl-footer-logo a,
.nl-footer h2,
.nl-footer h3{
  color:#fff!important;
  opacity:1!important;
}
.nl-footer .nl-footer-brand,
.nl-footer .nl-footer-logo{
  font-weight:900!important;
  letter-spacing:-.03em!important;
}

/* Existing footer copy remains readable but subordinate. */
.nl-footer,
.nl-footer p,
.nl-footer li,
.nl-footer a{
  color:rgba(255,255,255,.82);
}
.nl-footer a:hover{color:#fff!important}

@media(max-width:850px){
  .nl-logo img,
  .custom-logo-link img,
  img.custom-logo{
    height:36px!important;
    max-height:36px!important;
    max-width:108px!important;
  }
}

/* =========================================================
   V16 — logo uses Customizer dimensions again.
   V15's fixed 40px rule made the logo smaller than requested.
   ========================================================= */
.nl-nav .nl-logo img,
.nl-nav .custom-logo-link img,
.nl-nav img.custom-logo{
  width:auto!important;
  height:auto!important;
  max-width:var(--nl-logo-w,220px)!important;
  max-height:var(--nl-logo-h,64px)!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
}
@media(max-width:850px){
  .nl-nav .nl-logo img,
  .nl-nav .custom-logo-link img,
  .nl-nav img.custom-logo{
    max-width:min(var(--nl-logo-w,220px),180px)!important;
    max-height:min(var(--nl-logo-h,64px),54px)!important;
  }
}

/* PICK YOUR MACHINE image boxes keep a stable ratio when images are replaced. */
.bikes .nl-bikephoto{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* V17 brand / larger logo / YouTube */
:root{--nl-brand-yellow:#f2c94c}
.nl-brand-wrap{display:flex!important;align-items:center!important;gap:14px!important;flex:0 0 auto!important}
.nl-brand-wrap .custom-logo-link{display:flex!important;align-items:center!important}
.nl-nav .nl-brand-wrap img,.nl-nav .custom-logo-link img,.nl-nav img.custom-logo{
 width:auto!important;height:auto!important;max-width:var(--nl-logo-w,275px)!important;max-height:var(--nl-logo-h,80px)!important;
 object-fit:contain!important;aspect-ratio:auto!important
}
.nl-brand-text,.nl-brand-fallback{display:inline-flex!important;align-items:center!important;text-decoration:none!important;font-size:28px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.055em!important;white-space:nowrap!important}
.nl-niki{color:#fff!important}.nl-lao{color:var(--nl-brand-yellow)!important}
.nl-footer-wordmark{display:inline-flex!important;font-size:28px!important;font-weight:950!important;line-height:1!important;letter-spacing:-.055em!important}
.nl-youtube-section{padding:90px 0;background:#0b0d0c;color:#fff}
.nl-youtube-section h2{margin:10px 0 34px;color:#fff}
.nl-youtube-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#000}
.nl-youtube-frame iframe{position:absolute;inset:0;width:100%!important;height:100%!important;border:0!important}
@media(max-width:850px){
 .nl-nav .nl-brand-wrap img,.nl-nav .custom-logo-link img,.nl-nav img.custom-logo{max-width:min(var(--nl-logo-w,275px),220px)!important;max-height:min(var(--nl-logo-h,80px),66px)!important}
 .nl-brand-text,.nl-brand-fallback{font-size:22px!important}.nl-youtube-section{padding:58px 0}
}

/* =========================================================
   V18 — REAL header logo enlargement + restore footer brand size
   ========================================================= */

/* Previous versions enlarged only img max-width/max-height.
   The header/logo wrapper was still limiting the visible logo.
   V18 enlarges the actual brand slot and removes inherited caps. */
.nl-nav .nl-logo,
.nl-nav .nl-brand-wrap,
.nl-header .nl-logo,
.nl-header .nl-brand-wrap{
  width:auto!important;
  min-width:110px!important;
  max-width:none!important;
  height:88px!important;
  max-height:none!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}

.nl-nav .nl-brand-wrap .custom-logo-link,
.nl-header .nl-brand-wrap .custom-logo-link{
  width:auto!important;
  height:88px!important;
  max-width:none!important;
  max-height:none!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
}

.nl-nav .nl-brand-wrap img.custom-logo,
.nl-nav .nl-brand-wrap .custom-logo-link img,
.nl-header .nl-brand-wrap img.custom-logo,
.nl-header .nl-brand-wrap .custom-logo-link img{
  width:auto!important;
  height:76px!important;
  max-width:300px!important;
  max-height:76px!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:left center!important;
  transform:none!important;
}

/* Restore footer NIKILAO to the larger pre-V17 visual size.
   Keep NIKI white / LAO yellow. */
.nl-footer .nl-footer-wordmark{
  font-size:36px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  display:inline-flex!important;
  align-items:center!important;
  margin-bottom:18px!important;
}
.nl-footer .nl-footer-wordmark .nl-niki{color:#fff!important}
.nl-footer .nl-footer-wordmark .nl-lao{color:var(--nl-brand-yellow,#f2c94c)!important}

@media(max-width:850px){
  .nl-nav .nl-logo,
  .nl-nav .nl-brand-wrap,
  .nl-header .nl-logo,
  .nl-header .nl-brand-wrap{
    min-width:82px!important;
    height:68px!important;
  }
  .nl-nav .nl-brand-wrap .custom-logo-link,
  .nl-header .nl-brand-wrap .custom-logo-link{
    height:68px!important;
  }
  .nl-nav .nl-brand-wrap img.custom-logo,
  .nl-nav .nl-brand-wrap .custom-logo-link img,
  .nl-header .nl-brand-wrap img.custom-logo,
  .nl-header .nl-brand-wrap .custom-logo-link img{
    height:58px!important;
    max-height:58px!important;
    max-width:220px!important;
  }
  .nl-footer .nl-footer-wordmark{
    font-size:32px!important;
  }
}

/* V19 — footer lower-left NIKILAO wordmark size control */
.nl-footer .nl-footer-wordmark{
  font-size:var(--nl-footer-brand,48px)!important;
  line-height:.95!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  display:inline-flex!important;
  align-items:center!important;
  margin-bottom:18px!important;
}
.nl-footer .nl-footer-wordmark .nl-niki{color:#fff!important}
.nl-footer .nl-footer-wordmark .nl-lao{color:var(--nl-brand-yellow,#f2c94c)!important}
@media(max-width:850px){
  .nl-footer .nl-footer-wordmark{font-size:min(var(--nl-footer-brand,48px),42px)!important}
}

/* V20 — user-selected footer brand size always wins */
.nl-footer .nl-footer-wordmark{
  font-size:var(--nl-footer-brand,48px)!important;
}
@media(max-width:850px){
  .nl-footer .nl-footer-wordmark{
    font-size:var(--nl-footer-brand,48px)!important;
  }
}

/* =========================================================
   V21 — exact footer wordmark bug fix
   The generic footer rule:
   .nl-footgrid ... span { font-size:14px }
   was overriding the NIKI / LAO child spans.
   The parent changed to 80px, but its children stayed 14px.
   ========================================================= */
.nl-footer .nl-footgrid .nl-footer-wordmark{
  font-size:var(--nl-footer-brand,48px)!important;
  line-height:.95!important;
}
.nl-footer .nl-footgrid .nl-footer-wordmark > .nl-niki,
.nl-footer .nl-footgrid .nl-footer-wordmark > .nl-lao{
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:inherit!important;
}
.nl-footer .nl-footgrid .nl-footer-wordmark > .nl-niki{
  color:#fff!important;
}
.nl-footer .nl-footgrid .nl-footer-wordmark > .nl-lao{
  color:var(--nl-brand-yellow,#f2c94c)!important;
}

/* V22 — living homepage: video + latest rider stories */
.nl-live-section{padding:88px 0}
.nl-live-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.nl-live-head h2{margin:8px 0 0}
.nl-live-badge{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--nl-accent);white-space:nowrap}
.nl-video-error,.nl-latest-empty{padding:28px;border:1px solid rgba(255,255,255,.2);font-size:16px}
.nl-latest-empty{border-color:rgba(0,0,0,.15)}
.nl-text-link{font-size:12px;font-weight:900;letter-spacing:.08em;text-decoration:none;color:inherit}
.nl-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.nl-latest-card{background:#fff;border:1px solid rgba(0,0,0,.1);min-width:0}
.nl-latest-photo{display:block;width:100%;aspect-ratio:4/3;background:#d9d7cf center/cover no-repeat}
.nl-latest-copy{padding:20px}
.nl-latest-copy time{font-size:11px;letter-spacing:.08em;opacity:.6}
.nl-latest-copy h3{font-size:22px!important;line-height:1.2!important;margin:9px 0 0!important}
.nl-latest-copy h3 a{color:inherit;text-decoration:none}
@media(max-width:850px){
 .nl-live-section{padding:58px 0}
 .nl-live-head{align-items:flex-start;flex-direction:column;gap:14px}
 .nl-latest-grid{grid-template-columns:1fr}
 .nl-latest-copy h3{font-size:20px!important}
}

/* V23 — 1 to 6 registered motorcycles only */
.nl-bike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.nl-bike-grid article{min-width:0}
@media(max-width:900px){.nl-bike-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.nl-bike-grid{grid-template-columns:1fr}}

/* =========================================================
   V26 — Header logo / menu user sizing
   ========================================================= */
.nl-header,
.nl-nav{
  min-height:var(--nl-header-h,88px)!important;
}
.nl-nav .nl-logo,
.nl-nav .nl-brand-wrap,
.nl-header .nl-logo,
.nl-header .nl-brand-wrap{
  height:var(--nl-header-h,88px)!important;
}
.nl-nav .nl-brand-wrap .custom-logo-link,
.nl-header .nl-brand-wrap .custom-logo-link{
  height:var(--nl-header-h,88px)!important;
}
.nl-nav .nl-brand-wrap img.custom-logo,
.nl-nav .nl-brand-wrap .custom-logo-link img,
.nl-header .nl-brand-wrap img.custom-logo,
.nl-header .nl-brand-wrap .custom-logo-link img{
  height:var(--nl-header-logo-h,50px)!important;
  max-height:var(--nl-header-logo-h,50px)!important;
  width:auto!important;
  max-width:none!important;
  object-fit:contain!important;
}
.nl-nav nav,
.nl-nav nav a,
.nl-header nav,
.nl-header nav a,
.nl-nav .menu a{
  font-size:var(--nl-nav-font,12px)!important;
}
@media(max-width:850px){
  .nl-header,.nl-nav{min-height:min(var(--nl-header-h,88px),90px)!important}
  .nl-nav .nl-logo,.nl-nav .nl-brand-wrap,.nl-header .nl-logo,.nl-header .nl-brand-wrap,
  .nl-nav .nl-brand-wrap .custom-logo-link,.nl-header .nl-brand-wrap .custom-logo-link{
    height:min(var(--nl-header-h,88px),90px)!important;
  }
  .nl-nav .nl-brand-wrap img.custom-logo,
  .nl-nav .nl-brand-wrap .custom-logo-link img,
  .nl-header .nl-brand-wrap img.custom-logo,
  .nl-header .nl-brand-wrap .custom-logo-link img{
    height:min(var(--nl-header-logo-h,50px),80px)!important;
    max-height:min(var(--nl-header-logo-h,50px),80px)!important;
  }
}

/* =========================================================
   V27 — definitive header sizing fix
   V26 bug: PHP emitted --nl-nav but CSS read --nl-nav-font.
   ========================================================= */
.nl-header,
.nl-nav{
  min-height:var(--nl-header-h,88px)!important;
}
.nl-nav .nl-logo,
.nl-nav .nl-brand-wrap,
.nl-header .nl-logo,
.nl-header .nl-brand-wrap,
.nl-nav .custom-logo-link,
.nl-header .custom-logo-link{
  height:var(--nl-header-h,88px)!important;
  max-height:none!important;
  overflow:visible!important;
}
.nl-nav img,
.nl-header img.custom-logo,
.nl-nav img.custom-logo,
.nl-nav .custom-logo-link img,
.nl-header .custom-logo-link img{
  width:auto!important;
  height:var(--nl-header-logo-h,50px)!important;
  max-height:var(--nl-header-logo-h,50px)!important;
  max-width:none!important;
  object-fit:contain!important;
}
.nl-nav nav a,
.nl-header nav a,
.nl-nav .menu a,
.nl-header .menu a,
.nl-nav .menu-item > a,
.nl-header .menu-item > a{
  font-size:var(--nl-nav,12px)!important;
  line-height:1.2!important;
}
@media(max-width:850px){
  .nl-header,.nl-nav{min-height:var(--nl-header-h,88px)!important}
  .nl-nav .nl-logo,.nl-nav .nl-brand-wrap,.nl-header .nl-logo,.nl-header .nl-brand-wrap,
  .nl-nav .custom-logo-link,.nl-header .custom-logo-link{
    height:var(--nl-header-h,88px)!important;
  }
  .nl-nav img,.nl-header img.custom-logo,.nl-nav img.custom-logo,
  .nl-nav .custom-logo-link img,.nl-header .custom-logo-link img{
    height:var(--nl-header-logo-h,50px)!important;
    max-height:var(--nl-header-logo-h,50px)!important;
  }
  .nl-nav nav a,.nl-header nav a,.nl-nav .menu a,.nl-header .menu a,
  .nl-nav .menu-item > a,.nl-header .menu-item > a{
    font-size:var(--nl-nav,12px)!important;
  }
}

/* V30 HERO slideshow — additive to V29; existing layout/features preserved */
.nl-hero{position:relative;overflow:hidden;background:none!important}
.nl-hero-slides{position:absolute;inset:0;z-index:0}
.nl-hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.1s ease;will-change:opacity}
.nl-hero-slide.is-active{opacity:1}
.nl-hero-content{position:relative;z-index:2}
.nl-hero-dots{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:9px}
.nl-hero-dot{width:34px;height:4px;padding:0;border:0;background:rgba(255,255,255,.38);cursor:pointer;transition:.25s}
.nl-hero-dot.is-active{background:#fff}
@media(max-width:850px){.nl-hero-dots{bottom:18px}.nl-hero-dot{width:26px}}
@media(prefers-reduced-motion:reduce){.nl-hero-slide{transition:none}}
\n\n/* V32 language switcher */\n.nl-lang-switcher{display:flex;align-items:center;gap:5px;margin-left:auto;white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.04em}\n.nl-lang-switcher a{display:inline-flex;align-items:center;gap:3px;padding:7px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:inherit;text-decoration:none;opacity:.72;transition:.2s ease}\n.nl-lang-switcher a:hover,.nl-lang-switcher a.is-active{opacity:1;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.09)}\n.nl-lang-switcher b{font:inherit}\n@media(max-width:900px){.nl-lang-switcher{order:4;width:100%;justify-content:center;padding:9px 0 3px;margin:0}.nl-lang-switcher a{padding:7px 10px}.nl-nav{flex-wrap:wrap}.nl-links.is-open~.nl-lang-switcher{display:flex}}\n

/* V32.1 language UI + Japanese readability fixes */
.nl-lang-switcher{font-size:10px;gap:4px}
.nl-lang-switcher a{gap:3px;padding:5px 7px;line-height:1}
.nl-lang-switcher .nl-flag,.nl-lang-switcher .nl-globe{font-size:12px;line-height:1;display:inline-block}
html[lang="ja-JP"] .nl-hero,html[lang="ja-JP"] .nl-hero h1,html[lang="ja-JP"] .nl-hero p,html[lang="ja-JP"] .nl-hero a:not(.light){color:#fff}
html[lang="ja-JP"] .nl-hero .nl-kicker{color:var(--green)}
html[lang="ja-JP"] .nl-hero .nl-btn.light{color:var(--ink)}
html[lang="ja-JP"] .nl-dark,html[lang="ja-JP"] .nl-dark h2,html[lang="ja-JP"] .nl-dark h3,html[lang="ja-JP"] .nl-dark a{color:#fff}
html[lang="ja-JP"] .nl-dark .nl-heading p,html[lang="ja-JP"] .nl-dark p{color:#c9cec8}
html[lang="ja-JP"] .nl-cinema,html[lang="ja-JP"] .nl-cinema h2,html[lang="ja-JP"] .nl-cinema p{color:#fff}
@media(max-width:900px){.nl-lang-switcher{gap:3px}.nl-lang-switcher a{padding:5px 7px}.nl-lang-switcher .nl-flag,.nl-lang-switcher .nl-globe{font-size:11px}}


/* V32.2 header sizing fix — language icons are independent from brand logo sizing. */
.nl-lang-switcher .nl-flag,.nl-lang-switcher .nl-globe{font-size:9px!important;line-height:1!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;transform:none!important}
.nl-lang-switcher{font-size:10px!important;gap:3px!important;flex:0 0 auto!important}
.nl-lang-switcher a{padding:4px 6px!important;gap:2px!important}
/* The logo slider controls only the NIKILAO brand image, never language icons. */
.nl-header .nl-nav .nl-brand-wrap img.custom-logo,
.nl-header .nl-nav .nl-brand-wrap .custom-logo-link img{
  width:auto!important;height:auto!important;
  max-height:var(--nl-header-logo-h,50px)!important;
  max-width:var(--nl-logo-w,275px)!important;
}
.nl-header .nl-nav .nl-brand-wrap,.nl-header .nl-nav .nl-logo{height:var(--nl-header-h,88px)!important}
.nl-header .nl-nav .nl-brand-wrap .custom-logo-link{height:var(--nl-header-h,88px)!important}
@media(max-width:900px){
 .nl-lang-switcher .nl-flag,.nl-lang-switcher .nl-globe{font-size:8px!important}
 .nl-lang-switcher a{padding:4px 5px!important}
 .nl-header .nl-nav .nl-brand-wrap img.custom-logo,.nl-header .nl-nav .nl-brand-wrap .custom-logo-link img{max-height:min(var(--nl-header-logo-h,50px),58px)!important;max-width:min(var(--nl-logo-w,275px),210px)!important}
}


/* V32.6 — tablet/mobile header + HERO alignment correction */
.nl-lang-mobile{display:none!important}
@media (max-width:1024px){
  /* Keep the header one compact row: brand + hamburger only. */
  .nl-header .nl-nav{
    position:relative!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    height:72px!important;
    min-height:72px!important;
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .nl-header .nl-brand-wrap,.nl-header .nl-logo,
  .nl-header .nl-brand-wrap .custom-logo-link{
    height:72px!important;
    min-height:0!important;
    flex:0 1 auto!important;
  }
  .nl-header .nl-brand-wrap img.custom-logo,
  .nl-header .nl-brand-wrap .custom-logo-link img{
    width:auto!important;
    height:auto!important;
    max-height:54px!important;
    max-width:min(var(--nl-logo-w,275px),200px)!important;
  }
  .nl-menu{
    display:block!important;
    position:relative!important;
    z-index:1002!important;
    flex:0 0 auto!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    line-height:44px!important;
    text-align:center!important;
  }
  .nl-book,.nl-lang-desktop{display:none!important}
  .nl-links{
    display:none!important;
    position:absolute!important;
    z-index:1001!important;
    top:72px!important;
    left:-16px!important;
    right:-16px!important;
    width:auto!important;
    margin:0!important;
    padding:24px 22px 20px!important;
    background:rgba(11,13,12,.97)!important;
    box-shadow:0 18px 34px rgba(0,0,0,.22)!important;
    flex-direction:column!important;
    gap:18px!important;
  }
  .nl-links.open{display:flex!important}
  .nl-links ul{display:flex!important;flex-direction:column!important;gap:18px!important;margin:0!important;padding:0!important;width:100%!important}
  .nl-links>a,.nl-links li>a{display:block!important;width:100%!important;color:#fff!important;text-align:left!important}
  .nl-lang-mobile{
    display:flex!important;
    width:100%!important;
    order:99!important;
    justify-content:flex-start!important;
    gap:8px!important;
    margin:8px 0 0!important;
    padding:16px 0 0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
  }
  .nl-lang-mobile a{width:auto!important;display:inline-flex!important;padding:7px 9px!important}
  .nl-lang-mobile .nl-flag,.nl-lang-mobile .nl-globe{font-size:10px!important}

  /* HERO remains editorial/left aligned on tablet and mobile. */
  .nl-hero{align-items:flex-end!important;text-align:left!important}
  .nl-hero .nl-wrap,.nl-hero-content{
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }
  .nl-hero-content{padding:132px 0 68px!important}
  .nl-hero h1,.nl-hero p,.nl-hero .nl-kicker{margin-left:0!important;margin-right:0!important;text-align:left!important}
  .nl-hero p{max-width:620px!important}
  .nl-hero .nl-actions{justify-content:flex-start!important;margin-left:0!important;margin-right:0!important}
}
@media (max-width:600px){
  .nl-header .nl-nav,.nl-hero .nl-wrap,.nl-hero-content{width:calc(100% - 28px)!important}
  .nl-header .nl-brand-wrap img.custom-logo,.nl-header .nl-brand-wrap .custom-logo-link img{max-height:48px!important;max-width:175px!important}
  .nl-hero{min-height:680px!important}
  .nl-hero-content{padding:118px 0 58px!important}
  .nl-hero h1{max-width:100%!important;line-height:.94!important;word-break:normal!important;overflow-wrap:break-word!important}
  html[lang="ja-JP"] .nl-hero h1{word-break:keep-all!important;overflow-wrap:anywhere!important}
  .nl-hero p{max-width:100%!important}
}


/* V32.7 — make tablet/mobile navigation immediately discoverable. */
@media (max-width:1024px){
  .nl-menu{
    width:auto!important;
    min-width:92px!important;
    height:42px!important;
    padding:0 13px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    line-height:1!important;
    border:1px solid rgba(255,255,255,.55)!important;
    border-radius:999px!important;
    background:rgba(8,10,9,.34)!important;
    color:#fff!important;
    -webkit-backdrop-filter:blur(8px)!important;
    backdrop-filter:blur(8px)!important;
    box-shadow:0 3px 16px rgba(0,0,0,.12)!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.10em!important;
    cursor:pointer!important;
  }
  .nl-header-inner .nl-menu{background:rgba(255,255,255,.08)!important}
  .nl-menu-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;line-height:1!important;letter-spacing:0!important}
  .nl-menu-label{display:inline-block!important;font:inherit!important;line-height:1!important}
  .nl-menu.is-open{background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.82)!important}
  .nl-links{padding-top:18px!important;gap:0!important}
  .nl-links>a,.nl-links li>a{
    padding:14px 2px!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    font-size:14px!important;
    font-weight:700!important;
    letter-spacing:.02em!important;
  }
  .nl-links ul{gap:0!important}
  .nl-lang-mobile{margin-top:10px!important;padding-top:16px!important}
}
@media (max-width:420px){
  .nl-menu{min-width:84px!important;height:40px!important;padding:0 11px!important;gap:7px!important;font-size:11px!important}
  .nl-menu-icon{font-size:17px!important}
}


/* V32.8 — mobile/tablet brand signature beside the NIKILAO logo. */
.nl-mobile-brand-tagline{display:none}
@media (max-width:1024px){
  .nl-header .nl-nav{gap:12px!important}
  .nl-mobile-brand-tagline{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    margin-left:-3px!important;
    color:#fff!important;
    font-size:clamp(9px,1.55vw,13px)!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.11em!important;
    white-space:nowrap!important;
    text-transform:uppercase!important;
    text-shadow:0 1px 8px rgba(0,0,0,.38)!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  .nl-header-inner .nl-mobile-brand-tagline{color:#fff!important}
  .nl-header .nl-brand-wrap{flex:0 0 auto!important;margin-right:0!important}
  .nl-menu{margin-left:auto!important}
}
@media (max-width:600px){
  .nl-header .nl-nav{gap:8px!important}
  .nl-header .nl-brand-wrap img.custom-logo,
  .nl-header .nl-brand-wrap .custom-logo-link img{
    max-width:118px!important;
    max-height:44px!important;
  }
  .nl-mobile-brand-tagline{
    font-size:9px!important;
    letter-spacing:.075em!important;
  }
  .nl-menu{min-width:78px!important;padding:0 9px!important}
}
@media (max-width:370px){
  .nl-header .nl-brand-wrap img.custom-logo,
  .nl-header .nl-brand-wrap .custom-logo-link img{max-width:102px!important}
  .nl-mobile-brand-tagline{font-size:8px!important;letter-spacing:.045em!important}
  .nl-menu{min-width:72px!important;padding:0 8px!important;gap:5px!important}
}

/* V32.9 — mobile/tablet brand line tuned to nikilao.net reference. */
@media (max-width:1024px){
  .nl-mobile-brand-tagline{
    color:#fff!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
    font-size:clamp(12px,1.75vw,15px)!important;
    font-weight:800!important;
    line-height:1.05!important;
    letter-spacing:.105em!important;
    text-transform:uppercase!important;
    text-shadow:0 1px 5px rgba(0,0,0,.55)!important;
    opacity:1!important;
  }
}
@media (max-width:600px){
  .nl-mobile-brand-tagline{
    font-size:11.5px!important;
    letter-spacing:.085em!important;
  }
}
@media (max-width:420px){
  .nl-mobile-brand-tagline{
    font-size:10.5px!important;
    letter-spacing:.065em!important;
  }
}
@media (max-width:370px){
  .nl-mobile-brand-tagline{
    font-size:9.5px!important;
    letter-spacing:.045em!important;
  }
}
\n\n/* V32.10 — reference-matched mobile NIKILAO wordmark: NIKI white / LAO yellow. */
.nl-mobile-brand-wordmark{display:none}
@media (max-width:1024px){
  /* Use a true text wordmark on compact headers so its colour/size matches the reference exactly. */
  .nl-header .nl-brand-wrap{display:none!important}
  .nl-mobile-brand-wordmark{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:baseline!important;
    white-space:nowrap!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
    font-size:clamp(20px,2.65vw,28px)!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:-.055em!important;
    text-shadow:0 1px 5px rgba(0,0,0,.55)!important;
  }
  .nl-mobile-niki{color:#fff!important}
  .nl-mobile-lao{color:#f2c94c!important}
  .nl-mobile-brand-tagline{
    margin-left:2px!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
    font-size:clamp(12px,1.62vw,15px)!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.105em!important;
    color:#fff!important;
    text-shadow:0 1px 5px rgba(0,0,0,.55)!important;
  }
}
@media (max-width:600px){
  .nl-header .nl-nav{gap:7px!important}
  .nl-mobile-brand-wordmark{font-size:20px!important}
  .nl-mobile-brand-tagline{font-size:10.5px!important;letter-spacing:.075em!important}
}
@media (max-width:420px){
  .nl-mobile-brand-wordmark{font-size:19px!important}
  .nl-mobile-brand-tagline{font-size:9.5px!important;letter-spacing:.055em!important}
  .nl-menu{min-width:74px!important;padding-left:8px!important;padding-right:8px!important}
}
@media (max-width:370px){
  .nl-header .nl-nav{gap:5px!important}
  .nl-mobile-brand-wordmark{font-size:17px!important}
  .nl-mobile-brand-tagline{font-size:8.5px!important;letter-spacing:.035em!important}
  .nl-menu{min-width:68px!important;padding-left:6px!important;padding-right:6px!important}
}

/* V32.11 — compact brand only on real touch tablet/mobile; never on desktop pointer devices. */
@media (min-width:1025px){
  .nl-mobile-brand-wordmark,.nl-mobile-brand-tagline{display:none!important}
  .nl-header .nl-brand-wrap{display:flex!important}
}
@media (max-width:1024px) and (hover:hover) and (pointer:fine){
  .nl-mobile-brand-wordmark,.nl-mobile-brand-tagline{display:none!important}
  .nl-header .nl-brand-wrap{display:flex!important;flex:0 1 auto!important}
  .nl-header .nl-brand-wrap img.custom-logo,
  .nl-header .nl-brand-wrap .custom-logo-link img{
    height:min(var(--nl-header-logo-h,50px),50px)!important;
    max-height:min(var(--nl-header-logo-h,50px),50px)!important;
    width:auto!important
  }
}
@media (max-width:1024px) and (hover:none), (max-width:850px){
  .nl-header .nl-brand-wrap{display:none!important}
  .nl-mobile-brand-wordmark{display:inline-flex!important}
}
/* Do not hard-code Japanese homepage text colors: Customizer/inline values are authoritative. */
html[lang="ja-JP"] .nl-home-view .nl-editable-text{color:inherit}
