/* ToUr 7 reference-led compact polish: shared typography and restrained spacing */
:root{--t7-green:#0f7a4c;--t7-green-dark:#075f3d;--t7-red:#d91017;--t7-ink:#202923;--t7-muted:#6f7b75;--t7-line:#dfe7e2;--t7-soft:#f1f7f3;--t7-radius:18px}
html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--t7-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}img{max-width:100%}
/* Shared surfaces: tighter, more deliberate spacing without deleting information */
.card,.price-card,.trip-option,.dest-card,.live-card,.quick-card,.summary-card,.booking-card{box-shadow:0 5px 18px rgba(21,49,38,.055);border-color:var(--t7-line)}
/* Live Travel: prevent wide cards and oversized vertical blocks on phones */
.live-page{overflow-x:clip}.live-hero{padding:34px 0}.live-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-.035em}.live-hero p{font-size:15px;line-height:1.55}.live-wrap{width:min(1180px, calc(100% - 32px));padding:24px 0 40px}.live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.live-card{min-width:0;padding:17px;border-radius:20px;overflow:hidden}.live-card-head{min-width:0;gap:8px}.live-card h2{font-size:clamp(20px,2vw,23px);line-height:1.15;letter-spacing:-.025em}.live-status{max-width:48%;white-space:normal;text-align:center;line-height:1.25;padding:6px 8px}.live-main{gap:10px;margin:14px 0}.live-temp{font-size:clamp(34px,4vw,42px);letter-spacing:-.04em}.live-condition{font-size:15px;line-height:1.3}.live-metrics{gap:8px;min-width:0}.live-metric{min-width:0;padding:9px 10px;border-radius:14px;font-size:12px;overflow-wrap:anywhere}.live-metric b{font-size:15px}.live-alert{padding:10px 12px;margin:10px 0;font-size:13px;line-height:1.45}.live-actions{gap:8px;margin-top:11px}.live-actions a,.live-actions button{padding:10px 12px;font-size:12px;min-height:42px}.quick-cards{gap:10px}.quick-card{padding:12px;border-radius:16px}.live-quick{margin-bottom:25px}.browse-head{margin:22px 0 12px}.section-heading h2,.browse-head h2{font-size:clamp(22px,3vw,26px);line-height:1.2;letter-spacing:-.025em}
/* Trip builder: preserve fields and details while reducing excess padding */
.smart-trip-builder .wrap{padding-top:20px}.smart-trip-builder .card{padding:20px;border-radius:20px}.smart-trip-builder .card h2{font-size:23px;line-height:1.25}.smart-trip-builder label{margin:10px 0;font-size:14px}.smart-trip-builder input,.smart-trip-builder select{padding:11px 12px;border-radius:11px}.smart-trip-builder .grid,.smart-trip-builder .choice-grid{gap:10px}
/* Tour price summary: compact content rhythm while preserving all fare rows */
.trip-summary-badge{gap:8px!important;margin:12px 0 16px!important}.trip-summary-badge .badge-item{padding:8px 11px!important;border-radius:12px!important;font-size:13px!important}.price-card{padding:18px!important;border-radius:20px!important}.price-card .card-title{font-size:19px!important;margin-bottom:12px!important}.price-item,.distance-breakdown .row{padding:10px 0!important;line-height:1.35}.price-item .label,.distance-breakdown .row>span:first-child{font-size:14px}.price-item .value,.distance-breakdown .value{font-size:15px}.price-item.total{margin-top:8px!important;padding:14px!important;border-radius:14px!important}
/* General typography hierarchy */
h1,h2,h3,h4{letter-spacing:-.025em}p{line-height:1.55}small,.muted,.sub,.description{line-height:1.45} :focus-visible{outline:3px solid #72b99a;outline-offset:2px}
@media(max-width:800px){.live-hero{padding:28px 0}.live-wrap{width:calc(100% - 24px);padding:18px 0 32px}.live-grid{grid-template-columns:minmax(0,1fr);gap:12px}.live-card{padding:15px;border-radius:18px}.live-main{grid-template-columns:minmax(0,1fr);gap:12px;margin:13px 0}.live-status{max-width:45%;font-size:10px}.live-temp{font-size:38px}.live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.live-metric{padding:9px}.live-actions a,.live-actions button{min-height:40px}.live-hero h1{font-size:clamp(29px,8vw,40px)}.price-card{padding:15px!important}}
@media(max-width:380px){.live-card-head{flex-wrap:wrap}.live-status{max-width:100%}.live-metrics{grid-template-columns:minmax(0,1fr)}.live-actions a,.live-actions button{flex:1}.live-wrap{width:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
