/* Product layout v2 — tour booking UI.
 * Mobile first; desktop from 850px (Flatsome "medium" breakpoint).
 * Desktop: header → photo mosaic → main column + sticky booking aside.
 * Mobile : photo carousel → main column; booking/details become bottom sheets.
 */

/* =========================================================================
   Font fallback sized like K2D (CLS)
   K2D uses font-display: swap. Until it arrives the text renders in the
   system sans-serif (Roboto / DejaVu…), which is wider, so the title wraps to
   3 lines then snaps back to 2 and pushes the gallery (CLS ≈ 0.12–0.3).
   This fallback is Arial-metric (Arial / Liberation Sans / Helvetica) scaled
   to K2D's measured width (400: 0.9895, 700: 0.9587) and K2D's ascent /
   descent (1.05 / 0.25), so lines break the same before and after the swap.
   The final rendering is still K2D.
   ========================================================================= */

@font-face {
	font-family: "K2D Fallback";
	font-style: normal;
	font-weight: 400;
	src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans"), local("Helvetica");
	size-adjust: 98.95%;
	ascent-override: 106.1%;
	descent-override: 25.3%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "K2D Fallback";
	font-style: normal;
	font-weight: 700;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Helvetica Bold");
	size-adjust: 95.87%;
	ascent-override: 109.5%;
	descent-override: 26.1%;
	line-gap-override: 0%;
}

.nlt-pv2-product,
.nlt-pv2-product :is(h1, h2, h3, h4, h5, h6, .heading-font, .alt-font, .nav > li > a, button, input, select, textarea, .button) {
	font-family: K2D, "K2D Fallback", sans-serif;
}

/* =========================================================================
   Tokens & base
   ========================================================================= */

.nlt-pv2-product {
	--nlt-primary: #ff6b2c;
	--nlt-primary-dark: #e2551a;
	--nlt-primary-soft: #fff3ec;
	--nlt-text: #1d1d1f;
	--nlt-muted: #5f6368;
	--nlt-line: #e6e6e9;
	--nlt-panel: #f5f5f7;
	--nlt-radius: 14px;
	--nlt-sticky-top: 110px;
	color: var(--nlt-text);
	padding-bottom: 96px; /* room for the mobile booking bar */
}

.nlt-pv2 {
	padding-top: 8px;
}

.nlt-pv2 h2.nlt-section-title,
.nlt-pv2 .nlt-box__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--nlt-text);
}

.nlt-pv2 [hidden] {
	display: none !important;
}

/* =========================================================================
   Icons: Font Awesome 6 Free (solid) everywhere, one size per context.
     12px  chevrons inside text buttons (Xem thêm, Thông tin gói)
     14px  inline with body text (stats, facts, gallery button)
     16px  contact buttons
     18px  bottom bar icons
     20px  close buttons;  22px lightbox arrows
   ========================================================================= */

.nlt-pv2-product .nlt-ico {
	display: inline-block;
	flex: 0 0 auto;
	width: 1.25em;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	vertical-align: -0.1em;
}

.nlt-pv2-product .nlt-pkg-info .nlt-ico,
.nlt-pv2-product .nlt-pkgs__more .nlt-ico,
.nlt-pv2-product .nlt-readmore__btn .nlt-ico {
	width: auto;
	margin-left: 6px;
	font-size: 12px;
}

.nlt-pv2-product .nlt-contact .nlt-ico {
	font-size: 16px;
}

.nlt-pv2-product .nlt-bar__icon .nlt-ico {
	font-size: 18px;
}

.nlt-pv2-product .nlt-sheet__close .nlt-ico,
.nlt-pv2-product .nlt-tabsheet__close .nlt-ico,
.nlt-pv2-product .nlt-lightbox__close .nlt-ico {
	font-size: 20px;
}

.nlt-pv2-product .nlt-lightbox__prev .nlt-ico,
.nlt-pv2-product .nlt-lightbox__next .nlt-ico {
	font-size: 22px;
}

.nlt-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* =========================================================================
   Buttons
   ========================================================================= */

.nlt-pv2-product .nlt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}

.nlt-pv2-product .nlt-btn--primary {
	background: var(--nlt-primary);
	color: #fff;
}

.nlt-pv2-product .nlt-btn--primary:hover,
.nlt-pv2-product .nlt-btn--primary:focus-visible {
	background: var(--nlt-primary-dark);
	color: #fff;
}

.nlt-pv2-product .nlt-btn--ghost {
	border-color: var(--nlt-primary);
	background: #fff;
	color: var(--nlt-primary-dark);
}

.nlt-pv2-product .nlt-btn--ghost:hover {
	background: var(--nlt-primary-soft);
}

.nlt-pv2-product .nlt-btn--block {
	width: 100%;
}

/* =========================================================================
   Header (breadcrumb, title, stats)
   ========================================================================= */

.nlt-breadcrumb {
	margin-bottom: 8px;
	font-size: 14px;
}

.nlt-head {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}

.nlt-pv2 h1.nlt-title {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--nlt-text);
}

.nlt-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--nlt-muted);
}

