/* DVQC real-estate industry landing — scoped to page 2458 */
:root {
  --re-ink: #10243e;
  --re-copy: #425a74;
  --re-line: #dce6ea;
  --re-soft: #f3f8f7;
  --re-green: #0b725b;
  --re-green-2: #16a27d;
  --re-gold: #d6a84c;
  --re-night: #071b2d;
}

.re-hero,
.real-estate-ads-landing,
.re-nav { font-family: Inter, "Be Vietnam Pro", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.re-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 82px;
  background:
    radial-gradient(circle at 82% 18%, rgba(22,162,125,.18), transparent 27%),
    linear-gradient(130deg, #f8fbfa 0%, #edf6f2 54%, #e5f0ed 100%);
  border-bottom: 1px solid #d8e6e1;
}
.re-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .28;
  background-image: linear-gradient(rgba(11,114,91,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(11,114,91,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, transparent 0, #000 52%, #000 100%);
}
.re-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.06fr) minmax(430px,.94fr); align-items: center; gap: 72px; }
.re-hero .eyebrow { color: var(--re-green); background: #fff; border: 1px solid rgba(11,114,91,.2); border-radius: 999px; padding: 9px 14px; display: inline-flex; box-shadow: 0 8px 24px rgba(16,36,62,.06); }
.re-hero h1 { margin: 22px 0 20px; max-width: 780px; color: var(--re-ink); font-size: clamp(48px,4.25vw,64px); line-height: 1.02; letter-spacing: -.048em; font-weight: 800; }
.re-hero h1 span { display: block; color: var(--re-green); }
.re-hero__lead { max-width: 700px; margin: 0 0 24px; color: var(--re-copy); font-size: 19px; line-height: 1.72; }
.re-hero__points { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 18px; }
.re-hero__points li { position: relative; padding-left: 24px; color: #27445f; font-size: 15px; font-weight: 700; }
.re-hero__points li::before { content: "✓"; position: absolute; left: 0; color: var(--re-green-2); font-weight: 900; }
.re-hero .btn-primary { background: var(--re-green); border-color: var(--re-green); box-shadow: 0 14px 28px rgba(11,114,91,.2); }
.re-hero .btn-outline { background: rgba(255,255,255,.72); border-color: #b7cbc5; color: var(--re-ink); }

.re-dashboard { position: relative; border: 1px solid rgba(255,255,255,.7); border-radius: 28px; padding: 16px; color: #e8f5f1; background: linear-gradient(155deg, #102d3c, #071b2d 62%, #0a2534); box-shadow: 0 34px 70px rgba(7,27,45,.24); }
.re-dashboard::after { content: ""; position: absolute; inset: auto 28px -18px; height: 38px; border-radius: 50%; background: rgba(7,27,45,.18); filter: blur(20px); }
.re-dashboard__top { display: flex; justify-content: space-between; align-items: center; padding: 8px 7px 18px; color: #b9cec7; font-size: 11px; letter-spacing: .14em; font-weight: 800; }
.re-dashboard__top i { width: 9px; height: 9px; border-radius: 50%; background: #5ee0b3; box-shadow: 0 0 0 6px rgba(94,224,179,.12); }
.re-project { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: end; padding: 24px; border-radius: 20px; background: linear-gradient(130deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.1); }
.re-project__tower { position: relative; min-height: 210px; border-bottom: 2px solid rgba(214,168,76,.8); }
.re-project__tower i { position: absolute; bottom: 0; width: 31%; border: 1px solid rgba(94,224,179,.42); background: linear-gradient(180deg, rgba(94,224,179,.3), rgba(22,162,125,.06)); }
.re-project__tower i::before { content: ""; position: absolute; inset: 10px 7px; background: repeating-linear-gradient(0deg, rgba(255,255,255,.18) 0 2px, transparent 2px 13px); }
.re-project__tower i:nth-child(1) { left: 0; height: 58%; }
.re-project__tower i:nth-child(2) { left: 35%; height: 92%; }
.re-project__tower i:nth-child(3) { right: 0; height: 72%; }
.re-project__data span { display: block; margin-bottom: 9px; color: #9bb5ad; font-size: 11px; letter-spacing: .12em; font-weight: 800; }
.re-project__data strong { display: block; margin-bottom: 18px; color: #fff; font-size: 25px; line-height: 1.18; }
.re-project__data div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.09); }
.re-project__data small { color: #acc1bb; font-size: 12px; }
.re-project__data b { color: #f6d894; font-size: 12px; }
.re-signal { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-top: 12px; }
.re-signal div { padding: 13px 14px; border-radius: 14px; background: rgba(255,255,255,.065); }
.re-signal b { display: block; color: #fff; font-size: 18px; }
.re-signal small { color: #97afa7; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }

.re-nav { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.96); border-bottom: 1px solid #dde7e4; box-shadow: 0 10px 24px rgba(16,36,62,.06); backdrop-filter: blur(12px); }
.re-nav__inner { display: flex; gap: 25px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.re-nav__inner::-webkit-scrollbar { display: none; }
.re-nav a { padding: 17px 0 15px; color: #536b80; font-size: 13px; font-weight: 750; border-bottom: 2px solid transparent; }
.re-nav a:hover { color: var(--re-green); border-color: var(--re-green); }

.real-estate-ads-landing { color: var(--re-copy); background: #fff; }
.real-estate-ads-landing .container { max-width: 1240px; }
.re-section { padding: 94px 0; scroll-margin-top: 78px; }
.re-section--soft { background: var(--re-soft); border-block: 1px solid #e1ebe8; }
.re-section--dark { color: #c9d9d5; background: radial-gradient(circle at 88% 0, rgba(22,162,125,.18), transparent 30%), var(--re-night); }
.re-kicker { display: block; margin-bottom: 14px; color: var(--re-green); font-size: 12px; font-weight: 850; letter-spacing: .14em; }
.re-section--dark .re-kicker { color: #64d9b6; }
.real-estate-ads-landing h2 { margin: 0 0 20px; max-width: 850px; color: var(--re-ink); font-size: clamp(34px,3.2vw,43px); line-height: 1.13; letter-spacing: -.035em; font-weight: 800; }
.real-estate-ads-landing h3 { margin: 0 0 11px; color: var(--re-ink); font-size: 21px; line-height: 1.3; letter-spacing: -.015em; font-weight: 780; }
.real-estate-ads-landing p,
.real-estate-ads-landing li { font-size: 16.5px; line-height: 1.75; }
.real-estate-ads-landing p { margin: 0 0 16px; }
.real-estate-ads-landing strong { color: #223f5b; }
.re-section--dark h2,
.re-section--dark h3,
.re-section--dark strong { color: #fff; }
.re-lead { color: #2e4f69; font-size: 19px !important; line-height: 1.7 !important; }
.re-heading { max-width: 880px; margin-bottom: 42px; }
.re-heading > p { max-width: 720px; }
.re-heading--split { max-width: none; display: grid; grid-template-columns: 1.2fr .8fr; gap: 72px; align-items: end; }
.re-heading--split > p { margin-bottom: 5px; padding-left: 28px; border-left: 2px solid var(--re-green-2); }
.re-overview__grid,
.re-split { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); gap: 70px; align-items: start; }

.re-summary { overflow: hidden; border: 1px solid #dbe7e3; border-radius: 22px; background: #fff; box-shadow: 0 20px 50px rgba(16,36,62,.08); }
.re-summary > span { display: block; padding: 18px 22px; color: #fff; background: var(--re-ink); font-size: 11px; font-weight: 850; letter-spacing: .15em; }
.re-summary > div { display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; padding: 17px 22px; border-bottom: 1px solid #e8efed; }
.re-summary > div:last-child { border: 0; }
.re-summary b { grid-row: 1/3; display: grid; place-items: center; align-self: center; width: 34px; height: 34px; color: var(--re-green); background: #e8f5f1; border-radius: 50%; font-size: 12px; }
.re-summary strong { font-size: 15px; }
.re-summary small { margin-top: 4px; color: #6d8295; line-height: 1.5; }

.re-compare,
.re-responsibility { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.re-compare article,
.re-responsibility article { padding: 32px; border: 1px solid #d7e5e1; border-radius: 20px; background: #fff; }
.re-compare article:first-child { border-top: 4px solid var(--re-green-2); }
.re-compare__warn { border-top: 4px solid var(--re-gold) !important; }
.re-compare ul,
.re-responsibility ul { margin: 18px 0 0; padding: 0; list-style: none; }
.re-compare li,
.re-responsibility li { position: relative; padding: 11px 0 11px 29px; border-top: 1px solid #e7eeec; }
.re-compare li::before,
.re-responsibility li::before { position: absolute; left: 0; color: var(--re-green); font-weight: 900; content: "✓"; }
.re-compare__warn li::before { color: #aa7620; content: "—"; }

.re-grid { display: grid; gap: 20px; }
.re-grid--3 { grid-template-columns: repeat(3,1fr); }
.re-grid--4 { grid-template-columns: repeat(4,1fr); }
.re-grid article { min-height: 100%; padding: 28px; border: 1px solid #dce7e4; border-radius: 19px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.re-grid article:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(16,36,62,.08); }
.re-grid article > span { display: inline-block; margin-bottom: 40px; color: var(--re-green); font-size: 12px; font-weight: 850; letter-spacing: .12em; }

.re-timeline { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: rgba(255,255,255,.12); }
.re-timeline article { padding: 30px; background: rgba(255,255,255,.04); }
.re-timeline article > b { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 40px; color: #062538; background: #62dab6; border-radius: 50%; font-size: 12px; }
.re-timeline p { color: #bfd0cc; }
.re-timeline small { display: block; margin-top: 24px; padding-top: 17px; color: #f4d99c; border-top: 1px solid rgba(255,255,255,.12); line-height: 1.55; }

.re-channels { display: grid; gap: 15px; }
.re-channels article { display: grid; grid-template-columns: 76px 1fr; gap: 22px; padding: 25px 28px; align-items: start; border: 1px solid #dbe6e3; border-radius: 18px; background: #fff; }
.re-channel-logo { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 17px; color: #fff; font-size: 28px; font-weight: 900; }
.re-channel-logo--google { color: #174ea6; background: linear-gradient(135deg,#fff,#eef3ff); border: 1px solid #d9e2fa; }
.re-channel-logo--meta { background: #1666da; }
.re-channel-logo--video { color: #fff; background: #111827; }
.re-link { color: var(--re-green); font-size: 15px; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(11,114,91,.3); text-underline-offset: 5px; }
.re-section--dark .re-link { color: #73e3c0; }

.re-checklist { padding: 16px 28px; border-radius: 22px; background: var(--re-ink); box-shadow: 0 22px 50px rgba(16,36,62,.15); }
.re-checklist label { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.re-checklist label:last-child { border: 0; }
.re-checklist label > span { display: grid; place-items: center; width: 30px; height: 30px; color: #062538; background: #6bdfbc; border-radius: 50%; font-weight: 900; }
.re-checklist b { display: block; color: #fff; font-size: 15px; }
.re-checklist small { display: block; margin-top: 5px; color: #aec2cc; line-height: 1.55; }

.re-page-map { overflow: hidden; border: 1px solid #d8e5e1; border-radius: 22px; background: #fff; box-shadow: 0 20px 50px rgba(16,36,62,.08); }
.re-page-map__top { display: flex !important; justify-content: space-between; color: #fff; background: var(--re-green); font-size: 11px; font-weight: 850; letter-spacing: .13em; }
.re-page-map__top i { width: 8px; height: 8px; border-radius: 50%; background: #f4d180; }
.re-page-map > div { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: center; padding: 17px 22px; border-bottom: 1px solid #e7eeec; }
.re-page-map > div:last-child { border: 0; }
.re-page-map b { display: grid; place-items: center; width: 34px; height: 34px; color: var(--re-green); background: #eaf5f2; border-radius: 10px; font-size: 11px; }
.re-page-map strong,
.re-page-map small { display: block; }
.re-page-map small { margin-top: 3px; color: #708496; }

.re-funnel { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.re-funnel article { position: relative; padding: 25px 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.045); }
.re-funnel article:not(:last-child)::after { content: "→"; position: absolute; right: -14px; top: 25px; z-index: 2; color: #70dfbe; font-weight: 900; }
.re-funnel b { display: block; margin-bottom: 28px; color: #74e1c0; font-size: 13px; }
.re-funnel p { color: #bcd0ca; font-size: 14.5px; }
.re-center { margin-top: 30px !important; text-align: center; }

.re-flow { counter-reset: flow; }
.re-flow > div { display: grid; grid-template-columns: 46px 1fr; gap: 16px; align-items: center; position: relative; padding: 0 0 24px; }
.re-flow > div:not(:last-child)::after { content: ""; position: absolute; left: 22px; top: 46px; bottom: 3px; width: 1px; background: #b8d4cb; }
.re-flow span { display: grid; place-items: center; z-index: 1; width: 46px; height: 46px; border-radius: 50%; color: #fff; background: var(--re-green); font-size: 11px; font-weight: 850; }
.re-flow p { margin: 0; padding: 14px 18px; border: 1px solid #dce7e4; border-radius: 15px; background: #fff; }
.re-flow b,
.re-flow small { display: block; }
.re-flow small { margin-top: 3px; color: #718596; }

.re-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.re-metrics article { padding: 28px; border: 1px solid #d8e4e1; border-radius: 18px; background: #fff; }
.re-metrics span { display: inline-block; margin-bottom: 30px; color: var(--re-green); font-size: 11px; letter-spacing: .14em; font-weight: 900; }

.re-responsibility article { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.045); }
.re-responsibility li { border-color: rgba(255,255,255,.1); color: #c3d4d0; }
.re-responsibility li::before { color: #6de1bd; }

.re-process { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.re-process li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 26px; border: 1px solid #dce7e4; border-radius: 18px; background: #fff; }
.re-process li > b { display: grid; place-items: center; width: 42px; height: 42px; color: var(--re-green); background: #e9f5f1; border-radius: 13px; font-size: 11px; }

.re-costs { display: grid; gap: 12px; }
.re-costs div { padding: 22px 24px; border: 1px solid #d7e5e1; border-radius: 16px; background: #fff; }
.re-costs b,
.re-costs small { display: block; }
.re-costs b { color: var(--re-ink); font-size: 17px; }
.re-costs small { margin-top: 6px; color: #6f8394; line-height: 1.55; }
.re-rules { display: grid; gap: 9px; padding: 25px; border: 1px solid #d8e5e1; border-radius: 20px; }
.re-rules > span { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: center; padding: 13px; background: var(--re-soft); border-radius: 12px; color: #365169; font-weight: 700; }
.re-rules b { color: var(--re-green); font-size: 11px; }

.re-faq-wrap { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: 70px; align-items: start; }
.re-faq-wrap .re-heading { position: sticky; top: 92px; }
.re-faq details { margin-bottom: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.045); }
.re-faq summary { position: relative; padding: 20px 52px 20px 22px; color: #fff; font-size: 16px; font-weight: 750; cursor: pointer; list-style: none; }
.re-faq summary::-webkit-details-marker { display: none; }
.re-faq summary::after { content: "+"; position: absolute; right: 20px; top: 17px; color: #6ee1bd; font-size: 23px; }
.re-faq details[open] summary::after { content: "–"; }
.re-faq details p { margin: 0; padding: 0 22px 22px; color: #bed0cc; }

.re-final { color: #d7e5e0; background: linear-gradient(135deg,#0b725b,#095343); }
.re-final h2 { color: #fff; }
.re-final .re-kicker { color: #c5f0e3; }
.re-final__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 72px; align-items: center; }
.re-final__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 17px; padding: 30px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; background: rgba(255,255,255,.08); }
.re-final__actions a { color: #fff; font-weight: 750; }
.re-final__actions small { color: #c9dfd8; line-height: 1.55; }
.re-btn { display: inline-flex; justify-content: center; width: 100%; padding: 15px 20px; color: var(--re-ink) !important; background: #fff; border-radius: 12px; box-shadow: 0 13px 28px rgba(4,45,36,.22); }

@media (max-width: 1024px) {
  .re-hero__grid { grid-template-columns: 1fr 390px; gap: 38px; }
  .re-hero h1 { font-size: 49px; }
  .re-grid--4,
  .re-timeline { grid-template-columns: repeat(2,1fr); }
  .re-funnel { grid-template-columns: repeat(3,1fr); }
  .re-funnel article::after { display: none; }
}

@media (max-width: 820px) {
  .re-hero { padding: 62px 0; }
  .re-hero__grid,
  .re-overview__grid,
  .re-split,
  .re-heading--split,
  .re-faq-wrap,
  .re-final__inner { grid-template-columns: 1fr; gap: 38px; }
  .re-heading--split > p { padding: 0; border: 0; }
  .re-faq-wrap .re-heading { position: static; }
  .re-grid--3,
  .re-metrics,
  .re-process { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .re-hero { padding: 46px 0 50px; }
  .re-hero h1 { font-size: 40px; line-height: 1.06; letter-spacing: -.04em; }
  .re-hero__lead { font-size: 17px; line-height: 1.68; }
  .re-hero__points { display: grid; gap: 9px; }
  .re-hero .actions { display: grid; grid-template-columns: 1fr; }
  .re-hero .btn { width: 100%; justify-content: center; }
  .re-project { grid-template-columns: 108px 1fr; padding: 17px; gap: 14px; }
  .re-project__tower { min-height: 170px; }
  .re-project__data strong { font-size: 20px; }
  .re-signal { grid-template-columns: 1fr; }
  .re-nav__inner { gap: 20px; }
  .re-nav a { padding-block: 14px 12px; }
  .re-section { padding: 68px 0; }
  .real-estate-ads-landing h2 { font-size: 31px; line-height: 1.16; }
  .real-estate-ads-landing h3 { font-size: 20px; }
  .real-estate-ads-landing p,
  .real-estate-ads-landing li { font-size: 16px; line-height: 1.7; }
  .re-lead { font-size: 17px !important; }
  .re-grid--3,
  .re-grid--4,
  .re-timeline,
  .re-compare,
  .re-responsibility,
  .re-metrics,
  .re-process,
  .re-funnel { grid-template-columns: 1fr; }
  .re-grid article,
  .re-compare article,
  .re-responsibility article { padding: 24px; }
  .re-timeline article { padding: 26px 24px; }
  .re-timeline article > b,
  .re-grid article > span { margin-bottom: 26px; }
  .re-channels article { grid-template-columns: 58px 1fr; gap: 16px; padding: 22px 18px; }
  .re-channel-logo { width: 52px; height: 52px; border-radius: 14px; }
  .re-checklist { padding: 12px 20px; }
  .re-faq summary { font-size: 15.5px; }
  .re-final__actions { padding: 23px; }
}

/* Theme CSS is loaded after this scoped file; lock the mobile reading scale. */
@media (max-width: 560px) {
  body.page-id-2458 .re-hero h1 { font-size: 40px !important; line-height: 1.06 !important; }
  body.page-id-2458 .real-estate-ads-landing h2 { font-size: 31px !important; line-height: 1.16 !important; }
  body.page-id-2458 .real-estate-ads-landing p,
  body.page-id-2458 .real-estate-ads-landing li { font-size: 16.25px !important; }
}
.re-note { padding: 14px 17px; color: #3c596f; background: rgba(11,114,91,.07); border-left: 3px solid var(--re-green-2); border-radius: 0 10px 10px 0; }
.re-section--dark .re-note { color: #c7dad5; background: rgba(255,255,255,.055); }
.re-section--dark .re-note strong { color: #78e3c2; }

/* Preserve contrast after the main theme stylesheet loads. */
body.page-id-2458 .real-estate-ads-landing .re-section--dark h2,
body.page-id-2458 .real-estate-ads-landing .re-section--dark h3,
body.page-id-2458 .real-estate-ads-landing .re-section--dark strong { color: #fff !important; }
body.page-id-2458 .real-estate-ads-landing .re-section--dark p,
body.page-id-2458 .real-estate-ads-landing .re-section--dark li { color: #c9d9d5 !important; }
body.page-id-2458 .real-estate-ads-landing .re-section--dark .re-kicker,
body.page-id-2458 .real-estate-ads-landing .re-section--dark .re-link { color: #73e3c0 !important; }
body.page-id-2458 .real-estate-ads-landing .re-final h2 { color: #fff !important; }
body.page-id-2458 .real-estate-ads-landing .re-final p { color: #d7e5e0 !important; }
body.page-id-2458 .real-estate-ads-landing .re-final .re-kicker { color: #c5f0e3 !important; }

/* 2026-09-24: tighter section rhythm and selective two-column mobile cards. */
@media (min-width: 821px) { body.page-id-2458 .re-section { padding-block: 86px; } }
@media (max-width: 560px) { body.page-id-2458 .re-section { padding-block: 56px; } }
@media (min-width: 360px) and (max-width: 560px) {
  body.page-id-2458 .re-metrics, body.page-id-2458 .re-costs { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  body.page-id-2458 .re-metrics article, body.page-id-2458 .re-costs div { min-width: 0; padding: 18px 15px; }
  body.page-id-2458 .re-metrics span { margin-bottom: 14px; font-size: 10px; }
  body.page-id-2458 .re-metrics h3, body.page-id-2458 .re-costs b { font-size: 16px; line-height: 1.35; }
  body.page-id-2458 .re-metrics p, body.page-id-2458 .re-costs small { font-size: 14px !important; line-height: 1.55; }
}

/* Service layout v2: format previews and contextual media */
.re-ad-hero { min-width:0; padding:19px; border:1px solid rgba(255,255,255,.65); border-radius:28px; background:linear-gradient(150deg,#0e2b4b,#071a31 70%); box-shadow:0 30px 64px rgba(7,27,45,.22); }
.re-ad-hero__heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:0 2px 16px; color:#d9f4ed; }
.re-ad-hero__heading span { font-size:10px; font-weight:850; letter-spacing:.12em; }
.re-ad-hero__heading strong { color:#9ee1d8; font-size:11px; font-weight:750; white-space:nowrap; }
.re-ad-hero__stage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.re-ad-hero__note { margin:13px 3px 0 !important; color:#aec8d5; font-size:11px !important; line-height:1.45 !important; }
.re-ad-preview { box-sizing:border-box; min-width:0; overflow:hidden; border:1px solid #dbe5ec; border-radius:15px; background:#fff; color:#192c42; font-family:Inter,"Be Vietnam Pro",system-ui,sans-serif; box-shadow:0 10px 25px rgba(7,27,45,.12); }
.re-ad-preview * { box-sizing:border-box; }
.re-ad-preview p { color:#3b4b5e; }
.re-ad-hero .re-ad-preview { height:350px; }
.re-ad-preview--google { display:flex; flex-direction:column; }
.re-ad-preview__brand { display:flex; align-items:center; gap:6px; padding:13px 12px 8px; border-bottom:1px solid #edf1f4; color:#333; font-size:13px; }
.re-ad-preview__brand small { color:#738094; font-size:10px; font-weight:600; }
.re-ad-preview__g { color:#4285f4; font-size:23px; line-height:1; }
.re-google-query { display:flex; justify-content:space-between; align-items:center; margin:10px 11px 8px; padding:8px 11px; border:1px solid #dce3ea; border-radius:20px; color:#526375; font-size:11px; white-space:nowrap; overflow:hidden; }
.re-google-query span { color:#4285f4; font-size:19px; line-height:1; }
.re-google-result { padding:0 13px 10px; }
.re-google-result small { display:block; color:#60738a; font-size:9px; }
.re-google-result small b { color:#163d31; }
.re-google-result strong { display:block; margin:5px 0; color:#1a57b9; font-size:14px; line-height:1.25; }
.re-google-result p { margin:0 0 6px !important; font-size:10px !important; line-height:1.35 !important; }
.re-google-result > span { color:#246eb2; font-size:9px; }
.re-ad-preview--google > img { display:block; width:100%; min-height:0; flex:1; object-fit:cover; }
.re-ad-preview__foot { padding:9px 11px; color:#34705f; background:#eef8f4; font-size:9px; font-weight:850; letter-spacing:.05em; }
.re-ad-preview--facebook { display:flex; flex-direction:column; }
.re-facebook-head { display:flex; gap:8px; align-items:center; padding:11px; }
.re-facebook-avatar { display:grid; place-items:center; flex:none; width:27px; height:27px; color:#fff; background:linear-gradient(135deg,#135bc7,#00aaa4); border-radius:50%; font-size:12px; }
.re-facebook-head span { display:grid; min-width:0; }
.re-facebook-head strong { overflow:hidden; color:#26364a; font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
.re-facebook-head small { color:#7a889a; font-size:8px; }
.re-facebook-head i { margin-left:auto; color:#8c98a7; font-size:16px; font-style:normal; }
.re-facebook-copy { margin:0 !important; padding:0 11px 9px; font-size:10px !important; line-height:1.35 !important; }
.re-ad-preview--facebook > img { display:block; width:100%; min-height:0; flex:1; object-fit:cover; }
.re-facebook-cta { position:relative; display:grid; gap:2px; padding:9px 10px; background:#f2f5f8; }
.re-facebook-cta span { color:#697d90; font-size:8px; font-weight:750; letter-spacing:.03em; }
.re-facebook-cta strong { max-width:70%; color:#26384d; font-size:10px; line-height:1.2; }
.re-facebook-cta b { position:absolute; right:8px; bottom:12px; padding:5px 7px; border-radius:4px; background:#d9e9fb; color:#1664bd; font-size:8px; white-space:nowrap; }
.re-facebook-actions { padding:9px 8px; color:#8291a0; font-size:8px; text-align:center; white-space:nowrap; }
.re-ad-preview--tiktok { position:relative; height:100%; background:#06131d; border-color:#31404c; color:#fff; }
.re-ad-preview--tiktok::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.88)); pointer-events:none; }
.re-ad-preview--tiktok > img { display:block; width:100%; height:100%; object-fit:cover; }
.re-tiktok-top { position:absolute; z-index:1; top:14px; left:11px; right:8px; color:#fff; font-size:13px; font-weight:850; text-shadow:0 1px 5px #000; }
.re-tiktok-top span { display:block; margin-top:2px; font-size:8px; font-weight:650; }
.re-tiktok-actions { position:absolute; z-index:1; right:9px; bottom:105px; display:grid; gap:8px; color:#fff; font-size:18px; text-shadow:0 1px 6px #000; }
.re-tiktok-bottom { position:absolute; z-index:1; right:12px; bottom:12px; left:11px; display:grid; gap:5px; color:#fff; text-shadow:0 1px 5px #000; }
.re-tiktok-bottom strong { color:#fff; font-size:11px; line-height:1.25; }
.re-tiktok-bottom span { font-size:9px; }
.re-tiktok-bottom b { width:max-content; max-width:100%; margin-top:3px; padding:7px 9px; border-radius:5px; background:#f7fbfc; color:#142437; font-size:9px; text-shadow:none; }

.real-estate-ads-landing .re-intro-media { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); gap:52px; align-items:center; margin-bottom:38px; }
.real-estate-ads-landing .re-intro-media .re-heading { margin-bottom:0; }
.real-estate-ads-landing .re-intro-media--overview { margin-bottom:36px; }
.real-estate-ads-landing .re-editorial { position:relative; align-self:center; min-width:0; margin:0; overflow:hidden; border-radius:20px; background:#e8f0ef; box-shadow:0 16px 40px rgba(10,34,54,.13); }
.real-estate-ads-landing .re-editorial img { display:block; width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; }
.real-estate-ads-landing .re-editorial--full img { aspect-ratio:16/9; }
.real-estate-ads-landing .re-editorial--portrait { justify-self:end; width:min(100%,520px); }
.real-estate-ads-landing .re-editorial--portrait img { aspect-ratio:4/5; }
.real-estate-ads-landing .re-editorial figcaption { position:absolute; right:12px; bottom:12px; margin:0; padding:6px 9px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff; background:rgba(6,27,44,.72); font-size:10px; font-weight:750; line-height:1.2; backdrop-filter:blur(7px); }
.real-estate-ads-landing .re-section--dark .re-editorial { box-shadow:0 22px 44px rgba(0,0,0,.24); }
#tong-quan-dich-vu .re-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
#tong-quan-dich-vu .re-summary > span { grid-column:1/-1; }
#tong-quan-dich-vu .re-summary > div { grid-template-columns:36px 1fr; border-right:1px solid #e8efed; border-bottom:0; }
#tong-quan-dich-vu .re-summary > div:last-child { border-right:0; }
#ho-so .re-editorial, #chi-phi .re-editorial { margin-top:25px; }
#trang-dich .re-page-map-row, #crm .re-flow-row { margin-top:34px; }
#trang-dich .re-page-map-row .re-page-map { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
#trang-dich .re-page-map-row .re-page-map__top { grid-column:1/-1; }
#trang-dich .re-page-map-row .re-page-map > div:not(.re-page-map__top) { min-height:104px; border-right:1px solid #e7eeec; border-bottom:0; }
#trang-dich .re-page-map-row .re-page-map > div:last-child { border-right:0; }
#crm .re-flow-row .re-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; }
#crm .re-flow-row .re-flow > div { display:block; padding:0; }
#crm .re-flow-row .re-flow > div::after { display:none; }
#crm .re-flow-row .re-flow span { margin-bottom:10px; }
#crm .re-flow-row .re-flow p { min-height:90px; }

.re-ad-gallery { margin-top:46px; padding:32px; border:1px solid #dce9ee; border-radius:25px; background:linear-gradient(135deg,#f5f9fc,#eff8f5); }
.re-ad-gallery__heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:40px; margin-bottom:25px; }
.re-ad-gallery__heading h3 { margin:0 !important; font-size:29px !important; }
.re-ad-gallery__heading p { margin:0 !important; color:#5a6f82; font-size:14px !important; }
.re-ad-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.re-ad-gallery__item { min-width:0; padding:17px; border:1px solid #d9e7e9; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(11,43,68,.06); }
.re-ad-gallery__copy { min-height:125px; }
.re-ad-gallery__copy > span { color:#126f6d; font-size:10px; font-weight:850; letter-spacing:.1em; }
.re-ad-gallery__copy h4 { margin:8px 0 5px; color:#10243e; font-size:18px; line-height:1.25; }
.re-ad-gallery__copy p { margin:0 0 13px !important; color:#5e7285; font-size:12.5px !important; line-height:1.5 !important; }
.re-ad-gallery__item .re-ad-preview { height:410px; box-shadow:none; }
.re-ad-gallery__item .re-ad-preview__brand { font-size:15px; }
.re-ad-gallery__item .re-google-query { font-size:12px; }
.re-ad-gallery__item .re-google-result strong { font-size:17px; }
.re-ad-gallery__item .re-google-result p { font-size:12px !important; }
.re-ad-gallery__item .re-google-result > span { font-size:10px; }
.re-ad-gallery__item .re-facebook-head strong { font-size:12px; }
.re-ad-gallery__item .re-facebook-head small { font-size:10px; }
.re-ad-gallery__item .re-facebook-copy { font-size:11px !important; }
.re-ad-gallery__item .re-facebook-cta strong { font-size:12px; }
.re-ad-gallery__item .re-tiktok-top { font-size:18px; }
.re-ad-gallery__item .re-tiktok-bottom strong { font-size:16px; }
.re-ad-gallery__item .re-tiktok-bottom span { font-size:12px; }
.re-ad-gallery__item .re-tiktok-bottom b { font-size:11px; }

@media(max-width:1024px){
  .re-ad-hero { padding:14px; }
  .re-ad-hero .re-ad-preview { height:325px; }
  .re-ad-hero__heading { display:grid; gap:3px; }
  .re-ad-gallery { padding:24px; }
  .real-estate-ads-landing .re-intro-media { gap:32px; }
  #tong-quan-dich-vu .re-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #tong-quan-dich-vu .re-summary > div:nth-child(3) { border-right:0; }
  #crm .re-flow-row .re-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:820px){
  .real-estate-ads-landing .re-intro-media { grid-template-columns:1fr; gap:25px; }
  .real-estate-ads-landing .re-editorial--portrait { justify-self:center; }
  .re-ad-gallery__heading { grid-template-columns:1fr; gap:12px; }
  .re-ad-gallery__grid { grid-template-columns:1fr; }
  .re-ad-gallery__item { width:min(100%,460px); margin-inline:auto; }
  .re-ad-gallery__copy { min-height:0; }
  #trang-dich .re-page-map-row .re-page-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px){
  .re-ad-hero { padding:14px; }
  .re-ad-hero__stage { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; scrollbar-width:thin; }
  .re-ad-hero .re-ad-preview { flex:0 0 210px; height:355px; scroll-snap-align:start; }
  .re-ad-hero__note { font-size:10px !important; }
  .real-estate-ads-landing .re-editorial { border-radius:15px; }
  #tong-quan-dich-vu .re-summary { grid-template-columns:1fr; }
  #tong-quan-dich-vu .re-summary > div { border-right:0; border-bottom:1px solid #e8efed; }
  #trang-dich .re-page-map-row .re-page-map { grid-template-columns:1fr; }
  #trang-dich .re-page-map-row .re-page-map > div:not(.re-page-map__top) { border-right:0; border-bottom:1px solid #e7eeec; }
  #crm .re-flow-row .re-flow { grid-template-columns:1fr; }
  #crm .re-flow-row .re-flow p { min-height:0; }
  .re-ad-gallery { margin-top:32px; padding:17px; border-radius:19px; }
  .re-ad-gallery__heading h3 { font-size:25px !important; }
  .re-ad-gallery__item { padding:13px; }
  .re-ad-gallery__item .re-ad-preview { height:385px; }
}

/* Visual QA refinements */
.re-hero .re-ad-hero__note { color:#c5dbe2 !important; }
.re-ad-hero__mobile-hint { display:none; }
.re-ad-gallery__item .re-ad-preview--tiktok { width:min(100%,230px); margin-inline:auto; border:5px solid #172633; border-radius:26px; box-shadow:0 14px 27px rgba(6,23,39,.15); }
#trang-dich .re-split, #crm .re-split { align-items:center; }
@media(max-width:560px){ .re-ad-hero__desktop-note { display:none; } .re-ad-hero__mobile-hint { display:block; } .re-ad-gallery__item .re-ad-preview--tiktok { height:410px; } }

/* Service layout v3: equal-height media pairs and reusable information rows. */
html { scroll-behavior:auto !important; }
.re-hero .re-hero__grid::after,
.real-estate-ads-landing .re-split::after,
.real-estate-ads-landing .re-faq-wrap::after,
.real-estate-ads-landing .re-final__inner::after { display:none; }
.re-hero .re-ad-hero { align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.real-estate-ads-landing .re-intro-media { align-items:stretch; }
.real-estate-ads-landing .re-intro-media > .re-heading { min-height:270px; display:flex; flex-direction:column; justify-content:center; }
.real-estate-ads-landing .re-intro-media > .re-heading--split { display:grid; align-content:center; }
.real-estate-ads-landing .re-intro-media > .re-editorial,
.real-estate-ads-landing .re-media-split > .re-editorial { position:relative; align-self:stretch; min-height:0; }
.real-estate-ads-landing .re-intro-media > .re-editorial img,
.real-estate-ads-landing .re-media-split > .re-editorial img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.real-estate-ads-landing .re-media-split { align-items:stretch; }
.real-estate-ads-landing .re-media-split::before,
.real-estate-ads-landing .re-media-split::after { display:none; }
.real-estate-ads-landing .re-media-split > .re-editorial--portrait { width:100%; max-width:520px; }
#ho-so .re-editorial, #chi-phi .re-editorial { margin-top:0; }
#ho-so .re-checklist-row, #chi-phi .re-costs-row { margin-top:32px; }
#ho-so .re-checklist-row .re-checklist { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:6px 16px; }
#ho-so .re-checklist-row .re-checklist .re-check-item { display:block; min-width:0; padding:22px 17px; border-right:1px solid rgba(255,255,255,.12); border-bottom:0; }
#ho-so .re-checklist-row .re-checklist .re-check-item:last-child { border-right:0; }
#ho-so .re-checklist-row .re-checklist .re-check-icon { display:grid; place-items:center; width:30px; height:30px; margin-bottom:14px; color:#062538; background:#6bdfbc; border-radius:50%; font-weight:900; }
#chi-phi .re-costs-row .re-costs { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
#chi-phi .re-costs-row .re-costs div { min-width:0; }
#trang-dich .re-split > div:first-child .re-page-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:25px; }
#trang-dich .re-split .re-page-map__top { grid-column:1/-1; }
#trang-dich .re-split .re-page-map > div:not(.re-page-map__top) { min-height:95px; padding:13px 15px; grid-template-columns:34px 1fr; gap:9px; }
#trang-dich .re-split .re-page-map > div:nth-child(2),
#trang-dich .re-split .re-page-map > div:nth-child(4) { border-right:1px solid #e7eeec; }
#chinh-sach .re-split { align-items:stretch; }
#chinh-sach .re-rules { align-content:center; }
#cau-hoi .re-faq-wrap { grid-template-columns:minmax(0,1fr); gap:28px; }
#cau-hoi .re-faq-wrap .re-heading { position:static; width:min(100%,920px); max-width:none; margin:0 auto; }
#cau-hoi .re-faq { width:min(100%,920px); margin-inline:auto; }
.re-nav { top:83px; }
.re-section { scroll-margin-top:145px; }
@media(min-width:561px) and (max-width:1350px) {
  .re-ad-hero__stage { display:flex; gap:12px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .re-ad-hero .re-ad-preview { flex:0 0 205px; scroll-snap-align:start; }
  .re-ad-hero__desktop-note { display:none; }
  .re-ad-hero__mobile-hint { display:block; }
}
@media(max-width:900px) {
  .re-hero__grid { grid-template-columns:minmax(0,1fr); gap:32px; }
}
@media(min-width:700px) and (max-width:900px) {
  .re-ad-hero__stage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; padding-bottom:0; }
  .re-ad-hero .re-ad-preview { width:auto; flex:initial; }
  .re-ad-hero__desktop-note { display:block; }
  .re-ad-hero__mobile-hint { display:none; }
}
@media(max-width:1100px) {
  #ho-so .re-checklist-row .re-checklist { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #ho-so .re-checklist-row .re-checklist .re-check-item { border-bottom:1px solid rgba(255,255,255,.12); }
  #ho-so .re-checklist-row .re-checklist .re-check-item:nth-child(3) { border-right:0; }
  #ho-so .re-checklist-row .re-checklist .re-check-item:nth-child(n+4) { border-bottom:0; }
  #chi-phi .re-costs-row .re-costs { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:960px) {
  .real-estate-ads-landing .re-split { grid-template-columns:minmax(0,1fr); gap:28px; }
  .real-estate-ads-landing .re-media-split > .re-editorial { aspect-ratio:3/2; min-height:0; }
  .real-estate-ads-landing .re-media-split > .re-editorial--portrait { aspect-ratio:4/5; justify-self:center; width:min(100%,520px); }
}
@media(max-width:820px) {
  .real-estate-ads-landing .re-intro-media > .re-heading { min-height:0; }
  .real-estate-ads-landing .re-intro-media > .re-editorial,
  .real-estate-ads-landing .re-media-split > .re-editorial { aspect-ratio:3/2; min-height:0; }
  .real-estate-ads-landing .re-intro-media > .re-editorial--full { aspect-ratio:16/9; }
  .real-estate-ads-landing .re-media-split > .re-editorial--portrait { aspect-ratio:4/5; justify-self:center; width:min(100%,520px); }
  .re-nav { top:70px; }
  .re-section { scroll-margin-top:128px; }
}
@media(max-width:650px) {
  #ho-so .re-checklist-row .re-checklist { grid-template-columns:1fr; padding:8px 18px; }
  #ho-so .re-checklist-row .re-checklist .re-check-item,
  #ho-so .re-checklist-row .re-checklist .re-check-item:nth-child(3),
  #ho-so .re-checklist-row .re-checklist .re-check-item:nth-child(n+4) { display:grid; grid-template-columns:32px 1fr; gap:10px; padding:16px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  #ho-so .re-checklist-row .re-checklist .re-check-item:last-child { border-bottom:0; }
  #ho-so .re-checklist-row .re-checklist .re-check-icon { grid-row:1/3; margin:0; }
  #trang-dich .re-split > div:first-child .re-page-map { grid-template-columns:1fr; }
  #trang-dich .re-split .re-page-map > div:nth-child(2),
  #trang-dich .re-split .re-page-map > div:nth-child(4) { border-right:0; }
}

/* 2026-09-27: avoid a second grid inside the narrow measurement column. */
body.page-id-2458 .real-estate-ads-landing #do-luong .re-intro-media .re-heading--split {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:0;
}
body.page-id-2458 .real-estate-ads-landing #do-luong .re-intro-media .re-heading--split > p {
  padding:0;
  border:0;
  max-width:620px;
}

/* Final balance pass: section introductions, channel rows and consultation. */
@media(min-width:821px){
  body.page-id-2458 #phu-hop .re-heading--split,
  body.page-id-2458 #kenh .re-heading--split { align-items:stretch; }
  body.page-id-2458 #phu-hop .re-heading--split > div,
  body.page-id-2458 #kenh .re-heading--split > div { display:flex; flex-direction:column; justify-content:center; min-width:0; }
  body.page-id-2458 #phu-hop .re-heading--split > p,
  body.page-id-2458 #kenh .re-heading--split > p { display:flex; align-items:center; min-width:0; margin:0; }
  body.page-id-2458 .re-ad-gallery__heading { align-items:stretch; }
  body.page-id-2458 .re-ad-gallery__heading > div { display:flex; flex-direction:column; justify-content:center; }
  body.page-id-2458 .re-ad-gallery__heading > p { display:flex; align-items:center; }
  body.page-id-2458 .re-channels article { align-items:center; }
}
@media(min-width:901px){
  body.page-id-2458 #tu-van .consult-wrap { align-items:stretch; }
  body.page-id-2458 #tu-van .consult-form { align-self:stretch; height:100%; }
}

/* Follow-up to the balanced BDS layout: complete photos at their original ratio. */
.real-estate-ads-landing .re-intro-media,
.real-estate-ads-landing .re-media-split { align-items:center; }
.real-estate-ads-landing .re-intro-media > .re-heading { min-height:0; }
.real-estate-ads-landing .re-editorial,
.real-estate-ads-landing .re-intro-media > .re-editorial,
.real-estate-ads-landing .re-media-split > .re-editorial,
.real-estate-ads-landing .re-media-split > .re-editorial--portrait {
  min-height:0;
  height:auto;
  aspect-ratio:auto;
  align-self:center;
}
.real-estate-ads-landing .re-editorial img,
.real-estate-ads-landing .re-editorial--full img,
.real-estate-ads-landing .re-editorial--portrait img,
.real-estate-ads-landing .re-intro-media > .re-editorial img,
.real-estate-ads-landing .re-media-split > .re-editorial img {
  position:static;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
}
.real-estate-ads-landing .re-editorial img[width="1672"][height="941"] { aspect-ratio:1672 / 941; }
.real-estate-ads-landing .re-editorial img[width="1536"][height="1024"] { aspect-ratio:3 / 2; }
.real-estate-ads-landing .re-editorial img[width="1122"][height="1402"] { aspect-ratio:1122 / 1402; }
.real-estate-ads-landing .re-editorial img[width="1200"][height="675"] { aspect-ratio:16 / 9; }
.real-estate-ads-landing .re-editorial img[width="1448"][height="1086"] { aspect-ratio:4 / 3; }
.real-estate-ads-landing .re-editorial img[width="720"][height="1279"] { aspect-ratio:720 / 1279; }
.real-estate-ads-landing .re-editorial img[width="900"][height="900"] { aspect-ratio:1; }
.re-ad-preview--google > img,
.re-ad-preview--facebook > img { object-fit:contain; background:#eaf3f9; }
@media(max-width:767px) {
  .real-estate-ads-landing .re-intro-media > .re-editorial,
  .real-estate-ads-landing .re-media-split > .re-editorial,
  .real-estate-ads-landing .re-media-split > .re-editorial--portrait { aspect-ratio:auto; min-height:0; }
}

/* Keep the complete vertical creative visible inside ad format previews. */
.re-ad-preview--tiktok > img { object-fit:contain; background:#06131d; }

/* Native-format previews added 2026-09-29. Images remain separate from platform UI. */
.dvqc-formats{margin-top:30px;padding:30px;border:1px solid #dce6ef;border-radius:24px;background:#f6f9fc}
.dvqc-formats__heading{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:end;margin-bottom:22px}
.dvqc-formats__heading>div>span{display:block;margin-bottom:8px;color:#0968d6;font-size:12px;font-weight:850;letter-spacing:.08em}
.dvqc-formats__heading h3{margin:0!important;color:#11284b!important;font-size:27px!important;line-height:1.2!important}
.dvqc-formats__heading p,.dvqc-formats__note{margin:0!important;color:#516781!important;font-size:15px!important;line-height:1.6!important}
.dvqc-formats__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dvqc-formats__card{min-width:0;padding:18px;border:1px solid #dce6ef;border-radius:19px;background:#fff;box-shadow:0 10px 25px rgba(12,39,71,.055)}
.dvqc-formats__text>span{color:#0867d6;font-size:11px;font-weight:850;letter-spacing:.06em}
.dvqc-formats__text h4{margin:6px 0 4px!important;color:#102747!important;font-size:20px!important;line-height:1.25!important}
.dvqc-formats__text p{min-height:48px;margin:0 0 13px!important;color:#566b83!important;font-size:14px!important;line-height:1.5!important}
.dvqc-formats__mock{overflow:hidden;border:1px solid #dce6f1;border-radius:15px;background:#fff}
.dvqc-formats__bar{display:flex;align-items:center;gap:9px;height:48px;padding:7px 12px;border-bottom:1px solid #e7edf3}
.dvqc-formats__logo{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;background:#eef5ff}
.dvqc-formats__logo img{display:block;width:22px;height:22px;object-fit:contain}
.dvqc-formats__logo--facebook{background:#0866ff}.dvqc-formats__logo--instagram{background:linear-gradient(45deg,#ffd600,#ff0069,#7638fa)}
.dvqc-formats__logo--youtube{background:#ff0033}.dvqc-formats__youtube-logo{color:#fff;font-size:17px;line-height:1}
.dvqc-formats__bar strong{color:#162e4f;font-size:14px;font-weight:800}.dvqc-formats__bar small{margin-left:auto;color:#617791;font-size:11px}
.dvqc-formats__photo{position:relative;height:220px;overflow:hidden;background:#dfeaf5}
.dvqc-formats__photo img{display:block;width:100%;height:100%;object-fit:cover}
.dvqc-formats__mock--instagram .dvqc-formats__photo{width:44%;height:230px;margin:10px auto;border:4px solid #25364e;border-radius:18px;box-shadow:0 7px 18px rgba(13,31,54,.18)}
.dvqc-formats__mock--carousel .dvqc-formats__photo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;height:220px;padding:8px;background:#f0f4f8}
.dvqc-formats__mock--carousel .dvqc-formats__photo img{min-width:0;border-radius:8px}
.dvqc-formats__mock--lead .dvqc-formats__photo{height:145px}
.dvqc-formats__mini-form{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 13px 13px}
.dvqc-formats__mini-form span{padding:8px 5px;border:1px solid #d8e5f0;border-radius:6px;color:#5e738c;font-size:10px;text-align:center}
.dvqc-formats__play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:54px;height:39px;border-radius:10px;background:#ff0033;color:#fff;font-size:20px;transform:translate(-50%,-50%)}
.dvqc-formats__native{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:13px}
.dvqc-formats__native small{grid-column:1/-1;color:#6c8098;font-size:11px;font-weight:700;text-transform:uppercase}
.dvqc-formats__native strong{min-width:0;color:#102747;font-size:15px;line-height:1.3}
.dvqc-formats__native>span{padding:8px 11px;border-radius:8px;background:#eaf2ff;color:#075dcc;font-size:12px;font-weight:800;white-space:nowrap}
.dvqc-formats__native>span b{padding-left:4px}.dvqc-formats__note{margin-top:18px!important;font-size:13px!important}
@media(max-width:700px){.dvqc-formats{padding:16px;border-radius:18px}.dvqc-formats__heading{grid-template-columns:1fr;gap:9px}.dvqc-formats__heading h3{font-size:23px!important}.dvqc-formats__grid{grid-template-columns:1fr;gap:14px}.dvqc-formats__card{padding:13px}.dvqc-formats__text p{min-height:0}.dvqc-formats__photo{height:205px}.dvqc-formats__native{gap:6px}.dvqc-formats__native strong{font-size:14px}.dvqc-formats__native>span{font-size:11px}}

/* Existing platform marks use the same precise SVG assets as the new previews. */
body.page-id-2458 .re-channel-logo--google,
body.page-id-2458 .re-ad-preview__g{font-size:0!important;color:transparent!important;background:#eef5ff url('/wp-content/themes/dichvuquangcao/assets/spa-google-ads-mark.svg') center/36px no-repeat!important}
body.page-id-2458 .re-channel-logo--meta,
body.page-id-2458 .re-facebook-avatar{font-size:0!important;color:transparent!important;background:#0866ff url('/wp-content/themes/dichvuquangcao/assets/spa-facebook-mark.svg') center/52% no-repeat!important}
body.page-id-2458 .re-channel-logo--video{font-size:0!important;color:transparent!important;background:#101a2d url('/wp-content/themes/dichvuquangcao/assets/spa-tiktok-mark.svg') center/33px no-repeat!important}
body.page-id-2458 .re-tiktok-top{font-size:0!important}
body.page-id-2458 .re-tiktok-top::before{content:'';display:block;width:54px;height:22px;background:url('/wp-content/themes/dichvuquangcao/assets/spa-tiktok-mark.svg') left center/contain no-repeat}
body.page-id-2458 .re-tiktok-top span{font-size:8px}

/* Real estate ad-format expansion: keep the specimen UI in CSS and images as actual photography. */
.real-estate-ads-landing .re-more-format .dvqc-formats__text p{min-height:70px}
.real-estate-ads-landing .re-more-format .dvqc-formats__photo{height:215px}
.real-estate-ads-landing .re-more-format .dvqc-formats__logo--tiktok{background:#101828}
.real-estate-ads-landing .re-more-format .dvqc-formats__logo--tiktok img{width:24px;height:24px}
.real-estate-ads-landing .re-more-format .dvqc-formats__photo img{object-position:center 45%}
.real-estate-ads-landing .re-more-format__chips{display:flex;flex-wrap:wrap;gap:7px;padding:10px 12px 0}
.real-estate-ads-landing .re-more-format__chips span{padding:5px 8px;border-radius:20px;background:#edf5ff;color:#165b9f;font-size:11px;font-weight:700}
.real-estate-ads-landing .re-more-format__message{display:grid;gap:5px;padding:11px 13px;background:#f5f9ff}
.real-estate-ads-landing .re-more-format__message b{color:#123a73;font-size:12px}
.real-estate-ads-landing .re-more-format__message span{max-width:90%;padding:8px 10px;border-radius:11px 11px 11px 2px;background:#e3efff;color:#243e62;font-size:12px;line-height:1.4}
.real-estate-ads-landing .re-more-format__message em{justify-self:end;padding:7px 10px;border-radius:11px 11px 2px 11px;background:#0b66e8;color:#fff;font-size:11px;font-style:normal}
.real-estate-ads-landing .dvqc-formats__mock--instagram .dvqc-formats__photo,
.real-estate-ads-landing .dvqc-formats__mock--tiktok .dvqc-formats__photo{width:min(56%,215px);height:270px;margin:10px auto 0;border:4px solid #1d2b42;border-radius:20px;box-shadow:0 8px 18px rgba(14,36,70,.14)}
.real-estate-ads-landing .dvqc-formats__mock--tiktok .dvqc-formats__photo{border-color:#101828}
.real-estate-ads-landing .re-more-format__play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:rgba(7,20,42,.78);color:white;font-size:18px;transform:translate(-50%,-50%)}
.real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;padding:22px}
.real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__text{padding:0 12px}
.real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__text h4{font-size:25px!important}
.real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__text p{min-height:0;max-width:380px;margin-bottom:0!important;font-size:16px!important;line-height:1.65!important}
.real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__mock{width:100%}
.real-estate-ads-landing #mau-quang-cao{scroll-margin-top:130px}
@media(max-width:700px){
  .real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child{grid-column:auto;display:block;padding:13px}
  .real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__text{padding:0}
  .real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__text h4{font-size:20px!important}
  .real-estate-ads-landing .dvqc-formats__grid>.re-more-format:last-child .dvqc-formats__text p{margin-bottom:13px!important;font-size:14px!important;line-height:1.5!important}
  .real-estate-ads-landing .re-more-format .dvqc-formats__text p{min-height:0}
  .real-estate-ads-landing .re-more-format .dvqc-formats__photo{height:205px}
  .real-estate-ads-landing .dvqc-formats__mock--instagram .dvqc-formats__photo,
  .real-estate-ads-landing .dvqc-formats__mock--tiktok .dvqc-formats__photo{width:min(62%,215px);height:285px}
}
