/* ==========================================================================
   Cape Verde Trip — Day Tour (complementa public/tour/tour.css)
   public/day-tour/day-tour.css
   ========================================================================== */

/* Quick Facts (no lugar dos Tour Highlights) */
.cvt-quickfacts { margin: 0; padding: 0; display: flex; flex-direction: column; }
.cvt-qf-row { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(15,110,86,.15); }
.cvt-qf-row:last-child { border-bottom: none; }
.cvt-qf-row dt { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--cvt-green-dk); margin: 0; }
.cvt-qf-row dd { margin: 0; font-size: 14.5px; color: var(--cvt-tx2); line-height: 1.45; }
.cvt-qf-icon { font-size: 16px; width: 20px; text-align: center; }
@media (max-width: 480px) { .cvt-qf-row { grid-template-columns: 1fr; gap: 2px; } }

/* Paragens numeradas */
.cvt-stops { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.cvt-stop { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; position: relative; padding-bottom: 28px; }
.cvt-stop:last-child { padding-bottom: 0; }
.cvt-stop::before { content: ''; position: absolute; left: 21px; top: 44px; bottom: 0; width: 2px; background: var(--cvt-border); }
.cvt-stop:last-child::before { display: none; }
.cvt-stop-num { width: 44px; height: 44px; border-radius: 50%; background: var(--cvt-green); color: #fff; font-weight: 800; font-size: 17px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 4px #fff; z-index: 1; }
.cvt-stop-head h3 { font-size: 19px; font-weight: 700; color: var(--cvt-tx); margin: 8px 0 6px; line-height: 1.25; }
.cvt-stop-meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12.5px; color: var(--cvt-tx3); margin-bottom: 12px; }
.cvt-stop-img { width: 100%; height: auto; max-height: 360px; object-fit: cover; border-radius: 12px; margin: 4px 0 14px; }
.cvt-stop-desc p { font-size: 14.5px; color: var(--cvt-tx2); line-height: 1.75; margin: 0 0 14px; }
.cvt-stop-desc p:last-child { margin-bottom: 0; }

/* Mapa ao lado, fixo ao fazer scroll */
.cvt-dt-map-sticky { position: sticky; top: 90px; }
.cvt-itin-nomap { grid-template-columns: minmax(0, 1fr); }
.cvt-dt-itinerary .cvt-leaflet-map { height: 440px; }

/* Pins numerados (Leaflet divIcon) */
.cvt-dt-pin { width: 30px; height: 30px; border-radius: 50%; background: #1D9E75; color: #fff; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; font: 700 13px/1 sans-serif; }

/* Preços */
.cvt-tour-pricing { padding: 40px 0; }
.cvt-pricing-header h2 { font-size: 22px; font-weight: 700; margin: 0 0 4px; color: var(--cvt-tx); }
.cvt-pricing-sub { font-size: 13px; color: var(--cvt-tx2); margin: 0 0 18px; }
.cvt-dt-price-grid { grid-template-columns: repeat(4, 1fr); }
.cvt-price-contact { font-size: 16px; }
.cvt-price-contact a { color: var(--cvt-green); text-decoration: none; }
@media (max-width: 900px) { .cvt-dt-price-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .cvt-dt-price-grid { grid-template-columns: 1fr; } }

/* Esconde o switcher global do Elementor também nesta página */
body.single-cvt_day_tour .elementor-widget-polylang-language-switcher { display: none !important; }
