/* 숙소 v3.2 / 2026-10-11. 숙소 종류별 기본 접힘. 모든 숙박 금액에 1주 단위 표시. 코스·학비와 같은 공통 너비·서체. */
.up-lang-stay,.up-lang-stay *{box-sizing:border-box}
.up-lang-stay{width:100%;min-width:0;font-family:inherit;color:var(--up-type-color-body,#334155)}
.up-lang-stay .up-lang-stay__heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-bottom:14px}
.up-lang-stay .up-lang-stay__updated{font-size:var(--up-type-size-meta,14px);font-weight:400;line-height:1.5;letter-spacing:normal;color:var(--up-type-color-muted,#64748b);white-space:nowrap}
.up-lang-stay .up-lang-stay__basis{margin:12px 0;text-align:right;font-size:var(--up-type-size-meta,14px);font-weight:400;line-height:1.5;color:var(--up-type-color-muted,#64748b)}
.up-lang-stay .up-lang-stay__group-title{margin:0;font-size:var(--up-type-size-card,18px);font-weight:600;line-height:1.5;letter-spacing:-.015em;color:var(--up-type-color-heading,#111827)}
.up-lang-stay .up-lang-stay__group-meta{margin:0 0 10px;font-size:var(--up-type-size-meta,14px);font-weight:400;line-height:1.6;color:var(--up-type-color-muted,#64748b);word-break:keep-all;overflow-wrap:anywhere}
.up-lang-stay .up-lang-stay__list{display:block;list-style:none;margin:0;padding:0;border-top:1px solid #d9dce4}
.up-lang-stay .up-lang-stay__row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:18px;margin:0;padding:13px 4px;border-bottom:1px solid #e3e4ea;list-style:none;background:transparent}
.up-lang-stay .up-lang-stay__row::before{content:none}
.up-lang-stay .up-lang-stay__room{min-width:0}
.up-lang-stay .up-lang-stay__name{margin:0 0 3px;font-size:var(--up-type-size-body,16px);font-weight:600;line-height:1.5;letter-spacing:-.015em;color:var(--up-type-color-heading,#111827);word-break:keep-all;overflow-wrap:anywhere}
.up-lang-stay .up-lang-stay__rate-note,.up-lang-stay .up-lang-stay__conditions{margin:0;font-size:var(--up-type-size-meta,14px);font-weight:400;line-height:1.6;color:var(--up-type-color-muted,#64748b);word-break:keep-all;overflow-wrap:anywhere}
.up-lang-stay .up-lang-stay__price{text-align:right;min-width:0;font-variant-numeric:tabular-nums}
.up-lang-stay .up-lang-stay__amount{margin:0;font-size:18px;font-weight:600;line-height:1.5;color:var(--up-type-color-body,#334155);white-space:normal}
.up-lang-stay .up-lang-stay__currency{font-size:13px;font-weight:400;color:var(--up-type-color-muted,#64748b)}
.up-lang-stay .up-lang-stay__long{margin:3px 0 0;font-size:13px;font-weight:400;line-height:1.5;color:var(--up-type-color-muted,#64748b);white-space:nowrap}
.up-lang-stay .up-lang-stay__long-label{display:block}
.up-lang-stay .up-lang-stay__long-price{display:block;color:var(--up-type-color-body,#334155)}
.up-lang-stay .up-lang-stay__unit{display:inline-block;white-space:nowrap;font-size:13px;font-weight:400;color:var(--up-type-color-muted,#64748b)}
.up-lang-stay .up-lang-stay__quote{font-size:var(--up-type-size-body,16px);font-weight:600;line-height:1.5;color:var(--up-type-color-body,#334155)}
.up-lang-stay .up-lang-stay__fees{margin:14px 4px 0;padding:0;display:grid;gap:5px;font-size:var(--up-type-size-meta,14px);line-height:1.75}
.up-lang-stay .up-lang-stay__fees>div{display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px}
.up-lang-stay .up-lang-stay__fees dt{margin:0;font-weight:400;color:var(--up-type-color-muted,#64748b)}
.up-lang-stay .up-lang-stay__fees dd{margin:0;font-weight:400;word-break:keep-all;overflow-wrap:anywhere}
.up-lang-stay .up-lang-stay__fees dd span{color:var(--up-type-color-muted,#64748b)}
.up-lang-stay .up-lang-stay__notes{margin:12px 4px 0;font-size:var(--up-type-size-meta,14px);font-weight:400;line-height:1.75;color:var(--up-type-color-muted,#64748b)}
.up-lang-stay .up-lang-stay__notes p{margin:0 0 4px;font-size:inherit;font-weight:400;line-height:inherit;color:inherit;word-break:keep-all;overflow-wrap:anywhere}
.up-lang-stay .up-lang-stay__notes p:last-child{margin-bottom:0}
@media(max-width:600px){
 .up-lang-stay .up-lang-stay__heading{margin-bottom:12px}
 .up-lang-stay .up-lang-stay__basis{margin-bottom:16px;text-align:left;font-size:13px}
 .up-lang-stay .up-lang-stay__group-title{font-size:16px}
 .up-lang-stay .up-lang-stay__group-meta{font-size:13px}
 .up-lang-stay .up-lang-stay__row{grid-template-columns:minmax(0,1fr) 108px;gap:10px;padding:12px 2px}
 .up-lang-stay .up-lang-stay__rate-note,.up-lang-stay .up-lang-stay__conditions{font-size:13px;line-height:1.65}
 .up-lang-stay .up-lang-stay__amount{font-size:17px}
 .up-lang-stay .up-lang-stay__fees{font-size:13px}
 .up-lang-stay .up-lang-stay__fees>div{grid-template-columns:80px minmax(0,1fr)}
 .up-lang-stay .up-lang-stay__notes{margin-left:2px;margin-right:2px;font-size:13px}
}

/* 숙소명만 보이는 기본 목록. 상세 내용은 각 항목 안에 배치합니다. */
.up-lang-stay .up-lang-stay__intro{margin:0;font-size:var(--up-type-size-body,16px);font-weight:400;line-height:1.75;color:var(--up-type-color-lead,#475569);word-break:keep-all;overflow-wrap:anywhere}
.up-lang-stay .up-lang-stay__groups{border-top:1px solid #d9dce4}
.up-lang-stay .up-lang-stay__group{margin:0;padding:0;border:0;border-bottom:1px solid #e3e4ea;border-radius:0;background:transparent;box-shadow:none}
.up-lang-stay .up-lang-stay__toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;margin:0;padding:15px 4px;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.up-lang-stay .up-lang-stay__toggle::-webkit-details-marker{display:none}
.up-lang-stay .up-lang-stay__toggle::marker{content:""}
.up-lang-stay .up-lang-stay__icon{position:relative;flex:0 0 16px;width:16px;height:16px;margin-right:2px;color:#737987}
.up-lang-stay .up-lang-stay__icon::before,.up-lang-stay .up-lang-stay__icon::after{content:"";position:absolute;inset:7px 1px auto;height:1.5px;border-radius:1px;background:currentColor}
.up-lang-stay .up-lang-stay__icon::after{transform:rotate(90deg);transition:transform .16s ease}
.up-lang-stay .up-lang-stay__group[open]>.up-lang-stay__toggle .up-lang-stay__icon::after{transform:rotate(0)}
.up-lang-stay .up-lang-stay__toggle:focus-visible{outline:2px solid var(--up-type-color-accent,#5136c9);outline-offset:2px;border-radius:2px}
.up-lang-stay .up-lang-stay__panel{margin:0 4px 18px;padding:16px 18px;border:1px solid #e5e5ec;border-radius:8px;background:rgba(255,255,255,.72)}
@media(hover:hover){.up-lang-stay .up-lang-stay__toggle:hover{background:rgba(81,54,201,.025)}}
@media(max-width:600px){
 .up-lang-stay .up-lang-stay__intro{font-size:14px}
 .up-lang-stay .up-lang-stay__toggle{min-height:56px;padding:15px 2px;gap:16px}
 .up-lang-stay .up-lang-stay__panel{margin:0 0 16px;padding:12px}
 .up-lang-stay .up-lang-stay__row{grid-template-columns:minmax(0,1fr) 116px;gap:8px}
}
@media(prefers-reduced-motion:reduce){.up-lang-stay .up-lang-stay__icon::after{transition:none}}
