/**
 * NZTour Product Manager frontend styles
 * Version 1.4.12
 *
 * Moved from Travelicious Child without visual redesign.
 * Product Manager now owns input, storage, markup and its own frontend CSS.
 */

/* =========================================================
   NZTour Product Manager - clean grouped frontend layout
   2026-10-01
   Base: style (20).css
   NOTE: independent of Travelicious btTourSingleInclude layout
   ========================================================= */body.single-ttbm_tour .nztour-pm-details {
    width: 100% !important;
    max-width: 1178px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    font-family: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif !important;
}body.single-ttbm_tour .nztour-pm-section {
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}body.single-ttbm_tour .nztour-pm-section-title {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.025em !important;
    color: #20252a !important;
    word-break: keep-all !important;
}body.single-ttbm_tour .nztour-pm-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}body.single-ttbm_tour .nztour-pm-card,
body.single-ttbm_tour .nztour-pm-panel {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #dfe5ea !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}body.single-ttbm_tour .nztour-pm-card--full {
    grid-column: 1 / -1 !important;
}body.single-ttbm_tour .nztour-pm-label {
    margin: 0 0 7px !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: #66717b !important;
    word-break: keep-all !important;
}body.single-ttbm_tour .nztour-pm-value {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    color: #303840 !important;

    /*
     * NZTour detail template already converts saved newlines to <br> with nl2br().
     * `white-space: pre-line` rendered the original newline a second time,
     * making one Enter look like a blank paragraph.
     *
     * Keep normal whitespace handling here:
     * - Enter once  -> one <br> line break
     * - Enter twice -> two <br> breaks, creating the intended paragraph gap
     */
    white-space: normal !important;

    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
}body.single-ttbm_tour .nztour-pm-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px 22px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}body.single-ttbm_tour .nztour-pm-list > li {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 0 20px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: #3e4851 !important;
    box-sizing: border-box !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
}body.single-ttbm_tour .nztour-pm-list > li::before {
    content: "•" !important;
    position: absolute !important;
    left: 3px !important;
    top: 0 !important;
    font-weight: 800 !important;
    color: #59636c !important;
}body.single-ttbm_tour .nztour-pm-list--included,
body.single-ttbm_tour .nztour-pm-list--excluded {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}body.single-ttbm_tour .nztour-pm-list--included > li::before {
    content: "✓" !important;
    color: #58aebc !important;
}body.single-ttbm_tour .nztour-pm-list--excluded > li::before {
    content: "×" !important;
    color: #df5475 !important;
}body.single-ttbm_tour .nztour-pm-list--preparation {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}body.single-ttbm_tour .nztour-pm-list--single {
    grid-template-columns: 1fr !important;
}@media only screen and (max-width: 991px) {body.single-ttbm_tour .nztour-pm-grid {
        grid-template-columns: 1fr !important;
    }body.single-ttbm_tour .nztour-pm-card--full {
        grid-column: auto !important;
    }body.single-ttbm_tour .nztour-pm-list--included,
    body.single-ttbm_tour .nztour-pm-list--excluded,
    body.single-ttbm_tour .nztour-pm-list--preparation {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }}@media only screen and (max-width: 767px) {body.single-ttbm_tour .nztour-pm-section {
        margin-bottom: 18px !important;
    }body.single-ttbm_tour .nztour-pm-section-title {
        margin-bottom: 10px !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
    }body.single-ttbm_tour .nztour-pm-card,
    body.single-ttbm_tour .nztour-pm-panel {
        padding: 13px 14px !important;
        border-radius: 10px !important;
    }body.single-ttbm_tour .nztour-pm-list--included,
    body.single-ttbm_tour .nztour-pm-list--excluded,
    body.single-ttbm_tour .nztour-pm-list--preparation {
        grid-template-columns: 1fr !important;
    }}/* =========================================================
   NZTour Product Manager - Tour Overview drag/drop layout
   2026-10-01
   PC: up to 4 equal columns per row.
   Empty fields are omitted by PHP, so 3 visible items = 3 equal columns.
   간략일정 always uses a full-width row.
   ========================================================= */body.single-ttbm_tour .nztour-pm-overview {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}body.single-ttbm_tour .nztour-pm-overview-row {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}body.single-ttbm_tour .nztour-pm-overview-row:last-child {
    margin-bottom: 0 !important;
}body.single-ttbm_tour .nztour-pm-overview-row--cols-1,
body.single-ttbm_tour .nztour-pm-overview-row--summary {
    grid-template-columns: minmax(0, 1fr) !important;
}body.single-ttbm_tour .nztour-pm-overview-row--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}body.single-ttbm_tour .nztour-pm-overview-row--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}body.single-ttbm_tour .nztour-pm-overview-row--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}body.single-ttbm_tour .nztour-pm-section--overview .nztour-pm-card {
    min-width: 0 !important;
}body.single-ttbm_tour .nztour-pm-card--summary {
    width: 100% !important;
}@media only screen and (max-width: 991px) {body.single-ttbm_tour .nztour-pm-overview-row--cols-3,
    body.single-ttbm_tour .nztour-pm-overview-row--cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }}@media only screen and (max-width: 767px) {body.single-ttbm_tour .nztour-pm-overview-row--cols-2,
    body.single-ttbm_tour .nztour-pm-overview-row--cols-3,
    body.single-ttbm_tour .nztour-pm-overview-row--cols-4 {
        grid-template-columns: minmax(0, 1fr) !important;
    }}/* =========================================================
   NZTour Product Manager - 출발·미팅 안내 DnD rows
   저장된 줄 순서를 그대로 출력하고, 빈 항목은 제외한 뒤
   한 줄의 남은 카드 수(1~3개)에 따라 균등 분할합니다.
   ========================================================= */body.single-ttbm_tour .nztour-pm-departure {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}body.single-ttbm_tour .nztour-pm-departure-row {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}body.single-ttbm_tour .nztour-pm-departure-row--cols-1 {
    grid-template-columns: minmax(0, 1fr) !important;
}body.single-ttbm_tour .nztour-pm-departure-row--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}body.single-ttbm_tour .nztour-pm-departure-row--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}@media only screen and (max-width: 991px) {body.single-ttbm_tour .nztour-pm-departure-row--cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }}@media only screen and (max-width: 767px) {body.single-ttbm_tour .nztour-pm-departure-row--cols-2,
    body.single-ttbm_tour .nztour-pm-departure-row--cols-3 {
        grid-template-columns: 1fr !important;
    }}


