/* Reset i podstawowe style */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#333;background:#fff;line-height:1.6}

/* Header i nawigacja */
.header{position:fixed;top:0;width:100%;background:#0066CC;padding:10px 20px;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.logo{font-size:24px;font-weight:700;color:#fff;text-decoration:none;transition:opacity 0.2s}
.logo:hover{opacity:0.9}
.logo-emoji{font-size:28px}
.nav-links{display:flex;gap:0;justify-content:center;padding-top:5px;border-top:1px solid rgba(255,255,255,0.2)}
.nav-links a{color:#fff;text-decoration:none;font-weight:600;font-size:17px;transition:opacity 0.2s;width:120px;text-align:center;display:inline-block;border-left:1px solid rgba(255,255,255,0.4);padding:3px 0}
.nav-links a:hover{opacity:0.8}
.nav-links a:last-child{border-right:1px solid rgba(255,255,255,0.4)}
.cta-header{background:#FF6B00;color:#fff;padding:12px 24px;border-radius:6px;text-decoration:none;font-weight:700;font-size:16px;transition:all 0.2s}
.cta-header:hover{background:#FF8500}

/* Hero section */
.hero{height:40vh;background:linear-gradient(rgba(0,102,204,0.65),rgba(0,102,204,0.65)),url('zdjecia/plaza/baner.webp');background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;color:#fff;margin-top:100px}
.hero h1{font-size:clamp(32px,8vw,72px);font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,0.3)}
.hero h2{font-size:clamp(18px,4vw,32px);color:#FFD700;margin-bottom:0;font-weight:600}
.hero p{font-size:clamp(18px,4vw,32px);color:#FFD700;margin-bottom:30px;font-weight:600}
.hero-cta{background:#FF6B00;color:#fff;padding:20px 40px;border-radius:8px;text-decoration:none;font-size:clamp(18px,4vw,24px);font-weight:700;display:inline-block;transition:all 0.3s;box-shadow:0 8px 20px rgba(255,107,0,0.3)}
.hero-cta:hover{background:#FF8500;box-shadow:0 12px 30px rgba(255,107,0,0.4)}

/* Container i sekcje */
.container{max-width:1200px;margin:20px auto 0;padding:40px 20px}
.section{margin:15px 0}
.section h2{font-size:clamp(28px,5vw,42px);color:#0066CC;margin-bottom:30px;font-weight:700}

/* Obrazy */
.content-img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.12);margin:20px auto;display:block;transition:transform 0.3s}
.content-img:hover{transform:scale(1.02)}

/* Bloki tekstowe */
.text-block{margin:30px 0;font-size:18px;line-height:1.8;color:#333}
.text-block strong{color:#0066CC}

/* Karty highlight (index.html) */
.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:40px 0}
.highlight-card{background:#F7F9FC;padding:30px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.08);text-align:center;border:1px solid #E5E9F2}
.highlight-card .emoji{font-size:48px;margin-bottom:15px}
.highlight-card h3{color:#0066CC;margin-bottom:10px;font-size:22px}

/* Karty kontaktowe (kontakt.html) */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin:30px 0}
.contact-card{background:#F7F9FC;padding:30px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.08);text-align:center;transition:transform 0.3s;border:1px solid #E5E9F2}
.contact-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,0.12)}
.contact-card .emoji{font-size:48px;margin-bottom:15px}
.contact-card h3{color:#0066CC;font-size:22px;margin-bottom:15px}
.contact-card p{font-size:17px;line-height:1.8;color:#333}
.contact-card a{color:#FF6B00;text-decoration:none;font-weight:700;font-size:18px}
.contact-card a:hover{color:#FF8500}

/* Mapa (kontakt.html) */
.map-container{background:#F7F9FC;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.08);margin:30px 0;border:1px solid #E5E9F2}
.map-placeholder{width:100%;height:400px;background:linear-gradient(135deg,#E5E9F2,#CBD5E1);display:flex;align-items:center;justify-content:center;color:#64748B;font-size:18px;font-weight:600}

/* Blok NAP (kontakt.html) */
.nap-block{background:linear-gradient(135deg,#0066CC,#0052A3);color:#fff;padding:40px;border-radius:12px;margin:40px 0;box-shadow:0 8px 20px rgba(0,102,204,0.2)}
.nap-block h2{color:#fff;font-size:clamp(24px,5vw,32px);margin-bottom:25px;text-align:center}
.nap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.nap-item{background:rgba(255,255,255,0.15);padding:20px;border-radius:12px;backdrop-filter:blur(10px)}
.nap-item .emoji{font-size:32px;margin-bottom:10px}
.nap-item strong{display:block;font-size:18px;margin-bottom:8px;color:#FFD700}
.nap-item p{font-size:16px;line-height:1.6}
.nap-item a{color:#fff;text-decoration:underline}

/* FAQ (kontakt.html) */
.faq-section{background:#F7F9FC;padding:40px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.08);margin:40px 0;border:1px solid #E5E9F2}
.faq-item{margin:25px 0;padding:20px;border-left:4px solid #FF6B00;background:#fff;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,0.05)}
.faq-item h3{color:#0066CC;font-size:20px;margin-bottom:10px}
.faq-item p{font-size:16px;line-height:1.8;color:#333}

/* Tabela cenowa (noclegi.html) */
.price-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.08);margin:30px 0;border:1px solid #E5E9F2}
.price-table table{width:100%;border-collapse:collapse}
.price-table th{background:#0066CC;color:#fff;padding:18px;text-align:left;font-size:18px;font-weight:700}
.price-table td{padding:18px;border-bottom:1px solid #E5E9F2;font-size:16px;color:#333}
.price-table th:nth-child(1),.price-table td:nth-child(1){width:25%;word-wrap:break-word;font-size:16px;text-align:center}
.price-table th:nth-child(2),.price-table td:nth-child(2){width:25%;white-space:nowrap;font-size:16px;text-align:center}
.price-table th:nth-child(3),.price-table td:nth-child(3){width:50%;text-align:center}
.price-table th:nth-child(3){font-size:16px}
.price-table tr:hover{background:#F7F9FC}
.price-table img{width:180px;height:135px;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform 0.2s}
.price-table img:hover{transform:scale(1.05)}
.price-highlight{color:#FF6B00;font-weight:700;font-size:16px}

/* Karty pokoi (noclegi.html) */
.room-card{background:#F7F9FC;border-radius:12px;padding:30px;margin:30px 0;box-shadow:0 4px 12px rgba(0,0,0,0.08);border:1px solid #E5E9F2}
.room-card h3{color:#0066CC;font-size:28px;margin-bottom:15px}
.room-card img{max-width:100%;height:auto;border-radius:12px;margin:20px auto;display:block;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:transform 0.3s}
.room-card img:hover{transform:scale(1.02)}
.room-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:20px 0}
.feature{background:#fff;padding:15px;border-radius:8px;border-left:4px solid #FF6B00;box-shadow:0 2px 6px rgba(0,0,0,0.05)}
.feature strong{color:#0066CC;display:block;margin-bottom:5px}

/* Lightbox (noclegi.html) */
.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.95);z-index:9999;align-items:center;justify-content:center}
.lightbox.active{display:flex}
.lightbox-content{position:relative;max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}
.lightbox-content img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px}
.lightbox-close{position:absolute;top:20px;right:30px;font-size:40px;color:#fff;cursor:pointer;background:rgba(0,0,0,0.5);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.3s}
.lightbox-close:hover{background:rgba(255,107,0,0.8)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:40px;color:#fff;cursor:pointer;background:rgba(0,0,0,0.5);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.3s;user-select:none}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,107,0,0.8)}
.lightbox-prev{left:30px}
.lightbox-next{right:30px}
.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,0.7);padding:10px 20px;border-radius:20px;font-size:16px}

/* CTA sections */
.cta-section{background:linear-gradient(135deg,#0066CC,#0052A3);padding:60px 20px;text-align:center;border-radius:12px;margin:60px 0;color:#fff}
.cta-section h2{color:#fff;font-size:clamp(24px,5vw,36px);margin-bottom:20px}
.cta-section p{font-size:20px;margin-bottom:30px}
.cta-button{background:#FF6B00;color:#fff;padding:18px 40px;border-radius:8px;text-decoration:none;font-size:22px;font-weight:700;display:inline-block;transition:all 0.3s;box-shadow:0 8px 20px rgba(255,107,0,0.3)}
.cta-button:hover{background:#FF8500;box-shadow:0 12px 30px rgba(255,107,0,0.4)}

/* Linki wewnętrzne */
.internal-links{background:#F7F9FC;padding:40px;border-radius:12px;margin:40px 0;border-left:4px solid #FF6B00;text-align:center}
.internal-links a{color:#0066CC;text-decoration:none;font-weight:600;font-size:15px;display:inline-block;margin:8px 12px 8px 0;transition:color 0.2s}
.internal-links a:hover{color:#FF6B00}

/* Footer */
.footer{background:#0066CC;color:#fff;padding:40px 20px;text-align:center;margin-top:80px}
.footer p{margin:10px 0}
.footer a{color:#FFD700;text-decoration:none}

/* Media queries */
@media(max-width:768px){
  .header{padding:10px 15px}
  .logo{font-size:20px}
  .cta-header{padding:10px 16px;font-size:14px}
  .highlights{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .nap-grid{grid-template-columns:1fr}
  .map-placeholder{height:300px}
  .price-table{overflow-x:auto}
  .price-table table{table-layout:fixed;width:100%}
  .price-table th{padding:6px 2px;font-size:11px}
  .price-table td{padding:6px 2px;font-size:11px}
  .price-table th:nth-child(1),.price-table td:nth-child(1){width:25%;font-size:16px;text-align:center}
  .price-table th:nth-child(2),.price-table td:nth-child(2){width:25%;font-size:16px;text-align:center}
  .price-table th:nth-child(3),.price-table td:nth-child(3){width:50%}
  .price-table th:nth-child(3){font-size:16px}
  .price-table img{width:125px;height:113px}
  .price-highlight{font-size:16px;font-weight:600}
  .room-features{grid-template-columns:1fr}
  .lightbox-prev{left:10px}
  .lightbox-next{right:10px}
  .lightbox-close{top:10px;right:10px}
}

/* Specyficzne nadpisania dla kontakt.html */
.kontakt-page .section{margin:40px 0}
.kontakt-page .section h2{font-size:clamp(24px,5vw,36px);margin-bottom:25px}
.kontakt-page .cta-section{background:linear-gradient(135deg,#FF6B00,#FF8500);padding:50px 30px;margin:40px 0}
.kontakt-page .cta-section h2{font-size:clamp(24px,5vw,32px);margin-bottom:15px}
.kontakt-page .cta-section p{font-size:18px;margin-bottom:25px}
.kontakt-page .cta-button{background:#fff;color:#FF6B00;font-size:20px}
.kontakt-page .cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,0.2)}
.kontakt-page .internal-links{padding:30px;margin:30px 0}
.kontakt-page .footer{margin-top:60px}

/* Specyficzne nadpisania dla noclegi.html */
.pokoje-page .section{margin:40px 0}
.pokoje-page .section h2{font-size:clamp(24px,5vw,36px);margin-bottom:25px}
.pokoje-page .cta-section{padding:50px 30px;margin:40px 0}
.pokoje-page .cta-section h2{font-size:clamp(24px,5vw,32px);margin-bottom:15px}
.pokoje-page .cta-section p{font-size:18px;margin-bottom:25px}
.pokoje-page .cta-button{font-size:20px}
.pokoje-page .internal-links{padding:30px;margin:30px 0}
.pokoje-page .footer{margin-top:60px}
