/* ==========================================================================
   TravelGate package page. Namespaced .tgpk- so it cannot collide with the
   main plugin's .tgp- classes or the legacy snippet's .tgp2-.
   ========================================================================== */
/* The page may sit inside a theme or builder container narrower than the
   site's own 1320px shell. These rules neutralise that for this component
   only, without resorting to 100vw, which would introduce a scrollbar. */
.tgpk {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	--navy: #061936;
	--navy-2: #0b2b56;
	--teal: #0095a9;
	--teal-2: #16c6d4;
	--ink: #14395c;
	--muted: #5f7789;
	--line: #dfeaf0;
	--bg: #f4f8fb;
	background: var(--bg);
	color: var(--ink);
	font-family: 'Manrope', system-ui, -apple-system, sans-serif;
}
.tgpk h1, .tgpk h2, .tgpk h3 { font-family: 'Sora', system-ui, sans-serif; color: var(--navy); }

/* ---------- hero ---------- */
.tgpk-hero {
	position: relative;
	min-height: clamp(520px, 60vw, 760px);
	display: flex;
	align-items: center;
	background: var(--navy) center / cover no-repeat;
}
.tgpk-hero-inner { width: min(1320px, 92vw); margin: 0 auto; padding: 90px 0 76px; color: #fff; }
.tgpk-badge {
	display: inline-block;
	padding: 8px 15px;
	border: 1px solid rgba(22, 198, 212, .5);
	border-radius: 999px;
	background: rgba(9, 60, 88, .5);
	font-size: 11px; font-weight: 800; letter-spacing: .14em;
	color: var(--teal-2);
}
.tgpk-hero h1 {
	color: #fff;
	font-size: clamp(38px, 5.8vw, 78px);
	line-height: 1.08;
	margin: 18px 0 0;
	max-width: 15ch;
}
.tgpk-hero-sub { font-size: clamp(15px, 1.5vw, 20px); line-height: 1.55; max-width: 56ch; margin: 14px 0 0; color: rgba(255,255,255,.88); }
.tgpk-facts { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; }
.tgpk-fact { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,.94); }
.tgpk-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--teal-2); flex: none; }

/* ---------- layout ---------- */
.tgpk-wrap {
	width: min(1320px, 92vw);
	margin: -70px auto 80px;
	position: relative;
	display: grid;
	/* Roughly 70/30: the summary needs enough room for a price and six
	   rows without wrapping, the content column takes the rest. */
	grid-template-columns: minmax(0, 69%) minmax(300px, 1fr);
	gap: 28px;
	align-items: start;
}
.tgpk-main { min-width: 0; }
.tgpk-section { margin-top: 34px; }
.tgpk-eyebrow { display: block; font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: var(--teal); }
.tgpk-section h2 { font-size: clamp(24px, 3vw, 36px); margin: 8px 0 20px; }
.tgpk-lead { color: var(--muted); font-size: 15px; line-height: 1.6; margin: 0 0 18px; }
.tgpk-note, .tgpk-fine { color: var(--muted); font-size: 12.5px; line-height: 1.55; }

