/* =============================================================================
 * guest-area.css — strefa goscia. Tokeny z design-system.css motywu
 * (--ink, --cream, --amber, --line...). 2026-08-27, wdrozenie projektu.
 * ========================================================================== */

.apm-ga{--ga-radius:14px;font-family:var(--sans);color:var(--ink);}
.apm-ga *,.apm-ga *::before,.apm-ga *::after{box-sizing:border-box}

/* ---------- pasek nawigacji ---------- */
.apm-ga-bar{background:var(--paper);border-bottom:1px solid var(--line);margin-bottom:32px}
.apm-ga-bar__in{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.apm-ga-bar__l{display:flex;align-items:center;gap:28px;min-height:64px}
.apm-ga-bar__t{font-family:var(--display);font-size:22px;letter-spacing:.14em;text-transform:uppercase}
.apm-ga-nav{display:flex;gap:4px;flex-wrap:wrap}
.apm-ga-nav a{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;
  color:var(--ink-2);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s}
.apm-ga-nav a:hover{background:var(--stone);color:var(--ink)}
.apm-ga-nav a.is-on{background:var(--stone);color:var(--ink);font-weight:600}
.apm-ga-nav svg{flex:0 0 auto}
.apm-ga-badge{background:var(--amber);color:#fff;font-size:11px;font-weight:700;min-width:18px;
  height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.apm-ga-bar__r{display:flex;align-items:center;gap:16px;font-size:13px}
.apm-ga-bar__who{color:var(--ink-2)}
.apm-ga-bar__out{background:none;border:0;padding:0;color:var(--ink-2);font-size:13px;
  font-family:var(--sans);cursor:pointer;text-decoration:underline}
.apm-ga-bar__out:hover{color:var(--ink)}

/* ---------- ukryj hero szablonu na stronie profilu ---------- */
.apm-ga-page .blog-hero{display:none}
.apm-ga-page .blog-body{max-width:none;padding:0 0 56px}
.apm-ga-page .blog-content{max-width:none}

/* ---------- naglowki ---------- */
.apm-ga-wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.apm-ga-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:26px}
.apm-ga-h1{font-family:var(--display);font-size:34px;line-height:1.05;margin:0 0 4px;
  text-transform:uppercase;letter-spacing:.02em}
.apm-ga-sub{margin:0;font-size:14px;color:var(--ink-2)}
.apm-ga-h2{font-family:var(--display);font-size:22px;margin:0;text-transform:uppercase;letter-spacing:.06em}
.apm-ga-h3{font-family:var(--display);font-size:19px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.08em}

/* ---------- przyciski ---------- */
.apm-ga-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px 11px;border-radius:999px;background:var(--amber);color:#fff;border:0;cursor:pointer;
  font-family:var(--display);font-size:15px;letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;transition:background .2s}
.apm-ga-btn:hover{background:var(--amber-2);color:#fff}
.apm-ga-btn--dark{background:var(--ink)}.apm-ga-btn--dark:hover{background:#1f1d1c}
.apm-ga-btn--line{background:transparent;border:1px solid var(--line);color:var(--ink);
  font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;padding:11px 20px}
.apm-ga-btn--line:hover{background:var(--stone);color:var(--ink)}
.apm-ga-btn--sm{padding:8px 16px;font-family:var(--sans);font-size:13px;font-weight:600;
  letter-spacing:0;text-transform:none;background:transparent;border:1px solid var(--amber);color:var(--amber)}
.apm-ga-btn--sm:hover{background:var(--amber);color:#fff}

/* ---------- karty ---------- */
.apm-ga-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--ga-radius);padding:24px 26px}
.apm-ga-card+.apm-ga-card{margin-top:20px}
.apm-ga-col{display:flex;flex-direction:column;gap:20px}
.apm-ga-grid2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px;align-items:start}
.apm-ga-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.apm-ga-grid2e{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}

