/* Travel Route Pro - Frontend styles */
.trp-section{padding:64px 20px;font-size:var(--trp-font-size,16px);font-family:var(--trp-font-family,inherit);color:var(--trp-text,#0f172a);background:var(--trp-section-bg,transparent);box-sizing:border-box}
.trp-section *,.trp-section *::before,.trp-section *::after{box-sizing:border-box}
.trp-section{font-family:var(--trp-font-family,inherit)}
.trp-container{max-width:var(--trp-width,1200px);margin:0 auto}
.trp-header{text-align:center;margin-bottom:40px}
.trp-heading{font-size:var(--trp-heading-size,36px);font-weight:700;letter-spacing:-.02em;margin:0 0 10px;color:var(--trp-heading-color,#0f172a);font-family:inherit}
.trp-subtitle{margin:0;color:var(--trp-subtitle-color,#64748b);font-size:var(--trp-subtitle-size,17px)}

.trp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.trp-card{background:var(--trp-card-bg,#fff);border:1px solid var(--trp-border,rgba(15,23,42,.06));border-radius:var(--trp-radius,18px);box-shadow:var(--trp-shadow,0 10px 30px rgba(15,23,42,.08));padding:28px 22px;cursor:pointer;text-align:left;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;display:flex;flex-direction:column;gap:12px;font:inherit;color:var(--trp-card-text,#0f172a)}
.trp-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,23,42,.12);border-color:var(--trp-secondary,#3b82f6)}
.trp-card:focus-visible{outline:3px solid var(--trp-secondary,#3b82f6);outline-offset:3px}
.trp-card.is-active{border-color:var(--trp-secondary,#3b82f6);box-shadow:0 20px 45px rgba(59,130,246,.18)}
.trp-card-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--trp-icon-bg,rgba(59,130,246,.1));color:var(--trp-icon-color,#3b82f6);font-size:var(--trp-icon-size,22px);transition:background .3s ease,color .3s ease}
.trp-card.is-active .trp-card-icon{background:var(--trp-active-icon-bg,#3b82f6);color:var(--trp-active-icon-color,#fff)}
.trp-card-name{font-weight:700;font-size:1.15em;color:var(--trp-card-text,inherit)}
.trp-card-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--trp-meta-color,#64748b);font-size:.95em}
.trp-card-meta i{margin-right:4px;color:var(--trp-icon-color,#3b82f6)}

.trp-details{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:var(--trp-card-bg,#fff);border-radius:var(--trp-radius,18px);box-shadow:var(--trp-shadow,0 10px 30px rgba(15,23,42,.08));padding:32px;animation:trpFade .35s ease;color:var(--trp-card-text,#0f172a)}
@keyframes trpFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.trp-details-title{margin:0 0 8px;font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--trp-heading-color,inherit)}
.trp-details-desc{margin:0 0 18px;color:var(--trp-text,#475569)}

.trp-stats{list-style:none;display:flex;flex-wrap:wrap;gap:14px;padding:0;margin:0 0 22px}
.trp-stats li{display:inline-flex;align-items:center;gap:8px;background:var(--trp-stat-bg,#f1f5f9);padding:8px 14px;border-radius:999px;font-size:.95em;color:var(--trp-stat-text,#0f172a)}
.trp-stats i{color:var(--trp-icon-color,#3b82f6)}

.trp-timeline{list-style:none;padding:0;margin:0;position:relative}
.trp-timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--trp-timeline,#3b82f6),transparent)}
.trp-timeline-item{position:relative;padding:6px 0 18px 32px;color:var(--trp-text,#0f172a);font-weight:500}
.trp-timeline-item:last-child{padding-bottom:0}
.trp-timeline-dot{position:absolute;left:0;top:8px;width:20px;height:20px;border-radius:50%;background:var(--trp-card-bg,#fff);border:3px solid var(--trp-timeline,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.12)}

.trp-map-wrap{position:relative;padding-bottom:62%;height:0;border-radius:var(--trp-radius,18px);overflow:hidden;box-shadow:0 10px 25px rgba(15,23,42,.1)}
.trp-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.trp-map-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;background:var(--trp-button-bg,#3b82f6);color:var(--trp-button-text,#fff);border-radius:999px;text-decoration:none;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.trp-map-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(59,130,246,.35);filter:brightness(.95)}
.trp-map-btn:focus-visible{outline:3px solid var(--trp-primary,#0f172a);outline-offset:3px}

@media (max-width:900px){
	.trp-cards{grid-template-columns:1fr}
	.trp-details{grid-template-columns:1fr;padding:22px}
}
@media (max-width:480px){
	.trp-section{padding:40px 14px}
	.trp-card{padding:20px}
}

.trp-live-location{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin:0 0 40px;background:var(--trp-card-bg,#fff);border:1px solid var(--trp-border,rgba(15,23,42,.06));border-radius:var(--trp-radius,18px);box-shadow:var(--trp-shadow,0 10px 30px rgba(15,23,42,.08));padding:20px;align-items:center}
.trp-live-map-wrap{position:relative;padding-bottom:56%;height:0;border-radius:calc(var(--trp-radius,18px) - 6px);overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.trp-live-map-wrap .trp-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.trp-live-meta{padding:8px 12px}
.trp-live-title{margin:0 0 10px;font-size:1.35em;font-weight:700;color:var(--trp-heading-color,#0f172a);display:flex;align-items:center;gap:10px}
.trp-live-title i{color:var(--trp-icon-color,#3b82f6)}
.trp-live-address{margin:0 0 16px;color:var(--trp-text,#475569);font-size:.98em;line-height:1.55}
@media (max-width:900px){
	.trp-live-location{grid-template-columns:1fr;padding:16px}
	.trp-live-meta{padding:4px 4px 8px}
}