.nlt-stats__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.nlt-stats__item i {
	font-size: 14px;
	line-height: 1;
	color: var(--nlt-primary);
}

.nlt-stats__item strong {
	font-weight: 700;
	color: var(--nlt-text);
}

/* =========================================================================
   Photo gallery: mobile carousel (scroll-snap) → desktop mosaic 1 + 4
   ========================================================================= */

.nlt-gallery {
	position: relative;
	margin: 0 -15px 20px; /* edge to edge on mobile */
}

.nlt-gallery__grid {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0 15px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.nlt-gallery__grid::-webkit-scrollbar {
	display: none;
}

.nlt-gallery__item {
	flex: 0 0 88%;
	margin: 0;
	scroll-snap-align: center;
}

.nlt-gallery__link {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: var(--nlt-radius);
	background: var(--nlt-panel);
}

.nlt-gallery__img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .3s ease;
}

.nlt-gallery__link:hover .nlt-gallery__img {
	transform: scale(1.03);
}

.nlt-gallery__more {
	display: none;
}

.nlt-pv2-product .nlt-gallery__all {
	position: absolute;
	right: 24px;
	bottom: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--nlt-text);
	cursor: pointer;
}

/* =========================================================================
   Layout: main + aside
   ========================================================================= */

.nlt-layout > *,
.nlt-gallery > * {
	min-width: 0;
}

.nlt-layout > .nlt-main,
.nlt-pv2 .nlt-aside {
	margin: 0;
	padding: 0; /* theme CSS adds padding to *main* class names */
}

.nlt-layout > .nlt-main {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.nlt-layout > .nlt-main > .zalo-follow-only-button:empty {
	display: none;
}

/* tour facts: icon + small label + value */
.nlt-pv2 .nlt-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nlt-pv2 .nlt-facts__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--nlt-line);
	border-radius: 12px;
	background: #fff;
}

.nlt-facts__icon {
	display: inline-flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--nlt-primary-soft);
	color: var(--nlt-primary-dark);
	font-size: 14px;
}

.nlt-facts__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.nlt-facts__label {
	font-size: 12px;
	line-height: 1.3;
	color: var(--nlt-muted);
}

.nlt-facts__value {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--nlt-text);
	overflow-wrap: anywhere;
}

/* long values: one panel, rows "icon | label | value", value wraps in its own column */
.nlt-pv2 .nlt-facts--list {
	grid-template-columns: 1fr;
	gap: 0;
	border: 1px solid var(--nlt-line);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}

.nlt-pv2 .nlt-facts--list .nlt-facts__item {
	align-items: center;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--nlt-line);
	background: transparent;
}

.nlt-pv2 .nlt-facts--list .nlt-facts__item:last-child {
	border-bottom: 0;
}

.nlt-pv2 .nlt-facts--list .nlt-facts__text {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: baseline;
	gap: 10px;
	flex: 1 1 auto;
}

.nlt-pv2 .nlt-facts--list .nlt-facts__label {
	font-size: 13px;
}

.nlt-pv2 .nlt-facts--list .nlt-facts__value {
	overflow-wrap: normal;
}

/* price note → callout (overrides the shortcode's inline red italic) */
.nlt-layout > .nlt-main > .price_note {
	margin: 0;
	padding: 10px 12px;
	border-left: 3px solid var(--nlt-primary);
	border-radius: 0 10px 10px 0;
	background: var(--nlt-primary-soft);
	color: #8a2d06 !important;
	font-size: 14px;
	font-style: normal !important;
	line-height: 1.5;
}

/* price + CTA (mobile) */
.nlt-pricebox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-radius: var(--nlt-radius);
	background: var(--nlt-panel);
}

.nlt-from {
	margin: 0;
	font-size: 14px;
	line-height: 1.3;
	color: var(--nlt-muted);
}

.nlt-from strong {
	display: inline-block;
	font-size: 24px;
	color: var(--nlt-primary-dark);
}

.nlt-pv2-product .nlt-hero__cta {
	flex: 0 0 auto;
}

/* =========================================================================
   Package cards
   ========================================================================= */

.nlt-pkgs {
	scroll-margin-top: 160px; /* clear Flatsome's sticky header */
}

.nlt-pkgs__list {
	display: grid;
	gap: 12px;
	margin: 12px 0 0;
	padding: 12px;
	list-style: none;
	border-radius: var(--nlt-radius);
	background: var(--nlt-panel);
}

.nlt-card {
	margin: 0;
	padding: 14px;
	border: 1px solid var(--nlt-line);
	border-radius: 12px;
	background: #fff;
	transition: border-color .15s, background-color .15s;
}

.nlt-card.is-active {
	border-color: var(--nlt-primary);
	background: var(--nlt-primary-soft);
}

/* name / price rows (label left, price right) / two equal buttons */
.nlt-pv2 h3.nlt-card__name {
	margin: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--nlt-line);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--nlt-text);
}

.nlt-pv2-product .nlt-card__prices {
	margin: 0;
	padding: 8px 0 0;
	list-style: none;
	font-size: 13px;
	line-height: 1.4;
	color: var(--nlt-muted);
}

