/* Jeżynowo — warstwa wizualna zgodna z projektem Lovable. */
:root {
  --jz-sage-pale: #dee3d9;
  --jz-sage: #97ac93;
  --jz-sage-deep: #4f6b4a;
  --jz-cream: #fbf3e4;
  --jz-peri: #c8cfea;
  --jz-cobalt: #3e5aa8;
  --jz-peach: #f5c1a8;
  --jz-plum: #452537;
  --jz-white: #fffdf8;
}

html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body.jz-v2-page { margin: 0; overflow-x: hidden; background: var(--jz-cream); color: var(--jz-plum); }
.jz-v2-page .elementor { font-family: "Work Sans", system-ui, sans-serif; color: var(--jz-plum); }
.jz-v2-page .elementor-widget:not(:last-child) { margin-block-end: 0; }
.jz-v2-page .elementor-widget-text-editor, .jz-v2-page .elementor-widget-heading { color: inherit; }
.jz-v2-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.jz-v2-page .elementor a { color: inherit; }

.jz-section { position: relative; width: 100%; overflow: hidden; }
.jz-section:not(.jz-header):not(.jz-footer) { padding: 80px 0 112px; }
.jz-wrap { width: calc(100% - 80px) !important; max-width: 1160px !important; margin-inline: auto !important; }
.jz-narrow { max-width: 820px !important; }
.jz-limit { max-width: 700px; }

.jz-section-title .elementor-heading-title,
.jz-card-title .elementor-heading-title,
.jz-h1 .elementor-heading-title,
.jz-brand .elementor-heading-title,
.jz-footer-brand .elementor-heading-title,
.jz-legal-h1 .elementor-heading-title,
.jz-legal-h2 .elementor-heading-title,
.jz-product-h1 .elementor-heading-title,
.jz-product-price .elementor-heading-title,
.jz-product-main-price .elementor-heading-title,
.jz-backstage-title .elementor-heading-title,
.jz-placeholder-title .elementor-heading-title {
  margin: 0;
  color: var(--jz-plum);
  font-family: "Baloo 2", "Work Sans", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.01em;
}
.jz-h1 .elementor-heading-title { font-size: clamp(42px, 5vw, 60px); line-height: 1.08; }
.jz-section-title .elementor-heading-title { font-size: clamp(34px, 4vw, 42px); line-height: 1.12; }
.jz-card-title .elementor-heading-title { font-size: 20px; line-height: 1.2; }
.jz-section-lead { margin-top: 16px; max-width: 650px; font-size: 16px; line-height: 1.7; color: rgba(69,37,55,.8); }
.jz-center { text-align: center; margin-inline: auto; }
.jz-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: rgba(69,37,55,.7); }
.jz-eyebrow p { margin: 0; }
.jz-cobalt, .jz-cobalt .elementor-heading-title { color: var(--jz-plum) !important; }
.jz-light, .jz-light .elementor-heading-title { color: var(--jz-cream) !important; }
.jz-light-soft { color: rgba(251,243,228,.8); line-height: 1.72; }
.jz-note { font-size: 12px; line-height: 1.5; color: rgba(69,37,55,.6); }
.jz-small { font-size: 14px; line-height: 1.65; color: rgba(69,37,55,.8); }

