#oya-escapes{
--ink:#182d46;--cream:#f1e9d9;--gold:#d9b56b;--red:#be4137;
font-family:Arial,Helvetica,sans-serif;color:var(--ink);
max-width:1160px;margin:auto
}
#oya-escapes *{box-sizing:border-box}
#oya-escapes .frame{
background:#14283f;padding:18px;border-radius:19px;
box-shadow:0 16px 45px #09172a25
}
#oya-escapes .heading{
text-align:center;color:#f5eddb;padding:20px 12px 27px
}
#oya-escapes .eyebrow{
font-size:10px;letter-spacing:3px;color:#dcba7b;font-weight:800
}
#oya-escapes .heading h2{
font-family:Georgia,serif;font-size:clamp(27px,4vw,43px);
font-weight:700;letter-spacing:-1px;color:#f5eddb;margin:10px 0
}
#oya-escapes .heading p{font-size:13px;color:#d5cbbb;margin:0}
#oya-escapes .layout{
display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);
gap:17px;align-items:start
}
#oya-escapes .paper{
background:
repeating-linear-gradient(35deg,#493a1907 0,#493a1907 1px,transparent 1px,transparent 6px),
radial-gradient(circle at 10% 5%,#d9c3a277,transparent 45%),
var(--cream);
border-radius:12px;padding:29px 23px;
box-shadow:inset 0 0 0 1px #c9b99f
}
#oya-escapes .paper-title{
font-size:12px;font-weight:900;letter-spacing:2px;
border-bottom:1px solid #b9a98f;padding-bottom:14px;margin-bottom:23px
}
#oya-escapes .stop{
display:grid;grid-template-columns:43px minmax(0,1fr);
gap:15px;position:relative;min-height:105px
}
#oya-escapes .stop:before{
content:"";position:absolute;top:0;bottom:0;left:17px;
width:7px;background:var(--line);border-radius:4px
}
#oya-escapes .stop:first-of-type:before{top:17px}
#oya-escapes .stop.last:before{bottom:auto;height:22px}
#oya-escapes .station{
height:34px;width:34px;border:7px solid var(--line);
background:var(--cream);border-radius:50%;
position:relative;z-index:1;margin-top:3px
}
#oya-escapes .stop-content{padding-bottom:25px;min-width:0}
#oya-escapes .step-label{
font-size:11px;font-weight:900;letter-spacing:1.3px;
margin-bottom:10px;display:block
}
#oya-escapes .sub{
font-size:12px;color:#6e685f;margin:9px 0 0;line-height:1.5
}
#oya-escapes .options{
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px
}
#oya-escapes button.opt{
background:#fffaf0;border:1px solid #beae95;
border-radius:9px;padding:13px 10px;color:#24374b;
font-size:12px;font-weight:800;text-align:center;
cursor:pointer;transition:.18s ease;line-height:1.45;min-height:48px
}
#oya-escapes button.opt:hover{
border-color:#b34239;transform:translateY(-1px)
}
#oya-escapes button.opt.selected{
background:var(--ink);color:white;border-color:var(--ink);
box-shadow:0 3px 0 #c2a16c
}
#oya-escapes .time-grid{
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px
}
#oya-escapes .time-grid button.opt{
padding:10px 4px;min-height:40px
}
#oya-escapes .mystery{
background:#fff7e8;border:1px dashed #bca77e;
border-radius:11px;padding:16px;
display:flex;align-items:flex-start;gap:12px;cursor:pointer
}
#oya-escapes .mystery input{
width:18px;height:18px;accent-color:#b34239;flex-shrink:0;
margin-top:4px
}
#oya-escapes .mystery strong{
font-size:12px;letter-spacing:1px
}
#oya-escapes .mystery-price{
display:flex;align-items:baseline;gap:10px;
flex-wrap:wrap;margin:12px 0 3px
}
#oya-escapes .mystery-price b{
font-family:Georgia,serif;font-size:29px;color:#182d46
}
#oya-escapes .mystery-price small{
font-size:12px;font-weight:800;color:#876128
}
#oya-escapes .mystery-saving{
display:inline-block;background:#e3eadb;color:#385a3b;
font-size:11px;font-weight:800;padding:5px 9px;
border-radius:5px;margin-top:8px
}
#oya-escapes .mystery-saving[hidden],
#oya-escapes .ticket-per-person[hidden]{display:none}
#oya-escapes .ticket{
background:#203750;color:#f8f0e0;
padding:27px 22px;border-radius:12px;
border:1px solid #486078;position:sticky;top:16px;
background-image:repeating-linear-gradient(
0deg,#ffffff03 0,#ffffff03 1px,transparent 1px,transparent 5px)
}
#oya-escapes .ticket .overline{
font-size:10px;letter-spacing:2.3px;
color:#eac783;font-weight:900
}
#oya-escapes .ticket h3{
font-family:Georgia,serif;font-size:27px;
color:#f6e9d3;margin:12px 0 18px;line-height:1.13
}
#oya-escapes .ticket-rule{
height:1px;background:#ffffff35;margin:20px 0
}
#oya-escapes .detail{
display:flex;justify-content:space-between;gap:10px;
font-size:13px;padding:10px 0;
border-bottom:1px solid #ffffff1b
}
#oya-escapes .detail span{color:#c2cbd2}
#oya-escapes .detail strong{text-align:right;font-weight:700}
#oya-escapes .ticket-per-person{
font-size:11px;color:#eac783;text-align:right;
margin:5px 0 8px
}
#oya-escapes .fare-label{
font-size:11px;color:#eac783;
letter-spacing:2px;font-weight:900
}
#oya-escapes .fare{
font-family:Georgia,serif;font-size:45px;
font-weight:700;color:#eac783;margin:9px 0 20px
}
#oya-escapes .checkout{
display:block;width:100%;background:var(--red);
border:none;border-radius:8px;padding:17px 10px;
color:#fff;font-weight:900;letter-spacing:1px;
font-size:13px;opacity:.72;cursor:not-allowed
}
#oya-escapes .notice{
font-size:11px;color:#bdc7d0;
line-height:1.6;margin-top:16px;text-align:center
}
#oya-escapes .ticket-foot{
font-size:10px;color:#c9b48d;text-align:center;
letter-spacing:1.5px;margin-top:27px
}
#oya-escapes .included{
border-top:1px solid #ffffff35;margin-top:22px;
padding-top:16px;color:#eee1cc;font-size:12px;line-height:1.8
}
#oya-escapes .included strong{color:#eac783}
#oya-escapes .calendar{
background:#fffaf0;border:1px solid #bdad94;
border-radius:12px;padding:14px;max-width:380px
}
#oya-escapes .calendar-header{
display:flex;align-items:center;
justify-content:space-between;gap:10px;margin-bottom:12px
}
#oya-escapes .calendar-title{
font-family:Georgia,serif;font-size:18px;
font-weight:bold;text-align:center
}
#oya-escapes button.cal-arrow{
width:34px;height:34px;flex-shrink:0;
border:1px solid #bdad94;border-radius:8px;
background:#f4e8d5;color:#182d46;
font-size:20px;cursor:pointer
}
#oya-escapes button.cal-arrow:disabled{
opacity:.25;cursor:not-allowed
}
#oya-escapes .calendar-grid{
display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px
}
#oya-escapes .cal-weekday{
text-align:center;font-size:10px;font-weight:900;
color:#817768;padding:8px 0
}
#oya-escapes .cal-weekday.wed{color:#be4137}
#oya-escapes .cal-empty{min-height:37px}
#oya-escapes button.cal-day{
min-width:0;height:37px;border:0;border-radius:8px;
background:transparent;color:#b9afa0;
font-size:13px;font-weight:600;font-family:inherit
}
#oya-escapes button.cal-day:disabled{cursor:not-allowed}
#oya-escapes button.cal-day.bookable{
background:#e5d5b9;color:#182d46;
border:1px solid #c6ac7e;font-weight:900;cursor:pointer
}
#oya-escapes button.cal-day.bookable:hover{background:#d9c49d}
#oya-escapes button.cal-day.bookable.selected{
background:#182d46;color:#fff;border-color:#182d46;
box-shadow:0 2px 0 #c2a16c
}
#oya-escapes .calendar-legend{
display:flex;align-items:center;gap:8px;
font-size:11px;color:#71695c;margin-top:13px
}
#oya-escapes .legend-dot{
width:12px;height:12px;background:#e5d5b9;
border:1px solid #c6ac7e;border-radius:3px
}
@media(max-width:770px){
#oya-escapes .layout{grid-template-columns:1fr}
#oya-escapes .ticket{position:static}
#oya-escapes .frame{padding:10px}
#oya-escapes .paper{padding:23px 15px}
}
@media(max-width:420px){
#oya-escapes .stop{grid-template-columns:35px minmax(0,1fr);gap:10px}
#oya-escapes .stop:before{left:14px}
#oya-escapes .station{width:31px;height:31px}
#oya-escapes .options{grid-template-columns:repeat(2,minmax(0,1fr))}
#oya-escapes .calendar{padding:9px}
#oya-escapes button.cal-day{height:34px}
}

