/* ==========================================================================
   Lumina Clinic – theme styles
   Xanh teal · Vàng gold · Kem. Màu chỉnh tại Giao diện → Trình chỉnh sửa → Kiểu → Màu sắc.
   ========================================================================== */

:root {
	--lm-teal: var(--wp--preset--color--primary);
	--lm-teal-d: var(--wp--preset--color--primary-dark);
	--lm-teal-s: var(--wp--preset--color--primary-soft);
	--lm-gold: var(--wp--preset--color--accent);
	--lm-gold-d: var(--wp--preset--color--accent-dark);
	--lm-gold-s: var(--wp--preset--color--accent-soft);
	--lm-ink: var(--wp--preset--color--ink);
	--lm-muted: var(--wp--preset--color--muted);
	--lm-line: var(--wp--preset--color--line);
	--lm-cream: var(--wp--preset--color--surface);
	--lm-white: var(--wp--preset--color--base);
	--lm-r-s: var(--wp--custom--radius--s, 8px);
	--lm-r-m: var(--wp--custom--radius--m, 14px);
	--lm-r-l: var(--wp--custom--radius--l, 22px);
	--lm-shadow: var(--wp--custom--shadow--card, 0 10px 26px rgba(7,63,70,.08));
	--lm-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; }
html.lm-noscroll { overflow: hidden; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(img) { height: auto; max-width: 100%; }
::selection { background: var(--lm-gold-s); }
:focus-visible { outline: 2px solid var(--lm-gold); outline-offset: 3px; border-radius: 4px; }
[id] { scroll-margin-top: 96px; }
h1, h2, h3, .wp-block-post-title { text-wrap: balance; }
.lm-center { text-align: center; }

/* ---------- Kiểu chữ ---------- */
.is-style-lm-eyebrow {
	font-size: .75rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--lm-gold-d); margin-bottom: .55rem !important;
}
.lm-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--lm-gold-d); margin: 0 0 .5rem; }
.lm-h2, .lm-content > h2.lm-h2 { font-size: var(--wp--preset--font-size--x-large) !important; margin-top: 0 !important; margin-bottom: .6rem !important; }
.lm-lead { font-size: 1.04rem; line-height: 1.7; color: var(--lm-muted); max-width: 46rem; }
.has-text-align-center.lm-lead { margin-left: auto !important; margin-right: auto !important; }
.lm-note { font-size: .88rem; color: var(--lm-muted); background: var(--lm-cream); border-left: 3px solid var(--lm-gold); padding: .8rem 1rem; border-radius: 0 var(--lm-r-s) var(--lm-r-s) 0; }