/* ---------- karta najblizszego pobytu ---------- */
.apm-ga-next{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  box-shadow:var(--shadow);margin-bottom:32px;display:flex}
.apm-ga-next__side{width:264px;flex:0 0 264px;background:linear-gradient(180deg,var(--sand) 0%,var(--amber) 100%);
  color:#fff;padding:26px 24px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.apm-ga-next__lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-bottom:8px}
.apm-ga-next__big{font-family:var(--display);font-size:58px;line-height:.9}
.apm-ga-next__unit{font-family:var(--display);font-size:24px;letter-spacing:.1em;text-transform:uppercase}
.apm-ga-next__when{font-size:13px;line-height:1.55;opacity:.95}
.apm-ga-next__body{flex:1;padding:26px 30px;min-width:0}
.apm-ga-next__title{font-family:var(--display);font-size:28px;margin:0 0 6px;text-transform:uppercase}

/* ---------- kafelki faktow ---------- */
.apm-ga-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.apm-ga-fact{background:var(--cream);border-radius:10px;padding:13px 15px}
.apm-ga-fact__k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.apm-ga-fact__v{font-size:16px;font-weight:600}
.apm-ga-fact__x{font-size:13px;color:var(--ink-2)}

/* ---------- lista rezerwacji ---------- */
.apm-ga-list{display:flex;flex-direction:column;gap:12px;margin-bottom:34px}
.apm-ga-item{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 22px;
  display:flex;align-items:center;gap:20px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.apm-ga-item:hover{border-color:var(--amber-light);color:inherit;transform:translateY(-1px)}
.apm-ga-item--off{opacity:.6}
.apm-ga-date{width:52px;height:52px;flex:0 0 52px;border-radius:10px;background:var(--stone);
  display:flex;flex-direction:column;align-items:center;justify-content:center}
.apm-ga-date__d{font-family:var(--display);font-size:22px;line-height:1}
.apm-ga-date__m{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.apm-ga-item__b{flex:1;min-width:0}
.apm-ga-item__t{font-size:16px;font-weight:600;margin-bottom:3px}
.apm-ga-item__s{font-size:13px;color:var(--ink-2)}
.apm-ga-item__p{text-align:right;white-space:nowrap}
.apm-ga-item__p b{display:block;font-size:16px}
.apm-ga-item__p span{font-size:12px;color:var(--ink-2)}

/* ---------- statusy ---------- */
.apm-ga-tag{font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;white-space:nowrap}
.apm-ga-tag--ok{background:#EEF6EE;color:#2e7d32}
.apm-ga-tag--pay{background:#FFF6E6;color:var(--amber-2)}
.apm-ga-tag--off{background:var(--stone);color:var(--ink-2)}

/* ---------- wiersze danych ---------- */
.apm-ga-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:11px 0;border-bottom:1px solid var(--stone);font-size:14px}
.apm-ga-row:last-child{border-bottom:0}
.apm-ga-row__k{color:var(--ink-2)}
.apm-ga-row__v{font-weight:600;text-align:right}
.apm-ga-sum{display:flex;justify-content:space-between;padding-top:14px;font-size:17px;font-weight:700}

/* ---------- dodatki ---------- */
.apm-ga-ups{display:flex;flex-direction:column;gap:10px}
.apm-ga-up{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;flex-wrap:wrap}
.apm-ga-up__b{flex:1;min-width:160px}
.apm-ga-up__t{font-size:14px;font-weight:600}
.apm-ga-up__d{font-size:12px;color:var(--ink-2)}
.apm-ga-up__p{font-size:14px;font-weight:600;white-space:nowrap}

/* ---------- akcje boczne ---------- */
.apm-ga-acts{display:flex;flex-direction:column;gap:9px}
.apm-ga-act{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;
  background:var(--cream);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;
  border:0;width:100%;text-align:left;font-family:var(--sans);cursor:pointer;transition:background .15s}
.apm-ga-act:hover{background:var(--stone);color:var(--ink)}
.apm-ga-note{font-size:13px;color:var(--ink-2);line-height:1.6}
.apm-ga-sep{margin-top:18px;padding-top:18px;border-top:1px solid var(--stone)}

/* ---------- wiadomosci ---------- */
.apm-ga-chat{display:flex;flex-direction:column;gap:14px;padding:4px 0 20px}
.apm-ga-msg{max-width:80%}
.apm-ga-msg--me{align-self:flex-end}
.apm-ga-msg--them{align-self:flex-start}
.apm-ga-bub{border-radius:14px;padding:13px 17px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.apm-ga-msg--me .apm-ga-bub{background:var(--amber);color:#fff;border-bottom-right-radius:4px}
.apm-ga-msg--them .apm-ga-bub{background:var(--stone);border-bottom-left-radius:4px}
.apm-ga-msg--sys .apm-ga-bub{background:#FFF6E6;color:var(--amber-2);font-size:13px}
.apm-ga-meta{font-size:11px;color:var(--ink-2);margin-top:5px}
.apm-ga-msg--me .apm-ga-meta{text-align:right}
.apm-ga-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.apm-ga-ta{flex:1;min-width:220px;border:1px solid var(--line);border-radius:12px;padding:12px 15px;
  font-family:var(--sans);font-size:14px;resize:vertical;min-height:52px;background:var(--paper);color:var(--ink)}
.apm-ga-ta:focus{outline:2px solid var(--amber-light);outline-offset:-1px}

/* ---------- formularze ---------- */
.apm-ga-field{margin-bottom:16px}
.apm-ga-lbl{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:7px}
.apm-ga-inp{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 15px;
  font-family:var(--sans);font-size:14px;background:var(--paper);color:var(--ink)}
.apm-ga-inp:focus{outline:2px solid var(--amber-light);outline-offset:-1px}
.apm-ga-inp[readonly]{background:var(--cream);color:var(--ink-2)}
.apm-ga-check{display:flex;gap:12px;align-items:flex-start;padding:13px 0;font-size:14px;line-height:1.5;cursor:pointer}
.apm-ga-check+.apm-ga-check{border-top:1px solid var(--stone)}
.apm-ga-check input{margin:2px 0 0;width:17px;height:17px;accent-color:var(--amber);flex:0 0 auto}
.apm-ga-check small{display:block;font-size:12px;color:var(--ink-2);margin-top:2px}

/* ---------- program stalego goscia ---------- */
.apm-ga-loyal{background:linear-gradient(180deg,var(--sand) 0%,var(--amber) 100%);border-radius:var(--ga-radius);
  padding:24px 26px;color:#fff}
.apm-ga-loyal__n{font-family:var(--display);font-size:40px;line-height:1;margin-bottom:6px}
.apm-ga-loyal__p{margin:0 0 16px;font-size:13px;line-height:1.6;opacity:.92}
.apm-ga-bar2{height:6px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden}
.apm-ga-bar2 i{display:block;height:100%;background:#fff}

/* ---------- skroty ---------- */
.apm-ga-tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;
  display:block;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.apm-ga-tile:hover{border-color:var(--amber-light);color:inherit;transform:translateY(-1px)}
.apm-ga-tile svg{margin-bottom:11px}
.apm-ga-tile__t{font-size:15px;font-weight:600;margin-bottom:4px}
.apm-ga-tile__d{font-size:13px;color:var(--ink-2);line-height:1.5}

/* ---------- komunikaty ---------- */
.apm-ga-msgbox{border-radius:10px;padding:12px 16px;margin-bottom:18px;font-size:14px;line-height:1.5}
.apm-ga-msgbox--err{background:#FDECEA;border:1px solid #E0A9A2;color:#8a2f26}
.apm-ga-msgbox--ok{background:#EAF7EC;border:1px solid #9FCEA6;color:#2b6b33}

/* ---------- logowanie ---------- */
.apm-ga-auth{max-width:420px;margin:0 auto;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--ga-radius);padding:32px}
.apm-ga-auth .apm-ga-btn{width:100%}
.apm-ga-auth__alt{text-align:center;margin:16px 0 0;font-size:13px}
.apm-ga-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);
  text-decoration:none;margin-bottom:16px}
.apm-ga-back:hover{color:var(--ink)}
.apm-ga-empty{text-align:center;padding:36px 20px;color:var(--ink-2);font-size:14px}

/* ---------- responsywnosc ---------- */
@media (max-width:920px){
  .apm-ga-grid2{grid-template-columns:minmax(0,1fr)}
  .apm-ga-next{flex-direction:column}
  .apm-ga-next__side{width:auto;flex:0 0 auto;flex-direction:row;align-items:flex-end;justify-content:space-between}
  .apm-ga-next__big{font-size:44px}
  .apm-ga-grid3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:680px){
  .apm-ga-bar__in{padding:10px 18px}
  .apm-ga-bar__l{flex-direction:column;align-items:flex-start;gap:10px;min-height:0;width:100%}
  .apm-ga-nav{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .apm-ga-nav a{white-space:nowrap;padding:9px 14px}
  .apm-ga-wrap{padding:0 18px}
  .apm-ga-h1{font-size:28px}
  .apm-ga-facts,.apm-ga-grid2e{grid-template-columns:minmax(0,1fr)}
  .apm-ga-next__body{padding:22px}
  .apm-ga-card{padding:20px}
  .apm-ga-item{flex-wrap:wrap;gap:12px}
  .apm-ga-item__p{text-align:left}
  .apm-ga-msg{max-width:92%}
}

/* Wiadomosci: lista watkow w WASKIEJ kolumnie, rozmowa w szerokiej. */
.apm-ga-grid2--msg{grid-template-columns:minmax(0,300px) minmax(0,1fr)}
@media (max-width:920px){ .apm-ga-grid2--msg{grid-template-columns:minmax(0,1fr)} }

/* =============================================================================
 * 2026-08-27 (uwagi Mateusza po pierwszym wdrozeniu).
 * Przyczyna wszystkich piecu uwag: strefa goscia renderuje sie WEWNATRZ
 * .blog-content, a typografia motywu ma wyzsza specyficznosc (0,1,1) niz moje
 * klasy (0,1,0) i je nadpisywala:
 *   .blog-content a  -> bralo kolor --amber-2 i podkreslenie => BRAZOWY NAPIS
 *                       NA BRAZOWYM TLE przycisku,
 *   .blog-content p  -> margin 0 0 1.5em,
 *   .blog-content h3 -> margin 1.6em 0 .5em, line-height 1.82
 *                       => karty rozciagniete w pionie.
 * Rozwiazanie: te same reguly z prefiksem .apm-ga (0,2,x), bez !important.
 * ========================================================================== */

.apm-ga p{margin:0}
.apm-ga h1,.apm-ga h2,.apm-ga h3,.apm-ga h4{margin:0;line-height:1.1}
.apm-ga .apm-ga-h1{font-family:var(--display);font-size:34px;line-height:1.05;margin:0 0 4px;
  text-transform:uppercase;letter-spacing:.02em}
.apm-ga .apm-ga-h2{font-family:var(--display);font-size:22px;margin:0;text-transform:uppercase;letter-spacing:.06em}
.apm-ga .apm-ga-h3{font-family:var(--display);font-size:19px;margin:0 0 14px;text-transform:uppercase;
  letter-spacing:.08em;line-height:1.15}
.apm-ga,.apm-ga .apm-ga-note,.apm-ga .apm-ga-sub{line-height:1.55}

/* linki: kolor i podkreslenie ustawiamy sami, inaczej wygrywa .blog-content a */
.apm-ga a{text-decoration:none}
.apm-ga a:hover{text-decoration:none}
.apm-ga .apm-ga-btn{color:#fff;text-decoration:none}
.apm-ga .apm-ga-btn:hover{color:#fff;text-decoration:none}
.apm-ga .apm-ga-btn--line{color:var(--ink)}
.apm-ga .apm-ga-btn--line:hover{color:var(--ink)}
.apm-ga .apm-ga-btn--sm{color:var(--amber)}
.apm-ga .apm-ga-btn--sm:hover{color:#fff}
.apm-ga .apm-ga-item,.apm-ga .apm-ga-item:hover,
.apm-ga .apm-ga-tile,.apm-ga .apm-ga-tile:hover,
.apm-ga .apm-ga-act,.apm-ga .apm-ga-act:hover{color:var(--ink);text-decoration:none}
.apm-ga .apm-ga-nav a{text-decoration:none}
.apm-ga .apm-ga-back{color:var(--ink-2);text-decoration:none}
.apm-ga .apm-ga-back:hover{color:var(--ink)}
.apm-ga .apm-ga-auth__alt a,.apm-ga .apm-ga-note a{color:var(--amber-2);text-decoration:underline}

/* pozycje listy: spany musza byc blokowe, inaczej tytul skleja sie z data */
.apm-ga .apm-ga-item__t,.apm-ga .apm-ga-item__s{display:block}
.apm-ga .apm-ga-item__b{display:block}
.apm-ga .apm-ga-date{display:flex}
.apm-ga .apm-ga-item__p{display:block}
.apm-ga .apm-ga-item__p b,.apm-ga .apm-ga-item__p span{display:block;line-height:1.35}

/* karta najblizszego pobytu: nizsza, odliczanie w JEDNEJ linii */
.apm-ga .apm-ga-next__side{padding:20px 22px;gap:14px}
.apm-ga .apm-ga-next__count{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.apm-ga .apm-ga-next__big{font-family:var(--display);font-size:46px;line-height:.95}
.apm-ga .apm-ga-next__unit{font-family:var(--display);font-size:22px;letter-spacing:.1em;
  text-transform:uppercase;line-height:1}
.apm-ga .apm-ga-next__body{padding:20px 26px}
.apm-ga .apm-ga-next__title{font-family:var(--display);font-size:26px;margin:0 0 4px;
  text-transform:uppercase;line-height:1.05}
.apm-ga .apm-ga-facts{margin:14px 0}
.apm-ga .apm-ga-fact{padding:11px 13px}
.apm-ga .apm-ga-next .apm-ga-head{margin-bottom:0}

/* karty ogolnie: bez rozdecia od typografii motywu */
.apm-ga .apm-ga-card{padding:22px 24px}
.apm-ga .apm-ga-card .apm-ga-btn{margin-top:2px}

/* wazne informacje (tresci z maila potwierdzajacego) */
.apm-ga-info{display:flex;flex-direction:column;gap:0}
.apm-ga-info__r{display:grid;grid-template-columns:minmax(140px,32%) minmax(0,1fr);gap:16px;
  padding:11px 0;border-bottom:1px solid var(--stone);font-size:14px;line-height:1.55}
.apm-ga-info__r:last-child{border-bottom:0}
.apm-ga-info__k{color:var(--ink-2);font-weight:600}
@media (max-width:680px){ .apm-ga-info__r{grid-template-columns:minmax(0,1fr);gap:2px} }

/* Lewy panel karty pobytu: tresc u gory, daty dosuniete do dolu bez rozciagania
   calej karty (space-between robil pustke w srodku). */
.apm-ga .apm-ga-next__side{justify-content:flex-start}
.apm-ga .apm-ga-next__when{margin-top:auto}
.apm-ga .apm-ga-next__count{align-items:baseline}

/* Cena dodatku: suma + cena jednostkowa pod spodem ("65,00 zl / os. / dobe"). */
.apm-ga .apm-ga-up__p{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.apm-ga .apm-ga-up__u{font-size:12px;font-weight:400;color:var(--ink-2);white-space:nowrap}

/* Stan platnosci pod suma kosztow */
.apm-ga-pay{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:16px;padding:14px 16px;border-radius:10px;background:#FFF6E6}
.apm-ga-pay--ok{background:#EEF6EE;justify-content:flex-start}
.apm-ga-pay .apm-ga-btn{flex:0 0 auto}
.apm-ga-pay > div{flex:1 1 240px;min-width:0}
.apm-ga .apm-ga-pay__term{margin:8px 0 0;font-size:14px;line-height:1.45;font-weight:600;color:var(--ink)}
