/* Chùa Hòa Khánh — định dạng chung cho trang chủ (index.html) và trang tin (tin-tuc/index.html).
   Tách từ khối <style> của index.html ngày 12/11/2026. */
/* Font tự chứa trong trang (giấy phép OFL), không gọi Google Fonts nữa để không bao giờ rớt về font dự phòng.
   File woff2 đã rút gọn về bộ chữ Latinh và tiếng Việt. Bộ TTF đầy đủ ở 07-NHAN-DIEN-THUONG-HIEU/fonts/. */
@font-face{font-family:"Trirong";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Trirong-Light.woff2) format("woff2")}
@font-face{font-family:"Trirong";font-style:italic;font-weight:300;font-display:swap;src:url(fonts/Trirong-LightItalic.woff2) format("woff2")}
@font-face{font-family:"Trirong";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Trirong-Regular.woff2) format("woff2")}
@font-face{font-family:"Trirong";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/Trirong-Italic.woff2) format("woff2")}
@font-face{font-family:"Trirong";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Trirong-Medium.woff2) format("woff2")}
@font-face{font-family:"Trirong";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/Trirong-MediumItalic.woff2) format("woff2")}
@font-face{font-family:"Trirong";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Trirong-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Sarabun";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Sarabun-Regular.woff2) format("woff2")}
@font-face{font-family:"Sarabun";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/Sarabun-Italic.woff2) format("woff2")}
@font-face{font-family:"Sarabun";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Sarabun-Medium.woff2) format("woff2")}
@font-face{font-family:"Sarabun";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Sarabun-SemiBold.woff2) format("woff2")}
/* Bố cục: một cuộn tranh thuỷ mặc trải dọc, nét vẩy mực và viền loang giữ nguyên,
   nhưng bảng màu lấy từ chánh điện: tường kem ấm, phù điêu thếp vàng, xà sơn mài đỏ đun,
   gỗ chạm nâu sẫm, viền đèn hắt cam. Ảnh chùa nhuộm tông vàng kim, hoà vào nền.
   Cố ý chỉ một giao diện sáng vì chất liệu là giấy, sơn và thếp. */
:root{
  color-scheme:light;
  --giay:#f3e7d4;        /* tường vôi kem trong chánh điện */
  --giay-sang:#fcf5ea;   /* chỗ tường được đèn rọi */
  --muc:#2E1A12;         /* nâu sơn then: chữ chính */
  --muc-vua:#6A3A26;     /* nâu gụ: chữ phụ */
  --loang:#8A6428;       /* vàng thếp sẫm: nhãn chữ nhỏ */
  --nhat:#E2D2B4;        /* đường kẻ mảnh */
  --son:#962420;         /* đỏ sơn son: dấu, nhấn, tầng đang chọn */
  --kim:#C4913F;         /* vàng thếp: chỉ, viền, trục */
  --kim-sang:#EEBF6B;    /* vàng thếp sáng: chữ và chỉ trên nền son, nền ngọc */
  --ngoc:#17452E;        /* xanh ngọc sơn mài */
  --ngoc-vua:#396740;    /* xanh ngọc sáng */
  --den:#f2a04e;         /* viền đèn hắt cam */
  --nau-sang:#B8433A;    /* son sáng */
  --nau-dam:#611E13;     /* son thẫm */
  --son-mai:#752117;     /* sơn mài đỏ thẫm */
  --goc-tl:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cg transform=%27%27 fill=%27none%27 stroke=%27%23C4913F%27 stroke-width=%271.1%27%3E%3Cpath d=%27M.6 23.4V.6H23.4%27/%3E%3Cpath d=%27M4.6 16V4.6H16V10.4H10.4V7.6%27/%3E%3C/g%3E%3C/svg%3E");
  --goc-tr:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cg transform=%27translate%2824 0%29 scale%28-1 1%29%27 fill=%27none%27 stroke=%27%23C4913F%27 stroke-width=%271.1%27%3E%3Cpath d=%27M.6 23.4V.6H23.4%27/%3E%3Cpath d=%27M4.6 16V4.6H16V10.4H10.4V7.6%27/%3E%3C/g%3E%3C/svg%3E");
  --goc-bl:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cg transform=%27translate%280 24%29 scale%281 -1%29%27 fill=%27none%27 stroke=%27%23C4913F%27 stroke-width=%271.1%27%3E%3Cpath d=%27M.6 23.4V.6H23.4%27/%3E%3Cpath d=%27M4.6 16V4.6H16V10.4H10.4V7.6%27/%3E%3C/g%3E%3C/svg%3E");
  --goc-br:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cg transform=%27translate%2824 24%29 scale%28-1 -1%29%27 fill=%27none%27 stroke=%27%23C4913F%27 stroke-width=%271.1%27%3E%3Cpath d=%27M.6 23.4V.6H23.4%27/%3E%3Cpath d=%27M4.6 16V4.6H16V10.4H10.4V7.6%27/%3E%3C/g%3E%3C/svg%3E");
  --goc-nhan:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27%3E%3Cg transform=%27%27 fill=%27none%27 stroke=%27%23962420%27 stroke-width=%271.1%27%3E%3Cpath d=%27M.6 23.4V.6H23.4%27/%3E%3Cpath d=%27M4.6 16V4.6H16V10.4H10.4V7.6%27/%3E%3C/g%3E%3C/svg%3E");
  --f-but:"Trirong","Noto Serif",Georgia,serif;   /* tiêu đề: nét chữ Phật giáo Đông Nam Á, dấu tiếng Việt xếp gọn */
  --f-chu:"Sarabun","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-tay:"Trirong","Noto Serif",Georgia,serif;   /* chữ nhấn: serif nghiêng, thay cho thư pháp theo ý chị Uyên 19/10/2026 */
  --f-han:"Noto Serif TC","Songti TC","PMingLiU",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--giay);background-image:var(--tex,none);color:var(--muc);font-family:var(--f-chu);font-size:17px;line-height:1.65;margin:0}
h1,h2,h3{font-family:var(--f-but);font-weight:500;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--muc)}
:focus-visible{outline:2px solid var(--son);outline-offset:3px}
.khung{max-width:1120px;margin-inline:auto;padding-inline:20px}
.nhan{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muc-vua);font-weight:500}

/* Ảnh nhúng mực: dùng chung cho mọi ảnh chùa */
.anh{margin:0;position:relative;display:grid;gap:8px}
.anh .khuon{position:relative;overflow:hidden;border-radius:2px}
.mo .anh .khuon{border-radius:0;-webkit-mask:var(--mask) center/100% 100% no-repeat;mask:var(--mask) center/100% 100% no-repeat}
.anh img{display:block;width:100%;height:100%;object-fit:cover}
.mo .anh img{filter:sepia(.1) saturate(1.02) contrast(1.02) brightness(1.03)}
.anh[hidden]{display:none}
.anh figcaption:empty{display:none}
.anh figcaption{font-family:var(--f-tay);font-style:italic;font-size:1.125rem;line-height:1.2;color:var(--loang)}

/* Vệt bút ngang ngăn phần */
.net{height:34px;background:var(--net,linear-gradient(var(--nhat),var(--nhat)) center/100% 1px no-repeat) center/min(560px,90%) 100% no-repeat;opacity:.85}

/* Thanh điều hướng */
.dau{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--giay) 88%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--nhat)}
.dau .khung{display:flex;align-items:center;gap:8px 26px;flex-wrap:wrap;padding-block:14px 10px}
.ten{display:flex;align-items:baseline;gap:10px;margin-right:auto;text-decoration:none;color:var(--muc)}
.ten-chua{font-family:var(--f-but);font-size:.6875rem;font-weight:500;letter-spacing:.38em;text-transform:uppercase;color:var(--muc-vua)}
.ten-thu{font-family:var(--f-tay);font-style:italic;font-size:2.1rem;line-height:1;color:var(--muc);transform:translateY(2px)}
.dau nav{display:flex;gap:4px 20px;flex-wrap:wrap}
.dau nav a{font-size:.9375rem;color:var(--muc-vua);text-decoration:none;padding-block:4px;border-bottom:1px solid transparent}
.dau nav a:hover{color:var(--muc);border-bottom-color:var(--muc)}

/* Con dấu son */
/* Hoa văn rút từ gỗ chạm chánh điện, dùng tiết chế:
   - góc hồi văn: một nét chỉ vàng gấp khúc ở bốn góc khung, như khối góc trên cột câu đối
   - con dấu: chữ quốc ngữ chạy quanh vòng tròn (gợi các ô chữ tròn ở cột Vãng sanh đường), giữa là pháp luân trên cổng chùa */
.goc{position:relative}
.goc::after{content:"";position:absolute;inset:9px;pointer-events:none;
  background:var(--goc-tl) left top/22px no-repeat,var(--goc-tr) right top/22px no-repeat,var(--goc-bl) left bottom/22px no-repeat,var(--goc-br) right bottom/22px no-repeat}
.an{display:block;width:100%;height:auto}
.an .nen{fill:var(--son-mai)}
.an .vien{fill:none;stroke:var(--kim)}
.an text{font-family:var(--f-but);font-weight:600;font-size:13.5px;letter-spacing:.18em;fill:var(--kim)}
.an-nho{width:34px;height:34px;flex:none}
.an .nen-dau{fill:var(--son)}
.an .vien-dau{fill:none;stroke:var(--giay-sang);stroke-width:3}
.an .chu-dau{font-family:var(--f-tay);font-style:italic;font-weight:500;font-size:46px;fill:var(--giay-sang);letter-spacing:0}
.an-dau,.an-cuoi{rotate:-4deg}
.tieu .nhan{display:flex;align-items:center;gap:10px}
.tieu .nhan::before{content:"";width:16px;height:16px;flex:none;background:var(--goc-nhan) center/contain no-repeat;opacity:.8}
.dau-son{display:inline-grid;place-items:center;background:var(--son);color:var(--giay-sang);font-family:var(--f-han);font-weight:700;line-height:1;border-radius:3px;
  box-shadow:inset 0 0 0 2px var(--son),inset 0 0 0 3.5px var(--giay-sang);writing-mode:vertical-rl;letter-spacing:.05em;padding:6px 4px}
.dau-son.nho{font-size:.6875rem;padding:4px 3px}
.dau-son.lon{font-size:1.5rem;padding:12px 8px;rotate:-2deg;opacity:.92}

/* Mở đầu: núi mực, sương, mặt tiền chùa hoà trong sương */
.mo{position:relative;overflow:hidden;padding-block:72px 40px;min-height:min(780px,100vh)}
#nui{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.suong{position:absolute;z-index:1;left:-20%;width:140%;height:110px;pointer-events:none;
  background:radial-gradient(ellipse at center,var(--giay-sang) 0,color-mix(in srgb,var(--giay-sang) 0%,transparent) 70%);opacity:.75;animation:troi 48s ease-in-out infinite alternate}
.suong.s1{top:46%}
.suong.s2{top:68%;animation-duration:64s;animation-delay:-20s;opacity:.6}
@keyframes troi{from{translate:-6% 0}to{translate:6% 0}}
.mo .khung{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,.62fr);gap:36px;align-items:end}
.tua{display:grid;gap:18px;align-self:center}
.mo h1{font-family:var(--f-tay);font-style:italic;font-weight:400;font-size:clamp(4.2rem,11.5vw,8.6rem);line-height:.92;color:var(--muc);margin-left:-.04em}
.mo h1 small{display:block;font-family:var(--f-but);font-size:.17em;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--muc-vua);text-shadow:none;margin:0 0 .35em .25em}
.mo .dan{max-width:31em;color:var(--muc-vua);font-size:1.0625rem}
.cau{writing-mode:vertical-rl;font-family:var(--f-but);font-style:italic;font-size:1.25rem;color:var(--muc-vua);letter-spacing:.06em;position:absolute;right:-8px;top:0;height:max-content}
.so-lieu{display:flex;flex-wrap:wrap;gap:10px 34px;padding-top:18px;border-top:1px solid var(--nhat)}
.so-lieu div{display:flex;flex-direction:column}
.so-lieu b{font-family:var(--f-but);font-weight:500;font-size:1.75rem;line-height:1.2;font-variant-numeric:lining-nums}
.so-lieu span{font-size:.8125rem;color:var(--loang)}
.mo .anh.mat-tien{align-self:stretch;position:relative}
.mo .anh.mat-tien .khuon{aspect-ratio:708/1064;max-height:640px}
.mo .anh.mat-tien .an{position:absolute;left:-52px;top:36px;width:136px}

