
body{
font-family:Arial,sans-serif;
max-width:1000px;
margin:auto;
padding:30px;
line-height:1.7;
background:#f7f4ed;
color:#243024;
}

h1{
color:#1e3e23;
font-size:42px;
}

h2,
h3{
color:#1e3e23;
}

a{
color:#1e3e23;
font-weight:bold;
text-decoration:none;
}

/* Navigation */

nav{
position:sticky;
top:0;
z-index:1000;
background:#1e3e23;
padding:14px;
box-shadow:0 3px 10px rgba(0,0,0,0.15);
margin:-30px -30px 30px -30px;
}

.nav-container{
max-width:1100px;
margin:auto;
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.nav-container a{
color:white;
text-decoration:none;
font-weight:bold;
padding:8px 14px;
border-radius:30px;
transition:0.3s;
}

.nav-container a:hover{
background:rgba(255,255,255,0.15);
}

.active{
background:#f4c95d;
color:#243024 !important;
}

.navlogo{
height:42px;
border-radius:8px;
margin-right:20px;
vertical-align:middle;
}

/* Breadcrumb */

.breadcrumb{
max-width:1100px;
margin:20px auto;
font-size:14px;
color:#666;
padding:0 20px;
}

.breadcrumb a{
color:#1e3e23;
text-decoration:none;
}

/* Inhaltskästen */

.box{
background:white;
padding:30px;
border-radius:25px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
margin-top:30px;
}

/* Themenübersicht */

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

.button{
display:block;
background:#ffffff;
color:#243024;
padding:25px 18px;
border-radius:18px;
text-align:center;
text-decoration:none;
font-weight:normal;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
transition:0.25s;
}

.button:hover{
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.button strong{
font-size:18px;
color:#1e3e23;
}

/* Goldener Aktionsbutton */

.idea-button{
display:inline-block;
margin:25px auto;
padding:12px 24px;
background:#f4c95d;
color:#243024;
text-decoration:none;
font-weight:bold;
border-radius:30px;
box-shadow:0 5px 14px rgba(0,0,0,0.12);
transition:0.3s;
}

.idea-button:hover{
transform:scale(1.05);
}

.idea-center{
text-align:center;
}

/* Footer */

footer{
text-align:center;
padding:2rem 1rem;
margin-top:40px;
color:#5d665d;
font-size:0.95rem;
line-height:1.8;
}

footer a{
color:#243024;
font-weight:bold;
text-decoration:none;
}

footer a:hover{
text-decoration:underline;
}

/* Nach-oben-Schaltfläche */

.top-button{
position:fixed;
bottom:25px;
right:25px;
background:#f4c95d;
color:#243024;
width:50px;
height:50px;
line-height:50px;
text-align:center;
border-radius:50%;
font-size:24px;
text-decoration:none;
font-weight:bold;
box-shadow:0 6px 18px rgba(0,0,0,0.2);
z-index:999;
}

.top-button:hover{
transform:scale(1.08);
}

/* WhatsApp-Schaltfläche */

.wa-button{
position:fixed;
bottom:90px;
right:25px;
background:#25D366;
width:56px;
height:56px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
text-decoration:none;
box-shadow:0 6px 18px rgba(0,0,0,0.25);
z-index:999;
}

.wa-button:hover{
transform:scale(1.08);
}

/* ===================================
   Smartphone
   =================================== */

@media(max-width:700px){

body{
padding:15px;
}

nav{
margin:-15px -15px 25px -15px;
}

h1{
font-size:32px;
}

.box{
padding:22px;
}

.gallery{
grid-template-columns:1fr;
}

}


/* ===================================
   Fotoseite und Bildergalerien
   =================================== */

.tour-box{
background:white;
padding:30px;
border-radius:25px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
margin-top:35px;
overflow:hidden;
}

.tour-info{
display:grid;
grid-template-columns:220px minmax(0,1fr);
gap:30px;
margin-bottom:30px;
}

/* Galerie innerhalb der Fotoseite */

.tour-box .gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:18px;
width:100%;
max-width:100%;
margin:25px auto 0;
box-sizing:border-box;
justify-content:center;
}

.tour-box .gallery a{
display:block;
min-width:0;
}

.tour-box .gallery img{
display:block;
width:100%;
max-width:100%;
height:auto;
margin:0 auto;
border-radius:18px;
box-shadow:0 6px 18px rgba(0,0,0,0.12);
cursor:pointer;
transition:0.3s;
box-sizing:border-box;
}

.tour-box .gallery img:hover{
transform:scale(1.03);
}


/* ===================================
   Vergrößerte Bildansicht
   =================================== */

.lightbox{
display:none;
position:fixed;
z-index:9999;
inset:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
align-items:center;
justify-content:center;
padding:20px;
box-sizing:border-box;
overflow:auto;
}

.lightbox:target{
display:flex;
}

.lightbox img{
display:block;
max-width:calc(100vw - 100px);
max-height:calc(100vh - 80px);
width:auto;
height:auto;
margin:auto;
border-radius:12px;
box-shadow:0 8px 30px rgba(0,0,0,0.5);
object-fit:contain;
}

.close{
position:fixed;
top:80px;
right:25px;
color:white;
font-size:42px;
background:rgba(0,0,0,0.6);
width:50px;
height:50px;
line-height:48px;
text-align:center;
border-radius:50%;
z-index:10000;
}

.prev,
.next{
position:fixed;
top:50%;
transform:translateY(-50%);
font-size:60px;
color:white;
padding:15px;
z-index:10000;
background:rgba(0,0,0,0.4);
border-radius:50%;
}

.prev{
left:20px;
}

.next{
right:20px;
}


/* ===================================
   Fotoseite auf Smartphone
   =================================== */

@media(max-width:700px){

.tour-box{
padding:18px;
margin-top:25px;
}

.tour-info{
grid-template-columns:1fr;
gap:15px;
}

.tour-box .gallery{
grid-template-columns:1fr;
gap:15px;
width:100%;
}

.tour-box .gallery img{
width:100%;
max-width:100%;
}

.lightbox{
padding:10px;
}

.lightbox img{
max-width:calc(100vw - 20px);
max-height:calc(100vh - 100px);
}

.prev,
.next{
font-size:38px;
padding:8px;
}

.prev{
left:5px;
}

.next{
right:5px;
}

.close{
top:65px;
right:10px;
font-size:36px;
width:44px;
height:44px;
line-height:42px;
}

}

/* Vorschau der drei Titelbilder */

.gallery-preview{
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
margin:25px auto;
width:100%;
box-sizing:border-box;
}

.gallery-preview img{
display:block;
width:calc((100% - 30px) / 3);
max-width:260px;
height:auto;
border-radius:15px;
box-shadow:0 6px 18px rgba(0,0,0,.15);
}

@media(max-width:700px){

.gallery-preview{
gap:12px;
}

.gallery-preview img{
width:100%;
max-width:320px;
}

}

/* Allgemeine Hilfsklassen */

.center{
text-align:center;
}

.mt20{
margin-top:20px;
}

.mt30{
margin-top:30px;
}

.mb20{
margin-bottom:20px;
}

.small-text{
font-size:14px;
color:#666;
}

/* ===================================
   Suchseite
   =================================== */

#suchfeld{
width:100%;
padding:14px 18px;
margin-top:15px;
font-family:Arial,sans-serif;
font-size:17px;
color:#243024;
background:#ffffff;
border:2px solid #d7ddcf;
border-radius:30px;
outline:none;
box-sizing:border-box;
transition:0.25s;
}