#oya-escapes .time-grid button.opt small{display:block;font-size:10px;font-weight:700;color:#876128;margin-top:2px}
#oya-escapes .time-grid button.opt.selected small{color:#eac783}
#oya-escapes .time-grid button.opt:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through;transform:none}
#oya-escapes .time-msg{grid-column:1/-1;font-size:12px;color:#6e685f;padding:6px 0}
#oya-escapes .checkout.ready{opacity:1;cursor:pointer}
#oya-escapes .checkout.ready:hover{filter:brightness(1.08)}
#oya-escapes .oya-alert{background:#be4137;color:#fff;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.5;margin:0 0 16px}
#oya-escapes [hidden]{display:none!important}

#oya-escapes .mystery-ask{background:#fff7e8;border:1px dashed #bca77e;border-radius:11px;padding:14px 14px 4px}
#oya-escapes .mystery-q{font-family:Georgia,serif;font-size:18px;display:block;margin-bottom:2px}
#oya-escapes .mystery-ask .sub{margin:6px 0 10px}
#oya-escapes .mystery-cost{display:block;margin-top:6px;color:#182d46;font-size:13px}
#oya-escapes .mystery-cost b{font-family:Georgia,serif;font-size:16px}
#oya-escapes .mystery-ask .mystery-saving{margin:0 0 10px}
#oya-escapes .mystery-ask .options{margin-top:4px}