ul.is-style-lm-check { list-style: none; padding-left: 0; }
ul.is-style-lm-check li { position: relative; padding-left: 1.85rem; margin-bottom: .55rem; }
ul.is-style-lm-check li::before {
	content: ""; position: absolute; left: 0; top: .22em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: var(--lm-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.5l2.2 2.2L11.5 5.8' fill='none' stroke='%23003F46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/72% no-repeat;
}
.has-primary-background-color ul.is-style-lm-check li, .lm-dark ul.is-style-lm-check li { color: rgba(255,255,255,.9); }

/* ---------- Nút ---------- */
.wp-block-button.is-style-lm-gold .wp-block-button__link, .lm-btn--gold {
	background: var(--lm-gold); color: var(--lm-teal); box-shadow: 0 8px 22px rgba(227,182,94,.28);
}
.wp-block-button.is-style-lm-gold .wp-block-button__link:hover, .lm-btn--gold:hover { background: #D8A84E; color: var(--lm-teal-d); }
.wp-block-button.is-style-lm-line .wp-block-button__link, .lm-btn--line {
	background: transparent; color: var(--lm-teal); box-shadow: inset 0 0 0 1.5px var(--lm-teal);
}
.wp-block-button.is-style-lm-line .wp-block-button__link:hover, .lm-btn--line:hover { background: var(--lm-teal); color: #fff; }
.wp-block-button.is-style-lm-line-light .wp-block-button__link, .lm-btn--line-light {
	background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.65);
}
.wp-block-button.is-style-lm-line-light .wp-block-button__link:hover, .lm-btn--line-light:hover { background: #fff; color: var(--lm-teal); }
.wp-block-button__link { transition: background .2s, color .2s, transform .2s var(--lm-ease); }
.wp-block-button__link:hover { transform: translateY(-1px); }
.lm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem; border: 0; cursor: pointer; text-decoration: none !important;
	font: inherit; font-size: .88rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2;
	padding: .85rem 1.6rem; border-radius: 999px; transition: background .2s, color .2s, transform .2s var(--lm-ease);
}
.lm-btn:hover { transform: translateY(-1px); }
.lm-btn--sm { padding: .55rem 1.1rem; font-size: .78rem; }
.lm-link-arrow { font-weight: 600; font-size: .9rem; color: var(--lm-teal); text-decoration: none; }
.lm-link-arrow::after { content: " →"; transition: margin .2s; }
.lm-link-arrow:hover::after { margin-left: .25rem; }
.lm-link-arrow-p a { font-weight: 600; text-decoration: none; }

/* ---------- Header ---------- */
.lm-topbar { font-size: .8rem; }
.lm-topbar p { margin: 0; }
.lm-topbar a { font-weight: 700; text-decoration: none; }
@media (max-width: 781px) { .lm-topbar .lm-topbar__left { display: none; } .lm-topbar .alignwide { justify-content: center !important; } }
.lm-header { position: sticky; top: 0; z-index: 50; transition: box-shadow .25s; }
.lm-header.is-scrolled { box-shadow: 0 8px 24px rgba(2,46,51,.25); }
.admin-bar .lm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lm-header { top: 46px; } }
.lm-header .wp-block-site-title a { text-decoration: none; color: #fff; }
.lm-header .wp-block-site-logo img { max-height: 54px; width: auto; }
.lm-header .wp-block-navigation a { text-decoration: none; }
.lm-header .wp-block-navigation .wp-block-navigation-item__content { padding: .35rem 0; }
.lm-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--lm-gold) !important; }
.lm-header .wp-block-navigation__submenu-container {
	background: var(--lm-cream) !important; color: var(--lm-ink) !important; border: 0 !important; border-top: 3px solid var(--lm-gold) !important;
	border-radius: 0 0 var(--lm-r-s) var(--lm-r-s); padding: .4rem 0; box-shadow: 0 18px 40px rgba(2,46,51,.18); min-width: 230px !important;
}
.lm-header .wp-block-navigation__submenu-container a { color: var(--lm-ink) !important; padding: .5rem 1.1rem !important; font-weight: 500; }
.lm-header .wp-block-navigation__submenu-container a:hover { color: var(--lm-teal) !important; background: var(--lm-teal-s); }
.lm-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.lm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; box-shadow: none; border: 0 !important; }
.lm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a { color: rgba(255,255,255,.85) !important; }
.lm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.05rem; }
.lm-header__cta .wp-block-button__link { padding: .65rem 1.3rem; font-size: .8rem; }
@media (max-width: 600px) { .lm-header__cta { display: none; } }