#suchfeld:focus{
border-color:#f4c95d;
box-shadow:0 0 0 4px rgba(244,201,93,0.22);
}

#suchergebnisse{
margin-top:25px;
}

.search-result{
display:block;
padding:18px 20px;
margin-top:14px;
background:#ffffff;
border-radius:18px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
color:#243024;
text-decoration:none;
transition:0.25s;
}

.search-result:hover{
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(0,0,0,0.14);
}

.search-result strong{
display:block;
font-size:18px;
color:#1e3e23;
margin-bottom:5px;
}

.search-result span{
display:block;
font-size:15px;
font-weight:normal;
color:#5d665d;
}

/* ===================================
   Navigation zwischen Spanien-Themen
   =================================== */

.spain-topic-nav{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
gap:12px;
margin:25px 0 10px;
}

.spain-topic-link{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
min-height:105px;
padding:15px 10px;
background:#ffffff;
color:#243024;
text-align:center;
text-decoration:none;
font-weight:bold;
border-radius:16px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.spain-topic-link:hover{
transform:translateY(-3px);
box-shadow:0 9px 22px rgba(0,0,0,0.14);
}

.spain-topic-link .topic-icon{
font-size:28px;
line-height:1;
margin-bottom:10px;
}

.spain-topic-link.current{
background:#f4c95d;
color:#243024;
}

@media(max-width:700px){

.spain-topic-nav{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:10px;
}

.spain-topic-link{
min-height:95px;
padding:13px 8px;
font-size:14px;
}

}