/* Redesign E (2026-10): three equal pillars — AI Nawigator, Czartery, Rejsy —
   with the Navigator as the hero. Loaded after styles.css; overrides the
   shared header/footer and holds the new homepage (.rd-*) and chat pieces.
   Amber is reserved for the AI Navigator; teal marks Czartery and Rejsy. */
:root {
  --ai: #F2B544;
  --ai-dim: rgba(242, 181, 68, .14);
  --ai-text-light: #8A5A00; /* amber as text on light grounds */
  --teal: #5CC8C2;
  --teal-dim: rgba(92, 200, 194, .14);
  --teal-dark: #0B6466;
  --sand: #F5F3EE;
  --ink: #0D1C35;
  --ink-soft: #3B4659;
  --line-light: #E3E0D8;
}

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(8, 15, 29, .92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--white-faint); padding-top: .25rem; padding-bottom: .25rem; }
.site-header-logo img { height: 76px; width: auto; }
.site-nav { align-items: center; gap: .35rem; }
.site-nav a { text-transform: none; letter-spacing: 0; }
.site-nav .nav-pill-ai { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 1rem; border-radius: 999px; background: var(--ai-dim); border: 1px solid rgba(242, 181, 68, .5); color: var(--ai); font-weight: 600; font-size: .95rem; }
.site-nav .nav-pill-ai:hover { background: rgba(242, 181, 68, .22); color: var(--ai); }
.site-nav .nav-pillar { color: var(--white); font-weight: 500; font-size: .95rem; padding: 0 .8rem; }
.site-nav .nav-minor { color: var(--white-dim); font-size: .88rem; padding: 0 .55rem; }
.site-nav .nav-sep { width: 1px; height: 20px; background: rgba(245, 243, 238, .18); margin: 0 .4rem; }
.site-nav .nav-contact { margin-left: .75rem; display: inline-flex; align-items: center; min-height: 40px; padding: 0 1.1rem; border-radius: 999px; background: var(--white); color: var(--ink); font-weight: 600; font-size: .88rem; }
.site-nav .nav-contact:hover { color: var(--ink); background: #fff; }
.site-nav a[aria-current="page"].nav-pillar { text-decoration: underline; text-decoration-color: var(--teal); text-underline-offset: 6px; }
@media (max-width: 900px) {
  .site-header-logo img { height: 48px; }
  .site-nav .nav-sep { display: none; }
  .site-nav .nav-pill-ai { align-self: flex-start; margin: .5rem 0; }
  .site-nav .nav-contact { margin: .75rem 0 .5rem; align-self: flex-start; }
  .site-nav .nav-pillar, .site-nav .nav-minor { padding: .8rem 0; }
}

/* ---------- Footer ---------- */
.site-footer-logo img { height: 88px; }
.site-footer-col-title { color: #B8924A; }

/* ---------- Shared bits ---------- */
.rd-wrap { max-width: 1280px; margin: 0 auto; padding: 0 2rem; width: 100%; }
.rd-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: 0 1.4rem; border-radius: 999px; font: 600 .95rem var(--sans); text-decoration: none; border: 0; cursor: pointer; }
.rd-btn-ai { background: var(--ai); color: var(--ink); }
.rd-btn-ai:hover { background: #FFC75E; color: var(--ink); }
.rd-btn-ink { background: var(--ink); color: var(--white); }
.rd-btn-ink:hover { background: var(--navy-light); color: var(--white); }
.rd-btn-ghost { background: transparent; color: var(--white); border: 1.5px solid rgba(245, 243, 238, .5); }
.rd-eyebrow { font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-dark); margin: 0; }
.rd-dark .rd-eyebrow { color: var(--teal); }
.rd-h2 { margin: 0; font: 600 2.6rem/1.1 var(--serif); }
.rd-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.rd-section-head a { color: var(--teal-dark); font-weight: 600; }
.rd-dark .rd-section-head a { color: var(--teal); }
.rd-light { background: var(--sand); color: var(--ink); }
.rd-white { background: #fff; color: var(--ink); }
.rd-dark { background: var(--navy); color: var(--white); }
.rd-section { padding: 5.5rem 0; }
.rd-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.rd-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 1000px) { .rd-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .rd-wrap { padding: 0 1rem; }
  .rd-grid-3, .rd-grid-4 { grid-template-columns: minmax(0, 1fr); }
  .rd-section { padding: 3.5rem 0; }
  .rd-h2 { font-size: 2rem; }
}

/* ---------- Hero ---------- */
.rd-hero { position: relative; overflow: hidden; }
.rd-hero-bg { position: absolute; inset: 0; }
.rd-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .32; }
.rd-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--navy-deep) 30%, rgba(8, 15, 29, .55) 75%, rgba(8, 15, 29, .35)); }
.rd-hero-main { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 3.5rem; align-items: center; padding-top: 3rem; padding-bottom: 2.5rem; }
.rd-hero-copy { display: flex; flex-direction: column; gap: 1.3rem; }
.rd-badge-ai { align-self: flex-start; display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .9rem; border-radius: 999px; background: var(--ai); color: var(--ink); font-size: .82rem; font-weight: 600; }
.rd-hero h1 { margin: 0; font: 500 3.6rem/1.04 var(--serif); letter-spacing: -.01em; }
.rd-hero-sub { margin: 0; font-size: 1.1rem; line-height: 1.55; color: rgba(245, 243, 238, .8); max-width: 36rem; }
.rd-hero-note { margin: 0; font-size: .82rem; color: rgba(245, 243, 238, .65); }

/* Chat box in the hero: the prompt is the chat's input. */
.rd-chat { display: flex; flex-direction: column; gap: .6rem; background: rgba(13, 28, 53, .9); border: 1px solid rgba(242, 181, 68, .45); border-radius: 20px; padding: .9rem; box-shadow: 0 0 0 6px rgba(242, 181, 68, .06), 0 24px 60px rgba(0, 0, 0, .4); }
.rd-chat #chat-log { display: flex; flex-direction: column; gap: .6rem; max-height: 360px; overflow-y: auto; }
.rd-chat #chat-log:empty { display: none; }
.rd-chat #chat-form { display: flex; gap: .6rem; align-items: center; }
.rd-chat label.rd-chat-label { font-size: .82rem; color: rgba(245, 243, 238, .7); padding: .2rem .35rem 0; }
.rd-chat #chat-input { flex: 1; min-width: 0; height: 52px; border: 0; outline: none; background: transparent; color: var(--white); font: 400 1.05rem var(--sans); padding: 0 .4rem; }
.rd-chat #chat-input::placeholder { color: rgba(245, 243, 238, .5); }
.rd-chat #chat-submit { min-height: 52px; padding: 0 1.4rem; border-radius: 999px; background: var(--ai); color: var(--ink); font: 600 1rem var(--sans); border: 0; cursor: pointer; white-space: nowrap; }
.rd-chat #chat-submit:disabled { opacity: .7; }
.rd-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.rd-chip { min-height: 40px; padding: 0 1rem; border-radius: 999px; border: 1px solid rgba(242, 181, 68, .35); background: rgba(242, 181, 68, .08); color: var(--white); font: 400 .9rem var(--sans); cursor: pointer; text-align: left; }
.rd-chip:hover { background: rgba(242, 181, 68, .18); }