/* ---------- Hero slider ---------- */
.lm-slider { position: relative; overflow: hidden; margin-top: 0 !important; }
.lm-slider > .lm-hero__slide { margin: 0 !important; }
.lm-slider > .lm-hero__slide + .lm-hero__slide { display: none; }
.lm-slider > .lm-slide { display: none; }
.lm-slider > .lm-slide.is-active { display: block; animation: lmFade .6s var(--lm-ease); }
@keyframes lmFade { from { opacity: 0; } to { opacity: 1; } }
.lm-hero__slide { background: radial-gradient(120% 90% at 85% 10%, #0A5560 0%, var(--lm-teal) 45%, var(--lm-teal-d) 100%) !important; }
.lm-hero__title { font-size: clamp(2rem, 3.6vw, 2.9rem) !important; line-height: 1.18 !important; font-weight: 700 !important; margin: .3rem 0 1.1rem !important; }
.lm-hero__slide .is-style-lm-check { margin-bottom: 1.6rem; }
.lm-hero__media .wp-block-image { margin: 0; }
.lm-hero__media img { max-height: 520px; }
.lm-slider__nav {
	position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35);
	background: rgba(2,46,51,.45); color: #fff; font-size: 1.8rem; line-height: 1; cursor: pointer; z-index: 3; display: grid; place-items: center; padding: 0 0 4px;
}
.lm-slider__nav:hover { background: var(--lm-gold); color: var(--lm-teal); border-color: var(--lm-gold); }
.lm-slider__nav--prev { left: 14px; }
.lm-slider__nav--next { right: 14px; }
.lm-slider__dots { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: .5rem; z-index: 3; }
.lm-slider__dots button { width: 10px; height: 10px; border-radius: 99px; border: 0; padding: 0; background: rgba(255,255,255,.4); cursor: pointer; transition: width .3s, background .3s; }
.lm-slider__dots button.is-active { width: 28px; background: var(--lm-gold); }
@media (max-width: 1100px) { .lm-slider__nav { display: none; } }
@media (max-width: 781px) {
	.lm-hero__media { order: -1; }
	.lm-hero__media img { max-height: 300px; }
}

/* Ảnh khung vàng */
.is-style-lm-frame { position: relative; }
.is-style-lm-frame img { border-radius: var(--lm-r-m); position: relative; z-index: 1; }
.is-style-lm-frame::after { content: ""; position: absolute; inset: 14px -14px -14px 14px; border: 1.5px solid var(--lm-gold); border-radius: var(--lm-r-m); z-index: 0; pointer-events: none; }
.is-style-lm-rounded img, .wp-block-image.is-style-lm-rounded img { border-radius: var(--lm-r-m); }
.wp-block-post-featured-image.is-style-lm-frame { overflow: visible; }

/* ---------- Con số ---------- */
.lm-stats { text-align: center; }
.lm-stat p { margin: 0; }
.lm-stat__v { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 700; color: var(--lm-gold); line-height: 1.1; }
.lm-stat__l { font-size: .85rem; color: rgba(255,255,255,.75); margin-top: .3rem !important; }

/* ---------- Thẻ dịch vụ ---------- */
.lm-sgrid { display: grid; grid-template-columns: repeat(var(--lm-cols, 4), minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 1080px) { .lm-sgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .lm-sgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .lm-sgrid { grid-template-columns: 1fr; } }
.lm-scard {
	background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-m); box-shadow: var(--lm-shadow); overflow: hidden;
	display: flex; flex-direction: column; height: 100%; transition: transform .3s var(--lm-ease), box-shadow .3s;
}
.lm-scard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(7,63,70,.14); }
.lm-scard__media { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--lm-teal-s); }
.lm-scard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--lm-ease); }
.lm-scard:hover .lm-scard__media img { transform: scale(1.05); }
.lm-scard__badge { position: absolute; top: .8rem; left: .8rem; background: var(--lm-gold); color: var(--lm-teal); font-size: .7rem; font-weight: 700; padding: .3rem .7rem; border-radius: 99px; }
.lm-scard__body { padding: 1.2rem 1.25rem 1.35rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.lm-scard__tag { margin: 0; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--lm-gold-d); }
.lm-scard__title { margin: 0; font-size: 1.15rem; }
.lm-scard__title a { color: var(--lm-ink); text-decoration: none; }
.lm-scard__excerpt { margin: 0 0 .4rem; font-size: .9rem; color: var(--lm-muted); flex: 1; }
.lm-card__ph { display: grid; place-items: center; width: 100%; height: 100%; min-height: 180px; color: #fff; background: linear-gradient(135deg, #0A5560, var(--lm-teal-d)); padding: 1rem; text-align: center; }

/* ---------- Khối tính năng (vì sao chọn) ---------- */
.lm-feature {
	background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-m); padding: 1.6rem 1.4rem !important; height: 100%;
	box-shadow: 0 6px 18px rgba(7,63,70,.05); transition: transform .3s var(--lm-ease), border-color .3s;
}
.lm-feature:hover { transform: translateY(-3px); border-color: var(--lm-gold); }
.lm-feature h3 { margin: .3rem 0 0; }
.lm-feature p:not(.lm-icon):not(.is-style-lm-eyebrow) { margin: 0; font-size: .93rem; color: var(--lm-muted); }
.lm-icon {
	display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; margin: 0 !important;
	background: var(--lm-teal); color: var(--lm-gold); font-weight: 700; font-size: 1rem; letter-spacing: .02em;
	box-shadow: 0 0 0 5px var(--lm-teal-s);
}

