/* ============================================================
   TCE Packages System — trip_program + tce_pricing_v6
   Namespace: tcp-*
============================================================ */
:root{
    --tcp-teal:#1a3d47; --tcp-teal-2:#0d3d4e;
    --tcp-gold:#AE9A78; --tcp-gold-2:#7A6440;
    --tcp-ink:#1f2d33; --tcp-muted:#647680; --tcp-line:#e7ebec; --tcp-soft:#f6f8f9;
}
.tcp-wrap, .tcp-wrap *, .tcp-book-card, .tcp-book-card *{box-sizing:border-box;}
.tcp-wrap{padding:20px 0;scroll-margin-top:100px;}

.tcp-sec-head{margin-bottom:22px;}
.tcp-eyebrow{display:flex;align-items:center;gap:7px;color:var(--tcp-gold-2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:8px;}
.tcp-eyebrow svg{color:var(--tcp-gold);}
.tcp-sec-head h2{font-size:1.35em;font-weight:800;color:var(--tcp-teal);margin:0;}

.tcp-season-tabs{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap;}
.tcp-season-tab{
    border:1.5px solid var(--tcp-line);border-radius:12px;padding:10px 18px;cursor:pointer;background:#fff;
    font-family:inherit;font-size:.88em;font-weight:700;color:var(--tcp-ink);transition:all .2s;text-align:left;
}
.tcp-season-tab small{display:block;font-weight:500;color:var(--tcp-muted);font-size:.78em;margin-top:2px;}
.tcp-season-tab:hover{border-color:var(--tcp-gold);}
.tcp-season-tab.active{border-color:var(--tcp-teal);background:var(--tcp-teal);color:#fff;}
.tcp-season-tab.active small{color:rgba(255,255,255,.75);}

.tcp-tiers{display:flex;flex-direction:column;gap:16px;}
.tcp-tier{
    position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;
    background:#fff;border:1.5px solid var(--tcp-line);border-radius:18px;overflow:hidden;
    transition:all .25s;box-shadow:0 3px 14px rgba(26,61,71,.04);
}
.tcp-tier:hover{box-shadow:0 10px 28px rgba(26,61,71,.09);}
.tcp-tier-data{padding:24px 26px;min-width:0;}
.tcp-tier-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;}
.tcp-badge{
    display:inline-block;background:var(--tcp-gold);color:#fff;font-size:.66em;font-weight:800;
    text-transform:uppercase;letter-spacing:.5px;padding:5px 13px;border-radius:20px;margin-bottom:14px;
}
.tcp-tier-num{
    font-family:'Manrope',sans-serif;font-size:1.6em;font-weight:800;color:var(--tcp-line);flex-shrink:0;
    line-height:1;letter-spacing:-.5px;
}
.tcp-tier-head-text{min-width:0;}
.tcp-tier-head h4{font-size:1.12em;color:var(--tcp-teal);font-weight:800;margin:0 0 5px;}
.tcp-tier-head p{font-size:.8em;color:var(--tcp-muted);margin:0;line-height:1.6;}

.tcp-tier-table-head{
    display:flex;justify-content:space-between;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--tcp-line);
}
.tcp-tier-table-head span{font-size:.68em;font-weight:800;color:var(--tcp-muted);text-transform:uppercase;letter-spacing:.7px;}

.tcp-tier-rooms{display:flex;flex-direction:column;gap:8px;}
.tcp-room-row{
    display:flex;justify-content:space-between;align-items:center;padding:11px 14px;gap:8px;min-width:0;
    border:1.5px solid var(--tcp-line);border-radius:10px;cursor:pointer;transition:all .18s;
}
.tcp-room-row:hover{border-color:var(--tcp-gold);}
.tcp-room-row.selected{border-color:var(--tcp-teal);background:rgba(26,61,71,.045);}
.tcp-room-name{display:flex;align-items:center;gap:10px;font-size:.88em;font-weight:600;color:var(--tcp-ink);}
.tcp-room-dot{
    width:16px;height:16px;border-radius:50%;border:2px solid var(--tcp-gold);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;transition:all .15s;
}
.tcp-room-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--tcp-teal);opacity:0;transform:scale(.4);transition:all .15s;}
.tcp-room-row.selected .tcp-room-dot{border-color:var(--tcp-teal);}
.tcp-room-row.selected .tcp-room-dot::after{opacity:1;transform:scale(1);}
.tcp-room-price{font-size:.94em;font-weight:800;color:var(--tcp-ink);white-space:nowrap;}
.tcp-room-price small{font-size:.65em;font-weight:600;color:var(--tcp-muted);}
.tcp-tailormade{display:block;text-align:center;padding:12px;border:1.5px dashed var(--tcp-line);border-radius:10px;color:var(--tcp-teal);font-size:.84em;font-weight:700;text-decoration:none;}
.tcp-tailormade:hover{border-color:var(--tcp-gold);}

