/*
Theme Name: Rynek29
Theme URI: https://rynek29.pl
Author: Generated by ChatGPT
Description: Elegancki motyw WordPress dla kamienicy Rynek 29 w Ząbkowicach Śląskich. Umożliwia publikację i zarządzanie ofertami mieszkań na wynajem.
Version: 2.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rynek29
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');

:root {
  --color-bg: #F5F0E8;
  --color-bg-soft: #FBF8F3;
  --color-primary: #123B33;
  --color-primary-2: #1B5045;
  --color-secondary: #1B1D21;
  --color-accent: #C79B58;
  --color-accent-dark: #A77D3F;
  --color-white: #FFFFFF;
  --color-border: #E7DED0;
  --color-available: #2E7D32;
  --color-reserved: #B88746;
  --color-rented: #777777;
  --shadow-soft: 0 8px 24px rgba(16, 24, 40, 0.08);
  --shadow-card: 0 10px 30px rgba(22, 33, 30, 0.08);
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  padding: 0;
  font-family: 'Montserrat', Arial, sans-serif;
  background: var(--color-bg);
  color: var(--color-secondary);
  line-height: 1.75;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-accent-dark); }

h1, h2, h3, h4 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: var(--color-primary);
  line-height: 1.08;
  margin: 0 0 16px;
}

h1 { font-size: clamp(2.3rem, 4vw, 3.6rem); }
h2 { font-size: clamp(2.1rem, 3.4vw, 3.2rem); }
h3 { font-size: clamp(1.45rem, 2vw, 1.9rem); }
p { margin: 0 0 16px; }

.main-content {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
}

.site-header {
  background: linear-gradient(90deg, #0E332C 0%, #14433A 58%, #0D342C 100%);
  color: var(--color-white);
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  position: sticky;
  top: 0;
  z-index: 50;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 112px;
}
.site-branding__link { display: flex; align-items: center; }
.site-branding .custom-logo-link { display: flex; align-items: center; }
.site-branding__image,
.custom-logo {
  width: auto;
  max-height: 78px;
}

.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  box-shadow: none;
}
.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  margin: 4px auto;
  transition: transform .2s ease, opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.primary-navigation .primary-menu,
.primary-navigation ul {
  display: flex;
  align-items: center;
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.primary-navigation li { margin: 0; }
.primary-navigation a {
  color: var(--color-white);
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: .01em;
  position: relative;
  padding: 8px 0;
}
.primary-navigation a:hover,
.primary-navigation .current-menu-item > a,
.primary-navigation .current_page_item > a {
  color: #F7E6C6;
}
.primary-navigation .current-menu-item > a::after,
.primary-navigation .current_page_item > a::after,
.primary-navigation a:hover::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--color-accent);
}

main { padding: 22px 0 54px; }
.home-page > section,
.main-content > section { margin-bottom: 40px; }

.hero--enhanced {
  min-height: 470px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.hero__content {
  width: min(980px, calc(100% - 60px));
  padding: 48px 0;
  color: var(--color-white);
}
.hero--enhanced h2 {
  color: var(--color-white);
  font-size: clamp(2.8rem, 5vw, 5.1rem);
  text-shadow: 0 4px 18px rgba(0,0,0,.22);
  margin-bottom: 20px;
}
.hero--enhanced p {
  color: rgba(255,255,255,.96);
  font-size: clamp(1.05rem, 1.6vw, 1.65rem);
  margin-bottom: 28px;
}

.button,
a.button,
button,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--color-primary);
  color: var(--color-white);
  padding: 14px 26px;
  border-radius: 12px;
  border: 0;
  font-weight: 700;
  font-size: 1rem;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
  box-shadow: 0 8px 18px rgba(18,59,51,0.16);
}
.button:hover,
a.button:hover,
button:hover,
input[type="submit"]:hover {
  background: var(--color-accent-dark);
  color: #fff;
  transform: translateY(-1px);
}
.button--light {
  background: #E9D1A2;
  color: #173D35;
  box-shadow: 0 12px 24px rgba(0,0,0,.18);
}
.button--light:hover { background: #DDBA78; color: #14372F; }

.section-intro,
.section-advantages,
.available,
.location,
.process,
.contact-call,
.about {
  padding: 8px 2px;
}
.section-intro h2,
.section-advantages h2,
.available h2,
.location h2,
.process h2,
.contact-call h2,
.about h2 {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
}
.section-intro h2::after,
.section-advantages h2::after,
.available h2::after,
.location h2::after,
.process h2::after,
.contact-call h2::after,
.about h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 52px;
  height: 2px;
  background: var(--color-accent);
}
.section-intro p { max-width: 1120px; font-size: 1.12rem; }

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.feature-card,
.card {
  background: rgba(255,255,255,.9);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
}
.feature-card {
  padding: 22px 22px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.feature-card__icon { flex: 0 0 84px; }
.feature-card__icon img { width: 84px; height: 84px; }
.feature-card h3 { margin-bottom: 8px; font-size: 1.55rem; }
.feature-card p { margin: 0; }

.cards { display: grid; gap: 22px; }
.cards--apartments { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.apartment-card { overflow: hidden; }
.apartment-card__image img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.apartment-card__content { padding: 20px; }
.apartment-card h3 { margin-bottom: 10px; }
.apartment-card__meta {
  color: #5E655F;
  font-size: .98rem;
  margin-bottom: 14px;
}
.apartment-card__prices {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}
.apartment-card__prices strong { color: var(--color-primary); }
.status-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 700;
}
.status-dostepne,
.status-dostępne { color: var(--color-available); background: rgba(46,125,50,.08); }
.status-zarezerwowane { color: var(--color-reserved); background: rgba(184,135,70,.12); }
.status-wynajete,
.status-wynajęte { color: var(--color-rented); background: rgba(119,119,119,.1); }

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}
.section-link {
  font-weight: 700;
  color: var(--color-accent-dark);
}

footer {
  background: #10382F;
  color: #fff;
  margin-top: 50px;
}
footer .main-content {
  padding: 26px 0;
  text-align: center;
}
footer nav ul {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
}
footer a { color: #fff; }

/* Generic content styles */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  overflow: hidden;
  background: #fff;
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
}
table td, table th {
  border: 1px solid #eee8dd;
  padding: 12px 14px;
}
table th {
  background-color: #F8F3EC;
  text-align: left;
}
form p { margin-bottom: 15px; }
form input[type="text"],
form input[type="email"],
form textarea,
form select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d8d1c6;
  border-radius: 10px;
  box-sizing: border-box;
  font: inherit;
  background: #fff;
}

