/* HravéPríbehy.sk — Výpravy MVP */
body.hp-expeditions {
    --exp-ink: #24354a;
    --exp-muted: #647386;
    --exp-sea: #4f98a7;
    --exp-sea-deep: #2f6f7d;
    --exp-sea-soft: #e9f5f5;
    --exp-sand: #f6e7c8;
    --exp-sand-soft: #fff8e9;
    --exp-shell: #d98d72;
    --exp-line: rgba(47, 111, 125, .2);
    background: #f7f5ed;
    color: var(--exp-ink);
}

.hp-expeditions-main { overflow: hidden; }
.hp-expeditions-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 2rem 0 7rem; }
.hp-expedition-breadcrumb { margin: .4rem 0 1.8rem; font-size: .875rem; }
.hp-expedition-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; list-style: none; margin: 0; padding: 0; }
.hp-expedition-breadcrumb li + li::before { content: '›'; margin-right: .45rem; color: #8d9aa7; }
.hp-expedition-breadcrumb a { color: var(--exp-sea-deep); text-decoration: none; }
.hp-expedition-kicker { display: inline-block; color: var(--exp-sea-deep); font-size: .875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }

.hp-expedition-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
    min-height: 540px;
    padding: clamp(3rem, 6vw, 5.6rem);
    border: 1px solid rgba(47, 111, 125, .15);
    border-radius: 2.2rem;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(236,247,246,.9));
    box-shadow: 0 28px 70px rgba(36, 53, 74, .09);
    overflow: hidden;
}
.hp-expedition-hero::after { content:''; position:absolute; inset:auto -8% -42% 38%; height:75%; background:radial-gradient(circle,rgba(246,231,200,.85),rgba(246,231,200,0) 68%); pointer-events:none; }
.hp-expedition-hero__copy { position: relative; z-index: 2; }
.hp-expedition-hero h1, .hp-expeditions-index-hero h1 { margin: .7rem 0 1.15rem; font-size: clamp(2.5rem, 5vw, 3rem); line-height: 1.04; letter-spacing: -.045em; color: #1f3045; }
.hp-expedition-hero__copy > p, .hp-expeditions-index-hero > p { max-width: 44rem; margin: 0; font-size: 1.125rem; line-height: 1.65; color: var(--exp-muted); }
.hp-expedition-hero__facts { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.65rem 0 0; }
.hp-expedition-hero__facts span, .hp-expedition-card__meta span { display:inline-flex; align-items:center; min-height: 40px; padding:.55rem .8rem; border:1px solid rgba(47,111,125,.13); border-radius:999px; background:rgba(255,255,255,.74); font-size:.875rem; font-weight:750; color:#496272; }
.hp-expedition-start { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-top:1.5rem; padding:.75rem 1.15rem; border-radius:999px; background:var(--exp-sea-deep); color:#fff; text-decoration:none; font-weight:800; box-shadow:0 12px 26px rgba(47,111,125,.2); }
.hp-expedition-start:hover { transform: translateY(-1px); }

.hp-expedition-hero__scene { position:relative; z-index:1; min-height:360px; border-radius:2rem; background:linear-gradient(#dff4f7 0 50%, #88cbd0 50% 72%, #f5dfb5 72%); overflow:hidden; box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 24px 50px rgba(47,111,125,.13); }
.hp-expedition-sun { position:absolute; width:78px; height:78px; top:44px; right:56px; border-radius:50%; background:#ffd983; box-shadow:0 0 0 16px rgba(255,217,131,.2); }
.hp-expedition-cloud { position:absolute; width:108px; height:34px; border-radius:999px; background:rgba(255,255,255,.9); box-shadow: 30px -12px 0 4px rgba(255,255,255,.9), 58px 2px 0 -4px rgba(255,255,255,.9); }
.hp-expedition-cloud--one { top:82px; left:38px; transform:scale(.75); }
.hp-expedition-cloud--two { top:148px; right:88px; transform:scale(.55); opacity:.8; }
.hp-expedition-wave { position:absolute; left:-12%; width:125%; height:70px; border-radius:50%; background:rgba(255,255,255,.28); }
.hp-expedition-wave--back { top:190px; transform:rotate(-2deg); }
.hp-expedition-wave--front { top:232px; transform:rotate(3deg); background:rgba(255,255,255,.42); }
.hp-expedition-boat { position:absolute; left:46%; top:178px; font-size:4rem; filter:drop-shadow(0 10px 8px rgba(0,0,0,.09)); transform:rotate(-3deg); }
.hp-expedition-shell { position:absolute; right:54px; bottom:26px; font-size:4.4rem; transform:rotate(10deg); filter:drop-shadow(0 10px 8px rgba(90,57,37,.1)); }

.hp-expedition-intro { display:flex; justify-content:space-between; gap:2rem; align-items:center; margin:1.5rem 0 4rem; padding:1.1rem 1.35rem; border-radius:1.25rem; background:var(--exp-sand-soft); border:1px solid rgba(184,145,82,.15); }
.hp-expedition-intro p { max-width:48rem; margin:0; font-size:1rem; line-height:1.6; color:#5d6470; }
.hp-expedition-intro span { flex:0 0 auto; font-size:.875rem; font-weight:750; color:#6e6a57; }

.hp-expedition-progress { display:grid; grid-template-columns:minmax(220px,.45fr) minmax(0,1fr); gap:2rem; align-items:end; margin:0 0 4rem; }
.hp-expedition-progress h2 { margin:.35rem 0 0; font-size:clamp(1.65rem,3vw,2rem); line-height:1.2; color:#24354a; }
.hp-expedition-progress__track { height:14px; border-radius:999px; background:#e2e8e6; overflow:hidden; box-shadow:inset 0 1px 2px rgba(0,0,0,.05); }
.hp-expedition-progress__track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--exp-sea),#75b9a8); transition:width .3s ease; }

.hp-expedition-section-heading { max-width:760px; margin:0 auto 3rem; text-align:center; }
.hp-expedition-section-heading h2, .hp-expedition-reward h2, .hp-expeditions-next h2 { margin:.45rem 0 .8rem; font-size:clamp(2rem,4vw,2.25rem); line-height:1.1; letter-spacing:-.035em; }
.hp-expedition-section-heading p { margin:0; font-size:1rem; line-height:1.65; color:var(--exp-muted); }

.hp-expedition-route { position:relative; }
.hp-expedition-route__list { position:relative; list-style:none; max-width:880px; margin:0 auto; padding:0; }
.hp-expedition-route__list::before { content:''; position:absolute; top:26px; bottom:26px; left:45px; width:3px; border-radius:999px; background:linear-gradient(var(--exp-sea-soft),#91c4bf,var(--exp-sand)); }
.hp-expedition-stop { position:relative; display:grid; grid-template-columns:90px minmax(0,1fr); gap:1.3rem; margin:0 0 1.25rem; }
.hp-expedition-stop__marker { position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:center; padding-top:1.4rem; }
.hp-expedition-stop__marker b { display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:#fff; border:2px solid #b9d7d5; box-shadow:0 8px 22px rgba(47,111,125,.12); font-size:1.55rem; }
.hp-expedition-stop__card { padding:1.45rem 1.55rem 1.5rem; border-radius:1.55rem; border:1px solid rgba(47,111,125,.13); background:rgba(255,255,255,.9); box-shadow:0 14px 36px rgba(36,53,74,.06); }
.hp-expedition-stop__top { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:.65rem; }
.hp-expedition-stop__number, .hp-expedition-stop__state { font-size:.8125rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.hp-expedition-stop__number { color:var(--exp-sea-deep); }
.hp-expedition-stop__state { padding:.3rem .55rem; border-radius:999px; background:var(--exp-sea-soft); color:#527d76; }
.hp-expedition-stop h3 { margin:0 0 .55rem; font-size:1.4375rem; line-height:1.25; color:#24354a; }
.hp-expedition-stop p { margin:0; font-size:1rem; line-height:1.6; color:var(--exp-muted); }
.hp-expedition-stop__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.1rem; }
.hp-expedition-stop__actions a, .hp-expedition-stop__actions button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.65rem .9rem; border-radius:.85rem; font:inherit; font-size:.9375rem; font-weight:800; cursor:pointer; text-decoration:none; }
.hp-expedition-stop__actions a { background:var(--exp-sea-deep); color:#fff; border:1px solid var(--exp-sea-deep); }
.hp-expedition-stop__actions button { background:#fff; color:var(--exp-sea-deep); border:1px solid #bdd2d2; }
.hp-expedition-stop.is-done .hp-expedition-stop__marker b { background:#e8f5eb; border-color:#8eb79a; }
.hp-expedition-stop.is-done .hp-expedition-stop__state { background:#e8f5eb; color:#587d62; }
.hp-expedition-stop.is-done .hp-expedition-stop__actions button { background:#e8f5eb; border-color:#9abca2; color:#4a7655; }
.hp-expedition-stop.is-coming { opacity:.7; }
.hp-expedition-stop.is-coming .hp-expedition-stop__marker b { filter:grayscale(.4); }
.hp-expedition-stop.is-coming .hp-expedition-stop__state { background:#f0efeb; color:#7d7b72; }
.hp-expedition-stop__coming { margin-top:1rem; padding:.7rem .85rem; border-radius:.8rem; background:#f6f5f1; color:#77766f; font-size:.875rem; line-height:1.5; }
.hp-expedition-stop.is-bonus .hp-expedition-stop__card { border-style:dashed; }

.hp-expedition-reward { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.5rem; align-items:center; max-width:880px; margin:4.5rem auto 2rem; padding:2rem; border-radius:1.8rem; background:linear-gradient(135deg,#fff9ed,#f8ede6); border:1px solid rgba(217,141,114,.22); box-shadow:0 18px 40px rgba(91,61,47,.07); }
.hp-expedition-reward__badge { display:grid; place-items:center; width:96px; height:96px; border-radius:50%; background:#fff; box-shadow:0 12px 25px rgba(217,141,114,.18); font-size:3.2rem; filter:grayscale(1); opacity:.45; transition:.3s ease; }
.hp-expedition-reward.is-earned .hp-expedition-reward__badge { filter:none; opacity:1; transform:rotate(-5deg) scale(1.05); }
.hp-expedition-reward p { margin:0; font-size:1rem; line-height:1.65; color:#6c655f; }
.hp-expedition-parent-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; max-width:880px; margin:1.5rem auto 0; padding:1.25rem 1.35rem; border-radius:1.2rem; background:#fff; border:1px solid rgba(36,53,74,.08); }
.hp-expedition-parent-note > span { font-size:1.6rem; }
.hp-expedition-parent-note h2 { margin:0 0 .25rem; font-size:1.125rem; }
.hp-expedition-parent-note p { margin:0; font-size:.9375rem; line-height:1.6; color:var(--exp-muted); }

.hp-expeditions-index-hero { max-width:780px; padding:4.5rem 0 3rem; }
.hp-expeditions-grid { display:grid; gap:1.5rem; }
.hp-expedition-card { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); min-height:360px; border-radius:2rem; overflow:hidden; background:#fff; border:1px solid rgba(36,53,74,.08); box-shadow:0 22px 55px rgba(36,53,74,.08); }
.hp-expedition-card__art { position:relative; min-height:320px; background:linear-gradient(#dbf2f4 0 48%,#74bcc3 48% 70%,#f0d8aa 70%); overflow:hidden; }
.hp-expedition-card__art > span { position:absolute; left:-20px; right:-20px; top:45%; font-size:7rem; letter-spacing:-2rem; opacity:.55; }
.hp-expedition-card__art b { position:absolute; left:45%; top:43%; font-size:4.4rem; transform:rotate(-4deg); }
.hp-expedition-card__art i { position:absolute; right:44px; bottom:28px; font-size:3.8rem; font-style:normal; }
.hp-expedition-card__body { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4rem); }
.hp-expedition-card h2 { margin:.45rem 0 .8rem; font-size:clamp(2rem,4vw,2.6rem); line-height:1.08; letter-spacing:-.04em; }
.hp-expedition-card p { max-width:42rem; margin:0; font-size:1rem; line-height:1.65; color:var(--exp-muted); }
.hp-expedition-card__meta { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.2rem 0 1.35rem; }
.hp-expedition-card__body > a { align-self:flex-start; display:inline-flex; min-height:46px; align-items:center; padding:.65rem 1rem; border-radius:999px; background:var(--exp-sea-deep); color:#fff; font-weight:800; text-decoration:none; }
.hp-expeditions-next { margin-top:4rem; padding:2rem; border-radius:1.6rem; background:#fffaf0; border:1px solid rgba(184,145,82,.14); }
.hp-expeditions-next > div { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.hp-expeditions-next > div span { padding:.65rem .8rem; border-radius:999px; background:#fff; font-size:.9375rem; font-weight:750; }
.hp-expeditions-next p { margin:0; max-width:48rem; line-height:1.6; color:var(--exp-muted); }

@media (max-width: 820px) {
    .hp-expeditions-shell { width:min(100% - 30px, 1180px); padding-top:1.2rem; }
    .hp-expedition-hero { grid-template-columns:1fr; min-height:0; padding:2rem; border-radius:1.7rem; }
    .hp-expedition-hero__scene { min-height:280px; order:-1; }
    .hp-expedition-progress { grid-template-columns:1fr; gap:1rem; }
    .hp-expedition-intro { align-items:flex-start; flex-direction:column; gap:.6rem; }
    .hp-expedition-card { grid-template-columns:1fr; }
    .hp-expedition-card__art { min-height:250px; }
}

@media (max-width: 640px) {
    .hp-expeditions-shell { width:min(100% - 24px, 1180px); padding-bottom:4.5rem; }
    .hp-expedition-breadcrumb { font-size:.8125rem; }
    .hp-expedition-kicker { font-size:.8125rem; }
    .hp-expedition-hero { padding:1rem; border-radius:1.35rem; gap:1.5rem; }
    .hp-expedition-hero__copy { padding:.4rem .35rem .75rem; }
    .hp-expedition-hero h1, .hp-expeditions-index-hero h1 { font-size:2rem; }
    .hp-expedition-hero__copy > p, .hp-expeditions-index-hero > p { font-size:1rem; line-height:1.6; }
    .hp-expedition-hero__scene { min-height:220px; border-radius:1.15rem; }
    .hp-expedition-sun { width:54px; height:54px; top:28px; right:34px; }
    .hp-expedition-boat { font-size:3rem; top:108px; }
    .hp-expedition-shell { font-size:3rem; right:24px; bottom:14px; }
    .hp-expedition-hero__facts span { font-size:.8125rem; min-height:38px; }
    .hp-expedition-route__list::before { left:25px; }
    .hp-expedition-stop { grid-template-columns:50px minmax(0,1fr); gap:.7rem; }
    .hp-expedition-stop__marker { padding-top:1.1rem; }
    .hp-expedition-stop__marker b { width:42px; height:42px; font-size:1.15rem; }
    .hp-expedition-stop__card { padding:1.1rem; border-radius:1.15rem; }
    .hp-expedition-stop__top { align-items:flex-start; flex-direction:column; gap:.35rem; }
    .hp-expedition-stop h3 { font-size:1.1875rem; }
    .hp-expedition-stop p { font-size:1rem; }
    .hp-expedition-stop__actions { flex-direction:column; }
    .hp-expedition-stop__actions a, .hp-expedition-stop__actions button { width:100%; min-height:48px; font-size:1rem; }
    .hp-expedition-reward { grid-template-columns:1fr; text-align:center; padding:1.4rem; }
    .hp-expedition-reward__badge { margin:0 auto; }
    .hp-expedition-parent-note { grid-template-columns:1fr; }
    .hp-expeditions-index-hero { padding:2.8rem 0 2rem; }
    .hp-expedition-card__body { padding:1.5rem; }
    .hp-expedition-card h2 { font-size:1.75rem; }
}

@media (prefers-reduced-motion: reduce) {
    .hp-expedition-progress__track span, .hp-expedition-reward__badge, .hp-expedition-start { transition:none; }
}

/* Expedition context scenes — shared engine, distinct environments */
.hp-expedition-scene__sun { position:absolute; width:78px; height:78px; top:44px; right:56px; border-radius:50%; background:#ffd983; box-shadow:0 0 0 16px rgba(255,217,131,.2); }
.hp-expedition-scene__cloud { position:absolute; width:108px; height:34px; border-radius:999px; background:rgba(255,255,255,.9); box-shadow:30px -12px 0 4px rgba(255,255,255,.9),58px 2px 0 -4px rgba(255,255,255,.9); }
.hp-expedition-scene__cloud--one { top:82px; left:38px; transform:scale(.75); }
.hp-expedition-scene__cloud--two { top:148px; right:88px; transform:scale(.55); opacity:.8; }
.hp-expedition-scene__land { position:absolute; left:-8%; width:116%; white-space:nowrap; overflow:hidden; line-height:1; letter-spacing:-.35rem; user-select:none; }
.hp-expedition-scene__land--back { top:182px; font-size:5.4rem; opacity:.35; transform:rotate(-2deg); }
.hp-expedition-scene__land--front { top:224px; font-size:6.5rem; opacity:.48; transform:rotate(2deg); }
.hp-expedition-scene__primary { position:absolute; left:46%; top:174px; z-index:3; font-size:4rem; filter:drop-shadow(0 10px 8px rgba(0,0,0,.09)); transform:rotate(-3deg); }
.hp-expedition-scene__reward { position:absolute; right:50px; bottom:24px; z-index:3; font-size:4.2rem; filter:drop-shadow(0 10px 8px rgba(90,57,37,.1)); transform:rotate(8deg); }

.hp-expedition-scene--sea { background:linear-gradient(#dff4f7 0 50%,#88cbd0 50% 72%,#f5dfb5 72%); }
.hp-expedition-scene--sea .hp-expedition-scene__land { color:#fff; }
.hp-expedition-scene--mountains { background:linear-gradient(#e9f3f7 0 58%,#c9d7cd 58% 75%,#d9c6a5 75%); }
.hp-expedition-scene--mountains .hp-expedition-scene__land { color:#78918b; opacity:.75; }
.hp-expedition-scene--forest { background:linear-gradient(#e7f3e9 0 54%,#a8c5a4 54% 76%,#c8a87b 76%); }
.hp-expedition-scene--forest .hp-expedition-scene__land { color:#54745e; opacity:.72; }
.hp-expedition-scene--travel { background:linear-gradient(#e6f1f7 0 54%,#d9e0df 54% 73%,#cfc6b5 73%); }
.hp-expedition-scene--travel .hp-expedition-scene__land { color:#8b9697; opacity:.58; letter-spacing:.15rem; }
.hp-expedition-scene--city { background:linear-gradient(#e9f1f6 0 55%,#cbd5da 55% 76%,#c6b9a8 76%); }
.hp-expedition-scene--village { background:linear-gradient(#edf5e7 0 54%,#b8cf94 54% 76%,#d7bb83 76%); }
.hp-expedition-scene--default { background:linear-gradient(#edf4f5 0 58%,#d6e1df 58% 76%,#e4d7be 76%); }

.hp-expedition-card__art--sea { background:linear-gradient(#dbf2f4 0 48%,#74bcc3 48% 70%,#f0d8aa 70%); }
.hp-expedition-card__art--mountains { background:linear-gradient(#e8f1f5 0 50%,#bdcec8 50% 72%,#d9c5a3 72%); }
.hp-expedition-card__art--forest { background:linear-gradient(#e5f0e3 0 48%,#91b38d 48% 72%,#c7a474 72%); }
.hp-expedition-card__art--travel { background:linear-gradient(#e3eff5 0 48%,#d0dbdc 48% 71%,#c9c0ae 71%); }
.hp-expedition-card__art--city { background:linear-gradient(#e8eff4 0 48%,#c5d0d6 48% 72%,#c7b8a6 72%); }
.hp-expedition-card__art--village { background:linear-gradient(#ebf3e2 0 48%,#abc583 48% 72%,#d6b77d 72%); }
.hp-expedition-card__art--default { background:linear-gradient(#eaf2f3 0 48%,#cbd9d7 48% 72%,#ded0b4 72%); }

@media (max-width: 640px) {
    .hp-expedition-scene__sun { width:54px; height:54px; top:28px; right:34px; }
    .hp-expedition-scene__land--back { top:112px; font-size:3.7rem; }
    .hp-expedition-scene__land--front { top:144px; font-size:4.4rem; }
    .hp-expedition-scene__primary { font-size:3rem; top:108px; }
    .hp-expedition-scene__reward { font-size:3rem; right:24px; bottom:14px; }
}
