/* Mẫu Vàng — nền giấy kem, khung vòm ảnh bìa, hoa trắng + lá bạch đàn, hai gia đình ảnh lớn phủ tối. */

.t-vang {
  --vg-paper: #efe8dd;
  --f-shelia: "VNF Shelia", "Pinyon Script", cursive;
  --f-yellow: "LNTH Yellowtail", "Dancing Script", cursive;
  --f-script: var(--f-shelia);
  --gate-bg: #f1ebe1;
  --accent-strong: #910000;
  --cal-ink: #7b6252;
}
.t-vang .vela-frame {
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .35), transparent 35%),
    radial-gradient(circle at 82% 60%, rgba(214, 200, 180, .25), transparent 40%),
    var(--vg-paper);
}

/* ---------- 1. bìa ---------- */
.t-vang .s-hero { height: 799px; overflow: hidden; }
.t-vang .vg-corner--tl { left: 0; top: 0; width: 130px; height: 90px; }
.t-vang .vg-corner--tr { left: 290px; top: 0; width: 130px; height: 90px; }
.t-vang .vg-corner--ml { left: -6px; top: 670px; width: 130px; height: 120px; }
.t-vang .vg-corner--mr { left: 296px; top: 670px; width: 130px; height: 120px; }
.t-vang .vg-arch { left: 107px; top: 107px; width: 217px; height: 327px; border-radius: 109px 109px 0 0; }
.t-vang .vg-arch-line { left: 100px; top: 100px; width: 231px; height: 341px; border: 1.5px solid #d9cdbb; border-radius: 116px 116px 0 0; background: #f6f1ea; box-shadow: 0 3px 10px rgba(0, 0, 0, .08); }
.t-vang .vg-bunch--top { left: 56px; top: 82px; width: 100px; height: 100px; }
.t-vang .vg-bunch--bottom { left: 246px; top: 346px; width: 124px; height: 124px; }
.t-vang .vg-save { left: 200px; top: 64px; width: 170px; height: 190px; }
.t-vang .vg-kicker { left: -3px; top: 536px; width: 427px; font-family: var(--f-upright); font-size: 19px; line-height: 28.5px; letter-spacing: 1px; text-align: center; text-transform: uppercase; }
.t-vang .vg-names { left: 0; top: 566px; width: 421px; font-family: var(--f-shelia); font-size: 35px; line-height: 52.5px; text-align: center; white-space: nowrap; }
.t-vang .vg-month { left: 0; top: 647px; width: 422px; font-family: Arial, sans-serif; font-size: 18px; line-height: 27px; font-weight: 700; letter-spacing: 3px; text-align: center; }
.t-vang .vg-rule { height: 1px; background: #222; }
.t-vang .vg-rule--l1 { left: 31px; top: 681px; width: 119px; }
.t-vang .vg-rule--l2 { left: 31px; top: 710px; width: 119px; }
.t-vang .vg-rule--r1 { left: 277px; top: 681px; width: 114px; }
.t-vang .vg-rule--r2 { left: 277px; top: 710px; width: 114px; }
.t-vang .vg-weekday { left: 25px; top: 683px; width: 131px; font-family: Arial, sans-serif; font-size: 18px; line-height: 27px; font-style: italic; letter-spacing: 1px; text-align: center; }
.t-vang .vg-hour { left: 249px; top: 683px; width: 171px; font-family: Arial, sans-serif; font-size: 18px; line-height: 27px; font-style: italic; letter-spacing: 1px; text-align: center; }
.t-vang .vg-day { left: 116px; top: 673px; width: 185px; font-family: var(--f-ephesis); font-size: 42px; line-height: 63px; font-weight: 700; letter-spacing: 1px; text-align: center; }
.t-vang .vg-year { left: 0; top: 730px; width: 422px; font-family: Arial, sans-serif; font-size: 20px; line-height: 30px; font-style: italic; letter-spacing: 3px; text-align: center; }

/* ---------- 2. hai gia đình ---------- */
.t-vang .s-family { height: 1076px; }
.t-vang .vg-side { left: 110px; width: 200px; font-family: var(--f-yellow); font-size: 30px; line-height: 45px; text-align: center; }
.t-vang .vg-parents { left: 75px; width: 271px; font-family: var(--f-cond); font-size: 16px; line-height: 24px; text-align: center; text-transform: uppercase; }
.t-vang .vg-addr { left: 10px; width: 400px; font-family: "Libre Franklin", Arial, sans-serif; font-size: 14px; line-height: 20px; text-align: center; }
.t-vang .vg-side--groom { top: 9px; }
.t-vang .vg-parents--groom { top: 54px; }
.t-vang .vg-addr--groom { top: 102px; }
.t-vang .vg-photo { left: 17px; width: 388px; height: 387px; }
.t-vang .vg-photo--groom { top: 146px; }
.t-vang .vg-photo--bride { top: 679px; height: 388px; }
.t-vang .vg-shade { position: absolute; left: 0; right: 0; bottom: 0; height: 143px; background: linear-gradient(rgba(255, 255, 255, 0), #000); }
.t-vang .vg-role { left: 156px; width: 109px; font-family: var(--f-upright); font-size: 18px; line-height: 27px; color: #fff; text-align: center; }
.t-vang .vg-full { left: 17px; width: 386px; font-family: var(--f-ephesis); font-size: 40px; line-height: 60px; color: #fff; text-align: center; white-space: nowrap; }
.t-vang .vg-role--groom { top: 449px; }
.t-vang .vg-full--groom { top: 473px; }
.t-vang .vg-divider { left: 135px; top: 541px; width: 195px; height: 1px; background: #222; }
.t-vang .vg-side--bride { top: 550px; }
.t-vang .vg-parents--bride { top: 595px; }
.t-vang .vg-addr--bride { top: 643px; }
.t-vang .vg-role--bride { top: 982px; }
.t-vang .vg-full--bride { top: 1006px; }

/* ---------- ghi đè phần chung ---------- */
.t-vang .s-invite { height: 368px; }
.t-vang .inv-rule { top: 1px; }
.t-vang .inv-title { top: 20px; }
.t-vang .inv-sub { top: 70px; }
.t-vang .inv-photo--0, .t-vang .inv-photo--2 { top: 123px; }
.t-vang .inv-photo--1 { top: 104px; }

.t-vang .s-ceremony p { font-size: 14px; line-height: 21px; }
.t-vang .cer-title { top: 25px; font-size: 16px !important; line-height: 24px !important; }
.t-vang .cer-at { top: 48px; }
.t-vang .cer-weekday { top: 84px; }
.t-vang .cer-day { top: 97px; font-size: 35px !important; line-height: 52.5px !important; }
.t-vang .cer-month { top: 149px; }
.t-vang .cer-time { top: 116px; }
.t-vang .cer-year { top: 116px; }
.t-vang .cer-bar { top: 92px; background: #536077; }
.t-vang .cer-bar--l { left: 127px; }
.t-vang .cer-lunar { top: 181px; font-size: 13px !important; line-height: 19.5px !important; }
.t-vang .cer-place { top: 217px; font-size: 16px !important; line-height: 24px !important; }

.t-vang .party-box { background: rgba(255, 255, 255, .5); }
.t-vang .party-title { font-size: 16px; line-height: 24px; }
.t-vang .party-time { font-size: 16px; line-height: 24px; }
.t-vang .party-date { top: 113px; font-size: 18px; line-height: 27px; }
.t-vang .party-lunar { font-size: 13px; line-height: 19.5px; }

.t-vang .s-calendar--year { height: 424px; }
.t-vang .caly-month { left: 26px; }
.t-vang .caly-year { left: 211px; }
.t-vang .s-calendar--year .cal-grid { left: 26px; }
.t-vang .cal-flourish { left: 151px; top: 376px; }

.t-vang .s-venue--map { height: 548px; }
.t-vang .s-venue--map .venue-title { top: 3px; }
.t-vang .vmap-box { background: #fff; }

.t-vang .album-title { top: 5px; }
.t-vang .s-album { padding-top: 53px; }
.t-vang .closing-btn--gift { background: #910000; color: #fff; }
.t-vang .s-footer { background: #fff; }
