/* =====================================================================
   Jasny, pastelowy motyw TYLKO dla oferta.php (sekcja pod nagłówkiem).
   Ładowany po style.css - nadpisuje wygląd sekcji cennika.
   ===================================================================== */
body.offer-light{
  --bg-mint:#F0F7F2;
  --card:#FFFFFF;
  --ink2:#2F3B34;
  --ink2-muted:#6C7C73;
  --sage:#5FA084;
  --sage-deep:#3E7A61;
  --sage-pale:#DCEFE3;
  --line2:#E3EEE7;
  background:var(--bg-mint);
}

body.offer-light .offer-page{
  background:var(--bg-mint);
  padding-top:120px;
}

body.offer-light .page-content h1{ color:var(--ink2); }
body.offer-light .page-content p{ color:var(--ink2-muted); }

body.offer-light .promo-banner{
  background:#FFF3DC; border:1px solid #F1CE8B; color:#7A5A1E;
}

/* ---------- układ dwukolumnowy: cennik + galeria pamiątek ---------- */
body.offer-light .offer-layout{
  display:grid; grid-template-columns:1fr 340px; gap:0 5vw;
  padding:0 6vw; align-items:start;
}
body.offer-light .offer-main{ min-width:0; }
body.offer-light .offer-section{ padding:0; }

body.offer-light .offer-gallery{
  position:sticky; top:110px; height:calc(100vh - 140px);
  display:flex; flex-direction:column; gap:14px;
}
body.offer-light .offer-gallery-title{
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink2-muted); margin:0 0 4px; flex:0 0 auto;
}
body.offer-light .gallery-strip{
  display:flex; flex-direction:column; gap:16px;
  overflow-y:auto; padding-right:6px; flex:1 1 auto;
}
body.offer-light .gallery-strip::-webkit-scrollbar{ width:6px; }
body.offer-light .gallery-strip::-webkit-scrollbar-thumb{ background:var(--sage-pale); border-radius:10px; }
body.offer-light .souvenir-card{
  flex:0 0 auto; width:100%; text-align:left; cursor:pointer;
  background:var(--card); border-radius:16px; overflow:hidden; border:1px solid var(--line2);
  box-shadow:0 8px 24px rgba(63,110,88,.10);
  font-family:inherit; padding:0; transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
body.offer-light .souvenir-card:hover, body.offer-light .souvenir-card:focus-visible{
  transform:translateY(-3px); box-shadow:0 14px 34px rgba(63,110,88,.18);
}
body.offer-light .souvenir-card img{ width:100%; height:220px; object-fit:cover; display:block; }
body.offer-light .souvenir-card .souvenir-info{ padding:14px 16px 18px; }
body.offer-light .souvenir-card .souvenir-name{ font-family:'Fraunces',serif; font-size:17px; color:var(--ink2); margin:0 0 6px; }
body.offer-light .souvenir-card .souvenir-price{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--sage-deep); }

@media (max-width:980px){
  body.offer-light .offer-layout{ grid-template-columns:1fr; }
  body.offer-light .offer-gallery{ position:static; height:auto; order:-1; margin-bottom:12px; }
  body.offer-light .gallery-strip{
    flex-direction:row; overflow-x:auto; overflow-y:visible; padding-right:0; padding-bottom:10px;
  }
  body.offer-light .souvenir-card{ flex:0 0 auto; width:200px; }
  body.offer-light .souvenir-card img{ height:150px; }
}

/* ---------- lightbox pamiątki (dopasowany do palety strony) ---------- */
body.offer-light .souvenir-caption{ justify-content:space-between; align-items:flex-start; gap:24px; }
body.offer-light .souvenir-caption h3{ font-size:20px; margin-bottom:6px; }
body.offer-light .souvenir-desc{ margin:0; max-width:42ch; color:var(--ink-muted); font-family:'Work Sans',sans-serif; font-size:14px; line-height:1.5; letter-spacing:0; text-transform:none; }
body.offer-light .souvenir-caption .price{
  font-family:'JetBrains Mono',monospace; font-size:16px; color:var(--sage);
  white-space:nowrap;
}

/* ---------- sekcje / nagłówki ---------- */
body.offer-light .offer-section{ margin-bottom:52px; }
body.offer-light .offer-section h2{ color:var(--ink2); }
body.offer-light .offer-num{ color:var(--sage-deep); }

