.tour-placeholder{display:grid;place-items:center;height:100%;min-height:300px;background:#dceee8;color:#08765d;font-size:48px}.guide-photo>button{width:100%;height:100%}.tour-payment{padding:36px;margin-top:24px;scroll-margin-top:100px;border:1px solid #d5e5df;border-radius:20px;background:white}.tour-payment button,#modal button{padding:12px 18px;border-radius:8px;margin:8px;border:1px solid #11856b;color:#08765d;background:#eff9f5}.tour-payment .primary,#modal .primary{background:#11856b;color:white}.tour-payment h1{font-size:30px}.tour-payment .commerce-address{overflow-wrap:anywhere}#modal{max-width:680px;width:90vw;border:1px solid #d5e5df;border-radius:20px;padding:28px;color:#1b4035}#modal::backdrop{background:#092e2580}#modal select,#modal input{padding:12px;width:100%;margin:6px 0}#tour-locale{background:white;color:#1b4035;border:1px solid #cfe1da;border-radius:6px;padding:6px}#tour-wallet{border:0;color:#08765d;background:none}.booking-main input,.booking-main select,.booking-main textarea,.request-form input,.request-form select{margin:8px 0 18px}label{display:block}button:disabled{opacity:.5;cursor:not-allowed}#tour-times{max-height:220px;overflow:auto;margin:20px 0}.commerce-address{overflow-wrap:anywhere}@media(max-width:700px){.tour-payment{padding:20px}.booking-body{display:block}.booking-summary{margin-top:20px}#tour-locale{max-width:100px}}
@media(max-width:600px){h1 span{white-space:normal!important;max-width:100%;overflow-wrap:break-word}}

/* Travel and business request dialogs share a bounded, internally scrolling form. */
#main-dialog.tour-request-dialog{width:min(860px,calc(100% - 48px));max-height:min(842px,calc(100dvh - 64px));overflow:hidden;border:1px solid #dbe8e1;border-radius:24px}
.tour-request-dialog #dialog-content{max-height:inherit;overflow:hidden;border-radius:inherit}
.tour-request-shell{display:flex;flex-direction:column;max-height:min(840px,calc(100dvh - 66px));min-height:0}
.tour-request-header{display:flex;align-items:flex-start;gap:16px;padding:28px 76px 24px 32px;background:linear-gradient(115deg,#eff8f3,#fff 85%);border-bottom:1px solid #e2ebe5;flex-shrink:0}
.request-emblem{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border:1px solid #cfe5da;border-radius:14px;background:#fff;color:#128568}
.request-emblem .icon{width:23px;height:23px}
.tour-request-header .eyebrow{font-size:10px;letter-spacing:2px;color:#5d8c76;margin:0 0 8px}
.tour-request-header h2{font-size:28px;line-height:1.3;letter-spacing:-.5px;color:#164e3e;margin:0}
.tour-request-header p{font-size:13px;line-height:1.7;color:#6a8175;margin:8px 0 0}
.tour-request-form{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0}
.tour-request-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 32px 28px;scrollbar-width:thin;scrollbar-color:#b8d3c4 transparent}
.request-section{min-width:0;margin:0;padding:0;border:0}
.request-section+.request-section{margin-top:24px;padding-top:0;border-top:1px solid #edf1ed}
.request-section legend{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650;color:#214e3e;margin-bottom:16px;padding:0}
.request-section-number{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:8px;background:#eaf5ed;color:#218466;font-size:10px;font-weight:650;letter-spacing:.5px}
.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.request-field{min-width:0}
.request-field>label{display:flex;align-items:center;gap:5px;margin:0 0 7px;font-size:12px;font-weight:550;line-height:1.5;color:#456755}
.request-required{color:#bd7554;font-size:12px}
.request-optional{font-size:11px;font-weight:400;color:#8a9c90;margin-left:3px}
.request-field .form-input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:0!important;border:1px solid #dce7de;border-radius:9px;background:#fbfcf8;color:#244f3e;font-size:14px;line-height:1.5;padding:11px 13px;transition:border-color .15s,box-shadow .15s}
.request-field .form-input::placeholder{color:#99a99c;opacity:1}
.request-field .form-input:focus{outline:none;border-color:#419b79;background:#fff;box-shadow:0 0 0 3px #11856b13}
.request-field select.form-input{padding-right:30px;text-overflow:ellipsis}
.request-field input[type=date]{color-scheme:light;font-family:inherit}
.request-field input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
.request-field textarea.form-input{min-height:104px;max-height:220px;resize:vertical;line-height:1.75}
.request-hours{position:relative}
.request-hours .form-input{padding-right:58px}
.request-hours>span{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:12px;color:#879b8b;pointer-events:none}
.request-hours input::-webkit-inner-spin-button{appearance:none}
.request-hint{font-size:11px;line-height:1.65;color:#8b9d8e;margin:7px 0 0}
.request-availability{padding:13px 16px;margin:0 0 22px;border:1px solid #eadfc7;border-radius:10px;background:#fcf8ed;color:#9c7945}
.request-availability strong{font-size:12px;font-weight:600}
.request-availability p{font-size:12px;line-height:1.7;margin:3px 0 0;color:#9b8b6e}
.tour-request-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;flex-shrink:0;padding:18px 32px 20px;border-top:1px solid #e2ebe5;background:#fff}
.request-submit-note{display:flex;flex-direction:column;gap:4px;margin:0;text-wrap:pretty}
.request-submit-note strong{font-size:12px;line-height:1.5;color:#486d57;font-weight:550}
.request-submit-note>span{font-size:11px;line-height:1.5;color:#899b8c}
.tour-request-actions .button{min-height:46px;gap:15px;padding:12px 22px;border-radius:10px;font-size:13px;white-space:nowrap;margin:0}
.request-error{grid-column:1/-1;background:#fff5f0;border:1px solid #f0dacd;border-radius:8px;padding:10px 12px;color:#a35938;font-size:12px;line-height:1.6;margin:0}
.request-error[hidden]{display:none}
.tour-request-dialog .dialog-close{top:20px;right:20px;background:#fff;border:1px solid #dce8e0;box-shadow:none;color:#547764}
@media(min-width:760px){.request-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.request-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 #main-dialog.tour-request-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px}
 .tour-request-shell{max-height:calc(100dvh - 26px)}
 .tour-request-header{gap:12px;padding:24px 54px 20px 20px}
 .request-emblem{width:34px;height:34px;border-radius:10px}
 .request-emblem .icon{width:19px;height:19px}
 .tour-request-header .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:7px}
 .tour-request-header h2{font-size:23px}
 .tour-request-header p{font-size:12px;margin-top:7px}
 .tour-request-body{padding:20px}
 .request-grid{grid-template-columns:minmax(0,1fr);gap:15px}
 .request-section+.request-section{margin-top:22px;padding-top:0}
 .request-section legend{font-size:13px;margin-bottom:15px}
 .request-field .form-input{font-size:16px;min-height:46px}
 .request-field textarea.form-input{font-size:14px;min-height:116px}
 .tour-request-actions{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 20px max(16px,env(safe-area-inset-bottom))}
 .tour-request-actions .button{width:100%;min-height:46px;justify-content:center;font-size:14px}
 .request-submit-note{gap:2px}
 .request-submit-note>span{font-size:10px}
 .tour-request-dialog .dialog-close{right:14px;top:17px;width:31px;height:31px}
}

.profile-images{min-width:0}.profile-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.profile-gallery a{display:block;min-width:0}.profile-gallery img{display:block;width:100%;height:145px;object-fit:contain;background:#f4f5ed;border-radius:12px}@media(max-width:640px){.profile-gallery img{height:125px}}
