.contact-hero{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;padding:80px 0 60px;position:relative;overflow:hidden}.contact-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#f59e0b26 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-10%}.contact-hero-content{text-align:center;z-index:1;max-width:720px;margin:0 auto;position:relative}.contact-hero .hero-badge{letter-spacing:.5px;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff1f;border:1px solid #fff3;border-radius:100px;align-items:center;gap:8px;margin-bottom:24px;padding:8px 18px;font-size:13px;font-weight:600;display:inline-flex}.contact-hero .hero-badge i{width:16px;height:16px;color:var(--accent)}.contact-hero h1{font-family:var(--font-heading);letter-spacing:-.5px;color:#fff;margin-bottom:20px;font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.15}.contact-hero h1 span{color:var(--accent)}.contact-hero p{color:#ffffffd9;max-width:560px;margin:0 auto;font-size:16px;line-height:1.7}.quick-contact-section{background:var(--bg);z-index:2;margin-top:-30px;padding:60px 0;position:relative}.quick-contact-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.contact-action-card{text-align:center;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);border-radius:16px;flex-direction:column;align-items:center;padding:32px 24px;transition:all .3s;display:flex}.contact-action-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-4px)}.contact-action-icon{border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:18px;display:grid}.contact-action-icon i{color:#fff;width:28px;height:28px}.call-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light))}.whatsapp-icon{background:linear-gradient(135deg,#10b981,#059669)}.email-icon{background:linear-gradient(135deg, var(--accent), #d97706)}.contact-action-card h3{font-family:var(--font-heading);color:var(--text);margin-bottom:6px;font-size:18px;font-weight:700}.contact-action-card p{color:var(--text-muted);word-break:break-word;margin-bottom:16px;font-size:14px}.contact-action-cta{color:var(--primary);align-items:center;gap:6px;font-size:13px;font-weight:600;transition:gap .2s;display:inline-flex}.contact-action-card:hover .contact-action-cta{gap:10px}.contact-action-cta i{width:14px;height:14px}.contact-details-section{background:var(--bg);padding:80px 0}.contact-details-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:1000px;margin:0 auto;display:grid}.detail-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;transition:all .3s;overflow:hidden}.detail-card:hover{box-shadow:var(--shadow-md)}.detail-card-header{background:linear-gradient(135deg, var(--surface-soft), var(--surface));border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:24px;display:flex}.detail-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light));border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.detail-icon i{color:#fff;width:24px;height:24px}.owner-card .detail-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light))}.office-card .detail-icon{background:linear-gradient(135deg, var(--accent), #d97706)}.detail-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.detail-card-header h3{font-family:var(--font-heading);color:var(--text);margin:0;font-size:18px;font-weight:700}.detail-card-body{padding:8px 0}.detail-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:14px;padding:14px 24px;transition:background .2s;display:flex}.detail-row:last-child{border-bottom:none}.detail-row:hover{background:var(--surface-soft)}.detail-row i{width:20px;height:20px;color:var(--primary);flex-shrink:0}.detail-row>div{flex-direction:column;min-width:0;display:flex}.detail-row span{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;font-size:11px;font-weight:600}.contact-action-card .contact-hours-note{color:var(--text-muted);letter-spacing:0;text-transform:none;align-items:center;gap:5px;margin:-7px 0 10px;font-size:11px;font-weight:500;line-height:1.35;display:inline-flex}.contact-action-card .contact-hours-note i{width:13px;height:13px;color:var(--primary);flex:none}.detail-row strong{color:var(--text);word-break:break-word;font-size:14px;font-weight:600}.route-info-section{background:var(--bg);padding:0 0 80px}.route-info-card{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:32px;padding:40px;display:grid;position:relative;overflow:hidden}.route-info-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#f59e0b26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-20%}.route-info-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;background:#ffffff1f;border:1px solid #fff3;border-radius:18px;place-items:center;width:72px;height:72px;display:grid;position:relative}.route-info-icon i{width:32px;height:32px;color:var(--accent)}.route-info-content{z-index:1;min-width:0;position:relative}.route-info-content .section-label{letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:12px;font-weight:700;display:inline-block}.route-info-content h2{font-family:var(--font-heading);color:#fff;margin-bottom:10px;font-size:26px;font-weight:700;line-height:1.3}.route-info-content p{color:#ffffffd9;max-width:560px;margin:0;font-size:15px;line-height:1.7}.route-info-actions{z-index:1;position:relative}.contact-cta-section{background:var(--bg);padding:0 0 80px}.contact-cta-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:44px;display:grid}.cta-content .section-label{letter-spacing:1px;text-transform:uppercase;color:var(--primary);margin-bottom:8px;font-size:12px;font-weight:700;display:inline-block}.cta-content h2{font-family:var(--font-heading);color:var(--text);margin-bottom:10px;font-size:26px;font-weight:700;line-height:1.3}.cta-content p{color:var(--text-soft);max-width:520px;margin:0;font-size:15px;line-height:1.6}.cta-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=900px){.quick-contact-grid,.contact-details-grid{grid-template-columns:1fr}.route-info-card{text-align:left;grid-template-columns:1fr;gap:20px;padding:clamp(22px,4vw,32px)}.route-info-actions{width:100%}.route-info-actions .btn{justify-content:center;width:100%}.contact-cta-card{grid-template-columns:1fr;gap:24px;padding:32px}.cta-actions{width:100%}.cta-actions .btn{flex:1}}@media (width<=600px){.contact-hero{padding:60px 0 40px}.contact-hero h1{font-size:30px}.quick-contact-section{padding:40px 0 0}.contact-action-card{padding:24px 20px}.contact-details-section{padding:60px 0}.detail-card-header{padding:20px}.detail-row{padding:12px 20px}.route-info-card{gap:18px;padding:20px}.route-info-icon{width:56px;height:56px}.route-info-icon i{width:26px;height:26px}.route-info-content h2{overflow-wrap:anywhere;font-size:22px}.contact-cta-card{padding:24px}.cta-content h2{font-size:22px}.cta-actions{flex-direction:column}.cta-actions .btn{justify-content:center;width:100%}}[data-theme=dark] .detail-card-header{background:linear-gradient(135deg, var(--surface-soft), var(--surface))}[data-theme=dark] .contact-cta-card{background:var(--surface)}.booking-contacts-section{background:var(--surface-soft);padding:80px 0}.booking-contacts-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.booking-contact-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;gap:16px;padding:24px;transition:all .3s;display:flex}.booking-contact-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-4px)}.booking-contact-card.online{border-left:4px solid var(--accent)}.booking-contact-card.phone{border-left:4px solid var(--primary)}.bc-header{align-items:flex-start;gap:14px;display:flex}.bc-icon{border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.bc-icon.online-icon{background:linear-gradient(135deg, var(--accent), #d97706)}.bc-icon.phone-icon{background:linear-gradient(135deg, var(--primary), var(--primary-light))}.bc-icon i{color:#fff;width:22px;height:22px}.bc-title{flex-direction:column;min-width:0;display:flex}.bc-title h3{font-family:var(--font-heading);color:var(--text);margin:0 0 4px;font-size:17px;font-weight:700;line-height:1.3}.bc-type-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:100px;width:fit-content;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.bc-type-badge.online-badge{color:var(--accent);background:#f59e0b26}.bc-type-badge.phone-badge{color:var(--primary);background:#1e3a8a1a}.bc-numbers{flex-direction:column;gap:8px;display:flex}.bc-number{background:var(--surface-soft);color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.bc-number:hover{background:var(--primary);color:#fff}.bc-number:hover i{color:#fff}.bc-number i{width:16px;height:16px;color:var(--primary);flex-shrink:0}.purulia-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.purulia-line{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;min-width:0;min-height:72px;padding:10px 12px;display:grid}.purulia-line-label{min-width:0;color:var(--text-muted);white-space:nowrap;grid-area:1/1/auto/-1;font-size:10px;font-weight:500}.purulia-line strong{color:var(--text);white-space:nowrap;grid-area:2/1;font-size:11px;font-weight:800}.purulia-line i{grid-area:2/2;width:20px;height:20px}.purulia-line:hover .purulia-line-label,.purulia-line:hover strong{color:#fff}@media (width<=600px){.purulia-lines{grid-template-columns:minmax(0,1fr)}.booking-contacts-section{padding:60px 0}.booking-contacts-grid{grid-template-columns:1fr}}.booking-contacts-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px}.booking-contact-card{border-radius:19px;min-width:0;min-height:218px;padding:22px;box-shadow:0 8px 24px #1d322911}.booking-contact-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1d32291c}.bc-header{align-items:center;gap:13px}.bc-title h3{font-size:18px}.bc-type-badge{letter-spacing:.07em;padding:5px 9px}.bc-numbers{flex:1;width:100%}.bc-hours-note{color:var(--text-muted);align-items:center;gap:7px;margin:-4px 0 0;font-size:12px;line-height:1.4;display:flex}.bc-hours-note i{width:14px;height:14px;color:var(--primary);flex:none}.bc-number:not(.purulia-line){background:linear-gradient(135deg, var(--surface-soft), #e8efe9bd);font-variant-numeric:tabular-nums;border:1px solid #2e463912;border-radius:13px;min-width:0;min-height:54px;padding:12px 14px}.bc-number:not(.purulia-line) span{overflow-wrap:anywhere;min-width:0}.bc-number:not(.purulia-line):hover{border-color:var(--primary)}.purulia-contact-card{grid-column:span 2}.purulia-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.purulia-line{background:linear-gradient(135deg, var(--surface-soft), #e8efe9bd);border:1px solid #2e463912;border-radius:13px;grid-template-rows:auto minmax(24px,auto);grid-template-columns:minmax(0,1fr) 36px;gap:4px 8px;min-width:0;min-height:72px;padding:10px 12px}.purulia-line-label{letter-spacing:.025em;text-overflow:ellipsis;font-size:10px;overflow:hidden}.purulia-line strong{font-variant-numeric:tabular-nums;letter-spacing:.015em;white-space:nowrap;align-self:center;min-width:0;font-size:clamp(12px,1vw,14px)}.purulia-line i{width:34px;height:34px;color:var(--primary);background:#ffffffdb;border-radius:10px;place-items:center;padding:8px;display:grid}.purulia-line:hover{border-color:var(--primary);background:var(--primary)}.purulia-line:hover i{color:#fff;background:#ffffff2b}.bus-stand-location-section{background:var(--bg);padding:72px 0}.bus-stand-location-card{border:1px solid var(--border);background:var(--surface);max-width:900px;box-shadow:var(--shadow-md);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 auto;padding:24px;display:grid}.bus-stand-location-icon{color:#9a6100;background:linear-gradient(145deg,#fff7e5,#ffedc2);border:1px solid #f59e0b3b;border-radius:17px;place-items:center;width:58px;height:58px;display:grid}.bus-stand-location-icon i{width:27px;height:27px}.bus-stand-location-copy{min-width:0}.bus-stand-location-label{color:#45564b;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800;line-height:1.45;display:inline-block}.bus-stand-location-copy h3{color:var(--text);font-family:var(--font-heading);margin:5px 0 3px;font-size:20px;font-weight:750}.bus-stand-location-copy p{color:var(--text-muted);margin:0;font-size:14px}.bus-stand-map-button{border:1px solid var(--primary);color:#fff;background:var(--primary);white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 16px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.bus-stand-map-button:hover{background:var(--primary-light);transform:translateY(-2px)}.bus-stand-map-button i{width:17px;height:17px}.bus-stand-map-button .bus-stand-map-external{opacity:.8;width:13px;height:13px}.booking-help-section{background:var(--bg);padding:clamp(48px,7vw,82px) 0;scroll-margin-top:88px}.booking-help-heading{text-align:center;max-width:720px;margin:0 auto 28px}.booking-help-heading .section-label{color:var(--accent);letter-spacing:.13em;font-size:11px;font-weight:800}.booking-help-heading h2{color:var(--text);font:750 clamp(1.6rem, 3vw, 2.25rem)/1.15 var(--font-heading);letter-spacing:-.035em;margin:8px 0}.booking-help-heading p{color:var(--text-muted);margin:0;font-size:15px}.booking-help-list{gap:10px;max-width:860px;margin:0 auto;display:grid}.booking-help-item{border:1px solid var(--border);background:linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--surface) 92%, var(--primary) 8%));border-radius:14px;transition:border-color .18s,box-shadow .18s;overflow:hidden;box-shadow:0 5px 18px #18241d0b}.booking-help-item[open]{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));box-shadow:0 8px 22px #18241d12}.booking-help-item summary{min-height:60px;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;font-size:15px;font-weight:700;list-style:none;display:flex;position:relative}.booking-help-item summary::-webkit-details-marker{display:none}.booking-help-item summary:after{content:"+";width:27px;height:27px;color:var(--text);background:#e5f4c9;border-radius:9px;flex:0 0 27px;place-items:center;font-size:20px;font-weight:500;line-height:1;transition:transform .18s;display:grid}.booking-help-item[open] summary:after{content:"−"}.booking-help-item summary:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 45%, transparent);outline-offset:-3px}.booking-help-item p{color:var(--text-muted);margin:0;padding:0 20px 18px;font-size:14px;line-height:1.7}.booking-help-item a,.booking-help-contact a{color:var(--primary-dark,var(--primary));text-underline-offset:3px;font-weight:700}.booking-help-contact{max-width:860px;color:var(--text-muted);text-align:center;margin:18px auto 0;font-size:14px;line-height:1.7}.booking-help-heading .section-label{color:#526b22}.booking-help-item summary:after{color:#23351d;background:linear-gradient(145deg,#effbbd,#d9f078);border:1px solid #cce57a;border-radius:50%;flex-basis:30px;width:30px;height:30px;font-size:19px;font-weight:650;box-shadow:0 0 0 3px #cfe88247,0 2px 5px #384f1c1a}.booking-help-item summary:hover:after{box-shadow:0 0 0 4px #cfe88266,0 3px 7px #384f1c21}.booking-help-item[open] summary:after{background:linear-gradient(145deg,#e7f6ad,#cce85f);border-color:#bddb5d}.booking-help-item[open] p{color:var(--text)}.booking-change-request-section{padding:24px 0 72px}.booking-change-request-card{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--surface) 95%, var(--primary) 5%));max-width:860px;box-shadow:var(--shadow-md);border-radius:20px;grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);gap:30px;margin:0 auto;padding:clamp(20px,4vw,32px);display:grid}.booking-change-request-card h2{color:var(--text);font:750 clamp(1.35rem, 2.4vw, 1.8rem)/1.15 var(--font-heading);letter-spacing:-.03em;margin:9px 0}.booking-change-request-card>div>p{color:var(--text-muted);font-size:14px;line-height:1.7}.booking-change-request-form{grid-template-columns:1fr;gap:9px;display:grid}.booking-change-request-field{display:contents}.booking-change-request-field[hidden]{display:none!important}.booking-change-request-form label{color:var(--text);margin-top:4px;font-size:13px;font-weight:700}.booking-change-request-form input,.booking-change-request-form select{border:1px solid var(--border);width:100%;min-height:46px;color:var(--text);background:var(--surface);font:inherit;border-radius:10px;padding:0 13px}.booking-change-request-form input:focus,.booking-change-request-form select:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb, var(--primary) 18%, transparent)}.booking-change-request-button{min-height:46px;color:var(--text);cursor:pointer;font:inherit;background:linear-gradient(135deg,#e9f7a9,#cee957);border:0;border-radius:11px;margin-top:5px;padding:0 18px;font-weight:750;box-shadow:0 5px 14px #77961f29}.booking-change-request-button:hover{filter:brightness(.97);transform:translateY(-1px)}.booking-change-request-note,.booking-change-request-status{color:var(--text-muted);margin:2px 0 0;font-size:12px;line-height:1.6}.booking-change-request-status:empty{display:none}.page-contact .booking-change-request-status[data-request-state=error]{color:#9f1239;background:#fff1f2}.page-contact .booking-change-request-track-link{color:#174b3b;text-underline-offset:2px;margin-left:4px;font-weight:750;text-decoration:underline;display:inline-block}@media (width<=600px){.booking-help-heading{text-align:left;margin-bottom:20px}.booking-help-item summary{min-height:56px;padding:14px 15px;font-size:14px}.booking-help-item p{padding:0 15px 16px;font-size:13px}}@media (width<=700px){.booking-change-request-section{padding:16px 0 54px}.booking-change-request-card{border-radius:16px;grid-template-columns:minmax(0,1fr);gap:15px}}@media (width<=900px){.booking-contacts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purulia-contact-card{grid-column:1/-1}}@media (width<=600px){.booking-contacts-grid{grid-template-columns:minmax(0,1fr);gap:14px}.booking-contact-card{border-radius:16px;min-height:0;padding:18px}.purulia-contact-card{grid-column:auto}.purulia-lines{grid-template-columns:minmax(0,1fr);gap:8px}.purulia-line{min-height:66px}.purulia-line strong{font-size:14px}.bus-stand-location-section{padding:54px 0}.bus-stand-location-card{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.bus-stand-location-icon{border-radius:14px;width:50px;height:50px}.bus-stand-location-copy h3{font-size:18px}.bus-stand-map-button{grid-column:1/-1;width:100%}}