/* Tờ lịch thành bức trục treo */
.truc{position:relative;min-width:0;padding-block:16px;align-self:center}
.truc::before,.truc::after{content:"";position:absolute;left:-10px;right:-10px;height:12px;border-radius:6px;background:linear-gradient(var(--kim),var(--loang) 55%,var(--muc-vua))}
.truc::before{top:0}.truc::after{bottom:0}
.truc .giay{background:var(--giay-sang);border-inline:1px solid var(--kim);text-align:center;box-shadow:0 18px 40px -22px rgba(28,27,24,.55)}
.truc .tren{padding:20px 14px 12px}
.truc .thu{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--loang)}
.truc .duong{font-family:var(--f-but);font-weight:300;font-size:5.25rem;line-height:1;font-variant-numeric:lining-nums}
.truc .thang{font-size:.875rem;color:var(--muc-vua)}
.truc .am{border-top:1px solid var(--nhat);padding:12px 12px;font-size:.875rem;color:var(--muc-vua)}
.truc .am b{font-family:var(--f-but);font-size:1.375rem;font-weight:500;display:block;color:var(--muc)}
.truc .nay{border-top:1px solid var(--nhat);padding:12px 14px 18px;text-align:left;font-size:.8125rem}
.truc .nay h3{font-family:var(--f-chu);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--loang);font-weight:500;margin-bottom:8px}
.truc ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.truc li{display:grid;grid-template-columns:3em minmax(0,1fr);gap:6px}
.truc time,.gio{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muc)}
.truc .dau-son{position:absolute;right:-6px;bottom:30px}

/* Phần chung */
section{padding-block:56px 72px;scroll-margin-top:72px}
.tieu{display:grid;gap:10px;margin-bottom:40px;max-width:44em}
.tieu h2{font-size:clamp(2.2rem,5.4vw,3.6rem);font-weight:300}
.tieu h2 em{font-family:var(--f-tay);font-style:italic;font-weight:400;font-size:1.08em;line-height:1;display:inline-block;padding-bottom:.12em;color:var(--muc-vua)}
.tieu p{color:var(--muc-vua)}

/* Mặt cắt ngôi Tam bảo vẽ bằng nét mực */
.matcat{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:52px;align-items:start}
.toa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.8fr) minmax(0,1fr);align-items:end;gap:16px}
/* Sơ đồ vẽ bằng bút lông: mái loang mực, cột là nét bút khô, tầng là mảng màu loang (ảnh nét do canvas vẽ, xem script) */
.thap{display:grid;justify-items:center}
.lau{width:var(--w,100%);display:flex;flex-direction:column;align-items:center}
.toa > .lau .mai{width:106%}
.mai{display:block;flex:none;width:114%;margin-bottom:-9px;aspect-ratio:448/84;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 84%22 preserveAspectRatio=%22none%22%3E%0A%3Cdefs%3E%0A%3ClinearGradient id=%22g%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23B8693F%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%23962420%22/%3E%3Cstop offset=%221%22 stop-color=%22%23874427%22/%3E%3C/linearGradient%3E%0A%3CclipPath id=%22c%22%3E%3Cpath d=%22M124 15L324 15C344 37 362 53 392 59C416 57 432 41 440 7C446 31 432 61 404 71C396 74 388 76 378 76L70 76C60 76 52 74 44 71C16 61 2 31 8 7C16 41 32 57 56 59C86 53 104 37 124 15Z%22/%3E%3C/clipPath%3E%0A%3C/defs%3E%0A%3Cpath d=%22M124 15L324 15C344 37 362 53 392 59C416 57 432 41 440 7C446 31 432 61 404 71C396 74 388 76 378 76L70 76C60 76 52 74 44 71C16 61 2 31 8 7C16 41 32 57 56 59C86 53 104 37 124 15Z%22 fill=%22url(%23g)%22/%3E%0A%3Cg clip-path=%22url(%23c)%22 stroke=%22%23F6DFC0%22 stroke-opacity=%22.2%22 stroke-width=%221%22 fill=%22none%22%3E%3Cpath d=%22M0 30H448M0 44H448M0 56H448%22/%3E%3C/g%3E%0A%3Cpath d=%22M118 15H330L326 8H122Z%22 fill=%22%237A3B21%22/%3E%0A%3Cpath d=%22M122 9C116 9 112 6 111 2M326 9C332 9 336 6 337 2%22 stroke=%22%237A3B21%22 stroke-width=%223%22 stroke-linecap=%22round%22 fill=%22none%22/%3E%0A%3Cpath d=%22M126 11.5H322%22 stroke=%22%23E2C79B%22 stroke-width=%221.1%22/%3E%0A%3Cpath d=%22M58 70.5C64 71.6 68 72 74 72H374C380 72 384 71.6 390 70.5%22 stroke=%22%23E2C79B%22 stroke-width=%221.3%22 fill=%22none%22/%3E%0A%3Cpath d=%22M440 7C438 26 428 44 410 54M8 7C10 26 20 44 38 54%22 stroke=%22%23E2C79B%22 stroke-width=%221%22 stroke-opacity=%22.75%22 fill=%22none%22/%3E%0A%3C/svg%3E") center/100% 100% no-repeat;position:relative;z-index:1;pointer-events:none}
.dinh{width:24px;height:64px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 64%22%3E%0A%3Crect x=%2211%22 y=%2218%22 width=%222%22 height=%2246%22 fill=%22%23962420%22/%3E%0A%3Cpath d=%22M12 2L13.6 14H10.4Z%22 fill=%22%23962420%22/%3E%0A%3Cellipse cx=%2212%22 cy=%2220%22 rx=%224.2%22 ry=%224%22 fill=%22%23962420%22/%3E%0A%3Cellipse cx=%2212%22 cy=%2233%22 rx=%227%22 ry=%226.2%22 fill=%22%23962420%22/%3E%0A%3Cpath d=%22M5.6 33H18.4%22 stroke=%22%23C4913F%22 stroke-width=%221%22/%3E%0A%3Crect x=%227%22 y=%2241%22 width=%2210%22 height=%222.4%22 rx=%221.2%22 fill=%22%23962420%22/%3E%0A%3Ccircle cx=%2212%22 cy=%222.6%22 r=%221.6%22 fill=%22%23C4913F%22/%3E%0A%3C/svg%3E") center/100% 100% no-repeat;position:relative;margin-bottom:-6px}
.tang{appearance:none;font:inherit;color:var(--muc);border:0;padding:20px 16px 16px;text-align:center;cursor:pointer;display:grid;gap:2px;justify-items:center;min-width:0;width:100%;
  --cot-mau:var(--son);background:linear-gradient(var(--cot-mau),var(--cot-mau)) 0 0/5px 100% no-repeat,linear-gradient(var(--cot-mau),var(--cot-mau)) 100% 0/5px 100% no-repeat,linear-gradient(var(--kim),var(--kim)) 0 100%/100% 1.5px no-repeat,linear-gradient(color-mix(in srgb,var(--kim) 55%,transparent),color-mix(in srgb,var(--kim) 55%,transparent)) 0 calc(100% - 4px)/100% 1px no-repeat,var(--giay-sang);transition:color .3s,background-color .3s}
.tang small{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muc-vua)}
.tang span{font-family:var(--f-but);font-size:1.125rem;font-weight:400;line-height:1.25;overflow-wrap:anywhere}
.tang:hover{background:linear-gradient(var(--cot-mau),var(--cot-mau)) 0 0/5px 100% no-repeat,linear-gradient(var(--cot-mau),var(--cot-mau)) 100% 0/5px 100% no-repeat,linear-gradient(var(--kim),var(--kim)) 0 100%/100% 1.5px no-repeat,linear-gradient(color-mix(in srgb,var(--kim) 55%,transparent),color-mix(in srgb,var(--kim) 55%,transparent)) 0 calc(100% - 4px)/100% 1px no-repeat,color-mix(in srgb,var(--son) 7%,var(--giay-sang))}
.tang[aria-pressed="true"]{--cot-mau:#7A3B21;color:var(--giay-sang);background:linear-gradient(var(--cot-mau),var(--cot-mau)) 0 0/5px 100% no-repeat,linear-gradient(var(--cot-mau),var(--cot-mau)) 100% 0/5px 100% no-repeat,linear-gradient(var(--kim),var(--kim)) 0 100%/100% 1.5px no-repeat,linear-gradient(color-mix(in srgb,var(--kim) 55%,transparent),color-mix(in srgb,var(--kim) 55%,transparent)) 0 calc(100% - 4px)/100% 1px no-repeat,var(--son)}
.tang[aria-pressed="true"] small{color:var(--kim-sang)}
.lang{min-height:96px;align-content:center;padding:14px 8px 10px}
.lang span{font-size:.92rem;white-space:nowrap}
.dat{grid-column:1/-1;background:linear-gradient(var(--son),var(--son)) left top/100% 2px no-repeat,linear-gradient(color-mix(in srgb,var(--kim) 80%,transparent),color-mix(in srgb,var(--kim) 80%,transparent)) left 5px/100% 1px no-repeat;display:flex;justify-content:space-between;gap:8px;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muc-vua);padding-top:20px;margin-top:-4px}
.duoi{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.8fr) minmax(0,1fr);gap:16px;margin-top:4px}
.duoi .ham{grid-column:2;background:var(--giay-sang);border:1px dashed color-mix(in srgb,var(--son) 60%,transparent)}
.duoi .san{grid-column:1/-1;padding:22px 16px;background:var(--giay-sang);border:1.5px solid var(--son);border-radius:50%;box-shadow:inset 0 0 0 5px var(--giay-sang),inset 0 0 0 6px color-mix(in srgb,var(--kim) 70%,transparent)}
.duoi .ham:hover,.duoi .san:hover{background:color-mix(in srgb,var(--son) 7%,var(--giay-sang))}

.duoi .ham[aria-pressed="true"]{background:var(--son);border-color:var(--son)}
.duoi .san[aria-pressed="true"]{background:var(--son);box-shadow:inset 0 0 0 5px var(--son),inset 0 0 0 6px color-mix(in srgb,var(--kim) 80%,transparent)}
.bang{display:grid;gap:14px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px);min-width:0}
.bang h3{font-size:2.4rem;font-weight:300}
.bang p{color:var(--muc-vua)}
.bang .anh .khuon{aspect-ratio:3/2}
.bang dl{margin:0;display:grid;gap:8px;border-top:1px solid var(--nhat);padding-top:14px;font-size:.9375rem}
.bang dl div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:12px}
.bang dt{color:var(--loang)}
.bang dd{margin:0}

/* Lịch sử: chuỗi chấm mực bên cạnh tranh cổng chùa */
.ls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:start}
.moc{list-style:none;margin:0;padding:0;display:grid;position:relative}
.moc::before{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:1px;background:var(--kim)}
.moc li{position:relative;display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:20px;padding:16px 0 16px 40px}
.moc li::before{content:"";position:absolute;left:3px;top:24px;width:15px;height:15px;border-radius:50%;
  background:radial-gradient(circle at 42% 40%,var(--son) 0 38%,color-mix(in srgb,var(--son) 55%,transparent) 62%,transparent 72%)}
.moc .nam{font-family:var(--f-but);font-size:2.1rem;font-weight:300;color:var(--muc-vua);line-height:1.05;font-variant-numeric:lining-nums}
.moc h3{font-family:var(--f-chu);font-size:1.0625rem;font-weight:700;line-height:1.4;margin-bottom:4px}
.moc p{color:var(--muc-vua);max-width:38em}
.ls .anh{position:sticky;top:calc(env(safe-area-inset-top,0px) + 90px)}
.ls .anh .khuon{aspect-ratio:614/546}

/* Lịch tu học */
.lich{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:52px;align-items:start}
.khoa{display:grid;gap:28px}
.khoa h3{font-family:var(--f-chu);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--loang);font-weight:500;margin-bottom:10px}
.khoa ul{list-style:none;margin:0;padding:0}
.khoa li{display:grid;grid-template-columns:3.4em minmax(0,1fr);gap:14px;padding-block:12px;border-top:1px solid var(--nhat)}
.khoa li b{display:block;font-weight:700}
.khoa li span{color:var(--muc-vua);font-size:.9375rem}
.khoa .anh .khuon{aspect-ratio:4/3;max-width:420px}
.thang-luoi{min-width:0}
.thang-luoi h3{font-size:1.75rem;font-weight:300;margin-bottom:14px}
.luoi{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;font-variant-numeric:tabular-nums}
.luoi .th{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muc-vua);text-align:center;padding-bottom:4px}
.o{position:relative;border-top:1px solid var(--nhat);padding:6px 4px 7px;min-height:60px;display:grid;align-content:space-between;justify-items:center;font-size:1rem;font-family:var(--f-but);font-weight:500}
.o i{font-style:normal;font-family:var(--f-chu);font-size:.75rem;color:var(--muc-vua)}
.o.qua{opacity:.4}
.o.homnay::after{content:"";position:absolute;inset:3px;border:1.5px solid var(--den);border-radius:3px;box-shadow:0 0 10px color-mix(in srgb,var(--den) 60%,transparent)}
.o.trai::before{content:"";position:absolute;left:50%;top:4px;translate:-50% 0;width:30px;height:30px;border-radius:50%;border:2px solid var(--muc);opacity:.85}
.o.ram::before{background:radial-gradient(circle at 44% 40%,var(--giay-sang),var(--kim));border-color:var(--loang)}
.o.q19{background:var(--son);color:var(--giay-sang);border-top-color:var(--son)}
.o.q19 i{color:var(--nhat)}
.o.kd{box-shadow:inset 0 -4px 0 var(--loang)}
.chu-giai{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:.8125rem;color:var(--muc-vua)}
.chu-giai span{display:inline-flex;align-items:center;gap:6px}
.chu-giai i{width:13px;height:13px;display:inline-block}
.sap{list-style:none;margin:18px 0 0;padding:0}
.sap li{display:grid;grid-template-columns:minmax(0,9.5em) minmax(0,1fr);gap:12px;padding-block:10px;border-top:1px solid var(--nhat);font-size:.9375rem}
.sap li b{font-weight:700}
.sap li span{color:var(--muc-vua)}
.luu-y{margin-top:14px;font-size:.875rem;color:var(--muc-vua)}

