/* Open-dated holiday package page (views/front/opentour.view.php). Scoped under .ot. */
.ot{--ink:#0f172a;--body:#334155;--muted:#64748b;--line:#e8eaf0;--soft:#f6f7fa;--navy:#1c2a6b;--blue:#2b3991;--blue-soft:#eef1fb;--orange:#f7931d;--green:#15803d;--green-soft:#ecfdf3;--r:16px;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);background:#f4f5f8;color:var(--ink);font-size:15px;line-height:1.5;padding-bottom:90px}
.ot *{box-sizing:border-box}
.ot button{font:inherit;cursor:pointer}
.ot img{display:block;max-width:100%}
.ot-wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.ot{display:block;width:100%;flex:0 0 100%;max-width:100%;min-width:0}
.ot-hero{position:relative;display:block;width:100%;height:300px;overflow:hidden;background:#1c2a6b}
.ot-hero img{width:100%;height:100%;object-fit:cover;opacity:.85}
.ot-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,0) 35%,rgba(15,23,42,.7) 100%)}
.ot-hero .cap{position:absolute;left:0;right:0;bottom:0;z-index:1}.ot-hero .cap .ot-wrap{padding-bottom:64px}
.ot-hero h1{margin:0;color:#fff;font-size:36px;line-height:1.1;letter-spacing:-.8px;font-weight:700}
.ot-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ot-tags span{background:rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:500;padding:6px 12px;border-radius:999px}
.ot-tags .open{background:#fff;color:var(--navy);font-weight:600}
.ot-tags .gvt{background:var(--green-soft);color:var(--green);font-weight:600}
.ot-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin:-36px auto 0;position:relative;z-index:2}
.ot-cfg,.ot-det,.ot-isl,.ot-sum{background:#fff;border-radius:var(--r);box-shadow:var(--shadow)}
.ot-sec{padding:24px 28px;border-top:1px solid var(--line)}.ot-cfg>.ot-sec:first-child{border-top:0}.ot-sec[hidden]{display:none}
.ot-lbl{font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.ot-lbl.plain{text-transform:none;letter-spacing:0;font-size:13px}
/* rooms */
.ot-rooms{display:flex;flex-direction:column;gap:10px}
.ot-rc{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ot-rc-h{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--soft)}
.ot-rc-h b{font-size:14px;white-space:nowrap}
.ot-rc-h .sm{flex:1;min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ot-rc-h .rm{margin-left:auto;border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;padding:4px 0;white-space:nowrap}
.ot-gg{display:grid;grid-template-columns:repeat(3,1fr)}
.ot-gr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}
.ot-gg .ot-gr+.ot-gr{border-left:1px solid #f0f1f5}
.ot-gr .n{font-size:15px;font-weight:600}.ot-gr .n small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.ot-stp{display:flex;align-items:center;gap:12px}
.ot-stp button{width:34px;height:34px;border-radius:999px;border:1px solid #cfd5e3;background:#fff;font-size:18px;line-height:1;display:grid;place-items:center;color:var(--blue);padding:0}
.ot-stp button:disabled{opacity:.3;cursor:default;color:var(--ink)}
.ot-stp output{min-width:18px;text-align:center;font-size:16px;font-weight:700}
.ot-ages{display:flex;flex-wrap:wrap;gap:8px 12px;padding:12px 16px 14px;border-top:1px solid #f0f1f5}
.ot-ages label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--body);margin:0;font-weight:400}
.ot-ages select{font:inherit;font-size:13px;padding:7px 34px 7px 12px;border:1px solid #d7dce8;border-radius:10px;color:var(--ink);-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%2364748b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;height:auto;width:auto}
.ot-full{padding:0 16px 12px;font-size:12px;color:var(--muted)}
.ot-addroom{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;border:1px solid #cfd5e3;background:#fff;border-radius:12px;padding:12px;font-size:14px;font-weight:600;color:var(--blue)}
.ot-addroom:disabled{opacity:.4;cursor:default}
/* duration */
.ot-dur{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:14px;overflow:hidden;max-width:420px}
.ot-dur button{flex:0 0 60px;border:0;background:var(--soft);font-size:24px;line-height:1;color:var(--ink)}
.ot-dur button:disabled{opacity:.3;cursor:default}
.ot-dur .val{flex:1;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.ot-dur .val div{padding:10px 8px;text-align:center}.ot-dur .val div+div{border-left:1px solid var(--line)}
.ot-dur .val b{display:block;font-size:34px;line-height:1.05;letter-spacing:-.8px}.ot-dur .val span{display:block;font-size:13px;font-weight:600;color:var(--muted)}
.ot-dur .val div:first-child b{color:var(--blue)}
.ot-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ot-quick button{border:0;background:var(--soft);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--body)}
.ot-quick button[aria-pressed=true]{background:var(--ink);color:#fff}
/* ports */
.ot-ports{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ot-opt{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;text-align:left}
.ot-opt[aria-checked=true]{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue) inset}
.ot-opt .t{font-size:14px;font-weight:600}.ot-opt .d{font-size:13px;color:var(--body);margin-top:2px}.ot-opt .p{margin-top:8px;font-size:16px;font-weight:700}
.ot-opt[aria-checked=true] .p{color:var(--blue)}
/* seasons */
.ot-slist{display:flex;flex-direction:column;gap:8px}
.ot-srow{display:grid;grid-template-columns:22px 130px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px;text-align:left}
.ot-srow[aria-checked=true]{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue) inset}
.ot-srow .rd{width:18px;height:18px;border-radius:999px;border:1.5px solid #c3c9d8;background:#fff}
.ot-srow[aria-checked=true] .rd{border:5px solid var(--blue)}
.ot-srow .nm{font-size:15px;font-weight:600}
.ot-srow .dt{display:flex;flex-wrap:wrap;gap:4px 8px}
.ot-srow .dt span{font-size:14px;font-weight:500;color:var(--body);background:var(--soft);border-radius:8px;padding:4px 10px;white-space:nowrap}
.ot-srow[aria-checked=true] .dt span{background:#fff}
.ot-srow .pr{text-align:right;white-space:nowrap}.ot-srow .pr b{font-size:18px;letter-spacing:-.3px}.ot-srow .pr small{display:block;font-size:11px;color:var(--muted)}
.ot-srow[aria-checked=true] .pr b{color:var(--blue)}
/* region */
.ot-rg{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;text-align:left;width:100%}
.ot-rg+.ot-rg{margin-top:10px}
.ot-rg .im{height:104px;border-radius:10px;overflow:hidden;background:#dfe4ef}.ot-rg .im img{width:100%;height:100%;object-fit:cover}
.ot-rg h3{margin:2px 0 4px;font-size:16px;display:flex;justify-content:space-between;gap:10px}.ot-rg h3 span{font-size:15px;color:var(--blue);white-space:nowrap}
.ot-rg p{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--body)}
.ot-rg .hn{display:flex;flex-wrap:wrap;gap:6px}.ot-rg .hn span{font-size:12.5px;font-weight:600;color:var(--body);background:var(--soft);border-radius:8px;padding:4px 9px}.ot-rg .hn .vb{background:none;color:var(--muted)}
button.ot-rg[aria-checked=true]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset;background:var(--blue-soft)}
/* summary */
.ot-sum{position:sticky;top:15px;overflow:hidden}
.ot-sum-top{background:var(--navy);color:#fff;padding:20px 22px}
.ot-sum-top small{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#9aa6d6;font-weight:600}
.ot-sum-top b{display:block;font-size:17px;margin-top:4px}
.ot-sum-top .chip{display:inline-block;margin-top:10px;background:rgba(255,255,255,.12);font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px}
.ot-sum dl{margin:0;padding:16px 22px 4px}
.ot-sum dl div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 0;font-size:14px;border-bottom:1px solid #f0f1f5}
.ot-sum dl div:last-child{border-bottom:0}
.ot-sum dt{color:var(--muted);font-weight:400;white-space:nowrap}.ot-sum dd{margin:0;font-weight:600;text-align:right;max-width:210px;line-height:1.45}
.ot-sum dl.brk{background:var(--soft);margin:0 22px 14px;padding:6px 14px;border-radius:10px}
.ot-sum dl.brk div{padding:6px 0;font-size:13px;border-bottom-color:#eceef4}
.ot-sum dl.brk dt{color:var(--ink)}.ot-sum dl.brk dt small{color:var(--muted);font-size:12px;margin-left:2px}
.ot-sum .tot{display:flex;justify-content:space-between;align-items:baseline;padding:14px 22px;border-top:1px solid var(--line)}
.ot-sum .tot span{font-weight:600}.ot-sum .tot b{font-size:24px;letter-spacing:-.4px}
.ot-sum .cta{padding:0 22px 22px}
.ot-btn{display:block;width:100%;border:0;border-radius:12px;padding:15px 16px;font-size:15px;font-weight:700;background:var(--orange);color:#fff;text-align:center}
.ot-btn:disabled{opacity:.6;cursor:default}
.ot-msg{margin:10px 0 0;font-size:13px;color:var(--muted)}
.ot-opt .p small,.ot-rg h3 span small{font-size:11px;font-weight:500;color:var(--muted)}
/* about (tour description) */
.ot-about{margin-top:16px;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:26px 28px}
.ot-about h2{margin:0 0 14px;font-size:20px;letter-spacing:-.3px}
.ot-about-body{position:relative;max-width:68ch;color:var(--body);font-size:15px;line-height:1.75}
.ot-about-body p{margin:0 0 14px}
.ot-about-body h3{margin:22px 0 8px;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.1px}
.ot-about-body strong,.ot-about-body b{color:var(--ink);font-weight:600}
.ot-about-body ul,.ot-about-body ol{margin:0 0 14px;padding-left:20px}.ot-about-body li{margin:4px 0}
.ot-about-body a{color:var(--blue);text-decoration:underline}
.ot-about-body.clip{max-height:270px;overflow:hidden}
.ot-about-body.clip:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.ot-about-more{margin-top:6px;border:0;background:none;padding:0;color:var(--blue);font-size:14px;font-weight:600}
@media(max-width:620px){.ot-about{padding:20px 18px}.ot-about-body{font-size:14.5px}}
/* details tabs */
.ot-det{margin-top:16px;overflow:hidden}
.ot-det-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ot-det-tabs button{border:0;background:none;padding:9px 14px;border-radius:10px;font-size:14px;font-weight:600;color:var(--muted)}
.ot-det-tabs button[aria-selected=true]{background:var(--soft);color:var(--ink)}
.ot-det-body{padding:20px 28px 24px;font-size:14px;color:var(--body);line-height:1.6}
.ot-det-body ul{list-style:none;padding:0;margin:0}
.ot-det-body li{position:relative;padding:7px 0 7px 30px;list-style:none}
.ot-det-body li::before{position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-size:11px;font-weight:700;line-height:1}
.ot-det-body[data-p=inc] li::before{content:"\2713";background:var(--green-soft);color:var(--green)}
.ot-det-body[data-p=exc] li::before{content:"\2212";background:#fef2f2;color:#b91c1c}
.ot-det-body[data-p=info] li::before{content:"i";background:var(--soft);color:var(--muted);font-style:italic}
.ot-det-body [hidden]{display:none!important}
.ot-more{margin-top:10px;border:0;background:none;padding:0;color:var(--blue);font-size:14px;font-weight:600}
.ot-det-body p{margin:14px 0 4px}.ot-det-body h1,.ot-det-body h2,.ot-det-body h3,.ot-det-body h4,.ot-det-body h5{font-size:14px;font-weight:700;margin:16px 0 4px}
/* island guide */
.ot-isl{margin-top:16px;padding:24px 28px}
.ot-isl-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.ot-isl-h h2{margin:0;font-size:20px;letter-spacing:-.3px}
.ot-gv{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green);background:var(--green-soft);border-radius:999px;padding:4px 10px}
.ot-isl .lead{margin:0 0 18px;color:var(--body);font-size:14.5px}
.ot-isl h4{margin:20px 0 10px;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.ot-isl h4 .nd{text-transform:none;letter-spacing:0;font-weight:500}
.ot-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ot-why div{background:var(--soft);border-radius:12px;padding:14px}.ot-why b{display:block;font-size:14px;margin-bottom:3px}.ot-why span{font-size:13px;color:var(--body)}
.ot-aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ot-aud-c{display:flex;align-items:flex-start;gap:14px;background:#f6f8fe;border:1px solid #e3e8f6;border-radius:16px;padding:18px}
.ot-aud .ic{flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#fff;color:var(--blue);display:grid;place-items:center;box-shadow:0 1px 2px rgba(15,23,42,.06),0 4px 14px rgba(43,57,145,.12)}
.ot-aud .ic svg{width:24px;height:24px}
.ot-aud .bd{min-width:0;padding-top:2px}
.ot-aud b{display:block;font-size:16px;line-height:1.3;letter-spacing:-.1px}
.ot-aud .tx{display:block;font-size:14px;color:var(--body);line-height:1.5;margin-top:4px}
.ot-places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}
.ot-places figure{margin:0}.ot-places .pi{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#dfe4ef}.ot-places .pi img{width:100%;height:100%;object-fit:cover}
.ot-places figcaption{padding-top:8px;font-size:13.5px;line-height:1.4}.ot-places figcaption b{display:block}.ot-places figcaption small{display:block;color:var(--muted);font-size:13px}.ot-places .cr{font-size:10.5px;color:#94a3b8;margin-top:2px}
.ot-next{display:flex;flex-wrap:wrap;gap:8px}.ot-next span{border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}
.ot-mbar{display:none}
@media(max-width:980px){.ot-grid{grid-template-columns:minmax(0,1fr);margin-top:-24px}.ot-sum{position:static}
  .ot-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px;align-items:center}
  .ot-mbar div{flex:1;min-width:0}.ot-mbar small{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ot-mbar b{font-size:20px}.ot-mbar .ot-btn{width:auto;padding:12px 20px}}
@media(max-width:700px){.ot-gg{grid-template-columns:1fr}.ot-gg .ot-gr+.ot-gr{border-left:0;border-top:1px solid #f0f1f5}}
@media(max-width:720px){.ot-aud{grid-template-columns:1fr}.ot-aud-c{padding:14px}.ot-why{grid-template-columns:1fr}.ot-places{grid-template-columns:repeat(2,minmax(0,1fr))}.ot-isl{padding:20px 18px}}
@media(max-width:620px){.ot-hero{height:250px}.ot-hero h1{font-size:28px}.ot-hero .cap .ot-wrap{padding-bottom:48px}.ot-sec{padding:20px 18px}.ot-dur{max-width:none}.ot-ports{grid-template-columns:repeat(2,minmax(0,1fr))}.ot-det-body{padding:16px 18px 20px}
  .ot-srow{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"rd nm pr" "rd dt dt";row-gap:8px;padding:12px 14px;align-items:start}.ot-srow .rd{grid-area:rd;margin-top:2px}.ot-srow .nm{grid-area:nm;line-height:22px}.ot-srow .dt{grid-area:dt}.ot-srow .pr{grid-area:pr}.ot-srow .dt span{font-size:13px}
  .ot-rg{grid-template-columns:1fr}.ot-rg .im{height:130px}}

/* Black Friday header (campaign banner look, as on the campaigns page) */
.ot-hero-bf{height:auto;display:flex;align-items:center;min-height:200px;padding:28px 0;background:#050915 url(../images/top-search-bg-blackfriday.jpg) repeat-x center center/auto 100%}
.ot-hero-bf:after{background:linear-gradient(90deg,rgba(5,9,21,.92) 0%,rgba(5,9,21,.72) 45%,rgba(5,9,21,.35) 100%)}
.ot-hero-bf .cap{position:relative;width:100%}.ot-hero-bf .cap .ot-wrap{padding-bottom:0}
.ot-hero-bf+.ot-grid{margin-top:24px}
.ot-bf-tag{display:inline-block;margin-bottom:12px;color:#fff;background:#c8102e;font-size:12px;font-weight:800;letter-spacing:1.6px;padding:5px 10px;border-radius:6px}
/* How it works (same pattern as the Feribotlines Pass page) */
.ot-how{list-style:none;margin:0;padding:4px 20px;background:var(--blue-soft);border-radius:14px}
.ot-how li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;align-items:center;margin:0;padding:12px 0}
.ot-how li+li{border-top:1px solid #d9def0}
.ot-how i{grid-row:1 / span 2;width:36px;height:36px;border-radius:999px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:15px}
.ot-how b{font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
.ot-how span{font-size:14px;line-height:1.45;color:var(--body)}
/* Accommodation card without a hotel photo: Black Friday panel */
.ot-rg .im.bf{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0b0b0d;color:#fff;text-align:center}
.ot-rg .im.bf b{font-size:17px;line-height:1.05;font-weight:900;letter-spacing:1px}
.ot-rg .im.bf small{margin-top:6px;font-size:11px;font-weight:700;letter-spacing:2px;color:#ff4d5e}
/* HoliPay card between the configurator and the description */
.ot .hpx-wide .hpx-lead b{white-space:nowrap}
.ot .hpx-wide{float:none;margin:16px 0 0;background:#fff;border:0;border-radius:var(--r);box-shadow:var(--shadow);padding:20px 24px 14px}
@media(max-width:620px){.ot-hero-bf{min-height:0;padding:24px 0}.ot-hero-bf:after{background:rgba(5,9,21,.72)}.ot-hero-bf+.ot-grid{margin-top:16px}.ot-how{padding:4px 16px}.ot-rg .im.bf b{font-size:22px}}
