: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,76px)!important;
  max-height:var(--nl-header-logo-h,76px)!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,76px),80px)!important;
    max-height:min(var(--nl-header-logo-h,76px),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,76px)!important;
  max-height:var(--nl-header-logo-h,76px)!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,76px)!important;
    max-height:var(--nl-header-logo-h,76px)!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}}