/* Phật sự */
.cot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.cot article{display:grid;gap:10px;align-content:start}
.cot h3{font-size:1.75rem;font-weight:500}
.cot h3::before{content:"";display:block;width:54px;height:10px;margin-bottom:12px;background:var(--net,linear-gradient(var(--muc),var(--muc))) left/100% 100% no-repeat}
.cot p{color:var(--muc-vua);font-size:.9375rem}
/* Khoảng ngắt nhịp nâu đỏ: nước màu loang đậm nhạt như một mảng sơn mài quét bằng bút lông */
#phat-su{padding-bottom:0}
/* Dải đại lễ làm như một con ấn son lớn: mực son loang không đều, lốm đốm lỗ giấy, viền kem trong, mép trên dưới gồ ghề.
   Nền vẽ bằng canvas (veAn) để hạt mực không bị kéo giãn theo kích thước dải. */
.dai-bang{position:relative;margin-top:64px;padding-block:84px 92px;color:var(--giay-sang);background:transparent}
.nen-an{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
.mua-le{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:32px 48px;align-items:center}
.mua-tieu{grid-column:1/-1;display:grid;gap:2px}
.dai-bang .nhan{color:color-mix(in srgb,var(--giay-sang) 78%,transparent);letter-spacing:.3em}
.mua-dan{font-family:var(--f-tay);font-style:italic;font-weight:300;font-size:clamp(2.2rem,4.8vw,3.4rem);line-height:1.1;color:var(--giay-sang)}
.dai-bang .anh .khuon{padding:7px;border:2px solid color-mix(in srgb,var(--giay-sang) 80%,transparent)}
.dai-bang .anh figcaption{color:var(--giay-sang)}
.mua-le .anh .khuon{aspect-ratio:1034/731}
.dai-le{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.dai-le div{padding:22px 22px 20px;display:grid;gap:4px;align-content:start;min-width:0;border-top:1px solid color-mix(in srgb,var(--giay-sang) 32%,transparent)}
.dai-le div:nth-child(2n){border-left:1px solid color-mix(in srgb,var(--giay-sang) 32%,transparent)}
.dai-le .am-le{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb,var(--giay-sang) 75%,transparent);font-weight:500}
.dai-le b{font-family:var(--f-tay);font-style:italic;font-weight:400;font-size:1.9rem;line-height:1.1;color:var(--giay-sang)}
.dai-le span{font-size:.875rem;color:color-mix(in srgb,var(--giay-sang) 86%,transparent)}
.dai-le em{font-style:normal;font-size:.8125rem;color:var(--giay-sang);font-weight:600;margin-top:6px}

/* Thăm viếng */
.tham{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:52px;align-items:start}
.tt{margin:0;display:grid}
.tt div{display:grid;grid-template-columns:8em minmax(0,1fr);gap:16px;padding-block:13px;border-top:1px solid var(--nhat)}
.tt dt{color:var(--loang);font-size:.9375rem}
.tt dd{margin:0;user-select:all;overflow-wrap:anywhere}
.tt dd.thuong{user-select:auto}
.nut{display:inline-flex;align-items:center;gap:16px;margin-top:28px;color:var(--muc);text-decoration:none;font-family:var(--f-but);font-weight:400;font-size:1.25rem}
.nut span{background:linear-gradient(var(--son),var(--son)) left bottom/100% 1px no-repeat;padding-bottom:3px;transition:background-size .35s}
.nut::before{content:"\2192";display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;font-family:var(--f-chu);font-size:1.125rem;color:var(--kim-sang);
  background:radial-gradient(circle at 35% 30%,#B8433A,var(--son) 72%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--kim) 45%,transparent);transition:transform .35s}
.nut:hover::before{transform:rotate(-45deg)}
.nut:hover span{background-size:0 1px;background-position:right bottom}
.ben-phai{display:grid;gap:26px}
.ben-phai .anh .khuon{aspect-ratio:605/538}
.nep{position:relative;color:var(--giay-sang);padding:40px 40px 38px;background:transparent}
.nep > *:not(canvas){position:relative;z-index:1}
.nep h3{font-family:var(--f-tay);font-style:italic;font-weight:400;font-size:2.2rem;line-height:1;color:var(--giay-sang);margin-bottom:20px}
.nep ul{margin:0;padding:0;list-style:none;display:grid;gap:12px;color:color-mix(in srgb,var(--giay-sang) 90%,transparent);counter-reset:nep}
.nep li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:baseline;counter-increment:nep}
.nep li::before{content:counter(nep);color:var(--giay-sang);opacity:.75;font-family:var(--f-but);font-weight:600;font-size:1.25rem;font-variant-numeric:lining-nums}

footer{position:relative;overflow:hidden;padding-block:236px 48px;font-size:.8125rem;color:var(--muc-vua)}
#nui-cuoi{position:absolute;inset:0 0 auto 0;width:100%;height:220px;display:block}
footer .khung{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 28px;align-items:center}
footer .khung > p:not(.niem){grid-column:2}
footer .niem{grid-row:1 / span 3}
.loi-niem{font-family:var(--f-tay);font-style:italic;font-weight:300;font-size:clamp(2rem,4.5vw,2.8rem);line-height:1.1;color:var(--muc)}
footer p{max-width:62em}
.niem{flex:none;width:132px;margin:0}

@media (max-width:980px){
  .mo .khung{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
  .tua{grid-column:1/-1}
  .cau{display:none}
}
@media (max-width:820px){
  .mo .anh.mat-tien .an{left:-6px;top:-18px;width:96px}
  .mo{padding-block:44px 32px;min-height:0}
  .mo .khung,.matcat,.lich,.tham,.ls,.mua-le{grid-template-columns:minmax(0,1fr);gap:32px}
  .mo .anh.mat-tien .khuon{max-height:none;max-width:420px;margin-inline:auto}
  .truc{max-width:300px;margin-inline:auto;width:100%}
  .cot{grid-template-columns:minmax(0,1fr);gap:30px}
  .bang,.ls .anh{position:static}
  section{padding-block:40px 52px}
  .moc li{grid-template-columns:minmax(0,1fr);gap:2px;padding-left:36px}
  .moc .nam{font-size:1.6rem}
  .tang span{font-size:1.0625rem}
  .lang span{font-size:.875rem}
  .tang{padding:16px 10px 12px}
  .lang{padding:12px 6px 8px}
  .tt div{grid-template-columns:6.5em minmax(0,1fr)}
  .dau nav{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none}
  .dau nav a{white-space:nowrap}
}
@media (max-width:480px){
  .tang{padding:14px 8px 10px}
  .tang span{font-size:1rem}
  .lang span{font-size:.8125rem}
  .toa,.duoi{gap:10px}
  .dai-le{grid-template-columns:minmax(0,1fr)}
  .dai-le div:nth-child(2n){border-left:0}
  .o{min-height:52px}
  .o.trai::before{width:24px;height:24px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.suong{animation:none}.tang{transition:none}}

/* ===== Sơ đồ năm tầng (11/11/2026): mái ngói men xanh ngọc, diềm và cột sơn son, chỉ và hồ lô thếp vàng, cửa võng, thềm đá ===== */
.mai{aspect-ratio:448/100;margin-bottom:-15px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 448 100%22 preserveAspectRatio=%22none%22%3E %3Cdefs%3E%3ClinearGradient id=%22n%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%233F7F57%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%2322573C%22/%3E%3Cstop offset=%221%22 stop-color=%22%2317452E%22/%3E%3C/linearGradient%3E %3ClinearGradient id=%22d%22 x1=%220%22 y1=%220%22 x2=%220%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23A8302A%22/%3E%3Cstop offset=%22.6%22 stop-color=%22%237E1D17%22/%3E%3Cstop offset=%221%22 stop-color=%22%235A140F%22/%3E%3C/linearGradient%3E %3CclipPath id=%22c%22%3E%3Cpath d=%22M136 24H312C330 44 352 60 384 71H64C96 60 118 44 136 24Z%22/%3E%3C/clipPath%3E%3C/defs%3E %3Cpath d=%22M136 24H312C330 44 352 60 384 71H64C96 60 118 44 136 24Z%22 fill=%22url(%23n)%22/%3E %3Cg clip-path=%22url(%23c)%22%3E %3Cg stroke=%22%230C2619%22 stroke-opacity=%22.28%22 stroke-width=%222.2%22%3E%3Cpath d=%22M66 20V74%22/%3E%3Cpath d=%22M75 20V74%22/%3E%3Cpath d=%22M84 20V74%22/%3E%3Cpath d=%22M93 20V74%22/%3E%3Cpath d=%22M102 20V74%22/%3E%3Cpath d=%22M111 20V74%22/%3E%3Cpath d=%22M120 20V74%22/%3E%3Cpath d=%22M129 20V74%22/%3E%3Cpath d=%22M138 20V74%22/%3E%3Cpath d=%22M147 20V74%22/%3E%3Cpath d=%22M156 20V74%22/%3E%3Cpath d=%22M165 20V74%22/%3E%3Cpath d=%22M174 20V74%22/%3E%3Cpath d=%22M183 20V74%22/%3E%3Cpath d=%22M192 20V74%22/%3E%3Cpath d=%22M201 20V74%22/%3E%3Cpath d=%22M210 20V74%22/%3E%3Cpath d=%22M219 20V74%22/%3E%3Cpath d=%22M228 20V74%22/%3E%3Cpath d=%22M237 20V74%22/%3E%3Cpath d=%22M246 20V74%22/%3E%3Cpath d=%22M255 20V74%22/%3E%3Cpath d=%22M264 20V74%22/%3E%3Cpath d=%22M273 20V74%22/%3E%3Cpath d=%22M282 20V74%22/%3E%3Cpath d=%22M291 20V74%22/%3E%3Cpath d=%22M300 20V74%22/%3E%3Cpath d=%22M309 20V74%22/%3E%3Cpath d=%22M318 20V74%22/%3E%3Cpath d=%22M327 20V74%22/%3E%3Cpath d=%22M336 20V74%22/%3E%3Cpath d=%22M345 20V74%22/%3E%3Cpath d=%22M354 20V74%22/%3E%3Cpath d=%22M363 20V74%22/%3E%3Cpath d=%22M372 20V74%22/%3E%3Cpath d=%22M381 20V74%22/%3E%3C/g%3E %3Cg stroke=%22%239FD0A8%22 stroke-opacity=%22.28%22 stroke-width=%221%22%3E%3Cpath d=%22M0 35H448%22/%3E%3Cpath d=%22M0 46H448%22/%3E%3Cpath d=%22M0 56H448%22/%3E%3Cpath d=%22M0 65H448%22/%3E%3C/g%3E %3C/g%3E %3Crect x=%22126%22 y=%2213%22 width=%22196%22 height=%2212%22 rx=%226%22 fill=%22url(%23d)%22/%3E %3Cpath d=%22M134 15.6H314%22 stroke=%22%23EEBF6B%22 stroke-width=%221.2%22 stroke-linecap=%22round%22/%3E %3Ccircle cx=%22126%22 cy=%2219%22 r=%228%22 fill=%22%237E1D17%22/%3E%3Ccircle cx=%22126%22 cy=%2219%22 r=%223.2%22 fill=%22%23EEBF6B%22/%3E %3Ccircle cx=%22322%22 cy=%2219%22 r=%228%22 fill=%22%237E1D17%22/%3E%3Ccircle cx=%22322%22 cy=%2219%22 r=%223.2%22 fill=%22%23EEBF6B%22/%3E %3Cpath d=%22M60 69H388C395 69 400 72 402 76L404 81C396 85 388 87 380 87H68C60 87 52 85 44 81L46 76C48 72 53 69 60 69Z%22 fill=%22url(%23d)%22/%3E %3Cpath d=%22M62 72.2H386%22 stroke=%22%23EEBF6B%22 stroke-width=%221.4%22 stroke-linecap=%22round%22/%3E %3Cpath d=%22M68 83.6H380%22 stroke=%22%23D1A04E%22 stroke-opacity=%22.8%22 stroke-width=%221%22 stroke-linecap=%22round%22/%3E %3Cpath d=%22M44 86C18 82 4 68 5 48A7.5 7.5 0 0 1 19.6 45C21 60 34 68 60 70L60 86Z%22 fill=%22url(%23d)%22/%3E%3Cpath d=%22M42 83.5C19 79 7 66 7.5 50%22 stroke=%22%23D1A04E%22 stroke-width=%221.4%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2212.3%22 cy=%2246.2%22 r=%223.1%22 fill=%22%23EEBF6B%22/%3E%3Cg transform=%22translate(448 0) scale(-1 1)%22%3E%3Cpath d=%22M44 86C18 82 4 68 5 48A7.5 7.5 0 0 1 19.6 45C21 60 34 68 60 70L60 86Z%22 fill=%22url(%23d)%22/%3E%3Cpath d=%22M42 83.5C19 79 7 66 7.5 50%22 stroke=%22%23D1A04E%22 stroke-width=%221.4%22 fill=%22none%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%2212.3%22 cy=%2246.2%22 r=%223.1%22 fill=%22%23EEBF6B%22/%3E%3C/g%3E %3C/svg%3E") center/100% 100% no-repeat}
.dinh{width:30px;height:84px;margin-bottom:-12px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 30 84%22%3E %3Cdefs%3E%3CradialGradient id=%22h%22 cx=%22.36%22 cy=%22.32%22 r=%22.72%22%3E%3Cstop offset=%220%22 stop-color=%22%23F5D696%22/%3E%3Cstop offset=%22.55%22 stop-color=%22%23D1A04E%22/%3E%3Cstop offset=%221%22 stop-color=%22%238A6428%22/%3E%3C/radialGradient%3E%3C/defs%3E %3Crect x=%2213.8%22 y=%2256%22 width=%222.4%22 height=%2228%22 fill=%22%237E1D17%22/%3E %3Cellipse cx=%2215%22 cy=%2260%22 rx=%2210%22 ry=%223.4%22 fill=%22%237E1D17%22/%3E%3Cpath d=%22M6 59.4H24%22 stroke=%22%23EEBF6B%22 stroke-width=%221%22/%3E %3Ccircle cx=%2215%22 cy=%2247%22 r=%229.5%22 fill=%22url(%23h)%22/%3E %3Crect x=%229.5%22 y=%2236.2%22 width=%2211%22 height=%222.6%22 rx=%221.3%22 fill=%22%237E1D17%22/%3E %3Ccircle cx=%2215%22 cy=%2230%22 r=%226.4%22 fill=%22url(%23h)%22/%3E %3Cpath d=%22M15 8C18.4 13 19.6 18 15 23.6C10.4 18 11.6 13 15 8Z%22 fill=%22url(%23h)%22/%3E %3C/svg%3E") center/100% 100% no-repeat}
.tang{padding-top:26px;background:linear-gradient(#D9CBB0,#BFAE8D) 0 100%/9px 6px no-repeat,linear-gradient(#D9CBB0,#BFAE8D) 100% 100%/9px 6px no-repeat,linear-gradient(rgba(23,69,46,.18),rgba(23,69,46,0)) 0 0/100% 18px no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 14%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 1.5H200%22 stroke=%22%23C4913F%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M0 3C22 3 30 12.5 52 12.5H148C170 12.5 178 3 200 3%22 stroke=%22%23C4913F%22 stroke-width=%221%22 fill=%22none%22/%3E%3C/svg%3E") 50% 7px/calc(100% - 30px) 12px no-repeat,linear-gradient(90deg,#A8302A,#5A140F) 0 0/7px 100% no-repeat,linear-gradient(90deg,#A8302A,#5A140F) 100% 0/7px 100% no-repeat,linear-gradient(var(--kim),var(--kim)) 0 calc(100% - 6px)/100% 1.4px no-repeat,linear-gradient(#FDF8EF,#F5E9D3)}
.tang:hover{background:linear-gradient(#D9CBB0,#BFAE8D) 0 100%/9px 6px no-repeat,linear-gradient(#D9CBB0,#BFAE8D) 100% 100%/9px 6px no-repeat,linear-gradient(rgba(23,69,46,.18),rgba(23,69,46,0)) 0 0/100% 18px no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 14%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 1.5H200%22 stroke=%22%23C4913F%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M0 3C22 3 30 12.5 52 12.5H148C170 12.5 178 3 200 3%22 stroke=%22%23C4913F%22 stroke-width=%221%22 fill=%22none%22/%3E%3C/svg%3E") 50% 7px/calc(100% - 30px) 12px no-repeat,linear-gradient(90deg,#A8302A,#5A140F) 0 0/7px 100% no-repeat,linear-gradient(90deg,#A8302A,#5A140F) 100% 0/7px 100% no-repeat,linear-gradient(var(--kim),var(--kim)) 0 calc(100% - 6px)/100% 1.4px no-repeat,linear-gradient(#FBEFE3,#F2DFC6)}
.tang[aria-pressed="true"]{color:var(--giay-sang);background:linear-gradient(#D9CBB0,#BFAE8D) 0 100%/9px 6px no-repeat,linear-gradient(#D9CBB0,#BFAE8D) 100% 100%/9px 6px no-repeat,linear-gradient(rgba(23,69,46,.18),rgba(23,69,46,0)) 0 0/100% 18px no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 14%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 1.5H200%22 stroke=%22%23EEBF6B%22 stroke-width=%221.2%22/%3E%3Cpath d=%22M0 3C22 3 30 12.5 52 12.5H148C170 12.5 178 3 200 3%22 stroke=%22%23EEBF6B%22 stroke-width=%221%22 fill=%22none%22/%3E%3C/svg%3E") 50% 7px/calc(100% - 30px) 12px no-repeat,linear-gradient(90deg,#7E1D17,#5A140F) 0 0/7px 100% no-repeat,linear-gradient(90deg,#7E1D17,#5A140F) 100% 0/7px 100% no-repeat,linear-gradient(var(--kim-sang),var(--kim-sang)) 0 calc(100% - 6px)/100% 1.4px no-repeat,linear-gradient(#A8302A,#86211A)}
.lang{padding-top:24px}
.dat{background:linear-gradient(var(--son-mai),var(--son-mai)) left top/100% 2px no-repeat,linear-gradient(#E9DCC2,#D6C5A3) left 2px/100% 9px no-repeat,linear-gradient(var(--kim),var(--kim)) left 11px/100% 1px no-repeat;padding-top:22px}

/* ===== Bản đồ tối giản (vẽ từ OpenStreetMap) và liên hệ chân trang ===== */
.ban-do{margin:44px 0 0;display:grid;gap:10px}
.ban-do a{position:relative;display:block;border:1px solid var(--nhat);border-radius:4px;overflow:hidden;transition:border-color .3s}
.ban-do a:hover{border-color:var(--kim)}
.ban-do-svg{display:block;width:100%;height:auto;aspect-ratio:1200/520}
@media (max-width:820px){.ban-do{margin-top:32px}.ban-do-svg{aspect-ratio:auto;height:440px}}
.ban-do-nut{position:absolute;right:12px;bottom:28px;background:var(--son);color:var(--giay-sang);font-size:.8125rem;font-weight:500;letter-spacing:.02em;padding:7px 14px;border-radius:999px;transition:background-color .3s}
.ban-do a:hover .ban-do-nut{background:var(--son-mai)}
.ban-do figcaption{font-family:var(--f-tay);font-style:italic;font-size:1.0625rem;color:var(--loang)}
.lien-he{display:flex;flex-wrap:wrap;gap:8px 22px}
.lien-he a{display:inline-flex;align-items:center;gap:8px;color:var(--muc);text-decoration:none;font-size:.875rem;font-weight:500}
.lien-he a span{border-bottom:1px solid color-mix(in srgb,var(--son) 45%,transparent)}
.lien-he a:hover{color:var(--son)}
.lien-he .ic{width:18px;height:18px;flex:none;padding:4px;border-radius:50%;background:var(--son);color:var(--giay-sang);box-sizing:content-box}

/* ===== Chữ nghiêng trong tiêu đề: đỏ sơn son, tách khỏi chữ đứng nâu sơn then (11/11/2026) ===== */
.tieu h2 em,.mo h1,.ten-thu,.loi-niem{color:var(--son)}
.mo h1 small{color:var(--muc-vua)}

/* ===== Hai ảnh đặt cạnh nhau trong khung sơ đồ (Vãng sanh đường) ===== */
.khuon-doi{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.khuon-doi .khuon[hidden]{display:none}
.bang .khuon-doi.hai{grid-template-columns:repeat(2,minmax(0,1fr))}
.bang .khuon-doi.hai .khuon{aspect-ratio:3/4}

/* ===== Lịch tu học: nới khoảng thở (11/11/2026) ===== */
#lich-tu-hoc .tieu{margin-bottom:56px}
.lich{gap:clamp(48px,7vw,104px)}
.khoa{gap:44px}
.khoa h3{margin-bottom:6px}
.khoa li{gap:20px;padding-block:18px}
.khoa li span{display:block;margin-top:2px}
.khoa .anh{margin-top:8px}
.thang-luoi h3{margin-bottom:24px}
.luoi{gap:6px}
.luoi .th{padding-bottom:10px}
.o{min-height:78px;padding:14px 4px 12px;border-radius:3px}
.o i{margin-top:4px}
/* mùng 1 và rằm: chấm nhỏ ở góc, không đè lên số ngày */
.o.trai::before{left:auto;right:9px;top:9px;translate:none;width:9px;height:9px;border:1.5px solid var(--muc);background:none;opacity:1}
.o.ram::before{background:var(--kim);border-color:var(--kim)}
.o.q19.trai::before{border-color:var(--giay-sang)}
.o.homnay::after{inset:2px;box-shadow:none;border-width:1.5px}
.cg-cham{width:9px!important;height:9px!important;border:1.5px solid var(--muc);border-radius:50%}
.cg-cham.ram{background:var(--kim);border-color:var(--kim)}
.chu-giai{margin-top:22px;gap:10px 24px}
.sap-tieu{font-family:var(--f-chu);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--loang);font-weight:500;margin:44px 0 8px}
.sap{margin-top:0}
.sap li{padding-block:16px;gap:20px}
.sap li:nth-child(n+5){display:none}
.luu-y{margin-top:20px}
@media (max-width:480px){.o{min-height:60px;padding:10px 2px 8px}.o.trai::before{right:5px;top:5px;width:7px;height:7px}.luoi{gap:3px}}

/* ===== Lịch tu học: hai cột chung một lưới (11/11/2026) ===== */
.cot-dau{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1.5px solid var(--muc);margin:0}
.cot-dau h3{font-family:var(--f-but);font-size:1.75rem;font-weight:400;line-height:1.15;margin:0;letter-spacing:-.005em;text-transform:none;color:var(--muc)}
.cot-dau p{font-size:.8125rem;letter-spacing:.06em;color:var(--loang);font-variant-numeric:tabular-nums;margin:0;white-space:nowrap}
.khoa{gap:0}
.khoa > div{margin-top:30px}
.khoa h4,.sap-tieu{font-family:var(--f-chu);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--loang);font-weight:500;margin:0 0 4px}
.khoa li{grid-template-columns:4.6rem minmax(0,1fr);gap:16px;padding-block:16px}
.khoa li:first-child{border-top:0}
.khoa .gio{font-family:var(--f-but);font-size:1.3rem;font-weight:400;line-height:1.15;color:var(--son)}
.khoa li b{font-size:1.0625rem;font-weight:600;line-height:1.35}
.khoa li span:not(.gio){font-size:.9375rem;margin-top:4px}
.khoa .anh{margin-top:36px}
.thang-luoi h3{margin-bottom:0}
.luoi{margin-top:18px}
.chu-giai{padding-bottom:4px}
.sap-tieu{margin:40px 0 0;padding-bottom:10px;border-bottom:1px solid var(--nhat)}
.sap li:first-child{border-top:0}
.sap li b{font-family:var(--f-but);font-weight:500;font-size:1rem}

/* ===== Mảng lịch bên phải: nền giấy đậm, ô ngày sáng, chữ canh trái, một lưới 7 cột chung (11/11/2026) ===== */
.thang-luoi{--nen-the:color-mix(in srgb,var(--kim) 14%,var(--giay));--o-sang:#FAF4E8;background:var(--nen-the);padding:30px 30px 28px;border-radius:4px}
.thang-luoi .cot-dau{border-bottom-color:color-mix(in srgb,var(--muc) 70%,transparent)}
.luoi{gap:6px;margin-top:16px}
.luoi .th{text-align:left;padding:0 0 4px 10px;font-size:.6875rem}
.o{background:var(--o-sang);border-top:0;border-radius:3px;justify-items:start;align-content:space-between;text-align:left;min-height:74px;padding:10px 10px 9px;font-size:1.125rem}
.o i{margin-top:6px;font-size:.75rem}
.o.qua{opacity:.45}
.o.trai::before{right:10px;top:12px;width:8px;height:8px}
.o.q19{background:var(--son)}
.o.kd{box-shadow:inset 0 -3px 0 var(--kim)}
.o.homnay::after{inset:0;border:0;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--son)}
.chu-giai{margin-top:18px;gap:10px 22px}
.chu-giai i{border-radius:2px}
.sap-tieu{margin-top:34px;border-bottom-color:color-mix(in srgb,var(--muc) 18%,transparent)}
.sap li{grid-template-columns:repeat(7,minmax(0,1fr));column-gap:6px;row-gap:4px;border-top-color:color-mix(in srgb,var(--muc) 12%,transparent)}
.sap li b{grid-column:1/3}
.sap li span{grid-column:3/-1}
.luu-y{margin-top:16px}
@media (max-width:600px){
  .thang-luoi{padding:20px 14px 18px;margin-inline:-6px}
  .luoi{gap:4px}.luoi .th{padding-left:6px}
  .o{min-height:58px;padding:7px 6px;font-size:1rem}.o.trai::before{right:6px;top:8px;width:6px;height:6px}
  .sap li{grid-template-columns:minmax(0,1fr)}.sap li b,.sap li span{grid-column:1/-1}
}
.chu-giai .cg-cham{border-radius:50%}
@media (min-width:821px){.khoa{padding-top:30px}}

/* ===== Standee "Khóa tu định kỳ": khung cổng sơn son mảnh, bảng giấy thếp vàng (11/11/2026) ===== */
.khoa > div{margin-top:0}
.standee{position:relative;margin-top:22px;padding:40px 30px 26px;
  background:linear-gradient(90deg,#A8302A,#7E1D17) 18px 4px/6px calc(100% - 10px) no-repeat,linear-gradient(90deg,#A8302A,#7E1D17) calc(100% - 18px) 4px/6px calc(100% - 10px) no-repeat,
  linear-gradient(var(--son),var(--son)) 8px 24px/calc(100% - 16px) 5px no-repeat}
.standee::before{content:"";position:absolute;left:-12px;right:-12px;top:0;height:22px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 22%22%3E%3Cpath d=%22M40 8V15C26 15 12 13 2 6C1 4 1 2 2 0C12 6 26 8 40 8Z%22 fill=%22%23962420%22/%3E%3C/svg%3E") left top/40px 22px no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 22%22%3E%3Cpath d=%22M0 8V15C14 15 28 13 38 6C39 4 39 2 38 0C28 6 14 8 0 8Z%22 fill=%22%23962420%22/%3E%3C/svg%3E") right top/40px 22px no-repeat,linear-gradient(var(--son),var(--son)) center 8px/calc(100% - 78px) 7px no-repeat}
.standee::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:8px;
  background:linear-gradient(var(--son-mai),var(--son-mai)) 6px 0/30px 8px no-repeat,linear-gradient(var(--son-mai),var(--son-mai)) calc(100% - 6px) 0/30px 8px no-repeat}
.st-bang{position:relative;background:linear-gradient(#FCF5E4,#F7EAD0);padding:26px 24px 22px;text-align:center;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--kim) 70%,transparent),inset 0 0 0 5px #FBF2DD,inset 0 0 0 6px color-mix(in srgb,var(--kim) 45%,transparent)}
.st-gh{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ngoc);font-weight:500;margin:0}
.st-chua{font-family:var(--f-tay);font-style:italic;font-size:1.6rem;line-height:1.2;color:var(--son);margin:4px 0 0}
.st-tieu{display:flex;align-items:center;gap:12px;justify-content:center;font-family:var(--f-chu);font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:var(--son);font-weight:600;margin:14px 0 6px}
.st-tieu::before,.st-tieu::after{content:"";height:1px;width:34px;background:color-mix(in srgb,var(--kim) 75%,transparent)}
.st-ds{list-style:none;margin:0;padding:0;text-align:left}
.st-ds li{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:14px;padding:11px 2px;border-top:1px solid color-mix(in srgb,var(--kim) 28%,transparent)}
.st-ds li.st-nhom{display:block;border-top:0;padding:18px 2px 2px;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--loang);font-weight:500}
.st-ds li.st-nhom + li{border-top:0}
.st-gio{font-family:var(--f-but);font-size:1.2rem;line-height:1.2;color:var(--son);font-variant-numeric:lining-nums}
.st-ten{font-weight:600;font-size:.975rem;line-height:1.4;color:var(--muc)}
.st-ten small{display:block;font-weight:400;font-size:.8125rem;color:var(--muc-vua);margin-top:2px}
.st-niem{font-family:var(--f-tay);font-style:italic;font-size:1rem;color:var(--son-mai);margin:18px 0 0;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--kim) 35%,transparent)}
@media (max-width:600px){.standee{padding:38px 22px 24px}.st-bang{padding:22px 16px 18px}.st-ds li{grid-template-columns:3.6rem minmax(0,1fr);gap:10px}}
/* ===== Không để chữ mồ côi ở tiêu đề ===== */
h1,h2,h3,h4,.mua-dan,.dai-le b,.nep h3,.cot h3,.loi-niem,.st-chua,.anh figcaption,.ban-do figcaption{text-wrap:balance}
p,li,dd,.st-ten{text-wrap:pretty}
.standee{margin-top:34px}

/* Cột Khóa lễ: bỏ đường kẻ dưới tiêu đề, xà standee làm đường phân cách */
.khoa .cot-dau{border-bottom:0;padding-bottom:14px}

/* ===== Chân trang: hồ sen nét vàng thếp trên nền xanh ngọc (11/11/2026) ===== */
.ft-a{background:linear-gradient(180deg,#1A4A33,#123726);color:#E9DFC8;padding-block:64px 0;position:relative;overflow:hidden}
.ft-a #nui-cuoi{display:none}
.ft-a .khung{display:block;position:relative;z-index:1}
.ft-dau{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid rgba(212,163,82,.35)}
.ft-logo{height:58px;width:auto;display:block}
.ft-a .ft-logo path,.ft-a .ft-logo rect{fill:#E2B866}
.ft-niem{font-family:var(--f-tay);font-style:italic;font-size:clamp(1.5rem,3vw,2rem);color:#EEBF6B;margin:0}
.ft-luoi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px;padding-block:30px 8px}
.ft-cot h4{font-family:var(--f-chu);font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:#C9A55E;font-weight:500;margin:0 0 12px}
.ft-cot p{margin:0 0 12px;font-size:.9375rem;line-height:1.55;max-width:none}
.ft-a .ft-cot a{color:#F3E7D4;text-decoration:none;border-bottom:1px solid rgba(212,163,82,.5)}
.ft-a .ft-cot a:hover{color:#EEBF6B}
.ft-phu{display:block;font-size:.8125rem;color:#B9AE94;margin-top:2px}
.ft-niem-nho{font-size:.8125rem!important;color:#B9AE94}
.ft-ghi{font-size:.75rem!important;color:#9F977F;max-width:52em!important;margin:18px 0 0;padding-bottom:6px}
.ft-nui{display:block;width:100%;height:clamp(80px,9vw,150px);margin-bottom:-1px;position:relative}
.ft-ho{position:relative;margin-top:22px}
.ft-ho img{display:block;width:100%;height:auto;min-height:150px;object-fit:cover;object-position:50% 100%}
@media (max-width:720px){.ft-luoi{grid-template-columns:1fr}}

/* ===== Tin tức: dòng thời gian theo năm (dữ liệu ở web/_tin-tuc/tin-tuc.json) ===== */
.tt-loc{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 36px}
.tt-loc button{appearance:none;font:inherit;font-size:.8125rem;letter-spacing:.02em;padding:7px 14px;border-radius:999px;border:1px solid var(--nhat);background:transparent;color:var(--muc-vua);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.tt-loc button:hover{border-color:var(--kim);color:var(--muc)}
.tt-loc button[aria-pressed="true"]{background:var(--son);border-color:var(--son);color:var(--giay-sang)}
.tt-nam{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:0 40px;padding-top:28px;border-top:1px solid var(--nhat)}
.tt-nam + .tt-nam{margin-top:12px}
.tt-nam-so{font-family:var(--f-but);font-weight:300;font-size:2.75rem;line-height:1;color:var(--son);margin:0;position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);align-self:start}
.tt-tin{list-style:none;margin:0;padding:0}
.tt-muc{display:grid;grid-template-columns:4.25rem minmax(0,1fr);gap:20px;padding:0 0 28px}
.tt-muc + .tt-muc{padding-top:28px;border-top:1px solid color-mix(in srgb,var(--nhat) 70%,transparent)}
.tt-muc[hidden]{display:none}
.tt-ngay{display:grid;justify-items:start;align-content:start;gap:2px;font-variant-numeric:lining-nums}
.tt-ngay b{font-family:var(--f-but);font-weight:400;font-size:1.75rem;line-height:1;color:var(--muc)}
.tt-ngay span{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--loang);font-weight:500}
.tt-loai{display:inline-flex;align-items:center;gap:7px;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--loang);font-weight:500;margin:0 0 6px}
.tt-loai::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cham,var(--kim))}
.tt-muc[data-loai="tuthien"]{--cham:var(--son)}
.tt-muc[data-loai="hienmau"]{--cham:#B8433A}
.tt-muc[data-loai="le"]{--cham:var(--kim)}
.tt-muc[data-loai="tuongniem"]{--cham:var(--muc)}
.tt-muc[data-loai="tuhoc"]{--cham:var(--ngoc-vua)}
.tt-muc[data-loai="phatsu"]{--cham:var(--loang)}
.tt-muc h4{font-family:var(--f-but);font-weight:400;font-size:1.3125rem;line-height:1.3;color:var(--muc);margin:0;text-wrap:balance}
.tt-tom{margin:8px 0 0;color:var(--muc-vua);font-size:.9375rem;line-height:1.65;max-width:44em}
.tt-nguon{margin:12px 0 0;font-size:.8125rem;color:var(--loang);display:flex;flex-wrap:wrap;gap:4px 16px}
.tt-nguon a{color:var(--muc);text-decoration:none;font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--son) 40%,transparent)}
.tt-nguon a:hover{color:var(--son);border-bottom-color:var(--son)}
.tt-nguon a::after{content:" ↗";font-weight:400;color:var(--loang)}
.tt-nguon small{font-size:inherit;color:var(--loang)}
.tt-cuoi{display:grid;justify-items:center;gap:16px;margin-top:20px;padding-top:28px;border-top:1px solid var(--nhat)}
.tt-them{appearance:none;font:inherit;font-family:var(--f-but);font-size:1.0625rem;padding:10px 24px;border-radius:999px;border:1px solid var(--son);background:transparent;color:var(--son);cursor:pointer;transition:background-color .2s,color .2s}
.tt-them:hover{background:var(--son);color:var(--giay-sang)}
.tt-them[hidden]{display:none}
.tt-cap{font-size:.8125rem;color:var(--loang);text-align:center;max-width:44em;margin:0}
@media (max-width:720px){.tt-nam{grid-template-columns:minmax(0,1fr)}.tt-nam-so{position:static;font-size:2.25rem;margin-bottom:18px}.tt-muc{grid-template-columns:3.4rem minmax(0,1fr);gap:14px}.tt-ngay b{font-size:1.5rem}}

/* ===== Nền trời theo cuộn trang: bình minh ở đầu trang, mặt trời lên cao rồi lặn khi về chân trang (11/11/2026) ===== */
.troi{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,var(--troi-tren,#D9E6DA) 0%,var(--troi-giua,#ECEFE2) 52%,var(--giay) 100%)}
.troi::after{content:"";position:absolute;inset:0;background-image:var(--tex,none)}
.mat-troi{position:absolute;left:var(--mx,80%);top:var(--my,72%);width:min(30vw,340px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;opacity:var(--mo,.7);
  background:radial-gradient(circle,var(--mt,#FBD9A8) 0 34%,color-mix(in srgb,var(--mt,#FBD9A8) 60%,transparent) 44%,color-mix(in srgb,var(--mt,#FBD9A8) 18%,transparent) 58%,transparent 72%)}
.mo{background:transparent}

/* ===== Dâng hương: dải mời trước chân trang, màn hình #dang-huong nền sơn then (11/11/2026) ===== */
.nav-huong{border:1px solid color-mix(in srgb,var(--son) 50%,transparent)!important;border-radius:999px;padding:3px 12px!important;color:var(--son)!important}
.nav-huong:hover{background:var(--son);color:var(--giay-sang)!important}
.moi-huong{text-align:center;padding-block:clamp(56px,8vw,96px)}
.moi-huong .khung{display:grid;justify-items:center;gap:12px}
.moi-huong h2{font-size:clamp(2rem,4.6vw,3.1rem);font-weight:300}
.moi-huong h2 em{font-family:var(--f-tay);font-style:italic;font-weight:400;color:var(--son)}
.moi-huong p:not(.nhan){color:var(--muc-vua);max-width:34em}
.moi-nut{margin-top:12px;display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border-radius:999px;background:var(--son);color:var(--giay-sang);text-decoration:none;font-family:var(--f-but);font-size:1.0625rem;transition:background-color .3s}
.moi-nut::before{content:"";width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 15h6l-1-3H6zM6.5 12V3M8 12V1M9.5 12V3' stroke='%23FCF5EA' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.moi-nut:hover{background:var(--son-mai)}
.dh{position:fixed;inset:0;z-index:50;overflow-y:auto;color:#F1E5CC;
  background:radial-gradient(ellipse at 50% 18%,#3A2416 0,#1E1510 55%,#140E0B 100%)}
.dh[hidden]{display:none}
body.dh-mo{overflow:hidden}
.dh-trong{max-width:880px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 22px) 20px 64px}
.dh-dau{display:flex;justify-content:space-between;align-items:center}
.dh-nhan{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:#C9A55E;margin:0}
.dh-dong{appearance:none;border:1px solid rgba(238,191,107,.4);background:transparent;color:#EEBF6B;width:40px;height:40px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer}
.dh-dong:hover{background:rgba(238,191,107,.12)}
.dh h2{font-family:var(--f-but);font-weight:300;font-size:clamp(2rem,5vw,3.2rem);text-align:center;margin:28px 0 0;color:#F6EBD6}
.dh h2 em{font-family:var(--f-tay);font-style:italic;font-weight:400;color:#EEBF6B}
.dh h2:focus{outline:none}
.dh-dan{text-align:center;color:#CDBFA3;max-width:34em;margin:12px auto 0}
.dh-canh{margin:20px auto 0;max-width:860px;text-align:center}
/* Bàn thờ minh hoạ (FLORA, web/_dang-huong/minh-hoa): nền bàn thờ trống + từng lễ phẩm tách nền, đặt theo % */
.dh-ban{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px rgba(238,191,107,.22),0 24px 60px -30px rgba(0,0,0,.8)}
.dh-nen{display:block;width:100%;height:auto}
.dh-hao{position:absolute;left:50%;top:24%;width:44%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,226,160,.55) 0,rgba(255,200,110,.18) 38%,rgba(255,200,110,0) 68%);mix-blend-mode:screen;opacity:0;transition:opacity 1.6s ease}
.dh.da-thap .dh-hao{opacity:1;animation:dh-tho 5s ease-in-out 1.6s infinite}
@keyframes dh-tho{50%{opacity:.7}}
.dh-phat{position:absolute;left:50%;bottom:57.6%;height:35%;width:auto;transform:translateX(-50%);filter:drop-shadow(0 0 18px rgba(255,214,140,.25))}
.dh-ban .vat{position:absolute;left:var(--x);bottom:var(--b);height:var(--h);transform:translateX(-50%) translateY(6%);opacity:0;transition:opacity .9s ease,transform .9s ease}
.dh-ban .vat img{display:block;height:100%;width:auto}
.dh-ban .vat::after{content:"";position:absolute;left:12%;right:12%;bottom:-2.5%;height:6%;z-index:-1;background:radial-gradient(closest-side,rgba(0,0,0,.5),rgba(0,0,0,0))}
.dh-ban .vat.lat img{transform:scaleX(-1)}
.dh-ban .vat.co{opacity:1;transform:translateX(-50%)}
.dh-ban .vat[data-k="den"]{opacity:1;transform:translateX(-50%)}
.dh-ban .lua{position:absolute;left:50%;top:0;width:15%;aspect-ratio:1/2.1;transform:translate(-50%,-92%);border-radius:50% 50% 45% 45%/62% 62% 38% 38%;
  background:radial-gradient(ellipse at 50% 72%,#FFF8D8 0,#FFD27A 34%,#F59A3C 66%,rgba(240,106,44,0) 100%);
  box-shadow:0 0 18px 6px rgba(255,190,90,.35);opacity:0;transition:opacity .6s;transform-origin:50% 100%}
.dh-ban .vat[data-k="den"].co .lua{opacity:1;animation:dh-lua 2.4s ease-in-out infinite}
.dh-ban .khoi{position:absolute;left:50%;bottom:86%;width:34%;height:120%;transform:translateX(-50%);stroke:#F6EBD6;stroke-width:1.6;opacity:0;transition:opacity 1.2s}
.dh.da-thap .dh-ban .vat[data-k="huong"].co .khoi{opacity:.5}
.dh.da-thap .dh-ban .khoi path{stroke-dasharray:6 10;animation:dh-khoi 3.6s linear infinite}
.dh.da-thap .dh-ban .khoi path:nth-child(2){animation-duration:4.4s}
.dh.da-thap .dh-ban .khoi path:nth-child(3){animation-duration:5s}
@keyframes dh-khoi{to{stroke-dashoffset:-64}}
@keyframes dh-tan{50%{opacity:.55}}
@keyframes dh-lua{50%{transform:translate(-50%,-92%) scaleY(1.12) scaleX(.92)}}
.dh-niem{min-height:3.6em;margin:10px auto 0;font-family:var(--f-but);font-style:italic;font-size:1.0625rem;line-height:1.6;color:#EEBF6B;max-width:32em}
.dh-form{margin:18px auto 0;max-width:640px;display:grid;gap:18px}
.dh-form fieldset{border:0;margin:0;padding:0}
.dh-form legend,.dh-o label{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:#C9A55E;margin-bottom:10px;padding:0}
.dh-o label span{letter-spacing:.04em;text-transform:none;color:#9C8F78}
.dh-chon{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.dh-le{appearance:none;font:inherit;display:grid;justify-items:center;gap:6px;padding:12px 4px 10px;border-radius:6px;border:1px solid rgba(238,191,107,.22);background:rgba(255,255,255,.03);color:#E6D8BC;cursor:pointer;transition:border-color .2s,background-color .2s}
.dh-le img{width:44px;height:44px;object-fit:contain}
.dh-le span{font-size:.8125rem}
.dh-le:hover{border-color:rgba(238,191,107,.5)}
.dh-le[aria-pressed="true"]{border-color:#EEBF6B;background:rgba(238,191,107,.12);color:#FBF0D8}
.dh-o{display:grid}
.dh-o input,.dh-o textarea{font:inherit;font-size:1rem;color:#F6EBD6;background:rgba(255,255,255,.04);border:1px solid rgba(238,191,107,.28);border-radius:6px;padding:11px 14px;resize:vertical}
.dh-o input::placeholder,.dh-o textarea::placeholder{color:#8D8270}
.dh-o input:focus,.dh-o textarea:focus{outline:none;border-color:#EEBF6B;background:rgba(255,255,255,.07)}
.dh-dang{justify-self:center;appearance:none;font:inherit;font-family:var(--f-but);font-size:1.125rem;padding:12px 34px;border-radius:999px;border:0;cursor:pointer;color:#2A1A10;background:linear-gradient(180deg,#F3D48C,#C4913F)}
.dh-dang:hover{filter:brightness(1.06)}
.dh-rieng{text-align:center;font-size:.8125rem;color:#9C8F78;margin:0}
/* Gửi lời nguyện về chùa (12/11/2026): ô bẫy robot ẩn, khung xác minh Turnstile, trạng thái gửi */
.dh-bay{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.dh-xm{justify-self:center}.dh-xm:empty{display:none}
.dh-dang[disabled]{opacity:.7;cursor:progress}
.dh-rieng.ok{color:#C9A55E}.dh-rieng.loi{color:#E3A08A}
.dh-the{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:44px auto 0;max-width:760px}
.dh-the section{border:1px solid rgba(238,191,107,.25);border-radius:6px;padding:22px 22px 18px;background:rgba(255,255,255,.025)}
.dh-the h3{font-family:var(--f-but);font-weight:400;font-size:1.25rem;color:#F6EBD6;margin:0 0 8px}
.dh-the p{font-size:.9375rem;color:#CDBFA3;margin:0 0 10px;line-height:1.65}
.dh-the .dh-phu{font-size:.8125rem;color:#9C8F78}
.dh-lk a{color:#EEBF6B;text-decoration:none;border-bottom:1px solid rgba(238,191,107,.5)}
@media (max-width:640px){.dh-chon{grid-template-columns:repeat(3,minmax(0,1fr))}.dh-the{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.dh-ban *,.dh-hao{animation:none!important}}

/* ===== Đầu trang: tranh minh hoạ sơn son thếp vàng (11/11/2026; tranh A10 nối rộng, bố cục theo khung A người dùng chọn) ===== */
.mo{--h:clamp(380px,62svh,640px);position:relative;min-height:max(620px,calc(100svh - 58px));padding-block:clamp(40px,8vh,84px) 0;background:#FBF4EE}
.mo #nui,.mo .suong{display:none}
.mo .khung{position:relative;z-index:2;grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:28px}
.mo .tua{grid-column:1;max-width:470px}
.mo h1{font-size:clamp(4rem,9vw,7.6rem)}
.mo .dan{max-width:28em}
.mo .truc{grid-column:2;transform:scale(.74);transform-origin:top right;margin-top:-28px}
.mo-tranh-khung{position:absolute;inset:auto 0 0 0;height:var(--h);overflow:hidden;z-index:1;pointer-events:none}
.mo-tranh{position:absolute;bottom:0;height:100%;width:auto;max-width:none;left:calc(max(20px,(100% - 1120px)/2 + 20px) + 500px);transform:translateX(-52.6%)}
.mo .tua{position:relative}
.mo .tua::before{content:"";position:absolute;inset:40% -60px -30px -80px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(251,244,238,.94) 55%,rgba(251,244,238,0))}
@media (max-height:820px) and (min-width:821px){.mo{padding-top:30px}.mo .truc{transform:scale(.66);margin-top:-36px}}
@media (max-width:980px){.mo .khung{grid-template-columns:minmax(0,1fr) 230px}}
@media (max-width:820px){
  .mo{min-height:0;padding-block:44px 0}
  .mo .khung{grid-template-columns:minmax(0,1fr)}
  .mo .tua,.mo .truc{grid-column:1;max-width:none}
  .mo .truc{transform:none;max-width:300px;margin-top:8px}
  .mo-tranh-khung{position:relative;inset:auto;height:min(64vw,380px);margin-top:20px}
  .mo-tranh{left:50%;transform:translateX(-64%)}
}

/* ===== Chân trang gọn (12/11/2026): chữ một hàng, ảnh hồ sen chồng nhẹ lên dưới hàng chữ ===== */
.ft-gon{padding-block:0!important}
.ft-gon .ft-hang{display:grid!important;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:24px 36px;align-items:start;padding-block:52px 4px;position:relative;z-index:2}
.ft-gon .ft-dau{display:block;padding:0;border:0}
.ft-gon .ft-logo{height:50px}
.ft-gon .ft-niem{font-size:1.375rem;margin:8px 0 0}
.ft-gon .ft-cot h4{margin-bottom:10px}
.ft-gon .ft-cot p{font-size:.875rem;margin-bottom:10px}
.ft-gon .ft-ho{margin-top:0px;position:relative;z-index:1}
.ft-gon .ft-ho{height:max(min(31.9vw,511px),25vw,150px)}
.ft-gon .ft-ho img{min-height:0;width:100%;height:100%;display:block;object-fit:cover;object-position:50% 100%}
.ft-gon .ft-ghi{margin:0;padding:12px 20px;text-align:center;font-size:.75rem;line-height:1.5;color:#9F977F;background:#0F2E20;border-top:1px solid rgba(212,163,82,.22);max-width:none!important;position:relative;z-index:2}
@media (max-width:900px){.ft-gon .ft-hang{grid-template-columns:1fr 1fr}.ft-gon .ft-dau{grid-column:1/-1}.ft-gon .ft-ho{margin-top:20px}}
@media (max-width:520px){.ft-gon .ft-hang{grid-template-columns:1fr 1fr;gap:20px 20px;padding-top:40px}.ft-gon .ft-cot:last-child{grid-column:1/-1}}

/* ===== Dải sóng chuyển màu dưới chân tranh đầu trang (12/11/2026), tạo từ web/_hoa-tiet/song-chan-tranh.py ===== */
.mo-song{display:block;width:100%;height:clamp(56px,7vw,112px);margin-top:-1px;position:relative}
.mo-song + .net{display:none}

/* ===== Dải đỏ Bốn đại lễ: mép sóng nước chuyển màu (kiểu A, 12/11/2026), tạo từ web/_hoa-tiet/mep-dai-bang.py ===== */
.dai-bang{margin-top:0}
.mep-dai{display:block;width:100%;height:clamp(60px,6.5vw,100px);position:relative;z-index:1}
.mep-tren{margin:40px 0 -12px}
.mep-duoi{margin:-12px 0 0}
/* Trang dừng hẳn ở chân trang: tắt hiệu ứng nảy khi cuộn quá đáy (lộ nền kem dưới chân trang xanh) */
html,body{overscroll-behavior-y:none}

/* ===== Thông điệp đầu trang (12/11/2026): lời Kiết tường kệ thay cho tên chùa cỡ lớn; tên chùa vẫn nằm trong H1 ===== */
.mo .tua{max-width:700px}
.mo h1.h1-nguyen{font-size:clamp(2.4rem,4.6vw,4.1rem);line-height:1.1;letter-spacing:-.005em;margin:0 0 .4em}
.mo h1.h1-nguyen span{display:block}
@media (min-width:821px){.mo h1.h1-nguyen span{white-space:nowrap}}
.mo h1.h1-nguyen small{font-family:var(--f-but);font-style:normal;font-size:clamp(.75rem,.95vw,.8125rem);font-weight:500;letter-spacing:.32em;line-height:1.6;margin:0 0 1.6em .15em}

/* ===== "Khi vào chùa" trên lá bồ đề lớn (12/11/2026), lá vẽ từ web/_hoa-tiet/la-bo-de.py =====
   Khung giữ tỉ lệ của lá; chữ nằm trong vùng thân lá rộng nhất, cỡ chữ co theo bề ngang lá (đơn vị cqw). */
.nep.nep-la{aspect-ratio:600/790;container-type:inline-size;padding:21% 18% 0;width:calc(100% + 56px);max-width:560px;margin-inline:-28px;box-sizing:border-box;filter:drop-shadow(0 18px 26px rgba(28,27,24,.22))}
.nep.nep-la > .la-bo-de{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible}
.nep-la #nen-nep{display:block;position:absolute;inset:0;z-index:0;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20600%20740%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M300.0%2082.0C335.0%2040.0%20410.0%2022.0%20478.0%2040.0C560.0%2062.0%20597.0%20150.0%20594.0%20240.0C591.0%20330.0%20545.0%20420.0%20470.0%20500.0C415.0%20560.0%20355.0%20610.0%20325.0%20670.0C314.0%20692.0%20306.0%20715.0%20300.0%20736.0C294.0%20715.0%20286.0%20692.0%20275.0%20670.0C245.0%20610.0%20185.0%20560.0%20130.0%20500.0C55.0%20420.0%209.0%20330.0%206.0%20240.0C3.0%20150.0%2040.0%2062.0%20122.0%2040.0C190.0%2022.0%20265.0%2040.0%20300.0%2082.0Z%22%20fill%3D%22%23fff%22/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20600%20740%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M300.0%2082.0C335.0%2040.0%20410.0%2022.0%20478.0%2040.0C560.0%2062.0%20597.0%20150.0%20594.0%20240.0C591.0%20330.0%20545.0%20420.0%20470.0%20500.0C415.0%20560.0%20355.0%20610.0%20325.0%20670.0C314.0%20692.0%20306.0%20715.0%20300.0%20736.0C294.0%20715.0%20286.0%20692.0%20275.0%20670.0C245.0%20610.0%20185.0%20560.0%20130.0%20500.0C55.0%20420.0%209.0%20330.0%206.0%20240.0C3.0%20150.0%2040.0%2062.0%20122.0%2040.0C190.0%2022.0%20265.0%2040.0%20300.0%2082.0Z%22%20fill%3D%22%23fff%22/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.nep-la h3{font-size:10.2cqw;margin:0 0 5cqw;color:#F6E7C4}
.nep-la ul{gap:3.2cqw;color:#F1E6D2}
.nep-la li{font-size:max(13.5px,4.55cqw);line-height:1.5;grid-template-columns:6cqw minmax(0,1fr);gap:3cqw;text-shadow:0 1px 2px rgba(10,35,25,.45)}
.nep-la li::before{font-size:max(15px,5.8cqw);color:#E8C77E;opacity:1}
@media (max-width:820px){.nep.nep-la{width:100%;margin-inline:auto}}
/* Điện thoại (12/11/2026): trước kéo lá cao 600/960 (gấp 1,3 lần lá thật) nên trông bị bóp; nay giữ gần tỉ lệ thật 600/770,
   cho lá tràn gần hết bề ngang màn hình và thu chữ nhẹ để vẫn nằm trong thân lá */
@media (max-width:520px){.nep.nep-la{aspect-ratio:600/770;width:calc(100% + 24px);max-width:none;margin-inline:-12px;padding:21% 17% 0}.nep-la h3{font-size:9.6cqw;margin-bottom:4cqw}.nep-la ul{gap:2.6cqw}.nep-la li{font-size:max(13px,3.7cqw);line-height:1.45}}

/* ===== Đầu trang PA A (12/11/2026): "Nguyện" nhỏ dẫn vào hai vế lớn xếp chồng, giữ nhịp nhỏ → lớn của bản "Chùa / Hòa Khánh" cũ.
   Tên chùa nằm trong H1 dạng ẩn cho máy tìm kiếm và trình đọc màn hình, hiện ra ở dòng nhãn phía trên. */
.mo h1.h1-a{font-size:clamp(2.6rem,min(5.8vw,9vh),5.5rem);line-height:.98;margin:0 0 .22em}
.mo h1.h1-a span{display:block;white-space:nowrap}
.mo h1.h1-a .vi-tri{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mo h1.h1-a small{font-family:var(--f-tay);font-style:italic;text-transform:none;font-size:.36em;letter-spacing:.06em;font-weight:400;color:var(--muc-vua);margin:0 0 .12em .06em}

/* Quầng sáng sau chữ đầu trang chỉ phủ vùng chữ, không loang sang tháp chùa; đường kẻ trên ba con số dừng trước tháp */
.mo .tua::before{inset:40% auto -30px -80px;width:600px;background:radial-gradient(closest-side,rgba(251,244,238,.9) 50%,rgba(251,244,238,0))}
.mo .so-lieu{max-width:500px}
@media (max-width:820px){.mo .tua::before{width:auto;right:-20px}.mo .so-lieu{max-width:none}}

/* ===== Thăm viếng (12/11/2026): lá bồ đề đứng ngang tiêu đề "Về chùa", trải dọc cột phải; bản đồ nằm ngay dưới cả hai cột ===== */
@media (min-width:821px){
  #tham-vieng .khung{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:52px;align-items:start}
  #tham-vieng .tieu{grid-column:1;grid-row:1}
  #tham-vieng .tham{display:contents}
  #tham-vieng .tham > div:first-child{grid-column:1;grid-row:2}
  #tham-vieng .ben-phai{grid-column:2;grid-row:1 / span 2;align-self:start;margin-top:-40px}
  #tham-vieng .ban-do{grid-column:1 / -1;grid-row:3}
}

/* ===== "Thắp một nén tâm hương" (12/11/2026): vòng sáng lan từ giữa (A) + làn khói hương bay lên từ nút (B). Giữ nguyên màu nền. ===== */
.moi-huong{position:relative;isolation:isolate}
.moi-huong .khung{position:relative;z-index:2}
.moi-huong .hieu-ung{position:absolute;inset:-110px 0 -30px;z-index:0;pointer-events:none;overflow:hidden;-webkit-mask:linear-gradient(transparent,#000 26%,#000 80%,transparent);mask:linear-gradient(transparent,#000 26%,#000 80%,transparent)}
.hu-tam{position:absolute;left:50%;top:56%;width:0;height:0}
.hu-quang{position:absolute;left:0;top:0;width:min(640px,120vw);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,200,.75),rgba(246,206,150,.35) 45%,rgba(246,206,150,0) 75%)}
.hu-vong{position:absolute;left:0;top:0;width:min(520px,100vw);aspect-ratio:1;translate:-50% -50%;border-radius:50%;opacity:0;
  background:radial-gradient(closest-side,rgba(212,163,82,0) 62%,rgba(212,163,82,.38) 78%,rgba(255,232,190,.25) 86%,rgba(212,163,82,0) 100%);
  animation:hu-lan 9s cubic-bezier(.22,.6,.36,1) infinite}
.hu-vong:nth-child(3){animation-delay:3s}
.hu-vong:nth-child(4){animation-delay:6s}
@keyframes hu-lan{0%{scale:.25;opacity:0}15%{opacity:.9}100%{scale:2.6;opacity:0}}
.hu-khoi{position:absolute;left:50%;bottom:4%;width:110px;height:200px;margin-left:-55px;border-radius:50%;opacity:0;filter:blur(10px);
  background:radial-gradient(closest-side,rgba(255,253,248,1),rgba(255,247,236,.6) 45%,rgba(255,240,222,0));
  animation:hu-bay 12s ease-in-out infinite}
.hu-khoi:nth-child(3){animation-delay:3s;--x:-50px}
.hu-khoi:nth-child(4){animation-delay:6s;--x:55px}
.hu-khoi:nth-child(5){animation-delay:9s;--x:-20px}
@keyframes hu-bay{0%{translate:0 0;scale:.5 .7;opacity:0}18%{opacity:.85}50%{translate:calc(var(--x,30px) * .5) -150px;scale:1.4 1.6;opacity:.6;rotate:6deg}100%{translate:var(--x,30px) -320px;scale:2.6 2.2;opacity:0;rotate:-8deg}}
@media (prefers-reduced-motion:reduce){.hu-vong,.hu-khoi{animation:none;opacity:0}}
/* Lá bồ đề rộng ngang hơn, bớt dài: tràn nhiều hơn sang khe giữa hai cột */
@media (min-width:821px){.nep.nep-la{aspect-ratio:600/735;width:calc(100% + 96px);max-width:620px;margin-left:-72px;margin-right:-24px;padding-top:20%}}
@media (min-width:821px) and (max-width:1120px){.nep.nep-la{width:calc(100% + 72px);margin-right:0}}

/* ===== Banner động (12/11/2026): mặt trời mọc sau mái chánh điện rồi "thở", mây trôi, chiều sâu khi cuộn.
   Mặt trời và mây tách khỏi tranh bằng web/_banner/tach-mat-troi.py; toạ độ tính theo % khung tranh đã nối rộng (12786 × 2688 gốc). ===== */
.mo-tranh-khung{overflow:clip visible}
.mt-canh{aspect-ratio:6659/1400;width:auto}
.mt-tranh{position:absolute;inset:0;width:100%;height:100%;display:block}
.mt-lop{position:absolute;inset:0;pointer-events:none;will-change:transform}
.mt-lop-troi{transform:translate3d(0,calc(var(--cuon,0) * .24px),0)}
.mt-lop-may{transform:translate3d(0,calc(var(--cuon,0) * .12px),0)}
.mt-troi{position:absolute;left:60.7%;top:-1.4%;width:6.846%;height:32.565%;animation:mt-moc 3.8s cubic-bezier(.2,.7,.2,1) .3s both}
.mt-dia{position:absolute;inset:0;width:100%;height:100%;display:block}
.mt-quang{position:absolute;inset:-48%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,228,176,.62),rgba(255,214,150,.26) 46%,rgba(255,214,150,0) 74%);animation:mt-tho 8s ease-in-out infinite alternate}
.mt-vien{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,247,226,0) 0 62%,rgba(255,247,226,.9) 74%,rgba(255,247,226,0) 86% 100%);
  -webkit-mask:radial-gradient(closest-side,transparent 96.5%,#000 98.2%,transparent 100%);mask:radial-gradient(closest-side,transparent 96.5%,#000 98.2%,transparent 100%);animation:mt-xoay 16s linear infinite}
.mt-may{position:absolute;display:block;height:auto;animation:mt-may 44s ease-in-out infinite alternate}
.mt-may.m1{left:48.279%;top:32.775%;width:6.468%}
.mt-may.m2{left:13%;top:20%;width:5.6%;transform:scaleX(-1);opacity:.75;animation-duration:56s;animation-delay:-21s}
.mt-may.m3{left:78.5%;top:12%;width:4.2%;opacity:.6;animation-duration:48s;animation-delay:-9s}
@media (max-width:1100px){.mt-troi{left:58.8%}}
@keyframes mt-moc{from{translate:0 42%;opacity:0}35%{opacity:1}to{translate:0 0;opacity:1}}
@keyframes mt-tho{from{scale:.9;opacity:.6}to{scale:1.08;opacity:1}}
@keyframes mt-xoay{to{rotate:360deg}}
@keyframes mt-may{from{translate:-16% 0}to{translate:16% 0}}
@media (prefers-reduced-motion:reduce){.mt-troi,.mt-quang,.mt-vien,.mt-may{animation:none}.mt-lop{transform:none}}

/* Hào quang tượng Quan Âm: vòng sau đầu tượng ửng sáng nhẹ theo nhịp chậm (tâm vòng ở 2905, 1270 tranh gốc, bán kính ~115) */
.mt-hao-quang{position:absolute;left:56.35%;top:47.25%;width:5.4%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(closest-side,rgba(255,240,210,.1) 0,rgba(255,236,200,.06) 26%,rgba(255,232,190,.32) 31%,rgba(255,228,176,.95) 34.5%,rgba(255,222,165,.48) 41%,rgba(255,216,152,.2) 56%,rgba(255,214,150,0) 82%);
  animation:mt-hao 7s ease-in-out infinite alternate}
@keyframes mt-hao{from{opacity:.4;scale:.97}to{opacity:1;scale:1.05}}
@media (prefers-reduced-motion:reduce){.mt-hao-quang{animation:none;opacity:.5}}

/* ===== Cúng dường (12/11/2026): thông tin chuyển khoản do Thầy Trụ trì cho phép công khai; mã VietQR tạo từ web/_cung-duong/tao-vietqr.py.
   Bố cục gọn: mã QR nhỏ bên trái, bốn ô thông tin xếp 2 × 2 bên phải. ===== */
.dh-the{grid-template-columns:1fr}
.dh-the .dh-cung{grid-column:1/-1}
.dh-cung .cd-dan{margin:0 0 14px}
.cd-luoi{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center}
.cd-qr{margin:0}
.cd-qr img{display:block;width:112px;height:auto;padding:6px;background:#FCF5EA;border-radius:6px;box-shadow:0 0 0 1px rgba(238,191,107,.45);box-sizing:border-box}
.cd-tk{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.cd-tk > div{min-width:0}
.cd-tk dt{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:#9C8F78;margin:0 0 2px}
.cd-tk dd{margin:0;color:#F6EBD6;font-size:.9375rem;line-height:1.35;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}
.cd-tk dd small{flex-basis:100%;font-size:.75rem;color:#B8AA8E}
.cd-so{font-family:var(--f-but);font-size:1.0625rem;letter-spacing:.05em;font-variant-numeric:lining-nums tabular-nums;color:#FBF0D8}
/* iPhone tự biến dãy số thành link gọi điện, ăn màu link mực đậm nên chìm vào nền tối (12/11/2026). Đã tắt bằng
   meta format-detection; dòng này là chốt chặn thêm nếu trình duyệt vẫn tự gắn link */
.cd-so a,a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;font:inherit!important}
.cd-chep{appearance:none;font:inherit;font-size:.6875rem;letter-spacing:.04em;padding:2px 10px;border-radius:999px;border:1px solid rgba(238,191,107,.55);background:transparent;color:#EEBF6B;cursor:pointer}
.cd-chep:hover{background:rgba(238,191,107,.12)}
.dh-cung .cd-ghi{margin:12px 0 0;font-size:.75rem;color:#9C8F78}
@media (max-width:640px){.cd-luoi{grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:start}.cd-qr img{width:92px}.cd-tk{grid-template-columns:1fr;gap:8px}}
/* ===== Mặt trời nền trang (12/11/2026): mờ như ánh sáng nền khi cuộn giữa trang, lặn sau dải núi trước chân trang ("ngày an lành, đêm an lành") ===== */
.mat-troi{filter:blur(14px)}

/* Chân trang (12/11/2026): góc trái chỉ còn lời niệm; tên chùa chuyển vào cột Thăm viếng; thêm TikTok */
.ft-gon .ft-dau .ft-niem{font-size:clamp(1.6rem,2.3vw,2.05rem);line-height:1.2;margin:0;text-wrap:wrap;white-space:nowrap}
@media (max-width:900px){.ft-ngat{display:none}}
.ft-ten{display:block;font-family:var(--f-but);font-weight:500;font-size:1.0625rem;color:#F6EBD6;margin-bottom:2px}

/* Hào quang thở phía sau ngôi chùa: vầng sáng lớn quanh mặt trời phồng xẹp chậm, tia sáng mảnh xoay rất chậm (một vòng 3 phút) */
.mt-hao{position:absolute;left:64.12%;top:14.9%;width:30%;aspect-ratio:1;translate:-50% -50%;pointer-events:none}
.mt-hao-sang{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,198,.7),rgba(252,222,170,.34) 34%,rgba(250,214,160,.12) 58%,rgba(250,214,160,0) 78%);animation:mt-hao-tho 9s ease-in-out infinite alternate}
.mt-hao-tia{position:absolute;inset:-10%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(236,186,118,.3) 0deg 1.1deg,rgba(236,186,118,0) 1.1deg 7.5deg);
  -webkit-mask:radial-gradient(closest-side,transparent 16%,#000 30%,rgba(0,0,0,.45) 56%,transparent 78%);mask:radial-gradient(closest-side,transparent 16%,#000 30%,rgba(0,0,0,.45) 56%,transparent 78%);
  animation:mt-xoay 180s linear infinite}
@keyframes mt-hao-tho{from{scale:.9;opacity:.65}to{scale:1.08;opacity:1}}
@media (prefers-reduced-motion:reduce){.mt-hao-sang,.mt-hao-tia{animation:none}}

/* Vệt cam tròn (mặt trời nền trang, lặn sau núi): tạm ẩn theo ý chị Uyên 12/11/2026. Mã điều khiển vẫn giữ; muốn bật lại chỉ cần xoá dòng này. */
.mat-troi{display:none}

/* Màn thấp (laptop 768–900 px cao): thu gọn cụm chữ đầu trang để ba con số không lấn xuống dãy phố trong tranh */
@media (min-width:821px) and (max-height:900px){
  .mo .dan{font-size:1rem;margin-bottom:0}
  .mo .so-lieu{padding-top:14px;gap:8px 30px}
  .mo .so-lieu b{font-size:1.75rem}
  .mo{--h:clamp(380px,58svh,600px)}
}

/* ===== Khung ảnh kiểu "tranh treo" (12/11/2026, chị Uyên chọn A): viền giấy kem mỏng, chỉ vàng đôi, bóng đổ nhẹ.
   Áp cho mọi ảnh nội dung trong các mục (section); không áp cho tranh banner, bản đồ, lá bồ đề. ===== */
section .anh .khuon{padding:7px;background:#FBF4E6;border-radius:1px;box-shadow:0 0 0 1px rgba(196,145,63,.6),0 14px 30px -18px rgba(46,26,18,.45)}
section .anh .khuon::after{content:"";position:absolute;inset:3px;border:1px solid rgba(196,145,63,.5);background:none;pointer-events:none}
.dai-bang .anh .khuon{border:0;padding:7px;background:#F4E6CC;box-shadow:0 0 0 1px rgba(232,198,126,.85),0 18px 32px -16px rgba(30,6,4,.6)}
.dai-bang .anh .khuon::after{border-color:rgba(176,128,52,.65)}

/* ===== Trang Dâng hương dễ dùng cho người lớn tuổi (12/11/2026): lễ phẩm to, 3 cột, chữ lớn, dấu chọn rõ ===== */
.dh-form{max-width:760px;gap:24px}
.dh-form legend,.dh-o label{font-size:.875rem;letter-spacing:.16em;margin-bottom:8px}
.dh-o label span{font-size:.875rem}
.dh-goi-y{margin:0 0 14px;font-size:1rem;color:#CDBFA3}
.dh-chon{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dh-le{position:relative;gap:10px;padding:20px 10px 18px;border-radius:12px;border-width:1.5px;min-height:150px;align-content:center}
.dh-le img{width:88px;height:88px}
.dh-le span{font-family:var(--f-but);font-size:1.25rem;line-height:1.2}
.dh-le[aria-pressed="true"]{border-width:2px;box-shadow:0 0 0 3px rgba(238,191,107,.18)}
.dh-le::after{content:"";position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(238,191,107,.35)}
.dh-le[aria-pressed="true"]::after{border-color:#EEBF6B;background:#EEBF6B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%232A1A10' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.dh-le:focus-visible{outline:3px solid #EEBF6B;outline-offset:3px}
.dh-o input,.dh-o textarea{font-size:1.125rem;padding:15px 16px;border-radius:10px}
.dh-dang{font-size:1.3125rem;padding:16px 48px;min-height:56px}
@media (max-width:640px){.dh-chon{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dh-le{min-height:136px;padding:18px 8px 16px}.dh-le img{width:76px;height:76px}.dh-le span{font-size:1.1875rem}}

.dh-le.dh-le-co-dinh{cursor:default}
.dh-le.dh-le-co-dinh:hover{border-color:#EEBF6B}

/* ===== Cuộn lịch "Hôm nay" (12/11/2026): bỏ thu nhỏ bằng scale (chữ chỉ còn 8–10 px), đặt cỡ chữ thật, dễ đọc cho người lớn tuổi ===== */
@media (min-width:821px){
  .mo .truc{transform:none;width:244px;justify-self:end;margin-top:-84px;margin-right:-6px}
  .mo .truc .tren{padding:12px 12px 8px}
  .mo .truc .thu{font-size:.75rem;letter-spacing:.18em}
  .mo .truc .duong{font-size:3.3rem}
  .mo .truc .thang{font-size:.9375rem}
  .mo .truc .am{padding:8px 10px;font-size:.875rem}
  .mo .truc .am b{font-size:1.25rem}
  .mo .truc .nay{padding:9px 14px 12px;font-size:.9375rem;line-height:1.35}
  .mo .truc .nay h3{font-size:.75rem;letter-spacing:.16em;margin-bottom:6px}
  .mo .truc li{grid-template-columns:3.1em minmax(0,1fr);gap:6px}
  .mo .truc ul{gap:5px}
}
@media (max-height:820px) and (min-width:821px){.mo .truc{transform:none;margin-top:-34px}.mo .truc .duong{font-size:2.9rem}}

/* ===== Nền banner chuyển màu "Ngọc bích" (12/11/2026, chị Uyên chọn B): xanh ngọc nhạt như trời sớm → kem → đào ấm ở chân tranh ===== */
.mo{background:linear-gradient(180deg,#D9E6DA 0%,#ECEFE2 30%,#F8F0E2 58%,#F5DEC2 100%)}
.mo .tua::before{background:radial-gradient(closest-side,rgba(255,250,242,.45) 40%,rgba(255,250,242,0))}
/* thanh menu trong hơn để hoà vào nền xanh ngọc ở đầu trang (vẫn mờ nền khi cuộn qua các mục kem) */
.dau{background:color-mix(in srgb,var(--giay) 62%,transparent)}

/* ===== Điện thoại (12/11/2026): sau khi thêm thẻ viewport, rà lại cỡ 360–430px =====
   - Nút Dâng hương nằm góc trên phải, luôn thấy; hàng mục lục trượt ngang, mờ dần ở mép phải để biết còn mục
   - Đầu trang: lời chào → banner cảnh chùa (mặt trời, chùa, Quan Âm) → lịch hôm nay
   - Sơ đồ chùa: chữ dãy bên không bị cột che; trang dâng hương: lễ phẩm 3 cột cho gần bàn thờ */
@media (max-width:820px){
  .dau .khung{position:relative;padding-right:132px}
  .dau nav{width:calc(100% + 132px);margin-right:-132px;padding-right:28px}
  .dau .khung::after{content:"";position:absolute;right:0;bottom:8px;width:44px;height:30px;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--giay) 0%,transparent),var(--giay) 75%)}
  .dau nav .nav-huong{position:absolute;right:20px;top:16px}
  .mo{display:flex;flex-direction:column}
  .mo>.khung{display:contents}
  .mo .tua{order:1;margin-inline:20px}
  .mo-tranh-khung{order:2;height:min(86vw,360px);margin-top:8px}
  .mo-tranh{transform:translateX(-62%)}
  .mo .truc{order:3;margin:28px auto 0;width:calc(100% - 40px);max-width:340px}
  .lau .tang span{text-wrap:balance}
  .lau .tang.lang{padding-inline:2px}
  .lau .tang.lang small{letter-spacing:.06em}
  .lau .tang.lang span{font-size:.75rem;white-space:nowrap}
}
@media (max-width:520px){
  .dh-chon{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .dh-le{padding:10px 4px 8px!important;min-height:0!important;overflow:hidden}
  .dh-le img{height:50px!important;width:100%!important;max-width:100%!important;object-fit:contain}
  .dh-le span{font-size:.875rem!important}
}
@media (max-width:430px){.dau .ten-thu{font-size:min(2.1rem,7.4vw)}}
@media (max-width:360px){.dau nav .nav-huong{font-size:.8125rem;padding:3px 10px!important}.dau .khung{padding-right:118px}}

/* ===== Trang Tin tức riêng + dải "Tin mới" trên trang chủ (12/11/2026) ===== */
.trang-tin{padding-top:clamp(40px,6vw,72px)}
.trang-tin .tieu h1.h2{font-family:var(--f-but);font-weight:300;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.1;color:var(--muc);margin:0}
.trang-tin .tieu h1.h2 em{color:var(--son)}
.trang-tin .nhan a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--loang) 50%,transparent)}
.dau nav a[aria-current="page"]{color:var(--son);border-bottom-color:var(--son)}
.tin-moi{padding-block:clamp(36px,5vw,56px)}
.tin-moi .tm-dau{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:14px}
.tin-moi .nhan{margin:0}
.tm-het{font-family:var(--f-but);font-size:1.0625rem;color:var(--son);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--son) 40%,transparent);white-space:nowrap}
.tm-het:hover{border-bottom-color:var(--son)}
.tm-ds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--nhat)}
.tm-ds a{display:grid;gap:6px;padding:18px 0;text-decoration:none;color:var(--muc);border-bottom:1px solid var(--nhat)}
.tm-ds a:hover b{color:var(--son)}
.tm-meta{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--loang)}
.tm-ds b{font-family:var(--f-but);font-weight:400;font-size:1.25rem;line-height:1.35;text-wrap:balance;transition:color .2s}
@media (max-width:720px){.tm-ds{grid-template-columns:minmax(0,1fr)}.tm-ds b{font-size:1.125rem}}

/* Giữ cụm địa danh liền một dòng, không ngắt "TP. Hồ / Chí Minh" (12/11/2026) */
.lien{white-space:nowrap}