.jz-btn { width: max-content !important; margin-top: 28px; }
.jz-btn .elementor-button {
  min-height: 48px;
  padding: 13px 26px;
  border: 0;
  border-radius: 999px;
  background: var(--jz-sage-deep);
  color: var(--jz-white);
  box-shadow: 0 6px 0 #2b4327;
  font-size: 15px;
  font-weight: 600;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.jz-btn .elementor-button:hover { transform: translateY(2px); box-shadow: 0 4px 0 #2b4327; filter: brightness(1.05); color: #fff; }
.jz-btn-disabled .elementor-button { opacity: .74; }
.jz-secondary-btn .elementor-button { background: var(--jz-plum); box-shadow: 0 6px 0 #28141f; }
.jz-center-btn { align-self: center; }

.jz-card {
  padding: 24px;
  border: 1px solid rgba(79,107,74,.18);
  border-radius: 12px;
  background: var(--jz-white);
  transition: transform .22s ease, box-shadow .22s ease;
}
.jz-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(69,37,55,.55); }
.jz-card-sage { background: var(--jz-sage-pale); }
.jz-card-peri { background: var(--jz-peri); }
.jz-grid-2, .jz-grid-3, .jz-grid-4, .jz-gallery-4, .jz-backstage-grid { display: grid !important; }
.jz-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.jz-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.jz-grid-4, .jz-gallery-4 { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; }

/* Nagłówek */
.jz-header { position: sticky; top: 0; z-index: 100; overflow: visible; background: var(--jz-plum); color: var(--jz-cream); box-shadow: 0 8px 24px rgba(69,37,55,.12); }
.jz-header-row { min-height: 64px; display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 28px; }
.jz-brand { flex: 0 0 auto; }
.jz-brand .elementor-heading-title { font-size: 20px; color: var(--jz-cream); }
.jz-nav-widget { width: auto !important; margin-left: auto; }
.jz-nav-widget .elementor-widget-container { line-height: 1; }
.jz-nav-desktop { display: flex; align-items: center; gap: 26px; }
.jz-nav-desktop a { position: relative; color: rgba(251,243,228,.88) !important; font-size: 14px; text-decoration: none; white-space: nowrap; }
.jz-nav-desktop a:not(.jz-nav-cta)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 1px; background: var(--jz-cream); transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.jz-nav-desktop a:hover::after { transform: scaleX(1); transform-origin: left; }
.jz-nav-desktop .jz-nav-cta { padding: 9px 18px; border-radius: 999px; background: var(--jz-sage-deep); color: #fff !important; font-weight: 600; }
.jz-nav-mobile { display: none; color: var(--jz-cream); }
.jz-nav-mobile summary { cursor: pointer; list-style: none; padding: 9px 15px; border: 1px solid rgba(251,243,228,.25); border-radius: 999px; font-size: 14px; }
.jz-nav-mobile summary::-webkit-details-marker { display: none; }
.jz-nav-mobile nav { position: absolute; left: 20px; right: 20px; top: 58px; display: flex; flex-direction: column; padding: 12px; border-radius: 12px; background: var(--jz-plum); box-shadow: 0 16px 30px rgba(33,16,26,.28); }
.jz-nav-mobile a { padding: 12px; color: var(--jz-cream) !important; text-decoration: none; }

/* Hero */
.jz-hero { background: var(--jz-sage-pale); }
.jz-hero-grid { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 64px; }
.jz-hero-copy { flex: 1 1 54%; gap: 0; }
.jz-hero-copy .jz-h1 { margin-top: 18px; }
.jz-hero-copy .jz-lead { margin-top: 20px; max-width: 500px; font-size: 18px; line-height: 1.65; color: rgba(69,37,55,.8); }
.jz-hero-copy .jz-note { margin-top: 18px; }
.jz-hero-art { flex: 0 1 410px; align-items: center; position: relative; }
.jz-cover img { width: min(100%,400px); border-radius: 8px; transform: rotate(-1.5deg); box-shadow: 0 22px 45px -20px rgba(69,37,55,.55); transition: transform .45s ease; }
.jz-cover img:hover { transform: rotate(0) scale(1.02); }

/* Newsletter */
.jz-newsletter { background: var(--jz-peri); }
.jz-newsletter .jz-narrow { align-items: stretch; }
.jz-newsletter-form-widget { margin-top: 30px; }
.jz-news-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; align-items: end; gap: 12px; text-align: left; }
.jz-news-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 600; color: rgba(69,37,55,.72); }
.jz-news-form input { width: 100%; height: 48px; box-sizing: border-box; padding: 0 16px; border: 1px solid rgba(69,37,55,.16); border-radius: 7px; background: var(--jz-cream); color: var(--jz-plum); font: inherit; outline: none; }
.jz-news-form input:focus { border-color: var(--jz-cobalt); box-shadow: 0 0 0 2px rgba(62,90,168,.18); }
.jz-news-form button { min-height: 48px; padding: 13px 26px; border: 0; border-radius: 999px; background: var(--jz-sage-deep); color: #fff; box-shadow: 0 6px 0 #2b4327; font: 600 15px "Work Sans",sans-serif; cursor: pointer; }
.jz-form-status { grid-column: 1/-1; margin: 8px 0 0; text-align: center; font-size: 12px; font-weight: 600; }
.jz-consent { margin-top: 20px; max-width: 640px; font-size: 12px; line-height: 1.6; color: rgba(69,37,55,.7); }
.jz-consent a { color: var(--jz-plum) !important; text-decoration: underline; }

/* O książce */
.jz-about { background: var(--jz-cream); }
.jz-about-grid { display: flex !important; flex-direction: row !important; align-items: flex-start; justify-content: space-between; gap: 64px; }
.jz-about-intro { flex: 0 1 43%; }
.jz-about-copy { flex: 0 1 52%; gap: 18px; font-size: 15.5px; line-height: 1.72; }
.jz-about-intro .jz-section-title { margin-top: 15px; }
.jz-about-quote { margin-top: 20px; color: var(--jz-plum); font: 700 19px/1.6 "Baloo 2",sans-serif; }
.jz-about-cards { margin-top: 4px; }
.jz-gallery-4 { margin-top: 56px !important; }
.jz-gallery-image { padding: 8px; border: 1px solid rgba(79,107,74,.35); border-radius: 12px; background: var(--jz-sage-pale); box-shadow: 0 10px 30px -18px rgba(69,37,55,.45); overflow: hidden; }
.jz-gallery-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; transition: transform .5s ease; }
.jz-gallery-image:hover img { transform: scale(1.025); }

/* Od kuchni */
.jz-backstage { background: var(--jz-sage-pale); }
.jz-backstage .jz-section-title { margin-top: 12px; }
.jz-backstage-grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 28px; margin-top: 44px; }
.jz-backstage-card { grid-column: span 6; padding: 12px; border: 1px solid rgba(79,107,74,.2); border-radius: 10px; background: var(--jz-white); box-shadow: 0 12px 28px -22px rgba(69,37,55,.6); transition: transform .3s ease, box-shadow .3s ease; }
.jz-backstage-card:nth-child(odd) { transform: rotate(-.7deg); }
.jz-backstage-card:nth-child(even) { transform: rotate(.6deg); }
.jz-backstage-card:hover { transform: translateY(-4px) rotate(0); box-shadow: 0 20px 40px -24px rgba(69,37,55,.55); }
.jz-placeholder { min-height: 260px; align-items: center; justify-content: center; text-align: center; border-radius: 7px; background-color: var(--jz-cream); background-image: linear-gradient(to right,rgba(151,172,147,.26) 1px,transparent 1px),linear-gradient(to bottom,rgba(151,172,147,.26) 1px,transparent 1px); background-size: 22px 22px; }
.jz-placeholder-title .elementor-heading-title { font-size: 20px; color: rgba(69,37,55,.72); }
.jz-placeholder-caption { margin-top: 5px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: rgba(69,37,55,.48); }
.jz-backstage-caption { display: grid !important; grid-template-columns: auto 1fr; gap: 4px 10px; align-items: baseline; padding: 16px 4px 4px; }
.jz-step { color: var(--jz-plum); font: 700 14px "Baloo 2",sans-serif; }
.jz-backstage-title .elementor-heading-title { font-size: 20px; }
.jz-backstage-copy { grid-column: 2; margin-top: 3px; font-size: 13px; line-height: 1.55; color: rgba(69,37,55,.7); }

