/* Extends the public programme's warm TiK identity to rooms and event details. */
.shop-page.public-journey-page{--journey-paper:#f7f4ef;--journey-ink:#292c2a;--journey-muted:#62645e;--journey-red:#ab332d;--journey-line:#dcd8d0;background:var(--journey-paper)!important;color:var(--journey-ink);scrollbar-color:#b8afa2 var(--journey-paper)}
.public-journey-page .shop-header{max-width:1560px;width:calc(100% - 48px)!important;margin:16px auto 0;padding:10px 16px!important;border:0!important;border-radius:12px;background:#fff!important;box-shadow:none;backdrop-filter:none}
.public-journey-page .shop-brand img{width:48px!important;height:48px!important;flex-basis:48px;border-radius:0;background:none;padding:0}
.public-journey-page .shop-brand strong{font-size:1.06rem;letter-spacing:-.02em}
.public-journey-page .shop-brand small{font-size:.8rem;color:var(--journey-muted)}
.public-journey-page .public-calendar-nav{display:flex;border:0!important;border-radius:8px!important;background:#f7f4ef!important;box-shadow:none!important;backdrop-filter:none}
.public-journey-page .public-calendar-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;color:var(--journey-muted)}
.public-journey-page .public-calendar-nav a.active{color:var(--journey-red);background:#f0e2db}
.public-journey-page .public-calendar-nav a:hover{color:var(--journey-red);background:#eee8e0}
.public-journey-page .primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:0;border-radius:8px;background:var(--journey-red);color:#fff;font-weight:650;box-shadow:none;line-height:1.4;text-align:center}
.public-journey-page .primary-button:hover{background:#902b26}
.public-journey-page .link-button,.public-journey-page .shop-back{display:inline-flex;align-items:center;min-height:44px;color:var(--journey-red);text-underline-offset:4px}
.public-journey-page :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--journey-red);outline-offset:4px}
.public-journey-page ::selection{background:#eed2c4;color:var(--journey-ink)}
.public-journey-page :is(input,textarea){caret-color:var(--journey-red)}
.public-journey-page :is(input,textarea)::placeholder{color:#70716c;opacity:1}

.rental-request-page.public-journey-page .rental-request-main{width:calc(100% - 64px)!important;max-width:1320px!important;padding:44px 0 64px!important}
.public-journey-page .rental-request-head{gap:32px;padding:0 0 30px;border:0}
.public-journey-page .rental-request-head h1{font-size:clamp(2rem,3.5vw,3.3rem);font-weight:750;line-height:1.12;margin:0 0 16px}
.public-journey-page .rental-request-head p{color:var(--journey-muted);font-size:1rem;max-width:65ch}
.public-journey-page .rental-request-head aside{padding:0 0 0 24px;border:0!important;border-left:1px solid var(--journey-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none}
.public-journey-page .rental-request-head aside span,.public-journey-page .rental-request-form header p,.public-journey-page .rental-request-submit p{color:var(--journey-muted)}
.public-journey-page .rental-request-form{gap:0;border-top:1px solid var(--journey-line)}
.public-journey-page .rental-request-form>section{padding:30px 0!important;border:0!important;border-bottom:1px solid var(--journey-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none}
.public-journey-page .rental-request-form section>header{position:static}
.public-journey-page .rental-request-form h2{font-size:1.2rem;font-weight:650}
.public-journey-page .rental-request-form section>header>span{border:1px solid var(--journey-line);color:var(--journey-muted);font-weight:600}
.public-journey-page .rental-request-fields label{color:var(--journey-ink);font-size:.88rem}
.public-journey-page .rental-request-submit{position:static;gap:20px;padding:24px 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none}
.public-journey-page .rental-request-success{background:#fff!important;box-shadow:none!important;backdrop-filter:none}

.event-detail-page .shop-main{width:calc(100% - 64px)!important;max-width:1480px!important;padding:32px 0 64px!important}
.event-detail-page .shop-event-detail{grid-template-columns:minmax(0,1fr) minmax(380px,.72fr)!important;gap:48px!important;max-width:none;margin-top:24px}
.event-detail-page .shop-event-detail.is-info-only{max-width:1100px;margin-inline:auto}
.event-detail-page .shop-event-summary{position:static;min-width:0}
.shop-event-overview{display:grid;grid-template-columns:minmax(140px,.65fr) minmax(0,1fr);gap:28px;align-items:start}
.event-detail-page .shop-event-hero{display:block;margin:0;background:#eae5dc;border-radius:10px;overflow:hidden}
.event-detail-page .shop-event-hero img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain}
.shop-event-logo{padding:4px 0}
.shop-event-logo img{display:block;width:80px;height:80px;object-fit:contain}
.shop-event-overview:has(.shop-event-logo){grid-template-columns:80px minmax(0,1fr)}
.event-detail-page .shop-event-date{margin:0 0 16px;gap:6px 12px;color:var(--journey-red);font-size:1rem;font-variant-numeric:tabular-nums}
.event-detail-page .shop-event-date time{font-weight:750}
.event-detail-page .shop-event-date small{color:var(--journey-muted);font-size:.82rem}
.event-detail-page .shop-event-summary h1{margin:0;max-width:26ch;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:750;line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
.shop-event-location{margin:16px 0;color:var(--journey-muted);font-size:.94rem;line-height:1.5}
.event-detail-page .shop-price{flex-wrap:wrap;justify-content:start;gap:6px 12px;margin-top:18px;padding:16px 0;border-color:var(--journey-line);font-size:.9rem}
.event-detail-page .shop-price strong{font-size:1rem}
.event-detail-page .shop-ticket-jump{margin-top:8px;width:fit-content}
.shop-event-about{margin-top:36px;padding-top:28px;border-top:1px solid var(--journey-line)}
.shop-event-about h2{margin:0;font-size:1.2rem;font-weight:650}
.event-detail-page .shop-description{max-width:70ch;margin:14px 0 0;color:var(--journey-muted);line-height:1.7}
.event-detail-page .shop-order-panel{scroll-margin-top:110px;min-width:0;padding:28px!important;border:1px solid var(--journey-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;backdrop-filter:none}
.event-detail-page .shop-form-head h2{font-size:1.4rem;font-weight:700}
.event-detail-page .shop-form-head p{color:var(--journey-muted);line-height:1.6}
.event-detail-page .shop-location-alert{margin-top:28px;border:1px solid #e4cdbc;background:#fbf2e7}
.event-detail-page .shop-availability{margin-top:24px;border-color:var(--journey-line)}
.event-detail-page .shop-submit{box-shadow:none!important}
.event-detail-page .reservation-no-show-notice{border-left:0;border-radius:8px}
.event-detail-page .seat-picker-graphic{position:relative;min-width:0;max-width:100%;overflow-x:auto;contain:inline-size;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b8afa2 #f7f4ef}
.event-detail-page .seat-option{position:relative}
.event-detail-page .seat-option input:focus-visible+span{outline:3px solid var(--journey-red);outline-offset:2px}
@media(max-width:1100px){
  .event-detail-page .shop-event-detail{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .shop-event-overview{grid-template-columns:minmax(180px,.65fr) minmax(0,1fr)}
  .event-detail-page .shop-event-hero{max-width:360px}.event-detail-page .shop-event-hero img{max-height:260px}
}
@media(max-width:900px){
  .event-detail-page .shop-event-detail{grid-template-columns:minmax(0,1fr)!important}
  .shop-event-overview{grid-template-columns:minmax(180px,.65fr) minmax(0,1fr)}
  .public-journey-page .rental-request-head{grid-template-columns:1fr!important}
  .public-journey-page .rental-request-head aside{border-left:0!important;padding:0}
}
@media(max-width:640px){
  .public-journey-page .shop-header{position:relative;top:auto!important;width:calc(100% - 24px)!important;padding:10px!important;margin-top:8px;flex-direction:column;align-items:stretch;gap:12px}
  .public-journey-page .shop-brand strong{font-size:.95rem}.public-journey-page .shop-brand small{font-size:.75rem}
  .public-journey-page .public-calendar-nav a{flex:1}
  .public-journey-page.rental-request-page .rental-request-main,.event-detail-page .shop-main{width:calc(100% - 36px)!important;padding:26px 0 40px!important}
  .public-journey-page .rental-request-head{gap:18px;padding-bottom:24px}
  .public-journey-page .rental-request-head h1{font-size:2rem}
  .public-journey-page .rental-request-head p{font-size:.94rem}
  .public-journey-page .rental-request-form>section{padding:24px 0!important;gap:20px!important}
  .public-journey-page .rental-request-submit{align-items:stretch;flex-direction:column}
  .public-journey-page .rental-request-submit p{font-size:.88rem;line-height:1.5}
  .event-detail-page .shop-event-detail{margin-top:16px}
  .shop-event-overview{grid-template-columns:1fr;gap:22px}
  .event-detail-page .shop-event-hero{max-width:none}.event-detail-page .shop-event-hero img{width:100%;height:220px;max-height:none}
  .shop-event-overview:has(.shop-event-logo){grid-template-columns:1fr;gap:16px}
  .shop-event-logo img{width:64px;height:64px}
  .event-detail-page .shop-event-summary h1{font-size:1.9rem}
  .event-detail-page .shop-order-panel{padding:22px 16px!important;scroll-margin-top:18px}
  .event-detail-page .shop-event-date{margin-bottom:12px}
  .event-detail-page .shop-ticket-jump{width:100%}
  .shop-event-about{margin-top:28px;padding-top:24px}
  .event-detail-page .shop-order-submit-bar{position:static;background:none;border:0;box-shadow:none;backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){.public-journey-page *{scroll-behavior:auto!important}}
