.tw-hotel-wrap{max-width:1250px;margin:0 auto;padding:2em 0}
.tw-breadcrumbs{font-size:13px;opacity:.8;margin:6px 0 12px;display:flex;gap:8px;flex-wrap:wrap}
.tw-hotel-title{margin:0 0 6px;font-size:28px;line-height:1.2}
.tw-hotel-sub{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.tw-muted{opacity:.75}
.tw-small{font-size:13px}
.tw-hotel-grid{display:grid;grid-template-columns:1fr;gap:3em}
@media(min-width:920px){.tw-hotel-grid{grid-template-columns:1.4fr .8fr;align-items:start}}

.tw-gallery-main{position:relative;border-radius:var(--tw-radius-md);overflow:hidden;background:linear-gradient(180deg,var(--tw-surface-alt),var(--tw-warm-soft))}
.tw-main-img{width:100%;height:360px;object-fit:cover;display:block}
@media(min-width:920px){.tw-main-img{height:460px}}
.tw-img-ph{height:360px;display:flex;align-items:center;justify-content:center}
.tw-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.76);color:var(--tw-text);font-size:28px;line-height:42px;cursor:pointer;box-shadow:0 10px 18px rgba(72,83,42,.12)}
.tw-prev{left:10px}.tw-next{right:10px}
.tw-thumbs{display:flex;gap:10px;margin-top:10px;overflow:auto;padding-bottom:6px}
.tw-thumb{border:2px solid transparent;border-radius:var(--tw-radius);overflow:hidden;padding:0;background:transparent;flex:0 0 auto;cursor:pointer}
.tw-thumb img{width:92px;height:64px;object-fit:cover;display:block}
.tw-thumb.is-active{border-color:var(--tw-warm);}

.tw-bookbox-card{position:sticky;top:18px;border:var(--tw-border);border-radius:var(--tw-radius-lg);padding:16px;background:rgba(255,255,255,.95);box-shadow:var(--tw-shadow)}
.tw-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.tw-price{display:flex; gap:0.2em; align-items:center; font-size:30px;font-weight:800;letter-spacing:-.02em}
.tw-form{display:grid;gap:10px;margin-top:12px}
.tw-form label{display:grid;gap:6px;font-size:14px}
.tw-form input,.tw-form select{height:44px;border-radius:var(--tw-radius);border:1px solid var(--wp--preset--color--border);padding:0 12px;font-size:15px;background:var(--tw-surface-alt);color:var(--tw-text)}
.tw-occu{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tw-cta{display:flex;align-items:center;justify-content:center;height:48px;border-radius:var(--tw-radius);background:linear-gradient(180deg,var(--tw-accent),var(--tw-accent-strong));color:#fff;text-decoration:none;font-weight:800;box-shadow:0 12px 20px rgba(127,169,40,.18)}
.tw-cta:active{transform:translateY(1px)}
.tw-disclosure{font-size:12px;opacity:.72;margin:6px 0 0}

.tw-mini{margin-top:12px;border:var(--tw-border);border-radius:var(--tw-radius-md);padding:14px;background:rgba(255,255,255,.95)}
.tw-maplink{text-decoration:none;font-weight:700;color:var(--tw-accent-strong)}

.tw-sections{margin-top:18px;display:grid;gap:14px}
.tw-section{border:var(--tw-border);border-radius:var(--tw-radius-md);padding:16px;background:rgba(255,255,255,.96);box-shadow:var(--tw-shadow)}
.tw-section h2{margin:0 0 10px;font-size:18px}
.tw-content p{margin:0 0 10px; text-align: justify;}
.tw-kv{margin:0;padding-left:18px}
.tw-kv li{margin:6px 0}

/* gold stars (small, with half-star via gradient) */
.tw-stars{display:inline-flex;gap:2px;vertical-align:middle;margin-right:6px}
.tw-star{font-size:14px;line-height:1}
.tw-star.full{color:var(--tw-warm)}
.tw-star.empty{color:rgba(38,49,31,.18)}
.tw-star.half{
  color:transparent;
  background:linear-gradient(90deg,var(--tw-warm) 50%,rgba(38,49,31,.18) 50%);
  -webkit-background-clip:text;background-clip:text;
}
