/*
Theme Name: Rubix International
Author: Rubix International
Description: Giao diện riêng của Rubix International, dựng theo mock-up và quy chuẩn 13/10/2026 D2.
Version: 1.0.6
Requires at least: 7.0
Requires PHP: 8.1
Text Domain: rubix
*/

/* ---------- Font: tự lưu trên website, không gọi Google ---------- */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url(assets/fonts/plus-jakarta-sans-vietnamese-400-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url(assets/fonts/plus-jakarta-sans-vietnamese-500-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url(assets/fonts/plus-jakarta-sans-vietnamese-600-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url(assets/fonts/plus-jakarta-sans-vietnamese-700-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url(assets/fonts/plus-jakarta-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url(assets/fonts/plus-jakarta-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url(assets/fonts/plus-jakarta-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url(assets/fonts/plus-jakarta-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:400;src:url(assets/fonts/plus-jakarta-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:500;src:url(assets/fonts/plus-jakarta-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:600;src:url(assets/fonts/plus-jakarta-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-display:swap;font-weight:700;src:url(assets/fonts/plus-jakarta-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- 1. Biến dùng chung (quy chuẩn 13/10/2026 D1) ---------- */
:root{
  --rx-orange:#F26724;   /* cam theo file logo gốc: điểm nhấn, không dùng cho chữ nhỏ */
  --rx-brown:#3A2416;    /* nâu theo file logo gốc: chữ menu, liên kết, nút */
  --rx-ink:#1A1A1A;
  --rx-muted:#6B6B6B;
  --rx-line:#E6E2DC;
  --rx-bg:#FFFFFF;
  --rx-side:220px;       /* menu dọc */
  --rx-gutter:16px;      /* lề */
  --rx-gap:24px;         /* khoảng cách ảnh - chữ khi xếp dọc */
  --rx-text:640px;       /* độ rộng tối đa khối chữ trong cột */
  --rx-font:'Plus Jakarta Sans',Arial,sans-serif;
  --rx-foot:56px;
  --rx-vh:100vh;         /* chiều cao màn hình; Safari iPad, iPhone: dùng vùng nhìn thấy (svh) để chân trang không bị thanh công cụ che */
  --rx-amber:#F59C22;    /* cam nhạt trong logo */
  /* Dải màu giống line1.png trên website đang chạy: 6 ô ngắn (mỗi ô 1/18), đuôi vàng cam 2/3 */
  --rx-strip:linear-gradient(90deg,#1A5860 0 5.556%,#0A7559 0 11.111%,#0E3236 0 16.667%,#6F3B20 0 22.222%,#E8252C 0 27.778%,#EF6926 0 33.333%,#F79B2A 0);
}
@supports (height:100svh){:root{--rx-vh:100svh}}
@media (min-width:768px){:root{--rx-gutter:24px;--rx-gap:32px}}
@media (min-width:1280px){:root{--rx-side:240px}}

/* ---------- 2. Nền tảng ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--rx-bg);color:var(--rx-ink);font-family:var(--rx-font);font-size:18px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased}
@media (min-width:768px){body{font-size:16px;line-height:1.65}}
img{max-width:100%;height:auto;display:block}
a{color:var(--rx-brown);text-decoration:none}
a:hover,a:focus-visible{color:var(--rx-orange)}
:focus-visible{outline:2px solid var(--rx-orange);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 3. Thang chữ ---------- */
h1,h2,h3{margin:0 0 16px;color:var(--rx-ink);overflow-wrap:break-word}
h1,h2{font-weight:400;text-transform:uppercase}
h1{font-size:26px;line-height:1.3;letter-spacing:.06em}
h1.rx-title[data-fit]{white-space:nowrap;overflow-x:clip}  /* một dòng; cỡ chữ do assets/rubix.js thu nhỏ khi cần */
h2{font-size:19px;line-height:1.35;letter-spacing:.06em}
h3{font-size:16px;line-height:1.4;font-weight:600}
@media (min-width:768px){h1{font-size:34px;letter-spacing:.08em}h2{font-size:22px;letter-spacing:.08em}h3{font-size:18px}}
p{margin:0 0 1em}
.rx-text>*:last-child{margin-bottom:0}
.rx-text h2{margin-top:40px}
.rx-text>h2:first-child,.rx-text>h1+h2{margin-top:0}
.rx-text h3{margin:28px 0 8px;font-style:normal;font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--rx-brown)}
.rx-text ul{margin:0 0 1em;padding-left:0;list-style:none}
.rx-text li{position:relative;padding-left:20px;margin:0 0 .35em}
.rx-text li::before{content:"";position:absolute;left:2px;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--rx-ink)}
/* Danh sách có từ dẫn đầu dòng (How We Work): bỏ chấm, từ dẫn màu cam, thẳng lề trái */
.rx-text li:has(>strong:first-child){padding-left:0;margin-bottom:.6em}
.rx-text li:has(>strong:first-child)::before{display:none}
.rx-text li>strong:first-child{font-weight:400;color:var(--rx-orange)}
.rx-title{position:relative;padding-bottom:20px;margin-bottom:28px}
/* Dải màu: luôn căn đều hai lề trái - phải của khối nội dung */
.rx-title::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--rx-strip)}

/* ---------- 4. Header điện thoại, iPad dọc (<=1000px) ---------- */
.rx-top{display:flex;align-items:center;justify-content:space-between;height:88px;padding:0 var(--rx-gutter);background:var(--rx-bg);position:sticky;top:0;z-index:30;border-bottom:1px solid transparent}
.rx-burger,.rx-top .rx-flags{width:80px;display:flex;align-items:center}
.rx-burger{height:44px;padding:0;border:0;background:none;cursor:pointer;justify-content:flex-start}
.rx-burger span{display:block;width:18px;height:12px;background:linear-gradient(var(--rx-orange) 0 2px,transparent 2px 5px,var(--rx-orange) 5px 7px,transparent 7px 10px,var(--rx-orange) 10px 12px)}
.rx-top .rx-logo img{height:44px;width:auto}
@media (min-width:768px){.rx-top{height:96px}.rx-top .rx-logo img{height:50px}}
.rx-top .rx-flags{justify-content:flex-end;gap:4px}
/* Ấn phẩm: trang nền trắng, có đường kẻ xám (như chân trang) ngăn header với nội dung */
.page-template-publications .rx-top{border-bottom-color:var(--rx-line)}
.rx-flags a{display:flex;align-items:center;justify-content:center;width:24px;height:44px}
.rx-flags img{width:20px;height:13px}
.rx-flags a:not(.is-current) img{opacity:.45;transition:opacity .2s}
.rx-flags a:hover img{opacity:1}
.rx-drop{display:none;position:sticky;top:88px;z-index:29;padding:4px var(--rx-gutter) 24px;background:var(--rx-bg);border-bottom:1px solid var(--rx-line)}
@media (min-width:768px){.rx-drop{top:96px}}
.rx-drop.is-open{display:block}
.rx-menu{list-style:none;margin:0;padding:0}
.rx-drop .rx-menu a{display:block;padding:12px 0;font-size:13px;line-height:20px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--rx-brown)}
.rx-menu .current-menu-item>a,.rx-menu .current-page-ancestor>a,.rx-menu .current-menu-parent>a{color:var(--rx-orange)}

/* ---------- 5. Menu dọc (>=1001px) ---------- */
.rx-side{display:none}
@media (min-width:1001px){
  .rx-top,.rx-drop{display:none!important}
  .rx-side{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:var(--rx-side);padding:44px 32px 36px 36px;background:var(--rx-bg);overflow-y:auto;z-index:20}
  .rx-side .rx-logo img{width:128px;height:auto}
  .rx-side nav{margin-top:52px}
  .rx-side .rx-menu a{position:relative;display:block;padding:9px 0;font-size:12px;line-height:18px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--rx-brown)}
  .rx-side .rx-menu .current-menu-item>a::before,.rx-side .rx-menu .current-page-ancestor>a::before,.rx-side .rx-menu .current-menu-parent>a::before{content:"";position:absolute;left:-14px;top:10px;bottom:10px;width:2px;background:var(--rx-orange)}
  .rx-side .rx-flags{display:flex;gap:4px;margin-top:36px;margin-left:-2px}
  .rx-side .rx-flags a{width:24px;height:24px;justify-content:flex-start}
  .rx-main{margin-left:var(--rx-side);min-height:var(--rx-vh)}
  .rx-main>:not(.rx-foot){border-left:1px solid var(--rx-line)}
}

/* ---------- 6. Bản quyền, liên kết bảo mật ---------- */
/* Một dòng, cao 56px, giống nhau trên mọi trang và mọi khổ màn hình */
.rx-foot{height:var(--rx-foot);display:flex;align-items:center;padding:0 var(--rx-gutter);border-top:1px solid var(--rx-line);background:var(--rx-bg)}
.rx-copy{margin:0;font-size:11px;line-height:1;letter-spacing:.02em;color:var(--rx-muted);white-space:nowrap}
.rx-copy span+span::before{content:"·";margin:0 .7em}
@media (max-width:479px){.rx-copy{font-size:10px;letter-spacing:0}.rx-copy span+span::before{margin:0 .45em}}
.rx-copy a{color:var(--rx-muted);text-decoration:none}
.rx-copy a:hover,.rx-copy a:focus-visible{color:var(--rx-orange)}
/* iPhone, iPad dọc (≤1000px): căn giữa. Từ 1001px: thẳng mép trái ảnh */
@media (max-width:1000px){.rx-foot{justify-content:center}.rx-copy{text-align:center}}
@media (min-width:1001px){.rx-foot{padding:0}}

/* ---------- 7. Trang chủ ---------- */
.rx-hero{position:relative;height:calc(100svh - 88px - var(--rx-foot));min-height:440px;overflow:hidden;background:#1d1a17}
.rx-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos-m,50% 50%)}
/* Điểm lấy nét ảnh trang chủ theo khổ (trường rx_hero_pos) */
@media (min-width:768px){.rx-hero img{object-position:var(--pos-t,50% 50%)}}
@media (min-width:1001px){.rx-hero img{object-position:var(--pos-n,50% 50%)}}
@media (min-width:1280px){.rx-hero img{object-position:var(--pos-l,50% 50%)}}
.rx-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(15,11,8,.42) 0%,rgba(15,11,8,.18) 60%,rgba(15,11,8,.10) 100%)}
.rx-hero__text{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 var(--rx-gutter)}
.rx-hero__text h1{color:#fff;margin:0;white-space:nowrap;font-weight:300;font-size:clamp(20px,5.6vw,58px);letter-spacing:.14em;line-height:1.15;margin-right:-.14em}
.rx-hero__text .rx-hero__rule{width:48px;height:1px;background:rgba(255,255,255,.7);margin:20px 0 16px}
.rx-hero__text p{margin:0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin-right:-.22em}
@media (min-width:768px){.rx-hero{height:calc(100svh - 96px - var(--rx-foot))}.rx-hero__text p{font-size:13px}}
@media (min-width:1001px){.rx-hero{height:calc(var(--rx-vh) - var(--rx-foot))}}

/* ---------- 8. Trang hai cột: chữ - ảnh (theo mock-up) ---------- */
.rx-split__media img{width:100%;aspect-ratio:2/1;object-fit:cover}
.rx-split__text{padding:var(--rx-gap) var(--rx-gutter) 48px}
.rx-split__text .rx-text{max-width:var(--rx-text)}
/* >=1024px: ảnh bên trái (giữa menu và nội dung), chữ bên phải; ảnh kéo dài hết chiều cao nội dung */
@media (min-width:1024px){
  .rx-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:calc(var(--rx-vh) - var(--rx-foot))}
  .rx-split__media{position:relative;overflow:hidden}  /* ảnh không bao giờ tràn khỏi cột (Safari iPad) */
  .rx-split__media img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
  .rx-split__text{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(36px,4.5vw,88px)}
}
.rx-back-wrap{margin:32px 0 0}
.rx-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--rx-muted)}
.rx-back::before{content:"←";color:var(--rx-orange)}
.rx-back:hover,.rx-back:focus-visible{color:var(--rx-orange)}

/* Ba cột thông tin liên hệ */
.rx-text .wp-block-columns{display:grid;grid-template-columns:1fr;gap:24px;margin:8px 0 0}
@media (min-width:768px){.rx-text .wp-block-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
.rx-text .wp-block-column h3{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rx-ink)}
.rx-text .wp-block-column p{font-size:15px;line-height:1.6}
@media (max-width:767px){.rx-text .wp-block-column p{font-size:18px;line-height:1.55}}

/* ---------- 9. Thẻ ảnh: Dịch vụ, Thương hiệu ---------- */
.rx-cards{display:grid;grid-template-columns:1fr;gap:4px}
.rx-card{position:relative;display:block;overflow:hidden;height:200px;color:#fff;background:#222}
.rx-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.rx-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,9,7,.62) 0%,rgba(12,9,7,.25) 55%,rgba(12,9,7,.05) 100%)}
.rx-card__body{position:absolute;inset:auto 0 0 0;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:24px var(--rx-gutter)}
.rx-card__title{margin:0;color:#fff;font-size:17px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}
.rx-card__sub{display:block;margin-top:6px;font-size:12px;letter-spacing:.06em;text-transform:none;opacity:.88}
.rx-card__go{flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(255,255,255,.85);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .3s,border-color .3s}
.rx-card:hover,.rx-card:focus-visible{color:#fff}
.rx-card:hover img{transform:scale(1.04)}
.rx-card:hover .rx-card__go{background:var(--rx-orange);border-color:var(--rx-orange)}
@media (min-width:768px){.rx-card{height:240px}.rx-card__title{font-size:19px}}
@media (min-width:1024px){
  .rx-cards{grid-template-columns:repeat(var(--n,3),minmax(0,1fr));height:calc(var(--rx-vh) - var(--rx-foot))}
  .rx-card{height:auto}
  .rx-card::after{background:linear-gradient(0deg,rgba(12,9,7,.66) 0%,rgba(12,9,7,.18) 42%,rgba(12,9,7,0) 70%)}
  .rx-card__body{flex-direction:column;align-items:flex-start;padding:0 32px 40px}
  .rx-card__title{font-size:20px}
}

/* Bốn thẻ (Thương hiệu): 2 x 2 ở 1024-1279px, 4 cột từ 1280px; tên thương hiệu luôn một dòng */
.rx-cards--4 .rx-card__title{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){.rx-cards--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}}
@media (min-width:1280px){.rx-cards--4 .rx-card__body{padding:0 24px 40px}.rx-cards--4 .rx-card__title{font-size:clamp(14px,1.1vw,20px)}}

/* ---------- 10. Ấn phẩm ---------- */
.rx-pubs{display:grid;grid-template-columns:1fr;gap:0}
.rx-pub img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#fff}  /* hai ảnh cùng khung, thiết bị cùng chiều cao */
.rx-pub__head{padding:var(--rx-gap) var(--rx-gutter) 0}
.rx-text.rx-pub__head>.rx-title{margin-bottom:28px}  /* dải màu dưới tên ấn phẩm, cách nội dung như tiêu đề trang */
.rx-text.rx-pub__head>.rx-title{margin-bottom:28px}  /* dải màu dưới tên ấn phẩm, cách nội dung như tiêu đề trang */
.rx-pub__body{padding:0 var(--rx-gutter)}
.rx-text.rx-pub__body>*:last-child{margin-bottom:1em}
.rx-pub__more{padding:0 var(--rx-gutter) 40px}
.rx-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.rx-link::after{content:"→";color:var(--rx-orange);font-size:15px;letter-spacing:0}
.rx-pubs__foot{padding:0 var(--rx-gutter) 56px}
.rx-btn{display:inline-block;margin-top:8px;padding:13px 28px;background:var(--rx-amber);color:var(--rx-brown);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border:0;cursor:pointer;font-family:inherit}
.rx-btn:hover,.rx-btn:focus-visible{background:var(--rx-orange);color:#fff}
@media (min-width:768px){
  .rx-pubs{grid-template-columns:1fr 1fr;column-gap:4px;row-gap:0}
  .rx-pub{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}  /* 4 hàng: ảnh, tiêu đề, nội dung, liên kết; hai bên thẳng hàng */
}
@media (min-width:1024px){
  .rx-pubs-wrap{min-height:calc(var(--rx-vh) - var(--rx-foot));display:flex;flex-direction:column}
  .rx-pub__head{padding:40px clamp(32px,3.5vw,56px) 0}
  .rx-pub__body{padding:0 clamp(32px,3.5vw,56px)}
  .rx-pub__more{padding:0 clamp(32px,3.5vw,56px) 32px}
  .rx-pubs__foot{padding:8px clamp(32px,3.5vw,56px) 64px}  /* câu mời liên hệ dài hết khổ nội dung */
}

/* ---------- 11. Trang văn bản thuần (Thông báo bảo mật) ---------- */
.rx-plain{padding:48px var(--rx-gutter) 64px}
.rx-plain .rx-text{max-width:720px;margin:0 auto}

/* ---------- 12. Form đăng ký ---------- */
.rx-form{margin-top:8px;display:grid;gap:18px}
.rx-form label{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--rx-ink);margin-bottom:6px}
.rx-form input[type=text],.rx-form input[type=email],.rx-form select{width:100%;font:inherit;font-size:16px;padding:11px 0;border:0;border-bottom:1px solid #C9C2B8;background:transparent;color:var(--rx-ink);border-radius:0}
.rx-form input:focus,.rx-form select:focus{outline:0;border-bottom-color:var(--rx-orange)}
.rx-form fieldset{border:0;margin:0;padding:0}
.rx-form legend{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;padding:0}
.rx-check{display:flex!important;align-items:flex-start;gap:10px;text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:400!important;margin:0 0 6px!important}
.rx-check input{margin-top:5px;accent-color:var(--rx-brown);width:16px;height:16px;flex:0 0 auto}
.rx-form .rx-req{color:var(--rx-orange)}
.rx-hp{position:absolute!important;left:-9999px!important}
.rx-note{padding:14px 16px;background:#F7F4F0;border-left:2px solid var(--rx-orange);font-size:15px}
.rx-note.is-error{border-left-color:#B42318}
@media (min-width:768px){.rx-form .rx-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}}  /* nhãn xuống 2 dòng thì hai đường kẻ vẫn ngang nhau */

/* Cột thông tin liên hệ: 1 cột (điện thoại), 2 cột (iPad dọc), 1 cột trong khung chia đôi, 2 cột từ 1440px */
.rx-text a[href^="mailto:"]{overflow-wrap:anywhere}
@media (min-width:768px) and (max-width:1023px){
 .rx-text .wp-block-columns{grid-template-columns:1fr 1fr}
 .rx-text .wp-block-columns>.wp-block-column:nth-child(3):last-child{grid-column:1 / -1}
}
@media (min-width:1024px){
 .rx-split .rx-text .wp-block-columns{grid-template-columns:1fr;gap:20px}
 .rx-split .rx-form .rx-row{display:block}
}
@media (min-width:1440px){
 .rx-split .rx-text .wp-block-columns{grid-template-columns:1fr 1fr;gap:24px 32px}
 .rx-split .rx-text .wp-block-columns>.wp-block-column:nth-child(3):last-child{grid-column:1 / -1}
 .rx-split .rx-form .rx-row{display:grid}
}

/* Khối chữ căn giữa cột phải khi cột rộng hơn khối chữ (Desktop 1920px) */
@media (min-width:1024px){.rx-split__text .rx-text{width:100%;margin-inline:auto}}
/* Chữ trang chủ theo độ rộng vùng ảnh khi có menu dọc */
@media (min-width:1001px){.rx-hero__text h1{font-size:clamp(28px,3.9vw,58px)}}

/* Điểm lấy nét riêng của ảnh khi ảnh nằm cột trái */
@media (min-width:1024px){.rx-split__media img{object-position:var(--pos,50% 50%)}}

/* ---------- D5 ---------- */
/* Chân trang luôn nằm sát đáy màn hình khi trang ngắn (mọi khổ) */
.rx-main{display:flex;flex-direction:column;min-height:calc(100svh - 88px)}
@media (min-width:768px){.rx-main{min-height:calc(100svh - 96px)}}
@media (min-width:1001px){.rx-main{min-height:var(--rx-vh)}}
.rx-main>:not(.rx-foot){flex:1 0 auto}
.rx-main>.rx-foot{flex:0 0 auto}

/* Dưới 1024px: khối chữ trải hết bề ngang giữa hai lề, dải màu theo đúng khối chữ */
@media (max-width:1023px){.rx-split__text .rx-text{max-width:none}}

/* Trang nhiều chữ (rx_stack) ở 1024-1279px: ảnh nằm trên, chữ phía dưới */
@media (min-width:1024px) and (max-width:1279px){
  .rx-split.is-stack{display:block;min-height:0}
  .rx-split.is-stack .rx-split__media{min-height:0}
  .rx-split.is-stack .rx-split__media img{position:static;height:auto;aspect-ratio:2/1;object-position:50% 50%}
  .rx-split.is-stack .rx-split__text{display:block;padding:40px 48px 64px}
  .rx-split.is-stack .rx-split__text .rx-text{max-width:none;margin:0}
}

/* Thông báo bảo mật: tiêu đề và dải màu ở trên, khối chữ ở dưới, chữ căn đều hai bên */
@media (min-width:1280px){.rx-plain .rx-text{max-width:960px}}
@media (min-width:768px){.rx-plain .rx-text p,.rx-plain .rx-text li{text-align:justify;hyphens:auto;-webkit-hyphens:auto}}
@media (min-width:1024px){.rx-plain{padding:88px 64px 96px}}

/* ---------- D6 ---------- */
/* Thẻ ảnh: điểm lấy nét riêng theo khổ để vật chủ luôn nằm trọn trong khung */
.rx-card img{object-position:var(--pos-m,50% 50%)}
@media (min-width:1024px) and (max-width:1279px){.rx-card img{object-position:var(--pos-t,50% 50%)}}
@media (min-width:1280px){.rx-card img{object-position:var(--pos-l,50% 50%)}}

/* Ấn phẩm: ảnh không sát mép trên */
@media (min-width:1024px){.rx-pubs{padding-top:24px}}

/* Trang Cảm ơn: hai liên kết trên một hàng */
.rx-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:32px}

/* Thông báo bảo mật từ 1280px: các mục chia hai cột (cột chia sẵn khi dựng, chiều cao gần bằng nhau), cận trên thẳng hàng */
@media (min-width:1280px){
  .rx-plain .rx-text{max-width:1360px}
  /* Khối Nhóm của WordPress có thêm lớp bọc bên trong (__inner-container): chia cột ở lớp đó */
  .rx-secs>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(56px,5vw,96px);align-items:start;margin-top:8px}
}

/* ---------- D7: chữ trắng trên ảnh rõ hơn ---------- */
.rx-hero::after{background:radial-gradient(ellipse at center,rgba(15,11,8,.55) 0%,rgba(15,11,8,.32) 55%,rgba(15,11,8,.18) 100%)}
.rx-hero__text h1,.rx-hero__text p{text-shadow:0 1px 18px rgba(0,0,0,.35)}
.rx-card::after{background:linear-gradient(90deg,rgba(12,9,7,.72) 0%,rgba(12,9,7,.34) 55%,rgba(12,9,7,.08) 100%)}
@media (min-width:1024px){.rx-card::after{background:linear-gradient(0deg,rgba(12,9,7,.80) 0%,rgba(12,9,7,.34) 40%,rgba(12,9,7,0) 72%)}}
.rx-card__title{text-shadow:0 1px 10px rgba(0,0,0,.35)}

/* Mục đầu tiên của mỗi cột: cận trên bằng nhau */
.rx-sec h3{margin-top:28px}

/* Màn hình rất hẹp (dưới 360px): chân trang được xuống 2 dòng, vẫn trong chiều cao 56px */
@media (max-width:359px){.rx-copy{white-space:normal;line-height:1.5}}

/* ---------- D9 ---------- */
/* Chân trang luôn nằm trên ảnh, không bị ảnh che (Safari iPad ngang) */
.rx-foot{position:relative;z-index:2}
/* Khung ảnh tỉ lệ cố định ở Laptop (trường rx_ratio): ảnh không phóng theo độ dài chữ, 3 ngôn ngữ cùng góc ảnh.
   Khi chữ dài hơn ảnh, ảnh dừng ở đầu màn hình trong lúc cuộn. */
@media (min-width:1280px) and (max-width:1919px){
  .rx-split.is-ratio .rx-split__media{overflow:visible}
  .rx-split.is-ratio .rx-split__media img{position:sticky;top:0;inset:auto;height:auto;aspect-ratio:var(--ratio)}
}
