/* extracted from view/bus-rental-city.php — порядок блоков сохранён */

/* --- block 1 --- */
/* ===== Luxury hero (shared style with /airport-transfer) ===== */
.luxury-title {
    position: relative;
    padding: 180px 0 120px;
    overflow: hidden;
    color: white;
    text-align: center;
    background-image: linear-gradient(80deg, rgba(0,0,0,.5) 0%, rgba(1,0,19,.7) 70%, rgba(0,0,0,.5) 100%), url(/images/coach-bus-transportation-banner.jpeg);
    background-size: cover;
    background-position: center center;
}
.luxury-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.2); z-index:-1; }
.luxury-parallax-bg {
    position:absolute; top:0; left:0; width:100%; height:120%;
    background-image: linear-gradient(80deg, rgba(0,0,0,.5) 0%, rgba(1,0,19,.7) 70%, rgba(0,0,0,.5) 100%), url(/images/coach-bus-transportation-banner.jpeg);
    background-size:cover; background-position:center 20%; background-attachment:fixed;
    transform:translateZ(0); z-index:-2; filter:brightness(.9) contrast(1.1);
}
.luxury-title-content { position:relative; z-index:2; max-width:900px; margin:0 auto; animation:fadeInUp 1s ease-out; }
@keyframes fadeInUp { from { opacity:0; transform:translateY(20px);} to { opacity:1; transform:translateY(0);} }
.luxury-title-badge {
    display:inline-block; font-size:12px; letter-spacing:3px;
    background-color:rgba(154,136,102,.3); border:1px solid rgba(154,136,102,.7);
    color:#fff; padding:8px 16px; border-radius:3px; margin-bottom:25px; font-weight:500; position:relative;
}
.luxury-title-badge:before, .luxury-title-badge:after { content:''; position:absolute; height:1px; width:30px; background:rgba(154,136,102,.7); top:50%; }
.luxury-title-badge:before { right:100%; margin-right:15px; }
.luxury-title-badge:after { left:100%; margin-left:15px; }
.luxury-title h1 { font-size:58px; font-weight:700; letter-spacing:3px; margin-bottom:20px; text-shadow:0 3px 10px rgba(0,0,0,.5); position:relative; display:inline-block; }
.luxury-title span { display:block; font-size:17px; line-height:145%; text-align:center; color:#fff; max-width:760px; margin:0 auto; }
.luxury-title-divider { display:flex; align-items:center; justify-content:center; margin:25px 0 15px; }
.luxury-title-divider:before, .luxury-title-divider:after { content:''; height:1px; width:60px; background:rgba(255,255,255,.4); }
.divider-icon { width:8px; height:8px; background:#9a8866; transform:rotate(45deg); margin:0 15px; }
.luxury-title .breadcrumbs-container { margin:0 auto; padding:10px; background-color:#ffffff0f; width:fit-content; }
.luxury-title .breadcrumbs-container span { font-size:14px!important; }
@media (max-width:767px) {
    .luxury-title { padding:140px 0 70px; }
    .luxury-title h1 { font-size:32px; letter-spacing:2px; }
    .luxury-parallax-bg { background-attachment:scroll; }
}

/* Booking widget breathing room before the dark stats strip */
.custom-form-widgetss { margin-bottom:60px; }
@media (max-width:767px) { .custom-form-widgetss { margin-bottom:40px; } }

/* ===== Bus rental landing (brl-) ===== */
.brl-stats { background:#161616; border-top:1px solid rgba(154,138,120,.25); padding:30px 0; }
.brl-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; text-align:center; }
.brl-stat strong { display:block; font-size:1.9rem; font-weight:700; color:#9A8A78; line-height:1.15; }
.brl-stat span { color:rgba(255,255,255,.75); font-size:.9rem; }

.brl-section-head { max-width:820px; margin:0 auto 42px; text-align:center; }
.brl-eyebrow { display:inline-block; color:#9A8A78; text-transform:uppercase; letter-spacing:2px; font-size:.78rem; font-weight:600; margin-bottom:10px; }
.brl-section-head h2 { font-size:2.1rem; font-weight:300; line-height:1.25; margin:0; }
.brl-section-head h2 span { font-weight:700; }
.brl-section-head.brl-light h2 { color:#fff; }
.brl-section-head.brl-light .brl-eyebrow { color:#b9a68f; }
.brl-section-sub { margin:16px auto 0; color:#555; font-size:1rem; line-height:1.7; max-width:720px; }

.brl-intro { padding:70px 0; }
.brl-intro-text h2 { font-size:2.1rem; font-weight:300; margin:0 0 18px; }
.brl-intro-text h2 span { font-weight:700; }
.brl-intro-text p { font-size:1.02rem; line-height:1.75; color:#3b3b3b; margin:0 0 16px; }
.brl-benefits { background:#f6f5f3; border:1px solid #ebe8e4; border-radius:14px; padding:30px 28px; }
.brl-benefits h3 { font-size:1.3rem; font-weight:700; margin:0 0 18px; }
.brl-benefits ul { list-style:none; padding:0; margin:0 0 22px; }
.brl-benefits ul li { position:relative; padding:7px 0 7px 30px; font-size:.96rem; color:#333; line-height:1.5; }
.brl-benefits ul li::before { content:''; position:absolute; left:0; top:13px; width:14px; height:14px; background:rgba(154,138,120,.2); border:2px solid #9A8A78; border-radius:50%; }
.brl-benefits-cta { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.brl-call p { margin:0 0 2px; font-size:.85rem; color:#777; }
.brl-call a { font-weight:700; font-size:1.05rem; }

.brl-fleet { padding:70px 0; background:#f6f5f3; }
.brl-fleet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.brl-card { background:#fff; border:1px solid #ececec; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease; }
.brl-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(0,0,0,.12); }
.brl-card-featured { border-color:#9A8A78; box-shadow:0 8px 30px rgba(154,138,120,.18); }
.brl-card-img { position:relative; aspect-ratio:16/10; overflow:hidden; background:#f2f2f2; }
.brl-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.brl-badge { position:absolute; left:12px; bottom:12px; display:flex; gap:8px; }
.brl-badge span { background:rgba(22,22,22,.85); color:#fff; font-size:.78rem; padding:5px 10px; border-radius:5px; font-weight:500; }
.brl-featured-tag { position:absolute; top:12px; right:12px; background:#9A8A78; color:#fff; font-size:.72rem; letter-spacing:1px; text-transform:uppercase; padding:5px 10px; border-radius:5px; font-weight:600; }
.brl-card-body { padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.brl-card-body h3 { font-size:1.25rem; font-weight:700; margin:0 0 6px; }
.brl-card-body > p { color:#555; font-size:.95rem; margin:0 0 14px; }
.brl-card-body ul { list-style:none; padding:0; margin:0 0 20px; }
.brl-card-body ul li { position:relative; padding:4px 0 4px 22px; font-size:.92rem; color:#444; }
.brl-card-body ul li::before { content:''; position:absolute; left:0; top:11px; width:12px; height:12px; background:rgba(154,138,120,.2); border:2px solid #9A8A78; border-radius:50%; }
.brl-card-body .btn { margin-top:auto; }

.brl-services { background:#1d1d1d; padding:70px 0 75px; }
.brl-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.brl-service { background:rgba(255,255,255,.04); border:1px solid rgba(154,138,120,.22); border-radius:12px; padding:26px 24px; transition:border-color .25s ease, background .25s ease; }
.brl-service:hover { border-color:#9A8A78; background:rgba(154,138,120,.08); }
.brl-service-icon { width:46px; height:46px; border-radius:10px; background:rgba(154,138,120,.15); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.brl-service-icon svg { width:24px; height:24px; stroke:#9A8A78; }
.brl-service h3 { color:#fff; font-size:1.08rem; font-weight:600; margin:0 0 8px; }
.brl-service p { color:rgba(255,255,255,.72); font-size:.92rem; line-height:1.6; margin:0; }

.brl-venues { padding:70px 0; background:#f6f5f3; }
.brl-venues-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.brl-venue { background:#fff; border-radius:12px; padding:22px; display:flex; gap:14px; border:1px solid #ebe8e4; }
.brl-venue-marker { flex-shrink:0; width:38px; height:38px; border-radius:50%; background:rgba(154,138,120,.14); display:flex; align-items:center; justify-content:center; }
.brl-venue-marker svg { width:19px; height:19px; stroke:#9A8A78; }
.brl-venue h3 { font-size:1.02rem; font-weight:700; margin:0 0 5px; }
.brl-venue p { font-size:.9rem; color:#555; line-height:1.55; margin:0; }

.brl-amenities { background:#1d1d1d; padding:70px 0 75px; }
.brl-amenities-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.brl-amenity { display:flex; align-items:center; gap:14px; background:rgba(255,255,255,.04); border:1px solid rgba(154,138,120,.22); border-radius:10px; padding:16px 18px; }
.brl-amenity svg { width:26px; height:26px; stroke:#9A8A78; flex-shrink:0; }
.brl-amenity span { color:rgba(255,255,255,.88); font-size:.92rem; font-weight:500; }

.brl-pricing { padding:70px 0; background:#f6f5f3; }
.brl-pricing-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.brl-price-card { background:#fff; border:1px solid #ebe8e4; border-top:3px solid #9A8A78; border-radius:12px; padding:24px 22px; }
.brl-price-card h3 { font-size:1.05rem; font-weight:700; margin:0 0 10px; }
.brl-price-card p { color:#555; font-size:.91rem; line-height:1.65; margin:0; }

.brl-safety { padding:70px 0; }
.brl-safety-text h2 { font-size:2rem; font-weight:300; margin:0 0 16px; }
.brl-safety-text h2 span { font-weight:700; }
.brl-safety-text p { color:#444; font-size:.98rem; line-height:1.7; margin:0 0 14px; }
.brl-safety-list { list-style:none; padding:0; margin:8px 0 0; }
.brl-safety-list li { position:relative; padding:7px 0 7px 30px; font-size:.95rem; color:#333; }
.brl-safety-list li::before { content:''; position:absolute; left:0; top:12px; width:14px; height:14px; background:rgba(154,138,120,.2); border:2px solid #9A8A78; border-radius:50%; }
.brl-safety-img img { width:100%; border-radius:16px; filter:drop-shadow(0 0 30px rgba(0,0,0,.2)); }

.brl-steps { background:#1d1d1d; padding:70px 0 75px; }
.brl-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.brl-step { position:relative; background:rgba(255,255,255,.04); border:1px solid rgba(154,138,120,.22); border-radius:12px; padding:30px 26px 26px; }
.brl-step-num { position:absolute; top:-18px; left:24px; width:38px; height:38px; border-radius:50%; background:#9A8A78; color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.05rem; }
.brl-step h3 { color:#fff; font-size:1.08rem; font-weight:600; margin:8px 0 10px; }
.brl-step p { color:rgba(255,255,255,.72); font-size:.92rem; line-height:1.65; margin:0; }

.brl-faq { padding:70px 0; }
.brl-faq-list { max-width:840px; margin:0 auto; }
.brl-faq-item { border:1px solid #e8e8e8; border-radius:10px; margin-bottom:12px; background:#fff; overflow:hidden; }
.brl-faq-item summary { list-style:none; cursor:pointer; padding:18px 20px; font-weight:600; font-size:1rem; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.brl-faq-item summary::-webkit-details-marker { display:none; }
.brl-faq-item summary svg { width:18px; height:18px; flex-shrink:0; stroke:#9A8A78; transition:transform .25s ease; }
.brl-faq-item[open] summary svg { transform:rotate(180deg); }
.brl-faq-item[open] { border-color:#9A8A78; }
.brl-faq-item p { padding:0 20px 18px; margin:0; color:#555; line-height:1.7; font-size:.95rem; }
.brl-faq-item:last-child { margin-bottom:0; }

.brl-cities { padding:70px 0; background:#f6f5f3; }
.brl-cities-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.brl-city-card { display:block; background:#fff; border:1px solid #ebe8e4; border-radius:12px; padding:24px 22px; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.brl-city-card:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(0,0,0,.1); border-color:#9A8A78; text-decoration:none; }
.brl-city-card h3 { font-size:1.08rem; font-weight:700; color:#161616; margin:0 0 8px; }
.brl-city-card p { color:#555; font-size:.89rem; line-height:1.6; margin:0 0 12px; }
.brl-city-link { color:#9A8A78; font-weight:600; font-size:.9rem; }

.cta-section .feature-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; background-color:rgba(154,138,120,.15); border-radius:50%; flex-shrink:0; }
.cta-section .feature-icon svg { stroke:#9A8A78; }
.cta-section .cta-form-container .form-cst { padding:30px; }

/* ===== Responsive ===== */
@media (max-width: 991px) {
    .brl-fleet-grid, .brl-services-grid, .brl-steps-grid, .brl-venues-grid, .brl-amenities-grid, .brl-pricing-grid, .brl-cities-grid { grid-template-columns:repeat(2,1fr); }
    .brl-stats-grid { grid-template-columns:repeat(2,1fr); }
    .cta-section .cta-form-container { margin-top:34px; }
    .brl-benefits { margin-top:30px; }
    .brl-safety-img { margin-top:28px; }
}
@media (max-width: 767px) {
    .brl-intro, .brl-venues, .brl-pricing, .brl-safety, .brl-faq, .brl-cities { padding:50px 0; }
    .brl-fleet { padding:45px 0 55px; }
    .brl-services, .brl-steps, .brl-amenities { padding:55px 0 60px; }
    .brl-section-head h2, .brl-intro-text h2 { font-size:1.55rem; }
    .brl-safety-text h2 { font-size:1.5rem; }
    .brl-fleet-grid, .brl-services-grid, .brl-venues-grid, .brl-pricing-grid, .brl-cities-grid { grid-template-columns:1fr; }
    .brl-steps-grid { grid-template-columns:1fr; gap:30px; }
    .brl-amenities-grid { grid-template-columns:1fr 1fr; }
    .brl-amenity { padding:13px 14px; }
    .brl-amenity span { font-size:.85rem; }
    .cta-section { padding:55px 0; }
    .cta-content h2 { font-size:1.8rem; }
}
@media (max-width: 480px) {
    .brl-stats-grid { gap:14px; }
    .brl-stat strong { font-size:1.5rem; }
    .brl-stat span { font-size:.8rem; }
    .brl-faq-item summary { padding:15px 16px; font-size:.95rem; }
    .brl-amenities-grid { grid-template-columns:1fr; }
    .brl-benefits { padding:24px 20px; }
}
