/* Doplňkové styly – Rezervace & Kontakt */
.reservation-contact{padding:80px 0;background-color:#fff}
.reservation-contact .section-title{text-align:center;margin-bottom:40px}
.reservation-contact__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;align-items:start}
.reservation-column,.contact-column{display:grid;gap:24px}
.rc-card{background:linear-gradient(145deg,#fff 0%,#f8f8f8 100%);border:3px solid #CD7F32;border-radius:0;padding:28px;box-shadow:0 4px 8px rgba(0,0,0,.06)}
.rc-card.center{display:flex;flex-direction:column;align-items:center;text-align:center}
.rc-title{font-family:'Cormorant Garamond',serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:1.4rem;margin-bottom:16px;color:#000;position:relative}
.rc-title.small{font-size:1.2rem}
.rc-phone{font-size:1.6rem;font-weight:700;margin-bottom:16px;color:#000}
.reservation__ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.rating-list{display:grid;gap:16px}
.rating-item{display:flex;flex-direction:column;gap:8px}
.rating-meta{display:flex;justify-content:space-between;align-items:center}
.rating-meta h4{font-size:1rem;color:#000}
.rating-meta .rating-value{color:#333;font-weight:600}
.rating-bar{height:10px;background:rgba(205,127,50,.15);border:1px solid var(--color-border);position:relative;overflow:hidden}
.rating-fill{height:100%;width:0;background:linear-gradient(90deg,#CD7F32,#D4AF37);transition:width .8s var(--ease-standard)}
.donut{--p:0;position:relative;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--color-accent) calc(var(--p)*1%),rgba(0,0,0,.08) 0)}
.donut::before{content:"";position:absolute;inset:18%;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 2px var(--color-border-soft)}
.donut span{position:relative;z-index:1;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.4rem;color:#000}
.donut-subtle{margin-top:8px;color:var(--color-text-light);font-size:var(--font-scale-sm)}
.map-wrap{margin-top:16px;border:1px solid var(--color-border);box-shadow:0 2px 6px rgba(0,0,0,.06)}
@media (max-width:900px){.reservation-contact__grid{grid-template-columns:1fr}.rc-card{padding:22px}.donut{width:120px;height:120px}}

/* Doplňková responsivita pro galerie a hero */
@media (max-width:1200px){.container{padding:0 16px}}
@media (max-width:992px){.hero{padding:80px 0}.hero__title{font-size:var(--font-scale-xl)}.services{padding:60px 0}}
@media (max-width:768px){
	.gallery-full .gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.gallery__image{height:160px}
}
/* Intro background override (only on homepage hero) */
#home.hero{background-color:#f9f9f9;background-image:url('/images/intro.jpeg');background-size:cover;background-position:bottom center;background-repeat:no-repeat}
#home.hero .hero__content{background:rgba(255,255,255,.85);padding:24px;border:1px solid var(--color-border-soft)}

/* Section helpers for new copy */
.section-lead{margin:8px 0 14px;color:var(--color-text-light)}
.section-meta{margin:0 0 18px;color:var(--color-text-light);font-size:.95em}
.section-figure{margin:14px 0 18px}
.section-figure img{max-height:260px;width:100%;object-fit:cover;border:1px solid var(--color-border)}

/* Booking/Reservation page styles */
.reservation-booking{padding:80px 0;background:linear-gradient(135deg,#f9f9f9 0%,#fff 100%)}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1200px;margin:0 auto}
.booking-info,.booking-options{background:#fff;padding:40px;border:2px solid var(--color-border);border-radius:0;box-shadow:0 4px 8px rgba(0,0,0,.1)}
.info-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin:24px 0}
.info-block{text-align:center;padding:20px;background:#f9f9f9;border:1px solid var(--color-border-soft)}
.info-icon{font-size:2.5rem;margin-bottom:12px}
.info-block h3{font-size:1.1rem;margin-bottom:8px;color:var(--color-text)}
.info-block p{color:var(--color-text-light);font-size:.95rem}
.why-us{margin-top:32px}
.why-us h3{margin-bottom:16px;color:var(--color-text)}
.benefits-list{list-style:none;padding:0}
.benefits-list li{display:flex;align-items:center;margin-bottom:8px;color:var(--color-text)}
.check-icon{color:var(--color-accent);font-weight:bold;margin-right:12px;font-size:1.1rem}
.booking-ctas{display:flex;flex-direction:column;gap:16px;margin:24px 0}
.cta-button.large{padding:16px 32px;font-size:1.1rem;text-align:center}
.booking-note{margin-top:32px;padding:20px;background:#f9f9f9;border-left:4px solid var(--color-accent)}
.booking-note p{margin:0;color:var(--color-text-light);font-size:.9rem}
@media (max-width:520px){
	.gallery-full .gallery__grid{grid-template-columns:1fr}
	.gallery__image{height:200px}
	.rc-title{font-size:1.2rem}
	.rc-phone{font-size:1.3rem}
}

/* Apartment page styles */
.apartment-overview{padding:60px 0;background:#fff}
.overview-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.apartment-image img{width:100%;height:300px;object-fit:cover;border:2px solid var(--color-border);border-radius:8px}
.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stat-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f9f9f9;border:1px solid var(--color-border-soft);border-radius:6px}
.stat-icon{font-size:1.8rem}
.stat-item strong{display:block;font-size:1.1rem;color:var(--color-text)}
.stat-item p{margin:0;font-size:.9rem;color:#222}

.room-layout{padding:60px 0;background:linear-gradient(135deg,#f9f9f9 0%,#fff 100%)}
.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:32px}
.room-card{background:#fff;padding:28px;text-align:center;border:2px solid var(--color-border);border-radius:8px;transition:transform .3s ease,box-shadow .3s ease}
.room-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.room-icon{font-size:2.5rem;margin-bottom:16px}
.room-card h3{margin-bottom:8px;color:#000;font-weight:600}
.room-card p{color:#000;margin:0;font-weight:500}

.amenities{padding:60px 0;background:#fff}
.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:32px}
.amenity-section{background:#f9f9f9;padding:32px;border:1px solid var(--color-border-soft);border-radius:8px}
.amenity-list{display:grid;gap:12px;margin-top:20px}
.amenity-item{display:flex;align-items:center;gap:12px;padding:8px 0}
.amenity-icon{font-size:1.3rem;width:24px;text-align:center}

.booking-section{padding:60px 0;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-alt) 100%)}
.booking-wrapper{display:flex;justify-content:center}
.booking-info-card{background:#fff;padding:40px;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.15);max-width:500px;text-align:center}
.price-info{margin:20px 0;display:flex;align-items:baseline;justify-content:center;gap:8px}
.price{font-size:1.2rem;font-weight:700;color:var(--color-accent)}
.price-per{font-size:1.1rem;color:#222}
.booking-highlights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0;text-align:left}
.highlight-item{color:#222;font-size:.95rem}

/* Booking page responsiveness */
@media (max-width:768px){
	.booking-grid{grid-template-columns:1fr;gap:40px}
	.booking-info,.booking-options{padding:24px}
	.info-blocks{grid-template-columns:1fr;gap:16px}
	.info-block{padding:16px}
	.overview-grid{grid-template-columns:1fr;gap:24px}
	.apartment-image img{height:250px}
	.quick-stats{grid-template-columns:1fr;gap:16px}
	.amenities-grid{grid-template-columns:1fr;gap:24px}
	.amenity-section{padding:24px}
	.booking-highlights{grid-template-columns:1fr;gap:8px}
	.booking-info-card{padding:28px;margin:0 16px}
}
