/*
Theme Name:   Australia, Jakiej Nie Znasz
Theme URI:    https://kasia.sigma-art.pl/
Author:       Sigma-Art
Description:  Samodzielny motyw blokowy (Full Site Editing) dla strony "Australia, jakiej nie znasz". Bez motywu rodzica. Nagłówek, stopka i wszystkie sekcje edytowalne w Edytorze witryny. Zawiera wzorce: Strona główna, O mnie, Kontakt.
Version:      2.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License:      GPL-2.0-or-later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  ajnz
Tags:         full-site-editing, block-patterns, one-column, custom-colors, custom-menu, editor-style, block-styles
*/

/* =====================================================================
   MOTYW BLOKOWY — SPIS TREŚCI
    1. Tokeny            6. Kontakt
    2. Przyciski         7. Strona główna
    3. Sekcje            8. Hero full-bleed
    4. Karty             9. Responsywność
    5. Pas niebieski    10. Komunikaty formularzy
                        11. Nagłówek / stopka / szablony

   Kolory zmieniasz w DWÓCH miejscach (celowo, bo działają na innych warstwach):
   • theme.json → paleta widoczna w edytorze bloków
   • :root niżej → zmienne używane przez ten arkusz
   Trzymaj je zgodne.
   ===================================================================== */



/* =====================================================================
   SPIS TREŚCI
   1. Tokeny i typografia          6. Kontakt
   2. Przyciski                    7. Strona główna
   3. Sekcje wspólne               8. Hero full-bleed
   4. Kafelki / karty              9. Responsywność
   5. Pas niebieski
   Zmienne CSS dublują się w theme.json — zmiana koloru w Personalizuj
   nie nadpisze tych reguł. Kolory zmieniaj TUTAJ (blok :root niżej).
   ===================================================================== */

/* ===== 1-5. BAZA (wspólna dla wszystkich podstron) ===== */

/* --- Tokeny globalne: JEDNO miejsce do zmiany kolorów --- */
:root{
  --blue:        #0E7FA6;
  --blue-dark:   #0A6C8F;
  --teal:        #17A2A2;
  --yellow:      #F6C445;
  --cream:       #FDF6E3;
  --cream-soft:  #FBF3DD;
  --ink:         #1C1C1C;
  --text:        #5A6472;
  --radius:      14px;
  --shadow:      0 12px 32px rgba(14,127,166,.10);
  --ajnz-header-h: 90px;   /* wysokość nagłówka Kadence */
}

.ajnz-page {
  --blue: #0E7FA6;
  --blue-dark: #0A6C8F;
  --teal: #17A2A2;
  --yellow: #F6C445;
  --cream: #FDF6E3;
  --cream-soft: #FBF3DD;
  --ink: #1C1C1C;
  --text: #5A6472;
  --white: #FFFFFF;
  --radius: 14px;
  --shadow: 0 12px 32px rgba(14,127,166,.10);

  font-family: 'Nunito Sans', system-ui, sans-serif;
  font-optical-sizing: auto;
  font-variation-settings: 'wdth' 100;
  color: var(--text);
  overflow-x: clip;
}

/* --- Typografia --- */
.ajnz-h1 {
  font-size: clamp(2.4rem, 4.4vw, 3.9rem);
  line-height: 1.08;
  font-weight: 700;
  color: var(--blue);
  letter-spacing: -.02em;
  margin: .4em 0 .6em;
}
.ajnz-h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
  line-height: 1.18;
  font-weight: 700;
  color: var(--blue);
  letter-spacing: -.01em;
}
.ajnz-h2--sm { font-size: clamp(1.6rem, 2.2vw, 2.1rem); }
.ajnz-h2--white { color: #fff; }

.ajnz-lead { font-size: .95rem; line-height: 1.75; max-width: 46ch; }

.ajnz-eyebrow {
  display: inline-block;
  background: var(--cream);
  color: var(--blue);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .5em 1.1em;
  border-radius: 999px;
  margin: 0 0 1rem;
}
.ajnz-eyebrow--yellow { background: none; color: var(--yellow); padding-left: 0; }
.ajnz-eyebrow--white  { background: none; color: rgba(255,255,255,.75); padding-left: 0; }
.ajnz-eyebrow--plain  { background: none; color: var(--text); padding-left: 0; }
.ajnz-eyebrow--outline{ background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.35); }

/* --- Przyciski --- */
.ajnz-btns { gap: .75rem; margin-bottom: 2.5rem; }
.ajnz-btn .wp-block-button__link {
  border-radius: 8px;
  padding: .95em 1.6em;
  font-size: .85rem;
  font-weight: 600;
  transition: transform .18s ease, box-shadow .18s ease;
}
.ajnz-btn--yellow .wp-block-button__link {
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 0 8px 18px rgba(246,196,69,.35);
}
.ajnz-btn--ghost .wp-block-button__link {
  background: #fff;
  color: var(--ink);
  border: 1px solid #E4E8EE;
}
.ajnz-btn .wp-block-button__link:hover { transform: translateY(-2px); }