.nlt-pv2-product .nlt-card__prices li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 4px 0;
}

.nlt-card__prices span {
	min-width: 0;
}

.nlt-card__prices strong {
	flex: 0 0 auto;
	font-size: 15px;
	font-weight: 700;
	color: var(--nlt-primary-dark);
	white-space: nowrap;
}

.nlt-card__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 12px;
}

.nlt-pv2-product .nlt-card .nlt-btn {
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 0 10px;
	font-size: 14px;
	line-height: 1.2;
}

/* =========================================================================
   Boxes, sheets, package details accordion
   ========================================================================= */

.nlt-box {
	border-radius: var(--nlt-radius);
}

.nlt-book {
	background: var(--nlt-panel);
	scroll-margin-top: var(--nlt-sticky-top);
}

/* booking box is always inline (never a sheet): no close button / sheet footer */
.nlt-book .nlt-sheet__close,
.nlt-book .nlt-sheet__foot {
	display: none !important;
}

.nlt-book.is-flash {
	animation: nlt-flash 1.2s ease;
}

/* link that opens the package details drawer / sheet */
.nlt-pv2-product .nlt-pkg-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 0;
	margin: -4px 0 14px;
	padding: 10px 14px;
	border: 1px dashed var(--nlt-primary);
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--nlt-primary-dark);
	cursor: pointer;
}

.nlt-pv2-product .nlt-pkg-info:hover {
	background: var(--nlt-primary-soft);
}

/* current package ("Gói đã chọn") shown in the booking box / sheet */
.nlt-current {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
	padding: 12px 14px;
	border: 1px solid var(--nlt-primary);
	border-radius: 10px;
	background: var(--nlt-primary-soft);
}

.nlt-current__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.nlt-current__label {
	font-size: 12px;
	line-height: 1.3;
	color: var(--nlt-muted);
}

.nlt-current__name {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--nlt-text);
}

.nlt-pv2-product .nlt-current__change {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--nlt-primary-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* package cards: 4 shown, the rest behind "Xem thêm N gói" (CSS-only toggle) */
.nlt-card--more {
	display: none;
}

.nlt-pkgs__toggle:checked ~ .nlt-pkgs__list .nlt-card--more {
	display: block;
}

.nlt-pv2-product .nlt-pkgs__more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 12px 0 0;
	padding: 10px 14px;
	border: 1px solid var(--nlt-line);
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: var(--nlt-primary-dark);
	cursor: pointer;
	user-select: none;
}

.nlt-pkgs__more:hover {
	background: var(--nlt-primary-soft);
}

.nlt-pkgs__toggle:focus-visible ~ .nlt-pkgs__more {
	outline: 2px solid var(--nlt-primary);
	outline-offset: 2px;
}

.nlt-pkgs__more-close,
.nlt-pkgs__toggle:checked ~ .nlt-pkgs__more .nlt-pkgs__more-open {
	display: none;
}

.nlt-pkgs__toggle:checked ~ .nlt-pkgs__more .nlt-pkgs__more-close {
	display: inline;
}

.nlt-details {
	border: 1px solid var(--nlt-line);
	background: #fff;
	scroll-margin-top: var(--nlt-sticky-top);
}

.nlt-sheet__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px 12px;
}

.nlt-sheet__body {
	padding: 0 20px 20px;
}

.nlt-pv2-product .nlt-sheet__close {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	min-height: 0;
	margin: -6px -8px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	font-size: 28px;
	line-height: 1;
	color: var(--nlt-text);
	cursor: pointer;
}

.nlt-pv2-product .nlt-sheet__close:focus {
	outline: none;
}

.nlt-pv2-product .nlt-sheet__close:focus-visible {
	outline: 2px solid var(--nlt-primary);
	outline-offset: 2px;
}

.nlt-details__pkg {
	margin: 4px 0 0;
	font-weight: 600;
	color: var(--nlt-primary-dark);
}

.nlt-sheet__foot {
	padding: 12px 20px 16px;
	border-top: 1px solid var(--nlt-line);
}

.nlt-acc {
	border-top: 1px solid var(--nlt-line);
}

.nlt-acc:first-child {
	border-top: 0;
}

.nlt-acc > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
	list-style: none;
	font-size: 18px;
	font-weight: 700;
	color: var(--nlt-primary-dark);
	cursor: pointer;
}

.nlt-acc > summary::-webkit-details-marker {
	display: none;
}

/* Font Awesome chevron-down (\f078), same family/weight as the <i> icons */
.nlt-acc > summary::after {
	content: "\f078";
	flex: 0 0 auto;
	width: 1.25em;
	font-family: "Font Awesome 6 Free";
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	transition: transform .15s;
}

.nlt-acc[open] > summary::after {
	transform: rotate(180deg);
}

.nlt-acc__body {
	padding: 0 0 14px;
	font-size: 15px;
	line-height: 1.6;
}

.nlt-acc__body ul,
.nlt-acc__body ol {
	margin: 0 0 8px 1.2em;
}

