/* Tiệm Hoa 98 — luxury navy and champagne identity. */
:root {
  --nm-pink: #153f66;
  --nm-green: #081e33;
  --nm-text: #586675;
  --nm-border: #dce5ec;
  --nm-blush: #f3f7fa;
  --nm-gold: #b89352;
  --primary-color: #153f66;
  --fs-color-primary: #153f66;
  --fs-color-secondary: #b89352;
}

body.nm-site {
  color: var(--nm-text);
  background: #fff;
}

.nm-site a:focus-visible,
.nm-site button:focus-visible,
.nm-site summary:focus-visible,
.nm-site input:focus-visible,
.nm-site textarea:focus-visible {
  outline-color: var(--nm-gold);
}

.nm-topbar {
  color: #dbe5ec;
  background: #071b2e;
  border-bottom-color: #173149;
}
.nm-topbar span,
.nm-topbar a,
.nm-topbar svg { color: #dbe5ec; }

.nm-header {
  box-shadow: 0 10px 35px rgba(8, 30, 51, .06);
}
.nm-header .nm-logo-initial {
  color: var(--nm-gold);
  background: #fcfaf5;
  border-color: #d7bd8c;
  letter-spacing: -.04em;
  padding-right: 0;
  font-weight: 700;
}
.nm-header .nm-wordmark > small {
  color: var(--nm-gold);
  letter-spacing: .16em;
}
.nm-header .nm-wordmark > strong { color: #081e33; }
.nm-header .nm-search {
  background: #f8fafc;
  border-color: #d7e1e9;
}
.nm-search button {
  background: #153f66;
  box-shadow: 0 8px 18px rgba(21, 63, 102, .18);
}
.nm-header .nm-header-contacts > a {
  color: #153f66;
  border-color: #d6e1e9;
}
.nm-header .nm-header-contacts > a:not(.nm-header-zalo) svg { color: var(--nm-gold); }
.nm-navband {
  background: #f4f7fa;
  border-color: #e1e8ee;
}
.nm-nav a[aria-current] { color: #153f66; }
.nm-nav a[aria-current]:after { background: var(--nm-gold); }

.nm-hero { background: #f2f6f9; }
.nm-hero-art:after { background: linear-gradient(90deg, #f2f6f9 0%, rgba(242,246,249,.88) 13%, transparent 38%); }
.nm-hero-copy .nm-overline,
.nm-section-title > p { color: var(--nm-gold); }
.nm-home .nm-hero h1 { color: #081e33; }
.nm-section-title h2:after { background: var(--nm-gold); }
.nm-button {
  background: #153f66;
  border-color: #153f66;
  box-shadow: 0 10px 24px rgba(21, 63, 102, .13);
}
.nm-button:hover { background: #0d2f50; }
.nm-button.nm-outline {
  color: #153f66 !important;
  background: transparent;
}
.nm-button.nm-outline:hover { background: #eaf0f5; }

.nm-usp-grid > div > span,
.nm-step-grid > div > span {
  color: var(--nm-gold);
  background: #fbf8f1;
  border-color: #e7d8bc;
}
.nm-category:hover,
.nm-product-card:hover { border-color: #cdb17f; }
.nm-category > span { color: #9a7335; }
.nm-card-price,
.nm-card-price .amount { color: #153f66; }
.nm-card-actions > a:first-child { background: #153f66; }

.nm-consult {
  background: linear-gradient(120deg, #071b2e 0%, #0d304f 100%);
  border-block: 1px solid #1c4261;
}
.nm-consult p { color: #c6d3dd; }
.nm-consult .nm-button:not(.nm-white) {
  color: #081e33 !important;
  background: #d0ae6c;
  border-color: #d0ae6c;
}

.nm-footer {
  color: #c2ced8;
  background: #071b2e;
  border-top-color: #173149;
}
.nm-footer h2,
.nm-footer .nm-logo strong { color: #fff; }
.nm-footer .nm-logo small,
.nm-footer .nm-logo-initial { color: #d0ae6c; }
.nm-footer .nm-logo-initial {
  border-color: #8f7446;
  background: rgba(255,255,255,.03);
}
.nm-footer p,
.nm-footer-grid > div > a:not(.nm-logo),
.nm-footer-bottom,
.nm-footer-bottom a,
.nm-footer .nm-contact-line small { color: #b9c6d0; }
.nm-footer .nm-footer-social,
.nm-footer .nm-contact-line strong { color: #e0bf7d !important; }
.nm-footer .nm-contact-line > svg {
  color: #d0ae6c;
  border-color: #365066;
}
.nm-footer-bottom { border-top-color: #263e52; }

.nm-floating > a:first-child,
.nm-mobile-bar a:first-child {
  background: #153f66;
  border-color: #dbe5ec;
}
.nm-site .single_add_to_cart_button,
.nm-site .button.checkout,
.nm-site .checkout-button,
.nm-site #place_order { background: #153f66 !important; }
.nm-detail-price,
.nm-detail-price .amount,
.nm-ux-product-summary .product-price-container .price,
.nm-ux-product-summary .product-price-container .amount { color: #153f66; }
.nm-product-tabs .product-tabs > li.active > a {
  color: #153f66;
  border-bottom-color: var(--nm-gold);
}
.nm-ux-product-note,
.nm-greeting,
.ntr-contact-panel {
  background: #f7fafc;
  border-color: #dce5ec;
}
.nm-ux-support-grid h3:before { color: var(--nm-gold); }

@media (max-width: 740px) {
  .nm-mobile-nav nav {
    border-bottom-color: #dce5ec;
    box-shadow: 0 16px 30px rgba(8,30,51,.12);
  }
}

/* Palette harmonization v2: one restrained navy/champagne system everywhere. */
:root {
  --nm-navy-950: #091f33;
  --nm-navy-800: #123b5d;
  --nm-navy-700: #1b4b70;
  --nm-champagne: #c4a161;
  --nm-champagne-dark: #9d793c;
  --nm-ivory: #fbf9f4;
  --nm-mist: #f4f7f9;
  --nm-pink: var(--nm-navy-800);
  --nm-green: var(--nm-navy-950);
  --nm-text: #566471;
  --nm-border: #d9e2e9;
  --nm-blush: var(--nm-mist);
  --nm-gold: var(--nm-champagne);
  --primary-color: var(--nm-navy-800);
  --fs-color-primary: var(--nm-navy-800);
  --fs-color-secondary: var(--nm-champagne);
}

/* Header and navigation. */
.nm-topbar {
  background: var(--nm-navy-950);
  border-color: #1c3850;
}
.nm-header { border-bottom: 0; }
.nm-header .nm-logo-initial {
  color: var(--nm-champagne);
  background: var(--nm-ivory);
  border-color: #d8bd89;
}
.nm-header .nm-wordmark > small { color: var(--nm-champagne-dark); }
.nm-header .nm-wordmark > strong { color: var(--nm-navy-950); }
.nm-header .nm-search {
  background: #f8fafb;
  border-color: #d9e2e9;
}
.nm-header .nm-search:focus-within {
  background: #fff;
  border-color: #9eb3c3;
  box-shadow: 0 0 0 3px rgba(18,59,93,.08);
}
.nm-header .nm-search button {
  color: #fff;
  background: var(--nm-navy-800);
}
.nm-header .nm-header-contacts > a,
.nm-header .nm-header-contacts .nm-header-zalo {
  color: var(--nm-navy-800);
  background: #fff;
  border-color: #cdd9e2;
}
.nm-header .nm-header-contacts > a:hover,
.nm-header .nm-header-contacts .nm-header-zalo:hover {
  color: #fff;
  background: var(--nm-navy-800);
  border-color: var(--nm-navy-800);
}
.nm-header .nm-header-contacts > a svg { color: var(--nm-champagne); }
.nm-header .nm-header-contacts > a:hover small,
.nm-header .nm-header-contacts > a:hover svg { color: #f2dfb8; }
.nm-navband {
  background: #f5f7f9;
  border-color: #dfe6eb;
}
.nm-nav a { color: #243746; }
.nm-nav a:hover,
.nm-nav a[aria-current] { color: var(--nm-navy-800); }
.nm-nav a[aria-current]:after { background: var(--nm-champagne); }

/* Shared buttons and form states. */
.nm-button {
  color: #fff !important;
  background: var(--nm-navy-800);
  border-color: var(--nm-navy-800);
  box-shadow: none;
}
.nm-button:hover {
  color: #fff !important;
  background: var(--nm-navy-950);
  border-color: var(--nm-navy-950);
}
.nm-button.nm-outline {
  color: var(--nm-navy-800) !important;
  background: #fff;
  border-color: #9db1c0;
}
.nm-button.nm-outline:hover {
  color: var(--nm-navy-950) !important;
  background: var(--nm-ivory);
  border-color: var(--nm-champagne);
}
.nm-site input:focus,
.nm-site select:focus,
.nm-site textarea:focus {
  border-color: #9eb3c3;
  box-shadow: 0 0 0 3px rgba(18,59,93,.08);
}

/* Homepage surfaces, cards and category styles. */
.nm-hero { background: var(--nm-mist); }
.nm-hero-art:after {
  background: linear-gradient(90deg, var(--nm-mist) 0%, rgba(244,247,249,.9) 15%, transparent 40%);
}
.nm-hero-copy .nm-overline,
.nm-section-title > p { color: var(--nm-champagne-dark); }
.nm-home .nm-hero h1,
.nm-section-title h2 { color: var(--nm-navy-950); }
.nm-section-title h2:after { background: var(--nm-champagne); }
.nm-usp-grid > div > span,
.nm-step-grid > div > span {
  color: var(--nm-champagne-dark);
  background: var(--nm-ivory);
  border-color: #e5d3b2;
}
.nm-category,
.nm-product-card,
.nm-category-style-minimal .nm-category-media,
.nm-product-style-minimal .nm-card-photo {
  border-color: var(--nm-border);
}
.nm-category:hover,
.nm-product-card:hover,
.nm-category-style-minimal .nm-auto-category:hover .nm-category-media,
.nm-product-style-minimal .nm-product-card:hover .nm-card-photo {
  border-color: #c7aa72;
  box-shadow: 0 13px 34px rgba(9,31,51,.09);
}
.nm-category > span,
.nm-auto-category .nm-category-content > span,
.nm-card-category a { color: var(--nm-champagne-dark); }
.nm-product-style-shadow .nm-product-card {
  box-shadow: 0 12px 34px rgba(9,31,51,.09);
}
.nm-product-style-soft .nm-product-card {
  background: var(--nm-ivory);
  border-color: #e8ddc8;
}
.nm-category-style-overlay .nm-auto-category { background: var(--nm-navy-950); }
.nm-category-style-overlay .nm-category-media:after {
  background: linear-gradient(180deg, transparent 28%, rgba(9,31,51,.94) 100%);
}
.nm-category-style-overlay .nm-category-no-image .nm-category-content {
  background: linear-gradient(145deg, var(--nm-navy-950), var(--nm-navy-700));
}
.nm-card-price,
.nm-card-price .amount { color: var(--nm-navy-800); }

/* Product-card contact buttons use the same palette as product detail. */
.nm-card-actions > a,
.nm-card-actions > a.nm-card-phone {
  color: #fff !important;
  background: var(--nm-navy-800) !important;
  border-color: var(--nm-navy-800) !important;
}
.nm-card-actions > a.nm-card-zalo,
.nm-card-actions > a.nm-card-facebook,
.nm-card-actions > a:last-child {
  color: var(--nm-navy-800) !important;
  background: #fff !important;
  border-color: #aebfcb !important;
}
.nm-card-actions > a:hover {
  color: var(--nm-navy-950) !important;
  background: #ead9b7 !important;
  border-color: var(--nm-champagne) !important;
}

/* Homepage contact strip: gold primary, quiet ivory secondary actions. */
.nm-consult {
  background: linear-gradient(118deg, var(--nm-navy-950), #123b5d);
  border-color: #264b68;
}
.nm-consult h2 { color: #fff; }
.nm-consult p { color: #cfdae2; }
.nm-consult .nm-consult-actions .nm-button:not(.nm-white):not(.nm-facebook) {
  color: var(--nm-navy-950) !important;
  background: #d2b477;
  border-color: #d2b477;
}
.nm-consult .nm-consult-actions .nm-button.nm-white,
.nm-consult .nm-consult-actions .nm-button.nm-facebook {
  color: #fff !important;
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.62);
}
.nm-consult .nm-consult-actions .nm-button:hover {
  color: var(--nm-navy-950) !important;
  background: #fff;
  border-color: #fff;
}

/* Product detail: readable primary CTA and coordinated secondary actions. */
.nm-ux-product-gallery .woocommerce-product-gallery__wrapper,
.nm-ux-support-box,
.nm-product-tabs {
  border-color: var(--nm-border);
  box-shadow: 0 12px 35px rgba(9,31,51,.045);
}
.nm-ux-product-summary .product-title-container h1,
.nm-ux-support-grid h3 { color: var(--nm-navy-950); }
.nm-ux-product-summary .product-price-container .price,
.nm-ux-product-summary .product-price-container .amount,
.nm-detail-price,
.nm-detail-price .amount { color: var(--nm-navy-800); }
.nm-ux-product-summary .star-rating,
.nm-ux-product-summary .star-rating span:before { color: var(--nm-champagne-dark); }
.nm-ux-product-note {
  color: #536572;
  background: #f4f7f9;
  border-color: #d5e0e8;
}
.nm-ux-product-summary .single_add_to_cart_button,
.nm-site .single_add_to_cart_button,
.nm-site .button.checkout,
.nm-site .checkout-button,
.nm-site #place_order {
  color: #fff !important;
  background: var(--nm-navy-800) !important;
  border-color: var(--nm-navy-800) !important;
}
.nm-ux-contact-row .button {
  color: #fff !important;
  background: var(--nm-navy-800) !important;
  border-color: var(--nm-navy-800) !important;
  box-shadow: none !important;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.nm-ux-contact-row .button.nm-ux-zalo,
.nm-ux-contact-row .button.nm-ux-facebook {
  color: var(--nm-navy-800) !important;
  background: #fff !important;
  border-color: #aabcc9 !important;
}
.nm-ux-contact-row .button:hover,
.nm-ux-contact-row .button.nm-ux-zalo:hover,
.nm-ux-contact-row .button.nm-ux-facebook:hover {
  color: var(--nm-navy-950) !important;
  background: #ead9b7 !important;
  border-color: var(--nm-champagne) !important;
}
.nm-ux-support-box {
  background: #fbfcfd;
  border-color: #d6e0e7;
}
.nm-ux-support-title { color: #7c6842; }
.nm-ux-support-grid h3:before { color: var(--nm-champagne-dark); }
.nm-ux-support-grid p,
.nm-ux-season-note { color: #697580; }
.nm-product-tabs .product-tabs > li.active > a {
  color: var(--nm-navy-800);
  border-bottom-color: var(--nm-champagne);
}

/* Non-block product layout contact buttons. */
.nm-product-contact-buttons > a {
  color: #fff !important;
  background: var(--nm-navy-800);
  border-color: var(--nm-navy-800);
}
.nm-product-contact-buttons > a small { color: #d5e0e7; }
.nm-product-contact-buttons > a svg { color: #e1c78f; }
.nm-product-contact-buttons > a.nm-zalo,
.nm-product-contact-buttons > a.nm-facebook-contact {
  color: var(--nm-navy-800) !important;
  background: #fff;
  border-color: #aabcc9;
}
.nm-product-contact-buttons > a.nm-zalo small,
.nm-product-contact-buttons > a.nm-facebook-contact small { color: #718493; }
.nm-product-contact-buttons > a:hover {
  color: var(--nm-navy-950) !important;
  background: #ead9b7;
  border-color: var(--nm-champagne);
}

/* Footer, floating actions and mobile action bar. */
.nm-footer { background: var(--nm-navy-950); }
.nm-footer .nm-footer-social,
.nm-footer .nm-contact-line strong { color: #dec187 !important; }
.nm-floating > a,
.nm-floating > a:first-child {
  color: #fff;
  background: var(--nm-navy-800);
  border-color: #e1e8ed;
}
.nm-floating > a:last-child {
  color: var(--nm-navy-800);
  background: #fff;
  border-color: #b8c6d0;
}

@media (max-width: 900px) {
  .nm-hero-art:after {
    background: linear-gradient(90deg, var(--nm-mist), rgba(244,247,249,.58) 48%, rgba(244,247,249,.14));
  }
}

@media (max-width: 640px) {
  .nm-hero { background: var(--nm-mist); }
  .nm-hero-art:after {
    background: linear-gradient(0deg, var(--nm-mist), rgba(244,247,249,.15));
  }
  .nm-mobile-bar {
    background: #fff;
    border-top-color: #d5dfe6;
    box-shadow: 0 -7px 24px rgba(9,31,51,.1);
  }
  .nm-mobile-bar > a:first-child {
    color: #fff;
    background: var(--nm-navy-800);
  }
  .nm-mobile-bar > a:last-child {
    color: var(--nm-navy-800);
    background: #fff;
  }
}

/* Emerald theme v3: deep botanical green with restrained champagne accents. */
:root {
  --nm-navy-950: #0c2f23;
  --nm-navy-800: #176247;
  --nm-navy-700: #24785a;
  --nm-champagne: #c4a261;
  --nm-champagne-dark: #967438;
  --nm-ivory: #fbfaf5;
  --nm-mist: #f2f7f3;
  --nm-pink: #176247;
  --nm-green: #0c2f23;
  --nm-text: #53645c;
  --nm-border: #d7e3dc;
  --nm-blush: #f2f7f3;
  --nm-gold: #c4a261;
  --primary-color: #176247;
  --fs-color-primary: #176247;
  --fs-color-secondary: #c4a261;
}

body.nm-site { color: #53645c; }
.nm-topbar {
  background: #0c2f23;
  border-color: #24503f;
}
.nm-header {
  box-shadow: 0 10px 35px rgba(12,47,35,.07);
}
.nm-header .nm-search {
  background: #f7faf8;
  border-color: #d5e2da;
}
.nm-header .nm-search:focus-within,
.nm-site input:focus,
.nm-site select:focus,
.nm-site textarea:focus {
  border-color: #91b3a3;
  box-shadow: 0 0 0 3px rgba(23,98,71,.1);
}
.nm-header .nm-header-contacts > a,
.nm-header .nm-header-contacts .nm-header-zalo {
  border-color: #cadbd2;
}
.nm-navband {
  background: #f3f7f4;
  border-color: #dce7e1;
}
.nm-nav a { color: #263a31; }

.nm-hero { background: #f2f7f3; }
.nm-hero-art:after {
  background: linear-gradient(90deg, #f2f7f3 0%, rgba(242,247,243,.9) 15%, transparent 40%);
}
.nm-category:hover,
.nm-product-card:hover,
.nm-category-style-minimal .nm-auto-category:hover .nm-category-media,
.nm-product-style-minimal .nm-product-card:hover .nm-card-photo {
  box-shadow: 0 13px 34px rgba(12,47,35,.1);
}
.nm-product-style-shadow .nm-product-card {
  box-shadow: 0 12px 34px rgba(12,47,35,.09);
}
.nm-product-style-soft .nm-product-card {
  background: #fbfaf5;
  border-color: #e5dcc9;
}
.nm-consult {
  background: linear-gradient(118deg, #0c2f23, #176247);
  border-color: #32634f;
}
.nm-ux-product-gallery .woocommerce-product-gallery__wrapper,
.nm-ux-support-box,
.nm-product-tabs {
  box-shadow: 0 12px 35px rgba(12,47,35,.05);
}
.nm-ux-product-note {
  color: #53645c;
  background: #f3f7f4;
  border-color: #d4e2da;
}
.nm-ux-support-box {
  background: #fcfdfc;
  border-color: #d5e2da;
}
.nm-footer {
  background: #0c2f23;
  border-color: #254f3f;
}
.nm-footer-bottom { border-top-color: #315747; }
.nm-floating > a,
.nm-mobile-bar > a:first-child {
  background: #176247;
}

@media (max-width: 900px) {
  .nm-hero-art:after {
    background: linear-gradient(90deg, #f2f7f3, rgba(242,247,243,.58) 48%, rgba(242,247,243,.14));
  }
}

@media (max-width: 640px) {
  .nm-hero { background: #f2f7f3; }
  .nm-hero-art:after {
    background: linear-gradient(0deg, #f2f7f3, rgba(242,247,243,.15));
  }
  .nm-mobile-bar {
    border-top-color: #d2e0d8;
    box-shadow: 0 -7px 24px rgba(12,47,35,.1);
  }
}
