/* Scoped customer layout. Admin, ticket, check-in and backend are untouched. */
body[data-screen="photo-book"]{--pb-gold:#ffd02c;--pb-muted:#acb7b6;--pb-line:#303b3b;background:#0b1112;color:#f7f8f5;font:16px/1.5 Arial,Helvetica,sans-serif;color-scheme:dark;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:140px}
body[data-screen="photo-book"] *,body[data-screen="photo-book"] *::before,body[data-screen="photo-book"] *::after{box-sizing:border-box}
body[data-screen="photo-book"] header{padding:14px max(22px,calc((100vw - 1240px)/2));border-bottom:1px solid #283334;background:#0d1516}
body[data-screen="photo-book"] main{width:min(1240px,calc(100% - 44px));margin:0 auto}
body[data-screen="photo-book"] footer{padding:26px 16px;color:#94a3a4;background:none;font-size:12px}
#photo-booking p,#photo-booking small{color:var(--pb-muted)}
#photo-booking h1,#photo-booking h2,#photo-booking h3{color:#f6f7f2;line-height:1.2}
#photo-booking h1{font-size:clamp(27px,3.2vw,42px);letter-spacing:-1.4px;margin:8px 0}
#photo-booking h1 em{color:var(--pb-gold);font-style:normal}
#photo-booking h2{font-size:25px;letter-spacing:-.65px;margin:6px 0 10px}
#photo-booking h3{font-size:16px;margin:0 0 12px}
#photo-booking p{margin:6px 0 16px;font-size:14px}
#photo-booking a{color:var(--pb-gold)}
#photo-booking button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
#photo-booking button:disabled{opacity:.5;cursor:not-allowed}
#photo-booking :focus-visible{outline:3px solid #ffe889;outline-offset:3px}
#photo-booking input,#photo-booking select,#photo-booking textarea{font-size:16px;min-width:0;min-height:48px;background:#0d1617;color:#f8faf4;border:1px solid #435151;border-radius:10px;padding:12px;width:100%}
#photo-booking label{font-size:13px;color:#f1f3ef;font-weight:600;margin:10px 0;display:flex;gap:7px;flex-direction:column}
#photo-booking label small{font-weight:400;font-size:12px}
#photo-booking input::placeholder{color:#8e9e9e}
.pb-eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:800;color:var(--pb-gold)}
.pb-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0 22px}
.pb-intro p{margin-bottom:0!important}.pb-pay{border:1px solid #4f4725;border-radius:99px;padding:8px 13px;font-size:12px;color:#efdc93;white-space:nowrap;background:#231f10}
.pb-progress{display:flex;list-style:none;padding:14px 0 22px;margin:0 0 22px;border-bottom:1px solid #2c3939;gap:25px}.pb-progress li{display:flex;gap:10px;align-items:center;color:#7c8c8d;flex:1;font-size:13px;font-weight:700}.pb-progress li b{height:31px;width:31px;display:grid;place-items:center;border-radius:50%;border:1px solid #3b4b4b;flex:none}.pb-progress [aria-current="step"]{color:#fff}.pb-progress [aria-current="step"] b,.pb-progress .done b{background:var(--pb-gold);border-color:var(--pb-gold);color:#141b18}.pb-progress .done{color:#ced4c5}
.pb-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:28px;align-items:start}.pb-step{scroll-margin-top:18px}.pb-step:focus{outline:none}.pb-title{margin-bottom:18px}
.pb-modes{display:flex;background:#151f20;border:1px solid #303d3d;border-radius:12px;padding:4px;gap:5px;margin:18px 0 20px}.pb-modes button{border:0;background:none;flex:1;min-height:46px;padding:8px 12px;border-radius:8px;color:#aababa;font-size:13px;font-weight:700!important}.pb-modes button.active{background:#ffd02c;color:#131a17}
.pb-tools{margin-bottom:18px;display:flex;flex-direction:column;gap:12px}.pb-filters{display:flex;gap:6px;flex-wrap:wrap}.pb-filters button{border:1px solid #344141;color:#b9c6c6;background:#101a1b;min-height:44px;border-radius:8px;padding:8px 13px;font-size:12px!important}.pb-filters button.active{border-color:#b99936;background:#282716;color:#ffe080}.pb-search{margin:0!important}.pb-search input{background:#111b1c!important;font-size:14px!important}.pb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pb-ride{border:1px solid #354242;border-radius:16px;overflow:hidden;background:#152021;min-width:0}.pb-ride.selected{border-color:#c8a03b;box-shadow:0 0 0 1px #c8a03b33}.pb-ride-top{display:flex;flex-direction:column}.pb-photo-wrap{background:#213035;position:relative;overflow:hidden}.pb-photo{display:block;width:100%;height:172px;object-fit:cover;object-position:50% 55%}.pb-photo-badge{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:6px;background:#0a1316dd;color:#ffdc65;font-size:10px;font-weight:700;backdrop-filter:blur(5px)}.pb-ride-info{padding:16px 16px 10px}.pb-ride-info h3{font-size:17px!important;letter-spacing:-.35px;margin:0 0 7px!important}.pb-ride-info small{display:block;font-size:12px}.pb-card-price{display:block;color:var(--pb-gold);font-size:19px;font-weight:800;margin-top:10px}.pb-card-price small{display:inline;font-size:11px;font-weight:400;color:#91a29f!important;margin-left:4px}
.pb-ride-options{padding:0 16px 15px}.pb-duration-title{font-size:11px;color:#b6c2bf;margin-bottom:8px}.pb-durations{display:flex;gap:7px;flex-wrap:wrap}.pb-durations button{min-height:44px;min-width:60px;border:1px solid #43514c;border-radius:8px;background:#0f191a;color:#dbe2dc;padding:7px 10px;font-size:12px!important;flex:1}.pb-durations button[aria-pressed="true"]{background:#33301a;border-color:#d6ae39;color:#ffe083}.pb-card-bottom{display:flex;gap:9px;align-items:center;margin-top:12px;min-height:44px}.pb-add{min-height:44px;background:var(--pb-gold);color:#14201a;border:0;border-radius:9px;font-size:13px!important;font-weight:800!important;flex:1;padding:9px 12px}.pb-stepper{display:flex;align-items:center;background:#0e1819;border:1px solid #47544b;border-radius:9px;overflow:hidden;flex:1}.pb-stepper button{height:44px;min-width:44px;background:transparent;border:0;color:#ffdb6d;font-size:23px!important}.pb-stepper output{min-width:28px;flex:1;text-align:center;font-size:15px;font-weight:800}.pb-added-count{font-size:11px;color:#ffdb6d;padding:4px 7px;white-space:nowrap}.pb-rules{margin-top:12px;border-top:1px solid #2d3a38;padding-top:10px;font-size:11px}.pb-rules summary{cursor:pointer;min-height:34px;display:flex;align-items:center;gap:6px;color:#aebcb7}.pb-rules summary::before{content:'+';color:#ffd65d;font-size:17px}.pb-rules[open] summary::before{content:'-';}.pb-rules p{font-size:12px!important;white-space:pre-wrap}.pb-unavailable{font-size:12px!important;line-height:1.4;margin-top:10px!important}.pb-ask{display:block;color:#f9dd82;text-decoration:none;font-size:13px;padding:12px;background:#292717;border-radius:9px;border:1px solid #766533;text-align:center}
.pb-footnote{font-size:12px!important;margin:17px 0!important;color:#a4b1ad!important}.pb-panel{border:1px solid #334342;border-radius:14px;background:#141f20;padding:21px;margin:18px 0}.pb-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.pb-arrival{display:grid;gap:10px}.pb-arrival label{display:flex!important;flex-direction:row!important;align-items:flex-start;border:1px solid #394b48;border-radius:11px;padding:14px;margin:0!important;gap:12px!important;cursor:pointer}.pb-arrival input{width:20px!important;height:20px!important;min-height:20px!important;accent-color:#ffce2a;flex:none;margin:2px 0}.pb-arrival small{display:block;line-height:1.5;margin-top:5px}.pb-arrival label:has(input:checked){border-color:#b79a3a;background:#242617}.pb-check{display:flex!important;flex-direction:row!important;align-items:flex-start;font-weight:400!important;line-height:1.6;margin:17px 0!important;gap:12px!important}.pb-check input{width:22px!important;height:22px!important;min-height:22px!important;accent-color:#e8b22a;flex:none;margin:2px 0}.pb-check span{min-width:0}.pb-honey{position:absolute;left:-9999px;width:1px;overflow:hidden}
#booking-aside{position:sticky;top:18px}.pb-cart{background:#142021;border:1px solid #3b4843;border-radius:17px;padding:21px}.pb-cart-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}.pb-cart-head h2{font-size:20px!important;margin:0!important}.pb-cart-head span{background:#2d301d;color:#fbd666;font-size:11px;padding:5px 8px;border-radius:20px;white-space:nowrap}.pb-cart-empty{text-align:center;padding:25px 5px;color:#91a8a1}.pb-cart-empty strong{display:block;font-size:14px;color:#c3cfc5;margin-bottom:7px}.pb-cart-line{padding:15px 0;border-bottom:1px solid #30403c}.pb-line-top{display:grid;grid-template-columns:64px minmax(0,1fr) 28px;align-items:start;gap:10px}.pb-line-top img{width:64px;height:53px;object-fit:cover;border-radius:7px}.pb-line-top strong{font-size:12px;display:block;line-height:1.4;color:#eff3e9}.pb-line-top small{font-size:11px;display:block;margin-top:3px}.pb-remove{background:none;border:0;color:#93a29d;height:32px;width:28px;font-size:21px!important;line-height:1}.pb-line-bottom{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:10px 0 0}.pb-line-bottom .pb-stepper{flex:0 0 124px}.pb-line-total{font-size:13px;color:#ffda63;white-space:nowrap;font-weight:700}.pb-cart-total{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:19px;padding-top:18px;border-top:1px solid #40504a}.pb-cart-total span{font-size:13px;color:#b1c0b7}.pb-cart-total strong{font-size:23px;color:#ffdb63;white-space:nowrap}.pb-text-button{border:0;background:none;color:#ffe17e;min-height:44px;font-size:13px!important;padding:7px 0;text-align:left}.pb-aside-note{text-align:center;font-size:12px!important;line-height:1.8;color:#95a49d!important;margin-top:18px!important}.pb-meta-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #31403a;font-size:13px;color:#a4b5ab}.pb-meta-row b{text-align:right;color:#e6ece3;font-weight:600;overflow-wrap:anywhere}.pb-meta-row.total b{color:#ffda65}.pb-review-line{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #2b3b35;align-items:center}.pb-review-line img{width:66px;height:54px;object-fit:cover;border-radius:8px}.pb-review-line div{flex:1;min-width:0}.pb-review-line strong{display:block;font-size:13px}.pb-review-line small{font-size:12px}.pb-review-line b{font-size:14px;color:#ffe088;white-space:nowrap}
.pb-dock{position:fixed;bottom:0;left:0;width:100%;padding:12px 22px calc(12px + env(safe-area-inset-bottom,0px));background:#111e1ff7;border-top:1px solid #59603d;z-index:70;box-shadow:0 -8px 35px #0006;backdrop-filter:blur(12px)}.pb-dock-inner{max-width:1240px;margin:auto;display:flex;align-items:center;gap:16px}.pb-back{background:#20302d;border:1px solid #46554b;color:#f9e4a1;border-radius:9px;min-height:48px;min-width:48px}.pb-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;border-radius:11px;background:#ffd02c;color:#111c16!important;min-height:52px;padding:12px 27px;font-size:15px!important;font-weight:800!important;text-decoration:none;white-space:nowrap}.pb-button:hover,.pb-add:hover{background:#ffdc58}.pb-dock #dock-next{min-width:240px}.pb-dock #dock-cart{background:transparent;border:0;display:flex;flex-direction:column;align-items:flex-start;margin-right:auto;color:white;padding:0;min-height:58px;justify-content:center;gap:1px;min-width:0;text-align:left}.pb-dock #dock-cart>span{font-size:11px;color:#bdc9ba}.pb-dock #dock-cart>strong{font-size:23px;color:#ffdf70;font-weight:800;white-space:nowrap}.pb-dock #dock-cart>small{font-size:10px;text-decoration:underline;text-underline-offset:2px}.pb-empty{padding:25px;text-align:center;background:#182320;border-radius:12px}.pb-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#pb-alert{background:#44251f;border:1px solid #b56b53;color:#ffe0cb;padding:14px 18px;border-radius:12px;margin:15px 0;scroll-margin:15px;white-space:pre-line;font-size:14px}#pb-alert a{font-weight:700}.pb-success{max-width:650px;margin:30px auto;text-align:center}.pb-success-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#ffd027;color:#15261a;font-size:34px;margin:10px auto 20px}.pb-success strong{color:#ffe08b;display:block;margin:20px 0}.pb-success a{margin:18px 0}
#cart-dialog{color:#f4f8ed;color-scheme:dark;background:#152021;border:1px solid #53604e;border-radius:20px;width:min(480px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:20px;box-shadow:0 20px 100px #000c}#cart-dialog::backdrop{background:#020a0ccc;backdrop-filter:blur(4px)}.pb-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-20px;background:#152021;z-index:1;padding:10px 0}.pb-dialog-head h2{font-size:20px!important;margin:0!important}.pb-dialog-head button{border:1px solid #52604b;border-radius:8px;background:none;color:white;font-size:25px!important;min-width:44px;min-height:44px}.pb-dialog-body{margin:10px 0}.pb-dialog-body .pb-line-top strong{font-size:14px}#dialog-add-more{width:100%;margin-top:12px}
@media(min-width:1300px){.pb-tools{flex-direction:row;align-items:center;justify-content:space-between}.pb-search{width:190px}.pb-grid{gap:18px}}
@media(max-width:980px){.pb-layout{grid-template-columns:minmax(0,1fr)}#booking-aside{display:none}.pb-intro{padding:24px 0 16px}.pb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-tools{flex-direction:row;justify-content:space-between;gap:12px}.pb-search{width:180px}.pb-dock #dock-next{min-width:200px}}
@media(max-width:600px){body[data-screen="photo-book"] main{width:calc(100% - 28px)}body[data-screen="photo-book"] header{padding:12px 16px;align-items:center}body[data-screen="photo-book"] header .brand{font-size:17px!important}body[data-screen="photo-book"] .brand img{height:38px;width:34px}body[data-screen="photo-book"] header nav{font-size:12px}body[data-screen="photo-book"] header nav a:not(:last-child){display:none}.pb-intro{padding:20px 0 12px;gap:9px}.pb-intro h1{font-size:26px!important;line-height:1.15!important;letter-spacing:-.8px!important}.pb-intro p{font-size:12px!important}.pb-pay{display:none}.pb-progress{padding:10px 0 17px;gap:8px;margin-bottom:19px}.pb-progress li{font-size:10px;gap:6px}.pb-progress li b{width:25px;height:25px;font-size:11px}.pb-progress li span{line-height:1.3}.pb-title{margin-bottom:10px}#photo-booking h2{font-size:24px}#photo-booking .pb-title p{font-size:13px;margin-bottom:12px}.pb-modes{margin:13px 0 17px}.pb-modes button{font-size:12px!important;min-height:44px;padding:7px}.pb-tools{flex-direction:column;gap:10px}.pb-search{width:100%}.pb-filters{gap:5px;flex-wrap:nowrap}.pb-filters button{flex:1;font-size:11px!important;padding:6px 7px;min-height:42px;white-space:nowrap}.pb-grid{grid-template-columns:1fr;gap:13px}.pb-ride-top{display:grid;grid-template-columns:43% 57%}.pb-photo-wrap{height:125px;border-radius:0 0 12px 0}.pb-photo{height:125px;object-position:center center}.pb-photo-badge{left:7px;top:7px;font-size:9px;padding:4px 6px}.pb-ride-info{padding:13px 12px 8px}.pb-ride-info h3{font-size:15px!important;line-height:1.25!important}.pb-ride-info small{font-size:11px}.pb-card-price{font-size:18px;margin-top:7px;line-height:1.3}.pb-card-price small{display:block!important;margin:1px 0 0!important;font-size:10px}.pb-ride-options{padding:11px 12px 12px}.pb-duration-title{display:none}.pb-card-bottom{margin-top:9px}.pb-rules{margin-top:8px;padding-top:5px}.pb-rules summary{min-height:30px}.pb-fields{grid-template-columns:1fr;gap:3px}.pb-panel{padding:16px;margin:16px 0}.pb-dock{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px))}.pb-dock-inner{gap:10px}.pb-dock #dock-next{min-width:0;flex:0 0 auto;padding:12px 19px;gap:11px;font-size:14px!important;max-width:55%}.pb-dock #dock-cart>strong{font-size:20px}.pb-dock #dock-cart>span{font-size:10px}.pb-dock #dock-cart>small{font-size:10px}.pb-back{min-width:38px;min-height:44px}.pb-review-line{gap:9px;flex-wrap:wrap}.pb-review-line img{width:56px;height:50px}.pb-review-line strong{font-size:12px}.pb-review-line b{font-size:13px}.pb-check{font-size:13px!important}}
@media(max-width:360px){.pb-progress li{gap:4px;font-size:9px}.pb-dock #dock-next{padding:12px;font-size:12px!important;gap:5px}.pb-dock #dock-cart>strong{font-size:18px}.pb-dock-inner{gap:7px}.pb-back{min-width:32px}.pb-ride-info h3{font-size:14px!important}.pb-filters button{font-size:10px!important;padding:6px 4px}}
@media(prefers-reduced-motion:no-preference){.pb-ride,.pb-button,.pb-add{transition:border-color .14s,background .14s}.pb-step:not([hidden]){animation:pb-reveal .17s ease-out}@keyframes pb-reveal{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media print{.pb-dock,.pb-modes,.pb-tools,header,footer{display:none!important}body[data-screen="photo-book"]{padding:0}}

/* Keep selection above the fold instead of repeating a large hero. */
#photo-booking .pb-intro{padding:15px 0 5px}#photo-booking #rides-title{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:5px 0 9px}.pb-line-duration{font-size:12px!important;min-height:36px!important;padding:5px 8px!important;margin-top:7px;border-radius:6px!important}
@media(max-width:600px){#photo-booking .pb-intro{display:none}.pb-progress{padding-top:17px}.pb-title .pb-eyebrow{display:none}.pb-search{display:none!important}#photo-booking #rides-title{font-size:25px}.pb-title p{margin:3px 0 8px!important}.pb-modes{margin:10px 0 13px}.pb-tools{margin-bottom:12px}.pb-progress{margin-bottom:16px}.pb-photo{object-fit:contain;background:#20302f}.pb-line-duration{font-size:16px!important}}