/* ---------- configurator ---------- */
.tgpk-config {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 24px;
	padding: 34px 32px;
	box-shadow: 0 24px 60px rgba(8, 43, 92, .10);
}
.tgpk-config h2 { font-size: clamp(22px, 2.6vw, 30px); margin: 0 0 6px; }
.tgpk-sub { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 22px 0 10px; }
.tgpk-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tgpk-fields.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tgpk label { display: block; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.tgpk input, .tgpk select {
	display: block; width: 100%; height: 56px; margin-top: 7px;
	padding: 0 13px; box-sizing: border-box;
	border: 1.5px solid var(--line); border-radius: 12px;
	background: #fff; color: var(--ink);
	font-family: inherit; font-size: 15px;
}
.tgpk input:focus, .tgpk select:focus {
	outline: none; border-color: var(--teal);
	box-shadow: 0 0 0 3px rgba(0, 149, 169, .12);
}

/* ---------- itinerary ---------- */
.tgpk-days { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.tgpk-day {
	display: grid; grid-template-columns: 250px minmax(0, 1fr);
	background: #fff; border: 1px solid var(--line); border-radius: 20px;
	overflow: hidden; box-shadow: 0 10px 34px rgba(8, 43, 92, .06);
}
.tgpk-day.is-flat { grid-template-columns: minmax(0, 1fr); }
.tgpk-day-img { height: 100%; min-height: 190px; }
.tgpk-day-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tgpk-day-body { padding: 24px; }
.tgpk-day-num {
	display: inline-block; padding: 5px 11px; border-radius: 999px;
	background: rgba(0, 149, 169, .1); color: var(--teal);
	font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
.tgpk-day-body h3 { font-size: 20px; margin: 11px 0 7px; }
.tgpk-day-body p { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; }

/* ---------- experiences ---------- */
.tgpk-exp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tgpk-card {
	background: #fff; border: 1px solid var(--line); border-radius: 20px;
	overflow: hidden; box-shadow: 0 10px 34px rgba(8, 43, 92, .06);
	transition: transform .18s ease, box-shadow .18s ease;
}
.tgpk-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(8, 43, 92, .12); }
.tgpk-card-img { height: 180px; }
.tgpk-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tgpk-card-body { padding: 20px; }
.tgpk-tag { font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.tgpk-card-body h3 { font-size: 18px; margin: 7px 0 6px; }
.tgpk-card-body p { color: var(--muted); font-size: 13.5px; line-height: 1.6; margin: 0; }

/* ---------- lists ---------- */
.tgpk-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tgpk-list { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 24px; }
.tgpk-list h3 { font-size: 18px; margin: 0 0 14px; }
.tgpk-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.tgpk-list li { display: flex; gap: 11px; font-size: 14px; line-height: 1.55; color: var(--ink); }
.tgpk-mark {
	flex: none; width: 21px; height: 21px; border-radius: 50%;
	display: grid; place-items: center; font-size: 12px; font-weight: 700; margin-top: 1px;
}
.tgpk-mark--yes { background: rgba(0, 149, 169, .12); color: var(--teal); }
.tgpk-mark--no { background: rgba(138, 106, 30, .12); color: #8a6a1e; }

/* ---------- information ---------- */
.tgpk-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tgpk-info-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 20px; }
.tgpk-info-icon { width: 34px; height: 34px; object-fit: contain; margin-bottom: 10px; }
.tgpk-info-card h3 { font-size: 15px; margin: 0 0 6px; }
.tgpk-info-card p { color: var(--muted); font-size: 13.5px; line-height: 1.6; margin: 0; }

/* ---------- sticky summary ---------- */
.tgpk-summary {
	position: sticky; top: 100px;
	background: #fff; border: 1px solid var(--line); border-radius: 22px;
	padding: 26px; box-shadow: 0 24px 60px rgba(8, 43, 92, .10);
}
.tgpk-summary h3 { font-size: 21px; margin: 8px 0 18px; line-height: 1.3; }
.tgpk-sum-rows { margin: 0 0 18px; display: grid; gap: 11px; }
.tgpk-sum-rows > div { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.tgpk-sum-rows dt { font-size: 12px; color: var(--muted); }
.tgpk-sum-rows dd { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--navy); text-align: right; }
.tgpk-price {
	font-family: 'Sora', sans-serif; font-size: clamp(24px, 3vw, 33px); font-weight: 800;
	color: var(--navy); padding-top: 16px; border-top: 1px solid var(--line);
}
.tgpk-price-note { font-size: 12px; color: var(--muted); margin: 4px 0 0; }
.tgpk-price.is-request { font-size: 19px; color: #8a6a1e; }
.tgpk-cta {
	width: 100%; margin-top: 18px; padding: 16px;
	border: 0; border-radius: 13px; cursor: pointer;
	background: linear-gradient(95deg, var(--teal), var(--teal-2));
	color: #fff; font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 700;
	transition: opacity .18s ease, transform .18s ease;
}
.tgpk-cta:hover:not(:disabled) { transform: translateY(-1px); }
.tgpk-cta:disabled { opacity: .42; cursor: not-allowed; }

/* ---------- responsive ---------- */
@media (max-width: 1040px) {
	.tgpk-wrap { grid-template-columns: minmax(0, 1fr); }
	.tgpk-summary { position: static; }
}
@media (max-width: 760px) {
	.tgpk-wrap { width: calc(100% - 32px); margin-top: -46px; gap: 20px; }
	.tgpk-hero-inner { width: calc(100% - 32px); padding: 46px 0; }
	.tgpk-config { padding: 20px; border-radius: 18px; }
	.tgpk-fields, .tgpk-fields.four, .tgpk-exp, .tgpk-lists, .tgpk-info { grid-template-columns: minmax(0, 1fr); }
	.tgpk-day { grid-template-columns: minmax(0, 1fr); }
	.tgpk-day-img { min-height: 200px; }
	.tgpk-hero h1 { max-width: none; }
}


/* A parent that constrains the page: widen only the ancestors that wrap a
   package, so the section can reach the site's normal content width. */
.single-tg_package .site-main,
.single-tg_package .entry-content,
.single-tg_package .content-area,
.single-tg_package #primary,
.single-tg_package .elementor-section-boxed > .elementor-container {
	max-width: none !important;
	width: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
}

/* An unselected image gets a quiet placeholder, not large initials. */
.tgpk-img-empty {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 150px;
	background:
		linear-gradient(135deg, rgba(0,149,169,.07), rgba(6,25,54,.05)),
		var(--bg);
	border-bottom: 1px solid var(--line);
}
.tgpk-img-empty svg { width: 34px; height: 34px; opacity: .3; }
.tgpk-day .tgpk-img-empty { border-bottom: 0; border-right: 1px solid var(--line); }


/* ---------- overview, tinting, summary rows, CTA band ---------- */
.tgpk-overview .tgpk-lead { font-size: 16px; line-height: 1.75; max-width: 70ch; }

/* Alternating tint stops the page reading as one long white form. */
.tgpk-section--tint {
	background: linear-gradient(180deg, rgba(0,149,169,.05), rgba(0,149,169,.02));
	border: 1px solid var(--line);
	border-radius: 24px;
	padding: 30px;
	margin-top: 34px;
}

.tgpk-sum-opt[hidden] { display: none; }
.tgpk-summary { padding: 30px; border-radius: 24px; }
.tgpk-summary h3 { font-size: 22px; }

.tgpk-cta-band {
	margin-top: 10px;
	padding: 68px 0 76px;
	background:
		radial-gradient(1100px 380px at 18% 0%, rgba(22,198,212,.22), transparent 62%),
		linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 100%);
	color: #fff;
}
.tgpk-cta-inner { width: min(1320px, 92vw); margin: 0 auto; text-align: center; }
.tgpk-cta-inner h2 { color: #fff; font-size: clamp(24px, 3.2vw, 38px); margin: 10px 0 12px; }
.tgpk-cta-inner p { color: rgba(255,255,255,.82); font-size: 15.5px; line-height: 1.65; max-width: 62ch; margin: 0 auto; }
.tgpk-cta-link {
	display: inline-block; margin-top: 26px; padding: 15px 34px;
	border-radius: 13px; text-decoration: none;
	background: linear-gradient(95deg, var(--teal), var(--teal-2));
	color: #fff; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 15px;
}
.tgpk-cta-link:hover { color: #fff; opacity: .93; }

@media (max-width: 1040px) {
	.tgpk-section--tint { padding: 22px; }
}
@media (max-width: 760px) {
	.tgpk-hero-inner { padding: 60px 0 50px; }
	.tgpk-config { padding: 22px 18px; }
	.tgpk-section--tint { padding: 18px; border-radius: 18px; }
	.tgpk-cta-band { padding: 48px 0 54px; }
}

/* ==========================================================================
   CTA button: stated explicitly.
   The theme styles buttons too, and its colour was showing through on both
   the background and the label. Each property is set here rather than relying
   on inheritance, including the disabled and focus states, so no theme accent
   can appear inside this component.
   ========================================================================== */
.tgpk .tgpk-cta,
.tgpk button.tgpk-cta {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	margin-top: 18px;
	padding: 17px 20px;
	border: 0 !important;
	border-radius: 13px !important;
	background: linear-gradient(95deg, #0095a9, #16c6d4) !important;
	background-color: #0095a9 !important;
	color: #ffffff !important;
	font-family: 'Sora', system-ui, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	letter-spacing: .01em;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: transform .18s ease, opacity .18s ease;
}
.tgpk .tgpk-cta:hover:not(:disabled),
.tgpk button.tgpk-cta:hover:not(:disabled) {
	background: linear-gradient(95deg, #00707f, #0eb4c4) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
.tgpk .tgpk-cta:focus,
.tgpk .tgpk-cta:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 149, 169, .28) !important;
	color: #ffffff !important;
}
/* Disabled reads as quiet navy-grey, never a warning colour. */
.tgpk .tgpk-cta:disabled,
.tgpk button.tgpk-cta:disabled {
	background: #e3ecf2 !important;
	background-image: none !important;
	color: #8397a8 !important;
	cursor: not-allowed;
	transform: none;
	opacity: 1;
}

/* The same treatment for the band link, which is an <a> the theme also styles. */
.tgpk .tgpk-cta-link {
	background: linear-gradient(95deg, #0095a9, #16c6d4) !important;
	color: #ffffff !important;
	border: 0 !important;
	text-decoration: none !important;
	text-shadow: none !important;
}
.tgpk .tgpk-cta-link:hover,
.tgpk .tgpk-cta-link:focus { color: #ffffff !important; }

/* ==========================================================================
   Rooms and travellers (D3)
   ========================================================================== */
.tgpk-rooms { display: grid; gap: 12px; margin-top: 4px; }
.tgpk-room {
	border: 1.5px solid var(--line);
	border-radius: 16px;
	padding: 16px 18px;
	background: #fff;
}
.tgpk-room-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.tgpk-room-name {
	font-family: 'Sora', sans-serif; font-size: 13px; font-weight: 700;
	letter-spacing: .04em; color: var(--navy);
}
.tgpk-room-remove {
	border: 0; background: none; cursor: pointer; padding: 6px 4px;
	font-size: 12.5px; font-weight: 600; color: #8a6a1e;
}
.tgpk-room-remove:hover { text-decoration: underline; }
.tgpk-room-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }

.tgpk-addroom {
	display: inline-flex; align-items: center; gap: 8px;
	margin-top: 14px; padding: 13px 20px;
	border: 1.5px dashed #bcd7e0; border-radius: 13px;
	background: rgba(0, 149, 169, .05); cursor: pointer;
	font-family: 'Sora', sans-serif; font-size: 14px; font-weight: 700; color: var(--teal);
}
.tgpk-addroom:hover { background: rgba(0, 149, 169, .1); border-color: var(--teal); }
.tgpk-addroom span { font-size: 17px; line-height: 1; }

/* Room breakdown in the sticky summary. */
.tgpk-roomlist { margin: 4px 0 14px; display: grid; gap: 6px; }
.tgpk-roomline {
	display: flex; justify-content: space-between; gap: 10px;
	font-size: 12.5px; line-height: 1.45; color: var(--muted);
}
.tgpk-roomline span:first-child { font-weight: 700; color: var(--navy); flex: none; }
.tgpk-roomline span:last-child { text-align: right; }

/* Quiet loading state while the server prices the selection. */
.tgpk-price.is-busy { opacity: .45; transition: opacity .12s ease; }

@media (max-width: 760px) {
	/* Two per row on a phone: four number selects side by side become
	   unusable long before the viewport reaches its minimum. */
	.tgpk-room-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.tgpk-room { padding: 14px; border-radius: 14px; }
	.tgpk-addroom { width: 100%; justify-content: center; padding: 15px; }
	.tgpk-room-remove { padding: 8px 6px; }
}
@media (max-width: 420px) {
	.tgpk-room-fields { grid-template-columns: minmax(0, 1fr); }
}


/* ========================================================================== 
   A4.11 — Premium package detail presentation
   Keeps the D3 pricing/booking engine intact; visual system follows the main
   TravelGate site and removes the duplicate dark CTA before the global footer.
   ========================================================================== */
.single-tg_package .tgpk { --shell: min(1240px, calc(100% - 48px)); background:#f6f9fc; }
.single-tg_package .tgpk-hero { min-height:430px; align-items:flex-end; background-position:center 46%; }
.single-tg_package .tgpk-hero:after { content:""; position:absolute; inset:auto 0 0; height:120px; background:linear-gradient(180deg,transparent,rgba(3,18,42,.22)); pointer-events:none; }
.single-tg_package .tgpk-hero-inner { width:var(--shell); padding:72px 0 76px; position:relative; z-index:1; }
.single-tg_package .tgpk-hero h1 { font-size:clamp(38px,4.5vw,60px); max-width:18ch; letter-spacing:-.035em; }
.single-tg_package .tgpk-hero-sub { font-size:17px; }
.single-tg_package .tgpk-facts { margin-top:20px; }

.tgpk-page-nav { position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid #dfeaf0; box-shadow:0 5px 18px rgba(8,43,92,.04); }
.admin-bar .tgpk-page-nav { top:32px; }
.tgpk-page-nav-inner { width:var(--shell); margin:auto; display:flex; gap:28px; overflow:auto; scrollbar-width:none; }
.tgpk-page-nav-inner::-webkit-scrollbar { display:none; }
.tgpk-page-nav a { flex:none; padding:17px 0 14px; color:#35516d; font:700 13px/1.2 'Manrope',sans-serif; text-decoration:none; border-bottom:3px solid transparent; }
.tgpk-page-nav a:hover,.tgpk-page-nav a:focus { color:#0095a9; border-bottom-color:#16c6d4; }

.single-tg_package .tgpk-wrap { width:var(--shell); margin:34px auto 64px; grid-template-columns:minmax(0,1fr) 340px; gap:26px; }
.single-tg_package .tgpk-main { display:grid; gap:22px; }
.single-tg_package .tgpk-section { margin-top:0; background:#fff; border:1px solid #dfeaf0; border-radius:18px; padding:28px; box-shadow:0 8px 26px rgba(8,43,92,.045); }
.single-tg_package .tgpk-section--tint { background:#fff; }
.single-tg_package .tgpk-section h2 { font-size:26px; margin:7px 0 18px; letter-spacing:-.02em; }
.single-tg_package .tgpk-overview .tgpk-lead { margin-bottom:0; }

.single-tg_package .tgpk-config { border-radius:18px; padding:28px; box-shadow:0 10px 32px rgba(8,43,92,.07); }
.single-tg_package .tgpk-config h2 { font-size:25px; }
.single-tg_package .tgpk-fields { gap:16px; }
.single-tg_package .tgpk input,.single-tg_package .tgpk select { height:50px; border-radius:9px; }
.single-tg_package .tgpk-room { border-radius:12px; background:#fbfdff; }

.single-tg_package .tgpk-summary { top:76px; border-radius:18px; padding:25px; box-shadow:0 12px 36px rgba(8,43,92,.09); }
.admin-bar.single-tg_package .tgpk-summary { top:108px; }
.single-tg_package .tgpk-summary:before { content:"Package summary"; display:block; margin:-25px -25px 22px; padding:14px 25px; border-radius:18px 18px 0 0; background:#082b5c; color:#fff; font:700 13px/1.2 'Sora',sans-serif; }
.single-tg_package .tgpk-summary h3 { font-size:19px; }
.single-tg_package .tgpk-sum-rows>div { padding:7px 0; border-bottom:1px solid #edf2f5; }
.single-tg_package .tgpk-sum-rows>div:last-child { border-bottom:0; }

.single-tg_package .tgpk-exp { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.single-tg_package .tgpk-card { display:grid; grid-template-columns:150px minmax(0,1fr); min-height:128px; border-radius:14px; box-shadow:none; }
.single-tg_package .tgpk-card:hover { transform:none; box-shadow:0 10px 24px rgba(8,43,92,.08); }
.single-tg_package .tgpk-card-img { height:100%; min-height:128px; }
.single-tg_package .tgpk-card-body { padding:17px; align-self:center; }
.single-tg_package .tgpk-card-body h3 { font-size:16px; }
.single-tg_package .tgpk-img-empty { min-height:128px; border:0; background:linear-gradient(135deg,#edf7f9,#f3f6fa); }

.single-tg_package .tgpk-lists { gap:14px; }
.single-tg_package .tgpk-list { border-radius:14px; padding:22px; background:#fbfdff; }
.single-tg_package .tgpk-list--in { border-top:3px solid #16b9c8; }
.single-tg_package .tgpk-list--out { border-top:3px solid #c7d4df; }
.single-tg_package .tgpk-info-card { border-radius:13px; background:#fbfdff; }

/* The global TravelGate footer already contains the premium journey CTA. */
.single-tg_package .tgpk-cta-band { display:none !important; }

@media(max-width:1040px){
 .single-tg_package .tgpk-wrap{grid-template-columns:minmax(0,1fr);}
 .single-tg_package .tgpk-summary{position:static;}
}
@media(max-width:760px){
 .single-tg_package .tgpk{--shell:calc(100% - 28px);}
 .single-tg_package .tgpk-hero{min-height:390px;}
 .single-tg_package .tgpk-hero-inner{padding:52px 0 48px;}
 .single-tg_package .tgpk-wrap{margin-top:20px;}
 .tgpk-page-nav-inner{gap:22px;}
 .single-tg_package .tgpk-section,.single-tg_package .tgpk-config{padding:20px;border-radius:15px;}
 .single-tg_package .tgpk-exp{grid-template-columns:minmax(0,1fr);}
 .single-tg_package .tgpk-card{grid-template-columns:120px minmax(0,1fr);}
 .single-tg_package .tgpk-lists{grid-template-columns:minmax(0,1fr);}
}

/* ========================================================================== 
   A4.12 — Approved premium package-page target
   Compact editorial hero, trust strip, disciplined 2-column booking layout,
   uniform cards and a clean hand-off into the existing TravelGate footer.
   ========================================================================== */
.single-tg_package .tgpk{--shell:min(1320px,calc(100% - 64px));background:#f5f8fb}
.single-tg_package .tgpk-hero{min-height:430px;align-items:center;background-position:center 55%}
.single-tg_package .tgpk-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,52,.90) 0%,rgba(4,25,52,.68) 48%,rgba(4,25,52,.18) 100%);pointer-events:none}
.single-tg_package .tgpk-hero:after{height:1px;background:rgba(255,255,255,.12)}
.single-tg_package .tgpk-hero-inner{padding:64px 0 54px}
.single-tg_package .tgpk-hero h1{font-size:clamp(38px,4.2vw,58px);max-width:19ch;margin-top:16px}
.single-tg_package .tgpk-hero-sub{font-size:16px;margin-top:10px}
.single-tg_package .tgpk-facts{margin-top:18px;gap:10px 18px}
.single-tg_package .tgpk-fact{font-size:13px}
.tgpk-breadcrumbs{margin-bottom:18px;display:flex;gap:8px;align-items:center;font-size:12px;color:rgba(255,255,255,.78)}
.tgpk-breadcrumbs a{color:#fff;text-decoration:none}.tgpk-breadcrumbs a:hover{color:#16c6d4}
.tgpk-hero-trust{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);max-width:900px}
.tgpk-hero-trust span{display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:700}
.tgpk-hero-trust i{width:22px;height:22px;border:1px solid rgba(22,198,212,.65);border-radius:50%;display:grid;place-items:center;color:#16c6d4;font-style:normal;font-size:11px}
.tgpk-page-nav{position:relative;top:auto!important;z-index:8}
.tgpk-page-nav-inner{justify-content:flex-start;gap:34px}
.tgpk-page-nav a{padding:16px 0 13px;font-size:12px}
.single-tg_package .tgpk-wrap{margin:28px auto 46px;grid-template-columns:minmax(0,1fr) 330px;gap:24px}
.single-tg_package .tgpk-main{gap:18px}
.single-tg_package .tgpk-config,.single-tg_package .tgpk-section{border-radius:16px;border:1px solid #d9e6ed;box-shadow:0 7px 22px rgba(8,43,92,.045);padding:24px 26px}
.single-tg_package .tgpk-config h2,.single-tg_package .tgpk-section h2{font-size:23px;line-height:1.25}
.single-tg_package .tgpk-section h2{margin-bottom:15px}
.single-tg_package .tgpk-summary{top:96px;border-radius:16px;padding:22px;border:1px solid #d9e6ed;box-shadow:0 9px 28px rgba(8,43,92,.08)}
.admin-bar.single-tg_package .tgpk-summary{top:128px}
.single-tg_package .tgpk-summary:before{margin:-22px -22px 20px;padding:13px 22px;border-radius:16px 16px 0 0;background:#082b5c}
.single-tg_package .tgpk-summary h3{font-size:18px;margin-bottom:14px}
.single-tg_package .tgpk-sum-rows{gap:0}
.single-tg_package .tgpk-sum-rows>div{padding:8px 0}
.single-tg_package .tgpk-price{font-size:27px}
.single-tg_package .tgpk-exp{gap:12px}
.single-tg_package .tgpk-card{grid-template-columns:110px minmax(0,1fr);min-height:104px;border-radius:12px;background:#fff}
.single-tg_package .tgpk-card-img{min-height:104px}
.single-tg_package .tgpk-img-empty{min-height:104px}
.single-tg_package .tgpk-card-body{padding:14px 15px}
.single-tg_package .tgpk-card-body h3{font-size:15px;margin:5px 0 0}
.single-tg_package .tgpk-lists{gap:12px}
.single-tg_package .tgpk-list{border-radius:12px;padding:18px;background:#fff}
.single-tg_package .tgpk-list--in,.single-tg_package .tgpk-list--out{border-top-width:1px}
.single-tg_package .tgpk-info{gap:12px}
.single-tg_package .tgpk-info-card{background:#fff;border-radius:12px;padding:17px}
.single-tg_package .tgpk-overview{padding-top:22px;padding-bottom:22px}
.single-tg_package .tgpk-overview .tgpk-lead{font-size:14px;line-height:1.65}
.single-tg_package .tgpk-cta-band{display:none!important}
.single-tg_package .tgpk-wrap+*{margin-top:0}
@media(max-width:1040px){.single-tg_package .tgpk{--shell:min(94vw,900px)}.single-tg_package .tgpk-wrap{grid-template-columns:1fr}.single-tg_package .tgpk-summary{position:static}}
@media(max-width:760px){.single-tg_package .tgpk{--shell:calc(100% - 28px)}.single-tg_package .tgpk-hero{min-height:390px}.single-tg_package .tgpk-hero-inner{padding:42px 0}.tgpk-hero-trust{gap:10px 14px}.tgpk-page-nav-inner{gap:22px}.single-tg_package .tgpk-card{grid-template-columns:96px minmax(0,1fr)}}

/* ========================================================================== 
   A4.13 — approved premium package-detail proportions.
   Visual-only: pricing, rooms and booking behaviour are untouched.
   ========================================================================== */
@media (min-width:1041px){
 .single-tg_package .tgpk{--shell:min(1480px,calc(100% - 64px))}
 .single-tg_package .tgpk-hero{min-height:360px;background-position:center 48%}
 .single-tg_package .tgpk-hero-inner{padding:42px 0 46px}
 .single-tg_package .tgpk-breadcrumbs{margin-bottom:18px;font-size:12px}
 .single-tg_package .tgpk-hero h1{font-size:clamp(42px,3.4vw,56px);max-width:17ch;margin-top:14px;margin-bottom:8px}
 .single-tg_package .tgpk-hero-sub{margin:0 0 10px;font-size:15px}
 .single-tg_package .tgpk-facts{margin-top:12px;gap:16px}
 .single-tg_package .tgpk-hero-trust{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 28px;color:#fff;font-size:12px;font-weight:700}
 .single-tg_package .tgpk-hero-trust span{display:flex;align-items:center;gap:7px}
 .single-tg_package .tgpk-hero-trust i{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(22,198,212,.7);border-radius:50%;color:#16c6d4;font-style:normal;font-size:11px}
 .tgpk-page-nav-inner{width:var(--shell);justify-content:flex-start;gap:34px}
 .tgpk-page-nav a{padding:15px 0 12px}
 .single-tg_package .tgpk-wrap{width:var(--shell);grid-template-columns:minmax(0,1fr) 360px;gap:22px;margin:24px auto 54px;align-items:start}
 .single-tg_package .tgpk-main{gap:16px}
 .single-tg_package .tgpk-config,.single-tg_package .tgpk-section{padding:24px;border-radius:15px;box-shadow:0 5px 18px rgba(8,43,92,.035)}
 .single-tg_package .tgpk-config h2,.single-tg_package .tgpk-section h2{font-size:23px;margin-bottom:14px}
 .single-tg_package .tgpk-fields{grid-template-columns:1fr 1fr;gap:14px}
 .single-tg_package .tgpk input,.single-tg_package .tgpk select{height:46px}
 .single-tg_package .tgpk-sub{margin-top:17px;margin-bottom:5px}
 .single-tg_package .tgpk-note{margin-top:4px;margin-bottom:12px}
 .single-tg_package .tgpk-room{padding:14px 16px}
 .single-tg_package .tgpk-room-fields{gap:10px}
 .single-tg_package .tgpk-addroom{margin-top:10px;padding:10px 16px}
 .single-tg_package .tgpk-summary{top:88px;width:360px;box-sizing:border-box;padding:22px;border-radius:15px;box-shadow:0 12px 30px rgba(8,43,92,.09)}
 .admin-bar.single-tg_package .tgpk-summary{top:120px}
 .single-tg_package .tgpk-summary:before{margin:-22px -22px 18px;padding:13px 22px;border-radius:15px 15px 0 0}
 .single-tg_package .tgpk-summary h3{font-size:18px;margin:6px 0 14px}
 .single-tg_package .tgpk-sum-rows{gap:0;margin-bottom:14px}
 .single-tg_package .tgpk-sum-rows>div{padding:8px 0}
 .single-tg_package .tgpk-price{font-size:29px;padding-top:14px}
 .single-tg_package .tgpk-cta{margin-top:14px;padding:14px 16px}
 .single-tg_package .tgpk-exp{gap:12px}
 .single-tg_package .tgpk-card{grid-template-columns:128px minmax(0,1fr);min-height:112px;border-radius:12px}
 .single-tg_package .tgpk-card-img{min-height:112px;height:112px}
 .single-tg_package .tgpk-card-body{padding:14px}
 .single-tg_package .tgpk-card-body h3{font-size:15px;margin-bottom:0}
 .single-tg_package .tgpk-lists,.single-tg_package .tgpk-info{gap:12px}
 .single-tg_package .tgpk-list{padding:19px;border-radius:12px}
 .single-tg_package .tgpk-info-card{padding:18px;border-radius:12px}
}
@media (min-width:1041px) and (max-width:1280px){
 .single-tg_package .tgpk{--shell:min(1180px,calc(100% - 40px))}
 .single-tg_package .tgpk-wrap{grid-template-columns:minmax(0,1fr) 320px}
 .single-tg_package .tgpk-summary{width:320px}
 .single-tg_package .tgpk-room-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ========================================================================== 
   A4.14 — LOCKED approved detail design + spacing + itinerary UX
   ========================================================================== */
.single-tg_package .tgpk{--shell:min(1440px,calc(100% - 96px));background:#f6f9fc!important}
.single-tg_package .tgpk-hero{min-height:500px!important;background-position:center 52%!important}
.single-tg_package .tgpk-hero-inner{padding:48px 0 34px!important}
.single-tg_package .tgpk-hero h1{font-size:52px!important;line-height:1.04!important;max-width:20ch!important;margin:12px 0 10px!important}
.single-tg_package .tgpk-facts{margin-top:16px!important}
.single-tg_package .tgpk-hero-trust{margin-top:20px!important;padding-top:16px!important}
.tgpk-hero-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:24px;max-width:920px}
.tgpk-gallery-thumb{height:86px;padding:0;border:2px solid rgba(255,255,255,.72);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer;opacity:.88;transition:.18s ease}
.tgpk-gallery-thumb:hover,.tgpk-gallery-thumb.is-active{opacity:1;border-color:#16c6d4;transform:translateY(-1px)}
.tgpk-gallery-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.tgpk-page-nav{border-bottom:1px solid #d9e7ee!important;box-shadow:none!important}
.tgpk-page-nav-inner{width:var(--shell)!important;gap:38px!important}
.tgpk-page-nav a{font-size:13px!important;padding:17px 0 14px!important}
.single-tg_package .tgpk-wrap{width:var(--shell)!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:26px!important;margin:26px auto 64px!important}
.single-tg_package .tgpk-main{display:grid!important;gap:18px!important}
.single-tg_package .tgpk-config,.single-tg_package .tgpk-section{margin:0!important;padding:28px!important;border:1px solid #d8e5ec!important;border-radius:16px!important;background:#fff!important;box-shadow:0 7px 22px rgba(8,43,92,.04)!important}
.single-tg_package .tgpk-config h2,.single-tg_package .tgpk-section h2{font-size:24px!important;margin:0 0 14px!important}
.single-tg_package .tgpk-fields{gap:16px!important}
.single-tg_package .tgpk input,.single-tg_package .tgpk select{height:50px!important;border-radius:9px!important}
.single-tg_package .tgpk-room{padding:16px!important;border-radius:10px!important;background:#fbfdff!important}
.single-tg_package .tgpk-addroom{background:#fff!important;color:#082b5c!important;border:1.5px solid #082b5c!important;border-radius:8px!important;padding:11px 16px!important;box-shadow:none!important}
.single-tg_package .tgpk-addroom:hover{background:#eefbfc!important;color:#007f91!important;border-color:#0095a9!important}
.single-tg_package .tgpk-room-remove{color:#49667d!important}
.single-tg_package .tgpk-exp{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.single-tg_package .tgpk-card{display:block!important;min-height:0!important;border-radius:12px!important;overflow:hidden!important}
.single-tg_package .tgpk-card-img{height:140px!important;min-height:140px!important}
.single-tg_package .tgpk-card-body{padding:13px 14px 15px!important}
.single-tg_package .tgpk-card-body h3{font-size:14px!important;line-height:1.35!important}
.single-tg_package .tgpk-lists{gap:14px!important}
.single-tg_package .tgpk-list{padding:20px!important;border-radius:12px!important}
.single-tg_package .tgpk-list--in{border-color:#aee7df!important;background:linear-gradient(180deg,#f0fcf9 0,#fff 35%)!important}
.single-tg_package .tgpk-list--out{border-color:#d9e5ec!important;background:#fff!important}
.single-tg_package .tgpk-mark--no{background:#eef3f6!important;color:#587086!important}
.single-tg_package .tgpk-info{gap:12px!important}
.single-tg_package .tgpk-info-card{padding:18px!important;border-radius:11px!important;background:#fbfdff!important}
.single-tg_package .tgpk-summary{width:360px!important;top:94px!important;padding:24px!important;border-radius:16px!important;box-shadow:0 14px 36px rgba(8,43,92,.09)!important}
.admin-bar.single-tg_package .tgpk-summary{top:126px!important}
.single-tg_package .tgpk-summary:before{margin:-24px -24px 20px!important;padding:14px 24px!important;border-radius:16px 16px 0 0!important}
.single-tg_package .tgpk-sum-rows>div{padding:9px 0!important;border-bottom:1px solid #edf2f5}
.single-tg_package .tgpk-cta{background:linear-gradient(95deg,#0095a9,#16c6d4)!important;color:#fff!important;border-radius:9px!important}
.tgpk-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.tgpk-itinerary-note{max-width:320px;text-align:right;font-size:11px;line-height:1.45;color:#6b8294}
.tgpk-itinerary-list{display:grid;gap:10px}
.tgpk-itinerary-day{border:1px solid #d9e6ed;border-radius:11px;background:#fff;overflow:hidden}
.tgpk-itinerary-toggle{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:15px 16px;border:0;background:#fff;color:#082b5c;text-align:left;cursor:pointer;font-family:'Manrope',sans-serif}
.tgpk-itinerary-toggle strong{font-family:'Sora',sans-serif;font-size:15px}
.tgpk-day-badge{display:inline-flex;justify-content:center;padding:6px 8px;border-radius:7px;background:#e9f9fb;color:#008da0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tgpk-itinerary-chevron{font-size:20px;color:#0095a9;transition:transform .18s ease}
.tgpk-itinerary-panel{display:none;padding:0 16px 16px 102px}
.tgpk-itinerary-panel p{margin:0;color:#5f7789;font-size:13.5px;line-height:1.65}
.tgpk-itinerary-day.is-open .tgpk-itinerary-panel{display:block}
.tgpk-itinerary-day.is-open .tgpk-itinerary-chevron{transform:rotate(180deg)}
@media(max-width:1180px){.single-tg_package .tgpk{--shell:min(94vw,980px)}.single-tg_package .tgpk-wrap{grid-template-columns:1fr!important}.single-tg_package .tgpk-summary{position:static!important;width:100%!important}.single-tg_package .tgpk-exp{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.single-tg_package .tgpk{--shell:calc(100% - 28px)}.single-tg_package .tgpk-hero{min-height:520px!important}.single-tg_package .tgpk-hero h1{font-size:38px!important}.tgpk-hero-gallery{grid-template-columns:repeat(3,1fr)}.tgpk-gallery-thumb:nth-child(n+4){display:none}.tgpk-page-nav-inner{gap:24px!important}.single-tg_package .tgpk-config,.single-tg_package .tgpk-section{padding:20px!important}.single-tg_package .tgpk-exp,.single-tg_package .tgpk-lists,.single-tg_package .tgpk-info{grid-template-columns:1fr!important}.tgpk-section-head{display:block}.tgpk-itinerary-note{display:block;text-align:left;margin:-4px 0 14px}.tgpk-itinerary-toggle{grid-template-columns:64px minmax(0,1fr) 20px;padding:13px 12px}.tgpk-itinerary-panel{padding:0 12px 14px 90px}}

/* ========================================================================== 
   A4.15 — package detail correction after live screenshot review.
   Removes the unstable hero thumbnail strip, restores disciplined spacing,
   and gives the itinerary a real travel-product timeline treatment.
   ========================================================================== */
.single-tg_package .tgpk{--shell:min(1320px,calc(100% - 64px));background:#f5f8fb!important}
.single-tg_package .tgpk-hero{min-height:390px!important;background-position:center 52%!important}
.single-tg_package .tgpk-hero-inner{padding:46px 0 44px!important}
.single-tg_package .tgpk-hero h1{font-size:clamp(40px,4vw,56px)!important;line-height:1.04!important;max-width:19ch!important;margin:12px 0 10px!important}
.tgpk-hero-gallery{display:none!important}
.single-tg_package .tgpk-hero-trust{margin-top:18px!important;padding-top:14px!important;max-width:920px}
.tgpk-page-nav-inner{width:var(--shell)!important;gap:32px!important}
.single-tg_package .tgpk-wrap{width:var(--shell)!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:24px!important;margin:30px auto 78px!important;align-items:start}
.single-tg_package .tgpk-main{gap:18px!important}
.single-tg_package .tgpk-config,.single-tg_package .tgpk-section{padding:26px!important;border-radius:15px!important}
.single-tg_package .tgpk-config h2,.single-tg_package .tgpk-section h2{font-size:23px!important;line-height:1.2!important;margin:0 0 15px!important}
.single-tg_package .tgpk-addroom{margin-top:14px!important;background:#fff!important;color:#008fa2!important;border:1px solid #08a9ba!important;border-radius:8px!important;padding:11px 15px!important}
.single-tg_package .tgpk-addroom:hover{background:#eefbfc!important;color:#006f80!important}
.single-tg_package .tgpk-room-remove{color:#5f7789!important}
.single-tg_package .tgpk-summary{width:340px!important;top:92px!important;border-radius:15px!important}
.admin-bar.single-tg_package .tgpk-summary{top:124px!important}
.single-tg_package .tgpk-exp{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.single-tg_package .tgpk-card-img{height:132px!important;min-height:132px!important}
.single-tg_package .tgpk-card-body{min-height:64px!important;padding:12px 13px 14px!important}
.single-tg_package .tgpk-lists{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.single-tg_package .tgpk-info{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.tgpk-itinerary{padding-bottom:24px!important}
.tgpk-itinerary-note{max-width:360px;padding:7px 10px;border-radius:8px;background:#eef8fa;color:#3d6676;font-size:11px!important;font-weight:700;text-align:left!important}
.tgpk-itinerary-list{position:relative;display:grid!important;gap:0!important;margin-top:4px}
.tgpk-itinerary-list:before{content:"";position:absolute;left:31px;top:28px;bottom:28px;width:1px;background:#cfe2e8}
.tgpk-itinerary-day{position:relative;border:0!important;border-bottom:1px solid #e3edf1!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.tgpk-itinerary-day:last-child{border-bottom:0!important}
.tgpk-itinerary-toggle{position:relative;z-index:1;grid-template-columns:64px minmax(0,1fr) 24px!important;gap:16px!important;padding:15px 4px!important;background:transparent!important}
.tgpk-day-badge{width:56px;box-sizing:border-box;padding:7px 5px!important;border:1px solid #bfe1e7;border-radius:18px!important;background:#fff!important;color:#008da0!important;font-size:10px!important}
.tgpk-itinerary-toggle strong{font-size:15px!important;line-height:1.35!important}
.tgpk-itinerary-panel{padding:0 32px 16px 84px!important}
.tgpk-itinerary-panel p{font-size:13px!important;line-height:1.65!important;color:#587185!important}
.tgpk-itinerary-chevron{font-size:18px!important}
.single-tg_package .tgpk-section:last-child{margin-bottom:0!important}
.single-tg_package .tgpk-wrap + *{margin-top:0!important}
@media(max-width:1180px){
 .single-tg_package .tgpk{--shell:min(94vw,980px)}
 .single-tg_package .tgpk-wrap{grid-template-columns:1fr!important}
 .single-tg_package .tgpk-summary{position:static!important;width:100%!important}
 .single-tg_package .tgpk-exp{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .single-tg_package .tgpk{--shell:calc(100% - 28px)}
 .single-tg_package .tgpk-hero{min-height:360px!important}
 .single-tg_package .tgpk-hero h1{font-size:36px!important}
 .single-tg_package .tgpk-exp,.single-tg_package .tgpk-lists,.single-tg_package .tgpk-info{grid-template-columns:1fr!important}
 .tgpk-itinerary-note{display:block;margin:0 0 10px!important;max-width:none}
 .tgpk-itinerary-list:before{left:28px}
 .tgpk-itinerary-toggle{grid-template-columns:58px minmax(0,1fr) 20px!important;gap:10px!important}
 .tgpk-day-badge{width:52px}
 .tgpk-itinerary-panel{padding:0 12px 14px 68px!important}
}

/* ============================================================
   A4.16 — final spacing + itinerary correction
   TravelGate palette only: navy / cyan / teal / white.
   ============================================================ */
.single-tg_package .tgpk{
 --tg-navy:#082b5c;
 --tg-teal:#009eb2;
 --tg-cyan:#16c6d9;
 --tg-line:#d8e6ed;
 --tg-soft:#f5f9fb;
}
/* breathing room from global header and before global CTA/footer */
.single-tg_package .tgpk-hero{margin-top:22px!important}
.single-tg_package .tgpk-page-nav{margin-top:0!important}
.single-tg_package .tgpk-layout{padding-top:34px!important;padding-bottom:68px!important}
.single-tg_package .tgpk-main{gap:24px!important}
.single-tg_package .tgpk-section,.single-tg_package .tgpk-config{margin:0!important}
.single-tg_package .tgpk-info{margin-bottom:0!important}
.single-tg_package .tgpk-shell:last-child{margin-bottom:0!important}
.single-tg_package .tgpk-cta-band{margin-top:0!important}

/* Never inherit Elementor/theme pink/magenta focus/accent styles. */
.single-tg_package .tgpk button,
.single-tg_package .tgpk input,
.single-tg_package .tgpk select,
.single-tg_package .tgpk a{accent-color:var(--tg-teal)!important}
.single-tg_package .tgpk button:focus,
.single-tg_package .tgpk button:focus-visible,
.single-tg_package .tgpk input:focus,
.single-tg_package .tgpk input:focus-visible,
.single-tg_package .tgpk select:focus,
.single-tg_package .tgpk select:focus-visible,
.single-tg_package .tgpk a:focus,
.single-tg_package .tgpk a:focus-visible{
 outline:2px solid rgba(0,158,178,.28)!important;
 outline-offset:2px!important;
 border-color:var(--tg-teal)!important;
 box-shadow:0 0 0 3px rgba(0,158,178,.10)!important;
}
.single-tg_package .tgpk-addroom,
.single-tg_package .tgpk-addroom:visited{
 color:var(--tg-navy)!important;background:#fff!important;border:1px solid #9fc5d0!important;
}
.single-tg_package .tgpk-addroom:hover{color:#fff!important;background:var(--tg-teal)!important;border-color:var(--tg-teal)!important}

/* Itinerary: substantial accordion cards, not tiny outlined labels. */
.single-tg_package .tgpk-itinerary{padding:26px!important}
.single-tg_package .tgpk-itinerary .tgpk-section-head{align-items:flex-start!important;margin-bottom:18px!important;padding-bottom:16px!important;border-bottom:1px solid var(--tg-line)!important}
.single-tg_package .tgpk-itinerary-note{background:#eaf8fa!important;color:#326b78!important;border:1px solid #ccebef!important;padding:8px 11px!important;border-radius:8px!important;max-width:390px!important}
.single-tg_package .tgpk-itinerary-list{display:grid!important;gap:12px!important;margin-top:0!important}
.single-tg_package .tgpk-itinerary-list:before{display:none!important}
.single-tg_package .tgpk-itinerary-day{
 border:1px solid var(--tg-line)!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;
 box-shadow:0 2px 7px rgba(8,43,92,.035)!important;
}
.single-tg_package .tgpk-itinerary-day:last-child{border-bottom:1px solid var(--tg-line)!important}
.single-tg_package .tgpk-itinerary-toggle{
 width:100%!important;display:grid!important;grid-template-columns:76px minmax(0,1fr) 28px!important;gap:16px!important;
 align-items:center!important;padding:17px 18px!important;background:#fff!important;border:0!important;border-radius:0!important;
 color:var(--tg-navy)!important;text-align:left!important;box-shadow:none!important;outline:0!important;
}
.single-tg_package .tgpk-itinerary-toggle:hover{background:#f7fbfc!important}
.single-tg_package .tgpk-itinerary-toggle:focus,
.single-tg_package .tgpk-itinerary-toggle:focus-visible{outline:0!important;box-shadow:inset 3px 0 0 var(--tg-teal)!important;border-color:transparent!important}
.single-tg_package .tgpk-day-badge{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:66px!important;padding:7px 9px!important;
 border-radius:999px!important;background:#e8f8fa!important;color:#007f91!important;border:1px solid #c8ebef!important;
 font-size:10.5px!important;font-weight:800!important;letter-spacing:.055em!important;
}
.single-tg_package .tgpk-itinerary-toggle strong{font-family:'Sora',sans-serif!important;font-size:14.5px!important;line-height:1.4!important;color:var(--tg-navy)!important}
.single-tg_package .tgpk-itinerary-chevron{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#eef8fa!important;color:#007f91!important;font-size:18px!important}
.single-tg_package .tgpk-itinerary-panel{padding:0 20px 18px 110px!important;background:#fff!important}
.single-tg_package .tgpk-itinerary-panel p{margin:0!important;padding-top:2px!important;color:#587185!important;font-size:13px!important;line-height:1.7!important}
.single-tg_package .tgpk-itinerary-day.is-open{border-color:#b8dfe5!important;box-shadow:0 5px 16px rgba(8,43,92,.055)!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-toggle{background:#f8fcfd!important}

@media(max-width:760px){
 .single-tg_package .tgpk-hero{margin-top:14px!important}
 .single-tg_package .tgpk-layout{padding-top:22px!important;padding-bottom:44px!important}
 .single-tg_package .tgpk-itinerary{padding:20px!important}
 .single-tg_package .tgpk-itinerary .tgpk-section-head{display:block!important}
 .single-tg_package .tgpk-itinerary-note{margin-top:10px!important;max-width:none!important}
 .single-tg_package .tgpk-itinerary-toggle{grid-template-columns:66px minmax(0,1fr) 28px!important;gap:10px!important;padding:14px 12px!important}
 .single-tg_package .tgpk-itinerary-panel{padding:0 12px 15px 88px!important}
}

/* ============================================================
   A4.17 — itinerary timeline + clean footer separation
   ============================================================ */
.single-tg_package .tgpk-wrap{margin-bottom:0!important;padding-bottom:84px!important}
.single-tg_package .tgpk{padding-bottom:0!important;background:#f5f9fb!important}
.single-tg_package .tgpk + .tgt-footer-shell,
.single-tg_package .tgpk + footer,
.single-tg_package .tgpk ~ .tgt-footer-shell,
.single-tg_package .tgpk ~ footer{margin-top:0!important}
/* Keep a deliberate white/soft breathing band before the existing CTA/footer. */
.single-tg_package .tgpk:after{content:"";display:block;height:72px;background:#fff}

.single-tg_package .tgpk-itinerary{padding:28px 30px 30px!important}
.single-tg_package .tgpk-itinerary .tgpk-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin:0 0 22px!important;padding:0 0 18px!important}
.single-tg_package .tgpk-itinerary-note{font-size:11px!important;line-height:1.35!important;white-space:normal!important}
.single-tg_package .tgpk-itinerary-list{position:relative!important;display:block!important;margin:0!important;padding:0!important}
.single-tg_package .tgpk-itinerary-list:before{content:""!important;display:block!important;position:absolute!important;left:25px!important;top:26px!important;bottom:26px!important;width:2px!important;background:#d7e9ee!important}
.single-tg_package .tgpk-itinerary-day{position:relative!important;margin:0 0 12px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.single-tg_package .tgpk-itinerary-day:last-child{margin-bottom:0!important;border:0!important}
.single-tg_package .tgpk-itinerary-toggle{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:52px minmax(0,1fr) 32px!important;gap:16px!important;align-items:center!important;width:100%!important;min-height:62px!important;padding:9px 14px 9px 0!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important}
.single-tg_package .tgpk-itinerary-toggle:hover{background:#f7fbfc!important}
.single-tg_package .tgpk-day-badge{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;min-width:52px!important;height:52px!important;padding:0!important;border:2px solid #bfe6eb!important;border-radius:50%!important;background:#fff!important;color:#008fa2!important;font-size:9.5px!important;font-weight:800!important;letter-spacing:.035em!important;box-shadow:0 0 0 5px #fff!important}
.single-tg_package .tgpk-itinerary-toggle strong{font-size:15px!important;line-height:1.35!important;color:#082b5c!important}
.single-tg_package .tgpk-itinerary-chevron{width:30px!important;height:30px!important;background:#eef8fa!important;color:#008fa2!important}
.single-tg_package .tgpk-itinerary-panel{display:none!important;margin:-2px 44px 0 68px!important;padding:0 0 16px!important;background:transparent!important}
.single-tg_package .tgpk-itinerary-panel p{margin:0!important;padding:11px 14px!important;border-left:3px solid #10adbd!important;border-radius:0 8px 8px 0!important;background:#f6fafc!important;color:#536d80!important;font-size:13px!important;line-height:1.6!important}
.single-tg_package .tgpk-itinerary-day.is-open{border:0!important;box-shadow:none!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-toggle{background:transparent!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-day-badge{background:#e9f9fb!important;border-color:#8fd9e2!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-panel{display:block!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-chevron{transform:rotate(180deg)!important}
@media(max-width:760px){
 .single-tg_package .tgpk-wrap{padding-bottom:54px!important}
 .single-tg_package .tgpk:after{height:44px}
 .single-tg_package .tgpk-itinerary{padding:21px 18px 24px!important}
 .single-tg_package .tgpk-itinerary .tgpk-section-head{display:block!important}
 .single-tg_package .tgpk-itinerary-note{display:inline-block!important;margin-top:10px!important}
 .single-tg_package .tgpk-itinerary-list:before{left:22px!important}
 .single-tg_package .tgpk-itinerary-toggle{grid-template-columns:46px minmax(0,1fr) 28px!important;gap:11px!important;padding-right:5px!important}
 .single-tg_package .tgpk-day-badge{width:46px!important;min-width:46px!important;height:46px!important;font-size:9px!important}
 .single-tg_package .tgpk-itinerary-panel{margin:0 4px 0 57px!important;padding-bottom:13px!important}
}

/* A4.18 itinerary + live included products */
.single-tg_package .tgpk-day-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.single-tg_package .tgpk-day-title small{font-size:10.5px;color:#6d8392;font-weight:600}
.single-tg_package .tgpk-day-products{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.single-tg_package .tgpk-day-products a,.single-tg_package .tgpk-day-products span{display:inline-flex;padding:8px 11px;border:1px solid #cce7eb;border-radius:8px;background:#fff;color:#087d8c!important;font-size:12px;font-weight:700;text-decoration:none!important}
.single-tg_package .tgpk-day-products a:hover{border-color:#0aa9bb;background:#eefbfc}
.single-tg_package .tgpk-day-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.single-tg_package .tgpk-day-notes span{padding:10px 12px;border-radius:8px;background:#f5f9fb;color:#587185;font-size:12px}
.single-tg_package .tgpk-day-notes b{display:block;color:#082b5c;margin-bottom:3px}
.single-tg_package .tgpk-card--linked{display:block;color:inherit!important;text-decoration:none!important;position:relative}
.single-tg_package .tgpk-card--linked:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(8,43,92,.10)!important;border-color:#a8dce3!important}
.single-tg_package .tgpk-card-link{display:inline-block;margin-top:8px;color:#008fa2;font-size:11px;font-weight:800}
/* Deliberate separation between package content and the existing global CTA/footer. */
.single-tg_package .tgt-footer-shell,.single-tg_package footer.tgt-footer-shell{padding-top:64px!important}
.single-tg_package .tgpk:after{height:88px!important}
@media(max-width:760px){.single-tg_package .tgpk-day-notes{grid-template-columns:1fr}.single-tg_package .tgt-footer-shell,.single-tg_package footer.tgt-footer-shell{padding-top:40px!important}.single-tg_package .tgpk:after{height:56px!important}}

/* ============================================================
   A4.19 — organised itinerary cards
   One day = one card. Timeline stays outside the card; linked
   experiences are separate rows inside the expanded day.
   ============================================================ */
.single-tg_package .tgpk-itinerary-list{position:relative!important;padding-left:0!important}
.single-tg_package .tgpk-itinerary-list:before{left:29px!important;top:30px!important;bottom:30px!important;width:2px!important;background:#d8e9ee!important}
.single-tg_package .tgpk-itinerary-day{display:grid!important;grid-template-columns:60px minmax(0,1fr)!important;gap:18px!important;align-items:start!important;margin:0 0 14px!important}
.single-tg_package .tgpk-day-marker{position:relative!important;z-index:3!important;width:60px!important;height:60px!important;border:2px solid #b9e3e9!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 0 7px #fff!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;color:#008fa2!important;line-height:1!important}
.single-tg_package .tgpk-day-marker span{font-size:8px!important;font-weight:800!important;letter-spacing:.09em!important;margin-bottom:3px!important}
.single-tg_package .tgpk-day-marker b{font-size:15px!important;font-family:'Sora',sans-serif!important}
.single-tg_package .tgpk-day-card{min-width:0!important;border:1px solid #d7e6ec!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 3px 10px rgba(8,43,92,.035)!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-day-card{border-color:#a9dce4!important;box-shadow:0 6px 18px rgba(8,43,92,.055)!important}
.single-tg_package .tgpk-itinerary-toggle{display:grid!important;grid-template-columns:minmax(0,1fr) 32px!important;gap:16px!important;min-height:64px!important;padding:15px 18px!important;background:#fff!important;border:0!important;border-radius:0!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-toggle{background:#f8fcfd!important;border-bottom:1px solid #e0edf1!important}
.single-tg_package .tgpk-day-title strong{font-size:15px!important;line-height:1.35!important}
.single-tg_package .tgpk-itinerary-panel{display:none!important;margin:0!important;padding:16px 18px 18px!important;background:#fff!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-panel{display:block!important}
.single-tg_package .tgpk-day-summary{margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important;color:#5a7183!important;font-size:12.5px!important;line-height:1.6!important}
.single-tg_package .tgpk-day-activities{display:grid!important;gap:9px!important;margin:0!important}
.single-tg_package .tgpk-day-activity{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:11px 12px!important;border:1px solid #e0ebef!important;border-radius:9px!important;background:#f8fbfc!important}
.single-tg_package .tgpk-day-activity-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#e7f8fa!important;color:#008fa2!important;font-size:12px!important;font-weight:900!important}
.single-tg_package .tgpk-day-activity strong{display:block!important;color:#082b5c!important;font-size:12.5px!important;line-height:1.35!important}
.single-tg_package .tgpk-day-activity a{display:inline-block!important;margin-top:3px!important;color:#008fa2!important;font-size:11px!important;font-weight:800!important;text-decoration:none!important}
.single-tg_package .tgpk-day-activity a:hover{text-decoration:underline!important}
.single-tg_package .tgpk-day-notes{margin-top:12px!important}
/* Retire legacy badge/product-chip presentation completely. */
.single-tg_package .tgpk-day-badge,.single-tg_package .tgpk-day-products{display:none!important}
@media(max-width:760px){
 .single-tg_package .tgpk-itinerary-day{grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;margin-bottom:11px!important}
 .single-tg_package .tgpk-itinerary-list:before{left:23px!important}
 .single-tg_package .tgpk-day-marker{width:48px!important;height:48px!important;box-shadow:0 0 0 5px #fff!important}
 .single-tg_package .tgpk-day-marker b{font-size:13px!important}
 .single-tg_package .tgpk-itinerary-toggle{min-height:58px!important;padding:13px 12px!important}
 .single-tg_package .tgpk-itinerary-panel{padding:14px 12px 15px!important}
}

/* ============================================================
   A4.20 — package-detail alignment pass
   Consistent rows, corrected itinerary titles, balanced content.
   ============================================================ */
.single-tg_package .tgpk-main{align-items:start!important}
.single-tg_package .tgpk-section{margin-bottom:22px!important;padding:26px 28px!important;border-radius:14px!important}
.single-tg_package .tgpk-section>h2,.single-tg_package .tgpk-section-head h2{margin:2px 0 16px!important;line-height:1.2!important}
.single-tg_package .tgpk-eyebrow{display:block!important;margin-bottom:3px!important}

/* Stay builder: one clean rhythm and equal controls. */
.single-tg_package .tgpk-builder{padding:28px!important}
.single-tg_package .tgpk-builder .tgpk-grid{gap:14px!important}
.single-tg_package .tgpk-builder input,
.single-tg_package .tgpk-builder select{height:46px!important;min-height:46px!important;border-radius:9px!important}
.single-tg_package .tgpk-room{margin-top:14px!important;padding:16px!important;border-radius:11px!important}
.single-tg_package .tgpk-room-grid{gap:10px!important}
.single-tg_package .tgpk-add-room{margin-top:12px!important;border-color:#86ced8!important;color:#087f90!important;background:#fff!important}
.single-tg_package .tgpk-add-room:hover{background:#eefbfc!important;border-color:#09a8ba!important;color:#066c79!important}

/* Itinerary: every day is a consistent row/card. */
.single-tg_package .tgpk-itinerary{padding:26px 28px 30px!important}
.single-tg_package .tgpk-itinerary .tgpk-section-head{padding-bottom:16px!important;margin-bottom:18px!important;border-bottom:1px solid #dbe8ed!important}
.single-tg_package .tgpk-itinerary-list:before{left:27px!important;top:28px!important;bottom:28px!important}
.single-tg_package .tgpk-itinerary-day{grid-template-columns:56px minmax(0,1fr)!important;gap:16px!important;margin-bottom:12px!important}
.single-tg_package .tgpk-day-marker{width:56px!important;height:56px!important;box-shadow:0 0 0 6px #fff!important}
.single-tg_package .tgpk-day-card{border-radius:11px!important}
.single-tg_package .tgpk-itinerary-toggle{min-height:56px!important;padding:11px 14px 11px 16px!important;grid-template-columns:minmax(0,1fr) 30px!important}
.single-tg_package .tgpk-day-title strong{font-size:14px!important;font-weight:750!important;line-height:1.35!important;color:#082b5c!important}
.single-tg_package .tgpk-itinerary-chevron{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;border-radius:50%!important;background:#eef8fa!important;color:#008fa2!important;font-size:12px!important}
.single-tg_package .tgpk-itinerary-panel{padding:14px 16px 16px!important;border-top:1px solid #e5eef1!important}
.single-tg_package .tgpk-day-summary{margin:0 0 12px!important;padding:0!important;color:#587084!important}
.single-tg_package .tgpk-day-activities{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.single-tg_package .tgpk-day-activity{min-height:58px!important;padding:10px 12px!important;background:#f8fbfc!important}
.single-tg_package .tgpk-day-activity strong{font-size:12px!important}
.single-tg_package .tgpk-day-notes{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Included products: consistent 3-column tiles on desktop. */
.single-tg_package .tgpk-exp{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.single-tg_package .tgpk-card{height:100%!important;min-width:0!important;border-radius:12px!important;overflow:hidden!important}
.single-tg_package .tgpk-card-img{height:150px!important;min-height:150px!important}
.single-tg_package .tgpk-card-img img{width:100%!important;height:100%!important;object-fit:cover!important}
.single-tg_package .tgpk-card-body{padding:13px 14px 15px!important}
.single-tg_package .tgpk-card-body h3{margin:5px 0 0!important;font-size:14px!important;line-height:1.35!important}

/* Inclusions/exclusions: no empty half when only one list exists. */
.single-tg_package .tgpk-lists{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
.single-tg_package .tgpk-lists>.tgpk-list:only-child{grid-column:1/-1!important}
.single-tg_package .tgpk-list{height:100%!important;padding:18px!important;border-radius:11px!important}
.single-tg_package .tgpk-list ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px!important;row-gap:10px!important;margin-top:12px!important}
.single-tg_package .tgpk-lists>.tgpk-list:not(:only-child) ul{grid-template-columns:1fr!important}
.single-tg_package .tgpk-list li{margin:0!important;align-items:flex-start!important;line-height:1.45!important}

/* Important information: equal, aligned tiles. */
.single-tg_package .tgpk-info{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.single-tg_package .tgpk-info-card{height:100%!important;min-height:92px!important;padding:16px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;border-radius:10px!important}
.single-tg_package .tgpk-info-card h3{margin:0 0 5px!important;font-size:13px!important;line-height:1.35!important}
.single-tg_package .tgpk-info-card p{margin:0!important;line-height:1.5!important}

/* Keep a deliberate white breathing zone before the global CTA/footer. */
.single-tg_package .tgpk-wrap{padding-bottom:84px!important}
.single-tg_package .tgpk:after{height:84px!important;background:#fff!important}
.single-tg_package .tgt-footer-shell,.single-tg_package footer.tgt-footer-shell{padding-top:0!important}

@media(max-width:900px){
 .single-tg_package .tgpk-day-activities,.single-tg_package .tgpk-list ul{grid-template-columns:1fr!important}
 .single-tg_package .tgpk-exp{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .single-tg_package .tgpk-section,.single-tg_package .tgpk-builder,.single-tg_package .tgpk-itinerary{padding:20px 16px!important}
 .single-tg_package .tgpk-itinerary-day{grid-template-columns:46px minmax(0,1fr)!important;gap:9px!important}
 .single-tg_package .tgpk-itinerary-list:before{left:22px!important}
 .single-tg_package .tgpk-day-marker{width:46px!important;height:46px!important}
 .single-tg_package .tgpk-exp,.single-tg_package .tgpk-lists,.single-tg_package .tgpk-info{grid-template-columns:1fr!important}
 .single-tg_package .tgpk-card-img{height:180px!important}
 .single-tg_package .tgpk-wrap{padding-bottom:54px!important}
 .single-tg_package .tgpk:after{height:54px!important}
}
\n\n/* ============================================================
   A4.21 — simplified itinerary controls + compact information
   Removes itinerary arrows completely and tightens low-content cards.
   ============================================================ */
.single-tg_package .tgpk-itinerary-toggle{
 grid-template-columns:minmax(0,1fr)!important;
 padding:14px 18px!important;
 cursor:pointer!important;
}
.single-tg_package .tgpk-itinerary-chevron{display:none!important}
.single-tg_package .tgpk-itinerary-day.is-open .tgpk-itinerary-toggle{
 background:#f8fcfd!important;
 box-shadow:inset 3px 0 0 #08a9bb!important;
}
.single-tg_package .tgpk-itinerary-toggle:hover{background:#f5fafc!important}
.single-tg_package .tgpk-itinerary-toggle:focus,
.single-tg_package .tgpk-itinerary-toggle:focus-visible{outline:0!important;box-shadow:inset 3px 0 0 #08a9bb!important}

/* Important information should be informative, not oversized. */
.single-tg_package #tgpk-info{padding:22px 24px!important}
.single-tg_package #tgpk-info>h2{margin-bottom:12px!important}
.single-tg_package #tgpk-info .tgpk-info{gap:10px!important}
.single-tg_package #tgpk-info .tgpk-info-card{
 min-height:72px!important;
 padding:13px 15px!important;
 justify-content:flex-start!important;
}
.single-tg_package #tgpk-info .tgpk-info-card h3{font-size:12.5px!important;margin:0 0 4px!important}
.single-tg_package #tgpk-info .tgpk-info-card p{font-size:12px!important;line-height:1.45!important}

/* Compact the booking action area so it ends with its content. */
.single-tg_package .tgpk-summary{padding-bottom:20px!important}
.single-tg_package .tgpk-summary .tgpk-price{margin-top:16px!important}
.single-tg_package .tgpk-summary .tgpk-price-note{margin-bottom:12px!important}
.single-tg_package .tgpk-summary .tgpk-cta{min-height:46px!important;margin-top:0!important}
.single-tg_package .tgpk-summary .tgpk-fine{margin:8px 0 0!important;line-height:1.45!important}

@media(max-width:760px){
 .single-tg_package .tgpk-itinerary-toggle{padding:13px 14px!important}
 .single-tg_package #tgpk-info{padding:20px 16px!important}
 .single-tg_package #tgpk-info .tgpk-info-card{min-height:0!important}
}


/* A4.22 — remove destructive pink/red treatment from room controls. */
.single-tg_package .tgpk-room-remove,
.single-tg_package button.tgpk-room-remove{
 color:#087f90!important;border:1px solid #9bd7df!important;background:#fff!important;
 border-radius:9px!important;padding:9px 14px!important;text-decoration:none!important;
 box-shadow:none!important;
}
.single-tg_package .tgpk-room-remove:hover,
.single-tg_package .tgpk-room-remove:focus{
 color:#066c79!important;border-color:#08a9bb!important;background:#eefbfc!important;outline:0!important;
}
/* A4.25 — date picker affordance */
.single-tg_package #tgpk-date{cursor:pointer!important;color-scheme:light}
.single-tg_package #tgpk-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}
.single-tg_package #tgpk-date.is-active{border-color:#009fb7!important;box-shadow:0 0 0 3px rgba(0,159,183,.10)!important}


/* A4.49 — package travel-date control: compact and aligned on mobile browsers. */
.single-tg_package #tgpk-date{
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:0 14px!important;
  margin-top:7px!important;
  box-sizing:border-box!important;
  border:1.5px solid #d8e6ed!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#082b5c!important;
  font-family:'Manrope',sans-serif!important;
  font-size:15px!important;
  line-height:1.2!important;
  text-align:left!important;
  -webkit-text-size-adjust:100%!important;
}
.single-tg_package #tgpk-date::-webkit-date-and-time-value{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
@media(max-width:760px){
 .single-tg_package .tgpk-fields{
   grid-template-columns:1fr!important;
   gap:14px!important;
 }
 .single-tg_package #tgpk-date,
 .single-tg_package #tgpk-hotel{
   height:50px!important;
   min-height:50px!important;
   max-height:50px!important;
 }
}

.tgpk-concept-note{font-size:10px;line-height:1.4;color:#d9f3f7;margin:14px 0 0;letter-spacing:.05em}