.nlt-acc__body p {
	margin: 0 0 8px;
}

/* package pills (radio look) */
.nlt-pills {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}

.nlt-pv2-product .nlt-pill {
	position: relative;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 8px 14px 8px 40px;
	border: 1px solid #c9c9cf;
	border-radius: 10px;
	background: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	color: var(--nlt-text);
	cursor: pointer;
}

.nlt-pv2-product .nlt-pill::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 14px;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border: 2px solid #b9b9c0;
	border-radius: 50%;
	background: #fff;
}

.nlt-pv2-product .nlt-pill.is-active {
	border-color: var(--nlt-primary);
	background: var(--nlt-primary-soft);
	font-weight: 700;
	color: var(--nlt-primary-dark);
}

.nlt-pv2-product .nlt-pill.is-active::before {
	border-color: var(--nlt-primary);
	background: var(--nlt-primary);
	box-shadow: inset 0 0 0 3px #fff;
}

/* aside contact links */
.nlt-aside__contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 14px;
}

.nlt-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 42px;
	border: 1px solid var(--nlt-line);
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	color: var(--nlt-primary-dark);
	text-decoration: none;
}

.nlt-contact:hover {
	border-color: var(--nlt-primary);
	color: var(--nlt-primary-dark);
}

.nlt-contact--zalo {
	color: #0068ff;
}

.nlt-from--aside {
	margin-top: 4px;
}

.nlt-from--aside strong {
	font-size: 20px;
}

/* =========================================================================
   WooCommerce + WooTour booking form (scoped to the booking box)
   ========================================================================= */

.nlt-book form.cart {
	margin: 0;
}

.nlt-book .add-to-cart-wrapper,
.nlt-book .product-summary {
	margin: 0;
}

/* hide the default variation selector when pills drive it */
.nlt-has-pkgs form.variations_form table.variations,
.nlt-has-pkgs form.variations_form .reset_variations {
	display: none !important;
}

/* WooTour wraps fields in tables; flatten only those (child combinators keep
   the date picker's own calendar table untouched). */
.nlt-book table.tour-tble,
.nlt-book table.tour-tble > tbody,
.nlt-book table.tour-tble > tbody > tr {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	background: transparent;
}

.nlt-book table.tour-tble > tbody > tr > td,
.nlt-book table.tour-tble > tbody > td {
	padding: 0;
	border: 0;
	background: transparent;
}

/* date (WooTour prints <tbody><td> without <tr>; the browser inserts it) */
.nlt-book table.date-sl > tbody > tr,
.nlt-book form.cart:not(.variations_form) > .tour-info-select {
	display: block;
	margin: 0 0 10px !important;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fff;
}

.nlt-book table.date-sl > tbody > tr > td,
.nlt-book table.date-sl > tbody > td {
	display: block;
	width: 100%;
	padding: 0 !important;
	background: transparent !important;
}

.nlt-book table.date-sl td.label,
.nlt-book table.date-sl td.label label,
.nlt-book form.cart:not(.variations_form) .wt-departure {
	display: block;
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--nlt-text);
}

.nlt-book .tour-info-select,
.nlt-book .wt-departure {
	margin: 0;
	padding: 0;
}

.nlt-book .wt-departure > span {
	position: relative;
	display: block;
	margin-top: 8px;
	font-weight: 400;
}

.nlt-book table.date-sl .wt-departure > span {
	margin-top: 0;
}

