/* One message per view; details remain available at the point of choice. */
.custom-intro .eyebrow,.category-english,.collection-heading-label { display:none; }
.custom-intro,html[dir=rtl] .custom-intro { padding-block:24px 12px; }
.custom-intro h2 { font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.6;letter-spacing:0;color:var(--muted); }
.base-heading h2 { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.base-benefits>div:not(.base-assistant)>small { display:none; }
.collection-layout { padding-top:32px; }
.section-description { margin-top:10px;margin-bottom:22px; }
.category-tabs>[role=tab] { min-height:84px; }
.category-next .button:disabled:hover { background:var(--green); color:var(--white); filter:none; }
.category-kpop-copy { flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 8px; min-width:0; }
.category-status { display:inline-block; padding:2px 5px; background:#eae2d6; color:#665847; font-family:var(--sans); font-size:11px; font-weight:400; line-height:1.4; letter-spacing:0; white-space:nowrap; border-radius:2px; }
.desktop-nav .nav-kpop { gap:6px; }
.desktop-nav .nav-kpop[aria-disabled=true] { cursor:default; }
.desktop-nav .nav-kpop[aria-disabled=true]:hover { color:inherit; }
.desktop-nav .nav-kpop[aria-disabled=true]:after { display:none; }
#category-kpop:disabled { opacity:1; cursor:default; }
#category-kpop:disabled:not([aria-selected=true]):hover { background:transparent; }
@media(max-width:1000px) and (min-width:701px) { .desktop-nav .nav-kpop { flex-direction:column; gap:0; } }
.category-thumb { width:50px;height:48px; }
.kpop-request { display:block;max-width:760px;margin-top:20px;padding:28px;background:transparent; }
.kpop-request form { gap:16px; }
.kpop-options { border-bottom:1px solid var(--line); }
.kpop-options>summary { display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;cursor:pointer;font-size:14px;min-height:44px;line-height:1.6; }
.kpop-options>summary::-webkit-details-marker { display:none; }
.kpop-options>summary:after { content:'+';font-size:20px;font-weight:400; }
.kpop-options[open]>summary:after { content:'−'; }
.kpop-options>div { display:grid;gap:18px;padding-block:12px 22px; }
.kpop-fee { padding-top:0;border:0;font-size:13px; }
.kpop-notice { margin:0; }
.kpop-request .button { width:100%; }
/* Preserve the typography while giving compact controls a full touch target. */
.brand { min-height:44px; justify-content:center; }
.desktop-nav a { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.filter-button { min-width:44px; }
.header-journey,.footer-top-link,.footer-bottom button,
.base-disclosure>summary,.official-video>summary,.service-days-mode button,
.room-source,.detail-actions>a,.official-video>a,.service-quote>a,
.journey-item .journey-rooms button { min-width:44px; min-height:44px; }
.footer-bottom button,.detail-actions>a,.official-video>a,.credit-item a {
  display:inline-flex; align-items:center; min-width:44px; min-height:44px;
}
.dialog-close,.journey-item>button,.kpop-journey-row>button {
  width:44px; min-width:44px; height:44px; min-height:44px; flex-shrink:0;
}
.service-stepper button { width:44px; min-width:44px; height:44px; flex-shrink:0; }
.service-stepper input { min-width:44px; min-height:44px; }
@media(max-width:700px) {
 .custom-intro,html[dir=rtl] .custom-intro { padding-block:12px 8px; }
 .custom-intro h2 { font-size:14px; }
 html[lang=en] .base-benefits .base-assistant { grid-template-columns:.8fr 2.2fr; }
 .collection-layout { padding-top:22px; }
 .collection-section[role=tabpanel] .section-heading h2 { font-size:27px; }
 .category-tabs>[role=tab] { min-height:72px; }
 .category-kpop-copy { flex-direction:column; align-items:center; gap:2px; }
 .category-kpop-copy .category-status { padding:0 4px; }
 .category-thumb,html[dir=rtl] .category-thumb { width:28px;height:26px; }
 .kpop-request { padding:0;border:0;margin-top:20px; }
 .kpop-request form { gap:12px; }
 .kpop-request input,.kpop-request select { padding:10px 12px; }
 .kpop-options>summary { font-size:14px; }
 .kpop-notice { font-size:12px;line-height:1.7; }
}

/* Distinct, tactile category buttons within the existing warm palette. */
.category-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding-block:8px; }
.category-tabs>[role=tab] { position:relative; min-width:0; border:1px solid #cfc2b0; border-radius:3px; background:var(--white); color:var(--ink); box-shadow:0 1px 2px #30282108; cursor:pointer; transition:background .18s,color .18s,border-color .18s,box-shadow .18s; }
.category-tabs>[role=tab]+[role=tab] { border-inline-start:1px solid #cfc2b0; }
.category-tab-copy:not(.category-kpop-copy) { flex-direction:row; align-items:center; gap:8px; min-width:0; }
.category-action { display:inline-flex; flex:none; color:var(--gold); }
.category-action svg { width:16px; height:16px; stroke-width:1.4; }
html[dir=rtl] .category-action svg { transform:scaleX(-1); }
.category-tabs>[role=tab][aria-selected=true]:not(:disabled) { background:var(--green); color:var(--white); border-color:var(--green); box-shadow:inset 0 -2px 0 var(--gold); }
.category-tabs>[aria-selected=true] .category-tab-copy>span:first-child { font-weight:600; }
.category-tabs>[aria-selected=true] .category-action { color:var(--champagne); }
.category-tabs>[role=tab]:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.category-tabs>[role=tab]:not(:disabled):active { background:#e8dccb; border-color:var(--gold); box-shadow:inset 0 1px 3px #30282118; }
.category-tabs>[role=tab][aria-selected=true]:not(:disabled):active { background:#241d18; }
.category-tabs small { position:absolute; top:5px; inset-inline-end:5px; margin:0; }
.category-tabs>[aria-selected=true] small { background:var(--champagne); color:var(--ink); }
#category-kpop:disabled,#category-kpop:disabled:not([aria-selected=true]):hover { background:#f2eee7; color:var(--muted); border-color:var(--line); box-shadow:none; cursor:default; }
#category-kpop .category-thumb { opacity:.55; }
#category-kpop .category-status { background:#e7dfd3; color:#665847; }
@media(hover:hover) {
 .category-tabs>[role=tab]:not(:disabled):not([aria-selected=true]):hover { background:#f0e7da; border-color:var(--gold); box-shadow:0 2px 5px #30282110; }
 .category-tabs>[role=tab][aria-selected=true]:not(:disabled):hover { background:#403329; }
}
@media(max-width:1000px) and (min-width:701px) {
 .category-tabs { gap:8px; }
 .category-tabs>[role=tab],html[lang=en] .category-tabs>[role=tab],html[dir=rtl] .category-tabs>[role=tab] { gap:8px; padding-inline:10px; font-size:18px; }
 .category-tabs .category-thumb { width:38px; height:40px; }
 .category-tab-copy:not(.category-kpop-copy) { gap:5px; }
 .category-action svg { width:14px; height:14px; }
}
@media(max-width:700px) {
 .category-tabs { gap:6px; padding:6px 8px; }
 .category-tabs>[role=tab],html[lang=en] .category-tabs>[role=tab],html[dir=rtl] .category-tabs>[role=tab] { flex-direction:column; justify-content:center; gap:4px; min-height:80px; padding:6px 4px; font-size:16px; line-height:1.4; }
 .category-tabs .category-thumb,html[dir=rtl] .category-tabs .category-thumb { width:28px; height:24px; }
 .category-tab-copy:not(.category-kpop-copy) { gap:4px; }
 .category-action svg { width:12px; height:12px; }
 .category-kpop-copy { gap:1px; }
 .category-kpop-copy .category-status { font-size:10px; line-height:1.3; padding:0 3px; }
 .category-tabs small { top:3px; inset-inline-end:3px; }
}
@media(max-width:360px) {
 .category-tabs { gap:4px; padding-inline:6px; }
 .category-tabs>[role=tab],html[lang=en] .category-tabs>[role=tab],html[dir=rtl] .category-tabs>[role=tab] { font-size:14px; }
 .category-tab-copy:not(.category-kpop-copy) { gap:3px; }
}
@media(prefers-reduced-motion:reduce) { .category-tabs>[role=tab] { transition:none; } }

/* Beauty and dining filters share the category buttons' tactile treatment. */
:is(#beauty-filters,#dining-filters) { gap:8px; border:0; padding:4px; }
:is(#beauty-filters,#dining-filters) .filter-button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:46px; padding:10px 16px; border:1px solid #cfc2b0; border-radius:3px; background:var(--white); color:var(--ink); font-size:15px; font-weight:500; line-height:1.5; white-space:nowrap; box-shadow:0 1px 2px #30282108; cursor:pointer; transition:background .18s,color .18s,border-color .18s,box-shadow .18s; }
:is(#beauty-filters,#dining-filters) .filter-button[aria-pressed=true] { background:var(--green); color:var(--white); border-color:var(--green); font-weight:600; box-shadow:inset 0 -2px 0 var(--gold); }
:is(#beauty-filters,#dining-filters) .filter-button:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
:is(#beauty-filters,#dining-filters) .filter-button:active { background:#e8dccb; border-color:var(--gold); box-shadow:inset 0 1px 3px #30282118; }
:is(#beauty-filters,#dining-filters) .filter-button[aria-pressed=true]:active { background:#241d18; }
@media(hover:hover) {
 :is(#beauty-filters,#dining-filters) .filter-button:not([aria-pressed=true]):hover { background:#f0e7da; color:var(--ink); border-color:var(--gold); box-shadow:0 2px 5px #30282110; }
 :is(#beauty-filters,#dining-filters) .filter-button[aria-pressed=true]:hover { background:#403329; }
}
@media(max-width:700px) {
 :is(#beauty-filters,#dining-filters) .filter-button { min-height:44px; padding:8px 10px; font-size:14px; }
 #dining-filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:10px; scrollbar-width:thin; scrollbar-color:#bda98b transparent; }
 #dining-filters .filter-button { flex-shrink:0; }
}
@media(prefers-reduced-motion:reduce) { :is(#beauty-filters,#dining-filters) .filter-button { transition:none; } }

/* A clear, quiet coming-soon state for private villas. */
#stay-types .stay-type:disabled { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 8px; opacity:1; color:var(--muted); cursor:default; border-color:transparent; background:transparent; }
#stay-types .stay-type:disabled>span:first-child { white-space:nowrap; }
#stay-types .stay-type:disabled .category-status { font-size:11px; }
@media(max-width:700px) {
 #stay-types .stay-type:disabled { flex-direction:column; gap:2px; padding-block:8px; }
}
