:root{--p:#635bff;--pd:#5148e5;--dark:#111827;--muted:#667085;--bg:#f5f7fb;--border:#e4e7ec;--r:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--dark);font-family:Inter,system-ui,sans-serif}.navbar{background:#fff;border-bottom:1px solid var(--border);position:relative;z-index:20}.brand{font-weight:800;color:var(--dark);text-decoration:none;letter-spacing:-.04em}.mark{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--p),#8b5cf6)}.hero{padding:65px 0 35px;background:linear-gradient(180deg,#fff,#f7f8ff)}.badge-lp{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;border-radius:999px;background:#eef2ff;color:var(--pd);font-weight:700;font-size:.82rem}.hero h1{font-size:clamp(2.4rem,6vw,4.3rem);line-height:1.02;letter-spacing:-.065em;font-weight:800}.hero p{max-width:760px;color:var(--muted);line-height:1.7}.card-lp{background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:0 12px 35px rgba(16,24,40,.055)}.wizard{padding:22px}.steps{display:flex;gap:8px;overflow:auto;padding-bottom:18px}.step{flex:1;min-width:130px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.step.active{border-color:var(--p);background:#f6f5ff}.step.done{background:#f8fafc}.step-no{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#eef2ff;color:var(--p);font-weight:800;margin-right:7px}.step-title{font-size:.82rem;font-weight:700}.pane{display:none}.pane.active{display:block}.option{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;cursor:pointer;height:100%;transition:.15s}.option:hover{transform:translateY(-1px);border-color:#b8b5ff}.option.selected{border-color:var(--p);background:#f6f5ff;box-shadow:0 0 0 3px rgba(99,91,255,.08)}.option input{display:none}.option-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f2f4f7;font-size:1.25rem;flex:none}.place-results button{text-align:left}.person{padding:14px;background:#f9fafb;border:1px solid var(--border);border-radius:15px}.person-no{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--p);font-weight:800}.loading{min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column}.weather{background:linear-gradient(135deg,#f5f3ff,#fff);border:1px solid #ddd6fe;border-radius:18px;padding:18px}.weather-main{font-size:2rem;font-weight:800}.mini{font-size:.8rem;color:var(--muted)}.trip-title{font-weight:800;letter-spacing:-.055em}.info{padding:15px;background:#f9fafb;border:1px solid var(--border);border-radius:14px}.item{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #f2f4f7}.item:last-child{border-bottom:0}.item-main{min-width:0;flex:1}.item-name{font-weight:700;font-size:.93rem}.item-desc{font-size:.75rem;color:#98a2b3}.item-cat{font-size:.67rem;color:#98a2b3;text-transform:uppercase;font-weight:800;letter-spacing:.06em}.qty{display:flex;align-items:center;gap:4px}.qty input{width:58px;text-align:center;font-weight:800}.list-card{overflow:hidden}.list-head{padding:18px 20px;border-bottom:1px solid var(--border)}.offer-link{display:flex;gap:10px;align-items:center;padding:11px 13px;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--dark);background:#fff}.offer-link:hover{border-color:#b8b5ff;background:#faf9ff}.offer-icon{width:34px;height:34px;border-radius:10px;background:#eef2ff;color:var(--p);display:flex;align-items:center;justify-content:center}.muted{color:var(--muted)}
.trip-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.trip-meta{color:var(--muted);font-size:.92rem}.sidebar-section{margin-bottom:14px}.weather-hero{border-radius:18px;padding:18px;background:linear-gradient(135deg,#eef2ff,#fff);border:1px solid #ddd6fe}.weather-icon{font-size:2.7rem;line-height:1}.weather-temp{font-size:2rem;font-weight:800;letter-spacing:-.04em}.weather-stat{padding:12px;background:rgba(255,255,255,.8);border:1px solid rgba(99,91,255,.1);border-radius:13px}.tabs-wrap{position:sticky;top:0;z-index:10;background:var(--bg);padding:0 0 14px}.trip-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--border);border-radius:15px;padding:5px;box-shadow:0 8px 25px rgba(16,24,40,.05)}.trip-tab{flex:1;border:0;background:transparent;border-radius:11px;padding:11px 12px;font-weight:700;color:var(--muted);white-space:nowrap}.trip-tab.active{background:#eef2ff;color:var(--pd)}.tab-pane{display:none}.tab-pane.active{display:block}.accordion-card{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(16,24,40,.045);margin-bottom:16px}.accordion-head{width:100%;border:0;background:#fff;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left}.accordion-head:hover{background:#fafaff}.accordion-chevron{transition:transform .18s}.accordion-card.open .accordion-chevron{transform:rotate(180deg)}.accordion-body{border-top:1px solid var(--border)}.participant-avatar{width:44px;height:44px;border-radius:14px;background:#eef2ff;color:var(--p);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex:none}.count-badge{font-size:.75rem;font-weight:800;padding:6px 9px;border-radius:999px;background:#f2f4f7;color:#475467}.shared-head{background:#f8f7ff}.daily-weather{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.day-card{padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff}.day-icon{font-size:1.8rem}.places-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.place-card{overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:17px;text-decoration:none;color:inherit;display:block;transition:.15s}.place-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,24,40,.08)}.place-image{width:100%;height:150px;object-fit:cover;background:#f2f4f7}.place-content{padding:14px}.place-title{font-weight:800;line-height:1.25}.place-desc{font-size:.78rem;color:var(--muted);line-height:1.45;margin-top:6px}.destination-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.destination-fact{padding:15px;background:#fff;border:1px solid var(--border);border-radius:15px}.destination-fact i{font-size:1.15rem;color:var(--p)}.empty-box{padding:30px;text-align:center;background:#fff;border:1px dashed #cfd4dc;border-radius:18px;color:var(--muted)}.save-note{font-size:.76rem;color:#98a2b3}

.trip-page{padding-top:24px;padding-bottom:60px}.trip-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:22px}.trip-heading{min-width:0}.trip-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.045em;line-height:1.05}.trip-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tabs-wrap{position:sticky;top:0;z-index:20;background:var(--bg);padding:8px 0 14px}.trip-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:5px;box-shadow:0 8px 25px rgba(16,24,40,.06)}.trip-tab{flex:1;border:0;background:transparent;border-radius:11px;padding:12px 14px;font-weight:700;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px}.trip-tab.active{background:#eef2ff;color:var(--pd)}.tab-pane{display:none}.tab-pane.active{display:block}.place-tab-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.offers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.offer-link{min-height:62px}.places-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-weather{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.accordion-head{min-height:70px}.item{gap:10px}.item-main{min-width:0}@media(max-width:900px){.trip-topbar{flex-direction:column}.trip-actions{justify-content:flex-start}.trip-summary-strip{grid-template-columns:1fr 1fr}.offers-grid{grid-template-columns:1fr}.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.trip-page{padding-top:12px}.trip-topbar{gap:16px}.trip-actions{width:100%}.trip-actions .btn{flex:1}.trip-summary-strip{grid-template-columns:1fr}.trip-tabs{overflow-x:auto}.trip-tab{flex:1 0 0;min-width:100px;padding:10px 8px;font-size:.84rem}.trip-tab i{font-size:1rem}.trip-tab span{display:block}.places-grid{grid-template-columns:1fr}.daily-weather{grid-template-columns:1fr 1fr}.accordion-head{padding:14px}.item{align-items:flex-start;padding:12px}.item-main{flex:1;min-width:0}.qty{margin-left:34px}.qty input{width:50px}.destination-facts{grid-template-columns:1fr}}
@media print{.navbar,.no-print,.tabs-wrap{display:none!important}.trip-page{padding:0}.tab-pane{display:block!important}.card-lp,.accordion-card{box-shadow:none}.item{break-inside:avoid}.trip-topbar{margin-bottom:12px}}

/* Accordion — stan jest sterowany atrybutem hidden, niezależnie od Bootstrapa. */
.accordion-body[hidden]{display:none!important}
.accordion-body:not([hidden]){display:block}
.accordion-card .accordion-chevron{transition:transform .2s ease}
.accordion-card.open .accordion-chevron{transform:rotate(180deg)}

/* ===== Akcje gotowej listy ===== */
.btn-trip-action{
  min-height:44px;
  padding:.65rem 1rem;
  border-radius:12px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  border:1px solid var(--border);
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.btn-trip-action:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(16,24,40,.08)}
.btn-trip-edit{background:var(--dark);border-color:var(--dark);color:#fff}
.btn-trip-edit:hover,.btn-trip-edit:focus{background:#273142;border-color:#273142;color:#fff}
.btn-trip-share{background:#fff;border-color:#cfd4dc;color:#344054}
.btn-trip-share:hover,.btn-trip-share:focus{background:#f8fafc;border-color:#98a2b3;color:#111827}
.btn-trip-print{background:#fff;border-color:#cfd4dc;color:#344054}
.btn-trip-print:hover,.btn-trip-print:focus{background:#f8fafc;border-color:#98a2b3;color:#111827}

/* ===== Accordion ===== */
.accordion-head{cursor:pointer;user-select:none}
.accordion-body[hidden]{display:none!important}
.accordion-body:not([hidden]){display:block}
.accordion-card.open .accordion-chevron{transform:rotate(180deg)}

/* ===== Druk A4 ===== */
@page{size:A4 portrait;margin:12mm 12mm 14mm}
@media print{
  html,body{background:#fff!important;color:#111!important;font-family:Arial,Helvetica,sans-serif!important;font-size:10.5pt}
  body{-webkit-print-color-adjust:economy;print-color-adjust:economy}
  .navbar,.no-print,.tabs-wrap,.trip-actions,.weather-tab,.places-tab{display:none!important}
  .trip-page{width:100%;max-width:none!important;margin:0!important;padding:0!important}
  .trip-topbar{display:block!important;margin:0 0 10mm!important;padding:0!important}
  .trip-heading .badge-lp{display:none!important}
  .trip-title{font-size:22pt!important;line-height:1.1!important;letter-spacing:-.02em!important;margin:0 0 3mm!important}
  .trip-meta{font-size:9pt!important;color:#444!important;display:flex!important;gap:5mm!important}
  #tab-weather,#tab-places{display:none!important}
  #tab-list{display:block!important}
  .accordion-card{display:block!important;margin:0 0 5mm!important;border:1px solid #999!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important;break-inside:avoid}
  .accordion-head{display:flex!important;padding:3.2mm 3mm!important;background:#fff!important;border:0!important;border-bottom:1px solid #aaa!important;color:#111!important;min-height:0!important}
  .participant-avatar{width:9mm!important;height:9mm!important;border-radius:50%!important;background:#fff!important;border:1px solid #555!important;color:#111!important;font-size:10pt!important}
  .accordion-chevron{display:none!important}
  .count-badge{padding:0!important;border:0!important;background:transparent!important;color:#555!important;font-size:8.5pt!important}
  .accordion-body,.accordion-body[hidden]{display:block!important;border:0!important}
  .item{display:grid!important;grid-template-columns:6mm minmax(0,1fr) auto 8mm!important;align-items:center!important;gap:2mm!important;padding:2.3mm 3mm!important;border-bottom:1px solid #ddd!important;break-inside:avoid!important;min-height:9mm!important}
  .item:last-child{border-bottom:0!important}
  .item .form-check-input{appearance:none!important;-webkit-appearance:none!important;width:4.5mm!important;height:4.5mm!important;border:1.2px solid #222!important;border-radius:0!important;background:#fff!important;margin:0!important;box-shadow:none!important}
  .item .form-check-input:checked{background:#fff!important;border-color:#222!important;position:relative!important}
  .item .form-check-input:checked::after{content:'✓';position:absolute;left:.5mm;top:-1.2mm;font-size:12pt;font-weight:700;color:#111}
  .item-main{min-width:0!important;width:auto!important;flex:none!important}
  .item-cat{font-size:6.5pt!important;color:#666!important;letter-spacing:.04em!important}
  .item-name{font-size:9.5pt!important;font-weight:700!important;color:#111!important}
  .item-desc{display:none!important}
  .qty{display:flex!important;margin:0!important;gap:1mm!important;white-space:nowrap!important}
  .qty .qminus,.qty .qplus{display:none!important}
  .qty .qinput{border:0!important;background:transparent!important;box-shadow:none!important;width:10mm!important;padding:0!important;text-align:right!important;font-size:9pt!important;font-weight:700!important}
  .qty .mini{font-size:7.5pt!important;color:#555!important;min-width:10mm!important}
  .remove-item{display:none!important}
  .badge{border:0!important;background:transparent!important;color:#555!important;padding:0!important;font-size:7pt!important}
  .opacity-75{opacity:1!important}
  .p-3{padding:2mm!important}
}

/* ===== Sugestie produktowe ===== */
.item-offers{display:flex;flex-direction:column;gap:7px;margin-top:9px;max-width:760px}
.item-offer{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #e0e5ec;border-radius:11px;background:#fafbfc;text-decoration:none;color:inherit;transition:.15s ease}
.item-offer:hover{border-color:#b8c0cc;background:#f6f8fa}
.item-offer-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #d9dee6;border-radius:8px;background:#fff;color:#475467;flex:none}
.item-offer-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.item-offer-copy strong{font-size:.78rem;font-weight:800;color:#344054}
.item-offer-copy small{font-size:.7rem;color:#667085;margin-top:2px;line-height:1.3}
.item-offer-cta{font-size:.72rem;font-weight:800;color:#344054;white-space:nowrap}


/* ===== Zakładka Oferty ===== */
.trip-offers-tab{padding-bottom:10px}
.offers-intro{margin-bottom:16px}
.offer-card{display:flex;flex-direction:column;min-height:190px;padding:17px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--dark);text-decoration:none;transition:.15s ease;box-shadow:0 5px 18px rgba(16,24,40,.035)}
.offer-card:hover{border-color:#b8b5ff;background:#faf9ff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(16,24,40,.07)}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.offer-card-arrow{color:#98a2b3;font-size:.95rem}
.offer-card-body{flex:1;padding-top:14px}
.offer-card-body h3{font-size:1rem;font-weight:800;margin:0;line-height:1.3}
.offer-card-body p{font-size:.8rem;line-height:1.5;color:var(--muted);margin:7px 0 0}
.offer-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #f0f1f3;font-size:.78rem;font-weight:800;color:var(--pd)}
.offer-card-cta i{font-size:.9rem}
@media(max-width:900px){.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.offers-grid{grid-template-columns:1fr}.offer-card{min-height:160px;padding:15px}}
/* ===== Oferty przed wyjazdem — ekran i druk ===== */
.print-trip-offers{margin-top:20px;padding:18px 0 0;border-top:1px solid var(--border)}
.print-offers-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#667085;margin-bottom:10px}
.print-offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.print-offer-card{display:flex;align-items:center;gap:11px;min-height:76px;padding:13px 14px;border:1px solid #dfe3e8;border-radius:14px;background:#fff;text-decoration:none;color:#1d2939;transition:.15s ease}
.print-offer-card:hover{border-color:#98a2b3;background:#f8fafc}
.print-offer-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid #d9dee6;border-radius:10px;background:#f8fafc;color:#344054;flex:none}
.print-offer-card>span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}
.print-offer-card strong{font-size:.82rem;font-weight:800}
.print-offer-card small{font-size:.7rem;line-height:1.35;color:#667085;margin-top:3px}
.print-offer-arrow{font-size:.7rem;font-weight:800;white-space:nowrap;color:#344054}
@media(max-width:900px){.print-offers-grid{grid-template-columns:1fr}.item-offer-cta{font-size:.68rem}}
@media print{
  .print-trip-offers{display:block!important;margin-top:7mm;padding-top:4mm;border-top:1px solid #777;break-inside:avoid}
  .print-offers-title{font-size:9pt;color:#111;margin-bottom:3mm}
  .print-offers-grid{display:grid!important;grid-template-columns:1fr 1fr 1fr;gap:3mm}
  .print-offer-card{min-height:20mm;padding:3mm;border:1px solid #777;border-radius:0;background:#fff;color:#111;box-shadow:none}
  .print-offer-icon{width:8mm;height:8mm;border-radius:50%;background:#fff;border:1px solid #555;color:#111}
  .print-offer-card strong{font-size:8.5pt;color:#111}
  .print-offer-card small{font-size:6.8pt;color:#444}
  .print-offer-arrow{font-size:6.8pt;color:#111}
  .item-offers{display:none!important}
}

/* Kolorowe ikony pogody */
.weather-icon,.day-icon i,.weather-hero .bi-sun-fill{color:#f59e0b}
.weather-hero .bi-cloud-sun-fill,.day-icon .bi-cloud-sun-fill{color:#f59e0b}
.weather-hero .bi-clouds-fill,.day-icon .bi-clouds-fill{color:#64748b}
.weather-hero .bi-cloud-fog2-fill,.day-icon .bi-cloud-fog2-fill{color:#94a3b8}
.weather-hero .bi-cloud-drizzle-fill,.day-icon .bi-cloud-drizzle-fill{color:#38bdf8}
.weather-hero .bi-cloud-rain-heavy-fill,.day-icon .bi-cloud-rain-heavy-fill,.day-icon .bi-cloud-rain-fill{color:#2563eb}
.weather-hero .bi-snow2,.day-icon .bi-snow2,.day-icon .bi-cloud-snow-fill{color:#60a5fa}
.weather-hero .bi-cloud-lightning-rain-fill,.day-icon .bi-cloud-lightning-rain-fill{color:#7c3aed}
.weather-icon{font-size:2.9rem;line-height:1}
.day-icon{min-height:34px;display:flex;align-items:center}
.day-icon i{font-size:1.9rem}

/* Final overflow / offer / weather fixes */
.min-w-0{min-width:0!important}.item-main{min-width:0;overflow:hidden}.item-name,.item-desc,.item-cat{overflow-wrap:anywhere;word-break:break-word}.item-offers{width:100%;max-width:100%}.item-offer{min-width:0;max-width:100%}.item-offer-copy{min-width:0;overflow:hidden}.item-offer-copy strong,.item-offer-copy small{overflow-wrap:anywhere;word-break:break-word}.item-offer-cta{flex:0 0 auto;white-space:normal;text-align:right}.qty{flex-shrink:0}.remove-item{flex-shrink:0}.weather-badge{flex-shrink:0}.weather-hero{overflow:hidden}.day-card{min-width:0;overflow:hidden}.day-card .fw-semibold{overflow-wrap:anywhere}.accordion-head>div{min-width:0}
@media(max-width:600px){.item{flex-wrap:wrap}.item-main{order:2;flex:1 1 calc(100% - 44px);min-width:0}.item>.item-check{order:1;margin-top:3px}.item>.qty{order:3;margin-left:34px}.item>.remove-item{order:4;margin-left:auto}.item-offer{align-items:flex-start;flex-wrap:wrap}.item-offer-copy{flex:1 1 160px}.item-offer-cta{margin-left:40px}.daily-weather{grid-template-columns:1fr 1fr}.weather-badge{font-size:.72rem;padding:7px 9px}}

/* Kategorie listy pakowania */
.item-group{border-bottom:1px solid var(--border)}
.item-group:last-child{border-bottom:0}
.item-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#f8fafc;color:var(--pd);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--border)}
.item-group:first-child .item-group-head{border-top:0}
.item-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:#eef2ff;color:var(--pd);font-size:.68rem;letter-spacing:0}
.item-group-items .item:last-child{border-bottom:0}
@media print{.item-group-head{padding:2.5mm 3mm;background:#f3f3f3;color:#111;font-size:8pt;border-top:1px solid #bbb;border-bottom:1px solid #ddd}.item-group-count{display:none}.item-group-items{break-inside:auto}}

.item.checked {
  opacity: 1;
  background: #ecfdf3;
}

.item.checked .item-name {
  text-decoration-line: line-through !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: #667085 !important;
  opacity: 0.7;
}
.item.checked .item-name,
.item.checked .item-desc,
.item.checked .item-cat {
  text-decoration: line-through;
}

/* ==========================================================
   assets/css/letspack.css
   Dodaj na końcu
   ========================================================== */

.offer-card-label{
  margin-bottom:6px;
  font-size:.64rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#98a2b3;
}

.offers-list-intro{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid var(--border);
}
/* ==========================================================
   Let's Pack! — mapa ciekawych miejsc
   ========================================================== */

.tourist-map-wrap {
  width: 100%;
}

.tourist-map {
  width: 100%;
  height: 560px;
  min-height: 420px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--lp-border, #e5e7eb);
  background: #f3f4f6;
}

.tourist-map-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 12px;
  color: #667085;
  font-size: .82rem;
}

.tourist-map-info span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.tourist-map-info i {
  font-size: .9rem;
}

.letspack-map-marker {
  background: transparent;
  border: 0;
}

.letspack-marker-pin {
  width: 30px;
  height: 30px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2563eb;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

.letspack-marker-pin span,
.letspack-marker-pin i {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  transform: rotate(45deg);
}

.letspack-map-marker-destination .letspack-marker-pin {
  width: 36px;
  height: 36px;
  background: #dc2626;
}

.letspack-map-marker-destination .letspack-marker-pin i {
  font-size: 17px;
}

.letspack-map-popup {
  min-width: 190px;
  max-width: 280px;
}

.letspack-map-popup a {
  color: #2563eb;
  text-decoration: none;
  font-weight: 600;
}

.letspack-map-popup a:hover {
  text-decoration: underline;
}

@media (max-width: 700px) {

  .tourist-map {
    height: 460px;
    min-height: 360px;
    border-radius: 12px;
  }

  .tourist-map-info {
    gap: 10px 14px;
  }

}

@media (max-width: 480px) {

  .tourist-map {
    height: 400px;
  }

}
/* ==========================================================
   LET'S PACK! — PREMIUM OFFERS
   ========================================================== */

.trip-offers-tab {
  width: 100%;
  padding-bottom: 32px;
}

/* ----------------------------------------------------------
   Header
   ---------------------------------------------------------- */

.offers-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.offers-header-copy {
  max-width: 680px;
}

.offers-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 7px;
  color: #7a8190;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.offers-kicker::before {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 99px;
  background: var(--p);
}

.offers-title {
  margin: 0;
  color: #111827;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  line-height: 1.08;
  letter-spacing: -.04em;
  font-weight: 800;
}

.offers-title span {
  color: var(--pd);
}

.offers-subtitle {
  max-width: 600px;
  margin: 9px 0 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.55;
}

.offers-header-mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 13px;
  color: var(--pd);
  background: #f6f5ff;
  border: 1px solid #e4e1ff;
}

.offers-header-mark i {
  font-size: 1.1rem;
}

/* ----------------------------------------------------------
   Grid
   ---------------------------------------------------------- */

.offers-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

/* ----------------------------------------------------------
   Premium card
   ---------------------------------------------------------- */

.premium-offer-card {
  position: relative;
  isolation: isolate;

  min-height: 218px;

  display: flex;
  flex-direction: column;

  overflow: hidden;

  padding: 17px;

  border: 1px solid #e3e5ea;
  border-radius: 16px;

  color: var(--dark);
  text-decoration: none;

  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #fafaff 100%
    );

  box-shadow:
    0 1px 2px rgba(16,24,40,.025),
    0 6px 18px rgba(16,24,40,.045);

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.premium-offer-card:hover {
  color: var(--dark);
  text-decoration: none;

  transform: translateY(-3px);

  border-color: #c9c5f5;

  box-shadow:
    0 3px 6px rgba(16,24,40,.035),
    0 14px 32px rgba(81,72,229,.10);
}

/* subtelne światło w prawym górnym rogu */

.premium-offer-glow {
  position: absolute;
  z-index: -1;

  width: 150px;
  height: 150px;

  top: -90px;
  right: -70px;

  border-radius: 50%;

  background: rgba(99,91,255,.065);

  transition: transform .3s ease;
}

.premium-offer-card:hover .premium-offer-glow {
  transform: scale(1.25);
}

/* ----------------------------------------------------------
   Top
   ---------------------------------------------------------- */

.premium-offer-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.premium-offer-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 11px;

  color: var(--pd);

  background:
    linear-gradient(
      145deg,
      #f4f2ff,
      #ebe9ff
    );

  border: 1px solid #ddd9ff;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9);
}

.premium-offer-icon i {
  font-size: 1rem;
}

.premium-offer-number {
  color: #b0b5bf;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .1em;
}

/* ----------------------------------------------------------
   Content
   ---------------------------------------------------------- */

.premium-offer-content {
  flex: 1;
  padding-top: 15px;
}

.premium-offer-label {
  margin-bottom: 5px;

  color: #8a8fa0;

  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.premium-offer-title {
  margin: 0;

  color: #111827;

  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: -.018em;
  font-weight: 800;
}

.premium-offer-description {
  display: -webkit-box;

  overflow: hidden;

  margin: 7px 0 0;

  color: #727988;

  font-size: .75rem;
  line-height: 1.48;

  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* ----------------------------------------------------------
   CTA
   ---------------------------------------------------------- */

.premium-offer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  margin-top: 14px;
  padding-top: 11px;

  border-top: 1px solid #ececf1;
}

.premium-offer-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  color: #303747;

  font-size: .72rem;
  font-weight: 800;
}

.premium-offer-cta i {
  font-size: .7rem;

  transition:
    transform .18s ease,
    color .18s ease;
}

.premium-offer-card:hover .premium-offer-cta {
  color: var(--pd);
}

.premium-offer-card:hover .premium-offer-cta i {
  transform: translateX(3px);
}

.premium-offer-circle {
  width: 29px;
  height: 29px;
  flex: 0 0 29px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: var(--pd);
  background: #f6f5ff;
  border: 1px solid #dfdcff;

  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    transform .18s ease;
}

.premium-offer-circle i {
  font-size: .68rem;
}

.premium-offer-card:hover .premium-offer-circle {
  color: #fff;
  background: var(--p);
  border-color: var(--p);
  transform: translate(1px,-1px);
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

  .offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-offer-card {
    min-height: 215px;
  }
}

/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 650px) {

  .offers-header {
    margin-bottom: 18px;
  }

  .offers-title {
    font-size: 1.65rem;
  }

  .offers-subtitle {
    font-size: .79rem;
  }

  .offers-header-mark {
    display: none;
  }

  .offers-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .premium-offer-card {
    min-height: 0;
    padding: 16px;
    border-radius: 14px;
  }

  .premium-offer-content {
    padding-top: 13px;
  }

  .premium-offer-title {
    font-size: .98rem;
  }

  .premium-offer-description {
    font-size: .73rem;
  }

  .premium-offer-bottom {
    margin-top: 12px;
    padding-top: 10px;
  }
}
/* ==========================================================
   LISTA CIEKAWYCH MIEJSC
   ========================================================== */

.tourist-places-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--border);
}

.tourist-place-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid var(--border);
    cursor:pointer;
    transition:
        background .15s ease,
        transform .15s ease;
}

.tourist-place-item:hover{
    background:#f8f9fc;
}

.tourist-place-number{
    flex:0 0 32px;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--p);
    color:#fff;
    font-size:13px;
    font-weight:700;
}

.tourist-place-content{
    min-width:0;
    flex:1;
}

.tourist-place-name{
    font-weight:700;
    line-height:1.3;
    margin-bottom:4px;
}

.tourist-place-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    color:var(--muted);
    font-size:12px;
}

.tourist-place-arrow{
    color:var(--muted);
    transition:transform .15s ease;
}

.tourist-place-item:hover .tourist-place-arrow{
    transform:translateX(3px);
}


/* ==========================================================
   MIGANIE MARKERA
   ========================================================== */
.letspack-marker-pin.letspack-marker-highlight{
    animation:letspackMarkerPulse .7s ease-in-out infinite alternate;
}

@keyframes letspackMarkerPulse{

    from{
        opacity:1;
        filter:brightness(1);
    }

    to{
        opacity:.45;
        filter:brightness(1.6);
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:700px){

    .tourist-places-list{
        grid-template-columns:1fr;
    }

}