.nlt-book .wt-departure input[name="wt_date"] {
	width: 100%;
	height: 44px;
	max-height: none;
	margin: 0;
	padding: 0 48px 0 14px;
	border: 1px solid var(--nlt-line);
	border-radius: 10px;
	background: var(--nlt-panel);
	box-shadow: none;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.nlt-book .wt-departure input[name="wt_date"]:focus {
	border-color: var(--nlt-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 107, 44, .15);
}

.nlt-book .wt-departure i.wt-bticon {
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	height: 44px;
	max-height: none;
	padding: 0 16px;
	border: 0;
	background: transparent;
	color: var(--nlt-primary-dark);
	pointer-events: none;
}

.nlt-book span.wt-tickets-status:empty,
.nlt-book .woocommerce-variation-availability:empty,
.nlt-book .woocommerce-variation-description:empty {
	display: none !important;
}

/* passenger rows (simple: span._x_select, variable: table rows) */
.nlt-book .wt-user-info {
	display: block;
	width: 100%;
	margin: 0;
	line-height: 1.4;
}

.nlt-book .single_variation table.tour-tble > tbody > tr {
	display: flex !important;
}

/* simple tours: label / price stacked on the left, +/- on the right */
.nlt-book .wt-user-info > span {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.nlt-book .wt-user-info > span > .lb-pric {
	grid-column: 1;
	grid-row: 1;
}

.nlt-book .wt-user-info > span > .p-price {
	grid-column: 1;
	grid-row: 2;
}

.nlt-book .wt-user-info > span > .wt-quantity {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.nlt-book .wt-user-info > span,
.nlt-book .single_variation table.tour-tble > tbody > tr {
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
	width: 100%;
	margin: 0 0 10px !important;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fff;
	line-height: 1.4;
}

.nlt-book .single_variation table.tour-tble {
	margin: 0;
}

.nlt-book .single_variation table.tour-tble > tbody > tr > td {
	display: block;
}

.nlt-book .single_variation table.tour-tble > tbody > tr > td:first-child {
	flex: 1 1 0;
	min-width: 0;
}

.nlt-book .single_variation table.tour-tble > tbody > tr > td:last-child,
.nlt-book .wt-user-info > span > .wt-quantity {
	flex: 0 0 auto;
}

.nlt-book .lb-pric,
.nlt-book .p-price {
	display: block;
	margin: 0;
	line-height: 1.35;
}

.nlt-book .lb-pric {
	font-size: 14px;
	font-weight: 700;
	color: var(--nlt-text);
}

.nlt-book .p-price {
	margin-top: 2px;
	font-size: 15px;
}

.nlt-book .p-price,
.nlt-book .p-price .amount {
	font-weight: 700;
	color: var(--nlt-primary-dark);
}

.nlt-book .p-price del {
	display: block; /* old price on its own line: never pushes +/- out */
}

.nlt-book .p-price del,
.nlt-book .p-price del .amount {
	margin-right: 0;
	font-size: 13px;
	font-weight: 400;
	color: var(--nlt-muted);
	opacity: 1;
}

.nlt-book .p-price ins {
	text-decoration: none;
}

.nlt-book .wt-quantity {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 0 auto;
}

.nlt-book .wt-quantity > input[type=button] {
	width: 36px;
	height: 36px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--nlt-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	font-size: 20px;
	font-weight: 700;
	line-height: 34px;
	color: var(--nlt-primary-dark);
}

.nlt-book .wt-quantity > input[type=button]:hover {
	border-color: var(--nlt-primary);
	background: var(--nlt-primary-soft);
}

.nlt-book .wt-quantity > input.wt-qf {
	width: 40px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}

/* The form is a flex row: without this the variation block takes its
   content's width and pushes the +/- buttons out of the aside. */
.nlt-book form.variations_form > .single_variation_wrap {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
}

/* total + submit */
.nlt-book .woocommerce-variation-add-to-cart,
.nlt-book form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 0;
}

.nlt-book form.cart:not(.variations_form) > * {
	flex: 1 1 100%;
}

.nlt-book #product_total_price {
	flex: 1 1 100% !important;
	margin: 4px 0 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--nlt-muted);
}

.nlt-book #product_total_price .price {
	display: inline-block;
	font-size: 26px;
	font-weight: 800;
	color: var(--nlt-primary-dark);
}

.nlt-book button.single_add_to_cart_button {
	flex: 1 1 100% !important;
	width: 100%;
	min-height: 48px;
	margin: 0 !important;
	padding: 0 28px;
	border-radius: 10px;
	background: var(--nlt-primary) !important;
	font-size: 16px;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.nlt-book .quantity {
	display: none !important; /* WooTour sells one booking per line */
}

/* =========================================================================
   Date picker (pickadate classic), kept in the flow of the date card
   ========================================================================= */

.nlt-book .picker,
.nlt-book .picker__holder {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	width: 100% !important;
	max-width: 100% !important;
}

.nlt-book .picker--opened .picker__holder {
	max-height: none;
}

.nlt-book .picker__holder {
	min-width: 0;
	margin-top: 6px;
	overflow: hidden;
	border: 1px solid var(--nlt-line) !important;
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}

/* closed calendar takes no space in the date card */
.nlt-book .picker:not(.picker--opened) .picker__holder {
	margin-top: 0;
	border-width: 0 !important;
	box-shadow: none;
}

.nlt-book .picker__box {
	padding: 14px 12px 12px;
	border: 0;
}

.nlt-book .picker__header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 10px;
	padding: 0 40px;
}

.nlt-book .picker__select--year,
.nlt-book .picker__select--month {
	height: 36px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid var(--nlt-line);
	border-radius: 8px;
	background-color: #fff;
	box-shadow: none;
	font-size: 14px;
	font-weight: 700;
	color: var(--nlt-text);
}

.nlt-book .picker__nav--prev,
.nlt-book .picker__nav--next {
	top: 0;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 50%;
}

.nlt-book .picker__nav--prev {
	left: 0;
}

.nlt-book .picker__nav--next {
	right: 0;
}

.nlt-book .picker__nav--prev::before,
.nlt-book .picker__nav--next::before {
	position: relative;
	top: 50%;
	margin: 0 auto;
	border-right-color: var(--nlt-primary-dark);
	border-left-color: var(--nlt-primary-dark);
	transform: translateY(-50%);
}

.nlt-book .picker__nav--prev:hover,
.nlt-book .picker__nav--next:hover {
	background: var(--nlt-primary-soft);
}

.nlt-book .picker__table {
	margin: 0;
}

.nlt-book .picker__table td {
	padding: 0;
	border: 0 !important;
}