/* =========================================================
   v1.4.19 - section layout builder
   Desktop max 4 columns / tablet max 2 / mobile one column
   ========================================================= */
body.single-ttbm_tour .nztour-pm-details.nztour-pm-details--section-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px 16px!important;align-items:start!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section{min-width:0!important;margin:0!important;align-self:start!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-1{grid-column:span 1!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-2{grid-column:span 2!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-3{grid-column:span 3!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-4{grid-column:span 4!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-grid,body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-overview-row,body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-departure-row,body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-list{grid-template-columns:1fr!important}
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-overview-row--cols-3,body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-overview-row--cols-4,body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-departure-row--cols-3,body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-list--included,body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-list--excluded,body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-list--preparation{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media only screen and (max-width:991px){
body.single-ttbm_tour .nztour-pm-details.nztour-pm-details--section-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 12px!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-1,body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-2{grid-column:span 1!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-3,body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section--span-4{grid-column:span 2!important}}
@media only screen and (max-width:767px){
body.single-ttbm_tour .nztour-pm-details.nztour-pm-details--section-grid{grid-template-columns:1fr!important;gap:18px!important}
body.single-ttbm_tour .nztour-pm-details--section-grid>.nztour-pm-section{grid-column:1/-1!important}}


/* =========================================================
   v1.4.21 — free field composition inside each group
   ========================================================= */
body.single-ttbm_tour .nztour-pm-group-field-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-1{grid-column:span 1!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-2{grid-column:span 2!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-3{grid-column:span 3!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-4{grid-column:span 4!important}

body.single-ttbm_tour .nztour-pm-section--include-exclude .nztour-pm-group-field-grid{gap:10px!important}
body.single-ttbm_tour .nztour-pm-section--include-exclude .nztour-pm-field-card{
    border:1px solid #dfe5ea!important;
    border-radius:12px!important;
}

body.single-ttbm_tour .nztour-pm-field-span-1 .nztour-pm-list{grid-template-columns:1fr!important}
body.single-ttbm_tour .nztour-pm-field-span-2 .nztour-pm-list--included,
body.single-ttbm_tour .nztour-pm-field-span-2 .nztour-pm-list--excluded,
body.single-ttbm_tour .nztour-pm-field-span-2 .nztour-pm-list--preparation{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-group-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-4,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-3{grid-column:span 3!important}

body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-group-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-4,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-3,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-2{grid-column:span 2!important}

body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-group-field-grid{grid-template-columns:1fr!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-card{grid-column:1 / -1!important}

@media only screen and (max-width:991px){
    body.single-ttbm_tour .nztour-pm-group-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    body.single-ttbm_tour .nztour-pm-field-span-2,
    body.single-ttbm_tour .nztour-pm-field-span-3,
    body.single-ttbm_tour .nztour-pm-field-span-4{grid-column:span 2!important}
}
@media only screen and (max-width:767px){
    body.single-ttbm_tour .nztour-pm-group-field-grid{grid-template-columns:1fr!important}
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-card{grid-column:1 / -1!important}
}


/* =========================================================
   v1.4.22 — 12-column field widths (quarters + thirds)
   ========================================================= */
body.single-ttbm_tour .nztour-pm-group-field-grid{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-quarter{grid-column:span 3!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-third{grid-column:span 4!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-half{grid-column:span 6!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-two-thirds{grid-column:span 8!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-three-quarter{grid-column:span 9!important}
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-full{grid-column:span 12!important}

body.single-ttbm_tour .nztour-pm-field-span-quarter .nztour-pm-list,
body.single-ttbm_tour .nztour-pm-field-span-third .nztour-pm-list{grid-template-columns:1fr!important}
body.single-ttbm_tour .nztour-pm-field-span-half .nztour-pm-list--included,
body.single-ttbm_tour .nztour-pm-field-span-half .nztour-pm-list--excluded,
body.single-ttbm_tour .nztour-pm-field-span-half .nztour-pm-list--preparation{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Field ratios remain available even when the whole section itself is narrower. */
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-group-field-grid,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-group-field-grid,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-group-field-grid{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-span-quarter,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-quarter,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-quarter{grid-column:span 3!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-span-third,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-third,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-third{grid-column:span 4!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-span-half,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-half,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-half{grid-column:span 6!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-span-two-thirds,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-two-thirds,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-two-thirds{grid-column:span 8!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-span-three-quarter,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-three-quarter,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-three-quarter{grid-column:span 9!important}
body.single-ttbm_tour .nztour-pm-section--span-1 .nztour-pm-field-span-full,
body.single-ttbm_tour .nztour-pm-section--span-2 .nztour-pm-field-span-full,
body.single-ttbm_tour .nztour-pm-section--span-3 .nztour-pm-field-span-full{grid-column:span 12!important}

@media only screen and (max-width:991px){
    body.single-ttbm_tour .nztour-pm-group-field-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-quarter,
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-third,
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-half{grid-column:span 6!important}
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-two-thirds,
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-three-quarter,
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-span-full{grid-column:span 12!important}
}
@media only screen and (max-width:767px){
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-card{grid-column:1 / -1!important}
}


/* =========================================================
   v1.4.24 — current field-card border baseline
   Old joined Include/Exclude border rules were removed.
   Every active Product Manager field card owns a complete border.
   ========================================================= */
body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-card{
    border:1px solid #dfe5ea!important;
    border-radius:12px!important;
}
@media only screen and (max-width:767px){
    body.single-ttbm_tour .nztour-pm-group-field-grid > .nztour-pm-field-card{
        border-radius:10px!important;
    }
}