@media (max-width: 1100px) {
  .primary-navigation .primary-menu,
  .primary-navigation ul { gap: 22px; }
  .cards--apartments,
  .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .site-header__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding: 16px 0;
    min-height: auto;
  }
  .menu-toggle { display: inline-flex; flex-direction: column; justify-content: center; }
  .primary-navigation {
    width: 100%;
    grid-column: 1 / -1;
    display: none;
    padding-top: 10px;
  }
  .primary-navigation.is-open { display: block; }
  .primary-navigation .primary-menu,
  .primary-navigation ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 16px 18px;
  }
  .primary-navigation a { width: 100%; }
  .hero--enhanced { min-height: 420px; }
  .hero__content { width: calc(100% - 32px); }
  .feature-grid,
  .cards--apartments { grid-template-columns: 1fr; }
  .feature-card { align-items: flex-start; }
  .section-head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 560px) {
  .main-content { width: min(100% - 20px, 1280px); }
  .site-branding__image,
  .custom-logo { max-height: 62px; }
  .primary-navigation a { font-size: .98rem; }
  .hero--enhanced { min-height: 360px; border-radius: 16px; }
  .hero__content { padding: 34px 0; }
  .button, a.button, button { width: 100%; }
  .feature-card { flex-direction: column; gap: 14px; }
  footer nav ul { gap: 14px; }
}
