/* ========================================= */
/* 6MAPS – ULTRA MODERN CLEAN CSS */
/* ========================================= */

*{
box-sizing:border-box;
margin:0;
padding:0;
}

body{
font-family:"Inter",system-ui,sans-serif;
background:radial-gradient(circle at top,#2a0045,#090012 70%);
color:#fff;
line-height:1.6;
}

/* ========================================= */
/* TOPBAR */
/* ========================================= */

.topbar{
position:sticky;
top:0;
z-index:1000;

display:flex;
justify-content:space-between;
align-items:center;

padding:16px 50px;

background:rgba(20,0,40,0.65);
backdrop-filter:blur(14px);

border-bottom:1px solid rgba(255,255,255,0.08);
}

.topbar a{
color:white;
text-decoration:none;
margin-left:18px;
font-weight:500;
opacity:.9;
transition:.2s;
}

.topbar a:hover{
opacity:1;
}

/* ========================================= */
/* BUTTONS */
/* ========================================= */

.btn{
display:inline-block;
padding:13px 24px;
border-radius:999px;

font-weight:600;
text-decoration:none;

background:linear-gradient(135deg,#ff4fd8,#8e6bff);

box-shadow:0 8px 25px rgba(255,79,216,.35);

transition:.25s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 18px 40px rgba(255,79,216,.55);
}

.btn.outline{
background:transparent;
border:1px solid rgba(255,255,255,.25);
}

.btn.small{
padding:8px 14px;
font-size:14px;
}

/* ========================================= */
/* HERO */
/* ========================================= */

.hero{
padding:120px 20px 100px;
text-align:center;
max-width:1100px;
margin:auto;
}

h1{
font-size:clamp(42px,5vw,64px);
font-weight:800;
line-height:1.15;
margin-bottom:20px;

background:linear-gradient(90deg,#ff4fd8,#9f6bff,#6da8ff);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.hero-sub{
font-size:19px;
opacity:.9;
margin-top:10px;
}

.hero-actions{
margin-top:40px;
display:flex;
gap:18px;
justify-content:center;
flex-wrap:wrap;
}

/* ========================================= */
/* CARD SECTION */
/* ========================================= */

.cards{
padding:100px 50px;
max-width:1500px;
margin:auto;
}

/* GRID */

.grid{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
gap:36px;
}

/* ========================================= */
/* CARD */
/* ========================================= */

a.card{
display:block;
background:rgba(255,255,255,0.05);
border-radius:20px;
padding:16px;
text-decoration:none;
color:white;
border:1px solid rgba(255,255,255,0.08);
transition:.3s;
}

.card img{
width:100%;
height:260px;
object-fit:cover;
border-radius:14px;
margin-bottom:12px;
}

.card h3{
font-size:19px;
font-weight:600;
margin-bottom:6px;
}

.card p{
font-size:14px;
color:#d0d0d0;
margin-bottom:6px;
}

.card span{
font-size:13px;
color:#a8a8a8;
}

.price-row{
margin-top:8px;
font-weight:700;
font-size:15px;
color:#ff4fd8;
}

/* CARD HOVER */

.card:hover{
transform:translateY(-8px) scale(1.02);
box-shadow:0 30px 70px rgba(0,0,0,.5);
border:1px solid rgba(255,255,255,0.18);
}

/* ========================================= */
/* CITY BUBBLES */
/* ========================================= */

.city-bubble,
.city-links a,
a[href^="/sex-"]{

display:inline-block;
padding:12px 20px;
margin:6px;

border-radius:999px;

background:rgba(255,255,255,0.05);

border:1px solid rgba(255,255,255,0.15);

text-decoration:none;
color:white;
font-weight:600;

transition:.25s;
}

.city-bubble:hover,
.city-links a:hover,
a[href^="/sex-"]:hover{

transform:translateY(-3px);

background:linear-gradient(135deg,#7b2cff,#ff4fd8);

box-shadow:0 10px 30px rgba(255,79,216,.5);

}

/* ========================================= */
/* SEO TEXT BLOCK */
/* ========================================= */

.ultra-core-section,
.core-cities-section,
.region-section{

max-width:1100px;
margin:120px auto;

padding:60px;

background:rgba(255,255,255,0.03);

border-radius:20px;

border:1px solid rgba(255,255,255,0.08);

backdrop-filter:blur(10px);

text-align:left;
}

/* SEO TITLES */

.ultra-core-section h2,
.core-cities-section h2,
.region-section h2{

font-size:34px;
margin-bottom:20px;

background:linear-gradient(90deg,#ff4fd8,#9f6bff,#7aa7ff);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

font-weight:800;
}

/* SUB TITLES */

.ultra-core-section h3,
.core-cities-section h3,
.region-section h3{

margin-top:35px;
margin-bottom:10px;

font-size:22px;

color:#ff4fd8;

font-weight:700;
}

/* DECORATIVE LINE */

.ultra-core-section h3::before,
.core-cities-section h3::before,
.region-section h3::before{

content:"";
display:block;

width:45px;
height:3px;

background:linear-gradient(90deg,#ff4fd8,#9f6bff);

margin-bottom:10px;

border-radius:4px;
}

/* TEXT */

.ultra-core-section p,
.core-cities-section p,
.region-section p{

font-size:16px;

color:#d0d0d0;

line-height:1.8;

margin-bottom:20px;
}

/* LINKS */

.ultra-core-section a,
.core-cities-section a,
.region-section a{

color:#7aa7ff;
text-decoration:none;
font-weight:600;
}

.ultra-core-section a:hover,
.core-cities-section a:hover,
.region-section a:hover{

color:#ff4fd8;

}

/* ========================================= */
/* FOOTER */
/* ========================================= */

.footer{
text-align:center;
padding:40px;
opacity:.6;
font-size:14px;
}

/* ========================================= */
/* MOBILE */
/* ========================================= */

@media (max-width:768px){

.topbar{
padding:15px 20px;
}

.hero{
padding:80px 20px;
}

.cards{
padding:60px 20px;
}

.grid{
grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
gap:22px;
}

.card img{
height:200px;
}

.ultra-core-section,
.core-cities-section,
.region-section{
padding:40px 25px;
}

}
/* ========================================= */
/* MODERN HEADINGS */
/* ========================================= */

h2 {

font-size: clamp(28px,3vw,36px);

margin-bottom: 20px;

background: linear-gradient(90deg,#ff4fd8,#9f6bff,#6da8ff);

-webkit-background-clip: text;
-webkit-text-fill-color: transparent;

font-weight: 800;

text-align: center;

}

h3 {

font-size: 22px;

color: #ff4fd8;

margin-top: 35px;
margin-bottom: 10px;

font-weight: 700;

position: relative;

}

/* dekorativní linka pod h3 */

h3::after {

content: "";

display: block;

width: 40px;
height: 3px;

background: linear-gradient(90deg,#ff4fd8,#9f6bff);

margin-top: 8px;

border-radius: 4px;

}
/* ========================================= */
/* MODERN SEO TEXT DESIGN */
/* ========================================= */

.ultra-core-section,
.core-cities-section,
.region-section {

max-width: 1100px;
margin: 120px auto;

padding: 60px;

background: rgba(255,255,255,0.03);

border-radius: 20px;

border: 1px solid rgba(255,255,255,0.08);

backdrop-filter: blur(10px);

text-align: left;

}

/* HLAVNÍ NADPIS */

.ultra-core-section h2,
.core-cities-section h2,
.region-section h2 {

font-size: 36px;

margin-bottom: 25px;

background: linear-gradient(90deg,#ff4fd8,#9f6bff,#6da8ff);

-webkit-background-clip: text;
-webkit-text-fill-color: transparent;

font-weight: 800;

}

/* PODNADPIS */

.ultra-core-section h3,
.core-cities-section h3,
.region-section h3 {

font-size: 22px;

margin-top: 35px;
margin-bottom: 12px;

color: #ff4fd8;

font-weight: 700;

}

/* LINKA POD NADPISEM */

.ultra-core-section h3::after,
.core-cities-section h3::after,
.region-section h3::after {

content:"";

display:block;

width:45px;
height:3px;

background:linear-gradient(90deg,#ff4fd8,#9f6bff);

margin-top:8px;

border-radius:4px;

}

/* TEXT */

.ultra-core-section p,
.core-cities-section p,
.region-section p {

font-size:16px;

line-height:1.8;

color:#d0d0d0;

margin-bottom:18px;

}

/* ZVÝRAZNĚNÍ DŮLEŽITÝCH SLOV */

.ultra-core-section strong,
.core-cities-section strong,
.region-section strong {

color:#ff4fd8;

font-weight:700;

}

/* ODKAZY */

.ultra-core-section a,
.core-cities-section a,
.region-section a {

color:#7aa7ff;

font-weight:600;

text-decoration:none;

}

.ultra-core-section a:hover,
.core-cities-section a:hover,
.region-section a:hover {

color:#ff4fd8;

}