/* Public hut detail, designed to complement public_v124.css. */
.ph-detail{--ph-forest:#173b2f;--ph-ink:#18362b;--ph-muted:#4e6355;--ph-border:#e0e9df;color:var(--ph-ink)}
.ph-detail h1,.ph-detail h2,.ph-detail h3,.ph-detail p{margin-top:0}
.ph-crumbs{display:flex;align-items:center;gap:11px;padding-top:24px;padding-bottom:22px;color:#4e6355;font-size:.78rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-crumbs a{text-decoration:none}.ph-crumbs a:hover{color:#256344}.ph-crumbs [aria-current]{color:#304e3a;overflow:hidden;text-overflow:ellipsis}
.ph-intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.ph-title-group h1{font-size:clamp(2.55rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.065em;margin:11px 0 12px;font-weight:850}.ph-location{color:#4e6355;font-size:.95rem;margin:0}.ph-location span{color:#34714c;margin-right:6px}.ph-back-link{border:1px solid #d6e2d6;border-radius:10px;padding:12px 15px;font-size:.82rem;text-decoration:none;font-weight:750;background:white;white-space:nowrap}.ph-back-link:hover{background:#eef5ee}
.ph-gallery{height:clamp(280px,34vw,460px);position:relative;overflow:hidden;border-radius:22px;background:#abc9b3}.ph-cover{width:100%;height:100%;display:block;object-fit:cover}.ph-cover-fallback{height:100%;width:100%}.ph-cover-fallback svg{width:100%;height:100%;display:block}.ph-photo-note{position:absolute;left:26px;bottom:24px;display:flex;align-items:center;gap:9px;border:1px solid #ffffff88;background:#193e31c9;color:white;padding:11px 16px;border-radius:9px;font-size:.78rem;font-weight:730;backdrop-filter:blur(8px)}.ph-photo-note span{color:#d6f2a0}
.ph-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:54px;align-items:start;padding-top:55px;padding-bottom:92px}.ph-content{min-width:0}.ph-section{margin-bottom:48px}.ph-section-kicker{display:flex;align-items:center;gap:10px;color:#4e6355;font-size:.7rem;font-weight:850;letter-spacing:.14em}.ph-kicker-line{width:22px;height:2px;background:#7ba373;display:inline-block}.ph-section h2{font-size:clamp(1.65rem,2.7vw,2.55rem);line-height:1.15;letter-spacing:-.05em;margin:15px 0 17px}.ph-description{max-width:760px;color:#4e6355;font-size:.97rem;line-height:1.85}.ph-description p{margin:0 0 12px}.ph-facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.ph-facts>div{display:flex;align-items:center;gap:9px;border:1px solid #e0e8df;border-radius:10px;padding:11px 13px;background:white;color:#526a58;font-size:.77rem;font-weight:720}.ph-fact-icon{color:#3d8656;font-size:1.08rem}
.ph-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.ph-section-heading h2{margin-bottom:8px}.ph-section-heading p{color:#4e6355;font-size:.86rem;margin:0}.ph-dates-pill{background:#e4f2dc;color:#32643d;padding:8px 12px;border-radius:100px;white-space:nowrap;font-size:.76rem;font-weight:850}.ph-stay-banner{display:flex;align-items:center;gap:13px;padding:15px 18px;border-radius:12px;background:#eaf3e7;margin-bottom:17px}.ph-stay-banner>span{font-size:1.3rem;color:#427b50}.ph-stay-banner>div{display:flex;flex-direction:column;gap:3px;flex:1}.ph-stay-banner strong{font-size:.86rem}.ph-stay-banner div span{font-size:.75rem;color:#4e6355}.ph-stay-banner a{font-size:.76rem;font-weight:850;color:#316a46;text-decoration:none;white-space:nowrap}
.ph-room-list{display:grid;gap:13px}.ph-room-card{display:grid;grid-template-columns:54px minmax(0,1fr) 145px;gap:15px;padding:22px;background:#fff;border:1px solid #e0e8df;border-radius:16px;box-shadow:0 8px 28px #153c2610}.ph-room-icon{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;background:#eaf3e7;color:#447b50}.ph-room-info{min-width:0}.ph-room-info h3{font-size:1.14rem;letter-spacing:-.03em;margin:2px 0 7px}.ph-room-info p{color:#4e6355;font-size:.82rem;line-height:1.5;margin:0 0 13px}.ph-room-badges{display:flex;gap:6px;flex-wrap:wrap}.ph-room-badges span{font-size:.7rem;color:#4e6355;border-radius:6px;background:#f0f4ee;padding:6px 8px;font-weight:720}.ph-room-badges .ph-available{background:#e2f3e3;color:#247047}.ph-room-badges .ph-unavailable{background:#fff0e8;color:#9a5d34}.ph-room-action{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.ph-room-price{text-align:right}.ph-room-price strong{display:block;font-size:1.05rem;white-space:nowrap}.ph-room-price span{display:block;color:#4e6355;font-size:.71rem;white-space:nowrap}.ph-room-action label{font-size:.72rem;color:#596d5f;font-weight:800}.ph-room-action input{width:95px;min-height:40px;padding:8px 10px;border-radius:9px;border:1px solid #cbdacb;background:#fbfdfa;text-align:center;font-weight:800;color:#24472d}.ph-room-action input:focus-visible,.ph-date-field input:focus-visible,.ph-guest-field input:focus-visible,.ph-guest-field textarea:focus-visible{outline:3px solid #a4d184;outline-offset:2px}.ph-choose-link{font-size:.77rem;font-weight:850;color:#2c6b45!important;text-decoration:none;white-space:nowrap}.ph-choose-link:hover{text-decoration:underline}.ph-room-disabled{font-size:.75rem;color:#9b6e57}.ph-room-full{background:#fafbf9}.ph-room-full .ph-room-icon{opacity:.55}
.ph-sidebar{position:sticky;top:20px;scroll-margin-top:25px}.ph-booking-panel{background:#fff;border:1px solid #e1e8df;border-radius:18px;overflow:hidden;box-shadow:0 18px 45px #1a432319}.ph-panel-head{padding:26px 27px 18px}.ph-panel-head h2{font-size:1.95rem;line-height:1.2;letter-spacing:-.055em;margin:9px 0}.ph-panel-head p{color:#4e6355;font-size:.86rem;margin:0}.ph-date-fields{display:grid;gap:13px;padding:0 27px}.ph-date-field label{display:block;font-size:.75rem;font-weight:800;color:#546e5a;margin-bottom:7px}.ph-date-field input{display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #d3dfd1;border-radius:10px;background:#fafcf9;color:#1e4030;font:inherit;font-size:.9rem}.ph-primary{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:51px;padding:13px 18px;border:0;border-radius:10px;background:#1d5038;color:#fff!important;text-decoration:none;font-size:.88rem;font-weight:850;cursor:pointer}.ph-primary:hover{background:#286648}.ph-check-btn{width:calc(100% - 54px);margin:18px 27px 24px}.ph-booking-hint{padding:17px 27px;background:#f2f7f0;color:#4e6355;font-size:.8rem;display:flex;gap:10px;line-height:1.5}.ph-booking-hint span{font-size:1.1rem;color:#39704b}.ph-panel-foot{padding:18px 27px;border-top:1px solid #edf1eb;color:#4e6355;font-size:.74rem;display:flex;align-items:center;gap:8px}.ph-panel-foot span{color:#4c945a;font-weight:900}.ph-booking-result{margin:0 27px 22px;padding:17px;border-radius:12px;background:#eef5ed}.ph-result-top{display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:#4e6355}.ph-result-top span{font-weight:850;letter-spacing:.08em}.ph-result-top strong{color:#244d32}.ph-booking-result>p{font-size:.87rem;font-weight:800;margin:10px 0}.ph-status-good,.ph-status-full{font-size:.77rem;font-weight:750}.ph-status-good{color:#287343}.ph-status-full{color:#995b3b}.ph-result-link{display:flex;justify-content:space-between;margin-top:14px;color:#2a6b43!important;text-decoration:none;font-size:.78rem;font-weight:850}
.ph-guest{margin-top:30px;border:1px solid #e0e8df;background:#fff;border-radius:18px;padding:27px}.ph-guest h2{font-size:1.8rem;margin:13px 0 8px}.ph-guest>p{color:#4e6355;font-size:.85rem}.ph-guest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.ph-guest-field{min-width:0}.ph-guest-field.ph-wide{grid-column:1/-1}.ph-guest-field label{display:block;margin-bottom:7px;font-size:.77rem;font-weight:800;color:#526955}.ph-guest-field input,.ph-guest-field textarea{display:block;width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid #d4dfd1;border-radius:10px;background:#fbfcfa;color:#19372d;font:inherit;font-size:.9rem}.ph-guest-field textarea{min-height:90px;resize:vertical}.ph-checkout{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid #e7ece5}.ph-checkout>div{display:flex;flex-direction:column;gap:4px}.ph-checkout>div>span{font-size:.75rem;color:#4e6355}.ph-checkout strong{font-size:1.45rem;white-space:nowrap}.ph-checkout .ph-primary{width:auto;min-width:200px}.ph-small-print{font-size:.72rem!important;line-height:1.6;margin:0!important}.ph-field-errors,.ph-error-box{color:#a13730;font-size:.78rem}.ph-field-errors .errorlist,.ph-error-box .errorlist{padding-left:17px;margin:6px 0}.ph-error-box{background:#fff1ee;border:1px solid #f2d4cd;padding:12px;border-radius:10px;margin-bottom:16px}.ph-empty{background:#f8f5ef;border:1px solid #e9e0d2;padding:24px;border-radius:13px;color:#745c46}.ph-empty p{margin:8px 0}.ph-empty a{font-weight:800;color:#396d48}
.ph-bottom{background:#e8f0e6;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 42px;margin-bottom:80px}.ph-bottom h2{font-size:clamp(1.6rem,2.8vw,2.5rem);letter-spacing:-.05em;margin:8px 0}.ph-bottom p{color:#4e6355;margin:0;font-size:.87rem}.ph-bottom>a{display:inline-flex;align-items:center;gap:25px;background:#1d5038;color:white!important;border-radius:10px;padding:15px 18px;text-decoration:none;font-size:.84rem;font-weight:800;white-space:nowrap}
@media(max-width:1050px){.ph-layout{grid-template-columns:minmax(0,1fr) 310px;gap:28px}.ph-room-card{grid-template-columns:46px minmax(0,1fr);padding:18px}.ph-room-icon{width:44px;height:44px}.ph-room-action{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.ph-room-price{text-align:left}}
@media(max-width:760px){.ph-intro{align-items:start}.ph-back-link{display:none}.ph-gallery{height:290px;border-radius:14px}.ph-layout{grid-template-columns:1fr;gap:22px;padding-top:25px;padding-bottom:50px}.ph-sidebar{grid-row:1;position:static}.ph-booking-panel{border-radius:14px}.ph-panel-head{padding:20px 22px 12px}.ph-date-fields{grid-template-columns:1fr 1fr;padding:0 22px}.ph-check-btn{width:calc(100% - 44px);margin:16px 22px 20px}.ph-booking-hint,.ph-panel-foot{padding:14px 22px}.ph-booking-result{margin:0 22px 18px}.ph-section{margin-bottom:36px}.ph-photo-note{bottom:14px;left:14px;padding:8px 11px}.ph-bottom{flex-direction:column;align-items:flex-start;padding:28px;margin-bottom:45px}}
@media(max-width:480px){.ph-crumbs{padding-top:16px;padding-bottom:15px}.ph-title-group h1{font-size:2.4rem}.ph-gallery{height:230px}.ph-photo-note{font-size:.69rem}.ph-date-fields{grid-template-columns:1fr;gap:12px}.ph-room-card{grid-template-columns:38px minmax(0,1fr);gap:12px}.ph-room-icon{width:38px;height:38px}.ph-room-action{grid-column:1/-1;align-items:flex-end}.ph-guest{padding:18px}.ph-guest-grid{grid-template-columns:1fr}.ph-guest-field.ph-wide{grid-column:auto}.ph-checkout{flex-direction:column;align-items:stretch}.ph-checkout .ph-primary{width:100%}.ph-stay-banner{flex-wrap:wrap}.ph-stay-banner a{margin-left:29px}.ph-facts{gap:7px}.ph-facts>div{font-size:.7rem}.ph-bottom{padding:24px}}
@media(prefers-reduced-motion:reduce){.ph-detail *{scroll-behavior:auto}}

.ph-crumbs a,.ph-choose-link,.ph-stay-banner a,.ph-result-link{min-height:44px;display:inline-flex;align-items:center}.ph-crumbs{white-space:normal;flex-wrap:wrap}.ph-cover{filter:saturate(.94) contrast(1.02)}
