/* Local fonts from the reference; isolated family names keep customer themes unchanged. */
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./fonts/ptch/poppins-latin-ext-500-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./fonts/ptch/poppins-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./fonts/ptch/poppins-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./fonts/ptch/poppins-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./fonts/ptch/poppins-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./fonts/ptch/poppins-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url('./fonts/ptch/poppins-latin-ext-800-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'PTCH Poppins';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url('./fonts/ptch/poppins-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'PTCH Noto Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('./fonts/ptch/noto-sans-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'PTCH Noto Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('./fonts/ptch/noto-sans-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'PTCH Barlow Semi Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./fonts/ptch/barlow-semi-condensed-latin-ext-600-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'PTCH Barlow Semi Condensed';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./fonts/ptch/barlow-semi-condensed-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Shared PTCH theme. Every rule is opt-in; customer styles retain their existing cascade. */
.ptch-default { --ptch-theme-build:20261026-7; --ptch-ink:#30355a; --ptch-blue:#5480c0; --ptch-soft:#f2f7fd; --ptch-line:#e0e0e0; color:var(--ptch-ink); background:#fff; font:16px/1.5 'PTCH Noto Sans','Segoe UI',Arial,sans-serif; min-height:100vh; }
.ptch-default *, .ptch-default *::before, .ptch-default *::after { box-sizing:border-box; }
.ptch-default h1,.ptch-default h2,.ptch-default h3,.ptch-default h4,.ptch-default h5 { font-family:inherit; color:var(--ptch-ink); letter-spacing:-.035em; font-weight:800; text-transform:none; }
.ptch-default h1 { font-size:clamp(30px,3.7vw,48px); line-height:1.12; }
.ptch-default h2 { font-size:32px; line-height:1.2; }
.ptch-default p { font-family:inherit; line-height:1.6; }
.ptch-default a { color:#426ba8; }
.ptch-default a:focus-visible,.ptch-default button:focus-visible,.ptch-default input:focus-visible,.ptch-default select:focus-visible { outline:3px solid #e0ab17; outline-offset:4px; }
.ptch-default .centered { width:100%; max-width:1220px; padding-left:28px; padding-right:28px; }
.ptch-default .body-content { width:100%; max-width:none; margin:0; padding:0; }
.ptch-default .content { padding-top:0; padding-bottom:20px; }
.ptch-default header.top { height:auto; min-height:88px; padding:14px 0; border-bottom:1px solid #f1f3f7; background:#fff; }
.ptch-default .header__left { display:flex; align-items:center; gap:26px; width:100%; flex-wrap:wrap; }
.ptch-default header.top .logo { flex:0 0 204px; width:204px; height:55px; margin:0 auto 0 0; background-position:left center; }
.ptch-default .booking-session { display:block; position:static; float:none; width:auto; margin:0; color:var(--ptch-ink); font-size:12px; }
.ptch-default .booking-session .description { font-size:11px; }
.ptch-default .booking-session .time { color:var(--ptch-ink); font-size:15px; }
.ptch-default .booking-session:not(:has(.time:not(:empty))) { display:none; }
.ptch-default .main-menu_trigger { display:none; }
.ptch-default #theMenuDiv { display:block; position:static; inset:auto; width:auto; height:auto; margin:0; padding:0; background:none; z-index:auto; }
.ptch-default #theMenuDiv .navbar-collapse { display:block; }
.ptch-default #theMenuDiv ul.nav { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin:0; padding:0; }
.ptch-default #theMenuDiv ul.nav li { display:block; margin:0; padding:0; }
.ptch-default #theMenuDiv ul.nav li a { display:block; color:var(--ptch-ink); font-size:14px; font-weight:700; padding:8px 0; }
.ptch-default #theMenuDiv ul.nav li a:hover { color:var(--ptch-blue); }
.ptch-default .ptch-header-help { color:var(--ptch-ink); font-size:14px; text-decoration:none; padding:8px 0; }
.ptch-default .header_basket { position:static; float:none; top:auto; right:auto; display:flex; align-items:center; gap:14px; width:auto; min-height:44px; margin:0; padding:8px 15px; border:1.5px solid #226dc1; border-radius:15px; background:#fff; }
.ptch-default .header_basket a { color:var(--ptch-ink); font-size:14px; font-weight:800; text-decoration:none; }
.ptch-default .header_basket .basket { display:flex; align-items:center; background:none; width:auto; height:auto; padding:0; }
.ptch-default .header_basket .basket::before { content:'Basket ('; margin-right:2px; font-size:14px; }
.ptch-default .header_basket .basket::after { content:')'; font-size:14px; }
.ptch-default .header_basket .number { position:static; display:inline; background:none; width:auto; height:auto; margin:0; padding:0; border:0; color:inherit; font-size:14px; line-height:1.5; }
.ptch-default .header_basket .total a { border:0; }
.ptch-default .header_basket .total { position:static; display:block; margin:0; width:auto; }
.ptch-default .ptch-hero { background:linear-gradient(110deg,#f7f5f6,#fff); border-bottom:1px solid #f5f7fa; }
.ptch-default .ptch-hero-inner { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:24px; min-height:280px; padding-top:32px; padding-bottom:25px; }
/* Legacy .centered clearfix must not create extra grid/flex items. */
.ptch-default .ptch-hero-inner::before,.ptch-default .ptch-hero-inner::after,.ptch-default .ptch-support::before,.ptch-default .ptch-support::after { content:none; display:none; }
.ptch-default .ptch-hero-copy { position:relative; z-index:1; grid-column:1; grid-row:1; min-width:0; }
.ptch-default .ptch-eyebrow { color:#216bc0; font-size:12px; letter-spacing:.12em; font-weight:800; margin:0 0 12px; }
.ptch-default .ptch-hero h1 { margin:0 0 14px; }
.ptch-default.ptch-home .ptch-hero h1 { font-size:clamp(42px,5.5vw,68px); line-height:1.02; }
.ptch-default .ptch-hero h1 span { color:#5480c0; }
.ptch-default .ptch-hero-copy > p:last-child { margin:0; color:#4b5e7d; font-size:17px; }
.ptch-default .ptch-hero-art { grid-column:2; grid-row:1; min-width:0; width:100%; height:250px; object-fit:contain; mix-blend-mode:multiply; }
.ptch-default .ptch-booking-steps { padding-top:22px; padding-bottom:22px; }
.ptch-default .ptch-booking-steps ol { display:flex; justify-content:center; align-items:center; margin:0; padding:0; list-style:none; gap:0; }
.ptch-default .ptch-booking-steps li { display:flex; align-items:center; gap:12px; color:#737783; font-size:13px; white-space:nowrap; }
.ptch-default .ptch-booking-steps li + li::before { content:''; display:block; height:2px; width:70px; margin:0 16px; background:#e1e4e9; }
.ptch-default .ptch-booking-steps li > span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#e9ebee; font-size:14px; font-weight:700; }
.ptch-default .ptch-booking-steps .is-current { color:#1d69bd; font-weight:800; }
.ptch-default .ptch-booking-steps .is-current > span,.ptch-default .ptch-booking-steps .is-complete > span { background:linear-gradient(135deg,#5598dd,#2872bf); color:#fff; }
.ptch-default.ptch-home .banner,.ptch-default.ptch-events .events_wrapper > .page-header { display:none; }
.ptch-default.ptch-home [id$='divform'] > h1 { font-size:34px; text-align:center; margin:0 0 6px; }
.ptch-default.ptch-home [id$='divform'] > .ptch-intro { text-align:center; color:#4b5e7d; margin:0 0 22px; }
.ptch-default.ptch-home main > .centered > br,.ptch-default.ptch-home [id$='divform'] > br { display:none; }
.ptch-default .primary-btn,.ptch-default input.primary-btn,.ptch-default .button,.ptch-default .btn-primary { background:linear-gradient(110deg,#30355a,#30355a); border:1px solid #5480c0; border-radius:10px; color:#fff; font-family:inherit; font-weight:700; font-size:15px; line-height:1.35; min-height:44px; padding:12px 20px; text-transform:none; letter-spacing:0; box-shadow:none; text-align:center; text-decoration:none; transition:background .18s,box-shadow .18s; }
.ptch-default .primary-btn:hover,.ptch-default .button:hover,.ptch-default .btn-primary:hover { background:#2466ae; color:#fff; box-shadow:0 4px 12px #245e9a25; }
.ptch-default .primary-btn svg { width:14px; height:14px; margin-left:12px; fill:currentColor; }
.ptch-default .secondary-btn,.ptch-default input.secondary-btn { background:#fff; border:1px solid #30355a; border-radius:10px; color:#426ba8; font:700 14px/1.4 'PTCH Noto Sans','Segoe UI',sans-serif; padding:11px 20px; min-height:44px; text-transform:none; text-decoration:none; }
.ptch-default .secondary-btn:hover { background:#f2f7fd; color:#174c88; }
.ptch-default .primary-btn[disabled],.ptch-default .secondary-btn[disabled] { background:#e9edf2; border-color:#dbe2ea; color:#758194; box-shadow:none; cursor:not-allowed; }
.ptch-default .pending_orders_wrapper .orders { font-size:16px; }
.ptch-default .pending_orders_wrapper .orders .order { background:#fff; border:1px solid var(--ptch-line); border-radius:14px; box-shadow:0 2px 5px #172c4d09; }
.ptch-default.ptch-home .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:18px 0 25px; padding:0; }
.ptch-default.ptch-home .orders::before,.ptch-default.ptch-home .orders::after { display:none; }
.ptch-default.ptch-home .orders .order { display:flex; flex-direction:column; width:auto; min-width:0; max-width:none; margin:0; padding:0 14px 14px; overflow:hidden; height:auto!important; }
.ptch-default.ptch-home .orders .order > a.image { display:flex; align-items:center; justify-content:center; margin:0 -14px 0; background:#f4f8fd; height:210px; border-bottom:1px solid var(--ptch-line); }
.ptch-default.ptch-home .orders .order > a.image img { display:block; max-width:100%; width:100%; height:100%; object-fit:contain; margin:0; padding:18px; }
.ptch-default.ptch-home .orders .order .details { text-align:center; padding:18px 8px; }
.ptch-default.ptch-home .orders .order h3 { font-size:24px; margin:0 0 6px; }
.ptch-default.ptch-home .orders .order .details p { font-size:14px; color:#4b5e7d; margin:0; }
.ptch-default.ptch-home .orders .order .actions { position:static; margin-top:auto; width:100%; padding:0; }
.ptch-default.ptch-home .orders .order .actions .primary-btn { display:block; width:100%; margin:0; }
.ptch-default .events_wrapper .title_holder { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:14px 0 18px; }
.ptch-default .events_wrapper .title_holder > div:first-child { flex:1; }
.ptch-default .events_wrapper .title_holder h2 { margin:0; font-size:32px; }
.ptch-default .ptch-event-search { display:block; flex:0 1 260px; margin-left:auto; }
.ptch-default .ptch-event-search span { display:block; color:#4b5e7d; font-size:12px; margin-bottom:4px; }
.ptch-default input[type='search'] { width:100%; border:1px solid #cdd7e4; border-radius:11px; min-height:44px; padding:10px 14px; background:#fff; color:var(--ptch-ink); font:inherit; font-size:14px; }
.ptch-default .events_wrapper .orders.events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin:0 0 22px; padding:0; }
.ptch-default .events_wrapper .orders.events:empty { display:none; }
.ptch-default .events_wrapper .orders.events::before,.ptch-default .events_wrapper .orders.events::after { display:none; }
.ptch-default .events_wrapper .orders .order.event { display:grid; grid-template-columns:minmax(0,1fr) 120px; grid-template-rows:auto 1fr; gap:8px 14px; width:auto; min-width:0; max-width:none; min-height:152px; height:auto!important; margin:0; padding:12px; }
.ptch-default .events_wrapper .orders .order.event.ptch-has-date { grid-template-columns:66px minmax(0,1fr) 120px; }
.ptch-default .events_wrapper .order.event > .image { grid-column:-2; grid-row:1/3; margin:0; width:120px; height:100%; min-height:120px; border-radius:8px; overflow:hidden; }
.ptch-default .events_wrapper .order.event > img.image,.ptch-default .events_wrapper .order.event > a.image img { width:120px; height:100%; max-height:160px; object-fit:cover; margin:0; }
.ptch-default .events_wrapper .order.event > .details { grid-column:1; grid-row:1; min-width:0; padding:2px 0 0; }
.ptch-default .events_wrapper .order.event.ptch-has-date > .details { grid-column:2; }
.ptch-default .events_wrapper .order.event h3 { font-size:16px; line-height:1.3; margin:0 0 4px; }
.ptch-default .events_wrapper .order.event .details > div { font-size:13px; color:#4b5e7d; margin:2px 0; overflow-wrap:anywhere; }
.ptch-default .events_wrapper .order.event > .actions { position:static; grid-column:1; grid-row:2; align-self:end; width:auto; padding:0; margin:0; }
.ptch-default .events_wrapper .order.event.ptch-has-date > .actions { grid-column:2; }
.ptch-default .events_wrapper .order.event .actions .primary-btn { display:block; margin:0; min-height:36px; padding:8px 12px; font-size:13px; }
.ptch-default .ptch-date-badge { grid-column:1; grid-row:1/3; align-self:start; display:flex; flex-direction:column; align-items:center; background:#f0f3f8; border-radius:10px; padding:10px 3px; text-align:center; }
.ptch-default .ptch-date-badge small { color:var(--ptch-ink); font-size:10px; font-weight:800; }
.ptch-default .ptch-date-badge strong { color:var(--ptch-ink); font-size:30px; line-height:1.2; }
.ptch-default .events_wrapper .event_title__holder { margin:18px 0 12px; }
.ptch-default .events_wrapper .event__title { font-size:20px; margin:0; }
.ptch-default [id$='divegbastonnote'],.ptch-default .announcement,.ptch-default .notification { background:var(--ptch-soft); border:1px solid #dceaf8; border-radius:12px; padding:20px 24px; margin:12px 0 22px; color:#425779; }
.ptch-default [id$='divegbastonnote'] h5 { font-size:20px; margin:0 0 6px; }
.ptch-default [id$='divegbastonnote'] p { margin:0 0 4px; font-size:14px; }
.ptch-default .sold-out { display:inline-block; padding:7px 12px; border-radius:7px; background:#f0f2f5; color:#596476; font-weight:700; }
.ptch-default .page-header { background:#f3f7fc; padding:34px 28px; margin-bottom:26px; color:var(--ptch-ink); }
.ptch-default .page-header__heading { color:var(--ptch-ink)!important; }
.ptch-default .page-header__background-left,.ptch-default .page-header__background-right { display:none; }
.ptch-default .title_holder h2 { color:var(--ptch-ink); }
.ptch-default input[type='text'],.ptch-default input[type='email'],.ptch-default input[type='tel'],.ptch-default input[type='password'],.ptch-default input[type='number'],.ptch-default select,.ptch-default textarea { border:1px solid #ccd6e3; border-radius:8px; background:#fff; color:var(--ptch-ink); min-height:44px; padding:10px 12px; font-family:inherit; font-size:15px; }
.ptch-default input[type='checkbox'],.ptch-default input[type='radio'] { accent-color:#347ac4; }
.ptch-default .ptch-support { display:flex; align-items:center; gap:22px; width:calc(100% - 56px); max-width:1164px; padding:22px 28px; margin:12px auto 24px; border-radius:15px; background:linear-gradient(110deg,#eaf3fc,#f1f7fd); }
.ptch-default .ptch-support svg { width:56px; height:56px; flex-shrink:0; color:#287ccf; }
.ptch-default .ptch-support h2 { font-size:18px; letter-spacing:-.02em; margin:0 0 4px; }
.ptch-default .ptch-support p { font-size:14px; color:#4b5e7d; margin:0; }
.ptch-default .ptch-support .secondary-btn { margin-left:auto; white-space:nowrap; }
.ptch-default .ptch-support .secondary-btn span { margin-left:10px; }
.ptch-default footer.bottom { background:#30355a; padding:25px 0; border:0; color:#fff; }
.ptch-default footer.bottom > .centered { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 26px; }
.ptch-default footer.bottom > .centered::before,.ptch-default footer.bottom > .centered::after { display:none; }
.ptch-default .ptch-footer-brand img { width:145px; height:auto; max-height:55px; object-fit:contain; }
.ptch-default footer.bottom .left-col,.ptch-default footer.bottom .right-col { float:none; display:block; width:auto; margin:0; }
.ptch-default footer.bottom nav { margin:0; }
.ptch-default footer.bottom nav ul { display:flex; flex-wrap:wrap; gap:12px 20px; margin:0; padding:0; }
.ptch-default footer.bottom nav li { display:block; margin:0; padding:0; border:0; }
.ptch-default footer.bottom nav li a { padding:0; font-size:12px; color:#fff; }
.ptch-default footer.bottom .details { margin:0; padding:0; }
.ptch-default footer.bottom h5 { font-size:11px; font-weight:400; color:#e8eefb; margin:0 0 5px; letter-spacing:0; }
.ptch-default footer.bottom strong,.ptch-default footer.bottom address,.ptch-default footer.bottom [id$='footerContact'] { font-size:11px; line-height:1.5; color:#e8eefb; }
.ptch-default footer.bottom [id$='divfootercopyinfo'] { font-size:11px; margin:8px 0; }
.ptch-default footer.bottom address br { display:none; }
.ptch-default footer.bottom address br::after { content:', '; }
.ptch-default footer.bottom a { color:#fff; }
.ptch-default .ptch-search-empty { color:#4b5e7d; padding:25px 0; }
.ptch-default .order[hidden] { display:none!important; }
@media(max-width:1050px) {
 .ptch-default .events_wrapper .orders.events { grid-template-columns:1fr; }
 .ptch-default .events_wrapper .orders .order.event { grid-template-columns:minmax(0,1fr) 145px; }
 .ptch-default .events_wrapper .orders .order.event.ptch-has-date { grid-template-columns:72px minmax(0,1fr) 145px; }
 .ptch-default .events_wrapper .order.event > .image,.ptch-default .events_wrapper .order.event > img.image,.ptch-default .events_wrapper .order.event > a.image img { width:145px; }
 .ptch-default .ptch-booking-steps li + li::before { width:32px; margin:0 10px; }
}
@media(max-width:700px) {
 .ptch-default .centered { padding-left:18px; padding-right:18px; }
 .ptch-default header.top { min-height:72px; }
 .ptch-default .header__left { gap:10px 16px; }
 .ptch-default header.top .logo { flex-basis:145px; width:145px; height:43px; }
 .ptch-default #theMenuDiv { order:4; width:100%; }
 .ptch-default #theMenuDiv ul.nav { gap:10px 20px; }
 .ptch-default .header_basket { padding:7px 10px; gap:8px; min-height:40px; border-radius:11px; }
 .ptch-default .header_basket a,.ptch-default .header_basket .number,.ptch-default .header_basket .basket::before,.ptch-default .header_basket .basket::after { font-size:12px; }
 .ptch-default .ptch-header-help { margin-left:auto; }
 .ptch-default .booking-session { order:5; }
 .ptch-default .ptch-hero-inner { grid-template-columns:1fr; gap:8px; padding-top:26px; padding-bottom:15px; }
 .ptch-default.ptch-home .ptch-hero h1 { font-size:46px; }
 .ptch-default .ptch-hero-copy > p:last-child { font-size:15px; }
 .ptch-default .ptch-hero-art { grid-column:1; grid-row:2; height:190px; }
 .ptch-default .ptch-booking-steps { padding-top:18px; padding-bottom:18px; }
 .ptch-default .ptch-booking-steps ol { align-items:start; gap:12px; }
 .ptch-default .ptch-booking-steps li { flex:1; flex-direction:column; gap:7px; text-align:center; font-size:10px; white-space:normal; }
 .ptch-default .ptch-booking-steps li + li::before { display:none; }
 .ptch-default .ptch-booking-steps li > span { height:30px; width:30px; font-size:12px; }
 .ptch-default.ptch-home [id$='divform'] > h1 { font-size:28px; }
 .ptch-default.ptch-home .orders { grid-template-columns:1fr; gap:18px; }
 .ptch-default.ptch-home .orders .order > a.image { height:190px; }
 .ptch-default .events_wrapper .title_holder h2 { font-size:27px; }
 .ptch-default .ptch-event-search { flex-basis:100%; }
 .ptch-default .events_wrapper .orders .order.event { grid-template-columns:minmax(0,1fr) 76px; gap:8px; min-height:138px; padding:10px; }
 .ptch-default .events_wrapper .orders .order.event.ptch-has-date { grid-template-columns:50px minmax(0,1fr) 76px; }
 .ptch-default .events_wrapper .order.event > .image,.ptch-default .events_wrapper .order.event > img.image,.ptch-default .events_wrapper .order.event > a.image img { width:76px; min-height:92px; height:100%; }
 .ptch-default .events_wrapper .order.event h3 { font-size:14px; }
 .ptch-default .events_wrapper .order.event .details > div { font-size:11px; }
 .ptch-default .events_wrapper .order.event .actions .primary-btn { font-size:12px; padding:9px 6px; }
 .ptch-default .ptch-date-badge small { font-size:8px; }
 .ptch-default .ptch-date-badge strong { font-size:26px; }
 .ptch-default .ptch-support { width:calc(100% - 36px); flex-wrap:wrap; gap:12px; padding:18px; }
 .ptch-default .ptch-support svg { width:40px; height:40px; }
 .ptch-default .ptch-support > div { flex:1; min-width:180px; }
 .ptch-default .ptch-support h2 { font-size:16px; }
 .ptch-default .ptch-support .secondary-btn { margin-left:52px; }
 .ptch-default footer.bottom > .centered { align-items:start; }
 .ptch-default footer.bottom .right-col { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ptch-default * { transition:none!important; scroll-behavior:auto!important; } }

/* Full booking journey: explicit layouts for each family of views. */
.ptch-default .ptch-view { padding-top:28px; padding-bottom:36px; }
.ptch-default .ptch-view > .centered > .title_holder { margin:0 0 24px; }
.ptch-default .ptch-view h1 { margin-bottom:22px; }
.ptch-default .ptch-view h2 { font-size:27px; margin-bottom:18px; }
.ptch-default .ptch-view h3 { font-size:20px; margin-bottom:14px; }
.ptch-default .ptch-view .title_holder { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.ptch-default .ptch-view .title_holder > div { flex:1; min-width:0; }
/* Parking options retain their existing availability and special vehicle types. */
.ptch-default .carpark_wrapper .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:0; margin:24px 0; }
.ptch-default .carpark_wrapper .orders::before,.ptch-default .carpark_wrapper .orders::after { display:none; }
.ptch-default .carpark_wrapper .orders .order.carpark { display:flex; flex-direction:column; width:auto; max-width:none; min-height:240px; height:auto!important; margin:0; padding:24px; }
.ptch-default .carpark_wrapper .orders .order .details { width:100%!important; padding-left:66px; min-height:70px; background-size:45px auto; background-position:left 4px; }
.ptch-default .carpark_wrapper .orders .order h4 { font-size:22px; line-height:1.25; margin-bottom:12px; }
.ptch-default .carpark_wrapper .orders .order .details > div { font-size:14px; line-height:1.6; margin-bottom:8px; }
.ptch-default .carpark_wrapper .orders .order .actions { position:static!important; width:auto; margin-top:auto; padding-top:18px; }
.ptch-default .carpark_wrapper .orders .order .primary-btn { display:block; width:100%; margin:0; }
.ptch-default .carpark_wrapper .orders .order.accessible { background:#edf5fc!important; color:#30355a!important; border-color:#94b7dc; }
.ptch-default .carpark_wrapper .orders .order.accessible h4 { color:#30355a!important; }
.ptch-default .carpark_wrapper .orders .order.accessible .primary-btn { background:#30355a!important; color:white!important; }
.ptch-default .carpark_wrapper .orders .order.soldout { border-style:dashed; background:#f7f5f6; }
.ptch-default .carpark_wrapper .upper_map_images { max-width:1164px; margin:0 auto 26px; gap:20px; }
.ptch-default .upper_map_images img { max-width:100%; height:auto; border-radius:12px; }
/* Vehicle details and every server-rendered row keep their IDs and validators. */
.ptch-default .basket_items_wrapper .basketitem { border:1px solid #e0e6ef; border-radius:16px; padding:24px; background:#fff; box-shadow:0 3px 14px #30355a08; margin-bottom:24px; }
.ptch-default .basket_items_wrapper .basketitem_details { display:flex; align-items:flex-start; flex-wrap:wrap; gap:18px; padding:0 0 20px; margin-bottom:24px; border-bottom:1px solid #e0e0e0; background:none; }
.ptch-default .basket_items_wrapper .basketitem_details .label { flex:1; min-width:200px; color:#30355a; text-align:left; white-space:normal; }
.ptch-default .basket_items_wrapper .basketitem_details .qty { flex:0 0 auto; background:#edf5fc; border-radius:10px; padding:12px; }
.ptch-default .basket_items_wrapper .booking_label { font-size:18px; color:#30355a; font-weight:700; margin-bottom:14px; }
.ptch-default .basket_items_wrapper .car_details { border:1px solid #e0e0e0; border-radius:12px; padding:20px; background:#f8fafc; }
.ptch-default .basket_items_wrapper .car_details__line { border:0; width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0 12px; }
.ptch-default .basket_items_wrapper .car_details__line tr { background:#fff; }
.ptch-default .basket_items_wrapper .car_details__line td { padding:12px; vertical-align:top; border-top:1px solid #e0e0e0; border-bottom:1px solid #e0e0e0; }
.ptch-default .basket_items_wrapper .car_details__line .heading_holder { width:55px; color:#5480c0; font-weight:800; }
.ptch-default .basket_items_wrapper .vehicle-type-options { gap:12px; }
.ptch-default .basket_items_wrapper .vehicle-type-options label { border-radius:10px; }
/* Form sections, application forms, registration and account editing. */
.ptch-default .personal_details { max-width:900px; width:100%; margin:0 auto 24px; border:1px solid #e0e6ef; border-radius:15px; padding:28px; background:#fff; box-shadow:0 3px 14px #30355a08; }
.ptch-default .personal_details .personal_details { border:0; padding:0; box-shadow:none; margin:0; }
.ptch-default .personal_details h2,.ptch-default .personal_details h3 { margin-top:0; }
.ptch-default .fields { margin-bottom:14px; }
.ptch-default .fields.split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ptch-default .fields.split::before,.ptch-default .fields.split::after { display:none; }
.ptch-default .fields.split > .field { width:auto; float:none; margin:0; }
.ptch-default .field { min-width:0; margin-bottom:18px; }
.ptch-default .field .field { margin-bottom:0; }
.ptch-default .field label,.ptch-default .field > span:first-child { color:#30355a; font-size:14px; font-weight:600; margin:0 0 7px; text-transform:none; }
.ptch-default .field input:not([type='checkbox']):not([type='radio']):not([type='submit']):not([type='button']),.ptch-default .field textarea { width:100%; }
.ptch-default .styled-select { padding:0; border:0; overflow:visible; border-radius:8px; background:none; }
.ptch-default .styled-select select { width:100%; height:auto; min-height:46px; appearance:auto; background:#fff; border:1px solid #ccd6e3; padding:10px 12px; }
.ptch-default input[type='checkbox'],.ptch-default input[type='radio'] { width:18px; height:18px; padding:0; margin:0 8px 0 0; vertical-align:middle; }
.ptch-default input[type='file'] { padding:14px; border:1px dashed #94b7dc; border-radius:10px; background:#f3f8fd; width:100%; }
.ptch-default .vehicle-card { border:1px solid #e0e6ef; border-radius:12px; padding:20px; margin:16px 0; background:#f8fafc; }
.ptch-default .input-group.actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 0; }
.ptch-default .input-group.actions > .action { display:block; margin:0; width:auto; }
.ptch-default .input-group.actions input[type='submit'] { width:auto; min-width:150px; }
.ptch-default .error.message,.ptch-default .field span[style*='Red'],.ptch-default .field span[style*='red'] { color:#a53532!important; font-size:13px; line-height:1.5; margin-top:6px; }
/* Standalone checkout pages do not inherit the master. */
.ptch-default .basket_wrapper { padding:32px 0 42px; background:#f7f8fb; min-height:55vh; }
.ptch-default .basket_wrapper h1 { font-size:36px; margin-bottom:24px; }
.ptch-default .basket_holder { display:block; margin-top:24px; }
.ptch-default .basket_items { width:100%; }
.ptch-default .basket_items .basket_items_inner { border:1px solid #e0e6ef; border-radius:16px; background:#fff; padding:28px; box-shadow:0 3px 14px #30355a08; }
.ptch-default .basket_items h2 { font-size:25px; font-weight:800; margin-bottom:22px; }
.ptch-default .basket_items .orders { margin:0; padding:0; }
.ptch-default .basket_items .orders .line-item { border:1px solid #e0e6ef; border-radius:12px; padding:20px; background:#fff; margin-bottom:14px; gap:12px; }
.ptch-default .basket_items .line-item .image { width:90px; height:90px; object-fit:cover; border-radius:9px; }
.ptch-default .basket_items .line-item .label { min-width:180px; padding:0; color:#30355a; white-space:normal; }
.ptch-default .basket_items .line-item h4 { font-size:18px; }
.ptch-default .basket_items .line-item .price { color:#30355a; font-weight:800; font-size:20px; margin-left:auto; }
.ptch-default .basket_items .line-item .count { font-size:14px; padding-top:4px; }
.ptch-default .basket_items .line-item .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }
.ptch-default .edit-btn,.ptch-default .delete-btn { display:inline-block; padding:7px 12px; border:1px solid #cbd7e4; border-radius:8px; font-size:13px; text-decoration:none; cursor:pointer; }
.ptch-default .delete-btn { border-color:#e5c8c5; color:#a53532; }
.ptch-default #order-total { max-width:520px; width:100%; margin:24px 0 0 auto; padding:24px; background:#edf5fc; border:1px solid #dbe8f6; border-radius:14px; }
.ptch-default #order-total .line-item { border:0; border-bottom:1px solid #d7e3f0; padding:12px 0; background:none; }
.ptch-default #order-total .line-item label { margin:0; flex:1; font-size:14px; }
.ptch-default #order-total .line-item span { font-weight:800; font-size:18px; color:#30355a; }
.ptch-default #order-total .actions { gap:12px; flex-wrap:wrap; margin-top:18px; }
.ptch-default #order-total .actions a { margin:0; }
.ptch-default .payment-method { margin:22px 0 14px; color:#30355a; font-weight:700; }
.ptch-default #payment-form { max-width:760px; margin:26px auto; padding:26px; border:1px solid #dce5f0; background:white; border-radius:14px; }
.ptch-default #payment-form .personal_details { border:0; padding:0; box-shadow:none; }
.ptch-default .payment-actions { gap:16px; flex-wrap:wrap; }
/* Login and account pages, order cards, confirmation and error states. */
.ptch-default .login_wrapper { min-height:55vh; padding:40px 0; background:#f7f8fb; }
.ptch-default .login-holder { width:100%; max-width:540px; margin:0 auto 24px; padding:30px; border:1px solid #e0e6ef; border-radius:16px; background:white; }
.ptch-default .login-holder .personal_details { border:0; padding:0; box-shadow:none; }
.ptch-default .login-holder h4 { font-size:26px; line-height:1.3; }
.ptch-default .login-holder p,.ptch-default .login-holder strong { font-size:14px; line-height:1.6; }
.ptch-default .my_orders .orders { display:grid; grid-template-columns:1fr; gap:18px; margin:24px 0; padding:0; }
.ptch-default .my_orders .orders::before,.ptch-default .my_orders .orders::after { display:none; }
.ptch-default .my_orders .orders .order { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:24px; width:100%; max-width:none; padding:24px; margin:0; height:auto!important; }
.ptch-default .my_orders .orders .order .details { width:100%; font-size:15px; }
.ptch-default .my_orders .orders .order .actions { display:flex; flex-direction:column; gap:10px; width:100%; position:static; padding:0; margin:0; }
.ptch-default .my_orders .orders .order .actions a { width:100%; margin:0; font-size:13px; }
.ptch-default .booking_account { max-width:none; }
.ptch-default [id$='confirmation_visible'],.ptch-default #confirmation.response { max-width:780px; margin:28px auto; padding:36px; border:1px solid #dde8e2; border-radius:16px; background:#fff; box-shadow:0 3px 14px #30355a08; }
.ptch-default .status.success { border-left:5px solid #3c9478; border-radius:10px; background:#edf8f2; padding:24px; color:#255843; }
.ptch-default .status.error { border-left:5px solid #ba514a; border-radius:10px; background:#fcf0ee; padding:24px; color:#8a302a; }
.ptch-default .status h2 { font-size:28px; }
/* Calendar, all dates, booking review and long information pages. */
.ptch-default .all-bookings-content { max-width:1000px; margin:24px auto; padding:28px; border:1px solid #e0e6ef; border-radius:16px; background:#fff; box-shadow:0 3px 14px #30355a08; }
.ptch-default .review-section { border:1px solid #e0e0e0; border-radius:12px; padding:22px; margin:18px 0; }
.ptch-default .review-row { padding:10px 0; border-bottom:1px solid #edf0f5; font-size:15px; }
.ptch-default .review-header { color:#30355a; }
.ptch-default .alldates-date-header,.ptch-default .allbookings-date-header { background:#edf5fc; color:#30355a; padding:24px; border-radius:12px; margin-bottom:24px; }
.ptch-default .calendarTable { width:100%; border-collapse:separate; border-spacing:5px; background:#fff; }
.ptch-default .calendarTable td { border:1px solid #dce5f0; border-radius:7px; padding:10px; }
.ptch-default .month_nav { border-radius:12px; padding:18px; background:#edf5fc; color:#30355a; }
.ptch-default .ptch-view-information > .centered { max-width:1000px; }
.ptch-default .ptch-view-information .cms_content { border:1px solid #e0e6ef; border-radius:14px; padding:28px; margin-bottom:24px; background:#fff; }
.ptch-default .ptch-view-information .question { border-bottom:1px solid #e0e0e0; padding:18px 0; }
.ptch-default .ptch-view-information .question:first-child { padding-top:0; }
.ptch-default .ptch-view-information p,.ptch-default .ptch-view-information li { font-size:15px; line-height:1.8; }
.ptch-default .ptch-view-information h2 { margin-top:28px; }
.ptch-default .ptch-view table:not(.car_details__line):not(.calendarTable) { max-width:100%; border-collapse:collapse; }
.ptch-default .ptch-view table:not(.car_details__line):not(.calendarTable) th { background:#edf5fc; color:#30355a; padding:12px; text-align:left; }
.ptch-default .ptch-view table:not(.car_details__line):not(.calendarTable) td { padding:12px; border-bottom:1px solid #e0e0e0; vertical-align:top; }
@media(max-width:800px) {
 .ptch-default .carpark_wrapper .orders { grid-template-columns:1fr; }
 .ptch-default .my_orders .orders .order { grid-template-columns:1fr; gap:18px; padding:20px; }
 .ptch-default .my_orders .orders .order .actions { flex-direction:row; flex-wrap:wrap; }
 .ptch-default .my_orders .orders .order .actions a { width:auto; flex:1 1 160px; }
 .ptch-default .fields.split { grid-template-columns:1fr; gap:0; }
 .ptch-default .personal_details { padding:20px; }
 .ptch-default .basket_items_wrapper .basketitem { padding:18px; }
 .ptch-default .basket_items_wrapper .car_details { padding:12px; }
 .ptch-default .basket_items_wrapper .car_details__line,.ptch-default .basket_items_wrapper .car_details__line tbody { display:block; width:100%; }
 .ptch-default .basket_items_wrapper .car_details__line tr { display:flex; flex-wrap:wrap; border:1px solid #e0e6ef; border-radius:10px; padding:14px; margin-bottom:16px; }
 .ptch-default .basket_items_wrapper .car_details__line td { display:block; width:100%; padding:8px 0; border:0; }
 .ptch-default .basket_items_wrapper .car_details__line .heading_holder { width:100%; }
 .ptch-default .basket_wrapper h1 { font-size:29px; }
 .ptch-default .basket_items .basket_items_inner { padding:18px; }
 .ptch-default .basket_items .orders .line-item { padding:16px; }
 .ptch-default .basket_items .line-item .image { width:64px; height:64px; }
 .ptch-default .basket_items .line-item .label { min-width:150px; }
 .ptch-default .basket_items .line-item .price { font-size:18px; }
 .ptch-default #order-total { max-width:none; padding:18px; }
 .ptch-default #payment-form { padding:18px; }
 .ptch-default .login-holder { padding:22px; }
 .ptch-default .all-bookings-content { padding:20px; }
 .ptch-default .ptch-view .title_holder { flex-wrap:wrap; }
 .ptch-default .ptch-view-information .cms_content { padding:20px; }
 .ptch-default [id$='confirmation_visible'],.ptch-default #confirmation.response { padding:24px; }
}
.ptch-default .ptch-page-venues .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; padding:0; }
.ptch-default .ptch-page-venues .orders .order { width:100%; margin:0; padding:20px; min-height:200px; }
.ptch-default .ptch-page-venues .orders .image { width:100%; height:170px; object-fit:contain; margin:0 0 18px; }
.ptch-default .ptch-page-venues .link-lines { display:block; background:#30355a; color:white; border-radius:10px; padding:12px 20px; font-size:15px; text-align:center; }
.ptch-default .ptch-page-venues .link-lines .line { display:none; }
.ptch-default .support-booking-page .personal_details { border:1px solid #e0e6ef; border-radius:15px; padding:28px; background:#fff; }
.ptch-default .support-booking-page .fields.split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ptch-default .support-booking-page .fields.split > .field { width:auto; margin:0; }
.ptch-default .support-booking-page .vehicle-card { background:#f8fafc; border:1px solid #e0e6ef; border-radius:12px; padding:20px; }
.ptch-default #paymentform { max-width:900px; margin:24px auto; }
.ptch-default #paymentform .personal_details { background:#fff; }
.ptch-default .basket_wrapper .personal_details { max-width:900px; }
.ptch-default .ptch-page-all-dates .orders,.ptch-default .ptch-page-all-bookings .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:0; }
.ptch-default .ptch-page-all-dates .orders .order,.ptch-default .ptch-page-all-bookings .orders .order { width:auto; margin:0; padding:22px; }
.ptch-default .ptch-view-information img { max-width:100%; height:auto; }
@media(max-width:800px) {
 .ptch-default .ptch-page-venues .orders,.ptch-default .ptch-page-all-dates .orders,.ptch-default .ptch-page-all-bookings .orders { grid-template-columns:1fr; }
 .ptch-default .support-booking-page .personal_details { padding:20px; }
 .ptch-default .support-booking-page .fields.split { grid-template-columns:1fr; gap:0; }
}

/* Parking selection: reset legacy ID rules instead of stacking blank spacing. */
.ptch-default .carpark_wrapper { padding-top:0; background:#f7f9fc; }
.ptch-default .carpark_wrapper > .page-header { min-height:0; padding:28px 24px; margin:0 0 26px; background:linear-gradient(110deg,#edf4fb,#f8fafc); border-top:1px solid #e3ebf5; border-bottom:1px solid #e3ebf5; text-align:left; justify-content:flex-start; }
.ptch-default .carpark_wrapper .page-header__content { width:100%; max-width:1164px; margin:auto; }
.ptch-default .carpark_wrapper .page-header__heading { font-size:32px; line-height:1.22; letter-spacing:-.035em; margin:0 0 10px; font-weight:750; }
.ptch-default .carpark_wrapper h4.page-header__heading { display:inline-block; font-size:14px; letter-spacing:0; border-radius:7px; padding:5px 10px; background:#fff; color:#456083!important; margin:0; }
.ptch-default .carpark_wrapper .carpark__inner > .title_holder { margin:0 0 16px; }
.ptch-default .carpark_wrapper .title_holder h2 { font-size:28px; font-weight:750; margin:0 0 10px; }
.ptch-default .carpark_wrapper .title_holder p { max-width:880px; font-size:14px; line-height:1.6; color:#586981; margin-bottom:8px; }
.ptch-default .carpark_wrapper .announcement { padding:16px 20px; border-left:4px solid #5480c0; background:#edf4fb; color:#3e5474; box-shadow:none; margin:0 0 22px; }
.ptch-default .carpark_wrapper .announcement p { font-size:13px; font-weight:400; line-height:1.65; margin:0 0 8px; }
.ptch-default .carpark_wrapper .announcement p:last-child { margin-bottom:0; }
.ptch-default .carpark_wrapper .announcement strong { font-weight:650; }
.ptch-default #MainContent_divcarparkslist .event_title__holder { margin:22px 0 14px; }
.ptch-default #MainContent_divcarparkslist .event__title { font-size:20px; line-height:1.4; font-weight:700; }
.ptch-default #MainContent_divcarparkslist .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; margin:0 0 22px; padding:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark { display:flex; flex-direction:column; position:relative; width:auto; max-width:none; height:auto!important; min-height:0; margin:0; padding:24px; border:1px solid #dbe4ef; border-top:4px solid #5480c0; border-radius:14px; background:#fff; box-shadow:0 4px 14px #263d6609; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details { position:relative; width:100%; min-height:0; margin:0; padding:0; background:none; color:#475d79; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details h4 { min-height:46px; padding:2px 125px 0 62px; margin:0 0 16px; font-size:23px; line-height:1.3; color:#30355a; font-weight:750; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details:before { position:absolute; left:0; top:0; right:auto; width:46px; height:46px; border-radius:11px; background-size:25px auto; background-position:center; background-repeat:no-repeat; background-color:#edf4fb; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details.wheelchair_white:before { background-image:url('./img/wheelchair.png'); }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > div { font-size:14px; line-height:1.6; margin-bottom:9px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .ptch-price { position:absolute; right:0; top:0; margin:0; text-align:right; font-size:24px; line-height:1.2; color:#30355a; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price strong { font-size:27px; font-weight:750; color:#30355a; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price-label { display:block; font-size:11px; line-height:1.5; font-weight:500; color:#66768d; letter-spacing:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price small { display:block; max-width:135px; font-size:10px; line-height:1.4; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price br { display:none; }
.ptch-default #MainContent_divcarparkslist .order.carpark [id^='divavaliable'] { display:inline-block; padding:4px 9px; border-radius:6px; background:#ebf6ef; color:#286344; font-size:12px; margin:4px 0 12px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .divdisplayinfo { border-top:1px solid #edf0f5; padding-top:12px; margin-top:6px; color:#536882; font-size:13px; line-height:1.65; }
.ptch-default #MainContent_divcarparkslist .order.carpark .divdisplayinfo strong { font-weight:650; }
.ptch-default #MainContent_divcarparkslist .order.carpark .actions { position:static; width:100%; margin:20px 0 0; padding:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark .actions .primary-btn { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:44px; padding:11px 16px; font-size:15px; border-radius:9px; margin:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark .message_holder:empty { display:none; }
.ptch-default #MainContent_divcarparkslist .order.carpark.accessible { background:#f0f6fc!important; border-color:#bcd4eb; border-top-color:#5480c0; }
.ptch-default #MainContent_divcarparkslist .order.carpark.soldout { border-style:solid; border-top-color:#aeb7c5; background:#fafbfd; }
.ptch-default #MainContent_divcarparkslist .order.carpark.soldout [id^='divavaliable'] { background:#fceeed; color:#953b35; }
@media(max-width:800px) {
 .ptch-default #MainContent_divcarparkslist .orders { grid-template-columns:1fr; gap:16px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark { padding:20px; }
 .ptch-default .carpark_wrapper > .page-header { padding:23px 18px; }
 .ptch-default .carpark_wrapper .page-header__heading { font-size:26px; }
 .ptch-default .carpark_wrapper .title_holder h2 { font-size:24px; }
}
.ptch-default #MainContent_divcarparkslist .order.carpark .actions:empty { display:none; }

/* Approved parking design: real event image, compact CMS disclosure and icon cards. */
.ptch-default .carpark_wrapper > .page-header { display:none; }
.ptch-default .ptch-parking-breadcrumb { padding-top:18px; padding-bottom:14px; font-size:12px; color:#68768b; display:flex; align-items:center; gap:12px; }
.ptch-default .ptch-parking-breadcrumb::before,.ptch-default .ptch-parking-breadcrumb::after { content:none; display:none; }
.ptch-default .ptch-parking-breadcrumb a { color:#4b5d7c; text-decoration:none; }
.ptch-default .ptch-parking-breadcrumb strong { color:#2867a9; font-weight:650; }
.ptch-default .ptch-event-hero { display:grid; grid-template-columns:1.15fr 1fr; align-items:stretch; width:calc(100% - 56px); max-width:1164px; margin:0 auto 0; padding:0; background:#edf4fd; border-radius:15px; overflow:hidden; min-height:220px; }
.ptch-default .ptch-event-hero::before,.ptch-default .ptch-event-hero::after { content:none; display:none; }
.ptch-default .ptch-event-hero-copy { padding:28px 0 26px 30px; z-index:1; }
.ptch-default .ptch-event-hero-copy h1 { font:750 33px/1.19 'PTCH Noto Sans','Segoe UI',Arial,sans-serif; letter-spacing:-.035em; margin:0 0 18px; }
.ptch-default .ptch-event-hero .ptch-eyebrow { color:#30355a; font-size:11px; margin-bottom:10px; }
.ptch-default .ptch-event-hero-copy > p.ptch-event-date,.ptch-default .ptch-event-hero-copy > p.ptch-event-venue { display:flex; align-items:center; gap:10px; font-size:14px; line-height:1.4; color:#33466b; margin:9px 0 0; }
.ptch-default .ptch-event-hero-copy svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:#30355a; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ptch-default .ptch-event-photo { display:block; width:100%; min-width:0; height:100%; max-height:260px; object-fit:cover; object-position:center; mask-image:linear-gradient(to right,transparent,#000 20%); -webkit-mask-image:linear-gradient(to right,transparent,#000 20%); }
.ptch-default .carpark_wrapper .ptch-booking-steps { padding-top:16px; padding-bottom:18px; }
.ptch-default .carpark_wrapper .announcement.ptch-policy-host { border:0; border-radius:10px; padding:0; background:none; margin:0 0 20px; }
.ptch-default .ptch-policy { width:100%; border:1px solid #f0dfbd; border-radius:10px; background:#fff6e5; color:#36415d; }
.ptch-default .ptch-policy > summary { display:flex; align-items:center; gap:12px; cursor:pointer; padding:13px 18px; list-style:none; font-size:13px; }
.ptch-default .ptch-policy > summary::-webkit-details-marker { display:none; }
.ptch-default .ptch-policy-mark { display:grid; place-items:center; flex:0 0 22px; width:22px; height:22px; border-radius:50%; background:#e69a21; color:white; font-weight:800; }
.ptch-default .ptch-policy > summary strong { color:#30355a; font-size:13px; font-weight:750; }
.ptch-default .ptch-policy-hint { color:#606675; padding-left:14px; border-left:1px solid #e8d6b4; }
.ptch-default .ptch-policy-toggle { margin-left:auto; white-space:nowrap; color:#2867a9; font-size:12px; }
.ptch-default .ptch-policy-toggle::after { content:'⌄'; display:inline-block; margin-left:10px; font-size:16px; }
.ptch-default .ptch-policy[open] .ptch-policy-toggle::after { transform:rotate(180deg); }
.ptch-default .ptch-policy-content { border-top:1px solid #f0dfbd; padding:18px 22px; font-size:14px; line-height:1.7; }
.ptch-default .ptch-policy-content p { margin:0 0 10px; }
.ptch-default .ptch-policy-content p:last-child { margin-bottom:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details:before { background-image:url('./img/ptch-car.svg'); background-size:29px; width:52px; height:52px; border-radius:13px; background-color:#eaf2fc; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details.bus:before,.ptch-default #MainContent_divcarparkslist .order.carpark .details.bus-walk:before { background-image:url('./img/ptch-coach.svg'); }
.ptch-default #MainContent_divcarparkslist .order.carpark .details.minibus:before { background-image:url('./img/ptch-minibus.svg'); }
.ptch-default #MainContent_divcarparkslist .order.carpark .details.disabled:before,.ptch-default #MainContent_divcarparkslist .order.carpark .details.wheelchair_white:before { background-image:url('./img/ptch-accessible.svg'); }
.ptch-default #MainContent_divcarparkslist .order.carpark .details.bike:before { background-image:url('./img/ptch-bike.svg'); }
.ptch-default #MainContent_divcarparkslist .order.carpark .details.ecar:before,.ptch-default #MainContent_divcarparkslist .order.carpark .details.ecar-walk:before,.ptch-default #MainContent_divcarparkslist .order.carpark .details.ecar-bus:before { background-image:url('./img/ptch-ev.svg'); }
.ptch-default #MainContent_divcarparkslist .order.carpark { border-top:1px solid #dbe4ef; padding:22px; box-shadow:0 3px 12px #20365509; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details h4 { font-size:23px; min-height:52px; padding-top:0; margin-bottom:16px; padding-left:67px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-subtitle { position:absolute; left:67px; top:31px; font-size:12px; color:#63738e; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .ptch-price { top:1px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .postcode:not(.ptch-price) { font-size:13px; color:#536882; margin-bottom:9px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .divdisplayinfo { font-size:12px; padding-top:8px; margin-top:0; line-height:1.6; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer { display:flex; align-items:center; gap:16px; margin-top:18px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer [id^='divavaliable'] { flex:0 1 170px; margin:0; padding:8px 10px; font-size:11px; font-weight:650; line-height:1.4; border-radius:8px; background:#e8f8ef; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer [id^='divavaliable']:has(strong) { background:#f3e8e7; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer .actions { flex:1; min-width:120px; margin:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark .actions .primary-btn { min-height:40px; padding:10px 14px; font-size:14px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-unavailable { display:block; width:100%; padding:11px 14px; text-align:center; font:600 13px/1.4 'PTCH Noto Sans','Segoe UI',Arial,sans-serif; border-radius:8px; background:#e2e6ed; color:#727c8d; }
.ptch-default #MainContent_divcarparkslist .order.carpark.accessible { border-color:#bdd5ee; background:#f4f8fe!important; }
@media(max-width:800px) {
 .ptch-default .ptch-event-hero { grid-template-columns:1fr; width:calc(100% - 36px); }
 .ptch-default .ptch-event-hero-copy { padding:22px; }
 .ptch-default .ptch-event-hero-copy h1 { font-size:26px; }
 .ptch-default .ptch-event-photo { max-height:180px; height:180px; mask-image:none; -webkit-mask-image:none; }
 .ptch-default .ptch-policy > summary { flex-wrap:wrap; padding:12px; gap:8px; }
 .ptch-default .ptch-policy-hint { display:none; }
 .ptch-default .ptch-policy-toggle { font-size:11px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark { padding:18px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer { gap:10px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer [id^='divavaliable'] { flex-basis:140px; }
}

/* Approved checkout design. Explicit page hooks keep every dedicated customer theme intact. */
.ptch-default .ptch-checkout-vehicle,.ptch-default .ptch-checkout-basket { background:#f7f8fb; padding:18px 0 32px; }
.ptch-default .ptch-checkout-vehicle > .centered,.ptch-default .ptch-checkout-basket > .centered { max-width:1220px; }
.ptch-default .ptch-checkout-vehicle h1,.ptch-default .ptch-checkout-basket h1 { font-size:40px; line-height:1.15; letter-spacing:-.035em; margin:4px 0 8px; font-weight:750; }
.ptch-default .ptch-checkout-intro { font-size:16px; font-weight:400; color:#637089; margin:0 0 26px; }
.ptch-default .ptch-checkout-vehicle #MainContent_updatePanel2 > br { display:none; }
.ptch-default .ptch-checkout-vehicle #divaddbasketitems { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); align-items:start; gap:24px; padding-top:0!important; margin:0; }
.ptch-default .ptch-checkout-vehicle .basketitem,.ptch-default .ptch-checkout-vehicle .car_details { float:none; width:auto; min-width:0; margin:0; padding:24px; border:1px solid #e0e6ef; border-radius:16px; background:#fff; box-shadow:0 4px 18px #30355a07; }
.ptch-default .ptch-checkout-vehicle .basketitem { padding:14px 14px 20px; }
.ptch-default .ptch-checkout-vehicle .basketitem > h2 { margin:0; padding:0 10px 12px; border:0; color:#30355a; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.ptch-default .ptch-checkout-vehicle .basketitem_details { display:flex; flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:0; margin:0; padding:0; border:0; background:none; }
.ptch-default .ptch-checkout-vehicle .basketitem_details > img.image { display:block; float:none; width:100%; max-width:100%; height:270px; margin:0 0 20px; padding:8px; border:0; border-radius:11px; object-fit:contain; background:#11172a; }
.ptch-default .ptch-checkout-vehicle .basketitem_details > .label { display:block; flex:none; float:none; width:100%; min-width:0; padding:0 10px; background:none; text-align:left; white-space:normal; }
.ptch-default .ptch-checkout-vehicle .basketitem_details h4 { margin:0 0 16px; padding:0; font-size:23px; line-height:1.3; font-weight:750; }
.ptch-default .ptch-checkout-vehicle .basketitem_details h4 > span { display:inline; color:inherit; font-size:inherit; line-height:inherit; font-weight:inherit; margin:0; padding:0; }
.ptch-default .ptch-checkout-vehicle .basketitem_details .label > div { margin:9px 0; font-size:14px; line-height:1.5; color:#53637d; }
.ptch-default .ptch-checkout-vehicle .basketitem_details .booking_label { margin:0; padding:0; color:inherit; font-size:14px; font-weight:400; line-height:1.5; }
.ptch-default .ptch-checkout-vehicle .basketitem_details .carpark_details { padding:16px 0 0; margin:18px 0 0; border-top:1px solid #e0e0e0; border-bottom:0; }
.ptch-default .ptch-checkout-vehicle .carpark_details h5 { font-size:14px; line-height:1.4; font-weight:700; margin:0 0 8px; padding:0; }
.ptch-default .ptch-checkout-vehicle .carpark_details p { margin:5px 0; font-size:14px; }
.ptch-default .ptch-checkout-vehicle .carpark_details strong { font-weight:600; }
.ptch-default .ptch-checkout-vehicle .qty { margin:20px 10px 0; }
.ptch-default .ptch-checkout-vehicle #MainContent_orderlist { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin:0; padding:16px 0 0; border-top:1px solid #e0e0e0; }
.ptch-default .ptch-checkout-vehicle #MainContent_orderlist > span:first-child { display:block; margin:0; color:#30355a; font-size:14px; font-weight:600; }
.ptch-default .ptch-checkout-vehicle .qtyactions { display:inline-flex; align-items:center; gap:6px; }
.ptch-default .ptch-checkout-vehicle .qtyactions > input { display:block; width:36px; height:36px; min-height:36px; border:1px solid #d5e3f4; border-radius:50%; padding:0!important; background:#f2f7fd; color:#286fb8; font:600 20px/1 'PTCH Noto Sans','Segoe UI',Arial,sans-serif; cursor:pointer; }
.ptch-default .ptch-checkout-vehicle .qtyactions > input:last-child { background:#30355a; color:#fff; border-color:#30355a; }
.ptch-default .ptch-checkout-vehicle .qtyactions > span { min-width:24px; padding:0; margin:0; font-size:16px; font-weight:600; text-align:center; }
.ptch-default .ptch-checkout-vehicle .qtyactions > input:disabled { opacity:.45; cursor:default; }
.ptch-default .ptch-checkout-vehicle .bookmore { padding:0 10px; margin:16px 0 0; color:#637089; font-size:13px; }
.ptch-default .ptch-checkout-vehicle .bookmore p,.ptch-default .ptch-checkout-vehicle .bookmore a { font-size:13px; }
.ptch-default .ptch-checkout-vehicle .car_details > h2 { position:relative; min-height:50px; display:flex; align-items:center; gap:14px; border:0; border-bottom:1px solid #e0e0e0; padding:0 0 20px; margin:0 0 20px; font-size:25px; font-weight:750; line-height:1.25; }
.ptch-default .ptch-checkout-vehicle .car_details > h2::before { content:''; display:block; flex:0 0 50px; width:50px; height:50px; border-radius:12px; background:#f2f7fd url('img/ptch-car.svg') center/33px 33px no-repeat; }
.ptch-default .ptch-checkout-vehicle .car_details > h2 > span { display:block; margin:0; padding:0; font:inherit; color:inherit; }
/* Reset the legacy fixed table, cell percentages and narrow heading at every viewport. */
.ptch-default .ptch-checkout-vehicle .car_details__line,.ptch-default .ptch-checkout-vehicle .car_details__line > tbody { display:block; width:100%; border:0; border-spacing:0; border-collapse:collapse; table-layout:auto; margin:0; padding:0; }
.ptch-default .ptch-checkout-vehicle .car_details__line tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; width:100%; margin:0 0 22px; padding:0 0 22px; border:0; border-bottom:1px solid #e0e0e0; border-radius:0; background:transparent; }
.ptch-default .ptch-checkout-vehicle .car_details__line tr:last-child { margin-bottom:0; }
.ptch-default .ptch-checkout-vehicle .car_details__line td { display:block; float:none; width:auto; min-width:0; padding:0; border:0; text-align:left; }
.ptch-default .ptch-checkout-vehicle .car_details__line td.heading_holder,.ptch-default .ptch-checkout-vehicle .car_details__line tr > td:nth-child(2) { grid-column:1/-1; width:auto; }
.ptch-default .ptch-checkout-vehicle .car_details__line td > span { display:block; margin:0 0 8px; padding:0; color:#30355a; font-size:14px; font-weight:600; line-height:1.45; text-align:left; overflow-wrap:normal; word-break:normal; }
.ptch-default .ptch-checkout-vehicle .car_details__line td > span.car_label { margin:0; font-size:16px; font-weight:700; color:#30355a; white-space:normal; }
.ptch-default .ptch-checkout-vehicle .car_details__line td > span.error { color:#a53532; font-size:13px; font-weight:400; margin:6px 0 0; }
.ptch-default .ptch-checkout-vehicle .car_details__line input[type='text'],.ptch-default .ptch-checkout-vehicle .car_details__line select { display:block; width:100%; max-width:100%; min-height:48px; padding:11px 12px!important; font-family:inherit; font-size:15px; line-height:1.5; border:1px solid #ccd6e3; border-radius:8px; background:#fff; box-shadow:none; }
.ptch-default .ptch-checkout-vehicle .car_details__line input[id*='TextBoxCarReg'] { font-size:18px; letter-spacing:.04em; }
.ptch-default .ptch-checkout-vehicle .car_details__line .styled-select { display:block; width:100%; height:auto; margin:0; border:0; background:none; }
.ptch-default .ptch-checkout-vehicle .car_details__line .checkbox span { display:inline; font-weight:400; }
.ptch-default .ptch-checkout-vehicle .vehicle-type-selector { max-width:none; width:100%; margin:0 0 24px; padding:16px; border-color:#dce5f0; border-radius:12px; background:#f8fafc; }
.ptch-default .ptch-checkout-vehicle .vehicle-type-title { margin:0 0 12px; font-size:14px; font-weight:600; }
.ptch-default .ptch-checkout-vehicle .vehicle-type-option input[type='radio']:checked + .vehicle-type-option-content { border-color:#5480c0; background:#f2f7fd; box-shadow:0 0 0 1px #5480c0; }
.ptch-default .ptch-checkout-vehicle .vehicle-type-option input[type='radio']:checked + .vehicle-type-option-content::before { border-color:#5480c0; }
.ptch-default .ptch-checkout-vehicle .booking_slots { padding:20px 0; border-bottom:1px solid #e0e0e0; }
.ptch-default .ptch-checkout-vehicle .booking_slots h2 { border:0; margin:14px 0; padding:0; font-size:18px; }
.ptch-default .ptch-checkout-vehicle .booking_slots p { font-size:13px; line-height:1.6; }
.ptch-default .ptch-checkout-vehicle .car_details .input-group.actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin:22px 0 0; padding:0; }
.ptch-default .ptch-checkout-vehicle .car_details .input-group.actions > .action { display:block; float:none; width:100%; margin:0; padding:0; }
.ptch-default .ptch-checkout-vehicle .car_details .input-group.actions > .action:empty { display:none; }
.ptch-default .ptch-checkout-vehicle .car_details .input-group.actions input.primary-btn { display:block; width:100%; min-width:0; min-height:52px; padding:14px 20px!important; font-size:16px; border-radius:10px; }
.ptch-default .ptch-checkout-vehicle #divaddbasketitems .action input.back-btn { display:block; float:none; width:100%; min-width:0; min-height:40px; padding:10px!important; margin:0; background:transparent; color:#286fb8; border:0; font-size:14px; font-weight:400; }
.ptch-default .ptch-checkout-vehicle #divaddbasketitems .action input.back-btn:hover { background:#f2f7fc; }
/* The edit page has a different three-cell legacy row: label, input, validator. */
.ptch-default .ptch-checkout-vehicle .car_details > table.ptch-edit-vehicles,.ptch-default .ptch-checkout-vehicle table.ptch-edit-vehicles > tbody { display:block; width:100%; margin:0; border:0; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles tr { display:grid; grid-template-columns:1fr; gap:8px; margin:0 0 20px; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles td { display:block; width:auto; min-width:0; padding:0; border:0; background:none; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles td > span { display:block; padding:0; margin:0; font-size:14px; font-weight:600; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles input[type='text'] { width:100%; min-height:48px; font-size:18px; letter-spacing:.04em; padding:11px 12px!important; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles .error { font-weight:400; font-size:13px; }
.ptch-default .ptch-checkout-icon { display:inline-block; flex:0 0 20px; width:20px; height:20px; vertical-align:middle; color:#30355a; }
.ptch-default .ptch-checkout-vehicle .ptch-event-meta { display:flex; align-items:flex-start; gap:10px; }
.ptch-default .ptch-checkout-vehicle .ptch-event-meta > .ptch-checkout-icon { margin-top:1px; }
/* Basket: the existing order items and totals become adjacent columns, even without JS. */
.ptch-default .ptch-checkout-basket .basket_holder { margin:0; display:block; }
.ptch-default .ptch-checkout-basket .basket_items { display:block; float:none; width:100%; }
.ptch-default .ptch-checkout-basket .basket_items_inner { margin:0; padding:0; border:0; background:none; box-shadow:none; }
.ptch-default .ptch-checkout-basket .basket_items_inner > h2 { display:none; }
.ptch-default .ptch-checkout-basket .basket_items_inner > .bookmore { margin:0 0 18px; color:#637089; font-size:13px; }
.ptch-default .ptch-checkout-basket .basket_items_inner > .bookmore p { margin:0; font-size:13px; }
.ptch-default .ptch-checkout-basket #divbasket { display:block; }
.ptch-default .ptch-checkout-basket #divbasket:has(> #order-total) { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr); align-items:start; gap:24px; }
.ptch-default .ptch-checkout-basket #orderitems { min-width:0; margin:0; padding:0; }
.ptch-default .ptch-checkout-basket #orderitems .orders { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; margin:0; padding:0; list-style:none; }
.ptch-default .ptch-checkout-basket #orderitems .orders::before,.ptch-default .ptch-checkout-basket #orderitems .orders::after { display:none; }
.ptch-default .ptch-checkout-basket #orderitems .line-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0; width:auto; min-width:0; margin:0; padding:0; border:1px solid #e0e6ef; border-radius:16px; background:#fff; box-shadow:0 4px 18px #30355a07; overflow:hidden; }
.ptch-default .ptch-checkout-basket #orderitems .line-item > img.image { grid-column:1/-1; grid-row:1; display:block; float:none; width:100%; height:270px; max-width:100%; padding:10px; margin:0; border:0; border-radius:0; background:#11172a; object-fit:contain; }
.ptch-default .ptch-checkout-basket #orderitems .line-item > .label { grid-column:1/-1; grid-row:2; display:block; float:none; width:100%; min-width:0; padding:22px 24px 18px; margin:0; background:none; color:#53637d; text-align:left; white-space:normal; }
.ptch-default .ptch-checkout-basket #orderitems .line-item h4 { margin:0 0 15px; padding:0; font-size:23px; line-height:1.3; font-weight:750; }
.ptch-default .ptch-checkout-basket #orderitems .line-item .location,.ptch-default .ptch-checkout-basket #orderitems .line-item .postcode,.ptch-default .ptch-checkout-basket #orderitems .line-item .timeslot { margin:9px 0 0; padding:0; font-size:14px; line-height:1.5; }
.ptch-default .ptch-checkout-basket #orderitems .ptch-ticket-meta { display:flex; align-items:flex-start; gap:10px; }
.ptch-default .ptch-checkout-basket #orderitems .line-item > .count { grid-column:1; grid-row:3; padding:16px 0; margin:0 0 0 24px; border-top:1px solid #e0e0e0; color:#53637d; font-size:14px; line-height:1.7; align-self:stretch; text-align:left; }
.ptch-default .ptch-checkout-basket #orderitems .line-item > .price { grid-column:2; grid-row:3; margin:0 24px 0 0; padding:12px 0 12px 18px; border-top:1px solid #e0e0e0; color:#30355a; font-size:25px; font-weight:750; line-height:1.3; text-align:right; align-self:stretch; }
.ptch-default .ptch-checkout-basket #orderitems .line-item > .ptch-ticket-actions { grid-column:1/-1; grid-row:4; display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:20px; width:auto; padding:14px 0; margin:0 24px; border-top:1px solid #e0e0e0; }
.ptch-default .ptch-checkout-basket #orderitems .edit-btn,.ptch-default .ptch-checkout-basket #orderitems .delete-btn { position:static; display:inline-flex; align-items:center; gap:8px; width:auto; height:auto; min-height:32px; margin:0; padding:0; border:0; border-radius:4px; background:none; text-indent:0; color:#286fb8; font-size:13px; line-height:1.5; text-decoration:none; }
.ptch-default .ptch-checkout-basket #orderitems .delete-btn { color:#67748b; }
.ptch-default .ptch-checkout-basket #orderitems .delete-btn:hover { color:#a53532; }
.ptch-default .ptch-checkout-basket #orderitems .edit-btn::before,.ptch-default .ptch-checkout-basket #orderitems .delete-btn::before { display:none; }
.ptch-default .ptch-checkout-basket #orderitems .ptch-add-more { margin:16px 0 0; display:flex; }
.ptch-default .ptch-checkout-basket #orderitems .ptch-add-more a { display:inline-flex; align-items:center; gap:8px; margin:0; font-size:14px; background:#fff; }
.ptch-default .ptch-checkout-basket #order-total { position:static; float:none; display:flex; flex-direction:column; gap:0; width:100%; min-width:0; max-width:none; margin:0; padding:26px; border:1px solid #e0e6ef; border-radius:16px; background:#fff; box-shadow:0 4px 18px #30355a07; }
.ptch-default .ptch-checkout-basket #order-total h2 { margin:0 0 18px; padding:0; border:0; color:#30355a; font-size:25px; line-height:1.25; font-weight:750; }
.ptch-default .ptch-checkout-basket #order-total .line-item { display:flex; align-items:baseline; flex-wrap:nowrap; gap:12px; width:100%; margin:0; padding:13px 0; border:0; border-radius:0; background:none; }
.ptch-default .ptch-checkout-basket #order-total .line-item label { min-width:0; flex:1; margin:0; padding:0; font:400 14px/1.5 'PTCH Noto Sans','Segoe UI',Arial,sans-serif; color:#53637d; text-transform:none; letter-spacing:0; }
.ptch-default .ptch-checkout-basket #order-total .line-item label small { display:block; margin-top:6px; color:#637089; font-size:11px; font-style:normal!important; line-height:1.5; }
.ptch-default .ptch-checkout-basket #order-total .line-item > span { flex:0 0 auto; margin:0; color:#30355a; font-size:16px; line-height:1.4; font-weight:700; }
.ptch-default .ptch-checkout-basket #order-total .line-item.ptch-total-amount { align-items:center; border-top:1px solid #e0e0e0; padding:20px 0; margin:14px 0 0; }
.ptch-default .ptch-checkout-basket #order-total .ptch-total-amount label { color:#30355a; font-size:20px; font-weight:700; }
.ptch-default .ptch-checkout-basket #order-total .ptch-total-amount > span { font-size:32px; font-weight:750; }
.ptch-default .ptch-checkout-basket #order-total .payment-method { border-top:1px solid #e0e0e0; padding:22px 0 0; margin:0 0 14px; color:#30355a; font-size:16px; line-height:1.4; font-weight:700; }
.ptch-default .ptch-checkout-basket #order-total .ptch-payment-choice { display:flex; align-items:center; gap:10px; margin:0 0 18px; padding:14px; border:1px solid #d5e0ed; border-radius:9px; color:#30355a; font-size:14px; }
.ptch-default .ptch-checkout-basket #order-total .actions { display:flex; justify-content:stretch; gap:12px; width:100%; margin:8px 0 0; padding:0; }
.ptch-default .ptch-checkout-basket #order-total .actions a.primary-btn { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:52px; padding:14px; margin:0; font-size:15px; }
.ptch-default .ptch-checkout-basket #order-total .actions .ptch-checkout-icon { color:currentColor; margin:0; }
.ptch-default .ptch-checkout-basket #order-total .ptch-summary-back { display:block; padding:10px; margin:12px 0 0; font-size:13px; text-align:center; text-decoration:none; }
.ptch-default .ptch-checkout-basket [hidden] { display:none!important; }
@media(max-width:960px) {
 .ptch-default .ptch-checkout-vehicle #divaddbasketitems { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:18px; }
 .ptch-default .ptch-checkout-vehicle .car_details { padding:20px; }
 .ptch-default .ptch-checkout-basket #divbasket:has(> #order-total) { grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); gap:18px; }
 .ptch-default .ptch-checkout-basket #order-total { padding:22px; }
 .ptch-default .ptch-checkout-vehicle .car_details__line tr { grid-template-columns:minmax(0,1fr); gap:16px; }
}
@media(max-width:760px) {
 .ptch-default .ptch-checkout-vehicle,.ptch-default .ptch-checkout-basket { padding:12px 0 24px; }
 .ptch-default .ptch-checkout-vehicle h1,.ptch-default .ptch-checkout-basket h1 { font-size:31px; }
 .ptch-default .ptch-checkout-intro { font-size:14px; margin-bottom:22px; }
 .ptch-default .ptch-checkout-vehicle #divaddbasketitems,.ptch-default .ptch-checkout-basket #divbasket:has(> #order-total) { grid-template-columns:minmax(0,1fr); gap:20px; }
 .ptch-default .ptch-checkout-vehicle .basketitem_details > img.image,.ptch-default .ptch-checkout-basket #orderitems .line-item > img.image { height:240px; }
 .ptch-default .ptch-checkout-vehicle .basketitem_details h4,.ptch-default .ptch-checkout-basket #orderitems .line-item h4 { font-size:21px; }
 .ptch-default .ptch-checkout-vehicle .car_details__line tr { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .ptch-default .ptch-checkout-vehicle .car_details { padding:20px; }
 .ptch-default .ptch-checkout-vehicle .car_details > h2 { font-size:23px; }
 .ptch-default .ptch-checkout-basket #orderitems .line-item > .label { padding:20px; }
 .ptch-default .ptch-checkout-basket #orderitems .line-item > .count { margin-left:20px; }
 .ptch-default .ptch-checkout-basket #orderitems .line-item > .price { margin-right:20px; }
 .ptch-default .ptch-checkout-basket #orderitems .line-item > .ptch-ticket-actions { margin:0 20px; }
}
@media(max-width:460px) {
 .ptch-default .ptch-checkout-vehicle .car_details__line tr { grid-template-columns:minmax(0,1fr); }
 .ptch-default .ptch-checkout-vehicle .vehicle-type-options { grid-template-columns:minmax(0,1fr); }
 .ptch-default .ptch-checkout-vehicle .basketitem_details > img.image,.ptch-default .ptch-checkout-basket #orderitems .line-item > img.image { height:210px; }
}

/* Quantity belongs to the form; original server controls and postbacks are retained. */
.ptch-default .ptch-checkout-vehicle .car_details > .ptch-quantity-panel { margin:0 0 24px; padding:16px 18px; background:#f2f7fd; border:1px solid #e1edfa; border-radius:12px; }
.ptch-default .ptch-checkout-vehicle .car_details > .ptch-quantity-panel #MainContent_orderlist { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:0; padding:0; border:0; }
.ptch-default .ptch-checkout-vehicle .car_details > .ptch-quantity-panel #MainContent_orderlist > span:first-child { margin:0; font-size:15px; font-weight:650; }
.ptch-default .ptch-checkout-vehicle .car_details > .ptch-quantity-panel .qtyactions { display:inline-flex; align-items:center; gap:10px; padding:4px; border:1px solid #d5e3f4; border-radius:28px; background:#fff; }
.ptch-default .ptch-checkout-vehicle .car_details > .ptch-quantity-panel .qtyactions > span { font-size:16px; min-width:22px; margin:0; padding:0; font-weight:650; }
.ptch-default .ptch-checkout-vehicle .car_details > .ptch-quantity-panel .qtyactions > input { padding:0!important; min-height:36px; height:36px; width:36px; font-size:20px; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles td:first-child { text-align:left; }
.ptch-default .ptch-checkout-vehicle .car_details table.ptch-edit-vehicles td:first-child span { text-align:left; }
.ptch-default .ptch-event-search { display:none; }

.ptch-default .ptch-event-search { display:none!important; }

/* 2026-11-02: EP light theme from the supplied Park the Car Here prototype.
   Scoped to the existing opt-in root; no payment/provider elements are replaced. */
.ptch-default { --ptch-theme-build:20261102; --ptch-ink:#30355a; --ptch-blue:#5480c0; --ptch-line:#e0e0e0; --ptch-soft:#f2f7fd; font-family:'PTCH Noto Sans','Segoe UI',Arial,sans-serif; line-height:1.55; color-scheme:light; }
.ptch-default h1,.ptch-default h2,.ptch-default h3,.ptch-default h4,.ptch-default h5,
.ptch-default .ptch-event-hero-copy h1 { font-family:'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; font-weight:800; letter-spacing:-.02em; line-height:1.2; }
.ptch-default .centered { max-width:1140px; padding-left:32px; padding-right:32px; }
.ptch-default .primary-btn,.ptch-default input.primary-btn,.ptch-default .button,.ptch-default .btn-primary,
.ptch-default .secondary-btn,.ptch-default input.secondary-btn { font-family:'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; border-radius:8px; min-height:45px; font-weight:600; }
.ptch-default .primary-btn,.ptch-default input.primary-btn,.ptch-default .button,.ptch-default .btn-primary { background:#30355a; border-color:#30355a; color:#fff; }
.ptch-default .primary-btn:hover,.ptch-default .button:hover,.ptch-default .btn-primary:hover { background:#5480c0; border-color:#5480c0; box-shadow:none; }
.ptch-default .secondary-btn,.ptch-default input.secondary-btn { border:1.5px solid #30355a; background:transparent; color:#30355a; }
.ptch-default .secondary-btn:hover { background:#30355a; color:white; }
.ptch-default .primary-btn:disabled,.ptch-default .primary-btn[aria-disabled='true'],.ptch-default .secondary-btn:disabled { background:#e0e0e0; border-color:#e0e0e0; color:#737373; cursor:not-allowed; }
.ptch-default a:focus-visible,.ptch-default button:focus-visible,.ptch-default input:focus-visible,.ptch-default select:focus-visible,.ptch-default summary:focus-visible { outline:3px solid #5480c0; outline-offset:4px; }
.ptch-default header.top { position:relative; z-index:40; min-height:84px; border-bottom:1px solid #e0e0e0; background:#fff; padding:14px 0; }
.ptch-default header.top .logo { background-image:url('./img/ptch-park-live-logo.png'); background-repeat:no-repeat; background-size:contain; width:170px; flex-basis:170px; height:48px; }
.ptch-default header.top .logo img { visibility:hidden; }
.ptch-default #theMenuDiv ul.nav li a,.ptch-default .ptch-header-help { font-family:'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; font-weight:500; font-size:14px; }
.ptch-default .header_basket { border-color:#30355a; border-radius:8px; padding:10px 16px; }
.ptch-default .booking-session { border-radius:999px; background:#f2f7fd; padding:7px 12px; }
.ptch-default .ptch-hero { background:radial-gradient(ellipse at 85% 30%,#5480c059,transparent 65%),radial-gradient(ellipse at 10% 100%,#5480c02e,transparent 65%),#1d2138; border:0; color:#fff; }
.ptch-default .ptch-hero-inner { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; padding-top:64px; padding-bottom:72px; min-height:320px; }
.ptch-default.ptch-home .ptch-hero-inner { min-height:550px; }
.ptch-default .ptch-hero h1,.ptch-default .ptch-hero h1 span { color:#fff; }
.ptch-default.ptch-home .ptch-hero h1 { font-size:clamp(42px,4.6vw,64px); line-height:1.14; }
.ptch-default .ptch-hero .ptch-eyebrow { color:#bec4e0; font-size:11px; letter-spacing:.12em; }
.ptch-default .ptch-hero-copy > p:not(.ptch-eyebrow) { font-size:18px; line-height:1.6; color:#bec4e0; margin:24px 0 0; max-width:540px; }
.ptch-default .ptch-hero-art { display:none; }
.ptch-default.ptch-events .ptch-hero-inner { padding-top:44px; padding-bottom:44px; }
.ptch-default.ptch-events .ptch-pass-preview { display:none; }
.ptch-default.ptch-events .ptch-hero-inner { grid-template-columns:1fr; }
.ptch-default .ptch-booking-steps .is-current { color:#30355a; }
.ptch-default .ptch-booking-steps .is-current > span { background:#30355a; }
.ptch-default .ptch-booking-steps .is-complete > span { background:#5480c0; }
.ptch-default.ptch-home > form > .ptch-booking-steps { display:none; }
.ptch-default.ptch-home main { padding-top:56px; padding-bottom:48px; }
.ptch-default.ptch-home [id$='divform'] > h1 { text-align:left; font-size:34px; margin-bottom:10px; }
.ptch-default.ptch-home [id$='divform'] > .ptch-intro { text-align:left; color:#6b7398; font-size:16px; margin-bottom:28px; }
.ptch-default.ptch-home .orders { gap:32px; }
.ptch-default.ptch-home .orders .order { border-radius:24px; padding:0 24px 24px; box-shadow:none; }
.ptch-default.ptch-home .orders .order > a.image { margin:0 -24px; height:230px; background:#f6f6f6; }
.ptch-default.ptch-home .orders .order > a.image img { padding:28px; }
.ptch-default.ptch-home .orders .order .details { text-align:left; padding:24px 0; }
.ptch-default.ptch-home .orders .order .details p { color:#6b7398; }
.ptch-default.ptch-home .orders .order .actions .primary-btn { width:auto; display:inline-flex; justify-content:center; }
.ptch-default .events_wrapper .orders.events { grid-template-columns:1fr; gap:14px; }
.ptch-default .events_wrapper .orders .order.event { padding:20px; border-radius:18px; box-shadow:none; grid-template-columns:minmax(0,1fr) 140px; }
.ptch-default .events_wrapper .orders .order.event.ptch-has-date { grid-template-columns:72px minmax(0,1fr) 140px; gap:10px 24px; }
.ptch-default .events_wrapper .order.event > .image,.ptch-default .events_wrapper .order.event > img.image,.ptch-default .events_wrapper .order.event > a.image img { width:140px; }
.ptch-default .events_wrapper .order.event h3 { font-size:20px; }
.ptch-default .ptch-date-badge { background:#f6f6f6; border-radius:12px; padding:12px 4px; }
.ptch-default .events_wrapper .order.event .actions .primary-btn { width:auto; display:inline-flex; min-height:40px; padding:10px 20px; }
.ptch-default .ptch-event-hero { border-radius:24px; background:#f6f6f6; max-width:1076px; }
.ptch-default .ptch-event-hero-copy { padding:36px; }
.ptch-default .ptch-event-hero-copy h1 { font-size:34px; }
.ptch-default .ptch-event-photo { mask-image:none; -webkit-mask-image:none; max-height:320px; object-fit:cover; }
.ptch-default #MainContent_divcarparkslist .order.carpark { border-color:#e0e0e0; border-radius:18px; box-shadow:none; padding:24px; }
.ptch-default #MainContent_divcarparkslist .order.carpark.accessible { border-color:#5480c0; background:#f2f7fd!important; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details:before { background-color:#f2f7fd; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details h4 { font-size:22px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .actions .primary-btn { border-radius:8px; min-height:45px; }
.ptch-default .ptch-checkout-vehicle .car_details,.ptch-default .ptch-checkout-basket #order-total,
.ptch-default .ptch-checkout-basket #orderitems .line-item,.ptch-default .payment_wrapper .personal_details,
.ptch-default .payment_wrapper #paymentHolder { border-radius:24px; border-color:#e0e0e0; box-shadow:none; }
.ptch-default .ptch-checkout-vehicle .basketitem_details { border-radius:24px; box-shadow:none; }
.ptch-default .ptch-checkout-vehicle .car_details input.ptch-plate-input { background:#f7d117; color:#111; border:1.5px solid #333; font:600 28px/1.2 'PTCH Barlow Semi Condensed','Arial Narrow',Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; padding:10px 14px!important; }
.ptch-default input[type='text'],.ptch-default input[type='email'],.ptch-default input[type='tel'],.ptch-default input[type='password'],.ptch-default select,.ptch-default textarea { border-color:#e0e0e0; border-radius:12px; font-size:16px; }
.ptch-default .payment_wrapper .field input:not([type]),.ptch-default .payment_wrapper .field input[type='email'],.ptch-default .payment_wrapper .field input[type='tel'] { font-family:'PTCH Noto Sans','Segoe UI',Arial,sans-serif; }
.ptch-default .ptch-how-it-works { background:#f6f6f6; padding:64px 0; margin:0 0 48px; }
.ptch-default .ptch-how-it-works h2 { max-width:600px; font-size:34px; margin:0 0 36px; }
.ptch-default .ptch-how-it-works ol { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; margin:0; }
.ptch-default .ptch-how-it-works li { display:flex; align-items:flex-start; gap:16px; }
.ptch-default .ptch-how-it-works li > span { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; background:#5480c0; color:white; font-weight:700; border-radius:50%; }
.ptch-default .ptch-how-it-works h3 { font-size:20px; margin:0 0 10px; }
.ptch-default .ptch-how-it-works p { color:#6b7398; font-size:14px; margin:0; }
.ptch-default .ptch-support { border:1px solid #e0e0e0; border-radius:24px; background:#fff; max-width:1076px; padding:28px; }
.ptch-default .ptch-support svg { color:#5480c0; }
.ptch-default footer.bottom { background:#1d2138; padding:40px 0; }
@media(min-width:960px) { .ptch-default .ptch-checkout-basket #order-total { position:sticky; top:24px; } }
@media(max-width:760px) {
 .ptch-default .centered { padding-left:20px; padding-right:20px; }
 .ptch-default .ptch-hero-inner { grid-template-columns:minmax(0,1fr); gap:36px; padding-top:40px; padding-bottom:48px; }
 .ptch-default.ptch-home .ptch-hero h1 { font-size:45px; }
 .ptch-default .ptch-hero-copy > p:not(.ptch-eyebrow) { font-size:16px; }
 .ptch-default header.top .logo { width:140px; flex-basis:140px; height:40px; }
 .ptch-default .header__left { gap:12px; }
 .ptch-default .header_basket { padding:8px 12px; }
 .ptch-default.ptch-home main { padding-top:36px; padding-bottom:28px; }
 .ptch-default.ptch-home .orders { grid-template-columns:1fr; gap:24px; }
 .ptch-default.ptch-home [id$='divform'] > h1,.ptch-default .ptch-how-it-works h2 { font-size:28px; }
 .ptch-default .ptch-event-hero { width:calc(100% - 40px); border-radius:18px; }
 .ptch-default .ptch-event-hero-copy { padding:24px; }
 .ptch-default .ptch-event-hero-copy h1 { font-size:28px; }
 .ptch-default .ptch-how-it-works { padding:40px 0; }
 .ptch-default .ptch-how-it-works ol { grid-template-columns:1fr; gap:28px; }
 .ptch-default .events_wrapper .orders .order.event.ptch-has-date { grid-template-columns:58px minmax(0,1fr); gap:12px; }
 .ptch-default .events_wrapper .orders .order.event { grid-template-columns:minmax(0,1fr); padding:16px; }
 .ptch-default .events_wrapper .order.event > .image { display:none; }
 .ptch-default .events_wrapper .order.event h3 { font-size:17px; }
 .ptch-default .ptch-support { width:calc(100% - 40px); padding:24px; flex-wrap:wrap; }
}
@media(max-width:639px) {
 .ptch-default .primary-btn,.ptch-default input.primary-btn,.ptch-default .button,.ptch-default .btn-primary,.ptch-default .secondary-btn,.ptch-default input.secondary-btn,.ptch-default #MainContent_divcarparkslist .order.carpark .actions .primary-btn { border-radius:999px; }
 .ptch-default.ptch-home .orders .order .actions .primary-btn { width:100%; }
 .ptch-default .ptch-booking-steps li { font-size:11px; white-space:normal; }
 .ptch-default .ptch-booking-steps li + li::before { width:12px; margin:0 6px; flex-shrink:0; }
 .ptch-default .ptch-booking-steps li > span { width:28px; height:28px; flex-shrink:0; }
}
@media(prefers-reduced-motion:reduce) { .ptch-default *,.ptch-default *::before,.ptch-default *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
/* Standalone payment uses the same dark band without an empty illustration column. */
.ptch-default .ptch-payment-hero .ptch-hero-inner { grid-template-columns:minmax(0,1fr); min-height:190px; padding-top:32px; padding-bottom:32px; }
.ptch-default .ptch-payment-hero .ptch-hero-copy > p { margin-top:12px; }

/* Reference fidelity correction: original illustrated pass, original EP spacing/type.
   The pass is an explicitly labelled decorative example. It is never booking data. */
.ptch-default header.top { min-height:64px; padding:12px 0; }
.ptch-default header.top .logo { height:40px; width:137px; flex-basis:137px; }
.ptch-default #theMenuDiv ul.nav li a,.ptch-default .ptch-header-help { font-size:16px; }
.ptch-default .header_basket { border:0; border-radius:999px; padding:8px 10px; }
.ptch-default.ptch-home .ptch-hero-inner { grid-template-columns:minmax(0,1fr); gap:48px; min-height:0; padding-top:48px; padding-bottom:64px; }
.ptch-default.ptch-home .ptch-hero-copy > .ptch-eyebrow { display:none; }
.ptch-default.ptch-home .ptch-hero h1 { font-size:45px; line-height:1.2; margin:0; }
.ptch-default.ptch-home .ptch-hero-copy > p:not(.ptch-eyebrow) { margin-top:24px; font-size:16px; line-height:1.55; }
.ptch-default .ptch-pass-preview { width:100%; max-width:380px; justify-self:center; color:#30355a; }
.ptch-default .ptch-pass-card { border-radius:28px; background:#fff; overflow:hidden; border:1px solid #e0e0e0b3; box-shadow:0 1px 2px #30355a0f,0 12px 32px -12px #30355a38; }
.ptch-default .ptch-pass-photo { position:relative; height:160px; overflow:hidden; }
.ptch-default .ptch-pass-photo > img { width:100%; height:100%; object-fit:cover; display:block; }
.ptch-default .ptch-pass-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,#000000b3,#0003,transparent); pointer-events:none; }
.ptch-default .ptch-pass-photo-title { position:absolute; left:20px; right:20px; bottom:16px; z-index:1; color:#fff; }
.ptch-default .ptch-pass-photo-title p { font-size:13px; opacity:.85; margin:0; line-height:1.55; }
.ptch-default .ptch-pass-photo-title h2 { font-size:23px; line-height:1.2; color:#fff; margin:0; }
.ptch-default .ptch-pass-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; row-gap:16px; padding:20px; font-size:16px; }
.ptch-default .ptch-pass-data p { font-size:12px; line-height:1.55; color:#6b7398; margin:0; }
.ptch-default .ptch-pass-data > div > span { font-size:16px; font-weight:500; line-height:1.55; }
.ptch-default .ptch-pass-vehicle { grid-column:1/-1; }
.ptch-default .ptch-sample-plate { display:inline-flex; margin-top:6px; background:#f7d117; color:#111; border-radius:8px; overflow:hidden; box-shadow:inset 0 0 0 1.5px #0009; }
.ptch-default .ptch-sample-band { display:flex; align-items:flex-end; justify-content:center; width:26px; padding-bottom:5px; background:#5480c0; color:#fff; font:600 11px/1 'PTCH Noto Sans',Arial,sans-serif; letter-spacing:.04em; }
.ptch-default .ptch-sample-registration { padding:4px 10px; font:600 19px/1.55 'PTCH Barlow Semi Condensed','Arial Narrow',Arial,sans-serif; letter-spacing:.06em; }
.ptch-default .ptch-pass-code { display:flex; align-items:center; gap:16px; border-top:1px dashed #e0e0e0; padding:20px; }
.ptch-default .ptch-pass-code img { flex:0 0 104px; width:104px; height:104px; padding:6px; background:#fff; border:1px solid #e0e0e0; border-radius:12px; }
.ptch-default .ptch-pass-code p { font-size:14px; line-height:1.55; color:#6b7398; margin:0; }
.ptch-default .ptch-pass-caption { font-size:13px; line-height:1.55; color:#bec4e0; text-align:center; margin:16px 0 0; }
.ptch-default.ptch-home main { padding-top:64px; padding-bottom:80px; }
.ptch-default.ptch-home [id$='divform'] > h1 { font-size:34px; line-height:1.2; }
.ptch-default.ptch-home .orders .order { border-radius:22px; }
.ptch-default.ptch-home .orders .order > a.image { height:208px; }
.ptch-default.ptch-home .orders .order .details { padding:24px 4px; }
.ptch-default.ptch-events .events_wrapper > .page-header { display:block; max-width:1140px; margin:0 auto; padding:56px 32px 32px; background:#fff; text-align:left; }
.ptch-default.ptch-events .page-header__content { width:100%; max-width:none; margin:0; padding:0; }
.ptch-default.ptch-events .page-header__heading { color:#30355a!important; font-size:45px; text-align:left; }
.ptch-default.ptch-events .ptch-booking-steps { display:none; }
.ptch-default .events_wrapper .orders.events { gap:0; border-top:1px solid #e0e0e0; }
.ptch-default .events_wrapper .orders .order.event { border:0; border-bottom:1px solid #e0e0e0; border-radius:0; box-shadow:none; padding:16px 0; background:white; }
.ptch-default .events_wrapper .order.event h3 { font-size:16px; }
.ptch-default .ptch-date-badge { background:transparent; border:0; padding:0 3px; }
.ptch-default .ptch-date-badge strong { font-family:'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; font-size:23px; }
/* Compact event summary: preserve the database artwork and its full proportions. */
.ptch-default .ptch-event-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,380px); align-items:center; overflow:visible; background:white; border-radius:0; gap:40px; min-height:0; padding:24px 0 32px; border-bottom:1px solid #e0e0e0; }
.ptch-default .ptch-event-photo { grid-column:2; grid-row:1; justify-self:end; width:auto; max-width:100%; height:auto; aspect-ratio:auto; max-height:260px; border-radius:18px; object-fit:contain; mask-image:none; -webkit-mask-image:none; }
.ptch-default .ptch-event-hero-copy { grid-column:1; grid-row:1; min-width:0; padding:0; }
.ptch-default .ptch-event-hero-copy h1 { font-size:45px; }
.ptch-default .ptch-event-hero-copy > p.ptch-event-date,.ptch-default .ptch-event-hero-copy > p.ptch-event-venue { color:#6b7398; font-size:16px; }
.ptch-default .ptch-event-hero .ptch-eyebrow { font-size:13px; font-weight:500; color:#6b7398; letter-spacing:0; }
.ptch-default #MainContent_divcarparkslist .orders { grid-template-columns:minmax(0,1fr); gap:12px; }
.ptch-default #MainContent_divcarparkslist .order.carpark { border-radius:18px; padding:20px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details h4 { font-size:16px; }
.ptch-default .ptch-how-it-works { margin-bottom:0; padding:80px 0; }
@media(min-width:640px) {
 .ptch-default.ptch-home .ptch-hero-copy > p:not(.ptch-eyebrow) { font-size:23px; line-height:1.45; }
}
@media(min-width:768px) {
 .ptch-default.ptch-home .ptch-hero-inner { padding-top:80px; }
}
@media(min-width:1024px) {
 .ptch-default.ptch-home .ptch-hero-inner { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; padding-bottom:96px; }
 .ptch-default.ptch-home .ptch-hero h1 { font-size:64px; }
 .ptch-default .ptch-pass-preview { transform:rotate(2deg); }
 .ptch-default .ptch-pass-caption { transform:rotate(-2deg); }
}
@media(max-width:767px) {
 .ptch-default.ptch-events .events_wrapper > .page-header { padding:40px 20px 24px; }
 .ptch-default.ptch-events .page-header__heading { font-size:34px; }
 .ptch-default .ptch-event-hero-copy h1 { font-size:34px; }
 .ptch-default .ptch-event-hero { grid-template-columns:minmax(0,1fr); gap:24px; padding:16px 0 28px; }
 .ptch-default .ptch-event-photo { grid-column:1; grid-row:1; justify-self:center; max-width:min(100%,380px); max-height:240px; aspect-ratio:auto; }
 .ptch-default .ptch-event-hero-copy { grid-column:1; grid-row:2; }
 .ptch-default .ptch-how-it-works { padding:48px 0; }
}
.ptch-default .carpark_wrapper { background:#fff; }

/* Partner cards: reference composition with the existing database images.
   No image URL, customer order, destination or event data is replaced. */
.ptch-default.ptch-home [id$='diveventslist'] .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin:32px 0 0; }
.ptch-default.ptch-home .orders .order.ptch-partner-card { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:208px auto; align-content:start; padding:0; margin:0; border:1px solid #e0e0e0; border-radius:22px; overflow:hidden; box-shadow:none; transition:box-shadow .18s; }
.ptch-default.ptch-home .orders .order.ptch-partner-card:hover { box-shadow:0 1px 2px #30355a0f,0 12px 32px -12px #30355a38; }
.ptch-default.ptch-home .orders .order.ptch-partner-card > a.image { grid-column:1; grid-row:1; position:relative; display:block; min-width:0; width:100%; height:208px; margin:0; border:0; border-radius:0; background:#f6f6f6; overflow:hidden; }
.ptch-default.ptch-home .orders .order.ptch-partner-card > a.image img { display:block; width:100%; max-width:100%; height:100%; margin:0; padding:0; object-fit:cover; object-position:center; border:0; border-radius:0; }
.ptch-default.ptch-home .orders .order.ptch-partner-card > a.image::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top,#1d2138ed 0%,#1d21388c 26%,transparent 65%); }
.ptch-default.ptch-home .orders .order.ptch-partner-card > .details { grid-column:1; grid-row:1; align-self:end; position:relative; z-index:1; margin:0; padding:0 28px 24px; width:100%; text-align:left; pointer-events:none; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .details h3 { margin:0; color:white; font:800 23px/1.2 'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; letter-spacing:-.02em; overflow-wrap:anywhere; }
.ptch-default.ptch-home .orders .order.ptch-partner-card > .actions { grid-column:1; grid-row:2; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; min-height:132px; width:100%; padding:24px 28px; margin:0; position:static; background:white; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .ptch-partner-description { flex:1 1 150px; max-width:260px; font:400 14px/1.55 'PTCH Noto Sans','Segoe UI',Arial,sans-serif; color:#6b7398; margin:0; text-align:left; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .actions__inner { display:block; float:none; width:auto; min-width:0; margin:0 0 0 auto; padding:0; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .actions__cta { width:100%; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .actions .primary-btn { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:10px; width:auto; min-height:45px; padding:12px 24px; margin:0; font:600 14px/1.4 'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; white-space:nowrap; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .primary-btn svg { width:14px; height:14px; margin:0; fill:currentColor; flex:0 0 14px; }
@media(max-width:639px) {
 .ptch-default.ptch-home [id$='diveventslist'] .orders { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:24px; }
 .ptch-default.ptch-home .orders .order.ptch-partner-card { grid-template-rows:176px auto; }
 .ptch-default.ptch-home .orders .order.ptch-partner-card > a.image { height:176px; }
 .ptch-default.ptch-home .orders .order.ptch-partner-card > .details { padding:0 24px 20px; }
 .ptch-default.ptch-home .orders .order.ptch-partner-card > .actions { min-height:0; padding:24px; gap:20px; }
 .ptch-default.ptch-home .orders .order.ptch-partner-card .ptch-partner-description { max-width:none; flex-basis:100%; }
 .ptch-default.ptch-home .orders .order.ptch-partner-card .actions__inner,.ptch-default.ptch-home .orders .order.ptch-partner-card .actions .primary-btn { width:100%; }
}
.ptch-default.ptch-home .orders .order.ptch-partner-card .primary-btn svg { display:inline-block; }
.ptch-default.ptch-home .orders .order.ptch-partner-card .primary-btn:hover { opacity:1; }

/* Reference typography and header. Fonts are bundled, not requested from Google. */
.ptch-default { font-family:'PTCH Noto Sans','Segoe UI',Arial,sans-serif; font-size:16px; line-height:1.55; }
.ptch-default h1,.ptch-default h2,.ptch-default h3,.ptch-default h4,.ptch-default h5 { font-family:'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; font-weight:800!important; line-height:1.2; letter-spacing:-.02em; }
.ptch-default header.top { position:sticky; top:0; z-index:50; min-height:64px; height:auto; padding:12px 0; border-bottom:1px solid #e0e0e0; background:#fff; }
.ptch-default .header__left { display:flex; align-items:center; flex-wrap:nowrap; gap:24px; min-height:40px; }
.ptch-default .header__left::before,.ptch-default .header__left::after { display:none; content:none; }
.ptch-default header.top .logo { order:0; margin:0; width:137px; flex:0 0 137px; height:40px; }
.ptch-default #theMenuDiv { order:1; flex:0 1 auto; width:auto; margin:0 0 0 16px; }
.ptch-default #theMenuDiv ul.nav { gap:4px; }
.ptch-default #theMenuDiv ul.nav li a,.ptch-default .ptch-header-help { font:500 16px/1.55 'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; color:#6b7398; padding:8px 14px; border-radius:999px; text-decoration:none; }
.ptch-default #theMenuDiv ul.nav li a:hover,.ptch-default .ptch-header-help:hover { color:#30355a; background:#f6f6f6; }
.ptch-default .ptch-header-help { order:2; margin:0; }
.ptch-default .booking-session { order:3; margin-left:auto; font-family:'PTCH Noto Sans',Arial,sans-serif; }
.ptch-default .header_basket { order:4; display:flex; align-items:center; gap:8px; margin:0 0 0 auto; padding:0; border:0; min-height:40px; background:transparent; border-radius:999px; }
.ptch-default .header_basket > a { position:relative; display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:8px; border-radius:999px; }
.ptch-default .header_basket > a:hover { background:#f6f6f6; }
.ptch-default .header_basket .basket { display:block; position:relative; width:22px; height:22px; padding:0; background:none; }
.ptch-default .header_basket .basket::before { content:''; display:block; margin:0; width:22px; height:22px; background:center/22px 22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2330355A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1.5 1.5 0 0 0 1.5 1.2h8.6a1.5 1.5 0 0 0 1.5-1.1L20.5 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E"); }
.ptch-default .header_basket .basket::after { display:none; content:none; }
.ptch-default .header_basket .number { position:absolute; top:-7px; left:14px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:#5480c0; color:#fff; font:600 11px/1 'PTCH Noto Sans',Arial,sans-serif; }
.ptch-default .header_basket .total a { font:600 15px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#30355a; }
.ptch-default .header_basket.ptch-empty-basket .number,.ptch-default .header_basket .total.ptch-zero-total { display:none; }
/* Legacy .page-header min-height:18rem caused the empty band below Events. */
.ptch-default.ptch-events .events_wrapper > .page-header { display:block; min-height:0; height:auto; max-height:none; max-width:1140px; margin:0 auto; padding:56px 32px 24px; background:#fff; overflow:visible; }
.ptch-default.ptch-events .page-header__content { position:static; width:100%; max-width:none; margin:0; padding:0; }
.ptch-default.ptch-events .page-header__heading { font-size:45px; margin:0; padding:0; line-height:1.2; text-align:left; }
.ptch-default.ptch-events .ptch-event-count,.ptch-default.ptch-events .page-header__sub_heading { font:400 16px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#6b7398; text-align:left; margin:8px 0 0; }
.ptch-default.ptch-events .page-header__sub_heading:empty { display:none; }
.ptch-default .events_wrapper > .centered > br,.ptch-default .events__inner > br { display:none; }
.ptch-default .events__inner { padding-top:0; }
.ptch-default .events_wrapper .title_holder { margin:8px 0 16px; min-height:0; }
.ptch-default .ptch-duplicate-heading { display:none; }
.ptch-default .events_wrapper [id$='pageMessage']:empty { display:none; }
.ptch-default .events_wrapper [id$='div_carparkmessage'] { margin:0 0 16px; }
.ptch-default .events_wrapper [id$='div_carparkmessage']:empty { display:none; }
.ptch-default .events_wrapper .announcement { font-size:14px; line-height:1.55; padding:16px 20px; margin:0 0 16px; border-radius:14px; }
.ptch-default .events_wrapper .announcement p { font-size:14px; margin:0 0 12px; }
.ptch-default .events_wrapper .announcement p:last-child { margin-bottom:0; }
.ptch-default .events_wrapper .event_title__holder { margin:24px 0 0; }
.ptch-default .events_wrapper .event__title { font-size:14px; color:#6b7398; margin:0; }
.ptch-default .events_wrapper .orders.events { display:block; border:0; margin:0 0 32px; padding:0; }
.ptch-default .events_wrapper .orders.events > .ptch-event-month-heading { display:block; padding:24px 0 12px; margin:0; border-bottom:1px solid #e0e0e0; list-style:none; }
.ptch-default .events_wrapper .ptch-event-month-heading h3 { font-size:23px; margin:0; }
.ptch-default .events_wrapper .orders .order.event,
.ptch-default .events_wrapper .orders .order.event.ptch-has-date { display:grid; grid-template-columns:56px 96px minmax(0,1fr) auto; grid-template-rows:auto; align-items:center; gap:20px; min-height:0; height:auto!important; padding:16px 0; margin:0; border:0; border-bottom:1px solid #e0e0e0; border-radius:0; background:white; }
.ptch-default .events_wrapper .order.event > .ptch-date-badge { grid-column:1; grid-row:1; align-self:center; padding:0; background:none; border:0; }
.ptch-default .events_wrapper .ptch-date-badge small { font:400 13px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#6b7398; }
.ptch-default .events_wrapper .ptch-date-badge strong { margin-top:4px; font:800 23px/1.2 'PTCH Poppins',Arial,sans-serif; }
.ptch-default .events_wrapper .order.event > .image { grid-column:2; grid-row:1; display:block; width:96px; height:56px; min-height:0; max-height:56px; margin:0; padding:0; border-radius:12px; overflow:hidden; object-fit:cover; }
.ptch-default .events_wrapper .order.event > a.image img { display:block; width:96px; height:56px; min-height:0; max-height:56px; padding:0; margin:0; object-fit:cover; }
.ptch-default .events_wrapper .order.event > .details,
.ptch-default .events_wrapper .order.event.ptch-has-date > .details { grid-column:3; grid-row:1; width:auto; padding:0; margin:0; min-width:0; }
.ptch-default .events_wrapper .order.event h3 { font:800 16px/1.2 'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; color:#30355a; margin:0; }
.ptch-default .events_wrapper .order.event .details > .location { font:400 16px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#6b7398; margin:4px 0 0; }
.ptch-default .events_wrapper .order.event.ptch-has-date .details > .date { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ptch-default .events_wrapper .order.event > .actions,
.ptch-default .events_wrapper .order.event.ptch-has-date > .actions { grid-column:4; grid-row:1; width:auto; padding:0; margin:0; align-self:center; }
.ptch-default .events_wrapper .order.event .actions__inner { width:auto; padding:0; margin:0; }
.ptch-default .events_wrapper .order.event .actions .ptch-select-action { display:grid; place-items:center; width:40px; height:40px; min-height:40px; margin:0; padding:0; border:0; border-radius:999px; background:transparent; box-shadow:none; color:#6b7398; }
.ptch-default .events_wrapper .order.event .actions .ptch-select-action:hover { background:#f6f6f6; color:#30355a; opacity:1; }
.ptch-default .ptch-action-caption { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ptch-default .events_wrapper .ptch-select-action::after { content:''; display:block; width:8px; height:8px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); }
.ptch-default .events_wrapper .order.event .actions .primary-btn:not(.ptch-select-action) { width:auto; max-width:160px; font-size:13px; padding:8px 12px; }
@media(max-width:767px) {
 .ptch-default .header__left { flex-wrap:wrap; gap:8px; }
 .ptch-default header.top .logo { flex-basis:123px; width:123px; height:36px; }
 .ptch-default #theMenuDiv { order:5; margin:0; width:100%; }
 .ptch-default #theMenuDiv ul.nav { gap:0; }
 .ptch-default #theMenuDiv ul.nav li a,.ptch-default .ptch-header-help { font-size:14px; padding:8px 10px; }
 .ptch-default .ptch-header-help { margin-left:auto; }
 .ptch-default .header_basket { margin-left:0; }
 .ptch-default.ptch-events .events_wrapper > .page-header { padding:40px 20px 24px; }
 .ptch-default.ptch-events .page-header__heading { font-size:34px; }
}
@media(max-width:639px) {
 .ptch-default .events_wrapper .orders .order.event,
 .ptch-default .events_wrapper .orders .order.event.ptch-has-date { grid-template-columns:44px minmax(0,1fr) auto; gap:12px; }
 .ptch-default .events_wrapper .order.event > .image { display:none; }
 .ptch-default .events_wrapper .order.event > .details,
 .ptch-default .events_wrapper .order.event.ptch-has-date > .details { grid-column:2; }
 .ptch-default .events_wrapper .order.event > .actions,
 .ptch-default .events_wrapper .order.event.ptch-has-date > .actions { grid-column:3; }
 .ptch-default .events_wrapper .order.event .details > .location { font-size:14px; }
 .ptch-default .events_wrapper .ptch-event-month-heading h3 { font-size:23px; }
}
.ptch-default .events_wrapper .page-header__heading,.ptch-default .events_wrapper .event__title,.ptch-default .events_wrapper .ptch-event-month-heading h3,.ptch-default .events_wrapper .order.event h3 { padding:0; }
.ptch-default .events_wrapper .order.event .actions__inner { background:none; border:0; box-shadow:none; font:inherit; }
.ptch-default .events_wrapper .order.event { font-size:16px; }
.ptch-default .events_wrapper .order.event .actions .ptch-select-action::before { display:none; }
.ptch-default .events_wrapper .back-btn { font-family:'PTCH Poppins',Arial,sans-serif; color:#30355a; border-color:#30355a; text-transform:none; letter-spacing:0; }
.ptch-default .events_wrapper.ptch-view { padding-top:0; }
.ptch-default #theMenuDiv ul.nav li a { height:40px; line-height:24px; border:0; }
.ptch-default #theMenuDiv ul.nav li a::before,.ptch-default #theMenuDiv ul.nav li a::after { display:none; content:none; }
.ptch-default .ptch-header-help { height:40px; line-height:24px; border:0; }

/* Both server variants exist: a.image > img, and a direct img.image.
   Reset both explicitly; old direct-img selectors otherwise override the thumbnail width. */
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event { grid-template-columns:56px 96px minmax(0,1fr) auto; grid-template-areas:'date image details action'; gap:20px; }
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .ptch-date-badge { grid-area:date; }
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .image,
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > img.image,
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > a.image img { display:block; position:static; float:none; width:96px; min-width:0; max-width:96px; height:56px; min-height:0; max-height:56px; padding:0; margin:0; object-fit:cover; object-position:center; border:0; border-radius:12px; transform:none; box-sizing:border-box; }
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .image { grid-area:image; overflow:hidden; }
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .details { grid-area:details; min-width:0; width:auto; max-width:100%; position:static; float:none; padding:0; margin:0; overflow:hidden; }
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .details h3,
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .details .location { min-width:0; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .actions { grid-area:action; position:static; float:none; min-width:0; margin:0; }
@media(max-width:639px) {
 .ptch-default.ptch-events .events_wrapper .orders.events > .order.event { grid-template-columns:44px minmax(0,1fr) auto; grid-template-areas:'date details action'; gap:12px; }
 .ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .image,
 .ptch-default.ptch-events .events_wrapper .orders.events > .order.event > img.image { display:none; }
}
/* Reference uses a display title and a lighter second line, not one long bold name. */
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event > .details h3.ptch-event-split-name { white-space:normal; overflow:hidden; text-overflow:clip; }
.ptch-default.ptch-events .ptch-event-primary-name { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:800 16px/1.2 'PTCH Poppins','PTCH Noto Sans',Arial,sans-serif; letter-spacing:-.02em; }
.ptch-default.ptch-events .ptch-event-secondary-name { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#6b7398; font:400 16px/1.55 'PTCH Noto Sans',Arial,sans-serif; letter-spacing:0; }
.ptch-default.ptch-events .ptch-event-name-separator { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ptch-default .events_wrapper .orders.events > .ptch-event-month-heading:not(:first-child) { padding-top:40px; }
/* Approved compact timer: original countdown DOM and interval stay untouched. */
.ptch-default .booking-session { display:inline-flex; align-items:center; gap:8px; width:auto; max-width:100%; padding:9px 13px; border-radius:999px; background:#f2f7fd; white-space:nowrap; }
.ptch-default .booking-session::before { content:''; display:block; width:17px; height:17px; flex:0 0 17px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235480c0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2.5M9 2h6'/%3E%3C/svg%3E"); }
.ptch-default .booking-session .description { margin:0; padding:0; font:400 12px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#30355a; }
.ptch-default .booking-session .time[data-ptch-timer-display],.ptch-default .booking-session .time[data-ptch-timer-display] strong { font-size:0; line-height:0; }
.ptch-default .booking-session .time[data-ptch-timer-display]::after { content:attr(data-ptch-timer-display); display:inline; font:600 15px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#30355a; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
.ptch-default .booking-session .time[data-ptch-timer-display] { display:inline-flex; align-items:center; }
.ptch-default .booking-session .description { display:block; }
/* Home information sections from the approved reference. */
.ptch-default .ptch-how-it-works { padding:80px 0; background:#f6f6f6; }
.ptch-default .ptch-how-it-works h2 { max-width:none; margin:0 0 40px; padding:0; font-size:34px; }
.ptch-default .ptch-how-it-works ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.ptch-default .ptch-how-it-works li { gap:16px; }
.ptch-default .ptch-how-it-works li > span { font:700 16px/1 'PTCH Noto Sans',Arial,sans-serif; }
.ptch-default .ptch-how-it-works h3 { margin:0 0 6px; padding:0; font-size:23px; }
.ptch-default .ptch-how-it-works p { font:400 16px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#6b7398; margin:0; }
.ptch-default .ptch-feature-section { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; padding-top:80px; padding-bottom:80px; }
.ptch-default .ptch-feature-section::before,.ptch-default .ptch-feature-section::after { display:none; content:none; }
.ptch-default .ptch-feature { min-width:0; }
.ptch-default .ptch-feature-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:#f2f7fd; color:#426ba8; margin:0 0 16px; }
.ptch-default .ptch-feature-icon svg { display:block; width:24px; height:24px; }
.ptch-default .ptch-feature h3 { margin:0 0 6px; padding:0; font-size:23px; }
.ptch-default .ptch-feature p { font:400 16px/1.55 'PTCH Noto Sans',Arial,sans-serif; margin:0; color:#6b7398; }
@media(max-width:767px) {
 .ptch-default .ptch-how-it-works { padding:48px 0; }
 .ptch-default .ptch-how-it-works h2 { font-size:28px; margin-bottom:32px; }
 .ptch-default .ptch-how-it-works ol { grid-template-columns:minmax(0,1fr); gap:32px; }
 .ptch-default .ptch-feature-section { grid-template-columns:minmax(0,1fr); gap:36px; padding-top:48px; padding-bottom:48px; }
}
/* Approved parking selection: two columns, original per-car-park data and Select links. */
.ptch-default #MainContent_divcarparkslist .orders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0; margin:20px 0 0; align-items:stretch; }
.ptch-default #MainContent_divcarparkslist .order.carpark { display:flex; flex-direction:column; width:auto; min-width:0; min-height:0; margin:0; padding:24px; border:1px solid #e0e0e0; border-radius:18px; box-shadow:none; background:#fff; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:12px 20px; position:relative; float:none; min-width:0; width:100%!important; min-height:0; padding:0; margin:0; background:none; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details::before { position:absolute; top:0; left:0; width:48px; height:48px; background-size:28px; border-radius:13px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details h4 { grid-column:1; grid-row:1; display:flex; align-items:center; min-height:48px; min-width:0; margin:0; padding:0 0 0 64px; font:800 18px/1.25 'PTCH Poppins',Arial,sans-serif; color:#30355a; overflow-wrap:anywhere; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .ptch-price { grid-column:2; grid-row:1; position:static; float:none; min-width:75px; max-width:130px; margin:0; padding:0; align-self:start; text-align:right; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price strong { font:800 23px/1.2 'PTCH Poppins',Arial,sans-serif; white-space:nowrap; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price-label { font-size:11px; color:#6b7398; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price small { font-size:11px; line-height:1.45; max-width:130px; color:#6b7398; white-space:normal; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .postcode:not(.ptch-price),
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .divdisplayinfo { grid-column:1/-1; position:static; margin:0; padding:0; border:0; font:400 14px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#6b7398; overflow-wrap:anywhere; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details > .postcode:not(.ptch-price) { padding-top:8px; color:#30355a; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin:20px 0 0; padding:16px 0 0; border-top:1px solid #e0e0e0; margin-top:auto; }
.ptch-default #MainContent_divcarparkslist .order.carpark .details { margin-bottom:20px; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer [id^='divavaliable'] { flex:1 1 120px; padding:0; margin:0; background:transparent; color:#467b62; font:500 14px/1.55 'PTCH Noto Sans',Arial,sans-serif; }
.ptch-default #MainContent_divcarparkslist .order.carpark .ptch-card-footer .actions { flex:0 0 auto; min-width:0; width:auto; margin:0 0 0 auto; padding:0; }
.ptch-default #MainContent_divcarparkslist .order.carpark .actions .primary-btn { width:auto; min-width:112px; min-height:44px; padding:12px 24px; font-size:14px; }
.ptch-default #MainContent_divcarparkslist .order.carpark.accessible { border-color:#e0e0e0; background:#fff!important; }
.ptch-default #MainContent_divcarparkslist .order.carpark.soldout { background:#f6f6f6; border-color:#e0e0e0; }
.ptch-default #MainContent_divcarparkslist .order.carpark.soldout .ptch-card-footer [id^='divavaliable'] { background:transparent; color:#b75649; }
.ptch-default .ptch-before-book { margin:40px 0; }
.ptch-default .ptch-before-book h2 { padding:0; margin:0 0 16px; font-size:23px; }
.ptch-default .ptch-before-book p { margin:0 0 12px; padding:0; max-width:none; font:400 16px/1.55 'PTCH Noto Sans',Arial,sans-serif; color:#30355a; }
.ptch-default .carpark__inner > .title_holder { margin:24px 0 16px; }
.ptch-default .carpark__inner > .title_holder h2 { font-size:23px; }
@media(max-width:800px) {
 .ptch-default #MainContent_divcarparkslist .orders { grid-template-columns:minmax(0,1fr); gap:20px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark { padding:20px; }
}
@media(max-width:400px) {
 .ptch-default #MainContent_divcarparkslist .order.carpark .details { column-gap:12px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark .details h4 { font-size:16px; padding-left:52px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark .details::before { width:40px; height:40px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark .details > .ptch-price { min-width:68px; max-width:92px; }
 .ptch-default #MainContent_divcarparkslist .order.carpark .ptch-price strong { font-size:20px; }
}
/* Before you book: reference list with blue information icons. */
.ptch-default .ptch-before-book .ptch-before-book-notices { display:grid; gap:12px; list-style:none; margin:0; padding:0; }
.ptch-default .ptch-before-book-notices > li { display:block; position:relative; padding:0 0 0 28px; margin:0; min-height:24px; }
.ptch-default .ptch-before-book-notices > li::before { content:''; position:absolute; top:3px; left:0; width:18px; height:18px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23426ba8' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E"); }
.ptch-default .ptch-before-book .ptch-before-book-notices > li > p { margin:0; padding:0; }

/* Extend the existing event link to its whole row without adding navigation handlers. */
.ptch-default.ptch-events .events_wrapper .orders.events > .order.event.ptch-event-clickable { position:relative; }
.ptch-default.ptch-events .ptch-event-clickable > .actions,
.ptch-default.ptch-events .ptch-event-clickable .actions__inner,
.ptch-default.ptch-events .ptch-event-clickable .ptch-select-action { position:static; }
.ptch-default.ptch-events .ptch-event-clickable .ptch-event-hit-area { position:absolute; inset:0; z-index:1; cursor:pointer; }
.ptch-default.ptch-events .order.event.ptch-event-clickable:hover { background:#f8f9fc; }
.ptch-default.ptch-events .order.event.ptch-event-clickable:focus-within { outline:2px solid #5483c2; outline-offset:2px; }
.ptch-default .ptch-checkout-basket #order-total .payment-method,
.ptch-default .ptch-checkout-basket #order-total .ptch-payment-choice { display:none; }
