/* Shared Header + Hero shell, based on massage-in-phuket.html */
:root { --shell-gold:#d6a84b; --shell-gold-dark:#a97824; --shell-ink:#160d09; --shell-cream:#fffaf3; }
header.top-navbar:not(.shared-site-header), header.site-header:not(.shared-site-header) { display:none !important; }
.shared-site-header { position:sticky; top:0; z-index:20000; width:100%; background:rgba(20,11,7,.96); border-bottom:1px solid rgba(214,168,75,.25); box-shadow:0 8px 26px rgba(0,0,0,.22); backdrop-filter:blur(14px); font-family:Arial,sans-serif; }
.shared-site-header * { box-sizing:border-box; }
.shared-site-header .shared-nav-container { width:min(1200px,calc(100% - 32px)); min-height:78px; margin:0 auto; display:flex; align-items:center; gap:24px; }
.shared-site-header .shared-logo { display:flex; align-items:center; gap:11px; min-width:max-content; color:#fff; text-decoration:none; }
.shared-site-header .shared-logo img { width:54px; height:54px; border-radius:14px; object-fit:cover; box-shadow:0 4px 15px rgba(0,0,0,.28); }
.shared-site-header .shared-logo-copy { display:grid; gap:2px; }
.shared-site-header .shared-logo-title { color:#fff; font-size:16px; font-weight:800; letter-spacing:.15px; }
.shared-site-header .shared-logo-sub { color:#d9b96f; font-size:10px; font-weight:700; letter-spacing:1.05px; text-transform:uppercase; }
.shared-site-header .shared-desktop-menu { display:flex; align-items:center; justify-content:center; gap:22px; margin-left:auto; }
.shared-site-header .shared-desktop-menu a { position:relative; padding:29px 0 25px; color:rgba(255,255,255,.86); text-decoration:none; font-size:14px; font-weight:700; }
.shared-site-header .shared-desktop-menu a::after { content:""; position:absolute; right:0; bottom:18px; left:0; height:2px; background:var(--shell-gold); transform:scaleX(0); transition:transform .2s ease; }
.shared-site-header .shared-desktop-menu a:hover, .shared-site-header .shared-desktop-menu a[aria-current="page"] { color:#fff; }
.shared-site-header .shared-desktop-menu a:hover::after, .shared-site-header .shared-desktop-menu a[aria-current="page"]::after { transform:scaleX(1); }
.shared-site-header .shared-book-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 19px; border-radius:999px; background:linear-gradient(135deg,#efd384,#bd8730); color:#211408 !important; text-decoration:none; font-size:14px; font-weight:900; box-shadow:0 6px 20px rgba(214,168,75,.28); white-space:nowrap; }
.shared-site-header .shared-menu-btn, .shared-site-header .shared-mobile-location { display:none; }
.shared-mobile-menu { display:none; position:fixed; z-index:19999; top:70px; right:12px; left:12px; padding:12px; border:1px solid rgba(214,168,75,.22); border-radius:18px; background:rgba(25,14,9,.98); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.shared-mobile-menu.is-open { display:grid; }
.shared-mobile-menu a { padding:13px 14px; border-radius:11px; color:#fff; text-decoration:none; font:700 15px Arial,sans-serif; }
.shared-mobile-menu a:hover { background:rgba(214,168,75,.14); }
.shared-hero { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid rgba(214,168,75,.16); }
.shared-hero.hero, .shared-hero.hero-section { background:radial-gradient(circle at 85% 10%,rgba(214,168,75,.16),transparent 34%),linear-gradient(135deg,#21110a,#0f0907) !important; }
.shared-hero.hero, .shared-hero.hero-section { margin-top:0 !important; padding-top:15px !important; }
.shared-hero .hero-inner { padding-top:0; }
.shared-hero .hero-grid { align-items:center; }
.shared-hero .hero-content h1, .shared-hero .hero-content h2 { text-wrap:balance; }
.shared-hero .hero-image-slider, .shared-hero .hero-image, .shared-hero > img { overflow:hidden; border-radius:28px; }
.shared-hero.blog-cover { min-height:clamp(310px,45vw,520px); display:grid; place-items:end start; background:#160d09; }
.shared-hero.blog-cover > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0; }
.shared-hero.blog-cover::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(14,7,4,.78)); }
.shared-hero.blog-cover .cover-title { position:relative; z-index:1; max-width:1100px; margin:0 auto; padding:48px max(24px,calc((100vw - 1100px)/2)); color:#fff; font-size:clamp(30px,5vw,58px); font-weight:900; line-height:1.08; text-shadow:0 4px 22px rgba(0,0,0,.55); }
.shared-hero.detail-hero { border-radius:0 0 28px 28px; box-shadow:0 14px 36px rgba(0,0,0,.12); }
.shared-generated-hero { min-height:clamp(300px,42vw,500px); display:grid; align-items:end; background:radial-gradient(circle at 85% 10%,rgba(214,168,75,.2),transparent 35%),linear-gradient(135deg,#25130b,#0d0806); }
.shared-generated-hero .shared-generated-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.48; }
.shared-generated-hero::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(12,7,5,.94),rgba(12,7,5,.55) 58%,rgba(12,7,5,.35)); }
.shared-generated-hero .shared-generated-content { position:relative; z-index:1; width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:70px 0 58px; color:#fff; }
.shared-generated-hero .shared-generated-title { max-width:850px; margin:0 0 16px; color:#fff; font-size:clamp(34px,5.5vw,64px); font-weight:900; line-height:1.06; text-wrap:balance; }
.shared-generated-hero .shared-generated-description { max-width:720px; margin:0; color:rgba(255,255,255,.82); font-size:clamp(16px,2vw,20px); line-height:1.7; }
@media(max-width:920px){
  .shared-site-header .shared-nav-container { width:min(100% - 20px,760px); min-height:70px; gap:10px; }
  .shared-site-header .shared-logo { margin:0 auto; min-width:0; }
  .shared-site-header .shared-logo img { width:46px; height:46px; }
  .shared-site-header .shared-logo-title { font-size:13px; }
  .shared-site-header .shared-logo-sub { font-size:8px; }
  .shared-site-header .shared-desktop-menu, .shared-site-header .shared-book-btn { display:none; }
  .shared-site-header .shared-mobile-location { display:flex; align-items:center; gap:5px; max-width:122px; padding:8px 2px; border:0; background:transparent; color:#f0cf84; font-size:11.5px; font-weight:800; line-height:1; text-decoration:none; white-space:nowrap; }
  .shared-site-header .shared-menu-btn { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid rgba(214,168,75,.28); border-radius:12px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; }
  .shared-site-header .shared-menu-icon, .shared-site-header .shared-menu-icon::before, .shared-site-header .shared-menu-icon::after { display:block; width:20px; height:2px; border-radius:2px; background:currentColor; content:""; transition:.2s ease; }
  .shared-site-header .shared-menu-icon { position:relative; }
  .shared-site-header .shared-menu-icon::before { position:absolute; top:-6px; }
  .shared-site-header .shared-menu-icon::after { position:absolute; top:6px; }
  .shared-site-header .shared-menu-btn[aria-expanded="true"] .shared-menu-icon { background:transparent; }
  .shared-site-header .shared-menu-btn[aria-expanded="true"] .shared-menu-icon::before { top:0; transform:rotate(45deg); }
  .shared-site-header .shared-menu-btn[aria-expanded="true"] .shared-menu-icon::after { top:0; transform:rotate(-45deg); }
}
@media(max-width:520px){ .shared-site-header .shared-logo-copy { max-width:150px; } .shared-site-header .shared-logo-title { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } }