/* NZTour Itinerary Manager — front-end itinerary v0.1.52 FINAL */
.nztim-front{
	--nztim-ink:#18242e;
	
	
	--nztim-line:#e5e9ec;
	--nztim-soft:#f7f9fa;
	--nztim-accent:#1b7f8b;
	--nztim-accent-soft:#eaf6f7;
	--nztim-warm:#b66a12;
	--nztim-warm-soft:#fff5e8;
	--nztim-radius:18px;
	max-width:1180px;
	margin:34px auto 0;
	
	font-size:14px;
	line-height:1.65;
}
.nztim-front *{box-sizing:border-box}
.nztim-front a{box-shadow:none!important}
.nztim-front-overview{
	
	
	
	
	
	
}
.nztim-front-eyebrow{
	display:block;
	
	
	
	
	
}
.nztim-front-overview-title{display:flex;align-items:center;flex-wrap:wrap;}
.nztim-front-overview-title strong{}
.nztim-front-overview-title span{
	display:inline-flex;
	align-items:center;
	
	
	
	
	
	
	
	
}
.nztim-front-overview-summary{}
.nztim-front-overview-summary p{margin:0 0 7px}
.nztim-front-overview-summary p:last-child{margin-bottom:0}
.nztim-front-day-nav{
	
	
	
	
	
	
}
.nztim-front-day-nav a{
	
	
	
	
	
	
	
	
	
	
}
.nztim-front-day-nav a:hover{}
.nztim-front-day-nav span{}
.nztim-front-day-nav small{}
.nztim-front-days{display:grid;}
.nztim-front-day{
	scroll-margin-top:88px;
	border:1px solid var(--nztim-line);
	
	background:#fff;
	overflow:hidden;
	
}
.nztim-front-day-head{
	display:grid;
	
	
	
	
	
	
}
.nztim-front-day-index{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	
	
	
	color:var(--nztim-accent);
}
.nztim-front-day-index span{}
.nztim-front-day-index strong{}
.nztim-front-day-kicker{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:5px;}
.nztim-front-day-area,.nztim-front-day-count{
	display:inline-flex;
	align-items:center;
	min-height:23px;
	padding:3px 8px;
	border-radius:999px;
	font-size:11px;
	font-weight:700;
}
.nztim-front-day-area{}
.nztim-front-day-count{border:1px solid var(--nztim-line);}
.nztim-front-day-heading h3{}
.nztim-front-day-summary{}
.nztim-front-day-summary p{margin:0 0 7px}
.nztim-front-day-summary p:last-child{margin-bottom:0}
.nztim-front-items{padding:8px 24px 22px}
.nztim-front-item{
	--nztim-item-accent:var(--nztim-accent);
	--nztim-item-soft:var(--nztim-accent-soft);
	position:relative;
	display:grid;
	
	
	
}
.nztim-front-item-rail{position:relative;display:flex;justify-content:center}
.nztim-front-item-rail:after{
	content:"";
	position:absolute;
	
	
	width:1px;
	
}
.nztim-front-item:last-child .nztim-front-item-rail:after{display:none}
.nztim-front-dot{
	position:relative;
	z-index:1;
	display:block;
	
	
	
	border:3px solid #fff;
	border-radius:50%;
	background:var(--nztim-item-accent);
	box-shadow:0 0 0 2px color-mix(in srgb,var(--nztim-item-accent) 35%,#fff);
}
.nztim-front-time{
	
	
	
	font-variant-numeric:tabular-nums;
	
}
.nztim-front-time.is-empty{}
.nztim-front-item-card{
	min-width:0;
	
	border:1px solid #e7ebee;
	
	background:#fff;
	
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.nztim-front-item-card:hover{}
.nztim-front-item-top{display:flex;align-items:center;}
.nztim-front-type-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 30px;
	
	
	
	background:var(--nztim-item-soft);
	color:var(--nztim-item-accent);
	
	font-weight:800;
	line-height:1;
}
.nztim-front-meta{display:flex;align-items:center;flex-wrap:wrap;min-width:0;}
.nztim-front-type,.nztim-front-status,.nztim-front-location{
	display:inline-flex;
	align-items:center;
	min-height:22px;
	padding:3px 8px;
	border-radius:999px;
	font-size:10px;
	font-weight:750;
	line-height:1.2;
}
.nztim-front-type{color:var(--nztim-item-accent);}
.nztim-front-location{}
.nztim-front-status{}
.nztim-front-body{min-width:0;}
.nztim-front-body h4{padding:0!important;color:var(--nztim-ink)!important;}
.nztim-front-subtitle{}
.nztim-front-details{display:flex;align-items:center;flex-wrap:wrap;}
.nztim-front-details span{display:inline-flex;align-items:baseline;gap:5px}
.nztim-front-details strong{}
.nztim-front-details .is-address{flex-basis:100%;}
.nztim-front-type-facts{display:flex;flex-wrap:wrap;}
.nztim-front-type-facts span{
	display:inline-flex;
	align-items:baseline;
	gap:5px;
	
	
	border:1px solid var(--nztim-line);
	
	
	color:#5d6974;
	
	line-height:1.35;
}
.nztim-front-type-facts strong{color:#2f3b46;font-weight:850;letter-spacing:.02em;}
.nztim-front-body-layout.has-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);align-items:start;}
.nztim-front-body-copy{min-width:0}
.nztim-front-content{overflow-wrap:anywhere;}
.nztim-front-content p{margin:0 0 9px}
.nztim-front-content p:last-child{margin-bottom:0}
.nztim-front-content a{text-decoration:underline;text-underline-offset:2px}
.nztim-front-content img{max-width:100%;height:auto;border-radius:12px}
.nztim-front-content h5{margin:14px 0 6px!important;font-size:14px!important;color:var(--nztim-ink)!important}
.nztim-front-content li{margin:4px 0;line-height:1.6}
.nztim-front-content ul,.nztim-front-content ol{margin:7px 0 10px 20px}
.nztim-front-content > div[style*="display:flex"],
.nztim-front-content > div[style*="display: flex"]{
	display:grid!important;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px;
	padding:14px 15px;
	border:1px solid var(--nztim-line);
	border-radius:12px;
	background:var(--nztim-soft);
}
.nztim-front-content > div[style*="display:flex"] > div,
.nztim-front-content > div[style*="display: flex"] > div{margin-left:0!important;min-width:0}
.nztim-front-media{margin:0;overflow:hidden;border-radius:13px;background:var(--nztim-soft);aspect-ratio:16/10}
.nztim-front-media img{display:block;width:100%;height:100%;object-fit:cover}
.nztim-front-body .nztim-unresolved-content{display:inline-flex;padding:4px 8px;border-radius:6px;background:#fcf0f1;color:#8a2424;font-size:12px;font-weight:700}

/* Type-specific accents */
.nztim-type-attraction{--nztim-item-accent:#2d6f9f;--nztim-item-soft:#edf5fb}
.nztim-type-activity{--nztim-item-accent:#7450a4;--nztim-item-soft:#f4effa}
.nztim-type-recommended_activity{--nztim-item-accent:#b66a12;--nztim-item-soft:#fff5e8}
.nztim-type-transport{--nztim-item-accent:#34785d;--nztim-item-soft:#edf7f2}
.nztim-type-arrival{--nztim-item-accent:#4f7f94;--nztim-item-soft:#edf6f8}
.nztim-type-meal{--nztim-item-accent:#9a641a;--nztim-item-soft:#fff5e6}
.nztim-type-accommodation{--nztim-item-accent:#785c43;--nztim-item-soft:#f7f1ec}
.nztim-type-golf{--nztim-item-accent:#2e7144;--nztim-item-soft:#edf7ef}
.nztim-type-trekking{--nztim-item-accent:#4b7357;--nztim-item-soft:#eef6f0}
.nztim-type-rental{--nztim-item-accent:#526d7e;--nztim-item-soft:#eff4f7}
.nztim-type-flight{--nztim-item-accent:#4964a2;--nztim-item-soft:#eef1fb}
.nztim-type-meeting{--nztim-item-accent:#9a526b;--nztim-item-soft:#fbf0f4}
.nztim-type-free_time{--nztim-item-accent:#67737d;--nztim-item-soft:#f1f3f4}
.nztim-type-note{--nztim-item-accent:#68727a;--nztim-item-soft:#f3f4f5}

/* v0.1.41 - classic map-pin icon for arrival Items */
.nztim-type-arrival .nztim-front-type-icon{position:relative;font-size:0}
.nztim-type-arrival .nztim-front-type-icon:before{
	content:"";
	display:block;
	width:12px;
	height:12px;
	border:2px solid currentColor;
	border-radius:50% 50% 50% 0;
	transform:rotate(-45deg);
	box-sizing:border-box;
}
.nztim-type-arrival .nztim-front-type-icon:after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:3px;
	height:3px;
	border-radius:50%;
	background:currentColor;
	transform:translate(-50%,-58%);
}

@media(max-width:767px){
	.nztim-front{margin-top:24px;font-size:13px}
	.nztim-front-overview{padding:19px 16px 15px;border-radius:15px}
	.nztim-front-overview-title strong{font-size:21px}
	.nztim-front-day-nav{margin-top:14px}
	.nztim-front-day-nav a{min-width:100px;max-width:158px}
	.nztim-front-day{border-radius:15px}
	.nztim-front-day-head{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:18px 16px}
	.nztim-front-day-index{min-height:58px;border-radius:13px}
	.nztim-front-day-index strong{font-size:22px}
	.nztim-front-day-heading h3{font-size:20px!important}
	.nztim-front-items{padding:6px 13px 16px}
	.nztim-front-item{grid-template-columns:18px minmax(0,1fr);gap:9px;padding:11px 0}
	.nztim-front-item-rail{grid-row:1 / span 2}
	.nztim-front-item-rail:after{bottom:-25px}
	.nztim-front-dot{margin-top:18px}
	.nztim-front-time{grid-column:2;padding:0 0 1px 4px;color:var(--nztim-item-accent);font-size:12px}
	.nztim-front-item-card{grid-column:2;padding:14px;border-radius:13px}
	.nztim-front-item-top{margin-bottom:7px}
	.nztim-front-body{padding-left:0}
	.nztim-front-body h4{font-size:17px!important}
	.nztim-front-body-layout.has-media{grid-template-columns:1fr;gap:12px}
	.nztim-front-media{order:-1;aspect-ratio:16/9}
	.nztim-front-content > div[style*="display:flex"],
	.nztim-front-content > div[style*="display: flex"]{grid-template-columns:1fr;gap:8px;padding:12px}
}
@media(max-width:480px){
	.nztim-front-day-head{grid-template-columns:1fr}
	.nztim-front-day-index{width:58px}
	.nztim-front-day-kicker{margin-top:1px}
}

/* =========================================================
   v0.1.17 — itinerary context + TTBM product detail bridge
   ========================================================= */
.nztim-front-advisory{
	display:grid;align-items:start;
	
	
}
.nztim-front-advisory span{
	display:inline-flex;align-items:center;
	letter-spacing:.03em;white-space:nowrap;
}
.nztim-front-advisory p{}







body.nztim-modern-product.single-ttbm_tour #info,
body.nztim-modern-product.single-ttbm_tour #timeline,
body.nztim-modern-product.single-ttbm_tour #bookinginfo,
body.nztim-modern-product.single-ttbm_tour #conditions{scroll-margin-top:90px}

body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard{
	width:100%!important;max-width:1180px!important;margin:0 auto 28px!important;padding:0!important;background:transparent!important;
}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourIncludes{
	display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleInclude{
	display:grid!important;grid-template-columns:minmax(115px,.32fr) minmax(0,1fr);gap:12px 18px;align-items:start;min-width:0;
	margin:0!important;padding:15px 16px!important;border:1px solid #e4e8eb!important;border-radius:14px!important;background:#fff!important;
	box-shadow:0 5px 18px rgba(24,36,46,.035)!important;
}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleIncludeTitle{
	margin:0!important;padding:1px 0 0!important;color:#6d7881!important;font-size:11px!important;font-weight:800!important;line-height:1.45!important;letter-spacing:.01em;
}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleIncludeContent{
	min-width:0;margin:0!important;padding:0!important;color:#26343f!important;font-size:13px!important;line-height:1.65!important;
}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleIncludeContent>span{display:block}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleIncludeContent ul{margin:0!important;padding-left:18px!important}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleIncludeContent li{margin:3px 0!important;line-height:1.6!important}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleInclude:has(.btIncludedItems),
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleInclude:has(.btExcludedItems){grid-column:1/-1}
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder>.product>.short_description{
	max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;
}
body.nztim-modern-product.single-ttbm_tour .info-container{
	max-width:1180px!important;margin:0 auto 28px!important;padding:18px 20px!important;border:1px solid #e4e8eb!important;
	border-radius:14px!important;background:#fff!important;box-shadow:0 5px 18px rgba(24,36,46,.035)!important;color:#40505d;line-height:1.7;
}

@media(max-width:767px){
	.nztim-front-advisory{grid-template-columns:1fr;gap:6px;padding:11px 12px}
	.nztim-front-advisory span{justify-self:start}
	
	
	body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourIncludes{grid-template-columns:1fr!important;gap:8px!important}
	body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleInclude{grid-template-columns:1fr!important;gap:5px!important;padding:13px 14px!important;border-radius:12px!important}
	body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourSingleIncludeTitle{font-size:10px!important;color:#7b858d!important}
	body.nztim-modern-product.single-ttbm_tour .info-container{padding:15px!important;border-radius:12px!important}
}



/* =========================================================
   v0.1.18 — NZTour product information redesign
   Existing TTBM fields are regrouped by frontend.js only while
   the new itinerary preview/live mode is active.
   ========================================================= */
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard{
    --nzt-info-ink:#1c2933;
    --nzt-info-text:#43515c;
    --nzt-info-muted:#74808a;
    --nzt-info-line:#e4e9ec;
    --nzt-info-soft:#f7f9fa;
    --nzt-info-accent:#1b7f8b;
    --nzt-info-accent-soft:#eef8f8;
    --nzt-info-positive:#246b55;
    --nzt-info-positive-soft:#f0f8f4;
    --nzt-info-negative:#a3444f;
    --nzt-info-negative-soft:#fff5f5;
}
body.nztim-modern-product.single-ttbm_tour .btTourSingleItemStandard .btTourIncludes.nztim-enhanced-product-info{
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section{
    margin:0 0 26px;
    padding:0;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section:last-child{margin-bottom:0}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin:0 0 12px;
    padding:0 2px;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section-head h3{
    margin:0!important;
    color:var(--nzt-info-ink)!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1.35!important;
    letter-spacing:-.015em;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section-head p{
    max-width:520px;
    margin:0!important;
    color:var(--nzt-info-muted)!important;
    font-size:12px!important;
    line-height:1.55!important;
    text-align:right;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleInclude.nztim-info-card{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:10px 16px!important;
    align-items:start!important;
    min-height:0!important;
    margin:0!important;
    padding:16px 17px!important;
    border:1px solid var(--nzt-info-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(24,36,46,.035)!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleInclude.nztim-info-card::before,
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleInclude.nztim-info-card::after{
    display:none!important;
    content:none!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeTitle{
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    padding:2px 0!important;
    border:0!important;
    color:var(--nzt-info-muted)!important;
    background:transparent!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1.45!important;
    letter-spacing:.01em!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeContent{
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--nzt-info-text)!important;
    background:transparent!important;
    font-size:13.5px!important;
    line-height:1.68!important;
    overflow-wrap:anywhere;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeContent>span{display:block!important}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeContent ul{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeContent li{
    position:relative;
    margin:4px 0!important;
    padding:0 0 0 16px!important;
    line-height:1.62!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeContent li::before{
    position:absolute;
    left:0;
    top:0;
    content:"•";
    color:#7a8993;
    font-weight:900;
}

/* Core cards: compact, no tall empty areas. */
body.nztim-modern-product.single-ttbm_tour .is-core-section .nztim-product-info-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleInclude.nztim-info-card{
    display:block!important;
    padding:15px 16px!important;
}
body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleIncludeTitle{
    margin-bottom:5px!important;
    color:#75818a!important;
    font-size:10.5px!important;
    text-transform:none!important;
}
body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleIncludeContent{
    color:var(--nzt-info-ink)!important;
    font-size:13.5px!important;
    font-weight:650!important;
}
body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleInclude[data-nztim-label="간략일정"],
body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleInclude[data-nztim-label="숙소"]{
    grid-column:span 2;
}

/* Included / excluded are visually important and receive their own full cards. */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid{
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleInclude.nztim-info-card{
    
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleIncludeTitle{
    margin-bottom:11px!important;
    
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .is-included{
    border-color:#d9ebe3!important;
    background:linear-gradient(135deg,#fff 0%,var(--nzt-info-positive-soft) 100%)!important;
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .is-excluded{
    border-color:#efdfe1!important;
    background:linear-gradient(135deg,#fff 0%,var(--nzt-info-negative-soft) 100%)!important;
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
    
    
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .is-included li::before{
    content:"✓"!important;
    color:var(--nzt-info-positive)!important;
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .is-excluded li::before{
    content:"×"!important;
    color:var(--nzt-info-negative)!important;
}

/* Logistics stays compact; long preparation content becomes full width. */
body.nztim-modern-product.single-ttbm_tour .is-logistics-section .nztim-product-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
body.nztim-modern-product.single-ttbm_tour .is-preparation-section .nztim-product-info-grid{
    grid-template-columns:1fr;
}
body.nztim-modern-product.single-ttbm_tour .is-preparation-section .btTourSingleInclude.nztim-info-card{
    grid-template-columns:130px minmax(0,1fr)!important;
}
body.nztim-modern-product.single-ttbm_tour .is-preparation-section .btTourSingleIncludeContent ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px 22px!important;
}

/* Intro and navigation: slightly stronger hierarchy than v0.1.17. */
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder>.product>.short_description{
    margin-top:0!important;
    margin-bottom:24px!important;
    color:#475661!important;
    font-size:14px!important;
    line-height:1.78!important;
}


@media(max-width:991px){
    body.nztim-modern-product.single-ttbm_tour .is-core-section .nztim-product-info-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleInclude[data-nztim-label="간략일정"],
    body.nztim-modern-product.single-ttbm_tour .is-core-section .btTourSingleInclude[data-nztim-label="숙소"]{
        grid-column:auto;
    }
}
@media(max-width:767px){
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section{margin-bottom:22px}
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section-head{
        display:block;
        margin-bottom:10px;
        padding:0 1px;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section-head h3{font-size:17px!important}
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section-head p{
        margin-top:3px!important;
        max-width:none;
        font-size:11px!important;
        text-align:left;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-grid,
    body.nztim-modern-product.single-ttbm_tour .is-core-section .nztim-product-info-grid,
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid,
    body.nztim-modern-product.single-ttbm_tour .is-logistics-section .nztim-product-info-grid{
        grid-template-columns:1fr!important;
        gap:8px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleInclude.nztim-info-card,
    body.nztim-modern-product.single-ttbm_tour .is-preparation-section .btTourSingleInclude.nztim-info-card{
        display:block!important;
        padding:14px!important;
        border-radius:12px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeTitle{
        margin-bottom:5px!important;
        font-size:10.5px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-product-info-section .btTourSingleIncludeContent{
        font-size:13px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems,
    body.nztim-modern-product.single-ttbm_tour .is-preparation-section .btTourSingleIncludeContent ul{
        grid-template-columns:1fr!important;
        gap:3px!important;
    }
    
}

/* =========================================================
   v0.1.19 — unified product detail navigation / editorial sections
   ========================================================= */








body.nztim-modern-product.single-ttbm_tour .nztim-product-intro,
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section{
    width:100%;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-intro{
    position:relative;
    margin-top:0!important;
    margin-bottom:30px!important;
    padding:25px 27px!important;
    border:1px solid #e3e8eb;
    border-radius:18px;
    background:linear-gradient(135deg,#fff 0%,#fbfcfd 100%);
    box-shadow:0 10px 30px rgba(24,36,46,.045);
    color:#43515c;
    line-height:1.78;
}
body.nztim-modern-product.single-ttbm_tour .nztim-product-intro>.nztim-detail-section-head{
    margin-bottom:16px;
    padding-bottom:15px;
    border-bottom:1px solid #edf0f2;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section{
    margin-top:30px!important;
    margin-bottom:34px!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section-head{
    margin:0 0 13px;
    padding:0 2px;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-eyebrow{
    display:block;
    margin-bottom:4px;
    color:#1b7f8b;
    font-size:10px;
    font-weight:850;
    line-height:1.2;
    letter-spacing:.13em;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section-head h2{
    margin:0!important;
    padding:0!important;
    color:#1c2933!important;
    font-size:22px!important;
    font-weight:820!important;
    line-height:1.35!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section-head p{
    margin:5px 0 0!important;
    color:#74808a;
    font-size:12px;
    line-height:1.6;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section .info-container{
    max-width:none!important;
    margin:0!important;
    padding:22px 24px!important;
    border:1px solid #e3e8eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 26px rgba(24,36,46,.04)!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section.is-booking-section .info-container{
    border-top:3px solid #79bfc6!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section.is-conditions-section .nztim-detail-eyebrow{
    color:#a36a24;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section.is-conditions-section .info-container{
    border-top:3px solid #ddb56d!important;
    background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content{
    color:#43515c;
    font-size:13px;
    line-height:1.75;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content p{
    margin:0 0 10px;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content p:last-child{
    margin-bottom:0;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content h1,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content h2,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content h3,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content h4,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content h5,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content h6{
    margin:18px 0 8px!important;
    color:#26343f!important;
    font-weight:800!important;
    line-height:1.45!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content ul,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content ol{
    margin:8px 0 12px!important;
    padding-left:21px!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content li{
    margin:5px 0!important;
    line-height:1.68!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content li::marker{
    color:#1b7f8b;
}
body.nztim-modern-product.single-ttbm_tour .nztim-detail-section.is-conditions-section .nztim-rich-content li::marker{
    color:#b77b2f;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content table{
    width:100%;
    margin:12px 0!important;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid #e4e9ec;
    border-radius:12px;
    overflow:hidden;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content th,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content td{
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #edf0f2!important;
    text-align:left;
    vertical-align:top;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content tr:last-child th,
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content tr:last-child td{
    border-bottom:0!important;
}
body.nztim-modern-product.single-ttbm_tour .nztim-rich-content th{
    background:#f7f9fa;
    color:#596771;
    font-weight:800;
}

@media(max-width:767px){
    
    
    body.nztim-modern-product.single-ttbm_tour .nztim-product-intro{
        margin-bottom:24px!important;
        padding:19px 17px!important;
        border-radius:15px;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-detail-section{
        margin-top:24px!important;
        margin-bottom:28px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-detail-section-head h2{
        font-size:19px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-detail-section .info-container{
        padding:17px!important;
        border-radius:14px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-rich-content{
        font-size:12.5px;
    }
    body.nztim-modern-product.single-ttbm_tour .nztim-rich-content table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }
}


/* =========================================================
   v0.1.20 — long additional-info progressive disclosure
   ========================================================= */
body.nztim-modern-product.single-ttbm_tour .nztim-info-card.is-expandable-info{
	position:relative;
}
body.nztim-modern-product.single-ttbm_tour .nztim-expandable-info-body{
	position:relative;
	overflow:hidden;
	transition:max-height .25s ease;
}
body.nztim-modern-product.single-ttbm_tour .nztim-info-card.is-collapsed-info .nztim-expandable-info-body{
	max-height:235px;
}
body.nztim-modern-product.single-ttbm_tour .nztim-info-card.is-collapsed-info .nztim-expandable-info-body:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:72px;
	pointer-events:none;
	background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 80%);
}
body.nztim-modern-product.single-ttbm_tour .nztim-info-card.is-expandable-info:not(.is-collapsed-info) .nztim-expandable-info-body{
	max-height:5000px;
}
body.nztim-modern-product.single-ttbm_tour .nztim-expandable-info-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:36px;
	margin-top:12px;
	padding:7px 13px;
	border:1px solid #d7dfe3;
	border-radius:9px;
	background:#fff;
	color:#42515e;
	font:inherit;
	font-size:12px;
	font-weight:750;
	line-height:1.2;
	cursor:pointer;
}
body.nztim-modern-product.single-ttbm_tour .nztim-expandable-info-toggle:hover{
	border-color:#b9c7cd;
	background:#f8fafb;
}


/* =========================================================
   v0.1.21 — itinerary browsing controls
   ========================================================= */
.nztim-front-day-head{position:relative}
.nztim-front-day-toggle{
	
	justify-self:end;
	
	
	border:1px solid var(--nztim-line);
	
	background:#fff;
	
	font:inherit;
	
	
	line-height:1.2;
	cursor:pointer;
	transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.nztim-front-day-toggle:hover{
	
	
	
}
.nztim-front-day.is-collapsed .nztim-front-items{display:none}
.nztim-front-day.is-collapsed .nztim-front-day-head{border-bottom:0}
.nztim-front-view-controls{
	
	
	
	
}
.nztim-front-view-controls button{
	
	
	
	
	
	
	
	
	
	
	
}
.nztim-front-view-controls button:hover{color:var(--nztim-accent);}
.nztim-front-day-nav a.is-active{
	
	
	
}
.nztim-front-day-nav a.is-active small{}
.nztim-front-day-nav{}
.nztim-front-day-nav a{}

@media(min-width:768px){
	.nztim-front-day-head{grid-template-columns:74px minmax(0,1fr) auto}
}
@media(max-width:767px){
	.nztim-front-day-toggle{
		position:absolute;
		right:14px;
		top:14px;
	}
	.nztim-front-day-heading{padding-right:64px}
}
@media(max-width:480px){
	.nztim-front-day-toggle{right:12px;top:12px}
	.nztim-front-day-heading{padding-right:0;padding-top:4px}
	.nztim-front-day-index{margin-right:74px}
}
@media print{
	.nztim-front-day-nav,.nztim-front-view-controls,.nztim-front-day-toggle{display:none!important}
	.nztim-front-day.is-collapsed .nztim-front-items{display:block!important}
	.nztim-front-day{break-inside:avoid-page;box-shadow:none}
	.nztim-front-item-card{box-shadow:none}
}


/* =========================================================
   v0.1.23 — Included / Excluded responsive columns
   Desktop 3 columns / Tablet 2 / Mobile 1
   ========================================================= */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
    
    
    column-gap:28px!important;
    row-gap:8px!important;
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems > li,
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems > li{
    min-width:0;
    margin:0!important;
    overflow-wrap:anywhere;
}

@media (max-width:991px) and (min-width:768px){
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        column-gap:22px!important;
    }
}

@media (max-width:767px){
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
        grid-template-columns:1fr!important;
        gap:5px!important;
    }
}

/* =========================================================
   v0.1.24 — Structured Content Library front-end
   ========================================================= */
.nztim-library-content{}
.nztim-library-head{justify-content:space-between;margin-bottom:10px;}
.nztim-library-head h4{}
.nztim-library-location{}
.nztim-library-hours{}
.nztim-library-hours span{}
.nztim-library-hours strong{}
.nztim-library-summary{}
.nztim-library-summary p{margin:0}
.nztim-library-body{line-height:1.75;}
.nztim-library-body p:first-child{margin-top:0}
.nztim-library-body p:last-child{}
.nztim-library-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;}
.nztim-library-gallery.is-single{}
.nztim-library-gallery img{display:block;width:100%;object-fit:cover;}
.nztim-library-gallery.is-single img{height:auto;}
@media(max-width:767px){
  .nztim-library-head{flex-direction:column}
  .nztim-library-hours{min-width:0;width:100%}
  .nztim-library-gallery{grid-template-columns:1fr 1fr}
  .nztim-library-gallery img{height:130px}
}


/* =========================================================
   v0.1.25 — modern itinerary content: scan first, expand details
   ========================================================= */
.nztim-library-content.is-context-title-matched{
    
}
.nztim-library-content.is-context-title-matched .nztim-library-head{
    margin-bottom:8px;
}
.nztim-library-summary{
    
}
.nztim-library-details{
    
    
    
}
.nztim-library-details > summary{
    
    
    
    
    list-style:none;
    cursor:pointer;
    
    
    
    user-select:none;
}
.nztim-library-details > summary::-webkit-details-marker{display:none}
.nztim-library-details > summary:before{
    content:"+";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    
    
    
    
    
    
    
    line-height:1;
}
.nztim-library-details[open] > summary:before{content:"−"}
.nztim-library-details-inner{
    
}
.nztim-library-details .nztim-library-body{
    margin-top:0;
}
.nztim-library-details .nztim-library-gallery{
    
}
@media(max-width:767px){
    .nztim-library-content{padding:14px}
    .nztim-library-details > summary{min-height:38px}
}


/* =========================================================
   v0.1.26 — Expected accommodation guide card
   ========================================================= */
body .nztim-front-item.nztim-type-accommodation .nztim-front-item-card{
	border-color:#e5ddd5;
	background:linear-gradient(180deg,#fff 0%,#fdfaf7 100%);
}
body .nztim-front-item.nztim-type-accommodation .nztim-front-type-facts{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:8px;
}
body .nztim-front-item.nztim-type-accommodation .nztim-front-type-facts span{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:2px;
	min-height:48px;
	padding:8px 10px;
}
body .nztim-front-item.nztim-type-accommodation .nztim-front-type-facts strong{
	color:#707982;
}

.nztim-front-stay-note{
	display:flex;
	gap:10px;
	align-items:flex-start;
	margin:2px 0 13px;
	
	border:1px solid #eadfd4;
	border-radius:10px;
	background:#fbf7f3;
	color:#6b5c50;
	font-size:11px;
	line-height:1.55;
}
.nztim-front-stay-note strong{
	flex:0 0 auto;
	color:#6a4e39;
	font-size:11px;
	font-weight:850;
	white-space:nowrap;
}
.nztim-front-stay-note span{min-width:0}

@media(max-width:767px){
	body .nztim-front-item.nztim-type-accommodation .nztim-front-type-facts{
		grid-template-columns:1fr;
	}
	.nztim-front-stay-note{
		display:block;
	}
	.nztim-front-stay-note strong{
		display:block;
		margin-bottom:3px;
	}
}


/* =========================================================
   v0.1.27 — accommodation library selections
   ========================================================= */
.nztim-front-stay-selection{
	margin:4px 0 10px;
	padding:13px 14px;
	border:1px solid #e5ddd5;
	border-radius:11px;
	background:#fffaf5;
}
.nztim-front-stay-label{
	display:block;
	margin-bottom:4px;
	color:#8a6b50;
	font-size:10px;
	font-weight:850;
	letter-spacing:.06em;
	text-transform:uppercase;
}
.nztim-front-stay-selection>strong{
	
	
	
	
}
.nztim-front-stay-meta{
	
	
	
	
}
.nztim-front-stay-meta span{
	display:inline-flex;
	padding:4px 7px;
	border-radius:999px;
	background:#f3ece5;
	color:#6e5b4b;
	font-size:10px;
	font-weight:650;
}
@media(max-width:767px){
	.nztim-front-stay-selection>strong{font-size:14px}
}


/* v0.1.28 — compact expected-stay + day meal summary */
.nztim-front-stay-selection{margin-top:4px}
.nztim-front-stay-selection>strong{display:block;font-size:18px;line-height:1.45;color:#232a27}
.nztim-front-stay-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:7px;color:#737b77;font-size:12px}
.nztim-front-stay-meta span+span{position:relative}
.nztim-front-stay-meta span+span:before{content:"·";position:absolute;left:-9px;color:#a1a8a4}
.nztim-front-stay-note{margin-top:11px;padding:9px 11px}
.nztim-front-day-meals{display:grid;grid-template-columns:135px 1fr;gap:18px;margin:18px 0 2px 108px;padding:15px 17px;border:1px solid #e4e8e5;border-radius:14px;background:#fbfcfb}
.nztim-front-day-meals-title{display:flex;flex-direction:column;gap:2px;justify-content:center}
.nztim-front-day-meals-title span{font-size:9px;letter-spacing:.14em;color:#8a928e;font-weight:800}
.nztim-front-day-meals-title strong{font-size:13px;color:#353d39}
.nztim-front-day-meals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nztim-front-day-meal{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;row-gap:2px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #edf0ee}
.nztim-front-day-meal>span{grid-row:1 / span 2;font-size:10px;font-weight:800;color:#7a827e}
.nztim-front-day-meal>strong{font-size:12px;color:#252c29;line-height:1.35}
.nztim-front-day-meal>em{font-size:10px;font-style:normal;color:#7a827e;line-height:1.2}
@media(max-width:767px){.nztim-front-day-meals{grid-template-columns:1fr;margin-left:0;padding:13px}.nztim-front-day-meals-title{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}.nztim-front-day-meals-grid{grid-template-columns:1fr}.nztim-front-stay-meta span+span:before{display:none}}

/* =========================================================
   v0.1.30 — Combined day Stay + Meals summary
   ========================================================= */
.nztim-front-day-stay-meal{
	
	
	
	
	
}
.nztim-front-day-stay-meal-title{
	
	
	
	margin-bottom:13px;
}
.nztim-front-day-stay-meal-title span{}
.nztim-front-day-stay-meal-title strong{}
.nztim-front-day-stay-meal-content{
	
	flex-wrap:wrap;
	
}
.nztim-front-day-stay,.nztim-front-day-stay-meal .nztim-front-day-meals{
	flex:1 1 360px;
	min-width:0;
	margin:0;
	padding:13px 14px;
	border:1px solid #e8ece9;
	border-radius:12px;
	background:#fff;
	display:block;
}
.nztim-front-day-info-label{
	
	margin-bottom:8px;
	
	
	
	
}
.nztim-front-day-stay-names{}
.nztim-front-day-stay-names strong{}
.nztim-front-day-stay-names>span{}
.nztim-front-day-stay-meta{}
.nztim-front-day-stay-meta span+span{position:relative}
.nztim-front-day-stay-meta span+span:before{content:"·";position:absolute;left:-8px;color:#a5aca8}
.nztim-front-day-stay-meal .nztim-front-day-meals-grid{}
.nztim-front-day-stay-meal .nztim-front-day-meal{
	
	
	
	
	
	
	
	
}
.nztim-front-day-stay-meal .nztim-front-day-meal>span{}
.nztim-front-day-stay-meal .nztim-front-day-meal>strong{}
.nztim-front-day-stay-meal .nztim-front-day-meal>em{}
.nztim-front-day-stay-note{}
.nztim-front-stay-names{display:grid;gap:3px}
.nztim-front-stay-or{font-size:10px;font-weight:750;color:#9a7c5e}
@media(max-width:767px){
	.nztim-front-day-stay-meal{margin-left:0;padding:14px}
	.nztim-front-day-stay-meal-content{display:block}
	.nztim-front-day-stay,.nztim-front-day-stay-meal .nztim-front-day-meals{margin-bottom:10px}
	.nztim-front-day-stay-meal .nztim-front-day-meals{margin-bottom:0}
	.nztim-front-day-stay-meal .nztim-front-day-meals-grid{grid-template-columns:1fr}
	.nztim-front-day-stay-meta span+span:before{display:none}
}


/* =========================================================
   v0.1.36 — inclusion alignment + itinerary typography polish
   ========================================================= */

/* 포함/불포함: 제목은 왼쪽 라벨 열, 내용은 오른쪽 본문 열로 정렬합니다. */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid{
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleInclude.nztim-info-card{
    
    grid-template-columns:120px minmax(0,1fr)!important;
    gap:12px 20px!important;
    align-items:start!important;
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleIncludeTitle{
    
    
    
    
    
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
    
    
    
    
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleIncludeContent li{
    color:#3d4a55!important;
    font-weight:500!important;
}

/* 일정표 본문은 기존 분위기를 유지하면서 대비만 한 단계 높입니다. */
.nztim-front{
    --nztim-text:#34434f;
    --nztim-muted:#64717b;
    color:var(--nztim-text);
}
.nztim-front-day-summary,
.nztim-front-subtitle{
    color:#586772!important;
    font-weight:500;
}
.nztim-front-details{
    
    font-weight:500;
}
.nztim-front-content{
    
    font-weight:500;
}
.nztim-library-summary{
    
    
}
.nztim-library-body{
    color:#3f4d58;
    font-weight:500;
}
.nztim-front-day-stay-meta,
.nztim-front-day-meal>em,
.nztim-front-day-stay-note{
    color:#626d67;
}

@media(max-width:1100px){
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:767px){
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleInclude.nztim-info-card{
        display:block!important;
        padding:14px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleIncludeTitle{
        margin-bottom:7px!important;
        font-size:11px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
    body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
        grid-template-columns:1fr!important;
        gap:4px!important;
    }
}


/* =========================================================
   v0.1.37 — 포함/불포함 비교형 2열 + 전체 펼치기/접기 보완
   ========================================================= */

/* Desktop: 포함내용 | 불포함내용 두 개의 큰 컬럼으로 비교합니다. */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid{
	
	
	
	align-items:stretch!important;
}

/* v0.1.36의 왼쪽 라벨열 구조를 해제하고 카드 안에서 제목을 상단에 둡니다. */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleInclude.nztim-info-card{
	display:block!important;
	min-width:0!important;
	padding:18px 20px!important;
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleIncludeTitle{
	display:block!important;
	margin:0 0 12px!important;
	padding:0 0 10px!important;
	border-bottom:1px solid #e7ece9!important;
	color:#3f4b53!important;
	font-size:13px!important;
	font-weight:850!important;
	line-height:1.45!important;
}

/* 각 컬럼 내부에서는 목록을 한 줄씩 충분한 폭으로 읽게 합니다. */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btIncludedItems,
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btExcludedItems{
	display:grid!important;
	grid-template-columns:1fr!important;
	gap:8px!important;
	align-items:start!important;
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleIncludeContent li{
	margin:0!important;
	line-height:1.65!important;
	overflow-wrap:anywhere;
}

/* 전체 펼치기/접기는 기능을 쉽게 이해할 수 있게 한 그룹으로 유지합니다. */
.nztim-front-view-controls{
	
	
	
	
}
.nztim-front-view-controls button{
	
}

/* 좁은 화면에서는 포함 → 불포함 순서로 1열. */
@media(max-width:767px){
	body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid{
		grid-template-columns:1fr!important;
		gap:12px!important;
	}
	body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .btTourSingleInclude.nztim-info-card{
		padding:16px!important;
	}
}


/* =========================================================
   v0.1.38 — 포함/불포함 2열 강제 정상화 + 일정 전체 펼치기 버튼
   ========================================================= */
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
	gap:16px!important;
}
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid > .btTourSingleInclude:has(.btIncludedItems),
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid > .btTourSingleInclude:has(.btExcludedItems),
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid > .btTourSingleInclude.is-included,
body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid > .btTourSingleInclude.is-excluded{
	grid-column:auto!important;
	width:auto!important;
	min-width:0!important;
}
.nztim-front-view-controls{
	
	
	
	
	
}
.nztim-front-view-controls button{
	
	
	
	
	
	
	
	
	
	
	
	
	
}
.nztim-front-view-controls button:hover{
	border-color:#bcc8cf;
	background:#f8faf9;
}
@media(max-width:767px){
	body.nztim-modern-product.single-ttbm_tour .is-inclusions-section .nztim-product-info-grid{
		grid-template-columns:1fr!important;
	}
}


/* =========================================================
   v0.1.39 — 포함/불포함 실제 내용 폭 + 한국어 줄바꿈 정상화
   ========================================================= */

/* 두 카드 안의 실제 본문이 카드 폭 전체를 사용하도록 강제합니다.
   이전 스타일의 width:auto / 내부 grid 규칙이 남아 있어 내용 폭이
   불필요하게 좁아지던 문제를 여기서 최종적으로 해제합니다. */
body.nztim-modern-product.single-ttbm_tour
.is-inclusions-section
.btTourSingleInclude.nztim-info-card
.btTourSingleIncludeContent{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	margin:0!important;
	padding:0!important;
	box-sizing:border-box!important;
}

/* 포함/불포함 목록 자체도 카드의 가용 폭 전체를 사용합니다. */
body.nztim-modern-product.single-ttbm_tour
.is-inclusions-section
.btTourSingleInclude.nztim-info-card
.btTourSingleIncludeContent > ul,
body.nztim-modern-product.single-ttbm_tour
.is-inclusions-section
.btTourSingleInclude.nztim-info-card
ul.btIncludedItems,
body.nztim-modern-product.single-ttbm_tour
.is-inclusions-section
.btTourSingleInclude.nztim-info-card
ul.btExcludedItems{
	display:grid!important;
	grid-template-columns:minmax(0,1fr)!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	margin:0!important;
	padding:0!important;
	gap:8px!important;
	box-sizing:border-box!important;
}

/* 한국어 단어를 중간에서 끊지 않습니다.
   영문 URL 등 공백 없는 긴 문자열만 최후의 수단으로 줄바꿈합니다. */
body.nztim-modern-product.single-ttbm_tour
.is-inclusions-section
.btTourSingleInclude.nztim-info-card
.btTourSingleIncludeContent li{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	margin:0!important;
	padding-left:17px!important;
	box-sizing:border-box!important;
	white-space:normal!important;
	word-break:keep-all!important;
	overflow-wrap:break-word!important;
	line-break:auto!important;
	line-height:1.7!important;
}

/* 체크/엑스 아이콘은 기존 위치를 유지하되 본문 폭을 침범하지 않게 합니다. */
body.nztim-modern-product.single-ttbm_tour
.is-inclusions-section
.btTourSingleInclude.nztim-info-card
.btTourSingleIncludeContent li::before{
	left:0!important;
}

/* 태블릿에서도 카드 두 개를 유지하되 너무 좁아지는 시점에는 한 열로 전환합니다. */
@media(max-width:860px){
	body.nztim-modern-product.single-ttbm_tour
	.is-inclusions-section
	.nztim-product-info-grid{
		grid-template-columns:1fr!important;
	}
}

/* v0.1.42 — controlled inline emphasis from the itinerary/content editors */
.nztim-front .nztim-text-accent{color:var(--nztim-accent);font-weight:700}
.nztim-front .nztim-text-danger{color:#b42318;font-weight:700}
.nztim-front .nztim-text-info{color:#1d5f8c;font-weight:700}
@media print{
	.nztim-front .nztim-text-accent,.nztim-front .nztim-text-danger,.nztim-front .nztim-text-info{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* =========================================================
   v0.1.45 — Customer itinerary top-area design finish
   기능/데이터/상단 TTBM 탭은 변경하지 않고 일정표 자체 상단만 정리합니다.
   ========================================================= */
.nztim-front{
    margin-top:30px;
}
.nztim-front-overview{
    margin-bottom:22px;
    padding:22px 24px 18px;
    border:1px solid #e2e7ea;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 26px rgba(24,36,46,.045);
}
.nztim-front-eyebrow{
    margin-bottom:6px;
    font-size:9.5px;
    font-weight:850;
    letter-spacing:.14em;
    color:var(--nztim-accent);
}
.nztim-front-overview-title{
    gap:9px;
}
.nztim-front-overview-title strong{
    font-size:22px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:-.025em;
    color:var(--nztim-ink);
}
.nztim-front-overview-title span{
    min-height:24px;
    padding:3px 9px;
    border:1px solid #d8ecee;
    border-radius:999px;
    background:#f0f8f9;
    font-size:10.5px;
    font-weight:850;
    letter-spacing:.04em;
    color:var(--nztim-accent);
}
.nztim-front-overview-summary{
    max-width:900px;
    margin-top:9px;
    color:#5f6c76;
    font-size:13px;
    line-height:1.7;
}
.nztim-front-advisory{
    grid-template-columns:auto minmax(0,1fr);
    gap:8px 12px;
    margin-top:14px;
    padding:10px 12px;
    border:1px solid #e3eaec;
    border-radius:10px;
    background:#f8fafb;
    color:#596873;
}
.nztim-front-advisory span{
    min-height:22px;
    padding:2px 7px;
    border-radius:7px;
    background:#eaf5f6;
    font-size:10px;
    font-weight:850;
    color:#176f79;
}
.nztim-front-advisory p{
    margin:1px 0 0;
    font-size:12px;
    line-height:1.6;
}
.nztim-front-view-controls{
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:12px;
}
.nztim-front-view-controls button{
    appearance:none;
    min-width:92px;
    min-height:34px;
    padding:7px 13px;
    border:1px solid #d8e0e4;
    border-radius:8px;
    background:#fff;
    color:#40505b;
    font:inherit;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
    transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.nztim-front-view-controls .nztim-front-expand-all{
    border-color:#2a8791;
    background:#2a8791;
    color:#fff;
}
.nztim-front-view-controls .nztim-front-expand-all:hover{
    border-color:#216f78;
    background:#216f78;
    color:#fff;
    box-shadow:0 4px 12px rgba(42,135,145,.14);
}
.nztim-front-view-controls .nztim-front-collapse-all:hover{
    border-color:#bcc8cf;
    background:#f7f9fa;
    color:#2f414d;
}
.nztim-front-day-nav{
    display:flex;
    gap:9px;
    overflow-x:auto;
    margin:16px 0 0;
    padding:14px 0 3px;
    border-top:1px solid #edf0f2;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
}
.nztim-front-day-nav a{
    flex:0 0 auto;
    min-width:164px;
    max-width:238px;
    min-height:58px;
    padding:9px 11px;
    border:1px solid #e0e6e9;
    border-radius:10px;
    background:#fff;
    color:var(--nztim-ink)!important;
    text-decoration:none!important;
    scroll-snap-align:start;
    transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.nztim-front-day-nav a:hover{
    transform:translateY(-1px);
    border-color:#bfd7da;
    background:#fbfdfd;
    box-shadow:0 5px 14px rgba(24,36,46,.045)!important;
}
.nztim-front-day-nav a.is-active{
    border-color:#acd2d6;
    background:#eef8f9;
    box-shadow:none!important;
}
.nztim-front-day-nav span{
    display:block;
    font-size:9.5px;
    font-weight:850;
    letter-spacing:.08em;
    color:var(--nztim-accent);
}
.nztim-front-day-nav small{
    display:-webkit-box;
    margin-top:4px;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    white-space:normal;
    text-overflow:ellipsis;
    font-size:11.5px;
    line-height:1.4;
    color:#53616c;
}
.nztim-front-day-nav a.is-active small{
    color:#29434a;
}

@media(max-width:767px){
    .nztim-front{margin-top:24px}
    .nztim-front-overview{
        padding:17px 15px 14px;
        border-radius:14px;
    }
    .nztim-front-overview-title strong{
        font-size:20px;
    }
    .nztim-front-overview-title span{
        min-height:22px;
        font-size:10px;
    }
    .nztim-front-advisory{
        grid-template-columns:1fr;
        gap:5px;
        margin-top:12px;
        padding:10px 11px;
    }
    .nztim-front-advisory span{
        justify-self:start;
    }
    .nztim-front-view-controls{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
        margin-top:11px;
    }
    .nztim-front-view-controls button{
        width:100%;
        min-width:0;
        min-height:35px;
    }
    .nztim-front-day-nav{
        gap:8px;
        margin-top:14px;
        padding-top:12px;
    }
    .nztim-front-day-nav a{
        min-width:148px;
        max-width:190px;
        min-height:56px;
        padding:9px 10px;
    }
}


/* =========================================================
   v0.1.46 — Day header design finish + default expanded view
   기능 구조는 유지하고 Day 헤더의 시각적 우선순위만 정리합니다.
   ========================================================= */
.nztim-front-days{
    gap:20px;
}
.nztim-front-day{
    border-color:#e2e7ea;
    border-radius:16px;
    box-shadow:0 7px 24px rgba(24,36,46,.04);
}
.nztim-front-day-head{
    grid-template-columns:62px minmax(0,1fr) auto;
    gap:15px;
    align-items:center;
    padding:18px 20px;
    border-bottom:1px solid #e9edef;
    background:#fff;
}
.nztim-front-day-index{
    min-height:58px;
    border:1px solid #d9ecee;
    border-radius:12px;
    background:#eef8f9;
}
.nztim-front-day-index span{
    font-size:8.5px;
    font-weight:850;
    letter-spacing:.11em;
}
.nztim-front-day-index strong{
    margin-top:2px;
    font-size:23px;
    font-weight:800;
    line-height:1;
}
.nztim-front-day-heading{
    min-width:0;
    padding:0!important;
}
.nztim-front-day-kicker{
    gap:6px;
    margin:0 0 5px;
}
.nztim-front-day-area,
.nztim-front-day-count{
    min-height:21px;
    padding:2px 7px;
    border-radius:6px;
    font-size:10px;
    font-weight:750;
    line-height:1.25;
}
.nztim-front-day-area{
    background:#f2f5f6;
    color:#5b6974;
}
.nztim-front-day-count{
    border-color:#e1e6e9;
    background:#fff;
    color:#7b858d;
}
.nztim-front-day-heading h3{
    margin:0!important;
    padding:0!important;
    font-size:21px!important;
    font-weight:800!important;
    line-height:1.38!important;
    letter-spacing:-.025em!important;
    color:var(--nztim-ink)!important;
}
.nztim-front-day-summary{
    max-width:920px;
    margin-top:6px;
    color:#67747e;
    font-size:12.5px;
    line-height:1.65;
}
.nztim-front-day-toggle{
    align-self:center;
    min-width:54px;
    min-height:31px;
    padding:5px 9px;
    border-color:#dde3e6;
    border-radius:7px;
    color:#65727c;
    font-size:10.5px;
    font-weight:800;
}
.nztim-front-day-toggle:hover{
    border-color:#bfd5d8;
    background:#f7fbfb;
    color:#236f78;
}
.nztim-front-items{
    padding-top:7px;
}

@media(max-width:767px){
    .nztim-front-days{gap:16px}
    .nztim-front-day{border-radius:14px}
    .nztim-front-day-head{
        grid-template-columns:52px minmax(0,1fr);
        gap:12px;
        align-items:start;
        padding:15px 14px;
    }
    .nztim-front-day-index{
        min-height:52px;
        border-radius:10px;
    }
    .nztim-front-day-index strong{font-size:21px}
    .nztim-front-day-heading{
        padding-right:58px!important;
    }
    .nztim-front-day-heading h3{
        font-size:18px!important;
        line-height:1.42!important;
    }
    .nztim-front-day-summary{
        margin-top:5px;
        font-size:12px;
        line-height:1.6;
    }
    .nztim-front-day-toggle{
        top:14px;
        right:14px;
        min-width:50px;
        min-height:30px;
    }
}

@media(max-width:480px){
    .nztim-front-day-heading{padding-right:0!important}
    .nztim-front-day-index{margin-right:56px}
    .nztim-front-day-toggle{top:14px;right:14px}
}

/* =========================================================
   v0.1.47 — Itinerary item card visual finish
   기능/데이터 구조는 유지하고 카드 안 정보 우선순위만 정리합니다.
   ========================================================= */
.nztim-front-item{
    grid-template-columns:22px 62px minmax(0,1fr);
    gap:10px;
    padding:12px 0;
}
.nztim-front-item-rail:after{
    top:21px;
    bottom:-27px;
    background:#e2e7ea;
}
.nztim-front-dot{
    width:9px;
    height:9px;
    margin-top:16px;
    border-width:3px;
}
.nztim-front-time{
    padding-top:13px;
    font-size:12.5px;
    font-weight:800;
    line-height:1.35;
    color:#31414c;
}
.nztim-front-time.is-empty{
    color:#a9b1b7;
}
.nztim-front-item-card{
    padding:15px 16px 16px;
    border-color:#e3e8eb;
    border-radius:13px;
    box-shadow:0 4px 14px rgba(24,36,46,.03);
}
.nztim-front-item-card:hover{
    transform:none;
    border-color:#d6dfe3;
    box-shadow:0 6px 18px rgba(24,36,46,.045);
}
.nztim-front-item-top{
    gap:8px;
    margin-bottom:7px;
}
.nztim-front-type-icon{
    flex-basis:27px;
    width:27px;
    height:27px;
    border-radius:8px;
    font-size:14px;
}
.nztim-front-meta{
    gap:5px;
}
.nztim-front-type,
.nztim-front-status,
.nztim-front-location{
    min-height:20px;
    padding:2px 7px;
    border-radius:6px;
    font-size:9.5px;
    font-weight:750;
    line-height:1.25;
}
.nztim-front-type{
    background:var(--nztim-item-soft);
}
.nztim-front-location{
    background:#f2f5f6;
    color:#64717b;
}
.nztim-front-status{
    background:#fff7e9;
    color:#895514;
}
.nztim-front-body{
    padding-left:35px;
}
.nztim-front-body h4{
    margin:0 0 5px!important;
    font-size:17px!important;
    font-weight:800!important;
    line-height:1.42!important;
    letter-spacing:-.02em!important;
}
.nztim-front-subtitle{
    margin:0 0 8px;
    font-size:12.5px;
    line-height:1.55;
    color:#6b7882;
}
.nztim-front-details{
    gap:6px 12px;
    margin:0 0 9px;
    font-size:11.5px;
    line-height:1.45;
    color:#6d7982;
}
.nztim-front-details strong{
    font-size:10.5px;
    font-weight:800;
    color:#46535e;
}
.nztim-front-details .is-address{
    margin-top:1px;
    color:#808a92;
}
.nztim-front-type-facts{
    gap:6px;
    margin:0 0 10px;
}
.nztim-front-type-facts span{
    min-height:26px;
    padding:4px 8px;
    border-radius:7px;
    background:#fafbfb;
    font-size:11.5px;
}
.nztim-front-type-facts strong{
    font-size:9.5px;
}
.nztim-front-content{
    color:#46545f;
    font-size:13.5px;
    line-height:1.7;
}
.nztim-front-content p{
    margin-bottom:8px;
}
.nztim-front-body-layout.has-media{
    gap:17px;
}

@media(max-width:767px){
    .nztim-front-items{
        padding:5px 12px 15px;
    }
    .nztim-front-item{
        grid-template-columns:16px minmax(0,1fr);
        gap:8px;
        padding:10px 0;
    }
    .nztim-front-item-rail{
        grid-row:1 / span 2;
    }
    .nztim-front-item-rail:after{
        top:18px;
        bottom:-23px;
    }
    .nztim-front-dot{
        width:8px;
        height:8px;
        margin-top:13px;
        border-width:2px;
    }
    .nztim-front-time{
        grid-column:2;
        padding:0 0 1px 2px;
        font-size:11.5px;
        color:var(--nztim-item-accent);
    }
    .nztim-front-item-card{
        grid-column:2;
        padding:13px 13px 14px;
        border-radius:11px;
        box-shadow:none;
    }
    .nztim-front-item-top{
        gap:7px;
        margin-bottom:6px;
    }
    .nztim-front-type-icon{
        flex-basis:25px;
        width:25px;
        height:25px;
        border-radius:7px;
        font-size:13px;
    }
    .nztim-front-type,
    .nztim-front-status,
    .nztim-front-location{
        min-height:19px;
        padding:2px 6px;
        font-size:9px;
    }
    .nztim-front-body{
        padding-left:32px;
    }
    .nztim-front-body h4{
        font-size:16px!important;
        line-height:1.45!important;
    }
    .nztim-front-subtitle{
        font-size:12px;
    }
    .nztim-front-details{
        gap:5px 10px;
        margin-bottom:8px;
        font-size:11px;
    }
    .nztim-front-content{
        font-size:13px;
        line-height:1.68;
    }
    .nztim-front-body-layout.has-media{
        gap:13px;
    }
}

@media(max-width:480px){
    .nztim-front-body{
        padding-left:0;
    }
    .nztim-front-item-top{
        align-items:flex-start;
    }
    .nztim-front-meta{
        padding-top:2px;
    }
}

/* =========================================================
   v0.1.48 — Content Library detail area visual finish
   카드 안의 또 다른 카드처럼 보이지 않도록 상세 영역을 본문 흐름에 통합합니다.
   ========================================================= */
.nztim-library-content{
    margin:10px 0 0;
    padding:12px 0 0;
    border:0;
    border-top:1px solid #e5eaed;
    border-radius:0;
    background:transparent;
}
.nztim-library-content.is-context-title-matched{
    margin-top:8px;
}
.nztim-library-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:10px 14px;
    margin:0 0 8px;
}
.nztim-library-head h4{
    margin:0 0 3px;
    font-size:15px;
    font-weight:800;
    line-height:1.4;
    color:#27343e;
}
.nztim-library-location{
    font-size:11.5px;
    line-height:1.45;
    color:#77838c;
}
.nztim-library-hours{
    display:inline-flex;
    flex-direction:row;
    align-items:baseline;
    gap:6px;
    min-width:0;
    width:auto;
    padding:4px 8px;
    border:0;
    border-radius:7px;
    background:#f4f7f8;
}
.nztim-library-hours span{
    font-size:9.5px;
    font-weight:750;
    color:#7b8790;
}
.nztim-library-hours strong{
    font-size:11px;
    font-weight:800;
    color:#42515c;
}
.nztim-library-summary{
    margin:0;
    color:#46545f;
    font-size:13px;
    font-weight:500;
    line-height:1.68;
}
.nztim-library-details{
    margin-top:7px;
    padding-top:0;
    border-top:0;
}
.nztim-library-details > summary{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    margin:0;
    padding:2px 0;
    color:#5a6e7a;
    font-size:11.5px;
    font-weight:750;
    line-height:1.35;
}
.nztim-library-details > summary:before{
    width:18px;
    height:18px;
    border:1px solid #d7e0e4;
    border-radius:50%;
    background:#fff;
    color:#687985;
    font-size:12px;
    font-weight:700;
}
.nztim-library-details-inner{
    padding-top:8px;
}
.nztim-library-details .nztim-library-body{
    margin:0;
    padding:0;
    color:#46545f;
    font-size:13px;
    font-weight:450;
    line-height:1.72;
}
.nztim-library-body p{
    margin:0 0 8px;
}
.nztim-library-body p:last-child{
    margin-bottom:0;
}
.nztim-library-details .nztim-library-gallery{
    margin-top:12px;
}
.nztim-library-gallery{
    gap:7px;
}
.nztim-library-gallery img{
    height:160px;
    border-radius:9px;
}
.nztim-library-gallery.is-single{
    grid-template-columns:minmax(0,460px);
}
.nztim-library-gallery.is-single img{
    max-height:320px;
}

@media(max-width:767px){
    .nztim-library-content{
        margin-top:8px;
        padding:10px 0 0;
    }
    .nztim-library-head{
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px 10px;
        margin-bottom:7px;
    }
    .nztim-library-head h4{
        font-size:14px;
    }
    .nztim-library-hours{
        width:auto;
        padding:3px 7px;
    }
    .nztim-library-summary{
        font-size:12.5px;
        line-height:1.65;
    }
    .nztim-library-details > summary{
        min-height:27px;
        font-size:11px;
    }
    .nztim-library-details-inner{
        padding-top:7px;
    }
    .nztim-library-details .nztim-library-body{
        font-size:12.5px;
        line-height:1.68;
    }
    .nztim-library-gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
    }
    .nztim-library-gallery img{
        height:125px;
    }
}
@media(max-width:480px){
    .nztim-library-head{
        grid-template-columns:1fr;
    }
    .nztim-library-hours{
        justify-self:start;
    }
    .nztim-library-gallery{
        grid-template-columns:1fr;
    }
    .nztim-library-gallery img{
        height:auto;
        max-height:240px;
    }
}

/* =========================================================
   v0.1.49 — Day Info (숙박 · 식사) visual finish
   일정 카드와 같은 디자인 언어로 정리하고 중첩 박스 느낌을 줄입니다.
   ========================================================= */
.nztim-front-day-stay-meal{
    margin:18px 0 4px 94px;
    padding:15px 16px 13px;
    border:1px solid #e1e7e4;
    border-radius:14px;
    background:#f8faf9;
    box-shadow:none;
}
.nztim-front-day-stay-meal-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 11px;
    padding:0 1px;
}
.nztim-front-day-stay-meal-title span{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:2px 7px;
    border-radius:6px;
    background:#edf2ef;
    font-size:8.5px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.09em;
    color:#6f7a74;
}
.nztim-front-day-stay-meal-title strong{
    font-size:14px;
    font-weight:800;
    line-height:1.35;
    color:#2e3833;
}
.nztim-front-day-stay-meal-content{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
}
.nztim-front-day-stay,
.nztim-front-day-stay-meal .nztim-front-day-meals{
    min-width:0;
    margin:0;
    padding:12px 13px;
    border:1px solid #e5eae7;
    border-radius:11px;
    background:#fff;
    box-shadow:none;
}
.nztim-front-day-info-label{
    display:block;
    margin:0 0 7px;
    font-size:9.5px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.01em;
    color:#78837d;
}
.nztim-front-day-stay-names{
    display:grid;
    gap:2px;
}
.nztim-front-day-stay-names strong{
    font-size:13.5px;
    font-weight:800;
    line-height:1.42;
    color:#27312c;
}
.nztim-front-day-stay-names>span{
    width:max-content;
    margin:1px 0;
    padding:1px 6px;
    border-radius:999px;
    background:#f5f0ea;
    font-size:9px;
    font-weight:750;
    line-height:1.45;
    color:#896e52;
}
.nztim-front-day-stay-meta{
    display:flex;
    flex-wrap:wrap;
    gap:4px 10px;
    margin-top:7px;
    font-size:10.5px;
    line-height:1.45;
    color:#6c7771;
}
.nztim-front-day-stay-meta span{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:2px 7px;
    border-radius:6px;
    background:#f6f8f7;
}
.nztim-front-day-stay-meta span+span:before{
    display:none;
}
.nztim-front-day-stay-meal .nztim-front-day-meals-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
}
.nztim-front-day-stay-meal .nztim-front-day-meal{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:2px;
    min-width:0;
    padding:7px 8px;
    border:0;
    border-radius:8px;
    background:#f7f9f8;
}
.nztim-front-day-stay-meal .nztim-front-day-meal>span{
    grid-row:auto;
    font-size:8.5px;
    font-weight:800;
    line-height:1.25;
    color:#7a857f;
}
.nztim-front-day-stay-meal .nztim-front-day-meal>strong{
    font-size:11.5px;
    font-weight:800;
    line-height:1.38;
    color:#28312c;
    word-break:keep-all;
}
.nztim-front-day-stay-meal .nztim-front-day-meal>em{
    margin-top:1px;
    font-size:8.5px;
    font-style:normal;
    font-weight:600;
    line-height:1.3;
    color:#6c7771;
}
.nztim-front-day-stay-note{
    margin:9px 2px 0;
    padding-top:8px;
    border-top:1px solid #e6ebe8;
    font-size:9.5px;
    line-height:1.5;
    color:#727d77;
}

@media(max-width:991px){
    .nztim-front-day-stay-meal{
        margin-left:72px;
    }
    .nztim-front-day-stay-meal-content{
        grid-template-columns:1fr;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meals-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:767px){
    .nztim-front-day-stay-meal{
        margin:15px 12px 3px 36px;
        padding:12px;
        border-radius:12px;
    }
    .nztim-front-day-stay-meal-title{
        margin-bottom:9px;
    }
    .nztim-front-day-stay-meal-title strong{
        font-size:13px;
    }
    .nztim-front-day-stay-meal-content{
        gap:8px;
    }
    .nztim-front-day-stay,
    .nztim-front-day-stay-meal .nztim-front-day-meals{
        margin:0;
        padding:11px 12px;
        border-radius:10px;
    }
    .nztim-front-day-stay-names strong{
        font-size:13px;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meals-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:5px;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meal{
        padding:7px;
    }
}

@media(max-width:560px){
    .nztim-front-day-stay-meal{
        margin-left:24px;
        margin-right:8px;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meals-grid{
        grid-template-columns:1fr;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meal{
        grid-template-columns:44px minmax(0,1fr);
        column-gap:7px;
        row-gap:1px;
        align-items:baseline;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meal>span{
        grid-row:1 / span 2;
    }
}

@media(max-width:420px){
    .nztim-front-day-stay-meal{
        margin-left:18px;
        margin-right:4px;
        padding:11px;
    }
}

/* =========================================================
   v0.1.50 — Included / Excluded + lower information finish
   기존 2열 구조와 데이터는 유지하고 시각적 균형만 정리합니다.
   ========================================================= */

/* 포함 · 불포함 */
.nztim-front-inclusions{
    margin-top:18px;
    padding-top:0;
}
.nztim-front-inclusions-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    overflow:hidden;
    border:1px solid #e1e6e9;
    border-radius:14px;
    background:#fff;
}
.nztim-front-inclusion-box{
    min-width:0;
    margin:0;
    padding:15px 17px 14px;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
}
.nztim-front-inclusion-box + .nztim-front-inclusion-box{
    border-left:1px solid #e4e9eb;
}
.nztim-front-inclusion-box h4{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 10px!important;
    font-size:13.5px!important;
    font-weight:800!important;
    line-height:1.35!important;
    color:#2b373f!important;
}
.nztim-front-inclusion-box h4:before{
    content:"";
    flex:0 0 auto;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#6f8f7d;
}
.nztim-front-inclusion-box.is-excluded h4:before{
    background:#b28472;
}
.nztim-front-inclusion-box ul{
    margin:0;
    padding:0;
    list-style:none;
}
.nztim-front-inclusion-box li{
    position:relative;
    margin:0;
    padding:5px 0 5px 17px;
    border:0;
    font-size:12.5px;
    font-weight:500;
    line-height:1.55;
    color:#4e5b64;
}
.nztim-front-inclusion-box li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:5px;
    color:#6f8f7d;
    font-size:11px;
    font-weight:900;
}
.nztim-front-inclusion-box.is-excluded li:before{
    content:"–";
    color:#9b7566;
    font-size:13px;
    top:4px;
}

/* 하단 안내/참고 정보 */
.nztim-front-footer-info,
.nztim-front-extra-info,
.nztim-front-notes,
.nztim-front-summary-note{
    margin-top:16px;
    padding:14px 16px;
    border:1px solid #e4e9ec;
    border-radius:12px;
    background:#fafbfb;
    box-shadow:none;
}
.nztim-front-footer-info h4,
.nztim-front-extra-info h4,
.nztim-front-notes h4,
.nztim-front-summary-note h4{
    margin:0 0 8px!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.35!important;
    color:#33414a!important;
}
.nztim-front-footer-info p,
.nztim-front-extra-info p,
.nztim-front-notes p,
.nztim-front-summary-note p,
.nztim-front-footer-info li,
.nztim-front-extra-info li,
.nztim-front-notes li,
.nztim-front-summary-note li{
    font-size:12.5px;
    line-height:1.65;
    color:#59666f;
}
.nztim-front-footer-info ul,
.nztim-front-extra-info ul,
.nztim-front-notes ul,
.nztim-front-summary-note ul{
    margin:0;
    padding-left:18px;
}
.nztim-front-footer-info p:last-child,
.nztim-front-extra-info p:last-child,
.nztim-front-notes p:last-child,
.nztim-front-summary-note p:last-child{
    margin-bottom:0;
}

/* 일정 하단 전체 여백 */
.nztim-front-itinerary-end,
.nztim-front-after-days{
    margin-top:18px;
}

@media(max-width:767px){
    .nztim-front-inclusions{
        margin-top:15px;
    }
    .nztim-front-inclusions-grid{
        grid-template-columns:1fr;
        border-radius:12px;
    }
    .nztim-front-inclusion-box{
        padding:13px 14px 12px;
    }
    .nztim-front-inclusion-box + .nztim-front-inclusion-box{
        border-left:0;
        border-top:1px solid #e4e9eb;
    }
    .nztim-front-inclusion-box h4{
        margin-bottom:8px!important;
        font-size:13px!important;
    }
    .nztim-front-inclusion-box li{
        padding-top:4px;
        padding-bottom:4px;
        font-size:12px;
        line-height:1.55;
    }
    .nztim-front-inclusion-box li:before{
        top:4px;
    }
    .nztim-front-footer-info,
    .nztim-front-extra-info,
    .nztim-front-notes,
    .nztim-front-summary-note{
        margin-top:13px;
        padding:12px 13px;
        border-radius:10px;
    }
    .nztim-front-footer-info p,
    .nztim-front-extra-info p,
    .nztim-front-notes p,
    .nztim-front-summary-note p,
    .nztim-front-footer-info li,
    .nztim-front-extra-info li,
    .nztim-front-notes li,
    .nztim-front-summary-note li{
        font-size:12px;
        line-height:1.62;
    }
}

/* =========================================================
   v0.1.51 — Mobile final pass
   데스크톱 기능/데이터/레이아웃은 유지하고 모바일 가독성과 간격만 통합 정리합니다.
   ========================================================= */
@media(max-width:767px){

    /* 전체 폭과 기본 타이포 */
    .nztim-front{
        margin-top:20px;
        font-size:13px;
    }
    .nztim-front,
    .nztim-front *{
        word-break:keep-all;
    }
    .nztim-front-content,
    .nztim-library-body,
    .nztim-front-day-summary,
    .nztim-front-overview-summary{
        overflow-wrap:anywhere;
    }

    /* 일정 상단 */
    .nztim-front-overview{
        margin-bottom:16px;
        padding:15px 14px 13px;
        border-radius:13px;
        box-shadow:0 4px 16px rgba(24,36,46,.035);
    }
    .nztim-front-eyebrow{
        margin-bottom:5px;
        font-size:9px;
    }
    .nztim-front-overview-title{
        gap:7px;
    }
    .nztim-front-overview-title strong{
        font-size:19px;
        line-height:1.35;
    }
    .nztim-front-overview-title span{
        min-height:21px;
        padding:2px 8px;
        font-size:9.5px;
    }
    .nztim-front-overview-summary{
        margin-top:7px;
        font-size:12.5px;
        line-height:1.62;
    }
    .nztim-front-advisory{
        margin-top:10px;
        padding:9px 10px;
        border-radius:9px;
    }
    .nztim-front-advisory p{
        font-size:11.5px;
        line-height:1.58;
    }
    .nztim-front-view-controls{
        gap:6px;
        margin-top:10px;
    }
    .nztim-front-view-controls button{
        min-height:34px;
        padding:6px 9px;
        border-radius:7px;
        font-size:10.5px;
    }
    .nztim-front-day-nav{
        gap:7px;
        margin-top:12px;
        padding-top:10px;
    }
    .nztim-front-day-nav a{
        min-width:136px;
        max-width:176px;
        min-height:52px;
        padding:8px 9px;
        border-radius:9px;
    }
    .nztim-front-day-nav span{
        font-size:9px;
    }
    .nztim-front-day-nav small{
        margin-top:3px;
        font-size:10.5px;
        line-height:1.35;
    }

    /* Day 카드 */
    .nztim-front-days{
        gap:14px;
    }
    .nztim-front-day{
        border-radius:13px;
        box-shadow:0 4px 16px rgba(24,36,46,.035);
    }
    .nztim-front-day-head{
        position:relative;
        grid-template-columns:48px minmax(0,1fr);
        gap:10px;
        padding:13px 12px;
    }
    .nztim-front-day-index{
        width:48px;
        min-height:48px;
        margin:0;
        border-radius:9px;
    }
    .nztim-front-day-index span{
        font-size:8px;
    }
    .nztim-front-day-index strong{
        font-size:19px;
    }
    .nztim-front-day-heading{
        min-width:0;
        padding-right:52px!important;
    }
    .nztim-front-day-kicker{
        gap:5px;
        margin-bottom:4px;
    }
    .nztim-front-day-area,
    .nztim-front-day-count{
        min-height:19px;
        padding:2px 6px;
        font-size:9px;
    }
    .nztim-front-day-heading h3{
        font-size:17px!important;
        line-height:1.4!important;
    }
    .nztim-front-day-summary{
        margin-top:4px;
        font-size:11.5px;
        line-height:1.58;
    }
    .nztim-front-day-toggle{
        top:12px;
        right:12px;
        min-width:46px;
        min-height:28px;
        padding:4px 7px;
        border-radius:6px;
        font-size:9.5px;
    }

    /* 일정 아이템 */
    .nztim-front-items{
        padding:5px 10px 13px;
    }
    .nztim-front-item{
        grid-template-columns:15px minmax(0,1fr);
        gap:7px;
        padding:9px 0;
    }
    .nztim-front-item-rail:after{
        top:17px;
        bottom:-21px;
    }
    .nztim-front-dot{
        width:7px;
        height:7px;
        margin-top:12px;
    }
    .nztim-front-time{
        padding-left:1px;
        font-size:11px;
    }
    .nztim-front-item-card{
        padding:12px;
        border-radius:10px;
    }
    .nztim-front-item-top{
        gap:6px;
        margin-bottom:5px;
    }
    .nztim-front-type-icon{
        flex-basis:24px;
        width:24px;
        height:24px;
        border-radius:7px;
        font-size:12px;
    }
    .nztim-front-type,
    .nztim-front-status,
    .nztim-front-location{
        min-height:18px;
        padding:2px 5px;
        font-size:8.5px;
    }
    .nztim-front-body{
        padding-left:30px;
    }
    .nztim-front-body h4{
        margin-bottom:4px!important;
        font-size:15.5px!important;
        line-height:1.45!important;
    }
    .nztim-front-subtitle{
        margin-bottom:7px;
        font-size:11.5px;
        line-height:1.5;
    }
    .nztim-front-details{
        gap:4px 9px;
        margin-bottom:7px;
        font-size:10.5px;
    }
    .nztim-front-details strong{
        font-size:9.5px;
    }
    .nztim-front-type-facts{
        gap:5px;
        margin-bottom:8px;
    }
    .nztim-front-type-facts span{
        min-height:24px;
        padding:4px 7px;
        font-size:10.5px;
    }
    .nztim-front-content{
        font-size:12.5px;
        line-height:1.65;
    }
    .nztim-front-body-layout.has-media{
        gap:10px;
    }
    .nztim-front-media{
        border-radius:9px;
    }

    /* Content Library 상세 */
    .nztim-library-content{
        margin-top:7px;
        padding-top:9px;
    }
    .nztim-library-head{
        gap:7px 9px;
        margin-bottom:6px;
    }
    .nztim-library-head h4{
        font-size:13.5px;
    }
    .nztim-library-location{
        font-size:10.5px;
    }
    .nztim-library-hours{
        padding:3px 6px;
        border-radius:6px;
    }
    .nztim-library-summary,
    .nztim-library-details .nztim-library-body{
        font-size:12px;
        line-height:1.62;
    }
    .nztim-library-details > summary{
        min-height:25px;
        font-size:10.5px;
    }
    .nztim-library-gallery img{
        border-radius:8px;
    }

    /* 숙박 · 식사 */
    .nztim-front-day-stay-meal{
        margin:13px 8px 2px 24px;
        padding:11px;
        border-radius:11px;
    }
    .nztim-front-day-stay-meal-title{
        margin-bottom:8px;
    }
    .nztim-front-day-stay-meal-title strong{
        font-size:12.5px;
    }
    .nztim-front-day-stay,
    .nztim-front-day-stay-meal .nztim-front-day-meals{
        padding:10px 11px;
        border-radius:9px;
    }
    .nztim-front-day-info-label{
        margin-bottom:6px;
        font-size:9px;
    }
    .nztim-front-day-stay-names strong{
        font-size:12.5px;
    }
    .nztim-front-day-stay-meta{
        gap:4px 7px;
        margin-top:6px;
        font-size:10px;
    }

    /* 포함 · 불포함 / 하단 안내 */
    .nztim-front-inclusions{
        margin-top:13px;
    }
    .nztim-front-inclusions-grid{
        border-radius:11px;
    }
    .nztim-front-inclusion-box{
        padding:12px 13px 11px;
    }
    .nztim-front-inclusion-box h4{
        margin-bottom:7px!important;
        font-size:12.5px!important;
    }
    .nztim-front-inclusion-box li{
        padding:4px 0 4px 16px;
        font-size:11.5px;
        line-height:1.55;
    }
    .nztim-front-footer-info,
    .nztim-front-extra-info,
    .nztim-front-notes,
    .nztim-front-summary-note{
        margin-top:11px;
        padding:11px 12px;
        border-radius:9px;
    }
    .nztim-front-footer-info h4,
    .nztim-front-extra-info h4,
    .nztim-front-notes h4,
    .nztim-front-summary-note h4{
        margin-bottom:6px!important;
        font-size:12.5px!important;
    }
    .nztim-front-footer-info p,
    .nztim-front-extra-info p,
    .nztim-front-notes p,
    .nztim-front-summary-note p,
    .nztim-front-footer-info li,
    .nztim-front-extra-info li,
    .nztim-front-notes li,
    .nztim-front-summary-note li{
        font-size:11.5px;
        line-height:1.6;
    }
}

@media(max-width:520px){
    .nztim-front-overview{
        padding:14px 12px 12px;
    }
    .nztim-front-view-controls{
        grid-template-columns:1fr 1fr;
    }
    .nztim-front-day-nav a{
        min-width:126px;
        max-width:160px;
    }
    .nztim-front-day-head{
        grid-template-columns:44px minmax(0,1fr);
        gap:9px;
        padding:12px 10px;
    }
    .nztim-front-day-index{
        width:44px;
        min-height:44px;
    }
    .nztim-front-day-index strong{
        font-size:18px;
    }
    .nztim-front-day-heading{
        padding-right:48px!important;
    }
    .nztim-front-day-heading h3{
        font-size:16px!important;
    }
    .nztim-front-day-toggle{
        top:10px;
        right:10px;
        min-width:44px;
    }
    .nztim-front-body{
        padding-left:0;
    }
    .nztim-front-item-top{
        align-items:flex-start;
    }
    .nztim-library-head{
        grid-template-columns:1fr;
    }
    .nztim-library-hours{
        justify-self:start;
    }
    .nztim-front-day-stay-meal{
        margin-left:17px;
        margin-right:5px;
    }
}

@media(max-width:380px){
    .nztim-front-overview-title{
        align-items:flex-start;
    }
    .nztim-front-overview-title strong{
        flex-basis:100%;
    }
    .nztim-front-view-controls{
        grid-template-columns:1fr;
    }
    .nztim-front-day-heading{
        padding-right:0!important;
        padding-top:34px!important;
    }
    .nztim-front-day-index{
        margin:0;
    }
    .nztim-front-day-toggle{
        top:10px;
        right:10px;
    }
    .nztim-front-day-stay-meal{
        margin-left:10px;
        margin-right:2px;
        padding:10px;
    }
}


/* =========================================================
   v0.1.52 FINAL — CSS maintenance cleanup
   - 화면 디자인/기능/데이터 구조 변경 없음
   - 동일 selector/property의 실제 미사용 중복 선언만 제거
   - v0.1.51 모바일 최종 디자인을 현재 기준으로 유지
   ========================================================= */

/* =========================================================
   v0.1.53 — Day shortcut anchor position
   DAY 바로가기 클릭 시 해당 Day 제목이 화면 상단에서 약간 떨어져 보이도록 합니다.
   ========================================================= */
.nztim-front-day{
    scroll-margin-top:20px;
}

@media(max-width:767px){
    .nztim-front-day{
        scroll-margin-top:16px;
    }
}



/* =========================================================
   v0.1.59 — Day recommended activities
   ========================================================= */
.nztim-front-day-recommended{margin:18px 0 4px 94px;padding:15px 16px;border:1px solid #e2e5ec;border-radius:14px;background:#fafafe}
.nztim-front-day-recommended-title{display:flex;align-items:center;gap:9px;margin:0 0 11px}.nztim-front-day-recommended-title>span{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:6px;background:#f0eef7;font-size:8.5px;font-weight:800;letter-spacing:.09em;color:#706880}.nztim-front-day-recommended-title>div{display:flex;align-items:baseline;gap:8px;min-width:0}.nztim-front-day-recommended-title strong{font-size:14px;font-weight:800;color:#2e3338}.nztim-front-day-recommended-title small{font-size:10px;color:#7a7f86}
.nztim-front-day-recommended-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.nztim-front-day-recommended-card{min-width:0;overflow:hidden;border:1px solid #e7e7ed;border-radius:11px;background:#fff}.nztim-front-day-recommended-image{aspect-ratio:16/9;overflow:hidden;background:#f3f4f6}.nztim-front-day-recommended-image img{display:block;width:100%;height:100%;object-fit:cover}.nztim-front-day-recommended-copy{padding:10px 11px 11px}.nztim-front-day-recommended-copy>strong{display:block;font-size:12.5px;line-height:1.4;color:#28302c}.nztim-front-day-recommended-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:5px;font-size:9.5px;color:#727a76}.nztim-front-day-recommended-meta span+span:before{content:'·';margin-right:8px;color:#a0a5a2}.nztim-front-day-recommended-copy p{margin:7px 0 0;font-size:10.5px;line-height:1.5;color:#626b67;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:991px){.nztim-front-day-recommended-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.nztim-front-day-recommended{margin-left:0;padding:13px}.nztim-front-day-recommended-title{align-items:flex-start}.nztim-front-day-recommended-title>div{display:block}.nztim-front-day-recommended-title small{display:block;margin-top:2px}.nztim-front-day-recommended-grid{grid-template-columns:1fr}.nztim-front-day-recommended-card{display:grid;grid-template-columns:112px minmax(0,1fr)}.nztim-front-day-recommended-image{aspect-ratio:auto;min-height:100%}}


/* =========================================================
   v0.1.61 — route-positioned optional tour Items
   ========================================================= */
.nztim-type-recommended_activity .nztim-front-item-card{border-color:#e2c38d;background:#fffdf8;box-shadow:0 4px 16px rgba(95,72,34,.06)}
.nztim-type-recommended_activity .nztim-front-type{background:#f8ead1;color:#855112;font-weight:800}

.nztim-type-recommended_activity .nztim-front-content{margin-top:10px;padding:13px 15px;border:1px solid #ead7b7;border-radius:10px;background:#fff6e7}
.nztim-type-recommended_activity .nztim-front-content>:first-child{margin-top:0}.nztim-type-recommended_activity .nztim-front-content>:last-child{margin-bottom:0}
.nztim-front-route-recommended-note{display:flex;align-items:flex-start;gap:8px;margin:9px 0 12px;padding:8px 10px;border:1px solid #efdcc2;border-radius:9px;background:#fff7ec;font-size:11px;line-height:1.5;color:#6e5a43}
.nztim-front-route-recommended-note strong{flex:0 0 auto;color:#9a5a10;font-size:10px;letter-spacing:.04em}
@media(max-width:767px){.nztim-front-route-recommended-note{display:block}.nztim-front-route-recommended-note strong{display:block;margin-bottom:2px}}


/* =========================================================
   v0.1.62 — modern skin for the existing TTBM/Travelicious
   detail navigation. Visual styling only: the theme keeps
   ownership of menu links, anchors and navigation behaviour.
   ========================================================= */
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions{
    width:100%!important;
    max-width:1180px!important;
    margin:28px auto 18px!important;
    padding:6px!important;
    border:1px solid #e2e9ec!important;
    border-radius:14px!important;
    background:#f5f8f9!important;
    box-shadow:0 6px 20px rgba(24,36,46,.035)!important;
    box-sizing:border-box!important;
}

body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info ul,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline ul,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo ul,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions ul{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    list-style:none!important;
    background:transparent!important;
}

body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info li,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline li,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo li,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions li{
    flex:1 1 0!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info li::before,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info li::after,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline li::before,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline li::after,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo li::before,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo li::after,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions li::before,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions li::after{
    display:none!important;
}

body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info a,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline a,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo a,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:10px 14px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#53626d!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
    text-align:center!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease!important;
}

body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info a:hover,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline a:hover,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo a:hover,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions a:hover{
    border-color:#d7e2e5!important;
    background:#fff!important;
    color:#1d6570!important;
}

/* Each repeated TTBM menu sits directly above its own section.
   Highlight the matching tab without changing the theme's navigation logic. */
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info li:nth-child(1) > a,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline li:nth-child(2) > a,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo li:nth-child(3) > a,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions li:nth-child(4) > a{
    border-color:#1b7f8b!important;
    background:#1b7f8b!important;
    color:#fff!important;
    box-shadow:0 5px 14px rgba(27,127,139,.18)!important;
}

body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info li:nth-child(1) > a:hover,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline li:nth-child(2) > a:hover,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo li:nth-child(3) > a:hover,
body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions li:nth-child(4) > a:hover{
    border-color:#166f79!important;
    background:#166f79!important;
    color:#fff!important;
}

@media(max-width:767px){
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions{
        margin:22px auto 14px!important;
        padding:5px!important;
        border-radius:12px!important;
        overflow-x:auto!important;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info::-webkit-scrollbar,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline::-webkit-scrollbar,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo::-webkit-scrollbar,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions::-webkit-scrollbar{
        display:none;
    }
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info ul,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline ul,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo ul,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions ul{
        width:max-content!important;
        min-width:100%!important;
        gap:4px!important;
    }
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info li,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline li,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo li,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions li{
        flex:0 0 auto!important;
    }
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#info a,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#timeline a,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#bookinginfo a,
    body.nztim-modern-product.single-ttbm_tour .btPostContentHolder > .product > .bt_bb_custom_menu#conditions a{
        min-height:40px!important;
        min-width:82px!important;
        padding:9px 12px!important;
        border-radius:9px!important;
        font-size:13px!important;
    }
}


/* =========================================================
   v0.1.68 — customer itinerary finishing pass
   - 시간 없는 Item의 대시(—) 제거
   - Day 숙박·식사 안내의 가독성 강화
   - 펼쳐진 Content Library 상세 버튼은 ‘접기’로 명확하게 표시
   ========================================================= */
.nztim-front-time.is-empty{
    color:transparent;
}

.nztim-library-details-label .is-open{display:none}
.nztim-library-details[open] .nztim-library-details-label .is-closed{display:none}
.nztim-library-details[open] .nztim-library-details-label .is-open{display:inline}

.nztim-front-day-stay-meal{
    border-color:#dbe5df;
    background:#fafcfb;
}
.nztim-front-day-stay-meal-title{
    margin-bottom:12px;
}
.nztim-front-day-stay-meal-title strong{
    font-size:15px;
    color:#26342d;
}
.nztim-front-day-info-label{
    width:max-content;
    margin-bottom:8px;
    padding:3px 7px;
    border-radius:6px;
    background:#eef4f1;
    font-size:10px;
    font-weight:850;
    color:#5f7067;
}
.nztim-front-day-stay-names strong{
    font-size:14px;
}
.nztim-front-day-stay-meal .nztim-front-day-meals-grid{
    gap:7px;
}
.nztim-front-day-stay-meal .nztim-front-day-meal{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px 7px;
    min-height:36px;
    padding:7px 9px;
    border:1px solid #e4ebe7;
    background:#f7faf8;
}
.nztim-front-day-stay-meal .nztim-front-day-meal>span{
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:2px 6px;
    border-radius:999px;
    background:#eaf1ed;
    font-size:9px;
    font-weight:850;
    color:#5f7067;
}
.nztim-front-day-stay-meal .nztim-front-day-meal>strong{
    flex:0 1 auto;
    font-size:12px;
    line-height:1.35;
}
.nztim-front-day-stay-meal .nztim-front-day-meal>em{
    display:inline-flex;
    align-items:center;
    min-height:19px;
    margin:0;
    padding:1px 6px;
    border-radius:999px;
    background:#fff;
    border:1px solid #e2e8e4;
    font-size:9px;
    font-weight:650;
    color:#6c7771;
}

@media(max-width:767px){
    .nztim-front-day-stay-meal-title strong{font-size:13.5px}
    .nztim-front-day-info-label{font-size:9.5px}
    .nztim-front-day-stay-names strong{font-size:13px}
}
@media(max-width:560px){
    .nztim-front-day-stay-meal .nztim-front-day-meal{
        display:flex;
        grid-template-columns:none;
        align-items:center;
        column-gap:7px;
        row-gap:4px;
    }
    .nztim-front-day-stay-meal .nztim-front-day-meal>span{
        grid-row:auto;
    }
}


/* =========================================================
   v0.1.69 — Customer itinerary typography harmonization
   Product Manager의 투어 개요와 시각적 크기를 맞추되,
   레이아웃/색상/데이터 구조는 변경하지 않습니다.
   ========================================================= */
@media(min-width:768px){
    .nztim-front{font-size:14px}

    /* 일정 상단 */
    .nztim-front-overview-summary{font-size:14px;line-height:1.72}
    .nztim-front-advisory p{font-size:13px;line-height:1.65}
    .nztim-front-day-nav small{font-size:12px;line-height:1.45}

    /* Day / 일정 아이템 */
    .nztim-front-day-summary{font-size:13.5px;line-height:1.68}
    .nztim-front-time{font-size:12.5px}
    .nztim-front-body h4{font-size:18px!important;line-height:1.42!important}
    .nztim-front-subtitle{font-size:12.5px;line-height:1.55}
    .nztim-front-details{font-size:12px;line-height:1.55}
    .nztim-front-details strong{font-size:11px}
    .nztim-front-type-facts span{font-size:11.5px}
    .nztim-front-content{font-size:14px;line-height:1.72}

    /* Content Library */
    .nztim-library-head h4{font-size:16px;line-height:1.42}
    .nztim-library-location{font-size:12px;line-height:1.5}
    .nztim-library-hours span{font-size:10px}
    .nztim-library-hours strong{font-size:11.5px}
    .nztim-library-summary{font-size:14px;line-height:1.72}
    .nztim-library-details>summary{font-size:12px;line-height:1.4}
    .nztim-library-details .nztim-library-body{font-size:14px;line-height:1.75}

    /* 숙박 · 식사 */
    .nztim-front-day-stay-meal-title strong{font-size:15px}
    .nztim-front-day-info-label{font-size:10.5px}
    .nztim-front-day-stay-names strong{font-size:14.5px}
    .nztim-front-day-stay-meta{font-size:12px}
    .nztim-front-day-stay-meal .nztim-front-day-meal>span{font-size:10px}
    .nztim-front-day-stay-meal .nztim-front-day-meal>strong{font-size:13px;line-height:1.4}
    .nztim-front-day-stay-meal .nztim-front-day-meal>em{font-size:10px}

    /* 하단 정보 */
    .nztim-front-inclusion-box li,
    .nztim-front-footer-info p,
    .nztim-front-extra-info p,
    .nztim-front-notes p,
    .nztim-front-summary-note p,
    .nztim-front-footer-info li,
    .nztim-front-extra-info li,
    .nztim-front-notes li,
    .nztim-front-summary-note li{font-size:13.5px;line-height:1.68}
}

@media(max-width:767px){
    /* 모바일에서도 본문이 과도하게 작아지지 않도록 최소 크기를 맞춥니다. */
    .nztim-front{font-size:13.5px}
    .nztim-front-overview-summary{font-size:13.5px;line-height:1.68}
    .nztim-front-advisory p{font-size:12.5px;line-height:1.62}
    .nztim-front-day-nav small{font-size:11.5px;line-height:1.4}

    .nztim-front-day-heading h3{font-size:18px!important;line-height:1.42!important}
    .nztim-front-day-summary{font-size:12.5px;line-height:1.62}
    .nztim-front-time{font-size:11.5px}
    .nztim-front-body h4{font-size:16.5px!important;line-height:1.45!important}
    .nztim-front-subtitle{font-size:12px;line-height:1.55}
    .nztim-front-details{font-size:11.5px;line-height:1.5}
    .nztim-front-details strong{font-size:10.5px}
    .nztim-front-type-facts span{font-size:11px}
    .nztim-front-content{font-size:13.5px;line-height:1.68}

    .nztim-library-head h4{font-size:15px;line-height:1.42}
    .nztim-library-location{font-size:11.5px;line-height:1.5}
    .nztim-library-summary,
    .nztim-library-details .nztim-library-body{font-size:13.5px;line-height:1.68}
    .nztim-library-details>summary{font-size:11.5px;line-height:1.4}

    .nztim-front-day-stay-meal-title strong{font-size:14px}
    .nztim-front-day-info-label{font-size:10px}
    .nztim-front-day-stay-names strong{font-size:13.5px}
    .nztim-front-day-stay-meta{font-size:10.5px}
    .nztim-front-day-stay-meal .nztim-front-day-meal>span{font-size:9.5px}
    .nztim-front-day-stay-meal .nztim-front-day-meal>strong{font-size:12.5px;line-height:1.4}
    .nztim-front-day-stay-meal .nztim-front-day-meal>em{font-size:9.5px}

    .nztim-front-inclusion-box li,
    .nztim-front-footer-info p,
    .nztim-front-extra-info p,
    .nztim-front-notes p,
    .nztim-front-summary-note p,
    .nztim-front-footer-info li,
    .nztim-front-extra-info li,
    .nztim-front-notes li,
    .nztim-front-summary-note li{font-size:12.5px;line-height:1.65}
}

/* =========================================================
   v0.1.70 — Multiple Content Library entries inside one Item
   Keep one itinerary card/timeline point and present later library entries as
   supporting sections. Highlight content becomes a compact "주요 하이라이트"
   block instead of looking like a second itinerary event.
   ========================================================= */
.nztim-library-content.is-secondary{
    margin-top:16px;
    padding-top:14px;
    border-top:1px dashed #dce5e9;
}
.nztim-library-section-label{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    margin:0 0 8px;
    padding:3px 9px;
    border-radius:999px;
    background:#f1f6f8;
    color:#496674;
    font-size:10.5px;
    font-weight:800;
    line-height:1.35;
    letter-spacing:.01em;
}
.nztim-library-content.is-secondary-highlight .nztim-library-head{
    margin-bottom:6px;
}
.nztim-library-content.is-secondary-highlight .nztim-library-summary{
    margin-bottom:7px;
}
.nztim-library-secondary-body{
    margin-top:3px;
}
.nztim-library-secondary-body .nztim-library-body{
    color:#46545f;
    font-size:14px;
    line-height:1.75;
}
.nztim-library-secondary-body .nztim-library-gallery{
    margin-top:12px;
}
@media(max-width:767px){
    .nztim-library-content.is-secondary{
        margin-top:13px;
        padding-top:12px;
    }
    .nztim-library-section-label{
        min-height:22px;
        margin-bottom:7px;
        padding:3px 8px;
        font-size:10px;
    }
    .nztim-library-secondary-body .nztim-library-body{
        font-size:13.5px;
        line-height:1.68;
    }
}


/* =========================================================
   v0.1.74 — Content Library selectable emphasis tones
   기본 일정/콘텐츠 제목은 검정, 본문은 진회색으로 유지합니다.
   Content Library에서 선택한 경우에만 제목/본문 색상을 강조합니다.
   ========================================================= */
.nztim-front .nztim-front-body h4{color:#171c20!important}
.nztim-front .nztim-front-content{color:#3f4b53}
.nztim-front .nztim-front-content strong,
.nztim-front .nztim-front-content b{color:inherit}
.nztim-front .nztim-front-content a{color:var(--nztim-accent)!important}

.nztim-front .nztim-library-head h4{color:#171c20!important}
.nztim-front .nztim-library-summary,
.nztim-front .nztim-library-body{color:#46545f}
.nztim-front .nztim-library-summary strong,
.nztim-front .nztim-library-body strong,
.nztim-front .nztim-library-summary b,
.nztim-front .nztim-library-body b{color:inherit}

.nztim-front .nztim-library-content.nztim-title-tone-teal .nztim-library-head h4{color:#176f79!important}
.nztim-front .nztim-library-content.nztim-title-tone-navy .nztim-library-head h4{color:#245f73!important}
.nztim-front .nztim-library-content.nztim-title-tone-orange .nztim-library-head h4{color:#a15b16!important}

.nztim-front .nztim-library-content.nztim-body-tone-teal .nztim-library-summary,
.nztim-front .nztim-library-content.nztim-body-tone-teal .nztim-library-body{color:#176f79}
.nztim-front .nztim-library-content.nztim-body-tone-navy .nztim-library-summary,
.nztim-front .nztim-library-content.nztim-body-tone-navy .nztim-library-body{color:#245f73}
.nztim-front .nztim-library-content.nztim-body-tone-orange .nztim-library-summary,
.nztim-front .nztim-library-content.nztim-body-tone-orange .nztim-library-body{color:#96531a}


/* v0.1.79 — item-wide title/body colour controls removed; use selected-text colours instead. */

/* =========================================================
   v0.1.76 — selected-text colour tones
   ========================================================= */
.nztim-front .nztim-text-default{color:#20262d!important}
.nztim-front .nztim-text-teal{color:var(--nztim-accent)!important;font-weight:700}
.nztim-front .nztim-text-navy{color:#17375e!important;font-weight:700}
.nztim-front .nztim-text-orange{color:#b85b18!important;font-weight:700}
@media print{
	.nztim-front .nztim-text-default,.nztim-front .nztim-text-teal,.nztim-front .nztim-text-navy,.nztim-front .nztim-text-orange{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}


/* v0.1.78 — optional Day title tone */
.nztim-day-title-tone-default{color:#20252b}
.nztim-day-title-tone-teal{color:#0f766e}
.nztim-day-title-tone-navy{color:#263a63}
.nztim-day-title-tone-orange{color:#b45309}