/* Dlaczego */
.jz-why { background: var(--jz-peri); }
.jz-why .jz-grid-3 { margin-top: 38px; }
.jz-reason-card { min-height: 248px; }
.jz-reason-number { color: var(--jz-sage-deep); font: 700 34px/1 "Baloo 2",sans-serif; }
.jz-reason-card .jz-card-title { margin-top: 13px; }
.jz-reason-card .jz-small { margin-top: 8px; }

/* Dla dorosłych */
.jz-adults { background: var(--jz-plum); color: var(--jz-cream); }
.jz-header .jz-cobalt,
.jz-header .jz-cobalt .elementor-heading-title,
.jz-adults .jz-cobalt,
.jz-adults .jz-cobalt .elementor-heading-title,
.jz-adults .jz-consent a,
.jz-adults .jz-about-quote,
.jz-adults .jz-step,
.jz-footer .jz-cobalt,
.jz-footer .jz-cobalt .elementor-heading-title { color: var(--jz-white) !important; }
.jz-adults-grid { display: flex !important; flex-direction: row !important; justify-content: space-between; gap: 64px; }
.jz-adults-copy { flex: 0 1 46%; }
.jz-adults-copy .jz-section-title { margin-top: 14px; }
.jz-adults-copy .jz-light-soft { margin-top: 20px; }
.jz-pills { flex: 0 1 48%; display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
.jz-pill { display: flex; align-items: center; min-height: 46px; padding: 10px 18px; border: 1px solid rgba(251,243,228,.2); border-radius: 999px; background: rgba(251,243,228,.05); color: rgba(251,243,228,.9); font-size: 13px; }
.jz-pill:hover { border-color: rgba(251,243,228,.5); background: rgba(251,243,228,.1); }

/* Sklep */
.jz-shop { background: var(--jz-cream); }
.jz-products { margin-top: 38px; }
.jz-product-card { padding: 0; overflow: hidden; }
.jz-product-featured { outline: 2px solid rgba(62,90,168,.42); outline-offset: -2px; }
.jz-product-art { position: relative; min-height: 230px; padding: 28px 20px 18px; align-items: center; justify-content: end; background: var(--jz-sage-pale); }
.jz-product-cover img { width: 125px; max-height: 180px; object-fit: contain; border-radius: 3px; box-shadow: 0 12px 22px -12px rgba(69,37,55,.62); }
.jz-product-badge { position: absolute; top: 16px; left: 15px; z-index: 2; width: auto !important; padding: 6px 10px; border-radius: 999px; background: var(--jz-plum); color: var(--jz-cream); font-size: 9px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.jz-product-body { padding: 20px; flex: 1; }
.jz-product-quantity { margin-top: 6px; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: rgba(69,37,55,.55); }
.jz-product-description { margin-top: 12px; min-height: 92px; }
.jz-product-price .elementor-heading-title { margin-top: 18px; font-size: 25px; }
.jz-product-card .jz-btn { width: 100% !important; margin-top: 16px; }
.jz-product-card .jz-btn .elementor-button { width: 100%; padding-inline: 14px; font-size: 12px; }
.jz-shop > .jz-wrap > .jz-secondary-btn { margin-top: 28px; }

/* Finał i stopka */
.jz-final { padding-bottom: 80px !important; background: var(--jz-sage); text-align: center; }
.jz-final .jz-section-lead { margin-inline: auto; }
.jz-footer { padding: 0; background: var(--jz-plum); color: rgba(251,243,228,.82); }
.jz-footer-row { min-height: 86px; display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 32px; }
.jz-footer-brand .elementor-heading-title { font-size: 20px; color: var(--jz-cream); }
.jz-footer-links { width: auto !important; margin-left: auto; }
.jz-footer-links p { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 26px; }
.jz-footer-links a { color: rgba(251,243,228,.82) !important; text-decoration: none; font-size: 13px; }
.jz-footer-links a:hover { color: var(--jz-cream) !important; }
.jz-footer-bottom { padding: 18px 0; border-top: 1px solid rgba(251,243,228,.1); }
.jz-footer-note { font-size: 11px; color: rgba(251,243,228,.5); }

/* Podstrony */
.jz-legal, .jz-product-page { min-height: 70vh; background: var(--jz-cream); }
.jz-legal-wrap { max-width: 820px !important; }
.jz-legal-h1 .elementor-heading-title, .jz-product-h1 .elementor-heading-title { margin-top: 14px; font-size: clamp(40px,5vw,54px); line-height: 1.08; }
.jz-legal-content { margin-top: 44px; gap: 38px; }
.jz-legal-h2 .elementor-heading-title { font-size: 27px; }
.jz-legal-copy { margin-top: 10px; line-height: 1.75; color: rgba(69,37,55,.82); }
.jz-legal-copy a { font-weight: 600; text-decoration: underline; }
.jz-breadcrumbs { margin-bottom: 38px; font-size: 13px; color: rgba(69,37,55,.58); }
.jz-breadcrumbs a { text-decoration: none; }
.jz-product-main-grid { display: flex !important; flex-direction: row !important; gap: 54px; align-items: flex-start; }
.jz-product-main-art { flex: 0 1 48%; padding: 42px; background: var(--jz-sage-pale); align-items: center; }
.jz-product-main-cover img { width: min(100%,390px); border-radius: 6px; box-shadow: 0 24px 50px -24px rgba(69,37,55,.6); }
.jz-product-main-copy { flex: 0 1 48%; }
.jz-product-h1 { margin-top: 12px; }
.jz-product-main-price .elementor-heading-title { margin-top: 22px; font-size: 34px; }
.jz-product-bullets { margin-top: 24px; color: rgba(69,37,55,.8); }
.jz-product-bullets ul { margin: 0; padding-left: 20px; }
.jz-product-bullets li { margin: 8px 0; }
.jz-product-info { margin-top: 28px; }
.jz-product-details { margin-top: 12px; line-height: 1.8; }

/* Faliste przejścia i kropki */
.jz-to-peri::after, .jz-to-cream::after, .jz-to-sage::after, .jz-to-plum::after, .jz-to-green::after {
  content: ""; position: absolute; z-index: 5; left: -2%; right: -2%; bottom: -1px; height: 72px;
  clip-path: polygon(0 48%,12% 20%,26% 36%,40% 68%,55% 42%,70% 18%,84% 47%,100% 26%,100% 100%,0 100%);
}
.jz-to-peri::after { background: var(--jz-peri); }
.jz-to-cream::after { background: var(--jz-cream); }
.jz-to-sage::after { background: var(--jz-sage-pale); }
.jz-to-plum::after { background: var(--jz-plum); }
.jz-to-green::after { background: var(--jz-sage); }
.jz-dots-left::before, .jz-dots-right::before, .jz-dots-both::before {
  content: ""; position: absolute; z-index: 1; width: 125px; height: 92px; opacity: .68; pointer-events: none;
  background: radial-gradient(circle at 16% 22%,var(--jz-sage-deep) 0 10px,transparent 11px),radial-gradient(circle at 44% 11%,var(--jz-peach) 0 6px,transparent 7px),radial-gradient(circle at 73% 39%,var(--jz-cobalt) 0 8px,transparent 9px),radial-gradient(circle at 30% 65%,var(--jz-peach) 0 5px,transparent 6px),radial-gradient(circle at 61% 82%,var(--jz-sage-deep) 0 11px,transparent 12px),radial-gradient(circle at 90% 68%,var(--jz-peach) 0 4px,transparent 5px);
}
.jz-dots-left::before { top: 30px; left: max(4px,calc((100vw - 1240px)/2)); transform: translateX(-45%); }
.jz-dots-right::before { top: 35px; right: max(4px,calc((100vw - 1240px)/2)); transform: translateX(45%); }
.jz-dots-both::before { left: max(4px,calc((100vw - 1240px)/2)); bottom: 26px; }

@media (max-width: 1024px) {
  .jz-wrap { width: calc(100% - 48px) !important; }
  .jz-hero-grid, .jz-about-grid, .jz-adults-grid { gap: 40px; }
  .jz-grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jz-grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .jz-product-description { min-height: 66px; }
}

@media (max-width: 767px) {
  .jz-section:not(.jz-header):not(.jz-footer) { padding: 50px 0 82px; }
  .jz-wrap { width: calc(100% - 40px) !important; }
  .jz-nav-desktop { display: none; }
  .jz-nav-mobile { display: block; }
  .jz-header-row { min-height: 62px; }
  .jz-hero-grid, .jz-about-grid, .jz-adults-grid, .jz-product-main-grid { flex-direction: column !important; align-items: stretch; gap: 36px; }
  .jz-hero-copy, .jz-hero-art, .jz-about-intro, .jz-about-copy, .jz-adults-copy, .jz-pills, .jz-product-main-art, .jz-product-main-copy { flex: 1 1 auto; width: 100%; }
  .jz-hero-art { order: -1; }
  .jz-cover img { width: min(78vw,330px); }
  .jz-h1 .elementor-heading-title { font-size: 40px; }
  .jz-section-title .elementor-heading-title { font-size: 32px; }
  .jz-news-form { grid-template-columns: 1fr; }
  .jz-news-form button { width: 100%; margin-top: 4px; }
  .jz-grid-2, .jz-grid-3, .jz-grid-4 { grid-template-columns: 1fr; }
  .jz-gallery-4 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .jz-gallery-4 { margin-top: 36px !important; }
  .jz-gallery-image { padding: 5px; }
  .jz-backstage-grid { grid-template-columns: 1fr; gap: 18px; }
  .jz-backstage-card { grid-column: auto; transform: none !important; }
  .jz-placeholder { min-height: 210px; }
  .jz-pills { grid-template-columns: 1fr; }
  .jz-reason-card { min-height: 0; }
  .jz-product-description { min-height: 0; }
  .jz-footer-row { padding: 28px 0; flex-direction: column !important; align-items: flex-start; }
  .jz-footer-links { margin-left: 0; }
  .jz-footer-links p { justify-content: flex-start; }
  .jz-product-main-art { padding: 28px; }
  .jz-to-peri::after, .jz-to-cream::after, .jz-to-sage::after, .jz-to-plum::after, .jz-to-green::after { height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .jz-card, .jz-cover img, .jz-btn .elementor-button, .jz-backstage-card { transition: none; }
}