/* ---------- Tab ảnh trước – sau ---------- */
.lm-tabs__list { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 1.6rem; }
.lm-tabs__tab {
	font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; padding: .6rem 1.2rem; border-radius: 99px;
	border: 1px solid var(--lm-line); background: #fff; color: var(--lm-ink); transition: all .2s;
}
.lm-tabs__tab:hover { border-color: var(--lm-teal); }
.lm-tabs__tab.is-active { background: var(--lm-teal); color: #fff; border-color: var(--lm-teal); }
.lm-tabs__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.lm-tabs__panel[hidden] { display: none; }
@media (max-width: 781px) { .lm-tabs__panel { grid-template-columns: 1fr; } .lm-tabs__list { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: .4rem; } .lm-tabs__tab { white-space: nowrap; } }
.lm-ba { margin: 0; background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-m); padding: .7rem; box-shadow: var(--lm-shadow); }
.lm-ba { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.lm-ba__side { position: relative; aspect-ratio: 4/5; overflow: hidden; border-radius: var(--lm-r-s); background: var(--lm-teal-s); }
.lm-ba__side img { width: 100%; height: 100%; object-fit: cover; }
.lm-ba__label { position: absolute; left: .6rem; bottom: .6rem; background: rgba(2,46,51,.85); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .3rem .65rem; border-radius: 99px; }
.lm-ba__side--after .lm-ba__label { background: var(--lm-gold); color: var(--lm-teal); }
.lm-ba figcaption { grid-column: 1 / -1; font-size: .88rem; font-weight: 600; color: var(--lm-ink); padding: .2rem .2rem 0; }
.lm-ba figcaption small { font-weight: 400; color: var(--lm-muted); }
.lm-ba-note { text-align: center; font-size: .82rem; color: var(--lm-muted); margin-top: 1.2rem; }

/* ---------- Bác sĩ ---------- */
.lm-doc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; }
.lm-doc__media { position: relative; }
.lm-doc__media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--lm-r-m); position: relative; z-index: 1; }
.lm-doc__media::after { content: ""; position: absolute; inset: 16px -16px -16px 16px; border: 1.5px solid var(--lm-gold); border-radius: var(--lm-r-m); }
.lm-doc__name { font-size: var(--wp--preset--font-size--xx-large); margin: 0 0 .3rem; color: var(--lm-teal); }
.lm-doc__pos { font-weight: 600; color: var(--lm-gold-d); margin: 0 0 1.2rem; }
.lm-doc__list { list-style: none; padding: 0; margin: 0 0 1.6rem; display: grid; gap: .65rem; }
.lm-doc__list li { position: relative; padding-left: 1.6rem; }
.lm-doc__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: .65rem; height: .65rem; border-radius: 50%; background: var(--lm-gold); box-shadow: 0 0 0 4px var(--lm-gold-s); }
.lm-doc__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; }
@media (max-width: 781px) { .lm-doc { grid-template-columns: 1fr; } .lm-doc__media { max-width: 420px; } }
.lm-dgrid { display: grid; grid-template-columns: repeat(var(--lm-cols, 4), minmax(0, 1fr)); gap: 1.6rem; }
@media (max-width: 1000px) { .lm-dgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .lm-dgrid { grid-template-columns: 1fr; } }
.lm-dcard { background: #fff; border-radius: var(--lm-r-m); overflow: hidden; border: 1px solid var(--lm-line); box-shadow: var(--lm-shadow); transition: transform .3s var(--lm-ease); }
.lm-dcard:hover { transform: translateY(-4px); }
.lm-dcard__media { display: block; aspect-ratio: 4/5; overflow: hidden; background: var(--lm-teal-s); }
.lm-dcard__media img { width: 100%; height: 100%; object-fit: cover; }
.lm-dcard__body { padding: 1.1rem 1.2rem 1.3rem; text-align: center; }
.lm-dcard__name { margin: 0; font-size: 1.12rem; }
.lm-dcard__name a { color: var(--lm-teal); text-decoration: none; }
.lm-dcard__pos { margin: .3rem 0 0; font-size: .85rem; font-weight: 600; color: var(--lm-gold-d); }
.lm-dcard__exp { margin: .35rem 0 0; font-size: .85rem; color: var(--lm-muted); }
.lm-dfacts { margin: 0 0 1.6rem; display: grid; gap: .1rem; }
.lm-dfacts div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid rgba(0,63,70,.12); }
.lm-dfacts dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; color: var(--lm-muted); font-weight: 600; }
.lm-dfacts dd { margin: 0; color: var(--lm-ink); font-weight: 500; }
.lm-doc-title { color: var(--lm-teal); }