/* ---------- tabela cennika ---------- */
body.offer-light .pricing-table-wrap{
  background:var(--card); border-radius:16px; overflow:hidden;
  box-shadow:0 10px 34px rgba(63,110,88,.10); border:1px solid var(--line2);
}
body.offer-light .pricing-table{ min-width:0; }
body.offer-light .pricing-table thead th{
  background:var(--sage-pale); color:var(--sage-deep); border-bottom:none;
  padding:14px;
}
body.offer-light .pricing-table td, body.offer-light .pricing-table th[scope="row"]{
  border-bottom:1px solid var(--line2); color:var(--ink2-muted);
}
body.offer-light .pricing-table th[scope="row"]{ color:var(--ink2); }
body.offer-light .pricing-table tbody tr:last-child td,
body.offer-light .pricing-table tbody tr:last-child th{ border-bottom:none; }
body.offer-light .pricing-table tbody tr:hover{ background:#F7FBF8; }
body.offer-light .offer-note{ color:var(--ink2-muted); }

/* ---------- listy (fotoprezenty, dokumenty) ---------- */
body.offer-light .pricing-list{
  background:var(--card); border-radius:16px; padding:6px 22px;
  box-shadow:0 10px 34px rgba(63,110,88,.10); border:1px solid var(--line2);
  max-width:none;
}
body.offer-light .pricing-list li{ border-bottom:1px solid var(--line2); color:var(--ink2); }
body.offer-light .pricing-list li:last-child{ border-bottom:none; }
body.offer-light .pricing-list li .price{
  background:var(--sage-pale); color:var(--sage-deep);
  padding:4px 12px; border-radius:100px; font-weight:500;
}

/* ---------- tekst wolny (sesje) ---------- */
body.offer-light .offer-text{ color:var(--ink2-muted); }

/* ---------- CTA na dole ---------- */
body.offer-light .offer-cta{
  margin:0 6vw 10vh; padding:34px; border-radius:18px;
  background:var(--sage); color:#fff; text-align:center;
}
body.offer-light .offer-cta h3{ font-family:'Fraunces',serif; font-size:22px; margin:0 0 10px; font-weight:500; }
body.offer-light .offer-cta p{ margin:0 0 18px; opacity:.9; }
body.offer-light .offer-cta a{
  display:inline-block; background:#fff; color:var(--sage-deep);
  padding:12px 26px; border-radius:100px; text-decoration:none;
  font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  transition:transform .2s;
}
body.offer-light .offer-cta a:hover{ transform:translateY(-2px); }

/* ---------- strony tekstowe w jasnym motywie (np. "o mnie") ---------- */
body.offer-light .page-content{ color:var(--ink2-muted); }
body.offer-light .page-content h1{ color:var(--ink2); }
body.offer-light .cat-hero-info h1{ color:#fff; }
body.offer-light .cat-hero-info p{ color:rgba(255,255,255,.82); }
body.offer-light .cat-nav-footer{ border-top-color:var(--line2); }
body.offer-light .cat-nav-footer a{ color:var(--ink2-muted); }
body.offer-light .cat-nav-footer a:hover, body.offer-light .cat-nav-footer a:focus-visible{ color:var(--sage-deep); }

/* ---------- strony z politykami (prywatność, cookies, bezpieczeństwo) ---------- */
body.offer-light .legal-content{ max-width:760px; padding-top:16vh; }
body.offer-light .legal-content h1{ color:var(--ink2); font-size:clamp(28px,4vw,40px); margin:0 0 8px; }
body.offer-light .legal-content h2{
  font-family:'Fraunces',serif; font-weight:500; color:var(--ink2); font-size:19px;
  margin:36px 0 12px;
}
body.offer-light .legal-content p{ margin:0 0 14px; }
body.offer-light .legal-content ul{ margin:0 0 14px; padding-left:22px; }
body.offer-light .legal-content li{ margin-bottom:8px; }
body.offer-light .legal-content a{ color:var(--sage-deep); }
body.offer-light .legal-content code{
  background:var(--sage-pale); padding:2px 6px; border-radius:4px; font-size:13px;
}

/* ---------- "o mnie": zdjęcie w tle mniejsze + zdjęcie profilowe obok tekstu ---------- */
body.offer-light .cat-hero{ height:28vh; min-height:190px; }
body.offer-light .about-block{
  max-width:1020px;
  display:flex; flex-wrap:wrap; gap:44px; align-items:flex-start;
}
body.offer-light .about-text{ flex:1 1 380px; min-width:280px; }
body.offer-light .about-photo{ flex:0 0 300px; width:300px; }
body.offer-light .about-photo img{
  width:100%; display:block; border-radius:18px; box-shadow:0 14px 40px rgba(63,110,88,.16);
  border:1px solid var(--line2);
}
@media (max-width:760px){
  body.offer-light .about-photo{ order:-1; width:100%; max-width:260px; margin:0 auto; flex-basis:100%; }
}

/* ---------- kontakt: formularz + mapa ---------- */
body.offer-light .contact-layout{
  display:grid; grid-template-columns:1fr 340px; gap:40px;
  padding:0 6vw; margin-top:20px;
}
body.offer-light .contact-form-card,
body.offer-light .contact-info-card,
body.offer-light .contact-map-card{
  background:var(--card); border-radius:16px; border:1px solid var(--line2);
  box-shadow:0 10px 34px rgba(63,110,88,.10);
}
body.offer-light .contact-form-card{ padding:32px; }
body.offer-light .contact-form-card h2{
  font-family:'Fraunces',serif; font-weight:500; font-size:24px; margin:0 0 6px; color:var(--ink2);
}
body.offer-light .contact-form-note{ margin:0 0 24px; color:var(--ink2-muted); font-size:14px; }

body.offer-light .contact-form-card form{ display:flex; flex-direction:column; gap:18px; }
body.offer-light .contact-form-card label{
  display:flex; flex-direction:column; gap:6px;
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink2-muted);
}
body.offer-light .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
body.offer-light .contact-form-card input[type="text"],
body.offer-light .contact-form-card input[type="email"],
body.offer-light .contact-form-card input[type="tel"],
body.offer-light .contact-form-card select,
body.offer-light .contact-form-card textarea{
  font-family:'Work Sans',sans-serif; font-size:15px; color:var(--ink2);
  background:var(--bg-mint); border:1px solid var(--line2); border-radius:10px;
  padding:11px 14px; text-transform:none; letter-spacing:0;
}
body.offer-light .contact-form-card input:focus,
body.offer-light .contact-form-card select:focus,
body.offer-light .contact-form-card textarea:focus{
  outline:none; border-color:var(--sage);
}
body.offer-light .contact-form-card textarea{ resize:vertical; min-height:120px; font-family:inherit; }
body.offer-light .consent-row{
  flex-direction:row; align-items:flex-start; gap:10px;
  font-family:'Work Sans',sans-serif; text-transform:none; letter-spacing:0; font-size:13px; color:var(--ink2-muted);
}
body.offer-light .consent-row input{ margin-top:3px; flex:0 0 auto; accent-color:var(--sage); }
body.offer-light .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }

body.offer-light .submit-btn{
  align-self:flex-start; background:var(--sage); color:#fff; border:none;
  padding:13px 30px; border-radius:100px; cursor:pointer;
  font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  transition:transform .2s, background .2s;
}
body.offer-light .submit-btn:hover{ background:var(--sage-deep); transform:translateY(-2px); }

body.offer-light .form-success{
  background:var(--sage-pale); color:var(--sage-deep); border:1px solid var(--sage);
  border-radius:10px; padding:14px 18px; margin-bottom:20px; font-size:14px;
}
body.offer-light .form-errors{
  background:#FDEDEA; color:#9A3B2E; border:1px solid #F0B9AC;
  border-radius:10px; padding:14px 18px; margin-bottom:20px; font-size:14px;
}
body.offer-light .form-errors ul{ margin:0; padding-left:18px; }

body.offer-light .contact-side{ display:flex; flex-direction:column; gap:24px; }
body.offer-light .contact-info-card{ padding:26px; }
body.offer-light .contact-info-card h3{
  font-family:'Fraunces',serif; font-weight:500; font-size:18px; margin:0 0 14px; color:var(--ink2);
}
body.offer-light .contact-info-card p{ margin:0 0 12px; color:var(--ink2-muted); font-size:14px; line-height:1.6; }
body.offer-light .contact-name{ color:var(--ink2) !important; font-weight:500; }
body.offer-light .contact-link-small{
  color:var(--sage-deep); text-decoration:none; font-weight:500;
}
body.offer-light .contact-link-small:hover{ text-decoration:underline; }
body.offer-light .contact-area-small{ font-size:12px !important; padding-top:6px; border-top:1px solid var(--line2); }

body.offer-light .contact-map-card{ overflow:hidden; }
body.offer-light .contact-map-card iframe{ width:100%; height:220px; border:0; display:block; }
body.offer-light .map-link{
  display:block; text-align:center; padding:12px; font-size:13px;
  color:var(--sage-deep); text-decoration:none; font-family:'JetBrains Mono',monospace; letter-spacing:.04em;
}
body.offer-light .map-link:hover{ background:var(--sage-pale); }

@media (max-width:900px){
  body.offer-light .contact-layout{ grid-template-columns:1fr; }
  body.offer-light .form-row{ grid-template-columns:1fr; }
}
