
:root{font:14px/1.45 system-ui,Arial;color:#16434b;background:#f2f7f8}*{box-sizing:border-box}body{margin:0}.demo{position:sticky;top:0;background:#f3da99;color:#614a18;text-align:center;font-weight:800;font-size:11px;padding:5px}header{background:white;border-bottom:1px solid #d6e4e7;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{font-size:17px;font-weight:850;white-space:nowrap}.lang{display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end}.lang button{border:1px solid transparent;border-radius:6px;background:white;min-width:32px;min-height:35px;font-size:21px;cursor:pointer}.lang button[aria-pressed=true]{background:#e1f1f2;border-color:#7eafb7}main{max-width:780px;margin:auto;padding:20px 12px}h1{font-size:clamp(23px,5vw,34px);line-height:1.16;margin:4px 0 7px}p{margin:0 0 13px}.muted{color:#63838c}.eyebrow{font-size:11px;letter-spacing:.1em;color:#0c7b84;font-weight:800}.date{background:white;border:1px solid #dbe8ea;border-radius:11px;overflow:hidden;margin-bottom:12px}.datehead{background:#e8f2f3;padding:10px 13px;font-weight:800}.trip{padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.trip strong{font-size:16px}.facts{font-size:12px;margin-top:6px;color:#516f78}.free{color:#0a7977;font-weight:800}.full{color:#a33b28;font-weight:800}button.join,button.submit{border:0;border-radius:7px;min-height:38px;padding:7px 11px;background:#087781;color:white;font-weight:800;cursor:pointer}button:disabled{opacity:.45;cursor:default}.notice{background:#e5f0f1;border-radius:8px;padding:10px;color:#55727b;font-size:12px}dialog{border:0;border-radius:12px;box-shadow:0 15px 50px #1239;width:min(95vw,420px);padding:15px;color:#16434b}dialog::backdrop{background:#1239}label{display:block;font-size:12px;font-weight:700;margin:9px 0}input{display:block;width:100%;min-height:40px;padding:7px;border:1px solid #bfd3d7;border-radius:6px;margin-top:4px}button.close{float:right;border:0;background:none;font-size:26px;cursor:pointer}.people{display:grid;grid-template-columns:1fr 1fr;gap:10px}.error{color:#a33b28;font-size:12px}.small{font-size:11px;color:#68848c}footer{color:#68848c;text-align:center;font-size:11px;margin-top:20px}@media(max-width:610px){header{display:block;padding:9px}.brand{margin-bottom:6px;font-size:15px}.lang{justify-content:space-between;flex-wrap:nowrap}.lang button{min-width:33px}.trip strong{font-size:14px}.trip{padding:11px}.facts{font-size:11px}main{padding:14px 9px}}

.lang button img{display:block;width:28px;height:19px;border:1px solid #c1d4d8;border-radius:2px}.segment{display:block;color:#52747d;font-size:11px;line-height:1.4;margin-top:3px}.loading{padding:20px 12px;text-align:center;background:#fff;border:1px solid #dbe8ea;border-radius:8px}.lang button{display:grid;place-items:center}

/* v0.24: mobile-first layout, image on the left, Join button beneath the offer */
.date .trip{display:grid;grid-template-columns:128px minmax(0,1fr);gap:9px;align-items:start}
.date .trip .exc-photo{width:100%;height:112px;object-fit:cover;border-radius:8px;background:#d8edf0}
.date .trip .trip-main{min-width:0}
.date .trip .trip-main strong{font-size:16px;line-height:1.25;display:block}
.date .trip .segment{font-size:12px;line-height:1.4;margin-top:5px}
.date .trip .facts{margin-top:7px}
.date .trip .join{grid-column:1/-1;width:100%;min-height:37px;justify-self:stretch}
.section-header{margin-top:25px;margin-bottom:10px}
.section-header h2{margin:0 0 4px;font-size:22px;color:#16434b}
.section-header p{font-size:13px}
.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.catalog-row{display:grid;grid-template-columns:105px minmax(0,1fr) 22px;gap:8px;align-items:center;min-width:0;margin:0!important;padding:7px;border:1px solid #d6e8e8;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.catalog-row.chosen{border-color:#0d8188;background:#e7f5f5}
.catalog-row .exc-photo{width:105px;height:79px;border-radius:7px;object-fit:cover;background:#d8edf0}
.catalog-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.catalog-text strong{font-size:13px;line-height:1.25}
.catalog-text>span{font-size:11px;font-weight:400;color:#56767c;line-height:1.3}
.catalog-select input{width:20px;height:20px;accent-color:#0c7880;margin:0}
.catalog-row:focus-within{outline:2px solid #0b7987}
.custom-request{display:block;margin:12px 0 0;width:100%;font-size:14px}
.tanya-section{display:flex;align-items:center;gap:13px;margin:24px 0 12px;padding:15px;background:#e4f1f2;border:1px solid #d0e4e7;border-radius:12px}
.tanya-section h2{margin:0 0 4px;font-size:17px}
.tanya-section p{margin:0 0 9px;font-size:12px;color:#446b73}
.tanya-section a{font-size:12px;color:#066e7c;font-weight:800}
.tanya-mark{width:54px;height:54px;border-radius:50%;flex:none;background:linear-gradient(155deg,#e3f9ff,#45b4c9);display:grid;place-items:center;font-size:31px}
#desiredDateWrap[hidden]{display:none!important}
#ruDialog{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;background:#084f96;padding:0;overflow:hidden}
#ruDialog::backdrop{background:#08283edc}
.russian-screen{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}
.russian-screen img{width:100%;height:100%;object-fit:contain}
.russian-back{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-height:42px;border:1px solid #fff;background:#082951bf;color:white;font-size:13px;border-radius:25px;padding:8px 17px;white-space:nowrap;cursor:pointer}
@media(max-width:750px){
 .catalog{grid-template-columns:1fr}
 .date .trip{grid-template-columns:104px minmax(0,1fr);gap:7px}
 .date .trip .exc-photo{height:106px}
 .date .trip .trip-main strong{font-size:14px}
 .date .trip .segment{font-size:11px;margin-top:3px}
 .date .trip .facts{font-size:11px}
 .date .trip .join{min-height:35px;font-size:13px;margin-top:1px}
 .catalog-row{grid-template-columns:108px minmax(0,1fr) 25px;gap:7px;padding:6px}
 .catalog-row .exc-photo{width:108px;height:80px}
 .catalog-text strong{font-size:13px}
 .section-header{margin-top:21px}
 .section-header h2{font-size:20px}
}
@media(max-width:370px){
 .date .trip{grid-template-columns:92px minmax(0,1fr)}
 .date .trip .exc-photo{height:91px}
 .catalog-row{grid-template-columns:92px minmax(0,1fr) 21px;gap:6px}
 .catalog-row .exc-photo{width:92px;height:73px}
 .catalog-text strong{font-size:12px}
}


/* v0.25: fixed-size mosaics for combined trips, including narrow phones. */
.trip-photos{width:128px;height:112px;display:grid;gap:2px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;border-radius:8px;overflow:hidden;background:#c6e6e9}
.trip-photo-tile{min-width:0;min-height:0;position:relative;overflow:hidden}
.date .trip .trip-photos .exc-photo{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}
.trip-photos.count-1 .trip-photo-tile{grid-column:1/-1;grid-row:1/-1}
.trip-photos.count-2 .trip-photo-tile{grid-row:1/-1}
.trip-photos.count-3 .trip-photo-tile:first-child{grid-row:1/-1}
.trip-more{position:absolute;inset:0;display:grid;place-items:center;background:#082d3a9e;color:#fff;font-size:18px;font-weight:800}
.plan-teaser{margin:18px 0 10px;padding:17px;background:#e4f2f3;border:1px solid #cce5e8;border-radius:12px}
.plan-teaser h2{font-size:20px;margin:0 0 7px}
.plan-teaser .muted{font-size:12px}
.plan-link{display:block;text-align:center;min-height:42px;background:#087781;color:white!important;text-decoration:none;border-radius:8px;font-weight:800;padding:11px;margin-top:8px}
.plan-link:hover,.plan-link:focus-visible{background:#075d68}
.backlink{display:inline-flex;color:#096f7c;font-size:12px;font-weight:800;text-decoration:none;margin:5px 0 1px}
body[data-page="plan"] .custom-section{margin-top:9px}
body[data-page="plan"] .section-header{margin-top:13px}
@media(max-width:750px){
 .trip-photos{width:104px;height:106px}
 .plan-teaser{padding:12px;margin:13px 0}
 .plan-teaser h2{font-size:18px}
}
@media(max-width:370px){.trip-photos{width:92px;height:91px}}

/* v0.26: poster as a lightbox, not a separate full-screen page */
#ruDialog{width:min(90vw,560px);max-width:560px;height:auto;max-height:86dvh;border:0;border-radius:12px;padding:0;overflow:hidden;background:transparent}
#ruDialog .russian-screen{width:100%;height:auto;display:block;cursor:pointer}
#ruDialog .russian-screen img{width:100%;height:auto;max-height:86dvh;display:block;object-fit:contain;cursor:pointer}
#ruDialog::backdrop{background:#08283ebc}

/* v0.27 — clear individual activities inside one whole-trip offer */
.date .trip{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:9px 12px}
.trip-items{display:flex;flex-direction:column;gap:5px}
.trip-activity{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e3edef;padding:6px 0}
.trip-activity:last-child{border-bottom:0}
.date .trip .trip-activity .exc-photo{display:block;flex:none;width:115px;height:82px;object-fit:cover;border-radius:7px}
.trip-activity-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}
.date .trip .trip-activity-body strong{font-size:14px;line-height:1.22}
.date .trip .segment{font-size:12px;line-height:1.3;margin:0;color:#527681}
.date .trip .facts{font-size:12px;margin:0;color:#517279}
.date .trip .join{display:block;width:100%;min-height:38px;grid-column:auto;justify-self:stretch}
.datehead{font-size:14px}
/* Two photo-first cards per phone row, three on larger viewports */
.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.catalog-row{display:flex;flex-direction:column;position:relative;align-items:stretch;gap:5px;padding:6px;min-width:0}
.catalog-choice{display:block;position:relative;margin:0;padding:0 0 3px;min-width:0;cursor:pointer;flex:1}
.catalog-row .catalog-choice .exc-photo{display:block;width:100%;height:126px;object-fit:cover;border-radius:6px;background:#daecf0}
.catalog-row .catalog-choice .catalog-text{display:block;min-height:36px;padding:6px 2px 0}
.catalog-row .catalog-choice .catalog-text strong{display:block;font-size:12px;line-height:1.22;overflow-wrap:anywhere}
.catalog-row .catalog-choice input[type=checkbox]{position:absolute;right:6px;top:6px;width:22px;height:22px;min-height:22px;margin:0;background:white;accent-color:#0b7883;box-shadow:0 0 0 3px #fffd;border-radius:4px;cursor:pointer}
.catalog-row .exc-detail{align-self:stretch;margin-top:auto}
.exc-detail{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;min-height:30px;border:1px solid #b8d4d9;border-radius:6px;background:#f4faf9;color:#08727e;font-size:12px;font-weight:750;cursor:pointer}
.exc-detail:hover{background:#e3f2f4}
.catalog-row.chosen{border-color:#0d8389;background:#ebf8f7}
body[data-page=plan] .section-header{width:100%;margin-top:12px}
body[data-page=plan] .section-header h2{width:100%;font-size:clamp(20px,3.8vw,27px);margin:0 0 7px;line-height:1.2}
body[data-page=plan] .section-header .muted{display:none}
#desiredDate{width:100%;height:41px;min-height:41px;padding:6px;border-radius:7px;border:1px solid #bfd3d7;background:white;color:#16434b;font:inherit}
#excursionInfo{width:min(94vw,450px);max-height:88dvh;overflow:auto;padding:16px}
#excursionInfo #infoPhoto{width:100%;max-height:220px;object-fit:cover;border-radius:9px;display:block;margin:5px 0 10px}
#excursionInfo #infoTitle{font-size:19px;margin:0 0 8px}
#excursionInfo #infoDescription{font-size:13px;color:#456a73;line-height:1.45;margin:0 0 10px}
#excursionInfo #infoDescription[hidden],#excursionInfo #infoFollowMe[hidden]{display:none}
#excursionInfo #infoFollowMe{display:block;border-radius:7px;background:#0a7783;color:white;padding:10px;text-align:center;text-decoration:none;font-weight:750;font-size:13px}
#excursionInfo .info-close{float:right;position:relative;z-index:2;background:white;border:0;border-radius:50%;font-size:24px;color:#335e66;cursor:pointer}
@media(max-width:750px){
 .catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .catalog-row{padding:5px;gap:4px}
 .catalog-row .catalog-choice .exc-photo{height:94px;width:100%}
 .catalog-row .catalog-choice .catalog-text{min-height:37px;padding:5px 1px 0}
 .catalog-row .catalog-choice .catalog-text strong{font-size:12px}
 .catalog-row .exc-detail{font-size:11px;min-height:32px}
 .date .trip{padding:8px 10px}
 .date .trip .trip-activity .exc-photo{width:92px;height:78px;flex:none}
 .date .trip .trip-activity-body strong{font-size:13px}
 .date .trip .segment{font-size:11px}
 .trip-activity{gap:8px;padding:5px 0}
}
@media(max-width:370px){
 .catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .catalog-row .catalog-choice .exc-photo{height:86px}
 .catalog-row .catalog-choice .catalog-text strong{font-size:11px}
 .date .trip .trip-activity .exc-photo{width:87px;height:72px}
}


/* v0.28: stronger separation between whole trips and wider balanced activity rows. */
#schedule .date{
 margin:0 0 21px;
 background:#fff;
 border:1px solid #c8dfe3;
 border-left:4px solid #0a8b94;
 border-radius:14px;
 box-shadow:0 6px 18px rgba(14,64,75,.16),0 1px 3px rgba(10,58,70,.07);
 overflow:hidden;
}
#schedule .datehead{
 background:linear-gradient(90deg,#d7eef0 0%,#e9f4f5 100%);
 border-bottom:1px solid #c6e0e4;
 padding:11px 14px;
 font-size:14px;
 font-weight:850;
 letter-spacing:.01em;
 color:#164b54;
}
#schedule .date .trip{
 display:flex;
 flex-direction:column;
 align-items:stretch;
 gap:9px;
 padding:10px 13px 13px;
}
#schedule .trip-items{display:flex;flex-direction:column;gap:0}
#schedule .trip-activity{
 display:grid;
 grid-template-columns:minmax(0,42%) minmax(0,1fr);
 gap:13px;
 align-items:center;
 padding:9px 0;
 border-bottom:1px solid #dbe8eb;
 min-width:0;
}
#schedule .trip-activity:last-child{border:0}
#schedule .trip-activity-photo{
 display:block;
 width:100%;
 padding:0;
 margin:0;
 border:0;
 border-radius:9px;
 background:#e0edef;
 overflow:hidden;
 min-width:0;
 box-shadow:0 1px 3px rgba(7,51,59,.1);
}
#schedule button.trip-activity-photo{cursor:pointer}
#schedule button.trip-activity-photo:focus-visible{outline:3px solid #087c85;outline-offset:3px}
#schedule .trip-activity .trip-activity-photo .exc-photo{
 display:block;
 width:100%;
 height:128px;
 border-radius:0;
 object-fit:cover;
}
#schedule .trip-activity-body{
 display:flex;
 flex-direction:column;
 align-items:stretch;
 justify-content:center;
 gap:7px;
 min-width:0;
}
#schedule .trip-activity-title{
 display:flex;
 align-items:center;
 justify-content:flex-start;
 gap:7px;
 min-width:0;
}
#schedule .trip-activity-title strong{
 font-size:clamp(15px,1.7vw,19px);
 line-height:1.25;
 overflow-wrap:anywhere;
 min-width:0;
}
#schedule .activity-info{
 display:grid;
 place-items:center;
 flex:none;
 height:33px;
 width:33px;
 padding:0;
 border:1px solid #a2ccd2;
 border-radius:50%;
 background:#e9f6f7;
 color:#006e78;
 font-family:Arial,sans-serif;
 font-size:23px;
 font-weight:700;
 line-height:1;
 cursor:pointer;
}
#schedule .activity-info:hover,#schedule .activity-info:focus-visible{
 background:#cfecef;
 outline:2px solid #088391;
 outline-offset:1px;
}
#schedule .trip-activity .segment{font-size:12px;color:#557d85;line-height:1.4}
#schedule .date .facts{
 margin:3px 0 0;
 font-size:12px;
 font-weight:700;
}
#schedule .date .join{min-height:42px;font-size:14px;border-radius:8px}
@media(max-width:750px){
 #schedule .date{margin-bottom:20px;box-shadow:0 5px 15px rgba(15,55,71,.17)}
 #schedule .datehead{font-size:14px;padding:11px 12px}
 #schedule .date .trip{gap:7px;padding:7px 10px 11px}
 #schedule .trip-activity{grid-template-columns:minmax(0,43%) minmax(0,1fr);gap:11px;padding:8px 0}
 #schedule .trip-activity .trip-activity-photo .exc-photo{height:auto;aspect-ratio:1.38;max-height:155px;object-fit:cover}
 #schedule .trip-activity-title strong{font-size:14px;line-height:1.25}
 #schedule .trip-activity .segment{font-size:12px}
 #schedule .activity-info{height:32px;width:32px;font-size:22px}
 #schedule .date .join{min-height:40px}
}
@media(max-width:370px){
 #schedule .trip-activity{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:8px;padding:7px 0}
 #schedule .trip-activity-title strong{font-size:13px}
 #schedule .activity-info{height:29px;width:29px;font-size:21px}
}


/* v0.29: visual-only full-width activity photos; times only in the trip header. */
#schedule .datehead{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:12px;row-gap:3px}
#schedule .trip-hours{white-space:nowrap;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:#0b6975}
#schedule .trip-activity{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:11px 0;border-bottom:1px solid #dbe8eb}
#schedule .trip-activity:first-child{padding-top:3px}
#schedule .trip-activity:last-child{border-bottom:0;padding-bottom:4px}
#schedule .trip-activity-photo{width:100%;height:auto;border-radius:10px;overflow:hidden}
#schedule .trip-activity .trip-activity-photo .exc-photo{
 display:block;width:100%;height:auto;max-height:none;aspect-ratio:2/1;object-fit:cover;border-radius:0;
}
#schedule .trip-activity-title{display:flex;align-items:center;justify-content:flex-start;gap:9px;min-width:0;padding:1px 2px}
#schedule .trip-activity-title strong{font-size:clamp(15px,2vw,19px);line-height:1.3}
#schedule .activity-info{width:32px;height:32px}
#schedule .date .trip{padding:9px 12px 13px}
@media(max-width:750px){
 #schedule .datehead{padding:10px 12px}
 #schedule .date .trip{padding:8px 10px 11px}
 #schedule .trip-activity{display:flex;gap:6px;padding:9px 0}
 #schedule .trip-activity .trip-activity-photo .exc-photo{width:100%;height:auto;aspect-ratio:2/1;max-height:none}
 #schedule .trip-activity-title strong{font-size:15px}
 #schedule .activity-info{width:30px;height:30px}
}


/* v0.30 compact public header and panoramic activity photos; no photo files changed */
.demo{position:static;padding:3px 7px;font-size:9px;line-height:1.25}
header{padding:7px 10px;gap:6px}
.brand{font-size:15px;line-height:1.25}
.lang{gap:2px;align-items:center}
.lang button{width:32px;height:29px;min-width:32px;min-height:29px;padding:0}
.lang button img{width:20px;height:14px}
body[data-page=board] #eyebrow,
body[data-page=board] #heading,
body[data-page=board] #intro{display:none}
body[data-page=board] main{padding-top:9px}
#schedule .trip-activity .trip-activity-photo .exc-photo{
 width:100%;height:auto;max-height:none;aspect-ratio:2.7/1;object-fit:cover;
}
@media(max-width:610px){
 header{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:6px 9px}
 .brand{font-size:14px;line-height:1.15;margin:0}
 .lang{display:flex;justify-content:space-between;flex-wrap:nowrap;gap:1px}
 .lang button{width:30px;height:27px;min-width:30px;min-height:27px}
 .lang button img{width:19px;height:13px}
 body[data-page=board] main{padding:8px 9px 15px}
 #schedule .trip-activity .trip-activity-photo .exc-photo{aspect-ratio:2.7/1;max-height:none}
}
