/* Priority 14 (WP-C): homepage chooser, 4th row, planner and FAQ; /our-tours/ filter chips; /faqs/ quick answers.
   Loaded on the front page, /our-tours/ and /faqs/ only (inc/prio-14-home-shop-faq.php).
   Text colours use 2 classes + element (+ !important where it sits on a dark band) to beat the Customizer rule
   `.single-page-content p { color: black }`. */

.tc-p14-plan[hidden],
.tc-p14-plan [hidden],
.tc-shop .tc-shop-card[hidden],
.tc-shop .tc-shop-group[hidden],
.tc-shop .tc-shop-jump a[hidden] { display: none !important; }

/* ---------- Homepage: Convertible or SUV? ---------- */
.tc-p14-choose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.tc-p14-opt {
	display: flex; flex-direction: column; padding: 22px 22px 20px; background: #fff;
	border: 1px solid rgba(0, 0, 0, .1); border-top: 4px solid #d5a300; border-radius: 14px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
}
.tc-p14-opt-suv { border-top-color: #18140f; }
.tc-p14-choose h3.tc-p14-opt-name { margin: 0 0 4px; font-size: 22px; line-height: 1.25; font-weight: 700; color: #18140f; }
.tc-p14-choose p.tc-p14-opt-car { margin: 0 0 12px; font-size: 16px; line-height: 1.5; color: #4a4a4a !important; }
.tc-p14-choose ul.tc-p14-opt-facts { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tc-p14-opt-facts li {
	margin: 0; padding: 5px 12px; font-size: 16px; line-height: 1.4; color: #18140f;
	background: #faf5e8; border-radius: 999px;
}
.tc-p14-choose p.tc-p14-opt-best { margin: 0 0 16px; font-size: 17px; line-height: 1.55; color: #262626 !important; flex: 1; }
.tc-p14-btn {
	display: inline-block; align-self: flex-start; padding: 12px 22px; border-radius: 999px;
	background: #18140f; color: #fff !important; font-size: 17px; font-weight: 700; text-decoration: none;
}
.tc-p14-btn:hover, .tc-p14-btn:focus { background: #000; color: #fff !important; }
.tc-p14-opt-classic .tc-p14-btn { background: #d5a300; color: #18140f !important; }
.tc-p14-opt-classic .tc-p14-btn:hover, .tc-p14-opt-classic .tc-p14-btn:focus { background: #c19500; color: #18140f !important; }
.tc-p14-choose p.tc-p14-choose-note { margin: 16px 0 0; font-size: 16px; line-height: 1.55; color: #3d3d3d !important; }

/* ---------- Homepage: More ways to see LA ---------- */
.tc-p14-more-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tc-p14-more-card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 12px; overflow: hidden;
}
.tc-p14-more-media { display: block; aspect-ratio: 3 / 2; background: #cdbfa6; overflow: hidden; }
.tc-p14-more-media img, .tc-p14-more-media picture { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; }
.tc-p14-more-body { padding: 14px 16px 16px; }
.tc-p14-more h3.tc-p14-more-title { margin: 0 0 8px; font-size: 18px; line-height: 1.3; font-weight: 700; }
.tc-p14-more-title a { color: #18140f !important; text-decoration: none; }
.tc-p14-more-title a:hover { text-decoration: underline; }
.tc-p14-more p.tc-p14-more-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 8px; color: #18140f !important; }
.tc-p14-more-price { font-size: 17px; font-weight: 700; }
.tc-p14-more-dur { font-size: 14px; color: #4a4a4a; border: 1px solid rgba(0, 0, 0, .15); border-radius: 20px; padding: 2px 9px; }
.tc-p14-more p.tc-p14-more-line { margin: 0; font-size: 16px; line-height: 1.5; color: #3d3d3d !important; }

/* ---------- Homepage: FAQ ---------- */
.tc-p14-faq { scroll-margin-top: 110px; }
.tc-p14-faq-list { max-width: 860px; }
.tc-p14-faq-item { border-bottom: 1px solid rgba(0, 0, 0, .12); }
.tc-p14-faq-item summary {
	cursor: pointer; list-style: none; position: relative; padding: 16px 36px 16px 0;
	font-size: 18px; line-height: 1.4; font-weight: 700; color: #18140f;
}
.tc-p14-faq-item summary::-webkit-details-marker { display: none; }
.tc-p14-faq-item summary::after { content: "+"; position: absolute; right: 6px; top: 12px; font-size: 26px; font-weight: 400; color: #9a7400; }
.tc-p14-faq-item[open] summary::after { content: "\2212"; }
.tc-p14-faq p.tc-p14-faq-a { margin: 0 0 18px; font-size: 17px; line-height: 1.6; color: #262626 !important; }

/* ---------- Homepage: Plan your day (inside the dark closing band) ---------- */
.tc-p14-plan {
	margin: 28px auto 0; padding: 22px 20px 20px; max-width: 740px; text-align: left;
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(213, 163, 0, .45); border-radius: 14px;
}
.tc-nh-final h3.tc-p14-plan-title { margin: 0 0 4px; font-size: 22px; font-weight: 700; color: #fff !important; }
.tc-nh-final p.tc-p14-plan-sub { margin: 0 0 16px; font-size: 16px; line-height: 1.5; color: #d8d2c8 !important; }
.tc-p14-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.tc-p14-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.tc-nh-final .tc-p14-field span { font-size: 15px; font-weight: 600; color: #f5efe4 !important; }
.tc-p14-field input,
.tc-p14-field select {
	width: 100%; min-height: 48px; box-sizing: border-box; padding: 10px 12px; margin: 0;
	font-size: 17px; line-height: 1.3; color: #18140f; background: #fff;
	border: 1px solid #cfc6b5; border-radius: 10px;
}
.tc-p14-field input:focus, .tc-p14-field select:focus { outline: 3px solid #d5a300; outline-offset: 1px; }
.tc-nh-final p.tc-p14-plan-note { min-height: 0; margin: 14px 0 0; font-size: 16px; line-height: 1.5; color: #f7d774 !important; }
.tc-nh-final p.tc-p14-plan-note:empty { margin: 0; }
.tc-p14-plan-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }

/* ---------- /our-tours/: filter chips ---------- */
.tc-p14-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 16px 0 4px; }
.tc-p14-chip {
	min-height: 44px; padding: 8px 16px; border: 1px solid #bdb4a3; border-radius: 999px; background: #fff;
	font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.2; color: #18140f; cursor: pointer;
}
.tc-p14-chip:hover, .tc-p14-chip:focus { border-color: #d5a300; background: #fdf6e3; }
.tc-p14-chip:focus-visible { outline: 3px solid #d5a300; outline-offset: 2px; }
.tc-p14-chip[aria-pressed="true"] { background: #18140f; border-color: #18140f; color: #fff; }
.tc-shop p.tc-p14-chips-status { margin: 6px 0 0; min-height: 1.4em; font-size: 16px; color: #3d3d3d !important; }

/* ---------- /faqs/: quick answers ---------- */
.tc-p14-faqtop { max-width: 1100px; margin: 36px auto 8px; padding: 0 16px; font-family: "CircularSTD", sans-serif; }
.tc-p14-faqtop h2.tc-p14-faqtop-title { margin: 0 0 16px; font-size: 30px; line-height: 1.2; font-weight: 700; color: #121212; }
.tc-p14-faqtop-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.tc-p14-faqtop-item { padding: 18px 20px; background: #faf5e8; border-left: 4px solid #d5a300; border-radius: 8px; }
.tc-p14-faqtop h3.tc-p14-faqtop-q { margin: 0 0 8px; font-size: 19px; line-height: 1.35; font-weight: 700; color: #121212; }
.tc-p14-faqtop p.tc-p14-faqtop-a { margin: 0; font-size: 17px; line-height: 1.6; color: #262626 !important; }
.tc-p14-faqtop-a a { color: #18140f !important; text-decoration: underline; text-decoration-color: #d5a300; text-underline-offset: 2px; font-weight: 600; }

/* ---------- Mobile ---------- */
@media (max-width: 1024px) {
	.tc-p14-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.tc-p14-choose-grid { grid-template-columns: 1fr; gap: 16px; }
	.tc-p14-opt { padding: 18px 16px; }
	.tc-p14-more-grid { grid-template-columns: 1fr; gap: 14px; }
	.tc-p14-plan { padding: 18px 14px; }
	.tc-p14-plan-grid { grid-template-columns: 1fr; }
	.tc-p14-plan-actions .tc-nh-btn { flex: 1 1 100%; text-align: center; }
	.tc-p14-faqtop h2.tc-p14-faqtop-title { font-size: 24px; }
	.tc-p14-faqtop-grid { grid-template-columns: 1fr; }
	.tc-p14-chips { justify-content: flex-start; }
}