/* ---------- Nền tối (teal) ---------- */
.lm-dark .lm-h2, .lm-dark h2, .lm-dark h3 { color: #fff; }
.lm-review { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: var(--lm-r-m); padding: 1.5rem !important; height: 100%; }
.lm-review p { margin: 0; }
.lm-avatar { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--lm-gold); color: var(--lm-teal); font-weight: 700; flex: none; }
.lm-review__name { color: #fff; }
.lm-review__place { font-size: .82rem; color: rgba(255,255,255,.65); }
.lm-stars { color: var(--lm-gold); letter-spacing: .15em; }
.lm-review__text { color: rgba(255,255,255,.85); font-size: .95rem; line-height: 1.7; }

/* ---------- Video ---------- */
.lm-videos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
.lm-video { display: flex; flex-direction: column; gap: .55rem; text-decoration: none; color: var(--lm-ink); }
.lm-video--main { grid-column: span 2; grid-row: span 2; }
.lm-video__thumb { position: relative; display: block; aspect-ratio: 16/9; border-radius: var(--lm-r-m); overflow: hidden; background: var(--lm-teal); }
.lm-video--main .lm-video__thumb { aspect-ratio: auto; flex: 1; min-height: 260px; }
.lm-video__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--lm-ease); }
.lm-video:hover .lm-video__thumb img { transform: scale(1.05); }
.lm-video__thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(2,46,51,.55)); }
.lm-video__play { position: absolute; z-index: 2; left: 50%; top: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; border-radius: 50%; background: var(--lm-gold); box-shadow: 0 0 0 8px rgba(227,182,94,.3); transition: transform .3s; }
.lm-video--main .lm-video__play { width: 72px; height: 72px; margin: -36px 0 0 -36px; }
.lm-video__play::before { content: ""; position: absolute; left: 54%; top: 50%; transform: translate(-50%, -50%); border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent var(--lm-teal); }
.lm-video:hover .lm-video__play { transform: scale(1.08); }
.lm-video__time { position: absolute; z-index: 2; right: .6rem; bottom: .6rem; background: rgba(0,0,0,.65); color: #fff; font-size: .72rem; font-weight: 600; padding: .2rem .5rem; border-radius: 6px; }
.lm-video__title { font-weight: 600; font-size: .92rem; line-height: 1.4; }
.lm-video--main .lm-video__title { font-size: 1.1rem; }
.lm-video:hover .lm-video__title { color: var(--lm-teal); }
@media (max-width: 900px) { .lm-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lm-video--main { grid-row: auto; } .lm-video--main .lm-video__thumb { aspect-ratio: 16/9; min-height: 0; } }
@media (max-width: 520px) { .lm-videos { grid-template-columns: 1fr; } .lm-video--main { grid-column: auto; } }
.lm-vbox { position: fixed; inset: 0; z-index: 1000; background: rgba(2,20,22,.9); display: grid; place-items: center; padding: 3rem 1rem; }
.lm-vbox__frame { width: min(1000px, 100%); aspect-ratio: 16/9; }
.lm-vbox__frame iframe { width: 100%; height: 100%; border: 0; border-radius: 10px; }
.lm-vbox__close { position: absolute; top: 1rem; right: 1rem; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; font-size: 1.6rem; cursor: pointer; }

/* ---------- Bài viết ---------- */
.lm-post-card { height: 100%; background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-m); overflow: hidden; padding-bottom: 1.1rem; box-shadow: 0 6px 18px rgba(7,63,70,.05); transition: transform .3s var(--lm-ease); }
.lm-post-card:hover { transform: translateY(-3px); }
.lm-post-card > * { margin-left: 1.1rem !important; margin-right: 1.1rem !important; }
.lm-post-card > .wp-block-post-featured-image { margin: 0 0 .5rem !important; overflow: hidden; }
.lm-post-card .wp-block-post-featured-image img { transition: transform .6s var(--lm-ease); }
.lm-post-card:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.lm-post-card__meta { font-size: .75rem; color: var(--lm-muted); }
.lm-post-card__meta .wp-block-post-terms a { color: var(--lm-gold-d); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; text-decoration: none; }
.lm-post-card .wp-block-post-title { font-size: 1.02rem; line-height: 1.4; margin: 0; }
.lm-post-card .wp-block-post-title a { text-decoration: none; color: var(--lm-ink); }
.lm-post-card .wp-block-post-title a:hover { color: var(--lm-teal); }
.lm-post-card .wp-block-post-excerpt { font-size: .86rem; color: var(--lm-muted); margin-top: 0; }
.lm-post-card .wp-block-post-excerpt__more-text { display: none; }
.lm-article { font-size: 1.04rem; }
.lm-article h2, .lm-content h2 { margin-top: 2.1rem; font-size: var(--wp--preset--font-size--x-large); color: var(--lm-teal); }
.lm-content h2:first-child { margin-top: 0; }
.lm-content ol { padding-left: 1.3rem; }
.lm-content ol li { margin-bottom: .45rem; }

