/* Policy pages, Hệ thống cửa hàng, Danh sách yêu thích, the wishlist hearts and the footer booking card
   (the reference's page.css, page-wishlist.css and the stores rules of its theme.css). */

/* Breadcrumb bar (reference .section-breadcrumbs.bed-breadcrumbs) */
.section.s2-breadcrumbs { padding: 0 !important; background: var(--bed-mint-soft, #ebece4); border-bottom: 1px solid var(--bed-line, #e2d9cc); }
.section.s2-breadcrumbs .row, .section.s2-breadcrumbs .col, .section.s2-breadcrumbs .col-inner { padding-bottom: 0; margin-bottom: 0; }
.s2-breadcrumb { padding: 0.875rem 0; color: var(--bed-muted, #6c746e); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.5; }
.s2-breadcrumb p { margin: 0; font-size: inherit; line-height: inherit; }
.s2-breadcrumb span, .s2-breadcrumb a { font-size: inherit; }
.s2-breadcrumb a { color: var(--bed-muted, #6c746e); text-decoration: none; }
.s2-breadcrumb a:hover { color: var(--bed-deep, #8e4c35); }
.s2-breadcrumb .s2-breadcrumb__sep { margin: 0 0.625rem; color: var(--bed-line, #e2d9cc); }

/* Policy pages (reference .bed-page) */
.section.bed-page__hero { background: var(--bed-mint-soft, #ebece4); }
.bed-page__hero .spa-page-heading .spa-eyebrow-gold { display: inline-block; }
.bed-page__hero .spa-page-heading h1 { margin: 0.75rem 0 0; font-size: clamp(1.875rem, 3.5vw, 2.75rem); font-weight: 700; color: #1f1a17; line-height: 1.15; }
.section.bed-page__body { background: var(--bed-ivory, #fffdf9); }
.bed-page-richtext { width: 100%; max-width: 64rem; margin: 0 auto; color: var(--bed-text, #1f1a17); font-size: 1.0625rem; line-height: 1.85; }
.bed-page-richtext p { margin: 0 0 1rem; font-size: 0.9375rem; }
.bed-page-richtext ul { margin: 0 0 1rem; padding: 0; list-style: none; }
.bed-page-richtext li { margin: 0; font-size: 1.0625rem; line-height: 1.85; }
.bed-page-richtext h2 { margin: 2rem 0 0.75rem; font-family: var(--font-family-body, 'DM Sans', sans-serif); font-size: 0.9375rem; font-weight: 700; color: var(--bed-text, #1f1a17); letter-spacing: 0; }
.bed-page-richtext h2:first-child { margin-top: 0; }
.bed-page-richtext .s2-policy__methods span { display: block; }

/* Hệ thống cửa hàng (reference .spa-stores-*) */
.section.spa-stores-hero { background: #efeae1; border-bottom: 1px solid #e2d9cc; text-align: center; }
.spa-stores-hero__content .spa-eyebrow-gold { display: inline-block; }
.spa-stores-hero__title { font-family: var(--font-family-heading, 'EB Garamond', serif); font-size: clamp(1.625rem, 2.8vw, 2.25rem); color: #8e4c35; margin: 0.5rem 0 1rem; font-weight: 400; }
.spa-stores-hero__desc { max-width: 48rem; margin: 0 auto; font-size: 1.0625rem; color: #4b554e; line-height: 1.7; }
.section.spa-stores-main { background: var(--bed-ivory, #fffdf9); }
.col.spa-store-card > .col-inner { height: 100%; background: #fff; border: 1px solid #e2d9cc; border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(31, 26, 23, 0.06); padding: 2rem; }

.spa-store-card .img { margin: -2rem -2rem 1.5rem; width: calc(100% + 4rem) !important; }
.spa-store-card .img img { width: 100%; height: 280px; object-fit: cover; }
.spa-store-badge { display: inline-block; font-size: 0.75rem; font-weight: 700; color: #826424; letter-spacing: 0.1em; margin-bottom: 0.5rem; }
.spa-store-card h2 { font-family: var(--font-family-heading, 'EB Garamond', serif); font-size: 1.5rem; font-weight: 700; color: #8e4c35; margin: 0 0 0.75rem; }
.spa-store-card .spa-store-address { color: #4b554e; margin-bottom: 1.25rem; line-height: 1.6; }
.spa-store-card .spa-store-info { border-top: 1px dashed #e2d9cc; padding-top: 1rem; margin-bottom: 1.5rem; font-size: 0.875rem; color: #6c746e; display: flex; flex-direction: column; gap: 0.35rem; }
.spa-store-card .spa-store-info p { margin: 0; }
.spa-store-card .button.spa-btn { margin: 0 0.75rem 0 0; }
.spa-store-card .wpcf7 { margin-top: 0.5rem; }
.spa-store-card .spa-store-card__body { padding: 0; }
.spa-store-card--form .spa-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.spa-store-card--form .spa-form-group--full { grid-column: 1 / -1; }
.spa-store-card--form .wpcf7 input[type="submit"].spa-btn { width: 100%; min-height: 3rem; margin: 0; border-radius: 8px; background: #8e4c35; border: 1px solid #8e4c35; color: #fff; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
@media (max-width: 849px) {
  .col.spa-store-card > .col-inner { padding: 1.5rem 1.25rem; }
  .spa-store-card .img { margin: -1.5rem -1.25rem 1.25rem; width: calc(100% + 2.5rem) !important; }
  .spa-store-card .img img { height: 220px; }
  .spa-store-card .button.spa-btn { width: 100%; margin: 0 0 0.625rem; }
  .spa-store-card--form .spa-form-grid { grid-template-columns: 1fr; }
}

/* Danh sách yêu thích (reference page-wishlist.css) */
.section.bed-wishlist__hero { background: linear-gradient(135deg, var(--bed-mint-soft, #ebece4), var(--bed-ivory, #fffdf9)); }
.bed-wishlist__hero .spa-page-heading .spa-eyebrow-gold { display: inline-block; }
.section.bed-wishlist__main { background: var(--bed-ivory, #fffdf9); min-height: 40vh; }
.bed-wishlist__app .bed-wishlist__status p { margin: 0; color: var(--bed-muted, #6c746e); text-align: center; }
.bed-wishlist__app.is-empty .bed-wishlist__status, .bed-wishlist__app.is-grid .bed-wishlist__status { display: none; }
.bed-wishlist__app .bed-wishlist__empty-row { display: none; }
.bed-wishlist__app.is-empty .bed-wishlist__empty-row { display: flex; justify-content: center; }
.bed-wishlist__app .bed-wishlist__grid { display: none; }
.bed-wishlist__app.is-grid .bed-wishlist__grid { display: flex; }
.col.bed-wishlist__empty { max-width: 42rem; flex-basis: 42rem; }
.col.bed-wishlist__empty > .col-inner { padding: 4rem; border: 1px solid var(--bed-line, #e2d9cc); background: #fff; text-align: center; }
.col.bed-wishlist__empty > .col-inner::before { content: ''; display: block; width: 4rem; height: 4rem; margin: 0 auto 1.5rem; border-radius: 999px; background: var(--bed-mint-soft, #ebece4) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%238e4c35' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.3-9.2C1.5 8.2 3.4 4.5 7 4.5c2.1 0 3.6 1.2 5 3 1.4-1.8 2.9-3 5-3 3.6 0 5.5 3.7 4.3 6.8-1.8 4.6-9.3 9.2-9.3 9.2z'/%3E%3C/svg%3E") center / 26px no-repeat; }
.bed-wishlist__empty .bed-eyebrow { display: block; color: var(--bed-muted, #6c746e); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.bed-wishlist__empty h2 { margin: 0.75rem 0 0; color: var(--bed-deep, #8e4c35); font-family: var(--font-family-heading, 'EB Garamond', serif); font-weight: 400; font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1.2; letter-spacing: -0.01em; }
.bed-wishlist__empty p { margin: 1rem auto 0; color: var(--bed-muted, #6c746e); line-height: 1.7; }
.bed-wishlist__empty .button { margin: 2rem 0 0; }
@media (max-width: 767px) {
  .col.bed-wishlist__empty > .col-inner { padding: 2.5rem 1rem; }
}

/* Wishlist heart on product cards */
/* Flatsome's button rules (padding 0 1.2em, margin, min-height) would squeeze the icon out. */
button.spa-treatment-card__tool.s2-wishlist-toggle { margin: 0; padding: 0; min-height: 0; line-height: 1; font-size: inherit; letter-spacing: 0; text-transform: none; box-shadow: none; }
button.spa-treatment-card__tool.s2-wishlist-toggle svg { flex-shrink: 0; width: 18px; height: 18px; }
/* Saved: red heart, as the reference (rules in s2-home.css on [aria-pressed="true"]). */
.spa-treatment-card__tool.s2-wishlist-toggle[aria-pressed="true"] svg path { fill: currentColor; }
.s2-wishlist-toast { position: fixed; left: 50%; bottom: 1.5rem; z-index: 100000; transform: translate(-50%, 1rem); padding: 0.75rem 1.25rem; border-radius: 8px; background: #1f1a17; color: #fff; font-size: 0.875rem; opacity: 0; pointer-events: none; transition: opacity 0.2s ease, transform 0.2s ease; }
.s2-wishlist-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* Footer: booking card in place of the reference's Zalo QR card */
.spa-footer__zalo-card.spa-footer__booking-card { display: block; }
.spa-footer__booking-card a { display: inline-block; margin-top: 0.75rem; color: #c5a059; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.spa-footer__booking-card a:hover { color: #fff; }

/* Blog: link to the paginated category archive under the listing */
.spa-blog-listing .button.s2-blog-all { display: table; margin: 2.5rem auto 0; }

/* 2026-10-29 review-b: sizes from the reference CSS (theme.css h1/p defaults, page.css, page-wishlist.css, page-contact.css) */
/* Policy + wishlist heroes: h1 34 / 30 / 24 px (reference h1 defaults), eyebrow 12 px with 4 px under it */
.bed-page__hero .spa-page-heading .spa-eyebrow-gold,
.bed-wishlist__hero .spa-page-heading .spa-eyebrow-gold { display: inline-block; margin: 0 0 0.25rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15em; line-height: 1.5; color: #826424; text-transform: uppercase; }
.bed-page__hero .spa-page-heading h1,
.bed-wishlist__hero .spa-page-heading h1 { margin: 0 0 1rem; font-family: var(--font-family-heading); font-size: 1.5rem; font-weight: 700; line-height: 1.08; color: #1f1a17; }
.bed-page__hero .spa-page-heading > :last-child { margin-bottom: 1rem; }
.bed-wishlist__hero .spa-page-heading__description { margin: 0 0 1rem; font-size: 0.875rem; line-height: 1.6; }
@media (min-width: 768px) {
  .bed-page__hero .spa-page-heading h1, .bed-wishlist__hero .spa-page-heading h1 { font-size: 1.875rem; }
  .bed-wishlist__hero .spa-page-heading__description { font-size: 1rem; }
}
@media (min-width: 1024px) {
  .bed-page__hero .spa-page-heading h1, .bed-wishlist__hero .spa-page-heading h1 { font-size: 2.125rem; }
}
.section.bed-page__hero .col, .section.bed-page__body .col, .section.bed-wishlist__hero .col { padding-bottom: 0; }
.section.bed-page__hero .text, .section.bed-wishlist__hero .text { margin-bottom: 0; }

/* Policy body: p 16/25.6 (14 px under 768), list items 17/31.45, headings = bold paragraphs as the reference */
.bed-page-richtext p { margin: 0 0 1rem; font-size: 0.875rem; line-height: 1.6; }
.bed-page-richtext h2 { margin: 0 0 1rem; font-family: var(--font-family-body, 'DM Sans', sans-serif); font-size: 0.875rem; line-height: 1.6; font-weight: 700; letter-spacing: 0; color: var(--bed-text, #1f1a17); }
.bed-page-richtext h2.s2-gap { margin-top: calc(1.6em + 2.375rem); }
.bed-page-richtext ul { margin: 0; }
@media (min-width: 768px) {
  .bed-page-richtext p, .bed-page-richtext h2 { font-size: 1rem; }
}
.bed-page-richtext > :last-child { margin-bottom: 0; }

/* Wishlist empty card: 672 px centred, heart + line + label on one row */
.bed-wishlist__app.is-empty .bed-wishlist__empty-row { display: block; margin: 0; }
/* the nested row kept Flatsome's 1110 px max-width from the left edge: the card sat 148 px left of centre */
.row.bed-wishlist__empty-row { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.col.bed-wishlist__empty { width: 100%; max-width: 42rem; flex-basis: auto; margin: 0 auto; padding: 0; }
.col.bed-wishlist__empty > .col-inner { padding: clamp(2.5rem, 3.5vw, 3.75rem); }
.col.bed-wishlist__empty > .col-inner::before { content: none; }
.bed-wishlist__empty-text { margin: 0; }
.bed-wishlist__empty-text::before { content: ''; display: inline-block; width: 4rem; height: 4rem; margin: 0 0 1.5rem; vertical-align: -2.5rem; border-radius: 999px; background: var(--bed-mint-soft, #ebece4) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%238e4c35' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.3-9.2C1.5 8.2 3.4 4.5 7 4.5c2.1 0 3.6 1.2 5 3 1.4-1.8 2.9-3 5-3 3.6 0 5.5 3.7 4.3 6.8-1.8 4.6-9.3 9.2-9.3 9.2z'/%3E%3C/svg%3E") center / 32px no-repeat; }
.bed-wishlist__empty .bed-eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0; color: var(--bed-deep, #8e4c35); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase; white-space: nowrap; }
.bed-wishlist__empty .bed-eyebrow::before { content: ''; width: 1.75rem; height: 1px; background: currentColor; }
.bed-wishlist__empty h2 { margin: 0.75rem 0 0; }
.bed-wishlist__empty .button { margin: 2rem 0 0; }
@media (max-width: 767px) {
  .section.bed-wishlist__hero { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
  .col.bed-wishlist__empty > .col-inner { padding: 2.5rem 1rem; }
}

/* Liên hệ form: reference spacing (grid gap 24 px + group margin 20 px, label 12 px, top 40 px) and the select's chevron */
.spa-contact-form-panel .spa-form-grid { gap: 1.5rem; margin-top: 2.5rem; }
.spa-contact-form-panel .spa-form-group { margin: 0 0 1.25rem; }
.spa-contact-form-panel .spa-form-group:last-child { margin-bottom: 0; }
.spa-contact-form-panel .wpcf7 label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; }
.spa-contact-form-panel .wpcf7 label .wpcf7-form-control-wrap { margin-top: 0.875rem; }
.spa-contact-form-panel .wpcf7 select.spa-form-input { -webkit-appearance: none; appearance: none; padding-right: 2.75rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231f1a17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 1rem center / 12px no-repeat; text-overflow: ellipsis; }
/* CF7 puts its spinner after the full-width submit: it wrapped to a line of its own under the button */
.wpcf7 .spa-form-group--full .wpcf7-spinner { position: absolute; margin: 0.75rem 0 0 -2.5rem; }
.wpcf7 .spa-form-group--full p { position: relative; }
.spa-contact-form-panel .wpcf7 form, .spa-store-card--form .wpcf7 form { margin-bottom: 0; }

/* Breadcrumb band 48 px like .section-breadcrumbs (body line-height 1.6), every part 600 */
.s2-breadcrumb { line-height: 1.6; }
.s2-breadcrumb p, .s2-breadcrumb span, .s2-breadcrumb a { font-weight: 600; }

/* Collection long description (term meta s2_desc_html) as the reference: h2 = the block's big title,
   h3 the theme's bold heading, paragraphs 1.6 / 16 px apart, list without bullets */
.collection-template__description-content h2 { margin: 0 0 1rem; color: #8E4C35; font-family: var(--font-family-heading); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1.08; letter-spacing: 0; }
.collection-template__description-content h3 { margin: 0 0 1rem; color: inherit; font-family: var(--font-family-heading); font-size: 1.125rem; font-weight: 700; line-height: 1.25; }
.collection-template__description-content p { margin: 0 0 1rem; color: inherit; font-size: 0.875rem; line-height: 1.6; }
.collection-template__description-content ul { margin: 0 0 1rem; padding: 0; list-style: none; }
.collection-template__description-content li { margin: 0; list-style: none; color: inherit; font-size: inherit; line-height: 1.8; }
.collection-template__description-content > :last-child { margin-bottom: 0; }
@media (min-width: 768px) {
  .collection-template__description-content h3 { font-size: 1.25rem; }
  .collection-template__description-content p { font-size: 1rem; }
}
@media (min-width: 1024px) { .collection-template__description-content h3 { font-size: 1.5rem; } }

/* Header like the reference's .bed-megamenu: items 12 px apart + 5.6 px side padding, 0.04em tracking,
   12 px chevron, underline on hover, no colour for the current page */
.header-main .flex-left > .nav { gap: clamp(0.4rem, 0.8vw, 0.85rem); }
.header-main .header-nav-main > li > a { position: relative; padding: 0.5rem 0.35rem; letter-spacing: 0.04em; }
.header-main .header-nav-main > li.active > a, .header-main .header-nav-main > li.current-menu-item > a { color: #1F1A17; }
.header-main .header-nav-main > li > a:hover { color: #8E4C35; }
.header-main .header-nav-main > li > a::after { content: ''; position: absolute; right: 0; bottom: 0.15rem; left: 0; height: 1px; background: #8E4C35; transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; }
.header-main .header-nav-main > li > a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-main .header-nav-main > li > a .icon-angle-down { font-size: 0.75rem; margin-left: 0; opacity: 1; }

/* Cart = bag line icon with a round 16 px count badge at its top right (.bed-header .cart-count) */
.header-main .cart-item .cart-icon { position: relative; display: block; width: 1.25rem; height: 1.25rem; margin: 0; }
.header-main .cart-item .cart-icon::before { content: ''; display: block; width: 1.25rem; height: 1.25rem; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat; }
.header-main .cart-item .cart-icon strong { position: absolute; top: -0.375rem; right: -0.375rem; left: auto; display: inline-flex; align-items: center; justify-content: center; min-width: 1rem; width: auto; height: 1rem; margin: 0; padding: 0 0.2rem; border: 1px solid #FFFDF9; border-radius: 9999px; background: #8E4C35; color: #fff; font-family: var(--font-family-body); font-size: 0.5625rem; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
.header-main .cart-item .cart-icon strong::after { content: none; display: none; }
.header-main .cart-item:hover .cart-icon strong, .header-main .cart-item.current-dropdown .cart-icon strong { background: #8E4C35; color: #fff; }

/* Mobile bar like the reference: 77 px high, 48 px logo, thin burger at the left gutter */
@media (max-width: 849px) {
  html .header-main { height: 77px; }
  html #logo img { height: 48.4px; max-height: 48.4px; }
  .header-main .flex-left.show-for-medium { flex: 0 0 auto; justify-content: flex-start; }
  .header-main .mobile-nav .nav-icon > a { width: 2.25rem; height: 2.25rem; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: #1F1A17; }
  .header-main .mobile-nav .nav-icon .icon-menu::before { content: ''; display: block; width: 1.25rem; height: 1.25rem; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center / contain no-repeat; }
}

/* 2026-10-29: single products as WooCommerce elements (ux_products ids=…), laid out as the former hand-made blocks.
   The Flatsome row / product col / card wrappers become display: contents, so the card's parts are items of one grid. */
.spa-home-spotlight__body .spa-home-spotlight__product,
.spa-home-spotlight__body .product-small,
.spa-home-spotlight__body .product-small > .col-inner,
.spa-home-spotlight__body .spa-treatment-card,
.spa-home-spotlight__body .spa-treatment-card__content,
.spa-treatment-featured__body .spa-treatment-featured__product,
.spa-treatment-featured__body .product-small,
.spa-treatment-featured__body .product-small > .col-inner,
.spa-treatment-featured__body .spa-treatment-card,
.spa-treatment-featured__body .spa-treatment-card__media-wrap,
.spa-treatment-featured__body a.spa-treatment-card__media,
.spa-treatment-featured__body .spa-treatment-card__content { display: contents; }
.spa-home-spotlight__body .badge-container,
.spa-treatment-featured__body .badge-container { display: none; }

/* Home "Trị liệu S2 Đặc Biệt" (product 109): image left, text right on the dark band */
.spa-home-spotlight__grid > .spa-home-spotlight__body { grid-column: 1 / -1; max-width: 100%; flex-basis: 100%; }
.spa-home-spotlight .spa-home-spotlight__body > .col-inner {
  --s2-gap: clamp(2.5rem, 5vw, 5rem);
  display: grid; column-gap: 0; row-gap: 0; align-items: start;
  grid-template-columns: calc(50% + var(--s2-gap) / 2) max-content minmax(0, 1fr);
  grid-template-rows: 1fr auto auto auto auto 1fr;
  grid-template-areas: "media . ." "media eyebrow eyebrow" "media title title" "media text text" "media cta price" "media . .";
}
.spa-home-spotlight__body .spa-treatment-card__media-wrap { grid-area: media; align-self: center; margin: 0 var(--s2-gap) 0 0; }
.spa-home-spotlight__body .spa-treatment-card__media {
  aspect-ratio: 4 / 3; margin: 0;
  border: 1px solid rgba(184, 149, 104, 0.25); border-radius: var(--spa-radius-card, 12px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}
.spa-home-spotlight__body .spa-home-spotlight__eyebrow { grid-area: eyebrow; margin: 0; }
.spa-home-spotlight__body .spa-treatment-card__title {
  grid-area: title; min-height: 0; margin: 0 0 1.25rem;
  font-size: clamp(2rem, 3.2vw, 2.875rem); line-height: 1.18; font-weight: 300;
}
.spa-home-spotlight__body .spa-price-main,
.spa-treatment-featured__body .spa-price-main { font: inherit; color: inherit; letter-spacing: inherit; }
.spa-home-spotlight__body .spa-treatment-card__title a { color: #ffffff; display: block; -webkit-line-clamp: unset; overflow: visible; }
.spa-home-spotlight__body .spa-treatment-card__title a:hover { color: var(--spa-bg-sand, #efeae1); }
.spa-home-spotlight__body .spa-treatment-card__time,
.spa-home-spotlight__body .spa-treatment-card__footer .spa-btn--outline-sm { display: none; }
.spa-home-spotlight__body .spa-home-spotlight__text { grid-area: text; margin-bottom: 2.5rem; }
.spa-home-spotlight__body .col-inner > .button { grid-area: cta; justify-self: start; align-self: center; margin: 0; }
.spa-home-spotlight__body .spa-treatment-card__footer { grid-area: price; align-self: center; margin: 0 0 0 2.5rem; padding: 0; border: 0; }
.spa-home-spotlight__body .spa-treatment-card__price {
  font-size: 1.875rem; font-family: var(--font-family-heading, 'EB Garamond', serif); color: var(--spa-text-gold, #b89568); font-weight: 300;
}
@media (max-width: 1023px) {
  .spa-home-spotlight .spa-home-spotlight__body > .col-inner {
    grid-template-columns: max-content minmax(0, 1fr); grid-template-rows: none;
    grid-template-areas: "media media" "eyebrow eyebrow" "title title" "text text" "cta price";
  }
  .spa-home-spotlight__body .spa-treatment-card__media-wrap { margin: 0 0 var(--s2-gap); }
}
@media (max-width: 549px) {
  .spa-home-spotlight .spa-home-spotlight__body > .col-inner { grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "eyebrow" "title" "text" "cta" "price"; }
  .spa-home-spotlight__body .spa-treatment-card__footer { margin: 1.25rem 0 0; }
}

/* Dịch vụ "Sản phẩm nổi bật" (product 90): image left, label / name / price right */
.spa-treatment-featured__inner > .spa-treatment-featured__body { grid-column: 1 / -1; max-width: 100%; flex-basis: 100%; }
.spa-treatment-featured .spa-treatment-featured__body > .col-inner {
  display: grid; column-gap: 3rem; row-gap: 0; align-items: start;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  grid-template-rows: 1fr auto auto auto auto auto 1fr;
  grid-template-areas: "media ." "media tag" "media title" "media time" "media price" "media cta" "media .";
}
.spa-treatment-featured__body .spa-treatment-card__image-frame {
  grid-area: media; display: block; position: relative; overflow: hidden; aspect-ratio: 4 / 3;
  border-radius: var(--radius-lg, 16px); background: #E8DED2;
}
.spa-treatment-featured__body .spa-treatment-card__image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s ease; }
.spa-treatment-featured__body .spa-treatment-card__image-frame:hover img { transform: scale(1.04); }
.spa-treatment-featured__body .spa-treatment-card__tools { grid-area: media; position: relative; top: auto; right: auto; justify-self: end; align-self: start; margin: 1rem; }
.spa-treatment-featured__body .spa-treatment-card__badges { grid-area: tag; position: static; display: block; margin: 0 0 0.875rem; }
.spa-treatment-featured__body .spa-treatment-card__badges .spa-treatment-card__tag {
  position: static; display: inline-block; padding: 0; background: none; border: 0; border-radius: 0; backdrop-filter: none; box-shadow: none;
  font-size: 0.75rem; letter-spacing: 0.15em; font-weight: 700; color: #826424; text-transform: uppercase;
}
.spa-treatment-featured__body .spa-treatment-card__title {
  grid-area: title; min-height: 0; margin: 0 0 0.875rem;
  font-size: clamp(1.875rem, 3vw, 2.5rem); line-height: 1.2; font-weight: 600;
}
.spa-treatment-featured__body .spa-treatment-card__title a { color: #1F1A17; display: block; -webkit-line-clamp: unset; overflow: visible; }
.spa-treatment-featured__body .spa-treatment-card__title a:hover { color: #8E4C35; }
.spa-treatment-featured__body .spa-treatment-card__time { grid-area: time; margin: 0 0 0.875rem; }
.spa-treatment-featured__body .spa-treatment-card__footer { grid-area: price; justify-content: flex-start; gap: 1rem; margin: 0 0 1.25rem; padding: 0; border: 0; }
.spa-treatment-featured__body .spa-treatment-card__price { font-size: 1.375rem; color: #8E4C35; font-weight: 600; }
.spa-treatment-featured__body .col-inner > .button { grid-area: cta; justify-self: start; margin: 0; }
@media (max-width: 991px) {
  .spa-treatment-featured .spa-treatment-featured__body > .col-inner {
    grid-template-columns: minmax(0, 1fr); grid-template-rows: none;
    grid-template-areas: "media" "tag" "title" "time" "price" "cta";
  }
  .spa-treatment-featured__body .spa-treatment-card__image-frame { margin-bottom: 1.75rem; }
}