/* --- HERO --- */
.ajnz-hero {
  position: relative;
  padding: 5rem 1.5rem 6rem;
  background:
    radial-gradient(900px 600px at 0% 0%, var(--cream) 0%, rgba(253,246,227,0) 60%),
    radial-gradient(700px 500px at 100% 10%, #E4F3F7 0%, rgba(228,243,247,0) 65%),
    #fff;
}
.ajnz-hero__cols { gap: 4rem; }

.ajnz-hero__media { position: relative; }
.ajnz-hero__media::before { /* żółty prostokąt za zdjęciem */
  content: "";
  position: absolute;
  top: -22px; left: -14px;
  width: 190px; height: 150px;
  background: var(--yellow);
  border-radius: 12px;
  z-index: 0;
}
.ajnz-hero__photo { position: relative; z-index: 1; margin: 0; }
.ajnz-hero__photo img {
  width: 100%;
  border-radius: var(--radius);
  box-shadow: 0 24px 50px rgba(0,0,0,.18);
  object-fit: cover;
  aspect-ratio: 4 / 5;
}

.ajnz-card-dark {
  position: absolute;
  right: -10px; bottom: 6%;
  z-index: 2;
  width: min(320px, 78%);
  background: var(--ink);
  color: #fff;
  border-radius: var(--radius);
  padding: 1.4rem 1.5rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.ajnz-card-dark__title { font-size: 1.25rem; line-height: 1.3; color: #fff; margin: .2rem 0 .8rem; }
.ajnz-card-dark__text  { font-size: .8rem; line-height: 1.6; color: rgba(255,255,255,.72); margin: 0; }

/* --- Statystyki --- */
.ajnz-stats { gap: 1rem; }
.ajnz-stat {
  background: #fff;
  border: 1px solid #EDF1F4;
  border-top: 3px solid var(--yellow);
  border-radius: 10px;
  padding: 1.1rem 1.2rem;
  box-shadow: var(--shadow);
}
.ajnz-stat__num  { font-size: 1.15rem; color: var(--blue); margin: 0 0 .4rem; }
.ajnz-stat__desc { font-size: .72rem; line-height: 1.5; margin: 0; }

/* --- Sekcje --- */
.ajnz-section { padding: 6rem 1.5rem; background: #fff; }
.ajnz-section--cream {
  background: linear-gradient(180deg, var(--cream-soft) 0%, #fff 70%);
}

.ajnz-about__intro { gap: 4rem; margin-bottom: 3rem; }

/* Kafelki 01–04 */
.ajnz-grid-4 { gap: 1.5rem; }
.ajnz-tile {
  background: #fff;
  border: 1px solid #EEF1F5;
  border-radius: var(--radius);
  padding: 1.8rem 1.5rem;
  box-shadow: var(--shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ajnz-tile:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(14,127,166,.16); }
.ajnz-tile__num {
  display: grid; place-items: center;
  width: 40px; height: 40px;
  background: var(--cream);
  color: var(--blue);
  font-weight: 700; font-size: .8rem;
  border-radius: 10px;
  margin: 0 0 1.2rem;
}
.ajnz-tile__title { font-size: 1.05rem; color: var(--blue); margin: 0 0 .8rem; line-height: 1.3; }
.ajnz-tile__text  { font-size: .8rem; line-height: 1.7; margin: 0; }

/* --- Pas z cytatem --- */
.ajnz-band {
  padding: 5rem 1.5rem;
  background: linear-gradient(110deg, var(--teal) 0%, var(--blue) 45%, var(--blue-dark) 100%);
}
.ajnz-band__cols { gap: 1.5rem; }
.ajnz-glass {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius);
  padding: 2.2rem;
}
.ajnz-quote-mark { color: var(--yellow); font-size: 2rem; line-height: 1; margin: 0 0 .8rem; }
.ajnz-quote {
  color: #fff;
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  line-height: 1.5;
  font-weight: 600;
  margin: 0 0 1.4rem;
}
.ajnz-quote__note { color: rgba(255,255,255,.8); font-size: .8rem; line-height: 1.7; margin: 0; }
.ajnz-quote__note strong { color: #fff; }

/* Listy z żółtym punktorem */
.ajnz-list { list-style: none; padding: 0; margin: 0; }
.ajnz-list li {
  position: relative;
  padding-left: 1.4rem;
  margin-bottom: .9rem;
  font-size: .82rem;
  line-height: 1.6;
  color: rgba(255,255,255,.9);
}
.ajnz-list li::before {
  content: "";
  position: absolute;
  left: 0; top: .5em;
  width: 7px; height: 7px;
  background: var(--yellow);
  border-radius: 50%;
}

/* --- Kulisy książki --- */
.ajnz-why { gap: 1.5rem; margin-bottom: 1.5rem; align-items: flex-start; }
.ajnz-note {
  background: #fff;
  border: 1px solid #EEF1F5;
  border-radius: var(--radius);
  padding: 1.6rem 1.4rem;
  box-shadow: var(--shadow);
}
.ajnz-note__title { font-size: 1rem; color: var(--blue); margin: 0 0 .7rem; line-height: 1.35; }

.ajnz-steps { gap: 1.5rem; }
.ajnz-step {
  background: #fff;
  border: 1px solid #EEF1F5;
  border-left: 3px solid var(--yellow);
  border-radius: var(--radius);
  padding: 1.5rem;
  box-shadow: var(--shadow);
}
.ajnz-step__label {
  font-size: .7rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text); margin: 0 0 .3rem;
}

/* --- Duo: jasny + niebieski panel --- */
.ajnz-duo { gap: 0; align-items: stretch; margin-bottom: 5rem; }
.ajnz-panel-light {
  background: rgba(255,255,255,.55);
  border-radius: var(--radius);
  padding: 2.5rem;
}
.ajnz-panel-blue {
  background: var(--blue);
  border-radius: var(--radius);
  padding: 2.8rem;
  box-shadow: 0 20px 45px rgba(14,127,166,.28);
  transform: translateY(-16px);
}
.ajnz-sign { font-size: .78rem; line-height: 1.7; margin-top: 1.6rem; }
.ajnz-sign strong { color: var(--blue); }

/* --- CTA --- */
.ajnz-cta {
  background: linear-gradient(115deg, var(--blue) 0%, var(--blue-dark) 100%);
  border-radius: var(--radius);
  padding: 3rem;
  box-shadow: 0 22px 50px rgba(14,127,166,.30);
}
.ajnz-cta__text { color: rgba(255,255,255,.8); font-size: .85rem; line-height: 1.7; max-width: 52ch; margin-top: 1rem; }

/* --- Responsywność --- */
@media (max-width: 1024px) {
  .ajnz-hero__cols, .ajnz-about__intro { gap: 2.5rem; }
  .ajnz-panel-blue { transform: none; }
}
@media (max-width: 781px) {
  .ajnz-hero { padding: 3rem 1.25rem 4rem; }
  .ajnz-section, .ajnz-band { padding: 3.5rem 1.25rem; }
  .ajnz-card-dark { position: static; width: 100%; margin-top: -2.5rem; }
  .ajnz-hero__media::before { display: none; }
  .ajnz-grid-4, .ajnz-steps, .ajnz-stats { gap: 1rem; }
  .ajnz-cta { padding: 2rem; }
}

/* Dostępność */
.ajnz-page a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .ajnz-page * { transition: none !important; }
}


/* ===== 6. KONTAKT ===== */
/* --- Tło strony --- */
.ajnz-contact .ajnz-hero{
  background:
    radial-gradient(800px 500px at 0% 0%, var(--cream) 0%, rgba(253,246,227,0) 60%),
    radial-gradient(700px 500px at 100% 0%, #E7F4F8 0%, rgba(231,244,248,0) 65%),
    #fff;
}
.ajnz-contact .ajnz-section--cream{
  background: linear-gradient(180deg,#fff 0%, var(--cream-soft) 22%, var(--cream-soft) 100%);
}
.ajnz-contact .ajnz-cards{ padding-bottom:2rem; }
.ajnz-contact .ajnz-formzone{ padding-top:2rem; }

/* --- Panel "Szybki kontakt" (czarny) --- */
.ajnz-quick{
  position:relative;
  overflow:hidden;
  background:#111;
  color:#fff;
  border-radius:20px;
  padding:2.2rem;
  box-shadow:0 26px 60px rgba(0,0,0,.30);
}
.ajnz-quick::after{ /* ciepła poświata w rogu */
  content:"";
  position:absolute; right:-60px; bottom:-60px;
  width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(246,196,69,.35) 0%, rgba(246,196,69,0) 70%);
  pointer-events:none;
}
.ajnz-quick__title{ color:#fff; font-size:1.35rem; margin:0 0 .8rem; }
.ajnz-quick__text{ color:rgba(255,255,255,.62); font-size:.82rem; line-height:1.7; margin:0 0 1.5rem; }
.ajnz-quick__row{ gap:1rem; margin-bottom:1rem; }

.ajnz-chip{
  position:relative; z-index:1;
  background:#1D1D1D;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  padding:1.1rem 1.2rem;
}
.ajnz-chip__title{ color:var(--yellow); font-size:1rem; margin:0 0 .45rem; }
.ajnz-chip__text{ color:rgba(255,255,255,.72); font-size:.8rem; line-height:1.6; margin:0; }
.ajnz-chip__text a{ color:inherit; text-decoration:none; }
.ajnz-chip__text a:hover{ color:var(--yellow); }
.ajnz-chip--yellow{ background:#242424; border-color:rgba(246,196,69,.25); }

/* --- Kafelki kontaktowe --- */
.ajnz-contact .ajnz-tile{
  background:#fff;
  border:1px solid #F0EAD8;
  border-radius:var(--radius);
  padding:1.8rem 1.5rem;
  box-shadow:0 10px 30px rgba(180,150,60,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.ajnz-contact .ajnz-tile:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(14,127,166,.14); }
.ajnz-ico{
  display:grid; place-items:center;
  width:44px; height:44px;
  background:var(--cream);
  color:var(--ink);
  border-radius:12px;
  margin-bottom:1.4rem;
}
.ajnz-ico svg{ width:20px; height:20px; stroke-linecap:round; stroke-linejoin:round; }
.ajnz-tile__link{
  font-size:.75rem; font-weight:600; line-height:1.5;
  color:var(--blue); margin:1.4rem 0 0;
}
.ajnz-tile__link a{ color:inherit; text-decoration:none; }
.ajnz-tile__link a:hover{ text-decoration:underline; }

/* --- Panele formularza / sidebaru --- */
.ajnz-formzone__cols{ gap:1.5rem; align-items:flex-start; }
.ajnz-panel{
  background:#fff;
  border-radius:20px;
  padding:2.6rem;
  box-shadow:0 14px 40px rgba(180,150,60,.10);
}
.ajnz-panel--sm{ padding:1.8rem; margin-bottom:1.5rem; }
.ajnz-panel--blue{
  background:linear-gradient(140deg, var(--teal) 0%, var(--blue) 60%);
  color:#fff;
  position:relative; overflow:hidden;
  box-shadow:0 20px 45px rgba(14,127,166,.28);
}
.ajnz-panel--blue::after{
  content:""; position:absolute; right:-50px; bottom:-70px;
  width:200px; height:200px; border-radius:50%;
  background:rgba(255,255,255,.07);
}
.ajnz-panel--blue__text{
  position:relative; z-index:1;
  color:rgba(255,255,255,.85); font-size:.82rem; line-height:1.7; margin:.8rem 0 1.5rem;
}
.ajnz-btn--white .wp-block-button__link{
  background:#fff; color:var(--ink);
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}

/* --- Formularz --- */
.ajnz-form{ margin-top:2rem; }
.ajnz-form__row{ display:flex; gap:1.25rem; }
.ajnz-form__row .ajnz-field{ flex:1; min-width:0; }
.ajnz-field{ display:block; margin:0 0 1.25rem; }
.ajnz-field label{
  display:block;
  font-size:.78rem; font-weight:600;
  color:var(--blue);
  margin-bottom:.55rem;
}
.ajnz-form input,
.ajnz-form textarea,
.ajnz-form .wpcf7-form-control{
  width:100%;
  border:1px solid #DCE6EC;
  border-radius:10px;
  background:#fff;
  padding:.95rem 1.1rem;
  font: inherit;
  font-size:.85rem;
  color:var(--ink);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.ajnz-form input::placeholder,
.ajnz-form textarea::placeholder{ color:#A9BCC6; }
.ajnz-form input:focus,
.ajnz-form textarea:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(14,127,166,.10);
}
.ajnz-form textarea{ min-height:170px; resize:vertical; }
.ajnz-field--submit{ margin-top:1.8rem; margin-bottom:0; }
.ajnz-submit,
.ajnz-form input[type="submit"]{
  display:inline-flex; align-items:center; gap:.6rem;
  background:var(--yellow);
  color:var(--ink);
  border:0;
  border-radius:10px;
  padding:1rem 1.8rem;
  font-size:.85rem; font-weight:600;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(246,196,69,.38);
  transition:transform .18s ease;
  width:auto;
}
.ajnz-submit:hover,
.ajnz-form input[type="submit"]:hover{ transform:translateY(-2px); }

/* --- FAQ (blok Szczegóły) --- */
.ajnz-faq .ajnz-acc{
  border-top:1px solid #EDF1F4;
  padding:1.1rem 0 .2rem;
}
.ajnz-faq .ajnz-acc:first-of-type{ border-top:0; }
.ajnz-acc summary{
  list-style:none;
  cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-size:.9rem; font-weight:600;
  color:var(--blue);
  padding:.3rem 0 .9rem;
}
.ajnz-acc summary::-webkit-details-marker{ display:none; }
.ajnz-acc summary::after{
  content:"+";
  font-size:1.1rem; font-weight:400; color:var(--blue);
  flex-shrink:0;
}
.ajnz-acc[open] summary::after{ content:"–"; }
.ajnz-acc p{ font-size:.82rem; line-height:1.7; color:var(--text); margin:0 0 .9rem; }

/* --- Responsywność --- */
@media (max-width: 1024px){
  .ajnz-quick{ padding:1.8rem; }
  .ajnz-panel{ padding:1.8rem; }
}
@media (max-width: 781px){
  .ajnz-contact .ajnz-hero{ padding:3rem 1.25rem 3.5rem; }
  .ajnz-contact .ajnz-section{ padding:2.5rem 1.25rem; }
  .ajnz-form__row{ flex-direction:column; gap:0; }
  .ajnz-quick__row{ gap:.75rem; }
}


/* ===== 7. STRONA GŁÓWNA ===== */
/* --- Eyebrow z ikonką (kropka jako znacznik) --- */
.ajnz-eyebrow--icon::before{
  content:"";
  display:inline-block;
  width:6px; height:6px;
  border-radius:2px;
  background:var(--ink);
  margin-right:.6em;
  vertical-align:middle;
}
.ajnz-eyebrow--onblue{ background:rgba(255,255,255,.15); color:#fff; }
.ajnz-eyebrow--onblue::before{ background:var(--yellow); }

/* --- Wyróżnienia w nagłówkach --- */
.ajnz-h2--ink{ color:var(--ink); }
.ajnz-mark-blue{ color:var(--blue); }
.ajnz-mark-yellow{ color:var(--yellow); }

/* --- Darmowy rozdział --- */
.ajnz-leadmagnet{
  background:linear-gradient(180deg,#fff 0%, var(--cream-soft) 45%, #EAF4F8 100%);
  padding:5rem 1.5rem;
}
.ajnz-leadmagnet .ajnz-panel{
  background:#fff;
  border-radius:20px;
  padding:2.8rem;
  box-shadow:0 18px 45px rgba(120,110,70,.10);
}
.ajnz-inline-form{
  display:flex; gap:1rem; align-items:stretch;
  max-width:560px; margin-top:1.8rem;
}
.ajnz-inline-form input{
  flex:1; min-width:0;
  border:1px solid #E6E1D0;
  background:var(--cream-soft);
  border-radius:10px;
  padding:1rem 1.2rem;
  font:inherit; font-size:.85rem; color:var(--ink);
}
.ajnz-inline-form input::placeholder{ color:#A9A38C; }
.ajnz-inline-form input:focus{
  outline:none; border-color:var(--yellow);
  box-shadow:0 0 0 4px rgba(246,196,69,.18);
}
.ajnz-submit{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--yellow); color:var(--ink);
  border:0; border-radius:10px;
  padding:1rem 1.6rem;
  font:inherit; font-size:.85rem; font-weight:600;
  cursor:pointer; white-space:nowrap;
  box-shadow:0 10px 24px rgba(246,196,69,.38);
  transition:transform .18s ease;
}
.ajnz-submit:hover{ transform:translateY(-2px); }
.screen-reader-text{
  position:absolute!important; width:1px; height:1px;
  overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap;
}

/* --- O książce --- */
.ajnz-book{ gap:3.5rem; }
.ajnz-duo-cards{ gap:1.25rem; margin-top:2rem; }
.ajnz-home .ajnz-tile{
  background:#fff;
  border:1px solid #EFEADB;
  border-radius:var(--radius);
  padding:1.5rem;
  box-shadow:0 10px 28px rgba(120,110,70,.08);
}
.ajnz-tile__title--ink{ color:var(--ink); font-size:.95rem; }
.ajnz-ico--dark{ background:var(--cream); color:var(--ink); }

/* Kolaż zdjęć */
.ajnz-collage{ position:relative; }
.ajnz-collage__main{ margin:0; }
.ajnz-collage__main img{
  width:100%; border-radius:var(--radius);
  box-shadow:0 22px 50px rgba(0,0,0,.14);
}
.ajnz-note-dark{
  position:absolute; z-index:2;
  top:6%; right:-4%;
  width:min(260px,62%);
  background:var(--ink); color:#fff;
  border-radius:12px; padding:1.2rem 1.3rem;
  box-shadow:0 18px 40px rgba(0,0,0,.30);
}
.ajnz-note-dark__title{ font-size:.78rem; font-weight:600; margin:0 0 .5rem; }
.ajnz-note-dark__text{ font-size:.75rem; line-height:1.6; color:rgba(255,255,255,.72); margin:0; }
.ajnz-collage__thumb{
  position:absolute; z-index:3;
  right:2%; bottom:-8%;
  width:38%; margin:0;
}
.ajnz-collage__thumb img{
  width:100%; border-radius:12px;
  border:5px solid #fff;
  box-shadow:0 16px 36px rgba(0,0,0,.20);
}

/* --- Pas o autorce --- */
.ajnz-home .ajnz-band{ padding:5rem 1.5rem; }
.ajnz-home .ajnz-band__cols{ gap:3rem; align-items:center; }
.ajnz-device{ margin:0; }
.ajnz-device img{
  width:100%; border-radius:26px;
  border:8px solid #111;
  box-shadow:0 30px 60px rgba(0,0,0,.35);
  aspect-ratio:3/4; object-fit:cover;
}
.ajnz-home .ajnz-glass{ margin-bottom:2.5rem; }
.ajnz-band__text{ color:rgba(255,255,255,.82); font-size:.85rem; line-height:1.75; }

/* --- Opinie --- */
.ajnz-reviews{ text-align:center; background:#fff; }
.ajnz-reviews .ajnz-h2{ margin-bottom:3rem; }
.ajnz-grid-3{ gap:1.25rem; text-align:left; }
.ajnz-review{
  background:#fff;
  border:1px solid #EFEADB;
  border-radius:var(--radius);
  padding:1.6rem;
  box-shadow:0 10px 28px rgba(120,110,70,.08);
}
.ajnz-stars{ color:var(--yellow); font-size:.85rem; letter-spacing:.15em; margin:0 0 .9rem; }
.ajnz-review__text{ font-size:.8rem; line-height:1.7; color:var(--text); margin:0 0 1rem; }
.ajnz-review__author{ font-size:.78rem; font-weight:600; color:var(--blue); margin:0; }

/* --- Sekcja sprzedaży --- */
.ajnz-buy{
  background:linear-gradient(180deg,#fff 0%, var(--cream-soft) 30%, var(--cream-soft) 100%);
}
.ajnz-buy .ajnz-cta{
  background:linear-gradient(120deg, var(--teal) 0%, var(--blue) 65%);
  border-radius:20px;
  padding:2.8rem;
  margin-bottom:1.5rem;
  box-shadow:0 24px 55px rgba(14,127,166,.28);
}
.ajnz-buy .ajnz-cta .wp-block-buttons{ gap:.75rem; flex-wrap:wrap; }

.ajnz-pricing{ gap:1.25rem; align-items:stretch; }
.ajnz-plan{
  background:#fff;
  border:1px solid #EFEADB;
  border-radius:var(--radius);
  padding:1.8rem;
  box-shadow:0 12px 32px rgba(120,110,70,.10);
  display:flex; flex-direction:column;
}
.ajnz-plan .wp-block-buttons{ margin-top:auto; padding-top:1.4rem; }
.ajnz-plan--blue{
  background:linear-gradient(160deg, var(--blue) 0%, var(--blue-dark) 100%);
  border-color:transparent;
  box-shadow:0 20px 45px rgba(14,127,166,.30);
}
.ajnz-plan__badge{
  display:inline-block; align-self:flex-start;
  font-size:.62rem; font-weight:700; letter-spacing:.1em;
  color:var(--ink); background:var(--cream);
  border-radius:6px; padding:.45em .8em; margin:0 0 1.2rem;
}
.ajnz-plan__badge--light{ background:rgba(255,255,255,.18); color:#fff; }
.ajnz-plan__name{ font-size:1.05rem; color:var(--ink); margin:0 0 .6rem; line-height:1.35; }
.ajnz-plan__name--white{ color:#fff; }
.ajnz-plan__price{ font-size:2.2rem; font-weight:700; color:var(--ink); margin:0 0 1rem; line-height:1; }
.ajnz-plan__price--white{ color:#fff; }
.ajnz-plan__text--white{ color:rgba(255,255,255,.82); font-size:.8rem; line-height:1.7; margin:0; }
.ajnz-list--ink li{ color:var(--text); }
.ajnz-plan .ajnz-list{ margin-top:1.2rem; }
.ajnz-btn--full,
.ajnz-btn--full .wp-block-button__link{ width:100%; text-align:center; }

/* FAQ w karcie (blok Szczegóły) */
.ajnz-buy .ajnz-faq .ajnz-plan__name{ color:var(--blue); margin-bottom:1.2rem; }
.ajnz-buy .ajnz-acc{ border-top:1px solid #F0EAD8; padding:1rem 0 0; }
.ajnz-buy .ajnz-acc:first-of-type{ border-top:0; padding-top:0; }
.ajnz-buy .ajnz-acc summary{
  list-style:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  font-size:.82rem; font-weight:600; color:var(--blue);
  padding-bottom:.7rem;
}
.ajnz-buy .ajnz-acc summary::-webkit-details-marker{ display:none; }
.ajnz-buy .ajnz-acc summary::after{ content:"+"; color:var(--yellow); font-size:1rem; }
.ajnz-buy .ajnz-acc[open] summary::after{ content:"–"; }
.ajnz-buy .ajnz-acc p{ font-size:.76rem; line-height:1.7; color:var(--text); margin:0 0 .9rem; }

/* --- Responsywność --- */
@media (max-width:1024px){
  .ajnz-book, .ajnz-home .ajnz-band__cols{ gap:2rem; }
  .ajnz-note-dark{ right:0; width:min(240px,70%); }
}
@media (max-width:781px){
  .ajnz-home .ajnz-section,
  .ajnz-leadmagnet,
  .ajnz-home .ajnz-band{ padding:2.5rem 1.25rem; }
  .ajnz-leadmagnet .ajnz-panel,
  .ajnz-buy .ajnz-cta{ padding:1.6rem; }
  .ajnz-inline-form{ flex-direction:column; }
  .ajnz-submit{ justify-content:center; }
  .ajnz-note-dark{ position:static; width:100%; margin-top:1rem; }
  .ajnz-collage__thumb{ position:static; width:100%; margin-top:1rem; }
  .ajnz-plan{ margin-bottom:1rem; }
}


/* ===== 8. HERO FULL-BLEED ===== */
/* --- Hero na całą szerokość, wsuwa się pod header --- */
.ajnz-hero-cover{
  min-height: 92vh;
  padding: 0 1.5rem;
  /* wciąga sekcję pod przezroczystą nawigację */
  margin-top: calc(-1 * var(--ajnz-header-h, 90px));
  align-items: center;
}
.ajnz-hero-cover .wp-block-cover__image-background{
  object-position: center 40%;   /* dopasuj kadr: 0% = góra, 100% = dół */
}

/* Delikatne przyciemnienie TYLKO po lewej — tekst czytelny,
   a zachód słońca po prawej zostaje nietknięty */
.ajnz-hero-cover::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(60,30,10,.35) 0%, rgba(60,30,10,0) 55%);
  pointer-events:none;
  z-index:0;
}
/* Miękkie przejście w biel przy dolnej krawędzi */
.ajnz-hero-cover .wp-block-cover__inner-container{ position:relative; z-index:1; }
.ajnz-hero-cover::before{
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:120px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 100%);
  z-index:0;
}

/* Blok z treścią — dosunięty do prawej, jak na projekcie */
.ajnz-hero-cover__box{
  max-width: 560px;
  margin-left: auto;   /* usuń tę linię, jeśli tekst ma być po lewej */
  padding-top: var(--ajnz-header-h, 90px); /* żeby nie wchodził pod menu */
}
.ajnz-hero-cover .ajnz-h1--white{
  color:#fff;
  margin: 0 0 1rem;
  text-shadow: 0 2px 28px rgba(70,35,5,.45);
}
.ajnz-hero-cover .ajnz-lead--white{
  color: rgba(255,255,255,.94);
  text-shadow: 0 1px 14px rgba(70,35,5,.35);
  max-width: 46ch;
  margin-bottom: 2rem;
}
.ajnz-btn--glass .wp-block-button__link{
  background: rgba(255,255,255,.92);
  color: var(--ink);
  border: 0;
  backdrop-filter: blur(6px);
}

/* --- Wysokość nagłówka: dopasuj do swojego motywu --- */
:root{ --ajnz-header-h: 90px; }
@media (max-width: 781px){
  :root{ --ajnz-header-h: 70px; }
  .ajnz-hero-cover{ min-height: 78vh; padding: 0 1.25rem; }
  .ajnz-hero-cover__box{ margin-left: 0; max-width: none; }
  .ajnz-hero-cover .ajnz-h1--white{ font-size: 2.2rem; }
  .ajnz-hero-cover::after{
    background: linear-gradient(180deg, rgba(60,30,10,.15) 0%, rgba(60,30,10,.45) 100%);
  }
}

.ajnz-hero-cover{
  /* klasyczny trik full-bleed: wyjście poza rodzica na całą szerokość okna */
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* nadpisuje ewentualne ograniczenia z theme.json / motywu */
  padding-left: 0;
  padding-right: 0;
}

/* Rodzice nie mogą przycinać ani centrować dziecka */
.ajnz-page{ overflow-x: clip; }          /* clip, NIE hidden — hidden psuje sticky */
.ajnz-page > .wp-block-cover.alignfull{ max-width: none; }

/* Kadence/theme.json czasem wymusza szerokość na .alignfull */
.ajnz-hero-cover.alignfull,
.entry-content > .ajnz-hero-cover{
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Treść w środku wraca do siatki 1200px i zachowuje odstęp od nawigacji */
.ajnz-hero-cover > .wp-block-cover__inner-container{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Zdjęcie ma wypełnić cały kadr */
.ajnz-hero-cover .wp-block-cover__image-background{
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* UWAGA: 100vw nie uwzględnia paska przewijania — na Windows może dać
   poziomy scroll o ~15px. Dlatego wyżej jest overflow-x: clip.
   Alternatywa bez tego problemu (wymaga wsparcia przeglądarki):
   width: 100dvw;  albo  width: calc(100vw - (100vw - 100%));
*/

/* ===== 9. HOOKI BEZ WŁASNYCH REGUŁ =====
   Klasy pomocnicze — zostawione celowo jako punkty zaczepienia
   dla przyszłych zmian (mają styl tylko przez elementy potomne). */
.ajnz-about{}   /* sekcja "Poznaj mnie" — styl niosą .ajnz-about__intro i .ajnz-grid-4 */
.ajnz-side{}    /* kolumna boczna na Kontakcie — styl niosą .ajnz-panel--sm */

/* ===== 10. KOMUNIKATY FORMULARZY ===== */
.ajnz-lead-notice{
  margin-top:1rem;
  padding:.9rem 1.2rem;
  border-radius:10px;
  font-size:.82rem;
  font-weight:600;
}
.ajnz-lead-notice--ok{    background:rgba(23,162,162,.12); color:var(--blue-dark); }
.ajnz-lead-notice--error{ background:rgba(214,90,60,.10);  color:#B4442B; }


/* =====================================================================
   11. NAGŁÓWEK, STOPKA, SZABLONY FSE
   ===================================================================== */

/* --- Nagłówek --- */
.ajnz-header{
  position: relative;
  z-index: 20;
  background: #fff;
}
.ajnz-header .ajnz-logo a{
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ink);
  text-decoration: none;
}
.ajnz-nav a{
  color: var(--ink);
  text-decoration: none;
  font-size: .88rem;
}
.ajnz-nav a:hover{ color: var(--blue); }
.ajnz-nav .wp-block-navigation__container{ gap: 1.4rem; }

/* Wariant przezroczysty — leży NA zdjęciu hero */
.ajnz-header--transparent{
  position: absolute;
  top: 0; left: 0; right: 0;
  background: transparent;
}
.ajnz-header--transparent .ajnz-logo a,
.ajnz-header--transparent .ajnz-nav a{
  color: #fff;
  text-shadow: 0 1px 12px rgba(60,30,10,.45);
}
.ajnz-header--transparent .ajnz-nav a:hover{ color: var(--yellow); }
/* Mobilne menu po otwarciu wraca na białe tło */
.ajnz-header--transparent .wp-block-navigation__responsive-container.is-menu-open a{
  color: var(--ink);
  text-shadow: none;
}

/* Główna treść: bez marginesu góra (hero dotyka nagłówka) */
.ajnz-main--flush{ margin-top: 0; padding-top: 0; }

/* --- Stopka --- */
.ajnz-footer{
  background: var(--blue);
  color: #fff;
  padding: 5rem 1.5rem 1.5rem;
  margin-top: 0;
}
.ajnz-footer__cols{ gap: 2rem; }
.ajnz-footer__logo{
  color: #fff;
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  line-height: 1.25;
  margin: 0 0 1.8rem;
}
.ajnz-footer__dot{
  position: relative;
  display: inline-block;
  color: #fff;
}
.ajnz-footer__dot::before{
  content:"";
  position:absolute; z-index:-1;
  left:50%; top:50%;
  width:42px; height:42px;
  transform:translate(-50%,-50%);
  background: var(--yellow);
  border-radius:50%;
}
.ajnz-footer__nav{
  border-left: 1px solid rgba(255,255,255,.18);
  padding-left: 1.8rem;
}
.ajnz-footer__label{
  font-size: .78rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 1rem;
}
.ajnz-footer__list{
  list-style: none;
  padding: 0;
  margin: 0;
}
.ajnz-footer__list li{ margin-bottom: .7rem; }
.ajnz-footer__list a{
  color: rgba(255,255,255,.82);
  text-decoration: none;
  font-size: .82rem;
}
.ajnz-footer__list a:hover{ color: var(--yellow); }

.ajnz-social{ gap: .4rem; }
.ajnz-social .wp-social-link{ background: none; }

.ajnz-footer__bar{
  border-top: 1px solid rgba(255,255,255,.18);
  margin-top: 3rem;
  padding-top: 1.4rem;
  align-items: center;
}
.ajnz-footer__copy,
.ajnz-footer__top{
  font-size: .75rem;
  color: rgba(255,255,255,.75);
  margin: 0;
}
.ajnz-footer__top a{ color: #fff; text-decoration: none; }
.ajnz-footer__top a:hover{ color: var(--yellow); }

/* --- Wpis / archiwum --- */
.ajnz-article__img img{ border-radius: var(--radius); margin: 1.5rem 0; }
.ajnz-pagination{ margin-top: 3rem; justify-content: center; gap: .6rem; }
.ajnz-pagination a,
.ajnz-pagination .current{
  color: var(--blue);
  text-decoration: none;
  font-size: .85rem;
  font-weight: 600;
}
.ajnz-search .wp-block-search__button{
  background: var(--yellow);
  color: var(--ink);
  border: 0;
  border-radius: 8px;
  font-weight: 600;
}
.ajnz-search .wp-block-search__input{
  border: 1px solid #DCE6EC;
  border-radius: 8px;
  padding: .8rem 1rem;
}

/* --- Responsywność --- */
@media (max-width: 781px){
  .ajnz-footer{ padding: 3rem 1.25rem 1.25rem; }
  .ajnz-footer__nav{ border-left: 0; padding-left: 0; }
  .ajnz-footer__bar{ gap: .8rem; }
  .ajnz-header--transparent .wp-block-navigation__responsive-container-open{ color:#fff; }
}

/* =====================================================================
   12. STYLE BLOKÓW REJESTROWANE W functions.php
   (dostępne z panelu bloku → Style, bez wpisywania klas ręcznie)
   ===================================================================== */
.wp-block-button.is-style-ajnz-yellow .wp-block-button__link{
  background: var(--yellow); color: var(--ink);
  box-shadow: 0 8px 18px rgba(246,196,69,.35);
}
.wp-block-button.is-style-ajnz-ghost .wp-block-button__link{
  background: #fff; color: var(--ink); border: 1px solid #E4E8EE;
}
.wp-block-button.is-style-ajnz-glass .wp-block-button__link{
  background: rgba(255,255,255,.92); color: var(--ink); border: 0;
  backdrop-filter: blur(6px);
}
.wp-block-group.is-style-ajnz-card{
  background: #fff; border: 1px solid #EEF1F5;
  border-radius: var(--radius); padding: 1.8rem 1.5rem;
  box-shadow: var(--shadow);
}
.wp-block-group.is-style-ajnz-card-dark{
  background: var(--ink); color: #fff;
  border-radius: var(--radius); padding: 1.4rem 1.5rem;
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.wp-block-group.is-style-ajnz-card-dark :is(h2,h3,h4){ color:#fff; }

/* ===== 13. HOOKI I KLASY DODAWANE DYNAMICZNIE ===== */
/* .ajnz-lead-notice*  — wstrzykiwane przez JS po wysłaniu formularza (sekcja 10)
   .is-style-ajnz-*    — dodawane przez edytor po wybraniu stylu bloku (sekcja 12)
   Poniższe mają reguły minimalne — służą jako punkty zaczepienia.        */
.ajnz-site-header{ position: relative; z-index: 20; }
.ajnz-article{ padding-top: 3rem; }
.ajnz-article p{ font-size: .95rem; line-height: 1.8; }

/* =====================================================================
   14. STRONA GŁÓWNA v2 — sekcje alignfull
   Każda sekcja niesie tło na pełną szerokość; treść wewnątrz trzyma
   layout "constrained" (1200 px) z theme.json. Zero wyłamywania na 100vw.
   ===================================================================== */

.ajnz-sec{
  padding-block: 6rem;
  padding-inline: 1.5rem;
}
.ajnz-sec > *{ margin-inline: auto; }

/* Warianty tła — odpowiadają makiecie */
.ajnz-sec--white{
  background: #fff;
}
.ajnz-sec--leadmagnet{
  background: linear-gradient(180deg, #fff 0%, var(--cream-soft) 40%, #EAF4F8 100%);
  padding-block: 5rem;
}
.ajnz-sec--band{
  background: linear-gradient(110deg, var(--teal) 0%, var(--blue) 45%, var(--blue-dark) 100%);
  padding-block: 5rem;
}
.ajnz-sec--buy{
  background: linear-gradient(180deg, #fff 0%, var(--cream-soft) 25%, var(--cream-soft) 100%);
}

/* Panel "Darmowy rozdział" */
.ajnz-sec--leadmagnet .ajnz-panel{
  background: #fff;
  border-radius: 20px;
  padding: 2.8rem;
  box-shadow: 0 18px 45px rgba(120,110,70,.10);
}

/* Pas o autorce */
.ajnz-sec--band .ajnz-band__cols{ gap: 3rem; align-items: center; }
.ajnz-sec--band .ajnz-glass{ margin-bottom: 2.5rem; }

/* Sekcja sprzedaży */
.ajnz-sec--buy .ajnz-cta{
  background: linear-gradient(120deg, var(--teal) 0%, var(--blue) 65%);
  border-radius: 20px;
  padding: 2.8rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 24px 55px rgba(14,127,166,.28);
}
.ajnz-sec--buy .ajnz-cta .wp-block-buttons{ gap: .75rem; flex-wrap: wrap; }

/* Opinie */
.ajnz-reviews{ text-align: center; }
.ajnz-reviews .ajnz-h2{ margin-bottom: 3rem; }
.ajnz-reviews .ajnz-grid-3{ text-align: left; }

@media (max-width: 781px){
  .ajnz-sec{ padding-block: 3rem; padding-inline: 1.25rem; }
  .ajnz-sec--leadmagnet .ajnz-panel,
  .ajnz-sec--buy .ajnz-cta{ padding: 1.6rem; }
  .ajnz-sec--band .ajnz-band__cols{ gap: 2rem; }
}

/* =====================================================================
   15. STRONY "BOXED" — koszyk, kategoria bloga, kategoria sklepu
   Celowo WĄSKIE: brak sekcji alignfull, treść w siatce 1200 px
   na jasnym tle. To strony użytkowe, nie marketingowe.
   ===================================================================== */

.ajnz-boxed{
  background: linear-gradient(180deg, var(--cream-soft) 0%, #fff 320px);
  min-height: 60vh;
}
.ajnz-boxed .ajnz-sec{ padding-block: 4rem; }
.ajnz-boxed .ajnz-h2{ margin-bottom: 1rem; }

/* Siatka wpisów w archiwum */
.ajnz-archive{ margin-top: 3rem; }
.ajnz-tile__img img{ border-radius: 10px; margin-bottom: 1rem; }
.ajnz-tile__meta{
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text);
  margin: 0 0 .5rem;
}
.ajnz-archive .ajnz-tile__title a{
  color: var(--blue);
  text-decoration: none;
}
.ajnz-archive .ajnz-tile__title a:hover{ text-decoration: underline; }

/* --- WooCommerce: koszyk, kasa, kategorie sklepu --- */
.ajnz-shop .woocommerce{ font-size: .9rem; }

.ajnz-shop .woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 2.5rem 0 0;
}
.ajnz-shop .woocommerce ul.products::before,
.ajnz-shop .woocommerce ul.products::after{ display: none; }
.ajnz-shop .woocommerce ul.products li.product{
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  background: #fff;
  border: 1px solid #EFEADB;
  border-radius: var(--radius);
  padding: 1.2rem;
  box-shadow: 0 10px 28px rgba(120,110,70,.08);
}
.ajnz-shop .woocommerce ul.products li.product img{ border-radius: 10px; }
.ajnz-shop .woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size: 1rem;
  color: var(--blue);
  padding: .8rem 0 .3rem;
}
.ajnz-shop .woocommerce .price{ color: var(--ink); font-weight: 700; }

/* Przyciski Woo w kolorach motywu */
.ajnz-shop .woocommerce a.button,
.ajnz-shop .woocommerce button.button,
.ajnz-shop .woocommerce input.button,
.ajnz-shop .woocommerce a.button.alt,
.ajnz-shop .woocommerce button.button.alt{
  background: var(--yellow);
  color: var(--ink);
  border-radius: 8px;
  padding: .85em 1.5em;
  font-weight: 600;
  font-size: .82rem;
  box-shadow: 0 8px 18px rgba(246,196,69,.32);
}
.ajnz-shop .woocommerce a.button:hover,
.ajnz-shop .woocommerce button.button:hover,
.ajnz-shop .woocommerce button.button.alt:hover{
  background: #E8B32F;
  color: var(--ink);
}

/* Tabela koszyka */
.ajnz-shop .woocommerce table.shop_table{
  border: 1px solid #EFEADB;
  border-radius: var(--radius);
  border-collapse: separate;
  background: #fff;
  overflow: hidden;
}
.ajnz-shop .woocommerce table.shop_table th{
  background: var(--cream);
  color: var(--ink);
  font-size: .78rem;
  letter-spacing: .04em;
}
.ajnz-shop .woocommerce .cart_totals h2,
.ajnz-shop .woocommerce-checkout h3{
  color: var(--blue);
  font-size: 1.15rem;
}
.ajnz-shop .woocommerce .woocommerce-info,
.ajnz-shop .woocommerce .woocommerce-message{
  border-top-color: var(--blue);
  background: #fff;
  border-radius: 10px;
}
.ajnz-shop .woocommerce .woocommerce-info::before,
.ajnz-shop .woocommerce .woocommerce-message::before{ color: var(--blue); }

/* Pola formularzy Woo */
.ajnz-shop .woocommerce form .form-row input.input-text,
.ajnz-shop .woocommerce form .form-row textarea,
.ajnz-shop .woocommerce .select2-container .select2-selection{
  border: 1px solid #DCE6EC;
  border-radius: 8px;
  padding: .8rem 1rem;
  font-size: .85rem;
}

@media (max-width: 1024px){
  .ajnz-shop .woocommerce ul.products{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
  .ajnz-shop .woocommerce ul.products{ grid-template-columns: 1fr; }
  .ajnz-boxed .ajnz-sec{ padding-block: 2.5rem; }
}

/* =====================================================================
   16. STRONA PRODUKTU (WooCommerce single-product)
   Wąska, boxed. Galeria po lewej, dane zakupu po prawej.
   ===================================================================== */

.ajnz-product .woocommerce div.product{
  display: grid;
  grid-template-columns: 46% 1fr;
  gap: 3rem;
  align-items: start;
}
.ajnz-product .woocommerce div.product .woocommerce-product-gallery{
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.ajnz-product .woocommerce div.product .woocommerce-product-gallery__image img{
  border-radius: var(--radius);
  box-shadow: 0 20px 45px rgba(0,0,0,.14);
}
.ajnz-product .woocommerce div.product .summary{
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

/* Nagłówek i cena */
.ajnz-product .woocommerce div.product .product_title{
  font-size: clamp(1.7rem, 2.6vw, 2.3rem);
  line-height: 1.2;
  color: var(--blue);
  margin: 0 0 1rem;
}
.ajnz-product .woocommerce div.product p.price,
.ajnz-product .woocommerce div.product span.price{
  font-size: 2rem;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 1.2rem;
}
.ajnz-product .woocommerce div.product p.price del{
  color: var(--text);
  font-weight: 400;
  font-size: 1.1rem;
}
.ajnz-product .woocommerce div.product .woocommerce-product-details__short-description{
  font-size: .88rem;
  line-height: 1.75;
  color: var(--text);
  margin-bottom: 1.8rem;
}

/* Formularz "Dodaj do koszyka" */
.ajnz-product .woocommerce div.product form.cart{
  display: flex;
  gap: .75rem;
  align-items: stretch;
  margin-bottom: 1.8rem;
}
.ajnz-product .woocommerce .quantity input.qty{
  width: 72px;
  height: 100%;
  border: 1px solid #DCE6EC;
  border-radius: 8px;
  padding: .8rem;
  text-align: center;
  font-size: .9rem;
}
.ajnz-product .woocommerce div.product form.cart button.button,
.ajnz-product .woocommerce div.product form.cart .single_add_to_cart_button{
  flex: 1;
  background: var(--yellow);
  color: var(--ink);
  border-radius: 8px;
  padding: 1rem 2rem;
  font-weight: 600;
  font-size: .88rem;
  box-shadow: 0 10px 24px rgba(246,196,69,.38);
  transition: transform .18s ease;
}
.ajnz-product .woocommerce div.product form.cart button.button:hover{
  transform: translateY(-2px);
  background: #E8B32F;
}

/* Meta (kategorie, SKU) */
.ajnz-product .woocommerce div.product .product_meta{
  font-size: .76rem;
  color: var(--text);
  border-top: 1px solid #EFEADB;
  padding-top: 1.2rem;
}
.ajnz-product .woocommerce div.product .product_meta a{ color: var(--blue); }

/* Zakładki (Opis, Opinie) — pełna szerokość pod siatką */
.ajnz-product .woocommerce div.product .woocommerce-tabs,
.ajnz-product .woocommerce div.product .related,
.ajnz-product .woocommerce div.product .upsells{
  grid-column: 1 / -1;
  margin-top: 4rem;
}
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  padding: 0;
  margin: 0 0 1.5rem;
  border-bottom: 1px solid #EFEADB;
}
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs::before{ display: none; }
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0 1.5rem 0 0;
  padding: 0;
}
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display: none; }
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  color: var(--text);
  font-weight: 600;
  font-size: .85rem;
  padding: .8rem 0;
  display: block;
}
.ajnz-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color: var(--blue);
  box-shadow: inset 0 -2px 0 var(--yellow);
}
.ajnz-product .woocommerce div.product .woocommerce-tabs .panel h2{
  font-size: 1.2rem;
  color: var(--blue);
}
.ajnz-product .woocommerce div.product .related > h2,
.ajnz-product .woocommerce div.product .upsells > h2{
  font-size: 1.4rem;
  color: var(--blue);
  margin-bottom: 1.5rem;
}

/* Ocena gwiazdkowa w kolorze motywu */
.ajnz-shop .woocommerce .star-rating span::before,
.ajnz-shop .woocommerce p.stars a::before{ color: var(--yellow); }

@media (max-width: 900px){
  .ajnz-product .woocommerce div.product{
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .ajnz-product .woocommerce div.product form.cart{ flex-wrap: wrap; }
}

/* =====================================================================
   17. RESPONSYWNOŚĆ — NAWIGACJA MOBILNA I STOPKA
   ===================================================================== */

/* --- Nagłówek: pasek zawsze w jednej linii --- */
.ajnz-header__inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: nowrap;
}
.ajnz-header .ajnz-logo{ flex-shrink: 0; }

/* --- Hamburger --- */
.ajnz-nav .wp-block-navigation__responsive-container-open{
  display: none;                 /* na desktopie schowany */
  background: none;
  border: 0;
  padding: .4rem;
  cursor: pointer;
  color: var(--ink);
}
.ajnz-nav .wp-block-navigation__responsive-container-open svg{
  width: 28px; height: 28px; fill: currentColor;
}
.ajnz-header--transparent .wp-block-navigation__responsive-container-open{
  color: #fff;
  filter: drop-shadow(0 1px 8px rgba(60,30,10,.5));
}

/* --- Panel po otwarciu --- */
.ajnz-nav .wp-block-navigation__responsive-container.is-menu-open{
  background: #fff;
  padding: 1.5rem;
  z-index: 9999;
}
.ajnz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 3rem;
}
.ajnz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  flex-direction: column;
  align-items: flex-start;
  gap: .4rem;
  width: 100%;
}
.ajnz-nav .wp-block-navigation__responsive-container.is-menu-open a{
  color: var(--ink);
  text-shadow: none;
  font-size: 1.15rem;
  font-weight: 600;
  padding: .7rem 0;
  display: block;
  width: 100%;
  border-bottom: 1px solid #F0EAD8;
}
.ajnz-nav .wp-block-navigation__responsive-container.is-menu-open a:hover{
  color: var(--blue);
}
.ajnz-nav .wp-block-navigation__responsive-container-close{
  color: var(--ink);
  padding: .4rem;
}
.ajnz-nav .wp-block-navigation__responsive-container-close svg{
  width: 28px; height: 28px; fill: currentColor;
}

/* --- Przełącznik: poniżej 782 px chowamy listę, pokazujemy hamburger --- */
@media (max-width: 781px){
  .ajnz-nav .wp-block-navigation__responsive-container-open{
    display: flex;
    align-items: center;
  }
  /* Lista pozioma znika — zostaje tylko w panelu overlay */
  .ajnz-nav .wp-block-navigation__responsive-container:not(.is-menu-open){
    display: none;
  }
  .ajnz-header{ padding-block: .75rem; }
  .ajnz-header .ajnz-logo a{ font-size: 1rem; }
}

/* =====================================================================
   STOPKA NA MOBILE
   ===================================================================== */
@media (max-width: 781px){
  .ajnz-footer{
    padding: 3rem 1.5rem 1.5rem;
  }
  /* Kolumny jedna pod drugą, z oddechem */
  .ajnz-footer__cols{
    flex-direction: column;
    gap: 2.5rem;
  }
  .ajnz-footer__cols > .wp-block-column{
    flex-basis: 100% !important;
    width: 100%;
  }

  .ajnz-footer__logo{
    font-size: 1.7rem;
    margin-bottom: 1.4rem;
  }
  .ajnz-footer__dot::before{ width: 34px; height: 34px; }

  /* Zamiast pionowej kreski — pozioma linia nad każdą grupą linków */
  .ajnz-footer__nav{
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid rgba(255,255,255,.18);
    padding-top: 1.6rem;
  }
  .ajnz-footer__label{ margin-bottom: .9rem; }
  .ajnz-footer__list li{ margin-bottom: .9rem; }
  .ajnz-footer__list a{ font-size: .88rem; }   /* większy cel dotyku */

  .ajnz-social{ margin-top: 1.5rem; }
  .ajnz-social .wp-social-link{ padding: .3rem; }

  /* Pasek dolny: dwie linie, wyśrodkowany */
  .ajnz-footer__bar{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .8rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
  }
  .ajnz-footer__copy{ font-size: .72rem; line-height: 1.6; }
}

/* Bardzo wąskie ekrany */
@media (max-width: 400px){
  .ajnz-footer{ padding-inline: 1.25rem; }
  .ajnz-footer__logo{ font-size: 1.5rem; }
}

/* =====================================================================
   18. WYRÓŻNIONA POZYCJA MENU "Twój plan podróży"
   Pozycję oznacza się klasą CSS w edytorze:
   klik w pozycję menu → Zaawansowane → Dodatkowe klasy CSS → ajnz-nav-cta
   ===================================================================== */

.ajnz-nav .wp-block-navigation-item.ajnz-nav-cta{
  border-radius: 8px;
}
.ajnz-nav .wp-block-navigation-item.ajnz-nav-cta > a{
  background: var(--teal);
  color: #fff !important;
  padding: .5em 1.1em !important;
  border-radius: 8px;
  font-weight: 700;
  text-shadow: none !important;
  transition: background .18s ease, transform .18s ease;
}
.ajnz-nav .wp-block-navigation-item.ajnz-nav-cta > a:hover{
  background: var(--blue);
  transform: translateY(-1px);
}
/* Na przezroczystym nagłówku (strona główna) przycisk zostaje pełny,
   żeby był czytelny na zdjęciu */
.ajnz-header--transparent .ajnz-nav .wp-block-navigation-item.ajnz-nav-cta > a{
  background: var(--teal);
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(23,162,162,.4);
}
/* W rozwiniętym menu mobilnym przycisk też wyróżniony */
.ajnz-nav .wp-block-navigation__responsive-container.is-menu-open .ajnz-nav-cta > a{
  background: var(--teal);
  color: #fff !important;
  border-bottom: 0;
  border-radius: 8px;
  margin-top: .5rem;
  text-align: center;
}

/* =====================================================================
   19. PODSTRONA "Twój plan podróży"
   ===================================================================== */

.ajnz-h1--ink{ color: var(--ink); }

/* Numer w okienku (styl jak kafelki O mnie) */
.ajnz-tile__num{
  display: grid; place-items: center;
  width: 42px; height: 42px;
  background: var(--cream);
  color: var(--blue);
  font-weight: 700; font-size: .85rem;
  border-radius: 10px;
  margin: 0 0 1.2rem;
}

/* Długi tekst — komfortowa szerokość i światło */
.ajnz-longread{ padding-top: 2rem; }
.ajnz-longread p{ font-size: .95rem; line-height: 1.8; color: #2B2B2B; }
.ajnz-longread h3{ margin-top: 2rem; }

/* Tabela planu */
.ajnz-plan-table{ margin: 2.5rem 0 2.2rem; }
.ajnz-plan-table table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid #EFEADB;
  border-radius: var(--radius);
  overflow: hidden;
}
.ajnz-plan-table thead th{
  background: var(--blue);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  text-align: left;
  padding: 1rem 1.2rem;
  border: 0;
}
.ajnz-plan-table tbody td{
  font-size: .85rem;
  color: #2B2B2B;
  padding: 1rem 1.2rem;
  border: 0;
  border-top: 1px solid #F0EAD8;
}
.ajnz-plan-table tbody tr:nth-child(odd) td{ background: #FCFBF6; }
.ajnz-plan-table tbody td:first-child{ font-weight: 700; color: var(--ink); }
.ajnz-plan-table tbody td:last-child{ color: var(--blue); font-weight: 700; white-space: nowrap; }

.ajnz-planzone .ajnz-btn--yellow .wp-block-button__link{
  letter-spacing: .04em;
  padding: 1.05em 2.4em;
}

@media (max-width: 700px){
  /* Tabela na mobile: przewijana poziomo, żeby się nie łamała */
  .ajnz-plan-table{ overflow-x: auto; }
  .ajnz-plan-table table{ min-width: 520px; }
}
