/* Guest-only pages extend the existing forest / gold Piney Grove system. */
.stay-form{display:grid;gap:15px;max-width:800px}.stay-form label{display:grid;gap:6px;font-size:14px;font-weight:700}.stay-form input,.stay-form select,.stay-form textarea{width:100%;min-width:0;min-height:46px;border:1px solid #657568;border-radius:8px;padding:10px 12px;background:#fffdf8;color:#183d2e;font:inherit}.stay-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stay-form .stay-checkbox{display:flex;align-items:flex-start;gap:10px}.stay-checkbox input{min-height:24px;width:24px;flex:none}.stay-form .btn{justify-self:start;min-height:46px}.stay-notice{margin-top:25px;padding:16px;border:2px solid #46704b;border-radius:9px;background:#edf2e1}.stay-notice--error{border-color:#8d2727;background:#fff2ed}.stay-signout{margin:25px 0}.stay-messages{list-style:none;padding:0}.stay-messages li{background:#f3f0e5;border-left:4px solid #42654a;padding:16px;margin:14px 0;overflow-wrap:anywhere}.stay-messages time{display:block;color:#4c594d;font-size:13px;margin-top:4px}.stay-messages p{white-space:normal;margin-bottom:0}.guest-stay-page .guest-section{overflow-wrap:anywhere}.guest-stay-page .guest-online-note{font-size:13px}.guest-stay-page .guest-wrap{max-width:1000px}
@media(max-width:560px){.stay-fields{grid-template-columns:1fr}.stay-form .btn{width:100%;justify-content:center}.guest-stay-page .guest-brand h1{font-size:30px}.guest-stay-page .guest-section{padding:23px 18px}.guest-stay-page .guest-wrap{width:calc(100% - 28px)}}
.guest-page{--header-h:0px;background:var(--linen);padding:0;color:var(--ink)}
.guest-wrap{width:min(1040px,100% - 48px);margin:0 auto}
.guest-header{background:var(--grad-chrome);color:var(--white);padding:22px 0}
.guest-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.guest-brand{display:flex;align-items:center;gap:20px}
.guest-header-inner .guest-brand,.guest-brand>div{min-width:0}
.guest-menu-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;flex:none;border:1px solid #a6bf8d;border-radius:9px;background:#ffffff0e;color:#fffdf8;padding:8px 12px;font:750 13px var(--font-body);cursor:pointer}
.guest-menu-toggle .icon{width:23px;height:23px}.guest-menu-toggle:hover,.guest-menu-toggle[aria-expanded=true]{background:#ffffff20}.guest-menu-toggle:focus-visible,.guest-menu a:focus-visible{outline-color:var(--chrome-gold)}
.guest-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin-top:18px;padding-top:13px;border-top:1px solid #ffffff42}
.guest-menu a{display:flex;align-items:center;min-height:45px;padding:9px 8px;color:#fffdf8;text-decoration:none;font-size:14px;font-weight:700;border-radius:6px}
.guest-menu a:hover{background:#ffffff16}.guest-menu .guest-menu-call{grid-column:1/-1;gap:10px;margin-top:5px;background:#dce9c9;color:#143e2a}.guest-menu-call small{display:block;font-size:11px;font-weight:600;line-height:1.6}.guest-menu-call .icon{flex:none}.guest-menu-fallback{font-size:13px;margin-top:12px}.guest-menu-fallback a{color:#fffdf8}
.guest-brand>a{flex:none}.guest-brand img{height:96px;width:96px;object-fit:contain}
.guest-brand h1{font-size:clamp(31px,4.8vw,49px);color:#fffdf8;margin:0 0 5px}
.guest-brand p{margin:0 0 4px;color:var(--chrome-gold);font-size:13px;font-weight:700}
.guest-brand span{font-size:13px;color:#e1ecd9}
.guest-essentials{padding:38px 0 23px;display:grid;grid-template-columns:1fr 290px;align-items:center;gap:30px}
.guest-kicker{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin:0 0 10px}
.guest-essentials h2{font-size:clamp(35px,5.2vw,55px);letter-spacing:-.025em;margin-bottom:14px}
.guest-essentials p:last-child{max-width:53ch;color:var(--ink-soft);margin:0}
.guest-primary-actions{display:grid;gap:12px}.guest-primary-actions .btn{width:100%;justify-content:center;min-height:58px}
.guest-call-note{border-left:4px solid var(--gold);border-radius:0 14px 14px 0;background:#e8eddd;padding:16px 21px;font-size:14px}
.guest-call-note p{margin:0 0 6px}.guest-call-note p:last-child{margin:0}.guest-call-note a{font-weight:750}
.guest-address{display:flex;gap:8px;align-items:center;color:var(--ink-soft);font-size:13px;margin-top:8px!important}
.guest-address svg{flex:none;width:17px;height:17px}
.guest-jumps{display:flex;flex-wrap:wrap;gap:9px;padding:24px 0 16px}
.guest-jumps a{display:flex;align-items:center;border:1px solid #a2b7a2;border-radius:10px;padding:10px 13px;min-height:45px;font-size:13px;font-weight:750;text-decoration:none;background:#fffdf8}
.guest-jumps a:hover{background:var(--sage)}
.guest-cache-status{display:flex;flex-wrap:wrap;gap:5px 16px;padding-bottom:12px;font-size:11px;line-height:1.5;color:var(--muted)}
.guest-cache-status>span:first-child{font-weight:800;color:var(--forest)}
.guest-section{padding:35px 0;border-bottom:1px solid #cfdbc7;scroll-margin-top:15px}
.guest-section h2{font-size:clamp(26px,3.8vw,37px);letter-spacing:-.025em}
.guest-section>p{font-size:15px;color:var(--ink-soft);max-width:75ch}
.guest-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.guest-section-head h2{margin-bottom:0}.guest-section-head .guest-kicker{margin-bottom:6px}
.guest-today{padding-bottom:25px}.guest-today .guest-section-head{align-items:baseline;flex-wrap:wrap;gap:8px 15px}.guest-today time{font-size:13px;color:var(--forest);font-weight:750}.guest-today-list{list-style:none;padding:0;margin:17px 0 0;display:grid;gap:9px}.guest-today-list li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:3px 20px;padding:12px 15px;background:#e8efdc;border-left:3px solid #246242;border-radius:0 8px 8px 0;font-size:14px}.guest-today-list strong{color:var(--pine-900);font-weight:800}.guest-today-list span{font-size:13px}.guest-today-list a{font-weight:750}.guest-today-list small{flex-basis:100%;font-size:11px}.guest-today-list small a{font-weight:650}
.guest-text-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;min-height:44px}
.guest-text-link svg{width:18px;height:18px}
.guest-map-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 0 13px}
.guest-map-actions{display:flex;align-items:center;justify-content:space-between;gap:4px 20px;flex-wrap:wrap;margin-top:8px}.guest-map-actions .guest-map-toolbar{padding:5px 0}
.guest-small-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:43px;min-height:44px;border:1px solid #a5b5a2;background:#fffdf8;color:var(--pine-900);border-radius:9px;padding:8px 12px;font:750 13px var(--font-body);cursor:pointer}
.guest-small-button:hover{background:#e3ebd9}.guest-small-button:disabled{opacity:.45;cursor:default}
.guest-small-button:is(a){text-decoration:none}
.guest-small-button .icon{width:17px;height:17px}
#guest-zoom-in,#guest-zoom-out{font-size:23px;font-weight:500;padding:3px 10px}
#guest-map-zoom{min-width:42px;text-align:center;font-size:12px;font-weight:800}
.guest-map-viewport{overflow:auto;max-height:650px;max-height:min(70vh,650px);border:1px solid #a5b5a2;border-radius:15px;background:#fff;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.guest-map-viewport img{display:block;width:calc(100% * var(--guest-map-zoom,1));min-width:100%;max-width:none;height:auto}
.guest-map-viewport:not(.is-zoomed){max-height:none}
.guest-map-help{font-size:12px!important;margin:10px 0 0;line-height:1.8}
.guest-map-print-credit{display:none}
.guest-trading{margin-top:27px;padding:27px;border:1px solid #b9cda6;border-radius:20px;background:linear-gradient(115deg,#e1edcf,#f1f2df)}
.guest-hours{display:inline-flex;align-items:center;min-height:39px;border-radius:9px;background:#124c33;color:#fff8e2;padding:8px 12px;font-size:13px;white-space:nowrap}
.guest-store-hours{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.guest-store-status{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:115px;max-width:145px;padding:7px 11px;border:1px solid #71816d;border-radius:9px;background:#e4e9dc;color:#334937;text-align:center;line-height:1.35}.guest-store-status strong{font-size:13px}.guest-store-status span{font-size:10px;white-space:pre-line}.guest-store-status.is-open{background:#14603b;border-color:#14603b;color:#fff}.guest-store-status.is-closed{background:#a9342a;border-color:#a9342a;color:#fff}
.guest-lead{font-size:17px!important;line-height:1.7}.guest-trading>.guest-lead{max-width:69ch;margin:15px 0 12px}
.guest-supplies{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:20px}
.guest-supplies>span{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:750;color:var(--pine-900)}
.guest-supplies svg{width:22px;height:22px}
.guest-store-photo{margin:22px 0 0;overflow:hidden;border:1px solid #b9cda6;border-radius:12px;background:#f9f6ed}
.guest-store-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9}
.guest-laundry{display:flex;align-items:flex-start;gap:20px;margin-top:10px}
.guest-laundry>div:last-child{flex:1}.guest-laundry p{color:var(--ink-soft);font-size:14px;margin-bottom:10px}.guest-laundry .guest-lead{font-size:16px!important}
.guest-line-icon{border:1px solid #b7c8af;background:#edf0df;display:grid;place-items:center;width:63px;height:63px;flex:none;border-radius:17px;color:var(--forest)}
.guest-line-icon .icon{width:34px;height:34px}
.guest-online-note{font-size:12px!important;line-height:1.65;color:var(--muted)}
.guest-events-list{display:grid;gap:14px;margin-top:16px}.guest-events-list:empty{margin:0}
.guest-event{border-left:4px solid var(--forest);border-radius:0 15px 15px 0;background:#eaf0e0;padding:20px}
.guest-event h3{font-size:23px;margin:8px 0 12px}.guest-event p{font-size:14px;line-height:1.7;white-space:pre-line;margin-bottom:0}.guest-event time{font-size:12px;color:var(--forest);font-weight:800}.guest-event--spotlight{border-color:var(--gold);background:#f0edda}
.guest-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:25px 0 5px}
.guest-activity-grid article+article{border-left:1px solid #c9d8be;padding-left:28px}
.guest-activity-grid h3{font-size:22px;margin:13px 0 12px}.guest-activity-grid p{font-size:14px;color:var(--ink-soft);margin-bottom:12px}
.guest-activity-icon{display:inline-flex;color:var(--forest)}.guest-activity-icon .icon{width:28px;height:28px}
.guest-rules{scroll-margin-top:24px}.guest-rules>.guest-lead{max-width:65ch;font-size:16px;color:var(--ink-soft)}
.guest-rule-sections{margin:22px 0 18px;border-top:1px solid #bacbad}
.guest-rule-sections details{border-bottom:1px solid #bacbad}
.guest-rule-sections summary{display:list-item;cursor:pointer;min-height:54px;padding:15px 10px 15px 3px;font-size:16px;font-weight:800;color:var(--forest);line-height:1.5}
.guest-rule-sections summary::marker{color:var(--forest)}.guest-rule-sections summary:focus-visible{outline:3px solid var(--forest);outline-offset:3px;border-radius:3px}
.guest-rule-content{padding:0 4px 18px}.guest-rule-content>p{font-size:14px;color:var(--ink-soft);max-width:70ch}
.guest-rule-content ul{margin:0;padding-left:22px;max-width:76ch}.guest-rule-content li{padding-left:4px;margin:0 0 13px;font-size:14px;line-height:1.75;color:var(--ink-soft)}.guest-rule-content li:last-child{margin-bottom:0}
.guest-save{margin-top:22px;background:var(--grad-chrome);padding:30px;border-radius:20px;color:#f5faec;display:grid;grid-template-columns:1fr 1fr;gap:35px;border:0}
.guest-save h2{color:#fffdf8}.guest-save p{font-size:14px;color:#e2ecd8}.guest-save .guest-kicker{color:var(--chrome-gold)}
.guest-save .btn{font-size:13px;min-height:49px;white-space:normal}.guest-save .btn--outline{color:var(--chrome-gold);border-color:#a7bf7c;margin-top:8px}
.guest-save .btn--outline:hover{background:#ffffff16}.guest-save :focus-visible{outline-color:var(--chrome-gold)}
.guest-save .guest-cache-status{margin-top:16px;padding-bottom:0;color:#e2ecd8}.guest-save .guest-cache-status>span:first-child{color:#f4e69a}
#guest-save-status{font-size:11px;margin:13px 0 0;line-height:1.7;min-height:34px}
.guest-install-instructions details{border-bottom:1px solid #6d8c68;padding:10px 0 14px}
.guest-install-instructions summary{font-size:15px;font-weight:800;cursor:pointer;min-height:35px;line-height:1.5}
.guest-install-instructions details p{font-size:13px;line-height:1.7;margin:8px 0 0}
.guest-install-instructions .guest-online-note{color:#e3ebdb;margin:18px 0 0}
.guest-social{border:0;padding-bottom:43px}.guest-social h2{font-size:31px}.guest-social-links{display:flex;flex-wrap:wrap;gap:10px 23px}.guest-social-links>a{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;min-height:45px}
.guest-social-links .icon{width:20px;height:20px}
.guest-footer{text-align:center;background:#e6ecdc;padding:25px 20px;color:var(--ink-soft);font-size:12px}
.guest-footer p{margin:0 0 7px}.guest-footer p:last-child{margin:0}.guest-credit{padding-top:12px;font-size:11px}
.guest-page [hidden]{display:none!important}
.guest-survey-wrap{max-width:850px;padding:20px 20px 35px;margin:0 auto}.guest-survey-brand{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font:650 20px var(--font-display);margin-bottom:18px}.guest-survey-brand img{height:66px;width:auto}
.guest-survey-banner{width:100%;height:auto;max-height:230px;object-fit:contain;border-radius:13px;margin-bottom:24px}
.guest-survey-wrap h1{text-align:center;font-size:35px}.guest-survey-wrap>p{font-size:14px;max-width:660px;margin:0 auto 12px;text-align:center}.guest-survey-note{font-size:11px!important;color:var(--muted)}
.guest-survey-frame{display:block;width:100%;height:1900px;border:0;border-radius:14px;background:#f6f5ef;margin:23px auto 15px}.guest-survey-unavailable{padding:27px;background:#e9efdf;border-radius:16px;margin:25px 0}.guest-survey-unavailable h2{font-size:25px}.guest-survey-unavailable p{font-size:14px;margin:0}
@media(max-width:720px){.guest-essentials{grid-template-columns:1fr;gap:22px;padding-top:29px}.guest-primary-actions{grid-template-columns:1fr 1fr;gap:10px}.guest-primary-actions .btn{font-size:13px;padding:12px 9px;gap:7px;min-height:56px}.guest-primary-actions .icon{width:20px;height:20px}.guest-essentials h2 br{display:none}.guest-section-head{align-items:flex-start}.guest-activity-grid{grid-template-columns:1fr;gap:19px}.guest-activity-grid article+article{border-left:0;border-top:1px solid #c9d8be;padding:20px 0 0}.guest-activity-grid article{display:grid;grid-template-columns:33px 1fr;column-gap:10px}.guest-activity-grid h3{margin:0 0 10px}.guest-activity-grid p,.guest-activity-grid a{grid-column:2}.guest-activity-icon{grid-row:1}.guest-save{grid-template-columns:1fr;gap:20px;padding:24px}.guest-install-instructions details:first-child{padding-top:0}.guest-trading .guest-section-head{display:block}.guest-hours{margin-top:12px}.guest-map-viewport{max-height:65vh}.guest-footer{font-size:11px}}
@media(max-width:430px){.guest-wrap{width:calc(100% - 32px)}.guest-header{padding:17px 0}.guest-brand{gap:12px}.guest-brand img{width:66px;height:75px}.guest-brand h1{font-size:33px}.guest-brand p{font-size:11px}.guest-brand span{font-size:10px}.guest-essentials h2{font-size:35px}.guest-essentials>div>p:last-child{font-size:14px}.guest-call-note{font-size:12px;padding:13px 15px}.guest-address{font-size:11px}.guest-jumps{gap:7px;padding-top:19px}.guest-jumps a{font-size:11px;min-height:44px;padding:8px 10px}.guest-section{padding-top:27px;padding-bottom:27px}.guest-section h2{font-size:28px}.guest-section-head{gap:10px;flex-wrap:wrap}.guest-section-head .guest-text-link{font-size:12px}.guest-map-toolbar{gap:6px}.guest-small-button{font-size:11px;padding:8px 9px}.guest-trading{padding:20px;margin-top:20px}.guest-trading>.guest-lead{font-size:16px!important}.guest-supplies{gap:12px 17px}.guest-supplies>span{font-size:11px}.guest-line-icon{width:45px;height:45px;border-radius:12px}.guest-line-icon .icon{width:26px;height:26px}.guest-laundry{gap:13px}.guest-laundry h2{font-size:25px}.guest-laundry .guest-lead{font-size:14px!important}.guest-social-links{display:grid;gap:3px}.guest-survey-wrap{padding:15px 10px 25px}.guest-survey-brand{font-size:18px}.guest-survey-brand img{height:55px}.guest-survey-banner{margin-bottom:18px}.guest-survey-wrap h1{font-size:30px}.guest-survey-frame{height:2100px;margin-top:18px}}
@media(max-width:430px){.guest-header-inner{gap:12px}.guest-header-inner .guest-brand{gap:10px}.guest-header-inner .guest-brand img{width:60px;height:60px}.guest-header-inner .guest-brand h1{font-size:27px}.guest-header-inner .guest-brand span{display:block;font-size:9px}.guest-header-inner .guest-brand p{font-size:10px}.guest-menu-toggle{gap:4px;padding:8px;min-height:44px;font-size:12px}.guest-menu-toggle .icon{width:21px;height:21px}.guest-menu a{font-size:12px}.guest-store-hours{margin-top:12px;gap:7px}.guest-store-hours .guest-hours{margin-top:0;font-size:12px;padding:8px 10px}.guest-store-status{min-width:112px;padding:6px 9px}.guest-map-actions{gap:0}.guest-map-actions .guest-map-toolbar{width:100%}}
@media print{.guest-page>*:not(main),.guest-page main>*:not(#park-map),.guest-map-actions,.guest-map-toolbar,.guest-map-help,.guest-section-head>a,#park-map>p,#park-map noscript{display:none!important}.guest-page,.guest-wrap{background:white!important;width:100%!important;margin:0!important;padding:0!important}#park-map{padding:0;border:0}.guest-map-viewport{max-height:none!important;overflow:visible!important;border:0}.guest-map-viewport img{width:100%!important;max-width:100%!important}.guest-section-head h2{font-size:20px}.guest-section-head .guest-kicker{display:none}}
@media print{#park-map>.guest-map-print-credit{display:block!important;text-align:right;color:#617165;font:9px/1.4 var(--font-body);margin:7px 0 0}}

/* Guest information stays legible at phone widths. */
@media(max-width:720px){.guest-page .guest-brand span,.guest-page .guest-brand p,.guest-page .guest-menu-call small,.guest-page .guest-small-button,.guest-page .guest-supplies>span,.guest-page .guest-footer,.guest-page .guest-credit,.guest-page .guest-survey-note{font-size:12px!important}.guest-page .guest-menu a{font-size:14px}.guest-page .guest-online-note{font-size:13px}}

/* The canonical Guest Area uses the approved public cream / forest palette. */
.guest-menu-toggle { background: var(--grad-glossy); border: 1.5px solid var(--chrome-gold); border-radius: 999px; color: var(--white); box-shadow: inset 0 1px 0 #ffffff60; }
.guest-menu-toggle:hover, .guest-menu-toggle[aria-expanded=true] { background: var(--grad-glossy-hover); }
.guest-menu .guest-menu-call { background: var(--grad-cta); color: var(--pine-950); }
.guest-jumps a, .guest-small-button { background: var(--white); border-color: #aab58c; color: var(--pine-900); }
.guest-call-note, .guest-today-list li, .guest-footer { background: var(--parchment); }
.guest-brand span { color: var(--chrome-gold); }
#park-rules, #guest-rules-title { scroll-margin-top: calc(var(--header-h) + 20px); }
