/* Purpose-built Mountain Hut and Hiking Trail layout.
   Kept separate from the legacy Place stylesheet to reduce merge conflicts and
   let future specialized place types evolve without changing generic pages. */
.Specialized { padding: clamp(40px, 6vw, 76px) 28px 90px; background: radial-gradient(circle at 88% 5%,rgba(69,103,105,.22),transparent 34rem),#1e2020; color: #f5f4ef; }
.Specialized--hut { background: radial-gradient(circle at 88% 5%,rgba(63,94,75,.24),transparent 34rem),#1e2020; }
.Specialized--accommodation { background: radial-gradient(circle at 88% 5%,rgba(74,91,82,.24),transparent 34rem),#1e2020; }
.Specialized__inner { max-width: 1224px; margin: 0 auto; }
.Specialized__eyebrow, .Specialized__label { margin: 0 0 16px; color: #aebfb4; font: 700 12px/1.3 "Montserrat",sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.Specialized h2 { margin: 0 0 24px; font: 700 clamp(28px,3.5vw,40px)/1.15 "Montserrat",sans-serif; letter-spacing: -.025em; }
.Specialized h3 { margin: 0 0 9px; font: 700 18px/1.3 "Montserrat",sans-serif; }
.Specialized__facts { display: flex; gap: 10px; margin-bottom: clamp(46px,6vw,72px); padding: 12px; overflow-x: auto; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.045); box-shadow: 0 18px 45px rgba(0,0,0,.22); }
.Specialized__facts > div { display: grid; flex: 1 0 145px; grid-template-columns: 35px 1fr; min-width: 0; padding: 13px 15px; border-right: 1px solid rgba(255,255,255,.1); }
.Specialized__facts > div:last-child { border: 0; }
.Specialized__facts i { grid-row: span 2; align-self: center; color: #b64f3e; font-size: 23px; }
.Specialized__facts span { color: #aeb5b0; font: 600 10px/1.3 "Montserrat",sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.Specialized__facts strong { margin-top: 3px; font: 700 15px/1.35 "Montserrat",sans-serif; }
.Specialized__layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(290px,1fr); gap: clamp(40px,6vw,76px); align-items: start; }
.Specialized__main { min-width: 0; }
.Specialized__sidebar { display: grid; position: sticky; top: 90px; gap: 20px; }
.Specialized__section { margin-bottom: clamp(54px,7vw,84px); }
.Specialized__about .Specialized__prose { max-width: 760px; color: #ecebe7; font-size: 18px; line-height: 1.8; }
.Specialized__prose p { margin: 0 0 22px; }
.Specialized__prose a { color: #ff8b7e; text-underline-offset: 3px; }
.Specialized__lead, .Specialized__section > p { color: #d9deda; font-size: 17px; line-height: 1.75; white-space: pre-line; }
.Specialized__facilities { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.Specialized__facilities > div { display: flex; gap: 11px; align-items: center; min-height: 60px; padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: #292c2b; font-weight: 700; }
.Specialized__facilities .is-available i { color: #76b58b; font-size: 18px; }
.Specialized__facilities .is-unavailable { color: #919793; background: transparent; font-weight: 400; }
.Specialized__note, .Specialized__callout { margin-top: 18px; padding: 17px 20px; border-radius: 10px; background: #29312d; line-height: 1.65; }
.Specialized__callout { border-left: 4px solid #ef6a5b; background: #292c2b; font-weight: 700; }
.Specialized__text { border-color: #5c9aaa; background: #292c2b; color: #e4e8e5; }
.Specialized__text--warning { border-color: #ef6a5b; }
.Specialized__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.Specialized__card { display: flex; min-height: 142px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: #292c2b; color: #f5f4ef; text-decoration: none; box-shadow: 0 12px 30px rgba(0,0,0,.18); transition: .2s ease; }
.Specialized__card:hover { color: #ff8b7e; transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0,0,0,.3); }
.Specialized__card.is-primary { border: 2px solid #718777; }
.Specialized__card img { width: 42%; object-fit: cover; }
.Specialized__card > div { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px; }
.Specialized__card p { margin: 3px 0 12px; color: #b9c0bb; line-height: 1.45; }
.Specialized__card span { margin-top: auto; color: #ff8b7e; font-size: 13px; font-weight: 700; }
.Specialized__booking, .Specialized__organization, .Specialized__sideCard { padding: 25px; border-radius: 15px; background: #25322b; color: #fff; box-shadow: 0 16px 38px rgba(27,38,31,.16); }
.Specialized__booking > span { color: #b9c7bc; font: 700 11px "Montserrat",sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.Specialized__booking h3 { margin-top: 8px; font-size: 23px; }
.Specialized__booking p { color: #d9dfda; }
.Specialized__contact .Specialized__button { margin-top: 10px; }
.Specialized__contactLinks { display: grid; gap: 11px; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); }
.Specialized__contactLinks a { overflow-wrap: anywhere; color: #eef2ef; text-decoration: none; }
.Specialized__contactLinks a:hover { color: #fff; text-decoration: underline; }
.Specialized__contactLinks i { width: 20px; color: #d28a7d; text-align: center; }
.Specialized__button { display: inline-flex; gap: 9px; align-items: center; padding: 13px 18px; border-radius: 7px; background: #b64f3e; color: #fff!important; font-weight: 700; text-decoration: none; }
.Specialized__mapCard { overflow: hidden; padding: 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 15px; background: rgba(255,255,255,.055); box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.Specialized__mapCard h3 { padding: 9px 8px 13px; }
.Specialized__mapCanvas { width: 100%; height: 320px; border-radius: 10px; background: #dfe5df; }
.Specialized__map--mobile { display: none; }
.Specialized__booking--mobile { display: none; }
.Specialized__organization { background: #292c2b; color: #f5f4ef; box-shadow: none; }
.Specialized__organization img { display: block; max-width: 150px; max-height: 70px; margin: 10px 0 18px; }
.Specialized__organization p { color: #b9c0bb; line-height: 1.55; }
.Specialized__organization a { color: #ff8b7e; font-weight: 700; }
.Specialized__seasons { display: flex; gap: 12px; margin-bottom: 18px; }
.Specialized__seasons > div { display: grid; grid-template-columns: 32px auto; min-width: 145px; padding: 15px; border-radius: 10px; background: #292c2b; }
.Specialized__seasons i { grid-row: span 2; align-self: center; color: #76b58b; font-size: 22px; }
.Specialized__seasons span { color: #aeb5b0; font-size: 13px; }
.Specialized__seasons .is-closed { opacity: .65; }
.Specialized__times { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.Specialized__times > div { display: grid; grid-template-columns: 42px 1fr; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: #292c2b; }
.Specialized__times i { grid-row: span 2; align-self: center; color: #b64f3e; font-size: 24px; }
.Specialized__times span { color: #aeb5b0; font: 600 11px/1.3 "Montserrat",sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.Specialized__times strong { margin-top: 5px; font: 700 18px/1.3 "Montserrat",sans-serif; }
.Specialized__connections--nearby .Specialized__cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.Specialized__stages { position: relative; padding: 0; list-style: none; }
.Specialized__stages:before { position: absolute; top: 25px; bottom: 25px; left: 23px; width: 2px; background: #4d5852; content: ''; }
.Specialized__stages li { display: grid; position: relative; grid-template-columns: 48px 1fr; gap: 20px; margin-bottom: 16px; }
.Specialized__stageNumber { display: grid; z-index: 1; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #31443a; color: #fff; font-weight: 700; }
.Specialized__stages li > div { padding: 5px 20px 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.Specialized__route i { margin: 0 8px; color: #ff8b7e; }
.Specialized__meta { color: #b7beb9; font-weight: 700; }
.Specialized__section--warning { padding: 25px; border-left: 4px solid #ef6a5b; border-radius: 10px; background: #292c2b; }
.Specialized__section--warning h2 { font-size: 25px; }
.Specialized__files { display: flex; flex-wrap: wrap; gap: 12px; }

@media screen and (max-width: 1000px) {
    .Specialized__facilities { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media screen and (max-width: 900px) {
    .Specialized__layout { display: flex; flex-direction: column; gap: 0; }
    .Specialized__main, .Specialized__sidebar { width: 100%; }
    .Specialized__sidebar { position: static; }
    .Specialized__booking--desktop { display: none; }
    .Specialized__booking--mobile { display: block; margin-bottom: 42px; }
    .Specialized__map--desktop { margin-bottom: 45px; }
}

@media screen and (max-width: 520px) {
    .Specialized { padding: 32px 16px 60px; }
    .Specialized__facilities, .Specialized__cards { grid-template-columns: 1fr; }
    .Specialized__times { grid-template-columns: 1fr; }
    .Specialized__facts { margin: 0 -16px 42px; border-width: 1px 0; border-radius: 0; }
}

.ImageTitle_Wrapper .PageHeroSubtitle {
    position: relative;
    z-index: 2;
    margin: 13px auto 0;
    color: rgba(255,255,255,.88);
    font: 600 clamp(15px,2vw,20px)/1.4 "Montserrat",sans-serif;
    letter-spacing: .025em;
    text-align: center;
    text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