.nlt-book .picker__weekday {
	padding: 4px 0 8px;
	border: 0 !important;
	background: transparent !important;
	font-size: 11px !important;
	font-weight: 700;
	white-space: nowrap;
	text-transform: none;
	color: var(--nlt-muted) !important;
}

.nlt-book .picker__day {
	height: 40px;
	margin: 2px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	line-height: 40px;
}

.nlt-book .picker__day--infocus {
	color: var(--nlt-text);
}

.nlt-book .picker__day--outfocus {
	color: #c4c4c8;
}

.nlt-book .picker__day--infocus:hover,
.nlt-book .picker__day--outfocus:hover {
	background: var(--nlt-primary-soft);
	color: var(--nlt-primary-dark);
}

.nlt-book .picker__day--today::before {
	border-top-color: var(--nlt-primary);
}

.nlt-book .picker__day--highlighted {
	border: 0;
	background: var(--nlt-primary-soft);
	color: var(--nlt-primary-dark);
}

.nlt-book .picker__day--selected,
.nlt-book .picker__day--selected:hover,
.nlt-book .picker--focused .picker__day--selected {
	background: var(--nlt-primary);
	color: #fff;
}

.nlt-book .picker__day--disabled,
.nlt-book .picker__day--disabled:hover,
.nlt-book .picker--focused .picker__day--disabled {
	background: transparent;
	color: #d0d0d4;
	cursor: not-allowed;
}

.nlt-book .picker__footer {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--nlt-line);
}

.nlt-book .picker__button--today,
.nlt-book .picker__button--clear,
.nlt-book .picker__button--close {
	flex: 1 1 0;
	margin: 0;
	padding: 8px 4px;
	border: 1px solid var(--nlt-line);
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	color: var(--nlt-text);
}

.nlt-book .picker__button--today::before,
.nlt-book .picker__button--clear::before,
.nlt-book .picker__button--close::before {
	display: none;
}

/* =========================================================================
   Content (description tabs, FAQ, reviews)
   ========================================================================= */

.nlt-content {
	margin-top: 16px;
}

/* tabs wrapper is also a .container inside our .container: drop the double gutter */
.nlt-content .woocommerce-tabs.container,
.nlt-content .woocommerce-tabs {
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

/* Flatsome tab links use `transition: all`: when the async CSS lands, padding /
   border / radius get animated too (forced reflow). Keep the hover fade only. */
.nlt-content .woocommerce-tabs .tabs > li > a {
	transition-property: color, background-color, opacity;
}

/* long description: collapsed with a fade, toggled by JS ("Xem thêm") */
.nlt-readmore {
	position: relative;
	overflow: hidden;
}

.nlt-readmore.is-collapsed {
	max-height: 700px !important;
}

@media (min-width: 850px) {
	.nlt-readmore.is-collapsed {
		max-height: 900px !important;
	}
}

.nlt-readmore.is-collapsed::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 140px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 85%);
	pointer-events: none;
}

.nlt-pv2-product .nlt-readmore__btn {
	display: flex;
	min-width: 180px;
	margin: 8px auto 0;
}

.nlt-faq,
.nlt-reviews {
	margin-top: 32px;
}

.nlt-reviews .nlt-section-title {
	margin-bottom: 12px;
}

/* =========================================================================
   Mobile booking bar
   ========================================================================= */

.nlt-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 990;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	box-shadow: 0 -4px 18px rgba(0, 0, 0, .08);
}

.nlt-bar__price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.3;
	color: var(--nlt-muted);
}

.nlt-bar__price strong {
	font-size: 18px;
	font-weight: 800;
	color: var(--nlt-primary-dark);
}

.nlt-bar__price span:empty {
	display: none;
}

.nlt-bar__actions {
	display: flex;
	gap: 10px;
}

/* icon on top, small label under it (same size for Gọi and Zalo) */
.nlt-bar__icon {
	display: inline-flex;
	flex: 0 0 52px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 44px;
	border: 1px solid var(--nlt-line);
	border-radius: 10px;
	color: var(--nlt-primary-dark);
	text-decoration: none;
}

.nlt-bar__label {
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
}

.nlt-bar__icon--zalo {
	color: #0068ff;
}

.nlt-pv2-product .nlt-bar__cta {
	flex: 1 1 auto;
}

/* =========================================================================
   Lightbox (<dialog>)
   ========================================================================= */

.nlt-lightbox {
	width: 100vw;
	max-width: 100vw;
	height: 100vh;
	max-height: 100vh;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
}

.nlt-lightbox::backdrop {
	background: rgba(0, 0, 0, .92);
}

.nlt-lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 100%;
	margin: 0;
	padding: 56px 16px 24px;
}

.nlt-lightbox__img {
	max-width: 100%;
	max-height: calc(100vh - 110px);
	border-radius: 8px;
	object-fit: contain;
}

.nlt-lightbox__count {
	font-size: 14px;
	color: #ddd;
}

.nlt-pv2-product .nlt-lightbox__btn {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
	font-size: 32px;
	line-height: 1;
	color: #fff;
	cursor: pointer;
}

.nlt-pv2-product .nlt-lightbox__btn:hover,
.nlt-pv2-product .nlt-lightbox__btn:focus-visible {
	background: rgba(255, 255, 255, .3);
}