#oya-escapes .calendar.oya-nudge{animation:oyaNudge 1.2s ease-in-out 2}
@keyframes oyaNudge{0%,100%{box-shadow:0 0 0 0 rgba(190,65,55,0)}50%{box-shadow:0 0 0 6px rgba(190,65,55,.45)}}

#oya-escapes .oya-pass{margin-top:12px}
#oya-escapes .oya-pass-toggle{background:none;border:0;padding:4px 0;font:inherit;font-size:12px;font-weight:800;letter-spacing:.5px;color:#0a8466;text-decoration:underline;cursor:pointer}
#oya-escapes .oya-pass-panel{background:#eef5ef;border:1px dashed #7fae8b;border-radius:10px;padding:12px;margin-top:6px}
#oya-escapes .oya-pass-row{display:flex;gap:8px;flex-wrap:wrap}
#oya-escapes .oya-pass-row input{flex:1;min-width:150px;border:1px solid #beae95;border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;letter-spacing:1px;text-transform:uppercase;background:#fffaf0;color:#182d46}
#oya-escapes .oya-pass-row .opt{min-height:0;padding:10px 14px}
#oya-escapes .oya-pass-msg{font-size:12px;margin:8px 0 0;color:#6e685f;min-height:1em}
#oya-escapes .oya-pass-msg.bad{color:#be4137}
#oya-escapes .oya-pass-on{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;background:#0a8466;color:#fff;border-radius:10px;padding:10px 12px;margin-top:6px;font-size:12px;font-weight:700}
#oya-escapes .oya-pass-remove{background:none;border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:999px;padding:5px 10px;font:inherit;font-size:11px;cursor:pointer}
#oya-escapes button.opt:disabled{opacity:.35;cursor:not-allowed;transform:none}