/* Chat bubbles, quick replies and cruise cards (also used on /zaplanuj-rejs/). */
.chat-quick { display: flex; flex-wrap: wrap; gap: .5rem; }
.chat-quick button { min-height: 40px; padding: 0 1rem; border-radius: 999px; border: 1.5px solid rgba(92, 200, 194, .5); background: transparent; color: var(--white); font: 500 .9rem var(--sans); cursor: pointer; }
.chat-quick button:hover { background: var(--teal-dim); }
.chat-quick button[data-soon] { border-style: dashed; color: var(--white-dim); }
.chat-cruises { display: grid; gap: .5rem; }
.chat-cruise { display: grid; gap: .2rem; padding: .8rem 1rem; border-radius: 12px; background: var(--navy-mid); border: 1px solid rgba(92, 200, 194, .35); color: var(--white); text-decoration: none; }
.chat-cruise:hover { border-color: var(--teal); color: var(--white); }
.chat-cruise strong { font-size: .95rem; }
.chat-cruise span { font-size: .82rem; color: var(--white-dim); }
.chat-cruise em { font-style: normal; font-size: .85rem; color: var(--teal); font-weight: 600; }

/* Demo conversation card */
.rd-demo { background: rgba(245, 243, 238, .97); color: var(--ink); border-radius: 24px; padding: 1.25rem; display: flex; flex-direction: column; gap: .75rem; box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }
.rd-demo-head { display: flex; justify-content: space-between; align-items: center; font-size: .85rem; }
.rd-demo-head strong { display: inline-flex; align-items: center; gap: .5rem; }
.rd-demo-avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: var(--ai); display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; }
.rd-bubble-user { align-self: flex-end; max-width: 82%; background: var(--ink); color: var(--white); padding: .75rem 1rem; border-radius: 18px 18px 4px 18px; font-size: .95rem; line-height: 1.45; }
.rd-bubble-ai { align-self: flex-start; max-width: 88%; background: #fff; border: 1px solid var(--line-light); padding: .75rem 1rem; border-radius: 18px 18px 18px 4px; font-size: .95rem; line-height: 1.45; }
.rd-demo-result { background: #fff; border: 1px solid var(--line-light); border-radius: 16px; padding: .9rem 1rem; display: flex; flex-direction: column; gap: .6rem; }
.rd-demo-result small { font-size: .72rem; font-weight: 600; color: var(--teal-dark); text-transform: uppercase; letter-spacing: .08em; }
.rd-demo-result b { font: 600 1.35rem/1.15 var(--serif); }
.rd-demo-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; font-size: .8rem; }
.rd-demo-facts div { background: var(--sand); border-radius: 10px; padding: .45rem .6rem; }
.rd-demo-facts span { display: block; color: #5A6478; }
.rd-demo-cta { display: flex; gap: .5rem; flex-wrap: wrap; }
.rd-demo-cta a { flex: 1; min-height: 44px; font-size: .88rem; }
.rd-demo-cta .rd-outline { background: transparent; color: var(--ink); border: 1.5px solid var(--ink); }
@keyframes rd-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.rd-a1 { animation: rd-up .5s ease-out both .4s; } .rd-a2 { animation: rd-up .5s ease-out both 1.4s; } .rd-a3 { animation: rd-up .5s ease-out both 2.4s; } .rd-a4 { animation: rd-up .5s ease-out both 3.2s; }
@media (prefers-reduced-motion: reduce) { .rd-a1, .rd-a2, .rd-a3, .rd-a4 { animation: none; } }

/* Pillar cards */
.rd-pillars { position: relative; padding-bottom: 3.5rem; }
.rd-pillar { position: relative; display: flex; flex-direction: column; gap: .75rem; padding: 1.5rem; border-radius: 20px; background: var(--navy); border: 1.5px solid rgba(92, 200, 194, .35); color: var(--white); text-decoration: none; }
.rd-pillar:hover { border-color: var(--teal); color: var(--white); }
.rd-pillar-ai { background: linear-gradient(160deg, var(--navy-light), var(--navy)); border-color: var(--ai); box-shadow: 0 0 40px rgba(242, 181, 68, .12); }
.rd-pillar-ai:hover { border-color: var(--ai); }
.rd-pillar-badge { position: absolute; top: -12px; right: 20px; background: var(--ai); color: var(--ink); font-size: .75rem; font-weight: 600; padding: .25rem .75rem; border-radius: 999px; }
.rd-pillar-icon { width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--teal-dim); color: var(--teal); }
.rd-pillar-ai .rd-pillar-icon { background: var(--ai-dim); color: var(--ai); }
.rd-pillar-title { font: 600 1.65rem var(--serif); }
.rd-pillar-text { font-size: .95rem; line-height: 1.5; color: rgba(245, 243, 238, .8); }
.rd-pillar-stat { font-size: .9rem; font-weight: 600; color: var(--teal); }
.rd-pillar-cta { margin-top: auto; font-weight: 600; color: var(--teal); }
.rd-pillar-ai .rd-pillar-stat, .rd-pillar-ai .rd-pillar-cta { color: var(--ai); }
@media (max-width: 900px) {
  .rd-hero-main { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-top: 1.5rem; }
  .rd-hero h1 { font-size: 2.4rem; }
}

/* How it works + cross-links */
.rd-step { display: flex; flex-direction: column; gap: .6rem; padding: 1.75rem; background: #fff; border-radius: 20px; border: 1px solid var(--line-light); }
.rd-step-num { font: 600 2.5rem var(--serif); color: #B8924A; }
.rd-step h3 { margin: 0; font-size: 1.25rem; }
.rd-step p { margin: 0; font-size: .95rem; line-height: 1.6; color: var(--ink-soft); }
.rd-cross { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1.25rem; align-items: center; margin-top: 2.5rem; background: var(--ink); color: var(--white); border-radius: 24px; padding: 2rem; }
.rd-cross p { margin: .4rem 0 0; font: 500 1.6rem/1.25 var(--serif); }
.rd-cross small { color: var(--ai); font-weight: 600; font-size: .85rem; }
.rd-cross-links { display: flex; flex-direction: column; gap: .6rem; }
.rd-cross-links a { display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 0 1.1rem; border-radius: 14px; background: var(--teal-dim); color: var(--white); text-decoration: none; font-weight: 500; }
.rd-cross-links a span { color: var(--teal); }
@media (max-width: 760px) { .rd-cross { grid-template-columns: minmax(0, 1fr); } .rd-cross svg { display: none; } }

/* Cards: destinations, cruises, last minute */
.rd-card { display: flex; flex-direction: column; background: #fff; border-radius: 18px; overflow: hidden; border: 1px solid var(--line-light); color: var(--ink); text-decoration: none; }
.rd-card-img { position: relative; height: 180px; background: var(--navy-mid) center / cover no-repeat; }
.rd-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-card-body { padding: 1rem 1.1rem 1.15rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.rd-card-body h3 { margin: 0; font-size: 1.1rem; font-weight: 600; line-height: 1.3; }
.rd-card-meta { font-size: .88rem; color: var(--ink-soft); }
.rd-card-links { display: flex; gap: .9rem; margin-top: .5rem; font-size: .88rem; font-weight: 600; }
.rd-card-links a { color: var(--teal-dark); }
.rd-card-links a.ai { color: var(--ai-text-light); }
.rd-card-foot { margin-top: auto; padding-top: .75rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; border-top: 1px solid #EEEBE4; }
.rd-card-foot .rd-btn { min-height: 44px; font-size: .88rem; padding: 0 1rem; }
.rd-price { font-size: 1.1rem; font-weight: 700; }
.rd-price small { font-size: .75rem; font-weight: 400; color: var(--ink-soft); }
.rd-tag { align-self: flex-start; font-size: .75rem; font-weight: 600; padding: .2rem .65rem; border-radius: 999px; background: #DDF1EF; color: #084C4E; }
.rd-date-pill { position: absolute; left: 12px; top: 12px; background: #fff; color: var(--ink); font-size: .82rem; font-weight: 600; padding: .3rem .75rem; border-radius: 999px; }
.rd-discount { position: absolute; right: 10px; top: 10px; background: var(--red); color: #fff; font-size: .82rem; font-weight: 600; padding: .25rem .65rem; border-radius: 999px; }
.rd-seats { font-size: .78rem; font-weight: 600; color: var(--teal-dark); }

/* O nas */
.rd-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 3.5rem; align-items: start; }
.rd-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.rd-values div { padding: 1rem; border-radius: 14px; background: var(--sand); }
.rd-values strong { display: block; font-size: .95rem; margin-bottom: .2rem; }
.rd-values span { font-size: .88rem; line-height: 1.45; color: var(--ink-soft); }
.rd-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; text-align: center; }
.rd-stats div { padding: 1rem .5rem; border-radius: 14px; border: 1px solid var(--line-light); }
.rd-stats b { display: block; font: 600 2.1rem var(--serif); }
.rd-stats span { font-size: .82rem; color: var(--ink-soft); }
.rd-about-photo { width: 100%; height: 260px; object-fit: cover; border-radius: 18px; display: block; }
.rd-booking { padding: 1.5rem; border-radius: 18px; background: var(--ink); color: var(--white); }
.rd-booking ol { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; font-size: .88rem; }
.rd-booking ol b { display: block; color: var(--teal); }
.rd-booking ol span { color: rgba(245, 243, 238, .75); }
@media (max-width: 900px) { .rd-about { grid-template-columns: minmax(0, 1fr); } .rd-booking ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Contact */
.rd-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 3.5rem; align-items: start; }
.rd-contact-channels { display: flex; flex-direction: column; gap: .75rem; margin-top: .75rem; }
.rd-contact-channels a { color: var(--white); text-decoration: none; display: flex; gap: .75rem; align-items: center; }
.rd-contact-channels svg { color: var(--teal); flex: none; }
.rd-contact .contact-form { background: var(--sand); color: var(--ink); border-radius: 22px; padding: 1.75rem; }
.rd-contact .contact-form label { color: var(--ink); }
.rd-contact .contact-form input, .rd-contact .contact-form select, .rd-contact .contact-form textarea { background: #fff; color: var(--ink); border: 1.5px solid #C9C4B8; }
.rd-contact .contact-form-note, .rd-contact .contact-form-note a { color: var(--ink-soft); }
.rd-contact .contact-form-submit { background: var(--ink); color: var(--white); border-radius: 999px; }
@media (max-width: 900px) { .rd-contact { grid-template-columns: minmax(0, 1fr); } }

/* Proposal page: find crew */
.rd-crew-cta { display: flex; gap: 1.1rem; align-items: center; flex-wrap: wrap; margin: 2rem auto; max-width: 1100px; padding: 1.25rem 1.4rem; border-radius: 16px; background: var(--navy); border: 1px solid rgba(92, 200, 194, .35); }
.rd-crew-cta div { flex: 1; min-width: 240px; }
.rd-crew-cta strong { display: block; font-size: 1.05rem; margin-bottom: .2rem; }
.rd-crew-cta p { margin: 0; font-size: .9rem; line-height: 1.45; color: var(--white-dim); }
.rd-crew-cta a { background: var(--teal); color: var(--ink); }

/* styles.css sets uppercase, gold buttons and stacked forms globally. */
.rd-chat #chat-form { flex-direction: row; flex-wrap: nowrap; }
.rd-chat #chat-input { width: auto; }
.rd-chat label.rd-chat-label, .rd-chip, .chat-quick button, .rd-chat #chat-submit, .rd-btn, .rd-contact .contact-form-submit { text-transform: none; letter-spacing: 0; }
.rd-chat #chat-submit:hover { background: #FFC75E; }
.chat-quick button { padding: 0 1rem; }
@media (max-width: 520px) { .rd-chat #chat-form { flex-wrap: wrap; } .rd-chat #chat-submit { width: 100%; } }

/* ---------- Panel: sign-in views — light theme with an intro column ---------- */
.pn-intro { display: none; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) {
  --navy-deep: #F5F3EE; --navy: #FFFFFF; --navy-mid: #FFFFFF; --navy-light: #ECEAE4;
  --white: #0D1C35; --white-dim: #3B4659; --white-faint: #E3E0D8;
  --gold: #0D1C35; --gold-light: #0B6466; --gold-dim: #DDF1EF;
  background: #F5F3EE; color: #0D1C35;
}
.pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 1.5rem 4rem; align-items: start; max-width: 1200px; margin: 0 auto; padding-top: 3rem; }
.pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) > .pn-top { display: none; }
.pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) > #panel-notice { grid-column: 1 / -1; }
.pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) > .pn-intro { display: flex; }
.pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) > .pn-narrow { max-width: none; margin: 6rem 0 0; padding: 2.25rem; border-radius: 22px; background: #fff; border-color: #E3E0D8; box-shadow: 0 24px 60px rgba(13, 28, 53, .1); }
.pn-intro { flex-direction: column; gap: 1.1rem; }
.pn-intro-logo img { height: 84px; width: auto; display: block; }
.pn-intro-photo { width: 100%; height: 230px; object-fit: cover; border-radius: 20px; display: block; }
.pn-intro h1 { margin: 0; font: 600 2.75rem/1.08 var(--serif); color: #0D1C35; }
.pn-intro-lead { margin: 0; font-size: 1.06rem; line-height: 1.6; color: #3B4659; }
.pn-intro-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.pn-intro-list li { padding: 1rem; border-radius: 14px; background: #fff; border: 1px solid #E3E0D8; font-size: .88rem; line-height: 1.45; color: #3B4659; }
.pn-intro-list strong { display: block; color: #0D1C35; font-size: .98rem; margin-bottom: .25rem; }
.pn-intro-note { margin: 0; font-size: .9rem; color: #5A6478; }

.pn-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 4px; margin-bottom: 1.25rem; border-radius: 999px; background: #F5F3EE; }
.pn .pn-tab { min-height: 42px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: #0D1C35; font: 600 .95rem var(--sans); text-transform: none; letter-spacing: 0; cursor: pointer; }
.pn .pn-tab:hover { background: #ECEAE4; transform: none; }
.pn .pn-tab[aria-pressed="true"] { background: #0D1C35; color: #F5F3EE; cursor: default; }
.pn-narrow .pn-card-title { font: 600 2.1rem var(--serif); color: #0D1C35; }
.pn-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.pn-label-row .pn-link { font-size: .9rem !important; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form label { color: #0D1C35; font-size: .82rem; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form input, .pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form select { min-height: 50px; background: #fff; color: #0D1C35; border: 1.5px solid #C9C4B8; border-radius: 12px; font-size: 1rem; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form input:focus { border-color: #0B6466; outline: none; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form-submit { min-height: 52px; border-radius: 999px; background: #0D1C35; color: #F5F3EE; font-size: 1rem; text-transform: none; letter-spacing: 0; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form-submit:hover { background: #1C3460; }
.pn:has(> .pn-main > :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) .contact-form-note { color: #3B4659; }
.pn-narrow .contact-form-note:last-child { font-size: 1.02rem; line-height: 1.8; text-align: center; }
.pn-narrow .pn-link { font-size: 1.02rem; font-weight: 600; color: #0B6466; }
.pn .pn-social-btn { display: flex; align-items: center; justify-content: center; gap: .65rem; min-height: 50px; border-radius: 999px; font-size: 1rem; font-weight: 600; text-transform: none; letter-spacing: 0; background: #fff; color: #0D1C35; border: 1.5px solid #C9C4B8; }
.pn .pn-social-btn:hover { background: #F5F3EE; color: #0D1C35; border-color: #C9C4B8; }
@media (max-width: 900px) {
  .pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) { grid-template-columns: minmax(0, 1fr); padding-top: 1rem; }
  .pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) > .pn-narrow { margin: 0; order: -1; padding: 1.5rem; }
  .pn-main:has(> :is([data-view="login"], [data-view="signup"], [data-view="confirm"], [data-view="forgot"], [data-view="reset"]):not([hidden])) > .pn-intro { order: 0; }
  .pn-intro-photo { height: 160px; }
  .pn-intro-list { grid-template-columns: minmax(0, 1fr); }
  .pn-intro h1 { font-size: 2rem; }
}

/* ---------- Light pages: destinations ---------- */
.rd-light-page {
  --navy-deep: #FFFFFF; --navy: #FFFFFF; --navy-mid: #F7FBFA; --navy-light: #ECEAE4;
  --white: #0D1C35; --white-dim: #3B4659; --white-faint: #E3E0D8;
  --gold: #0B6466; --gold-light: #0B6466; --gold-dim: #DDF1EF;
  background: #F5F3EE; color: #0D1C35;
  box-shadow: 0 0 0 100vmax #F5F3EE; clip-path: inset(0 -100vmax);
}
.rd-light-page .back-link, .rd-light-page .proposal-body-text a { color: #0B6466; }
.rd-light-page .charts-intro h1 { font-weight: 600; }
.rd-light-page .charts-intro p { font-weight: 400; color: #3B4659; }
.rd-light-page .charts-intro .rd-eyebrow { margin-bottom: .5rem; }
/* The chart keeps its real coastlines; only the colours change. */
.rd-light-page .chart svg { background: #fff; border-color: #C7DEDC; border-radius: 22px; }
.rd-light-page .chart-sea { fill: #DCEBEA; }
.rd-light-page .chart-land { fill: #C9D9C4; stroke: rgba(11, 100, 102, .35); }
.rd-light-page .chart-graticule { stroke: rgba(13, 28, 53, .07); }
.rd-light-page .chart-frame { fill: rgba(11, 100, 102, .05); stroke: #0B6466; }
.rd-light-page .chart-leader { stroke: #0B6466; }
.rd-light-page .chart-degree { fill: rgba(13, 28, 53, .45); }
.rd-light-page .chart-panel-name { fill: #0B6466; }
.rd-light-page .chart-marker-dot { fill: #fff; stroke: #0B6466; stroke-width: 2; }
.rd-light-page .chart-marker-sail { fill: #0B6466; }
.rd-light-page .chart-marker:hover .chart-marker-dot, .rd-light-page .chart-marker:focus-visible .chart-marker-dot { fill: #0B6466; }
.rd-light-page .chart-marker:hover .chart-marker-sail, .rd-light-page .chart-marker:focus-visible .chart-marker-sail { fill: #fff; }
.rd-light-page .chart-label-name { fill: #0D1C35; font-weight: 600; paint-order: stroke; stroke: rgba(255, 255, 255, .85); stroke-width: 4px; }
.rd-light-page .chart-label-count { fill: #084C4E; font-weight: 600; paint-order: stroke; stroke: rgba(255, 255, 255, .85); stroke-width: 3px; }
.rd-light-page .chart figcaption { color: #5A6478; }
.rd-ai-band { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; margin: 0 0 2.5rem; padding: 1.4rem 1.6rem; border-radius: 18px; background: linear-gradient(160deg, #1C3460, #0D1C35); border: 1.5px solid #F2B544; color: #F5F3EE; }
.rd-ai-band-icon { width: 48px; height: 48px; border-radius: 14px; background: rgba(242, 181, 68, .16); color: #F2B544; display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.rd-ai-band div { flex: 1; min-width: 260px; display: flex; flex-direction: column; gap: .2rem; }
.rd-ai-band strong { font: 600 1.5rem var(--serif); }
.rd-ai-band div span { font-size: .95rem; color: rgba(245, 243, 238, .8); }
.rd-light-page .destinations-list { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.rd-light-page .destination-card { border-radius: 18px; border-color: #E3E0D8; background: #fff; }
.rd-light-page .destination-card:hover { border-color: #0B6466; box-shadow: 0 12px 30px rgba(13, 28, 53, .08); }
.rd-light-page .destination-card-image { height: 190px; }
.rd-light-page .destination-card-body { padding: 1.1rem 1.2rem 1.25rem; }
.rd-light-page .destination-card-title { font-size: 1.6rem; color: #0D1C35; }
.rd-light-page .destination-card-fleet { color: #0B6466; font-weight: 600; }
.rd-light-page .destination-card-desc { font-size: .9rem; color: #3B4659; }

/* Destination page */
.dd { padding-top: 0; }
.rd-light-page .dd-hero { height: 440px; margin: 0 calc(50% - 50vw); border-radius: 0; align-items: flex-end; justify-content: flex-start; }
.dd-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 15, 29, .15) 30%, rgba(8, 15, 29, .8)); }
.dd-hero-text { position: relative; width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 2rem 2.25rem; color: #F5F3EE; display: flex; flex-direction: column; gap: .7rem; }
.dd-hero-text h1 { margin: 0; font: 600 clamp(2.8rem, 6vw, 4.3rem)/1 var(--serif); color: #F5F3EE; }
.dd-hero-text p { margin: 0; max-width: 46rem; font-size: 1.1rem; line-height: 1.55; color: rgba(245, 243, 238, .9); }
.dd-back { color: #F5F3EE; font-weight: 600; text-decoration: none; }
.dd-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 0 0 1.75rem; background: #fff; border: 1px solid #E3E0D8; border-top: 0; border-radius: 0 0 18px 18px; overflow: hidden; }
.dd-facts div { padding: 1.1rem 1.4rem; border-right: 1px solid #EEEBE4; }
.dd-facts div:last-child { border-right: 0; }
.dd-facts dt { font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #0B6466; }
.dd-facts dd { margin: .2rem 0 0; font-size: 1.1rem; font-weight: 600; }
.dd-facts a { color: #0D1C35; }
.dd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.75rem; align-items: start; padding-bottom: 3rem; }
.dd-main .proposal-card { border-radius: 16px; border-color: #E3E0D8; }
.dd-main .proposal-card-label { font: 600 1.7rem var(--serif); letter-spacing: 0; text-transform: none; color: #0D1C35; }
.dd-main .proposal-body-text { line-height: 1.7; }
.dd-highlights { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .6rem; }
.dd-highlights li { padding: .9rem 1rem; border-radius: 12px; background: #DDF1EF; color: #084C4E; font-weight: 600; font-size: .92rem; }
.dd-highlights li::before { content: "✓ "; }
.dd-side { position: sticky; top: 6rem; display: flex; flex-direction: column; gap: 1rem; }
.dd-box { display: flex; flex-direction: column; gap: .6rem; padding: 1.25rem; border-radius: 18px; background: #fff; border: 1px solid #E3E0D8; font-size: .9rem; color: #3B4659; }
.dd-box a { color: #0B6466; font-weight: 600; }
.dd-box .rd-btn { color: #F5F3EE; }
.dd-box-main { box-shadow: 0 18px 40px rgba(13, 28, 53, .08); }
.dd-kicker { font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #0B6466; }
.dd-price { font: 600 1.9rem var(--serif); color: #0D1C35; }
.dd-price small { font: 400 .85rem var(--sans); color: #5A6478; }
.dd-cruise { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: .75rem; text-decoration: none; }
.dd-cruise img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; }
.dd-cruise strong { display: block; color: #0D1C35; font-size: .88rem; line-height: 1.3; }
.dd-cruise small { color: #5A6478; font-weight: 400; }
.dd-box-ai { background: linear-gradient(160deg, #1C3460, #0D1C35); border: 1.5px solid #F2B544; color: rgba(245, 243, 238, .85); }
.dd-ai-kicker { color: #F2B544; font-weight: 600; }
.dd-box-ai .rd-btn { color: #0D1C35; }
@media (max-width: 1000px) {
  .dd-layout { grid-template-columns: minmax(0, 1fr); }
  .dd-side { position: static; }
  .rd-light-page .dd-hero { height: 320px; }
  .dd-hero-text { padding: 0 1rem 1.5rem; }
}

/* Destination page: sections as cards, table of contents */
.dd-layout { grid-template-columns: 190px minmax(0, 1fr) 300px; }
.dd-toc { position: sticky; top: 6rem; display: flex; flex-direction: column; gap: 2px; font-size: .9rem; }
.dd-toc span { font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5A6478; margin-bottom: .4rem; }
.dd-toc a { padding: .4rem .75rem; border-left: 3px solid #E3E0D8; color: #3B4659; text-decoration: none; }
.dd-toc a:hover { border-left-color: #0B6466; color: #0D1C35; }
.dd-main h2.proposal-card-label { margin: 0 0 1rem; }
.dd-main section { scroll-margin-top: 6rem; }
.dd-main .dd-highlights { margin: 1.25rem 0 0; }
.dd-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin-top: .5rem; }
.dd-area { padding: 1.1rem 1.2rem; border-radius: 14px; border: 1px solid #E3E0D8; background: #FBFAF7; scroll-margin-top: 6rem; }
.dd-area-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: .4rem; }
.dd-area h3, .dd-sight h3 { margin: 0; font: 600 1.05rem var(--sans); color: #0D1C35; }
.dd-area .proposal-body-text, .dd-sight .proposal-body-text { font-size: .9rem; line-height: 1.6; }
.dd-area .proposal-body-text p, .dd-sight .proposal-body-text p { margin: 0 0 .5rem; }
.dd-tag { flex: none; font-size: .72rem; font-weight: 600; padding: .2rem .65rem; border-radius: 999px; white-space: nowrap; }
.dd-tag-easy { background: #DDF1EF; color: #084C4E; }
.dd-tag-mid { background: #ECEAE4; color: #3B4659; }
.dd-tag-hard { background: #FCEFD2; color: #7A4F00; }
.dd-sights { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .9rem; margin-top: .5rem; }
.dd-sight { display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; border: 1px solid #E3E0D8; background: #fff; scroll-margin-top: 6rem; }
.dd-sight img, .dd-sight-blank { width: 100%; height: 160px; object-fit: cover; display: block; }
.dd-sight-blank { display: flex; align-items: center; justify-content: center; padding: 1rem; background: #DCEBEA; color: #0B6466; font: 600 1.3rem var(--serif); text-align: center; }
.dd-sight > div { padding: .9rem 1rem 1rem; }
.dd-subhead { margin: 1.2rem 0 .4rem; font: 600 1.05rem var(--sans); color: #0B6466; }
@media (max-width: 1200px) { .dd-layout { grid-template-columns: minmax(0, 1fr) 300px; } .dd-toc { display: none; } }
@media (max-width: 1000px) { .dd-layout { grid-template-columns: minmax(0, 1fr); } .dd-areas { grid-template-columns: minmax(0, 1fr); } }
.dd-routes { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #EEEBE4; scroll-margin-top: 6rem; }
.dd-credits { font-size: .8rem; color: #5A6478; } .dd-credits a { color: #0B6466; }

/* ---------- AI Nawigator page (/zaplanuj-rejs/): light, the page's own
   structure; amber marks the AI, "Co dostaniesz" and the radar stay dark. ---------- */
.np.np-light { --gold: #8A5A00; --gold-light: #8A5A00; --gold-dim: rgba(242, 181, 68, .18); --line: rgba(13, 28, 53, .1); }
.np.np-light .np-get, .np.np-light .np-radar {
  --navy-deep: #0D1C35; --navy: #0D1C35; --navy-mid: #132442; --navy-light: #1C3460;
  --white: #F5F3EE; --white-dim: rgba(245, 243, 238, .72); --white-faint: rgba(245, 243, 238, .08);
  --gold: #F2B544; --gold-light: #F2B544; --gold-dim: rgba(242, 181, 68, .15); --line: rgba(245, 243, 238, .1);
  color: #F5F3EE;
}
.np.np-light .np-radar { border: 2px solid #F2B544; box-shadow: 0 20px 50px rgba(13, 28, 53, .2); }
.np.np-light .np-console { border: 1.5px solid #F2B544; border-radius: 22px; box-shadow: 0 0 0 6px rgba(242, 181, 68, .12), 0 24px 60px rgba(13, 28, 53, .12); }
.np.np-light .np-chat { background: #fff; }
.np.np-light .np-badge { background: #F2B544; color: #0D1C35; }
.np.np-light .np-badge .np-dot { background: #0D1C35; }
.np.np-light #chat-form { border-color: #F2B544; background: #FFFDF7; box-shadow: none; }
.np.np-light #chat-form:focus-within { border-color: #E0A030; box-shadow: 0 0 0 4px rgba(242, 181, 68, .25); }
.np.np-light #chat-input::placeholder { color: #8C877C; }
.np.np-light #chat-form button { background: #F2B544; color: #0D1C35; border-radius: 999px; }
.np.np-light #chat-form button:hover { background: #FFC75E; }
.np.np-light .np-chip { border: 1.5px solid #C9C4B8; background: #fff; }
.np.np-light .np-chip:hover { border-color: #0B6466; color: #0B6466; }
.np.np-light .chat-bubble.assistant::before { color: #8A5A00; }
.np.np-light .np-eyebrow, .np.np-light .np-tabs .np-mono { color: #0B6466; }
.np.np-light .np-questions { background: #fff; border: 1px solid #E3E0D8; border-radius: 16px; overflow: hidden; }
.np.np-light .np-questions button[aria-pressed="true"] { background: #F7FBFA; border-left-color: #0B6466; }
.np.np-light .np-questions button span { color: #0B6466; }
.np.np-light .np-tabs button[aria-selected="true"] { border-bottom-color: #0B6466; }
.np.np-light .np-answer { background: #fff; border-color: #E3E0D8; border-radius: 16px; box-shadow: 0 16px 36px rgba(13, 28, 53, .06); }
.np.np-light .np-answer-actions a { color: #0B6466; }
.np.np-light .np-btn { background: #0D1C35; color: #F5F3EE; border-radius: 999px; font-family: var(--sans); letter-spacing: 0; text-transform: none; font-size: .9rem; font-weight: 600; }
.np.np-light .np-btn:hover { background: #1C3460; }
.np.np-light .np-table { background: #fff; border-radius: 16px; }
.np.np-light a.np-row:hover { background: #F7FBFA; }
.np.np-light a.np-row:hover strong { color: #0B6466; }
.np.np-light .np-table { padding: 0 1.5rem; border: 1px solid #E3E0D8; }
/* Planner: offer + crew blocks under the console, dark knowledge-base band */
.np-next { display: flex; flex-direction: column; gap: .9rem; margin-top: 1.4rem; }
.np-offer { display: flex; align-items: center; gap: .9rem; flex-wrap: wrap; padding: 1rem 1.25rem; border-radius: 16px; background: #fff; border: 1px solid #E3E0D8; }
.np-offer strong { margin-right: auto; color: #0D1C35; }
.np-offer .rd-btn { color: #F5F3EE; }
.np-offer-link { color: #0B6466; font-weight: 600; }
.np-next .rd-crew-cta { margin: 0; max-width: none; color: #F5F3EE; }
.np.np-light .np-kb {
  --navy-deep: #0D1C35; --navy: #0D1C35; --navy-mid: #132442; --navy-light: #1C3460;
  --white: #F5F3EE; --white-dim: rgba(245, 243, 238, .72); --white-faint: rgba(245, 243, 238, .08);
  --gold: #F2B544; --gold-light: #F2B544; --gold-dim: rgba(242, 181, 68, .15); --line: rgba(245, 243, 238, .12);
  margin-top: 4.5rem; padding: 3.5rem 0; color: #F5F3EE;
  background: #0D1C35; box-shadow: 0 0 0 100vmax #0D1C35; clip-path: inset(0 -100vmax);
}
.np.np-light .np-kb .np-eyebrow, .np.np-light .np-kb .np-tabs .np-mono { color: #5CC8C2; }
.np.np-light .np-kb .np-tabs button[aria-selected="true"] { border-bottom-color: #5CC8C2; }
.np.np-light .np-kb .np-questions { background: #132442; border-color: rgba(245, 243, 238, .1); }
.np.np-light .np-kb .np-questions button[aria-pressed="true"] { background: rgba(242, 181, 68, .1); border-left-color: #F2B544; }
.np.np-light .np-kb .np-questions button span { color: #5CC8C2; }
.np.np-light .np-kb .np-answer { --white: #0D1C35; --white-dim: #3B4659; background: #F5F3EE; border-color: #F5F3EE; color: #0D1C35; }
.np.np-light .np-kb .np-answer .np-btn { background: #F2B544; color: #0D1C35; }
.np-next .rd-crew-cta { background: #0D1C35; border-color: #5CC8C2; }
.np-next .rd-crew-cta strong { color: #F5F3EE; }
.np-next .rd-crew-cta p { color: rgba(245, 243, 238, .8); }
.np.np-light .np-kb .np-answer-actions a { color: #0B6466; }

/* ---------- Proposal page (/propozycja/): light with alternating dark cards ---------- */
.pz { padding-top: 1.5rem; }
.pz .result-intro { text-align: left; }
.pz .result-intro h1 { font-size: clamp(2.2rem, 4vw, 3.1rem); font-weight: 600; line-height: 1.05; color: #0D1C35; }
.pz .result-intro .hero-eyebrow { display: inline-block; padding: .3rem .8rem; border-radius: 999px; background: #F2B544; color: #0D1C35; font-weight: 600; letter-spacing: .05em; }
.pz .proposal-card { border-radius: 16px; border: 1px solid #E3E0D8; background: #fff; }
.pz .proposal-card-label { font: 600 1.6rem var(--serif); letter-spacing: 0; text-transform: none; color: #0D1C35; }
.pz .proposal-card.pz-dark {
  --navy-deep: #0D1C35; --navy: #0D1C35; --navy-mid: #132442; --navy-light: #1C3460;
  --white: #F5F3EE; --white-dim: rgba(245, 243, 238, .75); --white-faint: rgba(245, 243, 238, .1);
  --gold: #5CC8C2; --gold-light: #5CC8C2; --gold-dim: rgba(92, 200, 194, .15);
  background: #0D1C35; border-color: #0D1C35; color: #F5F3EE;
}
.pz .proposal-card.pz-dark .proposal-card-label { color: #F5F3EE; }
.pz .download-bar { background: linear-gradient(to top, #F5F3EE 65%, rgba(245, 243, 238, 0)); }
.pz #download-pdf { background: #0D1C35; color: #F5F3EE; border-radius: 999px; text-transform: none; letter-spacing: 0; font-size: .95rem; }
.pz #download-pdf:hover { background: #1C3460; }
.pz .btn-secondary { background: #fff; color: #0D1C35; border: 1.5px solid #0D1C35; border-radius: 999px; text-transform: none; letter-spacing: 0; font-size: .95rem; }
.pz .loading-stage { color: #0D1C35; }
/* Proposal page — type and lists as in the mock-up */
.pz .proposal-body-text, .pz .route-description, .pz .route-guide { font-size: .95rem; line-height: 1.65; color: var(--white-dim); }
.pz .route-description { color: var(--white); }
.pz .route-day { color: #0B6466; font-size: .72rem; letter-spacing: .1em; }
.pz .route-location { font-size: 1.45rem; color: var(--white); }
.pz .route-guide strong { color: var(--white); }
.pz .route-facts { border: 0; padding: 0; gap: .4rem; margin: 0 0 1rem; }
.pz .route-facts li { padding: .25rem .7rem; border-radius: 999px; background: #F5F3EE; font-size: .8rem; }
.pz .pz-dark .route-facts li { background: rgba(245, 243, 238, .08); }
/* "Informacje ogólne": a grid of label + value like the mock-up */
.pz .guide-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid rgba(92, 200, 194, .35); border-radius: 12px; overflow: hidden; background: rgba(245, 243, 238, .04); }
.pz .guide-facts li { padding: .8rem 1rem; border-right: 1px solid rgba(92, 200, 194, .2); border-bottom: 1px solid rgba(92, 200, 194, .2); font-size: .95rem; font-weight: 600; color: var(--white); }
.pz .guide-facts li strong { display: block; margin-bottom: .2rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: #5CC8C2; font-weight: 600; }
@media (max-width: 760px) { .pz .guide-facts { grid-template-columns: minmax(0, 1fr); } }
/* Lists: checkboxes instead of dots */
.pz .guide-list, .pz .checklist { list-style: none; padding-left: 0; margin: .5rem 0 0; font-size: .95rem; line-height: 1.55; color: var(--white-dim); }
.pz .guide-list li, .pz .checklist li { position: relative; padding: .55rem 0 .55rem 1.9rem; border-top: 1px solid var(--white-faint); }
.pz .guide-list li + li { margin-top: 0; }
.pz .guide-list li::before, .pz .checklist li::before { content: ""; position: absolute; left: 0; top: .7rem; width: 1.05rem; height: 1.05rem; border: 1.5px solid var(--gold); border-radius: 4px; }
.pz .guide-list strong { color: var(--white); }
.pz .guide-facts li { background: transparent; border-radius: 0; }
/* The last fact fills the rest of its row (usually "Styl rejsu"). */
@media (min-width: 761px) {
  .pz .guide-facts li:last-child:nth-child(3n + 2) { grid-column: span 2; border-right: 0; }
  .pz .guide-facts li:last-child:nth-child(3n + 1) { grid-column: 1 / -1; border-right: 0; }
}

/* ---------- Share dialog: brand tiles, link field ---------- */
.share-dialog { width: min(460px, calc(100vw - 2rem)); padding: 1.6rem 1.6rem 1.25rem; border: 0; border-radius: 22px; background: #fff; color: #0D1C35; box-shadow: 0 30px 80px rgba(8, 15, 29, .35); }
.share-dialog::backdrop { background: rgba(8, 15, 29, .55); backdrop-filter: blur(3px); }
.share-dialog form { position: absolute; top: .8rem; right: .8rem; }
.share-close { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #F5F3EE; color: #0D1C35; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.share-close:hover { background: #ECEAE4; transform: none; }
.share-kicker { margin: 0; font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #0B6466; }
.share-title { margin: .2rem 2.5rem 1.2rem 0; font: 600 1.6rem/1.2 var(--serif); color: #0D1C35; }
.share-dialog .share-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem .5rem; }
.share-dialog .share-options .share-tile { display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: .3rem 0; border: 0; border-radius: 12px; background: none; color: #0D1C35; font: 500 .78rem var(--sans); letter-spacing: 0; text-transform: none; cursor: pointer; }
.share-dialog .share-options .share-tile:hover { background: #F5F3EE; }
.share-dialog .share-options [hidden] { display: none; }
.share-ico { width: 52px; height: 52px; border-radius: 16px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 14px rgba(13, 28, 53, .15); }
.share-ico svg { width: 26px; height: 26px; }
.share-link { display: flex; gap: .5rem; margin-top: 1.3rem; padding: .35rem .35rem .35rem .9rem; border: 1.5px solid #C9C4B8; border-radius: 999px; background: #F5F3EE; }
.share-link input { flex: 1; min-width: 0; border: 0; background: transparent; color: #3B4659; font: .85rem var(--sans); outline: none; }
.share-link button { flex: none; height: 38px; padding: 0 1rem; border: 0; border-radius: 999px; background: #0D1C35; color: #F5F3EE; font: 600 .85rem var(--sans); text-transform: none; letter-spacing: 0; cursor: pointer; }
.share-link button:hover { background: #1C3460; transform: none; }
.share-dialog .share-feedback { color: #0B6466; font-weight: 600; }
@media (max-width: 420px) { .share-dialog .share-options { grid-template-columns: repeat(4, minmax(0, 1fr)); } .share-ico { width: 46px; height: 46px; } }

/* ---------- Proposal page, closer to the mock-up ---------- */
.pz .result-intro .hero-eyebrow { font-size: .78rem; letter-spacing: .02em; text-transform: none; padding: .35rem .9rem; }
.pz .result-intro h1 { margin: .5rem 0 .3rem; }
.pz-sub { margin: 0; font-size: 1.05rem; color: #3B4659; }
.pz .result-intro { margin-bottom: 1.5rem; }
/* Card with a big title under the label (yacht): label small, title large */
.pz .proposal-card-label:has(+ .proposal-card-title) { font: 600 .72rem var(--sans); letter-spacing: .12em; text-transform: uppercase; color: #0B6466; margin-bottom: .35rem; }
.pz .proposal-card-title { font: 600 1.9rem/1.15 var(--serif); color: var(--white); }
.pz .proposal-yacht-meta { font-size: .9rem; color: #5A6478; }
/* Day timeline: numbered navy circles */
.pz .route-list { counter-reset: pzday; }
.pz .route-stop { counter-increment: pzday; gap: 1.2rem; padding: 1.4rem 0 1.6rem; border-top: 1px solid #EEEBE4; }
.pz .route-stop:first-child { border-top: 0; padding-top: .4rem; }
.pz .route-marker { width: 48px; height: 48px; margin: 0; background: #0D1C35; display: flex; align-items: center; justify-content: center; }
.pz .route-marker::before { content: counter(pzday); font: 600 1.3rem var(--serif); color: #F5F3EE; }
.pz .route-stop:not(:last-child) .route-marker::after { display: none; }
.pz .route-variant { display: inline-block; padding: .3rem .8rem; border-radius: 999px; background: #DDF1EF; color: #084C4E; font-size: .8rem; font-weight: 600; }
.pz .route-description { color: var(--white-dim); }
/* "Dlaczego warto / Tip skippera / Tawerna": label column + text, as in the mock-up */
.pz .route-guide { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: .75rem; margin: 0; padding: .7rem 0; border-top: 1px solid #EEEBE4; font-size: .93rem; }
.pz .route-guide strong { color: var(--white); font-weight: 600; }
.pz .route-alternative { margin: .8rem 0 0; padding: .7rem 1rem; border: 0; border-radius: 10px; background: #FCEFD2; color: #7A4F00; font-size: .88rem; }
.pz .route-alternative strong { color: #7A4F00; }
@media (max-width: 760px) { .pz .route-guide { grid-template-columns: minmax(0, 1fr); gap: .2rem; } }
/* Day photo in its own right-hand column, as in the mock-up */
@media (min-width: 900px) {
  .pz .route-stop-body { display: grid; grid-template-columns: minmax(0, 1fr) 260px; column-gap: 1.5rem; align-content: start; }
  .pz .route-stop-body > * { grid-column: 1; }
  .pz .route-stop-body > .route-photo { grid-column: 2; grid-row: 1 / span 9; margin: 0; max-width: none; align-self: start; }
  .pz .route-photo img { border-radius: 12px; aspect-ratio: 4 / 3; }
}

/* "Uprawnienia" card next to the checklists (proposal, sample plans) */
.licences-rows { list-style: none; margin: .25rem 0 0; padding: 0; }
.licences-rows li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: .75rem; padding: .7rem 0; border-top: 1px solid var(--white-faint); font-size: .93rem; line-height: 1.55; color: var(--white-dim); }
.licences-rows li:first-child { border-top: 0; }
.licences-rows strong { color: var(--white); font-weight: 600; }
.licences-chips-label { margin: 1rem 0 .5rem; font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-light); }
.licences-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.licences-chips li { padding: .3rem .8rem; border-radius: 999px; background: var(--gold-dim); color: var(--white); font-size: .82rem; font-weight: 600; }
.licences-note { margin: .8rem 0 0; font-size: .82rem; color: var(--white-dim); }
.pz .licences-chips li { background: #DDF1EF; color: #084C4E; }
.pz .licences-chips-label { color: #0B6466; }
@media (max-width: 760px) { .licences-rows li { grid-template-columns: minmax(0, 1fr); gap: .2rem; } }

/* Proposal: recommended yacht + matched offers in one card (mock-up) */
.pz-yacht-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem; align-items: start; }
.pz-available { font-size: .75rem; font-weight: 600; padding: .3rem .75rem; border-radius: 999px; background: #DDF1EF; color: #084C4E; white-space: nowrap; }
.pz-offers-label { margin: 1.4rem 0 .65rem; font-size: .69rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #0B6466; }
.pz .pz-offers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.pz .pz-offers .yacht-card-wrap { position: relative; }
.pz .pz-offers .yacht-card { display: flex; flex-direction: column; height: 100%; border: 1px solid #E3E0D8; border-radius: 14px; overflow: hidden; background: #FFFFFF; box-shadow: none; transform: none; text-decoration: none; color: #0D1C35; }
.pz .pz-offers .yacht-card:hover { border-color: #0B6466; }
.pz .pz-offers .yacht-img { height: 120px; aspect-ratio: auto; }
.pz .pz-offers .yacht-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pz .pz-offers .yacht-body { padding: .65rem .75rem .75rem; display: flex; flex-direction: column; gap: .25rem; flex: 1; }
.pz .pz-offers .yacht-type { font-size: .69rem; color: #5A6478; letter-spacing: 0; text-transform: none; font-weight: 400; }
.pz .pz-offers .yacht-name { font: 600 .875rem var(--sans); color: #0D1C35; }
.pz .pz-offers .yacht-specs { display: flex; flex-wrap: wrap; gap: 0; font-size: .75rem; color: #5A6478; }
.pz .pz-offers .yacht-specs span { padding: 0; background: none; border: 0; }
.pz .pz-offers .yacht-specs span + span::before { content: " · "; white-space: pre; }
.pz .pz-offers .yacht-divider { display: none; }
.pz .pz-offers .yacht-footer { display: flex; justify-content: space-between; align-items: baseline; margin-top: auto; padding-top: .5rem; border-top: 1px solid #EEEBE4; }
.pz .pz-offers .yacht-price { font: 700 .9rem var(--sans); color: #0D1C35; }
.pz .pz-offers .yacht-price span { font-size: .69rem; font-weight: 400; color: #5A6478; }
.pz .pz-offers .yacht-link { font-size: .8rem; font-weight: 600; color: #0B6466; }
.pz .pz-offers .yacht-share { position: absolute; right: 8px; top: 8px; height: 30px; padding: 0 .65rem; border: 0; border-radius: 999px; background: #FFFFFF; color: #0D1C35; font: 600 .75rem var(--sans); box-shadow: 0 1px 4px rgba(8, 15, 29, .15); }
@media (max-width: 900px) { .pz .pz-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .pz-yacht-head { grid-template-columns: minmax(0, 1fr); } .pz .pz-offers { grid-template-columns: minmax(0, 1fr); } }
.pz .pz-offers .yacht-link, .pz .pz-offers .yacht-share { text-transform: none; letter-spacing: 0; }
.pz-offers-hint { margin: -.35rem 0 .75rem; font-size: .85rem; color: #5A6478; }
/* Share pill on yacht photos: teal, readable on white boats */
.yacht-share, .pz .pz-offers .yacht-share { background: #0B6466; color: #FFFFFF; border: 0; }
.yacht-share:hover, .pz .pz-offers .yacht-share:hover { background: #084C4E; }

/* ---------- Blog: light pages like the rest of the site ---------- */
.rd-blog { padding-bottom: 1rem; }
.rd-blog .blog-header h1, .rd-blog .result-intro h1 { color: #0D1C35; font-weight: 600; }
.rd-blog .blog-search { background: #fff; border: 1px solid #E3E0D8; color: #0D1C35; border-radius: 999px; }
.rd-blog .blog-search:focus { border-color: #0B6466; outline: none; }
.rd-blog .blog-categories a { border-color: #C7DEDC; color: #0B6466; background: #fff; }
.rd-blog .blog-categories a:hover, .rd-blog .blog-categories a[aria-current] { background: #0B6466; border-color: #0B6466; color: #fff; }
.rd-blog .blog-tags a { border-color: #E3E0D8; color: #3B4659; }
.rd-blog .blog-tags-toggle summary { color: #0B6466; }
.rd-blog .blog-empty, .rd-blog .blog-empty a { color: #3B4659; }
.rd-blog .blog-empty a { color: #0B6466; }
.rd-blog .destination-card { border-radius: 18px; border: 1px solid #E3E0D8; background: #fff; }
.rd-blog .destination-card:hover { border-color: #0B6466; box-shadow: 0 12px 30px rgba(13, 28, 53, .08); }
.rd-blog .destination-card-title { color: #0D1C35; }
.rd-blog .destination-card-desc { color: #3B4659; }
.rd-blog .post-card-date { color: #0B6466; }
.rd-blog .destination-card-placeholder, .rd-blog .destination-hero-placeholder { color: #0B6466; }
.rd-blog .destination-hero { border-radius: 22px; overflow: hidden; }
.rd-blog .proposal-card { background: #fff; border: 1px solid #E3E0D8; border-radius: 18px; }
.rd-blog .proposal-body-text { color: #3B4659; }
.rd-blog .proposal-body-text :is(h2, h3, h4, strong) { color: #0D1C35; }
.rd-blog .proposal-body-text :is(blockquote) { border-left-color: #0B6466; color: #3B4659; }
.rd-blog .proposal-body-text a { color: #0B6466; }
.rd-blog .hero-eyebrow { color: #0B6466; }
.rd-blog .route-index { border-top-color: #E3E0D8; }