/* ---------- Đặt lịch / form ---------- */
.lm-booking { background: radial-gradient(90% 120% at 0% 0%, #0A5560 0%, var(--lm-teal) 50%, var(--lm-teal-d) 100%) !important; }
.lm-booking__title { font-size: var(--wp--preset--font-size--xx-large) !important; color: var(--lm-gold) !important; }
.lm-callbtn { margin-top: 1.4rem; }
.lm-formcard { background: #fff; color: var(--lm-ink); border-radius: var(--lm-r-l); padding: clamp(1.4rem, 3vw, 2.2rem) !important; box-shadow: 0 26px 60px rgba(0,0,0,.25); border-top: 4px solid var(--lm-gold); }
.lm-formcard--light { box-shadow: var(--lm-shadow); border: 1px solid var(--lm-line); border-top: 4px solid var(--lm-gold); }
.lm-form__title { margin: 0 0 1rem; font-size: 1.3rem; color: var(--lm-teal); }
.lm-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.lm-field { margin: 0; display: grid; gap: .35rem; }
.lm-field--full { grid-column: 1 / -1; }
.lm-field label { font-size: .82rem; font-weight: 600; color: var(--lm-ink); }
.lm-field label span { color: #C0392B; }
.lm-field input, .lm-field select, .lm-field textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--lm-ink); padding: .78rem .9rem;
	border: 1.5px solid #D9E3E4; border-radius: 10px; background: #F7FAFA; transition: border-color .15s, box-shadow .15s;
}
.lm-field input:focus, .lm-field select:focus, .lm-field textarea:focus { outline: none; border-color: var(--lm-teal); box-shadow: 0 0 0 4px var(--lm-teal-s); background: #fff; }
.lm-field .is-invalid { border-color: #C0392B; }
.lm-form__submit { width: 100%; margin-top: 1.1rem; padding: 1rem; font-size: .92rem; }
.lm-form__privacy { margin: .7rem 0 0; font-size: .78rem; color: var(--lm-muted); text-align: center; }
.lm-form__notice { padding: .8rem 1rem; border-radius: 10px; background: #E6F4EA; color: #1E6B3A; font-size: .92rem; margin-bottom: 1rem; }
.lm-form__notice--error { background: #FDECEA; color: #A93226; }
.lm-form.is-done .lm-form__grid, .lm-form.is-done .lm-form__submit { opacity: .45; pointer-events: none; }
.lm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .lm-form__grid { grid-template-columns: 1fr; } }

/* ---------- Trang con / hero trang ---------- */
.lm-pagehead { background: radial-gradient(90% 140% at 100% 0%, #0A5560 0%, var(--lm-teal) 55%, var(--lm-teal-d) 100%) !important; margin-top: 0 !important; }
.lm-pagehead__title, .lm-archive-title { font-size: var(--wp--preset--font-size--xx-large) !important; color: #fff; margin: .3rem 0 .6rem !important; }
.lm-pagehead .lm-lead { color: #CFE3E5; }
.lm-crumbs { font-size: .8rem; color: rgba(255,255,255,.7); display: flex; flex-wrap: wrap; gap: .45rem; }
.lm-crumbs a { color: var(--lm-gold) !important; text-decoration: none; }
.lm-phero { background: radial-gradient(90% 140% at 100% 0%, #0A5560 0%, var(--lm-teal) 55%, var(--lm-teal-d) 100%) !important; }
.lm-phero__title { font-size: var(--wp--preset--font-size--xx-large) !important; color: #fff; margin: .3rem 0 .8rem; }
.lm-phero__lead { color: #CFE3E5; font-size: 1.05rem; }
.lm-phero__img img { border-radius: var(--lm-r-m); }
.lm-side .lm-box { margin: 0; }
.lm-box { background: #fff; border: 1px solid var(--lm-line); border-top: 4px solid var(--lm-gold); border-radius: var(--lm-r-m); padding: 1.5rem; box-shadow: var(--lm-shadow); }
.lm-box__label { margin: 0 0 .6rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--lm-gold-d); }
.lm-box__facts { margin: 0 0 1.2rem; }
.lm-box__facts div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px dashed var(--lm-line); font-size: .9rem; }
.lm-box__facts dt { color: var(--lm-muted); }
.lm-box__facts dd { margin: 0; font-weight: 600; color: var(--lm-ink); text-align: right; }
.lm-box__actions { display: grid; gap: .6rem; }
.lm-box__note { margin: .9rem 0 0; font-size: .8rem; color: var(--lm-muted); text-align: center; }
@media (min-width: 782px) { .lm-sticky { position: sticky; top: 100px; } }

/* ---------- Gói, bảng, FAQ ---------- */
.lm-pack { background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-l); padding: 1.8rem 1.6rem !important; height: 100%; display: flex; flex-direction: column; }
.lm-pack .wp-block-buttons { margin-top: auto; }
.lm-pack h3 { margin: 0; color: var(--lm-teal); }
.lm-pack__tag { margin: 0; font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--lm-gold-d); }
.lm-pack.is-featured { background: var(--lm-teal); border-color: var(--lm-teal); box-shadow: 0 24px 50px rgba(0,63,70,.3); transform: translateY(-8px); }
.lm-pack.is-featured h3 { color: #fff; }
.lm-pack.is-featured .lm-pack__tag { color: var(--lm-gold); }
.lm-pack.is-featured li { color: rgba(255,255,255,.88); }
.lm-table { margin-top: 1.4rem; }
.lm-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--lm-line); border-radius: var(--lm-r-m); overflow: hidden; background: #fff; font-size: .93rem; }
.lm-table th { background: var(--lm-teal); color: #fff; text-align: left; font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.lm-table th, .lm-table td { padding: .85rem 1rem; border: 0; border-bottom: 1px solid var(--lm-line); }
.lm-table tr:last-child td { border-bottom: 0; }
.lm-table tbody tr:nth-child(even) td { background: var(--lm-cream); }
.lm-faq { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.lm-faq .wp-block-details { background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-s); padding: 1rem 1.2rem; margin: 0 0 .7rem; }
.lm-faq .wp-block-details summary { font-weight: 600; color: var(--lm-ink); cursor: pointer; list-style: none; position: relative; padding-right: 2.2rem; }
.lm-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.lm-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--lm-teal); color: var(--lm-gold); display: grid; place-items: center; font-weight: 700; transition: transform .25s; }
.lm-faq .wp-block-details[open] summary::after { content: "–"; }
.lm-faq .wp-block-details[open] { border-color: var(--lm-gold); }
.lm-faq .wp-block-details p { color: var(--lm-muted); margin: .7rem 0 0; }
.lm-legal h2 { font-size: 1.3rem; color: var(--lm-teal); margin-top: 2rem; }
.lm-legal h2:first-child { margin-top: 0; }
.lm-linkcard { background: #fff; border: 1px solid var(--lm-line); border-radius: var(--lm-r-m); padding: .8rem .8rem 1.2rem !important; height: 100%; }
.lm-linkcard h3, .lm-linkcard p { margin-left: .4rem !important; margin-right: .4rem !important; }
.lm-linkcard h3 { margin-top: .4rem; color: var(--lm-teal); }
.lm-linkcard p { margin-top: 0; margin-bottom: 0; font-size: .92rem; }
.lm-linkcard .wp-block-image { margin: 0; }
.lm-infocard { background: var(--lm-cream); border-radius: var(--lm-r-m); padding: 1.6rem !important; border: 1px solid var(--lm-line); }
.lm-infocard h3 { margin-top: 0; color: var(--lm-teal); }
.lm-thanks__icon { width: 72px; height: 72px; border-radius: 50%; background: var(--lm-gold); color: var(--lm-teal); font-size: 2rem; font-weight: 700; display: grid; place-items: center; margin: 0 auto 1rem !important; }

/* ---------- Liên hệ, bản đồ ---------- */
.lm-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; }
.lm-contact-list li { display: grid; gap: .1rem; }
.lm-contact-list span { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: var(--lm-gold-d); font-weight: 700; }
.lm-contact-list strong { font-weight: 500; color: var(--lm-ink); }
.lm-contact-list a { text-decoration: none; }
.lm-social { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.lm-social__link { font-size: .8rem; padding: .4rem .9rem; border-radius: 999px; border: 1px solid currentColor; text-decoration: none; opacity: .85; }
.lm-social__link:hover { opacity: 1; background: var(--lm-gold); color: var(--lm-teal) !important; border-color: var(--lm-gold); }
.lm-map { border-radius: var(--lm-r-m); overflow: hidden; border: 1px solid var(--lm-line); line-height: 0; background: var(--lm-teal-s); }
.lm-map iframe { width: 100%; height: 320px; border: 0; }
.lm-map__dir { margin: .8rem 0 0; }

/* ---------- Footer ---------- */
.lm-footer { background: radial-gradient(100% 120% at 0% 100%, #0A5560 0%, var(--lm-teal) 45%, var(--lm-teal-d) 100%) !important; }
.lm-footer .wp-block-site-title a { color: #fff; text-decoration: none; }
.lm-footer__desc { color: rgba(255,255,255,.72); margin-top: .8rem; }
.lm-footer__heading { font-size: .8rem !important; text-transform: uppercase; letter-spacing: .16em; color: var(--lm-gold) !important; margin: 0 0 1rem; }
.lm-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .92rem; }
.lm-footer__links a { color: rgba(255,255,255,.82) !important; text-decoration: none; }
.lm-footer__links a:hover { color: var(--lm-gold) !important; }
.lm-footer .lm-contact-list strong, .lm-footer .lm-contact-list a { color: #fff; }
.lm-footer .lm-contact-list span { color: var(--lm-gold); }
.lm-footer .lm-map { border-color: rgba(255,255,255,.15); }
.lm-footer .lm-map iframe { height: 200px; }
.lm-footer__bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: var(--wp--preset--spacing--40) !important; padding-top: var(--wp--preset--spacing--20); }
.lm-footer__bottom p { margin: 0; color: rgba(255,255,255,.6); }

/* ---------- Nút nổi + popup ---------- */
.lm-float { position: fixed; right: 16px; bottom: 20px; z-index: 900; display: flex; flex-direction: column; gap: .6rem; }
.lm-float__btn {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; width: 58px; height: 58px; border-radius: 50%;
	text-decoration: none; color: #fff; font-size: .62rem; font-weight: 700; box-shadow: 0 8px 22px rgba(0,0,0,.22); transition: transform .2s;
}
.lm-float__btn:hover { transform: scale(1.06); color: #fff; }
.lm-float__ic { display: grid; place-items: center; line-height: 1; }
.lm-float__ic--txt { font-size: .78rem; }
.lm-float__btn--zalo .lm-float__ic--txt + span { display: none; }
.lm-float__btn--call { background: #1FA855; animation: lmPulse 2.2s infinite; }
.lm-float__btn--zalo { background: #0068FF; }
.lm-float__btn--quote { background: var(--lm-gold); color: var(--lm-teal); }
.lm-float__btn--quote:hover { color: var(--lm-teal); }
@keyframes lmPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(31,168,85,.5); } 50% { box-shadow: 0 0 0 12px rgba(31,168,85,0); } }
@media (prefers-reduced-motion: reduce) { .lm-float__btn--call { animation: none; } }
.lm-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 1rem; }
.lm-modal[hidden] { display: none; }
.lm-modal__backdrop { position: absolute; inset: 0; background: rgba(2,30,33,.7); backdrop-filter: blur(3px); }
.lm-modal__box {
	position: relative; width: min(500px, 100%); max-height: calc(100vh - 2rem); overflow: auto; background: #fff; border-radius: var(--lm-r-l);
	padding: 2rem 1.7rem 1.6rem; border-top: 5px solid var(--lm-gold); box-shadow: 0 30px 80px rgba(0,0,0,.35); animation: lmUp .3s var(--lm-ease);
}
@keyframes lmUp { from { opacity: 0; transform: translateY(16px); } }
.lm-modal__close { position: absolute; top: .7rem; right: .7rem; width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--lm-teal-s); color: var(--lm-teal); font-size: 1.4rem; cursor: pointer; }
.lm-modal__title { margin: 0 0 .4rem; color: var(--lm-teal); font-size: 1.5rem; }
.lm-modal__lead { margin: 0 0 1.2rem; font-size: .92rem; color: var(--lm-muted); }

/* ---------- Khác ---------- */
.lm-archive-query { padding-bottom: var(--wp--preset--spacing--50); }
.lm-admin-hint { padding: 1rem; border: 1px dashed var(--lm-gold); border-radius: 10px; background: var(--lm-gold-s); }
.lm-will-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--lm-ease), transform .7s var(--lm-ease); }
.lm-will-reveal.is-in { opacity: 1; transform: none; }
.wp-block-search__button { background: var(--lm-teal); color: #fff; border-radius: 99px; }
.wp-block-search__input { border-radius: 99px; border-color: var(--lm-line); }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: .3rem .7rem; border-radius: 8px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--lm-teal); color: #fff; }
@media (max-width: 781px) {
	.lm-float { right: 10px; bottom: 12px; }
	.lm-float__btn { width: 50px; height: 50px; }
}

/* Các section toàn chiều rộng nằm sát nhau */
.wp-block-post-content > .alignfull, .wp-block-post-content > .alignfull + * { margin-block-start: 0 !important; }
.lm-slider > .lm-hero__slide { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: 100%; }
.lm-slider { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
@media (max-width: 700px) {
	.lm-stats.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 1.2rem; }
	.lm-sgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
	.lm-scard__body { padding: .9rem; }
	.lm-scard__excerpt { display: none; }
	.lm-scard__title { font-size: 1rem; }
}
@media (max-width: 360px) { .lm-sgrid { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
	.wp-block-post-content .is-layout-grid:not(.lm-stats):not(.wp-block-post-template) { grid-template-columns: 1fr !important; }
	.wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .8rem; }
	.lm-post-card .wp-block-post-excerpt { display: none; }
}
@media (max-width: 400px) { .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; } }
.lm-blog-query { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
