/* HAI YEN / IVORY & GOLD / 2026-10-26 — đã tích hợp vào theme haiyen-luxury 1.6.0 (assets/ivory/).
   Bản gốc: output/hai-yen-style-decor-2026-10-26/05-css. Sửa ở đây, ghi chú lý do ngay tại chỗ sửa.
   Load AFTER the existing theme.css; add class="hy-ivory" to <body>.
   All bitmap photographs remain the existing <img> sources. Decor is separate.
   Relative paths require folders 01–04 adjacent to this 05-css folder. */
body.hy-ivory {
  --black:#11110e; --ink:#171610; --espresso:#292217;
  --gold-light:#f5d582; --gold:#d6a747; --bronze:#b97a20; --bronze-dark:#8b5d19;
  --ivory:#fcf9f2; --cream:#f7f2e9; --beige:#e4cba0; --line:#e9dfce;
  --text:#34332d; --muted:#625e55; --on-dark:#f8f4e9; --on-dark-muted:#d0c6b4;
  --gold-grad:linear-gradient(120deg,#ffe3a0 0%,#efbd58 58%,#d9a137 100%);
  --gold-grad-hover:linear-gradient(120deg,#ffebba 0%,#f1c76e 58%,#e0ac48 100%);
  --radius:3px; --radius-lg:4px;
  --shadow-sm:0 2px 12px rgba(71,52,25,.035);
  --shadow:0 9px 25px rgba(71,52,25,.09);
  --section-y:clamp(42px,5vw,76px);
  background:var(--ivory); color:var(--text);
}
.hy-ivory :is(h1,h2,h3,h4) { font-weight:500; }
.hy-ivory .icon { color:var(--bronze); stroke-width:1.25; }
.hy-ivory .icon--sm { stroke-width:1.6; }
.hy-ivory .text-gold { color:var(--bronze); }
.hy-ivory .eyebrow { font-size:10px; letter-spacing:.28em; color:var(--bronze-dark); }
.hy-ivory .section-title { line-height:1.15; }
.hy-ivory .section-head__num { color:#cfa257; }
.hy-ivory .signature,.hy-ivory .script { font-family:var(--font-display); font-style:italic; transform:none; letter-spacing:0; }
.hy-ivory .section { position:relative; }
/* Chữ ký nằm trên ảnh món ăn ở trang chủ: chữ kem sáng để đọc được trên nền ảnh nhiều màu. */
.hy-ivory .dining-banner__signature { color:#fff6dc; }
.hy-ivory .section--cream { background:#f7f3eb; }
.hy-ivory .section--dark { background:var(--cream); color:var(--text); }
.hy-ivory .section--dark :is(.section-title,.feature-list strong,.icon-row__item strong) { color:var(--ink); }
.hy-ivory .section--dark :is(.section-text,.feature-list span,.icon-row__item span) { color:var(--muted); }
.hy-ivory .section--dark :is(.eyebrow,.text-gold,.icon,.link-arrow) { color:var(--bronze-dark); }
.hy-ivory .section--dark .btn--outline { color:var(--ink); background:transparent; }

/* Header / navigation / language switch */
.hy-ivory .site-header { background:#11110e url('../02-nen-va-lop-phu/hai-yen-nen-den-am-header.svg') center/cover; border-bottom-color:#af863e; }
/* Chỉ menu ngang trên máy tính; menu gập (≤1140px) giữ cỡ chữ lớn của theme. */
@media (min-width:1141px) {
 .hy-ivory .main-nav__list a { font-size:13px; letter-spacing:0; }
 .hy-ivory .main-nav__list a::after { height:1px; }
}
.hy-ivory .lang-switch { border-color:#725c32; }
.hy-ivory .main-nav__list a:is(:hover,[aria-current]) { color:var(--gold-light); }

/* Buttons are live HTML, never flattened into an image. */
.hy-ivory .btn { min-height:44px; padding:12px 23px; border-color:#e1b965; border-radius:3px; font-size:11px; letter-spacing:.065em; box-shadow:none; }
.hy-ivory .btn:hover { box-shadow:0 3px 9px #ae7e2022; transform:none; }
.hy-ivory .btn .icon { color:currentColor; }
.hy-ivory .btn--outline-dark { border-color:#bfa477; background:transparent; }
.hy-ivory .btn--outline { background:transparent; color:var(--ivory); border-color:#d7b677; }
.hy-ivory .btn--outline .icon { color:currentColor; }
.hy-ivory :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid #8b5d19; outline-offset:4px; }
.hy-ivory :is(.site-header,.site-footer,.cta-band) :is(a,button):focus-visible { outline-color:#f5d582; }
.hy-ivory .btn[disabled] { opacity:.5; cursor:not-allowed; }

/* Hero: cream text area + unchanged photo, independent diagonal panel. */
.hy-ivory .hero { background:var(--ivory); color:var(--text); min-height:clamp(460px,38vw,620px); }
.hy-ivory .hero__media { left:38%; }
.hy-ivory .hero::before { inset:0 auto 0 0; width:49%; background:url('../02-nen-va-lop-phu/hai-yen-panel-hero-kem-la-vong-cung.svg') left center/100% 100% no-repeat; }
.hy-ivory .hero__content { padding-block:58px; padding-left:84px; }
.hy-ivory .hero__content > *,.hy-ivory .hero__content > .hero__title { max-width:39%; }
.hy-ivory .hero__title { color:var(--ink); font-size:clamp(40px,4.5vw,70px); line-height:1.03; }
.hy-ivory .hero__title .text-gold { color:var(--bronze); font-style:italic; }
.hy-ivory .hero__subtitle { position:relative; padding-top:20px; font-family:var(--font-body); font-size:14px; font-weight:400; line-height:1.7; color:var(--text); }
.hy-ivory .hero__subtitle::before { content:''; position:absolute; top:0; left:0; width:38px; height:1px; background:#c99c54; }
.hy-ivory .hero__text { color:var(--muted); font-size:14px; }
.hy-ivory .hero .btn-row { gap:10px; margin-top:22px; }
.hy-ivory .hero .btn--outline { color:var(--ink); border-color:#bfa477; background:transparent; }
.hy-ivory .hero .breadcrumb li,.hy-ivory .hero .breadcrumb a { color:var(--text); }
.hy-ivory .hero .breadcrumb [aria-current] { color:var(--bronze-dark); }
.hy-ivory .hero__signature,.hy-ivory .hero__caption { color:#fffdf8; text-shadow:0 2px 10px #000; }
.hy-ivory .hero--compact { min-height:360px; }
.hy-ivory .hero--compact .hero__title { font-size:clamp(36px,4.2vw,64px); }

/* Statistics */
.hy-ivory :is(.stats,.feature-strip) { background:linear-gradient(110deg,#faf7f0,#fffcf7); border-color:#eee5d8; }
.hy-ivory :is(.stat,.feature-strip__item) { align-items:center; }
.hy-ivory :is(.stat + .stat,.feature-strip__item + .feature-strip__item) { border-color:#dfc497; }
.hy-ivory .stat__head { display:grid; gap:8px; }
.hy-ivory .stat__num { color:var(--bronze); font-size:52px; font-weight:400; }
.hy-ivory .stat__label { font-family:var(--font-body); font-size:13px; letter-spacing:.07em; text-transform:uppercase; }

/* Story, reason cards, services and philosophy */
.hy-ivory .story__signature .signature { color:var(--bronze-dark); font-size:26px; }
.hy-ivory .story__rule { flex-basis:44px; }
.hy-ivory .why { grid-template-columns:1fr; gap:28px; }
.hy-ivory .section:has(.why) { background:url('../01-la-va-duong-net/hai-yen-vong-cung-doi-mep-trai.svg') left top/160px auto no-repeat,url('../01-la-va-duong-net/hai-yen-la-net-vang-canh-phai.svg') right top/130px auto no-repeat; }
.hy-ivory .why__grid { gap:18px; }
.hy-ivory .why__grid li { background:#fffcf6; border:1px solid var(--line); padding:26px 20px; border-radius:3px; }
.hy-ivory .philosophy { background:#fffcf6; border-color:var(--line); }
.hy-ivory .philosophy__body { background:url('../01-la-va-duong-net/hai-yen-la-net-vang-goc-duoi-phai.svg') right bottom/190px auto no-repeat; }
.hy-ivory .philosophy__leaf,.hy-ivory .flowers { display:none; }
.hy-ivory .philosophy__signature { color:var(--bronze-dark); }
.hy-ivory #dich-vu,.hy-ivory .section--flowers { background:url('../01-la-va-duong-net/hai-yen-la-net-vang-canh-trai.svg') left top/135px auto no-repeat,url('../01-la-va-duong-net/hai-yen-la-net-vang-canh-phai.svg') right top/135px auto no-repeat,#fcf9f2; }
.hy-ivory #dich-vu .card__body { text-align:center; align-items:center; }
.hy-ivory #dich-vu .card__body::before { content:''; display:block; width:42px; height:42px; background:center/contain no-repeat; }
.hy-ivory #dich-vu .card:nth-child(1) .card__body::before { background-image:url('../04-icons/hai-yen-icon-giuong-ngu.svg'); }
.hy-ivory #dich-vu .card:nth-child(2) .card__body::before { background-image:url('../04-icons/hai-yen-icon-nhan-cuoi.svg'); }
.hy-ivory #dich-vu .card:nth-child(3) .card__body::before { background-image:url('../04-icons/hai-yen-icon-ly-cocktail-luxury-bar.svg'); }
.hy-ivory #dich-vu .card:nth-child(4) .card__body::before { background-image:url('../04-icons/hai-yen-icon-hoa-sen-spa.svg'); }
.hy-ivory #dich-vu .card__body .link-arrow { background:var(--gold-grad); border:1px solid #e1b965; border-radius:3px; padding:10px 14px; color:var(--ink); font-size:10px; letter-spacing:.05em; }
.hy-ivory :is(.card,.room-card,.amenity-card,.feature-card,.explore-tile,.contact-card,.booking-panel,.booking-page__form,.faq__item) { border-color:var(--line); border-radius:3px; background:#fffcf7; box-shadow:var(--shadow-sm); }
.hy-ivory :is(.card,.room-card,.explore-tile):hover { transform:none; box-shadow:var(--shadow); border-color:#d6b77f; }
.hy-ivory .media-frame { border-radius:2px; box-shadow:none; }
.hy-ivory .card__media,.hy-ivory .room-card__media { background:#eee8dc; }
.hy-ivory .silk-band { background:#f6f0e5; color:var(--text); border-block:1px solid var(--line); }
.hy-ivory .silk-band::before { background:none; }
.hy-ivory .silk-band :is(.silk-band__title,.icon-row__item strong) { color:var(--ink); }
.hy-ivory .silk-band :is(.icon-row__item span,.icon-row__item .icon) { color:var(--bronze-dark); }
.hy-ivory .filter-tabs button { min-height:44px; border-radius:3px; box-shadow:none; background:#fffcf7; }
.hy-ivory .filter-tabs button[aria-pressed='true'] { background:var(--gold-grad); border-color:#d6ad60; }
.hy-ivory :is(.gallery-main__stage,.gallery-thumb,.gallery-item img,.map) { border-radius:3px; }
.hy-ivory .gallery-main__stage { outline:1px solid var(--line); outline-offset:3px; }
.hy-ivory .gallery-main__count { border-radius:3px; background:#14110cdc; }
.hy-ivory .gallery-main__thumbs :is(a,button):focus-visible { outline-color:#8b5d19; }
.hy-ivory .lightbox__btn { border-color:#d6b77f; color:#f5d582; }
.hy-ivory .lightbox__btn .icon { color:currentColor; }

/* Forms / date fields / guest count / consultation / FAQ. */
.hy-ivory :is(.contact-card,.booking-page__form) { background:#fffcf7 url('../01-la-va-duong-net/hai-yen-la-net-vang-goc-duoi-phai.svg') right bottom/155px auto no-repeat; }
.hy-ivory :is(.contact-form,.booking-form) :is(input,select,textarea) { background-color:#fffefa; border-color:#d8c7a9; border-radius:3px; color:var(--ink); }
.hy-ivory :is(.contact-form,.booking-form) :is(input,textarea)::placeholder { color:#746b5e; }
.hy-ivory :is(.contact-form,.booking-form) :is(input,select,textarea):focus { border-color:#9c702b; box-shadow:0 0 0 3px #c99c5429; }
.hy-ivory :is(.contact-form,.booking-form) :is(input,select,textarea)[aria-invalid='true'] { border-color:#a22c25; }
.hy-ivory .booking-form label { color:#815818; }
.hy-ivory .booking-bar { border:1px solid #dcc8a4; border-radius:3px; box-shadow:0 8px 22px #49351a10; background:#fffcf6; }
.hy-ivory .booking-bar-wrap { margin-top:0; margin-bottom:0; padding-block:16px; background:#f8f3ea; }
.hy-ivory .booking-bar__field :is(input,select) { font-family:var(--font-body); font-size:15px; font-weight:400; }
.hy-ivory .booking-form__summary { background:#f9f0df; border:1px solid #e0c9a1; border-radius:3px; }
.hy-ivory .stepper { background:#fffefa; border-color:#d8c7a9; border-radius:3px; }
.hy-ivory .stepper__btn { background:#f4e7cc; color:#654613; min-width:44px; min-height:44px; }
.hy-ivory .contact-list__icon { background:transparent; border:1px solid #dbc295; }
.hy-ivory .faq__item[open] { border-color:#c9a46a; }
.hy-ivory .faq__item summary { min-height:48px; }
.hy-ivory .process__num { background:#fcf7ed; color:#a57021; border:1px solid #d9bc88; }
.hy-ivory .timeline { border-left:1px solid #d9bc88; }
.hy-ivory .explore-tile__icon { background:#fffcf7; border-color:#d9bc88; }

/* Dark photographic bands use a separate overlay, never a photo filter. */
.hy-ivory .cta-band::before { background:url('../02-nen-va-lop-phu/hai-yen-lop-phu-den-am-triet-ly.svg') center/100% 100%; }
.hy-ivory :is(.cta-band,.dining-banner) :is(.text-gold,.icon,.eyebrow--light) { color:var(--gold-light); }
.hy-ivory .site-footer { background:#11110e url('../02-nen-va-lop-phu/hai-yen-nen-den-am-footer.svg') center/cover; color:var(--on-dark-muted); border-top-color:#cda24d; }
.hy-ivory .contact-strip { background:#19170f; border-top-color:#cda24d; }
.hy-ivory .site-footer__signature { color:var(--gold-light); }
.hy-ivory .site-footer .icon,.hy-ivory .contact-strip .icon { color:var(--gold-light); }
.hy-ivory .social a { width:36px; height:36px; border-color:#bc944b; }
.hy-ivory .mobile-bar { background:#14130e; border-top:1px solid #cda24d; }

@media (min-width:761px) and (max-width:1100px) {
 .hy-ivory .hero::before { width:54%; }
 .hy-ivory .hero__media { left:40%; }
 .hy-ivory .hero__content > *,.hy-ivory .hero__content > .hero__title { max-width:43%; }
 .hy-ivory .hero__title { font-size:48px; }
 .hy-ivory .hero .btn { padding:11px 14px; }
}
@media (max-width:760px) {
 .hy-ivory .hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; }
 .hy-ivory .hero__media { position:relative; inset:auto; z-index:0; order:2; aspect-ratio:16/10; width:100%; }
 .hy-ivory .hero__media img { position:absolute; inset:0; width:100%; height:100%; }
 .hy-ivory .hero::before { display:none; }
 .hy-ivory .hero__content { padding:32px var(--gutter); background:url('../01-la-va-duong-net/hai-yen-la-net-vang-canh-phai.svg') right bottom/90px auto no-repeat; }
 .hy-ivory .hero__content > *,.hy-ivory .hero__content > .hero__title { max-width:100%; }
 .hy-ivory .hero__title,.hy-ivory .hero--compact .hero__title { font-size:43px; }
 .hy-ivory .hero__subtitle,.hy-ivory .hero__text { max-width:calc(100% - 65px); }
 .hy-ivory .hero__signature,.hy-ivory .hero__caption { position:static; max-width:none; color:#8b5d19; text-shadow:none; margin-top:20px; font-size:25px; text-align:left; }
 .hy-ivory .why__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .hy-ivory .why__grid li { padding:20px 13px; }
 .hy-ivory .why { grid-template-columns:1fr; }
 .hy-ivory #dich-vu,.hy-ivory .section--flowers { background-size:65px auto,65px auto; }
 .hy-ivory .section:has(.why) { background-size:75px auto,65px auto; }
 .hy-ivory .contact-strip__item { padding-left:0; border-left:0; max-width:100%; }
 .hy-ivory .contact-strip__item :is(strong,small) { white-space:normal; overflow-wrap:anywhere; }
 .hy-ivory .philosophy__body { background-size:110px auto; }
 .hy-ivory .filter-tabs { gap:8px; }
 .hy-ivory .filter-tabs button { min-width:0; padding-inline:15px; }
 .hy-ivory :is(.stat,.feature-strip__item) { padding:20px 14px; }
 .hy-ivory .stat__num { font-size:42px; }
 .hy-ivory .booking-bar-wrap { padding-block:12px; }
}
@media (max-width:480px) {
 .hy-ivory .booking-form__grid,.hy-ivory .guest-row { grid-template-columns:1fr; }
 .hy-ivory .guest-field { display:grid; grid-template-columns:minmax(85px,.7fr) minmax(0,1.3fr); gap:10px; align-items:center; }
 .hy-ivory .guest-field label { margin:0; }
 .hy-ivory .stats__grid,.hy-ivory .feature-strip__grid { grid-template-columns:1fr; }
 .hy-ivory .stat + .stat,.hy-ivory .feature-strip__item + .feature-strip__item { border-left:0; border-top:1px solid var(--line); }
 .hy-ivory .hero__title,.hy-ivory .hero--compact .hero__title { font-size:38px; }
}