/* ── Right-side price panel — updates live with the selected room ── */
.tcp-tier-panel{
    background:linear-gradient(135deg,var(--tcp-soft),#eee8dd);padding:24px 20px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;
    border-left:1px solid var(--tcp-line);
}
.tcp-panel-tag{font-size:.68em;font-weight:800;color:var(--tcp-muted);text-transform:uppercase;letter-spacing:1px;}
.tcp-panel-price{display:flex;align-items:flex-start;gap:2px;margin:2px 0;}
.tcp-panel-price span{font-size:1em;font-weight:800;color:var(--tcp-gold-2);margin-top:4px;}
.tcp-panel-price strong{font-size:2.2em;font-weight:800;color:var(--tcp-teal);line-height:1;}
.tcp-panel-note{font-size:.78em;color:var(--tcp-muted);margin-bottom:10px;}
.tcp-panel-selection{
    font-size:.74em;font-weight:700;color:var(--tcp-gold-2);text-transform:uppercase;letter-spacing:.5px;
    margin-bottom:16px;
}
.tcp-panel-btn{
    width:100%;background:var(--tcp-teal-2);color:#fff;border:none;border-radius:11px;padding:13px 10px;
    font-weight:700;font-size:.84em;cursor:pointer;font-family:inherit;transition:background .2s;
}
.tcp-panel-btn:hover{background:var(--tcp-teal);}
.tcp-panel-empty{font-size:.82em;color:var(--tcp-muted);}

@media (max-width:700px){
    .tcp-tier{grid-template-columns:1fr;}
    .tcp-tier-panel{border-left:none;border-top:1px solid var(--tcp-line);}
    .tcp-tier-rooms{grid-template-columns:1fr;}
}

/* ── Itinerary — two-level timeline (Days → Items), same design as Cruise ── */
.tcp-itin-wrap{padding:20px 0;}
.tcp-sec-sub{font-size:.92em;color:var(--tcp-muted);margin:6px 0 0;}
.tcp-itin-v2{position:relative;padding-left:56px;}
.tcp-itin-v2::before{content:'';position:absolute;left:20px;top:20px;bottom:20px;width:0;border-left:2px dashed var(--tcp-gold);}
.tcp-itin-day2{position:relative;margin-bottom:14px;}
.tcp-itin-day2:last-child{margin-bottom:0;}
.tcp-itin-day2-num{
    position:absolute;left:-56px;top:14px;width:40px;height:40px;border-radius:50%;
    background:var(--tcp-gold);color:#fff;display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:.9em;z-index:2;box-shadow:0 0 0 4px #fff;
}
.tcp-itin-day2-card{border:1px solid var(--tcp-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 3px 12px rgba(26,61,71,.05);}
.tcp-itin-day2-head{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;}
.tcp-itin-day2-badge{background:var(--tcp-gold);color:#fff;font-size:.68em;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:5px 11px;border-radius:7px;flex-shrink:0;}
.tcp-itin-day2-head strong{font-size:.96em;color:var(--tcp-teal);font-weight:700;}
.tcp-itin-day2-head .tcp-chev{margin-left:auto;color:var(--tcp-muted);transition:transform .2s;flex-shrink:0;}
.tcp-itin-day2.open .tcp-itin-day2-head .tcp-chev{transform:rotate(180deg);}
.tcp-itin-day2-body{max-height:0;overflow:hidden;padding:0 20px;transition:max-height .35s ease,padding .35s ease;}
.tcp-itin-day2.open .tcp-itin-day2-body{max-height:4000px;padding:6px 20px 20px;transition:max-height .5s ease,padding .35s ease;}

.tcp-itin-item{position:relative;padding:18px 0 18px 26px;border-top:1px dashed var(--tcp-line);}
.tcp-itin-item:first-child{border-top:none;padding-top:8px;}
.tcp-itin-item::before{content:'';position:absolute;left:0;top:26px;bottom:-2px;width:0;border-left:1.5px dashed var(--tcp-line);}
.tcp-itin-item:last-child::before{display:none;}
.tcp-itin-item-dot{position:absolute;left:-5px;top:22px;width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--tcp-gold);}
.tcp-itin-item h5{font-size:.94em;font-weight:800;color:var(--tcp-teal);margin:0 0 12px;}
.tcp-itin-item-photo{width:100%;border-radius:12px;aspect-ratio:16/8;object-fit:cover;margin-bottom:14px;background:var(--tcp-soft);}
.tcp-itin-item p{color:#4b5a63;font-size:.87em;line-height:1.65;margin:0 0 16px;}
.tcp-itin-item-places-lbl{display:flex;align-items:center;gap:6px;font-size:.72em;font-weight:800;color:var(--tcp-teal);text-transform:uppercase;letter-spacing:.6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--tcp-line);}
.tcp-itin-item-places-lbl svg{color:var(--tcp-gold);}
.tcp-itin-item-places{display:flex;flex-direction:column;gap:8px;}
.tcp-itin-place-chip{display:flex;align-items:center;gap:12px;background:var(--tcp-soft);border-radius:11px;padding:8px 14px 8px 8px;text-decoration:none;transition:background .15s;}
.tcp-itin-place-chip:hover{background:#eef1f1;}
.tcp-itin-place-chip img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0;}
.tcp-itin-place-ph{width:44px;height:44px;border-radius:8px;background:#dfe7e9;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.tcp-itin-place-chip span:last-child{font-size:.86em;font-weight:600;color:var(--tcp-ink);}

@media (max-width:980px){
    .tcp-itin-v2{padding-left:44px;}
    .tcp-itin-v2::before{left:14px;}
    .tcp-itin-day2-num{left:-44px;width:32px;height:32px;font-size:.8em;}
}