.nlt-lightbox__close {
	top: 12px;
	right: 12px;
}

.nlt-lightbox__prev,
.nlt-lightbox__next {
	top: 50%;
	margin-top: -24px !important;
}

.nlt-lightbox__prev {
	left: 12px;
}

.nlt-lightbox__next {
	right: 12px;
}

/* =========================================================================
   Mobile (< 850px): bottom sheets
   ========================================================================= */

/* phone/Zalo live in the booking aside (desktop) and bar (mobile); the floating
   contact buttons would cover the booking column */
body.nlt-pv2 #button-contact-vr {
	display: none !important;
}

@media (max-width: 849px) {
	/* Package flow (like Klook): cards on the page → "Chọn" opens a full-screen
	   sheet with tabs "Chi tiết | Lựa chọn" (#nlt-details / #nlt-booking). */

	.nlt-has-pkgs .nlt-pills,
	.nlt-aside__contact {
		display: none; /* packages come from the cards; the bar has call + Zalo */
	}

	.nlt-tabsheet {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 100002; /* above Flatsome's sticky header */
		display: flex;
		align-items: stretch;
		height: 52px;
		border-bottom: 1px solid var(--nlt-line);
		background: #fff;
	}

	.nlt-tabsheet[hidden] {
		display: none;
	}

	.nlt-tabsheet__tabs {
		display: flex;
		flex: 1 1 auto;
	}

	.nlt-pv2-product .nlt-tabsheet__tab,
	.nlt-pv2-product .nlt-tabsheet__close {
		min-height: 0;
		margin: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		letter-spacing: 0;
		text-transform: none;
		cursor: pointer;
	}

	.nlt-pv2-product .nlt-tabsheet__tab {
		flex: 1 1 0;
		padding: 0 8px;
		border-bottom: 3px solid transparent;
		font-size: 16px;
		font-weight: 600;
		color: var(--nlt-text);
	}

	.nlt-pv2-product .nlt-tabsheet__tab.is-active {
		border-bottom-color: var(--nlt-primary);
		color: var(--nlt-primary-dark);
	}

	.nlt-pv2-product .nlt-tabsheet__close {
		flex: 0 0 52px;
		padding: 0;
		font-size: 28px;
		line-height: 1;
		color: var(--nlt-text);
	}

	/* both panels: full screen under the tab header */
	.nlt-sheet {
		position: fixed;
		top: 52px;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100001;
		display: flex;
		flex-direction: column;
		margin: 0;
		border: 0;
		border-radius: 0;
		background: #fff;
		box-shadow: none;
		visibility: hidden;
		transform: translateY(100%);
	}

	.nlt-sheet.is-open {
		visibility: visible;
		transform: none;
		animation: nlt-sheet-in .22s ease;
	}

	.nlt-book.nlt-sheet {
		background: var(--nlt-panel); /* white cards (date, passengers) on grey */
	}

	.nlt-sheet .nlt-sheet__close {
		display: none; /* the tab header has the close button */
	}

	.nlt-has-pkgs .nlt-sheet__head {
		display: none; /* "Gói đã chọn" box names the package */
	}

	.nlt-details .nlt-sheet__head {
		display: flex;
		padding: 16px 16px 10px;
	}

	.nlt-sheet__body,
	.nlt-book .nlt-sheet__body {
		flex: 1 1 auto;
		padding: 16px 16px 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.nlt-details .nlt-sheet__foot {
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	}

	/* total + "Đặt ngay" stay at the bottom of the booking panel */
	.nlt-book .woocommerce-variation-add-to-cart,
	.nlt-book form.cart:not(.variations_form) > button.single_add_to_cart_button {
		position: sticky;
		bottom: 0;
		z-index: 2;
	}

	.nlt-book .woocommerce-variation-add-to-cart {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 3;
		margin: 0;
		padding: 10px 16px calc(12px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--nlt-line);
		background: #fff;
		box-shadow: 0 -4px 18px rgba(0, 0, 0, .06);
	}

	.nlt-book.nlt-has-pkgs .nlt-sheet__body {
		padding-bottom: 140px; /* room for the fixed total + "Đặt ngay" */
	}

	.nlt-book #product_total_price {
		margin: 0;
		font-size: 14px;
	}

	.nlt-book #product_total_price .price {
		font-size: 22px;
	}

	.nlt-book form.cart:not(.variations_form) > button.single_add_to_cart_button {
		margin-bottom: 12px !important;
	}

	.nlt-backdrop {
		display: none !important;
	}

	html.nlt-lock,
	html.nlt-lock body {
		overflow: hidden;
	}

	html.nlt-tabsheet-open .nlt-bar {
		display: none;
	}
}

@keyframes nlt-sheet-in {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 380px) {
	.nlt-pv2 .nlt-facts {
		grid-template-columns: 1fr;
	}

	.nlt-pv2-product .nlt-hero__cta {
		flex: 1 1 100%;
	}
}

/* =========================================================================
   Desktop (>= 850px)
   ========================================================================= */

