body{
font-family:sans-serif;
margin:0;
background:#0f0f0f;
color:white;
}

header{
display:flex;
justify-content:space-between;
padding:20px;
background:#111;
}

nav a{
color:white;
margin-left:20px;
text-decoration:none;
}
.localbanner{
height:70vh;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
}
.hero{
height:70vh;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
background:linear-gradient(45deg,#ff0080,#7928ca);
}
.hero-slider{
position:relative;
height:70vh;
overflow:hidden;
}

.slider{
display:flex;
height:100%;
transition:transform 1s ease;
}

.slide{
min-width:100%;
position:relative;
}

.slide img{
width:100%;
height:70vh;
object-fit:cover;
}

.slide-text{
position:absolute;
bottom:50px;
left:50px;
background:rgba(0,0,0,0.6);
padding:20px;
border-radius:10px;
}

.slide-text h2{
margin:0;
font-size:32px;
}

.btn{
background:#ff0080;
padding:15px 30px;
color:white;
text-decoration:none;
border-radius:6px;
}

.content{
max-width:1100px;
margin:auto;
padding:40px;
}

.features{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:20px;
margin-top:30px;
}

.bus-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
}

.bus{
background:#1a1a1a;
padding:20px;
border-radius:10px;
}

form input,
form textarea,
form select{
width:100%;
padding:12px;
margin:10px 0;
border:none;
border-radius:5px;
box-sizing:border-box;
font-size:16px;
}

button{
padding:12px 25px;
background:#ff0080;
border:none;
color:white;
}

.booking-container{
max-width:900px;
margin:50px auto;
padding:40px;
background:#1a1a1a;
border-radius:12px;
box-shadow:0 0 20px rgba(0,0,0,.4);
}

.booking-container h2{
text-align:center;
margin-bottom:30px;
color:#fff;
}

.row{
display:flex;
gap:20px;
}

.col{
flex:1;
}

form label{
display:block;
margin-top:15px;
font-weight:bold;
color:#fff;
}

form textarea{
min-height:140px;
resize:vertical;
}

button{
width:100%;
margin-top:20px;
padding:15px;
font-size:18px;
background:#ff0080;
color:#fff;
border:none;
border-radius:6px;
cursor:pointer;
transition:.3s;
}

button:hover{
background:#d6006c;
}

@media(max-width:768px){

.row{
flex-direction:column;
gap:0;
}

.booking-container{
margin:20px;
padding:25px;
}

}
.product-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
margin-top:30px;
}

.product-card{
background:#1a1a1a;
padding:20px;
border-radius:10px;
text-align:center;
}

.product-card img{
width:100%;
height:220px;
object-fit:cover;
border-radius:8px;
margin-bottom:15px;
}

.product-card h3{
margin:10px 0;
}

.product-card h4{
color:#ff0080;
font-size:22px;
margin:15px 0;
}

.product-card input[type=number]{
width:80px;
text-align:center;
margin:auto;
margin-bottom:15px;
}

.product-card button{
width:100%;
}
.cart-table{

width:100%;

border-collapse:collapse;

margin-top:30px;

}

.cart-table th{

background:#ff0080;

padding:15px;

}

.cart-table td{

padding:15px;

border-bottom:1px solid #333;

}

.form-group{
    margin-bottom:15px;
}

.container2{
    max-width:700px;
    margin:30px auto;
    background:#fff;
    padding:25px;
    border-radius:10px;
    box-shadow:0 0 10px rgba(0,0,0,.2);
}
/* Busoversigt og bus-detaljeside */
.bus-grid-intro{
color:#cfcfcf;
margin-top:-10px;
margin-bottom:30px;
}

.bus-card{
padding:0;
overflow:hidden;
transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.bus-card:hover{
transform:translateY(-5px);
box-shadow:0 12px 30px rgba(0,0,0,.35);
background:#222;
}

.bus-image-link{
display:block;
text-decoration:none;
}

.bus-card-image-wrap{
width:100%;
aspect-ratio:16 / 10;
background:#111;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

.bus-card-image-wrap img{
width:100%;
height:100%;
object-fit:contain;
display:block;
}

.bus-card-content{
padding:20px;
}

.bus-card h3{
font-size:24px;
margin:0 0 10px;
}

.bus-card h3 a{
color:#fff;
text-decoration:none;
}

.bus-card h3 a:hover{
color:#ff4ba7;
}

.bus-card p{
color:#d6d6d6;
line-height:1.55;
}

.bus-seats{
margin-bottom:18px;
}

.bus-read-more{
display:inline-block;
color:#ff4ba7;
font-weight:700;
margin-top:4px;
text-decoration:none;
}

.bus-read-more:hover{
text-decoration:underline;
}

.back-link{
display:inline-block;
color:#d8d8d8;
text-decoration:none;
margin-bottom:25px;
}

.back-link:hover{
color:#ff4ba7;
}

.bus-detail-page{
max-width:1200px;
}

.bus-detail-hero{
display:grid;
grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
gap:40px;
align-items:start;
}

.bus-detail-main-image{
background:#111;
border-radius:14px;
overflow:hidden;
min-height:320px;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 15px 40px rgba(0,0,0,.28);
}

.bus-detail-main-image img{
width:100%;
height:auto;
max-height:600px;
object-fit:contain;
display:block;
}

.bus-image-placeholder{
color:#aaa;
padding:80px 20px;
}

.bus-detail-label{
display:inline-block;
background:rgba(255,0,128,.15);
color:#ff4ba7;
padding:7px 12px;
border-radius:999px;
font-weight:700;
font-size:14px;
margin-bottom:10px;
}

.bus-detail-info h1{
font-size:44px;
line-height:1.05;
margin:8px 0 20px;
}

.bus-fact{
background:#1a1a1a;
border-left:4px solid #ff0080;
padding:14px 16px;
border-radius:7px;
margin-bottom:20px;
}

.bus-description{
color:#d7d7d7;
font-size:18px;
line-height:1.7;
margin-bottom:28px;
overflow-wrap:anywhere;
}

.bus-book-btn{
display:inline-block;
}

.bus-gallery-section{
margin-top:55px;
}

.bus-gallery-section h2{
font-size:30px;
margin-bottom:8px;
}

.bus-gallery-section > p{
color:#aaa;
margin-top:0;
}

.bus-gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
gap:15px;
margin-top:22px;
}

button.bus-gallery-thumb{
width:100%;
aspect-ratio:4 / 3;
height:auto;
margin:0;
padding:0;
background:#111;
border:3px solid transparent;
border-radius:10px;
overflow:hidden;
cursor:pointer;
}

button.bus-gallery-thumb:hover,
button.bus-gallery-thumb.active{
border-color:#ff0080;
background:#111;
}

.bus-gallery-thumb img{
width:100%;
height:100%;
object-fit:contain;
display:block;
}

.bus-detail-message{
text-align:center;
background:#1a1a1a;
padding:50px 25px;
border-radius:12px;
}

@media(max-width:800px){
.bus-detail-hero{
grid-template-columns:1fr;
gap:25px;
}

.bus-detail-main-image{
min-height:220px;
}

.bus-detail-main-image img{
max-height:430px;
}

.bus-detail-info h1{
font-size:34px;
}

.bus-gallery{
grid-template-columns:repeat(2,1fr);
}
}