@media (min-width: 850px) {
	.nlt-pv2-product {
		padding-bottom: 0;
	}

	.nlt-pv2 h1.nlt-title {
		font-size: 30px;
	}

	.nlt-mobile-only,
	.nlt-bar,
	.nlt-pkgs--single {
		display: none !important;
	}

	/* gallery mosaic: 1 large + 4 small */
	.nlt-gallery {
		margin: 0 0 28px;
	}

	.nlt-gallery__grid {
		display: grid;
		grid-template-columns: 2fr 1fr 1fr;
		grid-template-rows: 210px 210px;
		gap: 8px;
		padding: 0;
		overflow: hidden;
	}

	.nlt-gallery__item {
		min-height: 0;
	}

	.nlt-gallery__item:first-child {
		grid-row: 1 / span 2;
	}

	.nlt-gallery__item:nth-child(n + 6) {
		display: none;
	}

	.nlt-gallery__link {
		border-radius: 0;
	}

	.nlt-gallery__grid > :first-child .nlt-gallery__link {
		border-radius: var(--nlt-radius) 0 0 var(--nlt-radius);
	}

	.nlt-gallery__grid > :nth-child(3) .nlt-gallery__link {
		border-top-right-radius: var(--nlt-radius);
	}

	.nlt-gallery__grid > :nth-child(5) .nlt-gallery__link {
		border-bottom-right-radius: var(--nlt-radius);
	}

	.nlt-gallery__img {
		aspect-ratio: auto;
	}

	.nlt-gallery__more {
		position: absolute;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgba(0, 0, 0, .45);
		font-size: 22px;
		font-weight: 700;
		color: #fff;
	}

	.nlt-pv2-product .nlt-gallery__all {
		right: 14px;
		bottom: 14px;
	}

	/* main + sticky aside */
	.nlt-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 32px;
		align-items: start;
	}

	.nlt-layout > .nlt-main {
		gap: 20px;
	}

	.nlt-pv2 .nlt-facts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.nlt-pv2 .nlt-facts--list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* 2-col panel: vertical divider, and no bottom line on the last row */
	.nlt-pv2 .nlt-facts--list .nlt-facts__item:nth-child(odd) {
		border-right: 1px solid var(--nlt-line);
	}

	.nlt-pv2 .nlt-facts--list .nlt-facts__item:nth-last-child(-n+2):nth-child(odd),
	.nlt-pv2 .nlt-facts--list .nlt-facts__item:nth-last-child(1):nth-child(even) {
		border-bottom: 0;
	}

	.nlt-pkgs__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 14px;
	}

	.nlt-aside {
		position: sticky;
		top: var(--nlt-sticky-top);
	}

	.nlt-book {
		max-height: calc(100vh - var(--nlt-sticky-top) - 20px);
		overflow-y: auto;
		border: 1px solid var(--nlt-line);
		box-shadow: 0 8px 28px rgba(0, 0, 0, .06);
		scrollbar-width: thin;
	}

	.nlt-book .nlt-sheet__head {
		padding: 20px 20px 12px;
	}

	.nlt-book .nlt-sheet__body {
		padding: 0 20px 20px;
	}

	/* package details: drawer sliding in from the right (content stays in the
	   HTML for search engines, only hidden off-canvas until opened) */
	.nlt-details.nlt-sheet {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 100001; /* above Flatsome's sticky header */
		display: flex;
		flex-direction: column;
		width: min(560px, 92vw);
		margin: 0;
		border: 0;
		border-radius: 0;
		background: #fff;
		box-shadow: -10px 0 36px rgba(0, 0, 0, .18);
		visibility: hidden;
		transform: translateX(105%);
		transition: transform .28s ease, visibility 0s .28s;
	}

	.nlt-details.nlt-sheet.is-open {
		visibility: visible;
		transform: none;
		transition: transform .28s ease;
	}

	.nlt-details .nlt-sheet__head {
		align-items: center;
		padding: 18px 24px;
		border-bottom: 1px solid var(--nlt-line);
	}

	.nlt-details .nlt-sheet__body {
		flex: 1 1 auto;
		padding: 8px 24px 16px;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
	}

	.nlt-details .nlt-sheet__foot {
		padding: 14px 24px 18px;
	}

	.nlt-backdrop {
		position: fixed;
		inset: 0;
		z-index: 100000;
		background: rgba(0, 0, 0, .45);
	}

	html.nlt-lock,
	html.nlt-lock body {
		overflow: hidden;
	}

}

@media (max-width: 849px) {
	.nlt-desktop-only {
		display: none !important;
	}
}

@keyframes nlt-flash {
	0%,
	100% {
		box-shadow: 0 8px 28px rgba(0, 0, 0, .06);
	}

	30% {
		box-shadow: 0 0 0 4px rgba(255, 107, 44, .35);
	}
}

@media (prefers-reduced-motion: reduce) {
	.nlt-sheet,
	.nlt-sheet.is-open,
	.nlt-gallery__img {
		transition: none;
	}

	.nlt-book.is-flash {
		animation: none;
	}
}
