:root{
    --lyhl-red:#7d1f1b;
    --lyhl-red2:#a62d25;
    --lyhl-gold:#c9a14a;
    --lyhl-ivory:#fbf4e7;
    --lyhl-paper:#fffaf1;
    --lyhl-ink:#382b25;
    --lyhl-muted:#74645a;
    --lyhl-line:#ead9bb;
    --lyhl-deep:#301814;
}
html{scroll-behavior:smooth}
body.lyhl-active{margin:0;background:var(--lyhl-paper)}
.lyhl-main{background:var(--lyhl-paper);color:var(--lyhl-ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif}
.lyhl-main *{box-sizing:border-box}
.lyhl-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.lyhl-preview-badge{position:sticky;top:0;z-index:9999;padding:9px 14px;background:#19100d;color:#fff;text-align:center;font-size:12px;font-weight:800;letter-spacing:.08em}

/* Compact header/footer compatibility with Interior Pages */
.lyhl-active .lyhr-site-header{position:relative;z-index:1000;background:#fff;border-bottom:1px solid #eee3d7;box-shadow:0 3px 14px rgba(45,30,22,.05)}
.lyhl-active .lyhr-header-shell{width:min(1160px,calc(100% - 40px));min-height:86px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.lyhl-active .lyhr-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none!important}
.lyhl-active .lyhr-brand img{display:block;max-width:230px;max-height:58px;width:auto;height:auto;object-fit:contain;object-position:left center}
.lyhl-active .lyhr-desktop-nav{margin-left:auto}
.lyhl-active .lyhr-primary-menu,.lyhl-active .lyhr-mobile-menu{list-style:none;margin:0;padding:0}
.lyhl-active .lyhr-primary-menu{display:flex;align-items:center;gap:2px}
.lyhl-active .lyhr-primary-menu>li{position:relative}
.lyhl-active .lyhr-primary-menu>li>a{display:flex;align-items:center;min-height:86px;padding:0 15px;color:#3c332e!important;text-decoration:none!important;font-size:12px;font-weight:700;white-space:nowrap}
.lyhl-active .lyhr-primary-menu>li>a:hover,.lyhl-active .lyhr-primary-menu>li.current-menu-item>a,.lyhl-active .lyhr-primary-menu>li.current-menu-ancestor>a{color:var(--lyhl-red2)!important;background:#fbf7ef}
.lyhl-active .lyhr-primary-menu .sub-menu{position:absolute;top:100%;left:0;min-width:220px;list-style:none;padding:8px 0;margin:0;background:#fff;border:1px solid #eee3d7;box-shadow:0 12px 34px rgba(54,32,21,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease;z-index:1002}
.lyhl-active .lyhr-primary-menu li:hover>.sub-menu{opacity:1;visibility:visible;transform:none}
.lyhl-active .lyhr-primary-menu .sub-menu a{display:block;padding:10px 16px;color:#46382f!important;text-decoration:none!important;font-size:12px;white-space:nowrap}
.lyhl-active .lyhr-primary-menu .sub-menu .sub-menu{top:-9px;left:100%}
.lyhl-active .lyhr-menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}
.lyhl-active .lyhr-menu-toggle span{display:block;height:2px;background:#4c281d;margin:5px 0}
.lyhl-active .lyhr-mobile-nav{display:none;background:#fff;border-top:1px solid #eee3d7}
.lyhl-active .lyhr-mobile-menu>li>a{display:block;padding:13px 22px;color:#3d322c!important;text-decoration:none!important;border-bottom:1px solid #f1e9df;font-weight:700;font-size:13px}
.lyhl-active .lyhr-mobile-menu .sub-menu{list-style:none;padding:0;margin:0;background:#fbf7ef}
.lyhl-active .lyhr-mobile-menu .sub-menu a{display:block;padding:11px 32px;color:#65564d!important;text-decoration:none!important;border-bottom:1px solid #eee3d7;font-size:12px}
.lyhl-active .lyhr-site-footer{background:#18100e;color:#b9b1ab;padding:24px 0}
.lyhl-active .lyhr-footer-shell{width:min(1160px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.lyhl-active .lyhr-footer-nav .lyhr-primary-menu{gap:14px;flex-wrap:wrap}
.lyhl-active .lyhr-footer-nav .lyhr-primary-menu>li>a{min-height:auto;padding:0;background:transparent!important;color:#cfc8c3!important;font-size:10px}
.lyhl-active .lyhr-footer-nav .sub-menu{display:none!important}
.lyhl-active .lyhr-copyright{font-size:10px;text-align:right;color:#8f8781}

/* Hero */
.lyhl-hero{position:relative;min-height:430px;display:flex;align-items:center;background:
linear-gradient(135deg,#5e2b1e,#24130f);overflow:hidden}
.lyhl-hero:before{content:"";position:absolute;inset:0;background-image:var(--lyhl-hero);background-size:cover;background-position:center;opacity:.55}
.lyhl-hero-overlay{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(39,17,12,.9),rgba(58,27,19,.62) 52%,rgba(48,22,16,.55)),
radial-gradient(circle at 75% 40%,rgba(239,198,108,.24),transparent 34%)}
.lyhl-hero-inner{position:relative;z-index:2;padding:76px 0;text-align:center;color:#fff}
.lyhl-kicker{color:#ebce89;font-size:11px;font-weight:850;letter-spacing:.17em}
.lyhl-hero h1{margin:9px 0 7px;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:clamp(50px,7vw,78px);font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.lyhl-hero-prayer{margin-bottom:25px;color:#f3d4ad;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:19px;font-style:italic}
.lyhl-hero p{max-width:700px;margin:0 auto;color:rgba(255,255,255,.86);font-size:16px;line-height:1.72}

/* Find */
.lyhl-find{padding:58px 0 30px;background:linear-gradient(180deg,#fff8ec,#fbf2df)}
.lyhl-section-head span,.lyhl-results-head span{display:block;margin-bottom:7px;color:var(--lyhl-red2);font-size:10.5px;font-weight:850;letter-spacing:.16em}
.lyhl-section-head h2,.lyhl-results-head h2{margin:0;color:var(--lyhl-red);font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:clamp(31px,4vw,43px);font-weight:600}
.lyhl-section-head p{margin:8px 0 0;color:var(--lyhl-muted);font-size:14px}
.lyhl-section-head.centered{text-align:center}
.lyhl-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;max-width:880px;margin:26px auto 18px}
.lyhl-search-box{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 18px;border:1px solid #dcc8a4;border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(77,45,28,.06)}
.lyhl-search-box span{color:#b68735;font-size:24px}
.lyhl-search-box input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#40332d;font-size:14px}
.lyhl-gender-tabs{display:flex;padding:4px;border:1px solid #dcc8a4;border-radius:999px;background:#fff}
.lyhl-gender-tabs button{min-width:88px;border:0;border-radius:999px;background:transparent;padding:10px 14px;color:#704c3d;font-size:12px;font-weight:850;cursor:pointer}
.lyhl-gender-tabs button small{margin-left:4px;opacity:.7}
.lyhl-gender-tabs button.is-active{background:var(--lyhl-red);color:#fff}
.lyhl-letters{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;max-width:920px;margin:0 auto}
.lyhl-letters a{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:8px;color:#70584d!important;text-decoration:none!important;font-size:10px;font-weight:800}
.lyhl-letters a:hover,.lyhl-letters a.is-active{background:#ead8b7;color:var(--lyhl-red)!important}

/* Directory */
.lyhl-directory{padding:54px 0 76px;background:#fffaf1}
.lyhl-dual-directory{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.lyhl-directory-side{padding:25px 25px 28px;border:1px solid var(--lyhl-line);border-radius:22px;background:rgba(255,255,255,.7)}
.lyhl-side-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.lyhl-side-head>div{display:flex;align-items:center;gap:8px}
.lyhl-side-head h3{margin:0;color:var(--lyhl-red);font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:28px;text-transform:uppercase}
.lyhl-side-head small{color:#8c776b}
.lyhl-lotus{color:var(--lyhl-gold)}
.lyhl-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.lyhl-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.lyhl-card{border:1px solid #e6d5b7;border-radius:15px;background:#fff9ee;overflow:hidden;box-shadow:0 8px 24px rgba(72,41,25,.04)}
.lyhl-card-link{display:block;color:inherit!important;text-decoration:none!important}
.lyhl-card-photo{aspect-ratio:4/5;background:linear-gradient(145deg,#e8d7b8,#c49b57);overflow:hidden}
.lyhl-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.lyhl-card:hover .lyhl-card-photo img{transform:scale(1.02)}
.lyhl-photo-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:180px;color:#fff0c3;font-size:42px;background:linear-gradient(145deg,#744435,#b88b46)}
.lyhl-photo-placeholder.large{min-height:500px;font-size:70px}
.lyhl-card-copy{padding:14px 11px 16px;text-align:center}
.lyhl-card-copy .lyhl-lotus{font-size:13px}
.lyhl-card h3{margin:5px 0 5px;color:#4d3028;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;line-height:1.25}
.lyhl-card-copy p{margin:0;color:#725b50;font-size:11px;line-height:1.45}
.lyhl-years{margin-top:5px;color:#6a4d3f;font-size:11px;font-weight:750}
.lyhl-card-copy small{display:block;margin-top:7px;color:#a08b7d;font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.lyhl-view-all{display:flex;justify-content:center;margin:22px auto 0;color:var(--lyhl-red)!important;text-decoration:none!important;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.lyhl-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
.lyhl-results-head>a{color:var(--lyhl-red)!important;text-decoration:none!important;font-size:11px;font-weight:800}
.lyhl-empty{padding:22px;border-radius:14px;background:#f5ead7;color:#806d62;text-align:center}
.lyhl-empty.large{padding:44px}
.lyhl-pagination{display:flex;justify-content:center;gap:6px;margin-top:32px;flex-wrap:wrap}
.lyhl-pagination a{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:1px solid var(--lyhl-line);border-radius:9px;background:#fff;color:#66483c!important;text-decoration:none!important;font-size:12px;font-weight:800}
.lyhl-pagination a.current{border-color:var(--lyhl-red);background:var(--lyhl-red);color:#fff!important}

/* Prayer */
.lyhl-prayer{position:relative;padding:76px 0;background:
radial-gradient(circle at 25% 50%,rgba(210,162,69,.14),transparent 26%),
linear-gradient(135deg,#4e2119,#250f0c);color:#fff;text-align:center;overflow:hidden}
.lyhl-prayer:before{content:"✦";position:absolute;left:8%;top:26%;font-size:120px;color:rgba(221,181,91,.05)}
.lyhl-prayer-inner{position:relative;z-index:2}
.lyhl-prayer span{color:#dfb85d;font-size:10.5px;font-weight:850;letter-spacing:.17em}
.lyhl-prayer h2{margin:9px 0 20px;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:36px;font-weight:600}
.lyhl-prayer p{margin:0;color:#f6e2c7;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:17px;font-style:italic;line-height:1.9}

/* Single memorial */
.lyhl-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:28px;color:rgba(255,255,255,.65);font-size:11px}
.lyhl-breadcrumb a{color:#efd596!important;text-decoration:none!important}
.lyhl-single-hero{position:relative;padding:46px 0 68px;background:
radial-gradient(circle at 82% 20%,rgba(215,172,83,.16),transparent 28%),
linear-gradient(135deg,#4a2119,#25120e);color:#fff}
.lyhl-focus-toggle{display:flex;margin:0 0 20px auto;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.06);padding:8px 13px;color:#f2dfb1;font-size:11px;cursor:pointer}
.lyhl-single-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:52px;align-items:center}
.lyhl-single-photo{margin:0;border:2px solid #cba653;border-radius:20px;overflow:hidden;background:#6b4435;box-shadow:0 22px 58px rgba(0,0,0,.2)}
.lyhl-single-photo img{display:block;width:100%;height:auto;max-height:650px;object-fit:cover}
.lyhl-single-info h1{margin:10px 0 12px;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:clamp(40px,5vw,62px);font-weight:600;line-height:1.08}
.lyhl-single-buddhist{color:#f5dfb8;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:20px;font-style:italic}
.lyhl-single-years{margin-top:8px;color:#fff;font-size:22px;letter-spacing:.04em}
.lyhl-single-age{margin-top:5px;color:rgba(255,255,255,.68);font-size:13px}
.lyhl-divider{display:flex;align-items:center;gap:10px;margin:23px 0;color:#d8b45e}
.lyhl-divider:before,.lyhl-divider:after{content:"";height:1px;flex:1;background:rgba(216,180,94,.36)}
.lyhl-memorial-note{margin:0;color:rgba(255,255,255,.79);font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;font-style:italic;line-height:1.85}
.lyhl-gender-label{display:inline-flex;margin-top:22px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#f1dcad;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Listening */
.lyhl-listen-section{padding:74px 0;background:linear-gradient(180deg,#fff8ec,#f7ecd8)}
.lyhl-listen-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}
.lyhl-listen-copy>span{color:var(--lyhl-red2);font-size:10px;font-weight:850;letter-spacing:.16em}
.lyhl-listen-copy h2{margin:9px 0 14px;color:var(--lyhl-red);font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:clamp(32px,4vw,45px);font-weight:600}
.lyhl-listen-copy p{margin:0;color:#78665c;font-size:15px;line-height:1.75}
.lyhl-player-card{padding:28px;border:1px solid #decaa7;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 15px 42px rgba(75,43,28,.08)}
.lyhl-player-card label{display:block;margin-bottom:8px;color:#5b4136;font-size:12px;font-weight:800}
.lyhl-sutra-select{width:100%;min-height:44px;border:1px solid #d9c5a2!important;border-radius:10px!important;background:#fff!important;color:#4d3a31!important;padding:0 12px!important}
.lyhl-audio-wrap{margin-top:18px}
.lyhl-audio{width:100%}
.lyhl-youtube-wrap{margin-top:18px;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1b110e}
.lyhl-youtube{width:100%;height:100%;border:0}
.lyhl-now-playing{margin-top:10px;color:#8b776b;font-size:11px}
.lyhl-player-prayer{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:17px;border-radius:13px;background:#f8edda;color:#6b554a}
.lyhl-player-prayer>span{color:#c69d45}
.lyhl-player-prayer p{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px;font-style:italic;line-height:1.65}
.lyhl-no-sutra{padding:18px;border:1px dashed #d6c19d;border-radius:12px;color:#665248}
.lyhl-no-sutra p{margin:7px 0 0;font-size:13px;line-height:1.6}

.lyhl-memorial-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding-top:26px;padding-bottom:36px;background:#fffaf1}
.lyhl-memorial-nav>div:last-child{text-align:right}
.lyhl-memorial-nav a{color:#6c4b3e!important;text-decoration:none!important;font-size:11px;font-weight:750}
.lyhl-back-directory{padding:9px 13px;border:1px solid var(--lyhl-line);border-radius:999px;background:#fff}

/* Focus mode */
body.lyhl-focus-mode .lyhr-site-header,
body.lyhl-focus-mode .lyhr-site-footer{display:none!important}
body.lyhl-focus-mode .lyhl-single-hero{min-height:65vh;display:flex;align-items:center}
body.lyhl-focus-mode .lyhl-focus-toggle{position:fixed;right:18px;top:18px;z-index:10000;background:#2f1712}
body.lyhl-focus-mode .lyhl-breadcrumb,
body.lyhl-focus-mode .lyhl-memorial-nav{display:none!important}
body.lyhl-focus-mode .lyhl-listen-section{padding-top:50px}

@media(max-width:1000px){
    .lyhl-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .lyhl-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
    .lyhl-active .lyhr-desktop-nav{display:none}
    .lyhl-active .lyhr-menu-toggle{display:block}
    .lyhl-active .lyhr-mobile-nav.is-open{display:block}
    .lyhl-active .lyhr-header-shell{min-height:72px}
    .lyhl-active .lyhr-brand img{max-width:190px;max-height:50px}
    .lyhl-active .lyhr-footer-shell{display:block}
    .lyhl-active .lyhr-footer-nav{margin-bottom:14px}
    .lyhl-active .lyhr-copyright{text-align:left}
    .lyhl-dual-directory{grid-template-columns:1fr}
    .lyhl-single-grid,.lyhl-listen-grid{grid-template-columns:1fr}
    .lyhl-single-photo{max-width:520px;margin-left:auto;margin-right:auto}
}
@media(max-width:680px){
    .lyhl-shell,.lyhl-active .lyhr-header-shell,.lyhl-active .lyhr-footer-shell{width:min(100% - 28px,1180px)}
    .lyhl-active .lyhr-brand img{max-width:155px;max-height:46px}
    .lyhl-hero{min-height:390px}
    .lyhl-hero-inner{padding:58px 0}
    .lyhl-hero h1{font-size:46px}
    .lyhl-hero-prayer{font-size:17px}
    .lyhl-find{padding-top:44px}
    .lyhl-search-form{grid-template-columns:1fr}
    .lyhl-gender-tabs{justify-content:center}
    .lyhl-gender-tabs button{min-width:0;flex:1}
    .lyhl-letters{justify-content:flex-start}
    .lyhl-directory{padding-top:42px}
    .lyhl-directory-side{padding:19px 15px 22px}
    .lyhl-card-grid,.lyhl-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .lyhl-card h3{font-size:14px}
    .lyhl-card-copy{padding:11px 7px 13px}
    .lyhl-results-head{align-items:flex-start;flex-direction:column}
    .lyhl-prayer{padding:58px 0}
    .lyhl-prayer h2{font-size:31px}
    .lyhl-single-hero{padding:32px 0 48px}
    .lyhl-single-grid{gap:28px}
    .lyhl-single-info h1{font-size:40px}
    .lyhl-single-buddhist{font-size:18px}
    .lyhl-listen-section{padding:54px 0}
    .lyhl-player-card{padding:21px 17px}
    .lyhl-memorial-nav{grid-template-columns:1fr;gap:12px;text-align:center}
    .lyhl-memorial-nav>div:last-child{text-align:center}
}
@media(max-width:420px){
    .lyhl-card-grid,.lyhl-card-grid.compact{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *{transition:none!important;scroll-behavior:auto!important}
}

/* v1.0.1 Vietnamese typography hardening */
.lyhl-main,
.lyhl-main button,
.lyhl-main input,
.lyhl-main select,
.lyhl-main textarea,
.lyhl-main h1,
.lyhl-main h2,
.lyhl-main h3,
.lyhl-main h4,
.lyhl-main h5,
.lyhl-main h6,
.lyhl-main p,
.lyhl-main a,
.lyhl-main span,
.lyhl-main small,
.lyhl-main strong,
.lyhl-main label,
.lyhl-main option {
  font-family: system-ui,-apple-system,"Segoe UI",Arial,"Helvetica Neue",Helvetica,sans-serif !important;
  font-variant-ligatures: none;
  text-rendering: optimizeLegibility;
}
.lyhl-hero h1,
.lyhl-section-head h2,
.lyhl-results-head h2,
.lyhl-side-head h3,
.lyhl-card h3,
.lyhl-prayer h2,
.lyhl-single-info h1,
.lyhl-listen-copy h2 {
  letter-spacing: 0 !important;
}
.lyhl-hero-prayer,
.lyhl-memorial-note,
.lyhl-player-prayer p,
.lyhl-prayer p,
.lyhl-single-buddhist {
  font-style: normal !important;
}


/* =========================================================
   v1.0.2 Mockup Match: Hero + Prayer CTA
   ========================================================= */
.lyhl-hero{
    min-height:470px !important;
    background:#f6ead2 !important;
}
.lyhl-hero:before{
    background-image:var(--lyhl-hero) !important;
    background-size:cover !important;
    background-position:center 52% !important;
    opacity:1 !important;
}
.lyhl-hero-overlay{
    background:
      linear-gradient(90deg,rgba(77,39,23,.22) 0%,rgba(255,245,219,.34) 34%,rgba(255,248,226,.48) 51%,rgba(255,244,217,.25) 68%,rgba(72,34,21,.18) 100%),
      linear-gradient(180deg,rgba(255,244,216,.05) 0%,rgba(255,246,225,.12) 58%,rgba(77,29,20,.10) 100%) !important;
}
.lyhl-hero-inner{
    padding:82px 0 86px !important;
    text-shadow:0 1px 1px rgba(255,255,255,.58);
}
.lyhl-hero .lyhl-kicker{
    color:#7f231e !important;
}
.lyhl-hero h1{
    color:#7b1916 !important;
    font-size:clamp(52px,7vw,82px) !important;
    font-weight:700 !important;
    text-shadow:0 2px 4px rgba(255,245,220,.72) !important;
}
.lyhl-hero-prayer{
    color:#7a2b23 !important;
    font-size:20px !important;
    font-style:italic !important;
    font-weight:500 !important;
}
.lyhl-hero p{
    max-width:720px !important;
    color:#46372f !important;
    font-size:16px !important;
    font-weight:500 !important;
    line-height:1.75 !important;
    text-shadow:0 1px 2px rgba(255,247,225,.78) !important;
}

/* Search area: closer to approved ivory/lotus mockup */
.lyhl-find{
    position:relative;
    overflow:hidden;
    padding:62px 0 38px !important;
    background:
      radial-gradient(circle at 10% 55%,rgba(202,161,74,.08),transparent 26%),
      radial-gradient(circle at 90% 55%,rgba(202,161,74,.08),transparent 26%),
      linear-gradient(180deg,#fffaf0,#faefd9) !important;
}
.lyhl-find:before,
.lyhl-find:after{
    content:"✦";
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    font-size:190px;
    line-height:1;
    color:rgba(201,161,74,.055);
    pointer-events:none;
}
.lyhl-find:before{left:4%}
.lyhl-find:after{right:4%}
.lyhl-find > .lyhl-shell{position:relative;z-index:1}

/* Prayer section now uses the approved visual-style garden image */
.lyhl-prayer{
    min-height:455px !important;
    display:flex !important;
    align-items:center !important;
    padding:84px 0 !important;
    background:
      linear-gradient(90deg,rgba(63,15,13,.66),rgba(76,20,15,.48) 48%,rgba(52,12,10,.62)),
      url("../images/huong-linh-prayer.webp") center 58% / cover no-repeat !important;
}
.lyhl-prayer:before{
    display:none !important;
}
.lyhl-prayer-inner{
    max-width:820px !important;
    padding:34px 42px !important;
    border-top:1px solid rgba(225,184,93,.48);
    border-bottom:1px solid rgba(225,184,93,.48);
    background:rgba(66,16,13,.18);
    backdrop-filter:blur(1px);
}
.lyhl-prayer span{
    color:#efcf7f !important;
}
.lyhl-prayer h2{
    color:#fff8ed !important;
    font-size:clamp(34px,4vw,48px) !important;
    text-shadow:0 3px 10px rgba(31,7,5,.55);
}
.lyhl-prayer p{
    color:#fff3df !important;
    font-size:18px !important;
    line-height:1.85 !important;
    font-style:italic !important;
    text-shadow:0 2px 8px rgba(31,7,5,.62);
}

/* Make directory transition sit closer to mockup */
.lyhl-directory{
    background:
      linear-gradient(180deg,#fffdf8 0%,#fff8eb 100%) !important;
}
.lyhl-directory-side{
    background:rgba(255,253,248,.82) !important;
}

@media(max-width:680px){
    .lyhl-hero{
        min-height:430px !important;
    }
    .lyhl-hero:before{
        background-position:58% center !important;
    }
    .lyhl-hero-overlay{
        background:
          linear-gradient(180deg,rgba(255,246,225,.20),rgba(255,244,219,.48) 46%,rgba(58,22,17,.28) 100%) !important;
    }
    .lyhl-hero-inner{
        padding:62px 0 58px !important;
    }
    .lyhl-hero h1{
        font-size:46px !important;
    }
    .lyhl-hero p{
        font-size:15px !important;
    }
    .lyhl-find:before,
    .lyhl-find:after{
        font-size:120px;
        opacity:.65;
    }
    .lyhl-prayer{
        min-height:410px !important;
        padding:60px 0 !important;
        background-position:center center !important;
    }
    .lyhl-prayer-inner{
        padding:28px 18px !important;
    }
}


/* =========================================================
   v1.0.3 VISUAL LOCK — approved mockup backgrounds
   ========================================================= */

/* HERO: bundled approved sunrise temple/Buddha scene */
.lyhl-hero{
    min-height:500px !important;
    background:#f5e6c7 !important;
}
.lyhl-hero:before{
    background-image:var(--lyhl-hero) !important;
    background-size:cover !important;
    background-position:var(--lyhl-hero-pos, center 52%) !important;
    opacity:1 !important;
    filter:none !important;
}
.lyhl-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(58,24,14,calc(var(--lyhl-hero-overlay,.12) * .62)) 0%,
        rgba(255,246,221,calc(var(--lyhl-hero-overlay,.12) * .26)) 28%,
        rgba(255,249,231,calc(var(--lyhl-hero-overlay,.12) * .15)) 51%,
        rgba(255,245,219,calc(var(--lyhl-hero-overlay,.12) * .24)) 72%,
        rgba(54,22,13,calc(var(--lyhl-hero-overlay,.12) * .58)) 100%
      ) !important;
    opacity:1 !important;
}
.lyhl-hero-inner{
    padding:90px 0 92px !important;
}
.lyhl-hero .lyhl-kicker{
    color:#7b1d19 !important;
    text-shadow:0 1px 4px rgba(255,247,225,.88) !important;
}
.lyhl-hero h1{
    color:#7b1715 !important;
    text-shadow:0 2px 6px rgba(255,248,226,.92) !important;
}
.lyhl-hero-prayer{
    color:#74241e !important;
    text-shadow:0 1px 5px rgba(255,248,226,.92) !important;
}
.lyhl-hero p{
    color:#40322b !important;
    text-shadow:0 1px 6px rgba(255,249,230,.96) !important;
}

/* PRAYER/CTA: bundled approved twilight lotus garden */
.lyhl-prayer{
    min-height:500px !important;
    background:
      linear-gradient(
        rgba(54,12,10,var(--lyhl-prayer-overlay,.18)),
        rgba(54,12,10,var(--lyhl-prayer-overlay,.18))
      ),
      var(--lyhl-prayer) var(--lyhl-prayer-pos, center 58%) / cover no-repeat !important;
    filter:none !important;
}
.lyhl-prayer-inner{
    max-width:850px !important;
    background:rgba(55,13,11,.10) !important;
    backdrop-filter:none !important;
    border-color:rgba(238,197,105,.52) !important;
}
.lyhl-prayer h2{
    color:#fff8ec !important;
}
.lyhl-prayer p{
    color:#fff2db !important;
}

/* Prevent older v1.0.2 rules from re-darkening these approved visuals */
.lyhl-hero,
.lyhl-hero:before,
.lyhl-hero-overlay,
.lyhl-prayer{
    mix-blend-mode:normal !important;
}

/* Search/body visual continuity from mockup */
.lyhl-find{
    background:
      radial-gradient(circle at 8% 55%,rgba(204,167,89,.07),transparent 27%),
      radial-gradient(circle at 92% 55%,rgba(204,167,89,.07),transparent 27%),
      linear-gradient(180deg,#fffaf0 0%,#fbefda 100%) !important;
}
.lyhl-directory{
    background:#fffaf1 !important;
}

@media(max-width:680px){
    .lyhl-hero{
        min-height:440px !important;
    }
    .lyhl-hero:before{
        background-position:var(--lyhl-hero-pos, center 52%) !important;
    }
    .lyhl-hero-inner{
        padding:66px 0 62px !important;
    }
    .lyhl-prayer{
        min-height:430px !important;
        background-position:var(--lyhl-prayer-pos, center 58%) !important;
    }
}


/* =========================================================
   v1.0.4 TYPOGRAPHY + MEMORIAL CARD SCALE
   Match the approved mockup more closely.
   ========================================================= */

/* Display serif: Vietnamese-safe, closer to the mockup.
   Body/UI stays clean sans-serif. */
.lyhl-hero h1,
.lyhl-section-head h2,
.lyhl-results-head h2,
.lyhl-side-head h3,
.lyhl-card h3,
.lyhl-prayer h2,
.lyhl-single-info h1,
.lyhl-listen-copy h2 {
    font-family: Cambria, "Times New Roman", Times, serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.lyhl-hero-prayer,
.lyhl-single-buddhist,
.lyhl-memorial-note,
.lyhl-player-prayer p,
.lyhl-prayer p {
    font-family: Cambria, "Times New Roman", Times, serif !important;
}

/* Main archive heading balance */
.lyhl-section-head h2 {
    font-size: clamp(34px, 3.4vw, 46px) !important;
    line-height: 1.12 !important;
}
.lyhl-side-head h3 {
    font-size: 26px !important;
    line-height: 1.1 !important;
}

/* Smaller memorial cards, like the approved mockup */
.lyhl-card-grid.compact {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 11px !important;
}

.lyhl-card-grid:not(.compact) {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.lyhl-card {
    border-radius: 11px !important;
}

/* Actual uploaded memorial photos often contain a printed name plaque
   at the bottom. Crop the card thumbnail from the top so the directory
   behaves like the clean portrait cards in the mockup. Full image remains
   available on the individual memorial page. */
.lyhl-card-photo {
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
}
.lyhl-card-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

.lyhl-card-copy {
    padding: 10px 7px 12px !important;
}
.lyhl-card-copy .lyhl-lotus {
    font-size: 11px !important;
}
.lyhl-card h3 {
    margin: 4px 0 4px !important;
    font-size: 13.5px !important;
    line-height: 1.2 !important;
}
.lyhl-card-copy p {
    font-size: 10px !important;
    line-height: 1.35 !important;
}
.lyhl-years {
    margin-top: 4px !important;
    font-size: 10px !important;
}
.lyhl-card-copy small {
    margin-top: 5px !important;
    font-size: 8px !important;
    letter-spacing: .055em !important;
}

/* Slightly tighter directory shell, closer to mockup proportions */
.lyhl-directory-side {
    padding: 22px 20px 25px !important;
}
.lyhl-side-head {
    margin-bottom: 16px !important;
}

/* Full memorial detail keeps the original uncropped image */
.lyhl-single-photo img {
    object-fit: contain !important;
    object-position: center !important;
}

/* Responsive card counts */
@media (max-width: 1180px) {
    .lyhl-card-grid:not(.compact) {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 1000px) {
    .lyhl-card-grid.compact {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    .lyhl-card-grid:not(.compact) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 760px) {
    .lyhl-card-grid.compact,
    .lyhl-card-grid:not(.compact) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 520px) {
    .lyhl-card-grid.compact,
    .lyhl-card-grid:not(.compact) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .lyhl-card h3 {
        font-size: 13px !important;
    }
}


/* =========================================================
   v1.0.5 MOCKUP MATCH — inline memorial + media player
   ========================================================= */
.lyhl-inline-memorial{
    position:relative;
    overflow:hidden;
    padding:58px 0;
    background:#f5ead4;
}
.lyhl-inline-memorial:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:var(--lyhl-inline-bg);
    background-size:cover;
    background-position:center 60%;
    opacity:.34;
}
.lyhl-inline-overlay{
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(255,248,230,.88),rgba(255,245,223,.76) 50%,rgba(255,249,236,.88)),
      linear-gradient(180deg,rgba(255,255,255,.06),rgba(204,155,67,.05));
}
.lyhl-inline-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(235px,.85fr) minmax(260px,1fr) minmax(320px,1.18fr);
    gap:30px;
    align-items:center;
}
.lyhl-inline-photo{
    max-width:330px;
    justify-self:center;
    border:2px solid #caa249;
    border-radius:14px;
    overflow:hidden;
    background:#6a4739;
    box-shadow:0 16px 38px rgba(78,42,25,.14);
}
.lyhl-inline-photo img{
    display:block;
    width:100%;
    height:auto;
    max-height:430px;
    object-fit:contain;
    object-position:center;
    background:#f4e5ca;
}
.lyhl-inline-info{
    min-width:0;
}
.lyhl-inline-kicker{
    display:block;
    margin-bottom:8px;
    color:#8f241e;
    font-size:10px;
    font-weight:850;
    letter-spacing:.14em;
}
.lyhl-inline-info h2{
    margin:0 0 7px;
    color:#8a1f1a;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:clamp(31px,3vw,43px);
    line-height:1.08;
}
.lyhl-inline-buddhist{
    color:#5f493d;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:19px;
    font-style:italic;
}
.lyhl-inline-years{
    margin-top:6px;
    color:#3f302a;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:20px;
}
.lyhl-inline-age{
    margin-top:5px;
    color:#806e62;
    font-size:11px;
}
.lyhl-inline-divider{
    display:flex;
    align-items:center;
    gap:10px;
    margin:20px 0 16px;
    color:#c89e47;
}
.lyhl-inline-divider:before,
.lyhl-inline-divider:after{
    content:"";
    height:1px;
    flex:1;
    background:#d8b66f;
}
.lyhl-inline-note{
    margin:0;
    color:#625145;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:14px;
    font-style:italic;
    line-height:1.7;
}
.lyhl-inline-full-profile{
    display:inline-flex;
    margin-top:16px;
    color:#8a211c !important;
    text-decoration:none !important;
    font-size:10.5px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.lyhl-inline-player-card{
    padding:24px 25px 22px;
    border:1px solid #d9bd83;
    border-radius:16px;
    background:rgba(255,251,243,.92);
    box-shadow:0 16px 36px rgba(78,42,25,.10);
}
.lyhl-inline-player-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    color:#8d201c;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:17px;
    font-weight:700;
}
.lyhl-inline-player-title span{
    color:#b68732;
}
.lyhl-inline-player-card label{
    display:block;
    margin:0 0 7px;
    color:#49372f;
    font-size:12px;
}
.lyhl-inline-player-card .lyhl-sutra-select{
    width:100%;
    min-height:42px;
    border:1px solid #d8c7a7 !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#3e322c !important;
    padding:0 11px !important;
    font-size:12px !important;
}
.lyhl-inline-audio-ui{
    margin-top:16px;
}
.lyhl-custom-controls{
    display:grid;
    grid-template-columns:46px 30px minmax(80px,1fr) auto 22px 74px;
    gap:9px;
    align-items:center;
}
.lyhl-play-toggle{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:#981f1a;
    color:#fff;
    font-size:18px;
    cursor:pointer;
    box-shadow:0 7px 18px rgba(104,25,20,.18);
}
.lyhl-restart{
    border:0;
    background:transparent;
    color:#7b4c3d;
    font-size:22px;
    cursor:pointer;
}
.lyhl-progress,
.lyhl-volume{
    width:100%;
    accent-color:#8f1e19;
}
.lyhl-time{
    color:#6c5a50;
    font-size:10px;
    white-space:nowrap;
}
.lyhl-volume-icon{
    font-size:13px;
}
.lyhl-inline-player-card .lyhl-youtube-wrap{
    margin-top:16px;
}
.lyhl-inline-player-card .lyhl-now-playing{
    margin-top:8px;
    color:#8c7769;
    font-size:10px;
}
.lyhl-inline-player-card .lyhl-player-prayer{
    margin-top:17px;
    background:#f6ead5;
    border:1px solid #ead8b7;
}
.lyhl-inline-player-card .lyhl-player-prayer p{
    font-size:12px !important;
    line-height:1.55 !important;
}

/* Selected card gets a subtle mockup-like emphasis */
.lyhl-card-link[href*="hl_memorial="]{
    cursor:pointer;
}
.lyhl-card:hover{
    border-color:#d2b16b;
    box-shadow:0 10px 26px rgba(83,47,28,.08);
}

/* Directory cards remain smaller than the user's pre-v1.0.4 screenshot */
.lyhl-card-grid.compact{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.lyhl-card-photo{
    aspect-ratio:4/4.15 !important;
}

@media(max-width:1050px){
    .lyhl-inline-grid{
        grid-template-columns:minmax(220px,.8fr) minmax(240px,1fr);
    }
    .lyhl-inline-player-card{
        grid-column:1 / -1;
        width:min(620px,100%);
        justify-self:center;
    }
}
@media(max-width:760px){
    .lyhl-inline-grid{
        grid-template-columns:1fr;
        gap:22px;
    }
    .lyhl-inline-photo{
        width:min(320px,100%);
    }
    .lyhl-inline-info{
        text-align:center;
    }
    .lyhl-inline-divider{
        max-width:360px;
        margin-left:auto;
        margin-right:auto;
    }
    .lyhl-inline-player-card{
        grid-column:auto;
        width:100%;
    }
    .lyhl-custom-controls{
        grid-template-columns:44px 28px minmax(90px,1fr);
    }
    .lyhl-time{
        grid-column:1 / -1;
        text-align:center;
    }
    .lyhl-volume-icon{
        display:none;
    }
    .lyhl-volume{
        grid-column:1 / -1;
        width:120px;
        justify-self:end;
    }
}
@media(max-width:520px){
    .lyhl-inline-memorial{
        padding:44px 0;
    }
    .lyhl-inline-player-card{
        padding:20px 16px;
    }
    .lyhl-card-grid.compact{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* =========================================================
   v1.0.6 VISUAL LOCK — match approved memorial/player mockup
   ========================================================= */

/* Inline memorial section becomes a single cinematic composition */
.lyhl-inline-memorial{
    min-height:520px !important;
    padding:42px 0 52px !important;
    background:#f4e5c8 !important;
}
.lyhl-inline-memorial:before{
    opacity:.72 !important;
    background-position:center 58% !important;
    filter:saturate(1.03) brightness(1.06) !important;
}
.lyhl-inline-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(255,248,229,.76) 0%,
        rgba(255,246,224,.55) 38%,
        rgba(255,247,227,.45) 62%,
        rgba(255,249,234,.74) 100%
      ) !important;
}

.lyhl-inline-grid{
    grid-template-columns:minmax(270px,.88fr) minmax(320px,1.12fr) minmax(400px,1.2fr) !important;
    gap:34px !important;
    align-items:center !important;
}

/* Portrait + lotus overlap */
.lyhl-inline-photo-wrap{
    position:relative;
    width:min(100%,340px);
    justify-self:center;
    padding-bottom:42px;
}
.lyhl-inline-photo{
    position:relative;
    z-index:2;
    width:100%;
    max-width:none !important;
    border:3px solid #c79835 !important;
    border-radius:12px !important;
    overflow:hidden !important;
    box-shadow:0 16px 40px rgba(74,40,21,.16) !important;
    background:#f2dfbb !important;
}
.lyhl-inline-photo:before{
    content:"";
    position:absolute;
    inset:6px;
    border:1px solid rgba(255,236,188,.92);
    border-radius:7px;
    pointer-events:none;
    z-index:3;
}
.lyhl-inline-photo img{
    width:100% !important;
    height:390px !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center top !important;
}
.lyhl-inline-lotus-cluster{
    position:absolute;
    z-index:4;
    left:-86px;
    bottom:-4px;
    width:285px;
    height:auto;
    pointer-events:none;
    filter:drop-shadow(0 7px 8px rgba(118,67,26,.12));
}

/* Memorial information typography */
.lyhl-inline-kicker{
    color:#8e221d !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    letter-spacing:.02em !important;
}
.lyhl-inline-info h2{
    margin:7px 0 8px !important;
    color:#8b1c18 !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:clamp(37px,3.45vw,50px) !important;
    font-weight:700 !important;
    line-height:1.04 !important;
}
.lyhl-inline-buddhist{
    color:#332a25 !important;
    font-size:24px !important;
    line-height:1.25 !important;
}
.lyhl-inline-years{
    margin-top:6px !important;
    color:#302722 !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:25px !important;
}
.lyhl-inline-age{
    display:none !important;
}
.lyhl-inline-divider{
    margin:22px 0 15px !important;
    color:#c79737 !important;
}
.lyhl-inline-divider:before,
.lyhl-inline-divider:after{
    background:#d0a54d !important;
}
.lyhl-inline-note{
    color:#57463c !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:16px !important;
    line-height:1.6 !important;
}
.lyhl-inline-full-profile{
    margin-top:16px !important;
    color:#8e211d !important;
}

/* Player card proportions match mockup */
.lyhl-inline-player-card{
    width:100% !important;
    padding:26px 28px 24px !important;
    border:1px solid #cfad69 !important;
    border-radius:14px !important;
    background:rgba(255,250,240,.94) !important;
    box-shadow:0 14px 34px rgba(73,39,21,.10) !important;
}
.lyhl-inline-player-title{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    margin-bottom:2px !important;
    color:#8e1e1a !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:1.15 !important;
}
.lyhl-inline-player-title img{
    width:34px;
    height:26px;
    object-fit:contain;
}
.lyhl-player-title-rule{
    display:flex;
    align-items:center;
    gap:9px;
    max-width:250px;
    margin:8px auto 18px;
    color:#c69636;
}
.lyhl-player-title-rule i{
    display:block;
    height:1px;
    flex:1;
    background:#d2aa58;
}
.lyhl-player-title-rule b{
    font-size:12px;
}
.lyhl-inline-player-card label{
    margin-bottom:7px !important;
    color:#392c27 !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:15px !important;
    font-weight:400 !important;
}
.lyhl-inline-player-card .lyhl-sutra-select{
    min-height:48px !important;
    padding:0 13px !important;
    border:1px solid #cfc8bd !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#312b27 !important;
    font-size:14px !important;
}

.lyhl-inline-audio-ui{
    margin-top:18px !important;
}
.lyhl-custom-controls{
    grid-template-columns:54px 32px minmax(115px,1fr) auto 24px 82px !important;
    gap:10px !important;
}
.lyhl-play-toggle{
    width:54px !important;
    height:54px !important;
    background:#961d18 !important;
    font-size:21px !important;
    box-shadow:0 8px 20px rgba(116,26,20,.18) !important;
}
.lyhl-restart{
    color:#744435 !important;
    font-size:24px !important;
}
.lyhl-progress,
.lyhl-volume{
    height:4px !important;
    accent-color:#8e1e19 !important;
}
.lyhl-time{
    font-size:11px !important;
    color:#5f5149 !important;
}
.lyhl-volume-icon{
    font-size:14px !important;
}

/* Prayer box inside player */
.lyhl-inline-player-card .lyhl-player-prayer{
    display:grid !important;
    grid-template-columns:55px 1fr !important;
    gap:14px !important;
    align-items:center !important;
    margin-top:20px !important;
    padding:18px 18px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#f7ead3 !important;
}
.lyhl-inline-player-card .lyhl-player-prayer img{
    width:50px;
    height:38px;
    object-fit:contain;
    opacity:.85;
}
.lyhl-inline-player-card .lyhl-player-prayer p{
    margin:0 !important;
    color:#5b463b !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:14px !important;
    font-style:italic !important;
    line-height:1.5 !important;
}

/* CTA / Lời Nguyện Hồi Hướng exactly follows the mockup hierarchy */
.lyhl-prayer{
    min-height:520px !important;
    padding:68px 0 72px !important;
    background:
      linear-gradient(
        rgba(66,11,10,calc(var(--lyhl-prayer-overlay,.18) * .92)),
        rgba(66,11,10,calc(var(--lyhl-prayer-overlay,.18) * .92))
      ),
      var(--lyhl-prayer) var(--lyhl-prayer-pos, center 58%) / cover no-repeat !important;
}
.lyhl-prayer-inner{
    max-width:860px !important;
    padding:30px 42px 34px !important;
    border-top:0 !important;
    border-bottom:0 !important;
    background:rgba(76,13,12,.18) !important;
}
.lyhl-prayer span{
    display:none !important;
}
.lyhl-prayer h2{
    position:relative;
    margin:0 0 32px !important;
    color:#fff7e8 !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:clamp(38px,4.1vw,53px) !important;
    font-weight:700 !important;
    line-height:1.1 !important;
}
.lyhl-prayer h2:after{
    content:"✦";
    display:block;
    width:210px;
    margin:12px auto 0;
    color:#e0bb61;
    font-size:18px;
    letter-spacing:80px;
    text-indent:80px;
    border-top:1px solid rgba(226,187,94,.65);
    line-height:1.25;
}
.lyhl-prayer p{
    max-width:680px !important;
    margin:0 auto !important;
    color:#fff0dc !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:18px !important;
    font-style:italic !important;
    line-height:1.6 !important;
    text-shadow:0 2px 9px rgba(35,4,4,.7) !important;
}

/* Responsive fidelity */
@media(max-width:1120px){
    .lyhl-inline-grid{
        grid-template-columns:minmax(245px,.85fr) minmax(290px,1.05fr) !important;
    }
    .lyhl-inline-player-card{
        grid-column:1 / -1 !important;
        width:min(620px,100%) !important;
        justify-self:center !important;
    }
}
@media(max-width:760px){
    .lyhl-inline-memorial{
        padding:44px 0 46px !important;
    }
    .lyhl-inline-grid{
        grid-template-columns:1fr !important;
        gap:24px !important;
    }
    .lyhl-inline-photo-wrap{
        width:min(310px,100%) !important;
        padding-bottom:34px !important;
    }
    .lyhl-inline-photo img{
        height:auto !important;
        max-height:420px !important;
        object-fit:contain !important;
    }
    .lyhl-inline-lotus-cluster{
        left:-54px !important;
        width:235px !important;
    }
    .lyhl-inline-info{
        text-align:center !important;
    }
    .lyhl-inline-info h2{
        font-size:38px !important;
    }
    .lyhl-inline-buddhist{
        font-size:21px !important;
    }
    .lyhl-inline-years{
        font-size:22px !important;
    }
    .lyhl-inline-divider{
        max-width:360px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
    .lyhl-custom-controls{
        grid-template-columns:52px 30px minmax(100px,1fr) !important;
    }
    .lyhl-time{
        grid-column:1 / -1 !important;
        text-align:center !important;
    }
    .lyhl-volume-icon{
        display:none !important;
    }
    .lyhl-volume{
        grid-column:1 / -1 !important;
        width:120px !important;
        justify-self:end !important;
    }
    .lyhl-prayer{
        min-height:470px !important;
        padding:56px 0 60px !important;
    }
    .lyhl-prayer-inner{
        padding:24px 18px !important;
    }
    .lyhl-prayer p{
        font-size:16px !important;
    }
}


/* =========================================================
   v1.0.7 Editable CTA / Lời Nguyện Hồi Hướng
   ========================================================= */
.lyhl-prayer span{
    display:block !important;
    margin:0 0 10px !important;
    color:#efcf7f !important;
    font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif !important;
    font-size:10.5px !important;
    font-weight:850 !important;
    letter-spacing:.17em !important;
    text-transform:uppercase !important;
}


/* =========================================================
   v1.0.8 MOCKUP FIDELITY POLISH
   - CTA typography / hierarchy closer to approved mockup
   - Lotus cluster sits at the lower-left corner of memorial photo
   ========================================================= */

/* LOTUS at lower-left of the portrait, less intrusive */
.lyhl-inline-photo-wrap{
    padding-bottom:28px !important;
}
.lyhl-inline-lotus-cluster{
    left:-32px !important;
    bottom:-28px !important;
    width:218px !important;
    z-index:4 !important;
    filter:drop-shadow(0 8px 10px rgba(118,67,26,.10)) !important;
}

/* CTA text presentation like the mockup:
   the big title is the main visible heading, body centered below.
   Keep admin editability, but hide the small eyebrow on the front end
   so layout stays faithful to the approved artwork. */
.lyhl-prayer span{
    display:none !important;
}
.lyhl-prayer-inner{
    max-width:900px !important;
    padding:32px 42px 36px !important;
    background:rgba(76,13,12,.14) !important;
    text-align:center !important;
}
.lyhl-prayer h2{
    margin:0 0 26px !important;
    color:#fff7e8 !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:clamp(34px,3.9vw,49px) !important;
    font-weight:700 !important;
    line-height:1.1 !important;
}
.lyhl-prayer h2:after{
    width:220px !important;
    margin:10px auto 0 !important;
    color:#e0bb61 !important;
    border-top:1px solid rgba(226,187,94,.68) !important;
}
.lyhl-prayer p{
    max-width:560px !important;
    margin:0 auto !important;
    color:#fff0dc !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:17px !important;
    font-style:italic !important;
    line-height:1.52 !important;
    text-align:center !important;
    text-shadow:0 2px 9px rgba(35,4,4,.68) !important;
}

/* Slightly tighter memorial text area to resemble the mockup more closely */
.lyhl-inline-note{
    max-width:470px !important;
}

/* Mobile */
@media (max-width:760px){
    .lyhl-inline-photo-wrap{
        padding-bottom:26px !important;
    }
    .lyhl-inline-lotus-cluster{
        left:-12px !important;
        bottom:-18px !important;
        width:178px !important;
    }
    .lyhl-prayer-inner{
        padding:24px 18px 28px !important;
    }
    .lyhl-prayer h2{
        margin:0 0 22px !important;
        font-size:clamp(30px,8vw,40px) !important;
    }
    .lyhl-prayer p{
        max-width:100% !important;
        font-size:15.5px !important;
        line-height:1.5 !important;
    }
}


/* =========================================================
   v1.0.9 MOCKUP MATCH — lotus garland + CTA hierarchy
   ========================================================= */

/* Brighter, less washed-out memorial scene */
.lyhl-inline-memorial{
    min-height:500px !important;
    padding:36px 0 42px !important;
}
.lyhl-inline-memorial:before{
    opacity:.94 !important;
    filter:saturate(1.08) brightness(1.03) !important;
    background-position:center 55% !important;
}
.lyhl-inline-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(255,248,228,.46) 0%,
        rgba(255,247,226,.28) 37%,
        rgba(255,248,229,.20) 62%,
        rgba(255,249,235,.42) 100%
      ) !important;
}

/* Three-lotus garland exactly at the lower-left/bottom edge of the portrait */
.lyhl-inline-photo-wrap{
    width:min(100%,330px) !important;
    padding-bottom:48px !important;
}
.lyhl-inline-photo img{
    height:370px !important;
    object-fit:cover !important;
    object-position:center top !important;
}
.lyhl-inline-lotus-cluster{
    display:none !important;
}
.lyhl-inline-lotus-garland{
    position:absolute !important;
    z-index:6 !important;
    left:-78px !important;
    bottom:-12px !important;
    width:455px !important;
    max-width:none !important;
    height:auto !important;
    pointer-events:none !important;
    filter:drop-shadow(0 8px 10px rgba(91,50,20,.10)) !important;
}

/* Decorative gold lotus rules around the memorial information */
.lyhl-info-ornament,
.lyhl-prayer-ornament{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
}
.lyhl-info-ornament{
    width:250px !important;
    margin:0 auto 8px !important;
}
.lyhl-info-ornament i,
.lyhl-prayer-ornament i{
    display:block !important;
    height:1px !important;
    flex:1 !important;
    background:rgba(213,166,76,.82) !important;
}
.lyhl-info-ornament img{
    width:34px !important;
    height:25px !important;
    object-fit:contain !important;
}
.lyhl-inline-kicker{
    display:block !important;
    text-align:center !important;
    font-size:13px !important;
}
.lyhl-inline-info h2,
.lyhl-inline-buddhist,
.lyhl-inline-years,
.lyhl-inline-note{
    text-align:center !important;
}
.lyhl-inline-info h2{
    font-size:clamp(34px,3.2vw,46px) !important;
}
.lyhl-inline-buddhist{
    font-size:22px !important;
}
.lyhl-inline-years{
    font-size:24px !important;
}
.lyhl-inline-divider{
    max-width:250px !important;
    margin:16px auto 14px !important;
    gap:10px !important;
}
.lyhl-inline-divider:before,
.lyhl-inline-divider:after{
    display:none !important;
}
.lyhl-inline-divider span{
    display:block !important;
    height:1px !important;
    flex:1 !important;
    background:#d0a54d !important;
}
.lyhl-inline-divider img{
    width:32px !important;
    height:24px !important;
    object-fit:contain !important;
}
.lyhl-inline-note{
    max-width:470px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:15px !important;
    line-height:1.55 !important;
}
.lyhl-inline-full-profile{
    display:flex !important;
    justify-content:center !important;
}

/* Player ornament uses lotus, not star */
.lyhl-player-title-rule{
    max-width:220px !important;
    margin:7px auto 16px !important;
}
.lyhl-player-title-rule img{
    width:28px !important;
    height:21px !important;
    object-fit:contain !important;
}

/* CTA: use "LỜI NGUYỆN HỒI HƯỚNG" as the large title like the mockup */
.lyhl-prayer{
    min-height:390px !important;
    padding:42px 0 48px !important;
    align-items:center !important;
}
.lyhl-prayer-inner{
    max-width:860px !important;
    padding:18px 34px 24px !important;
    background:rgba(71,12,10,.10) !important;
}
.lyhl-prayer span{
    display:none !important;
}
.lyhl-prayer h2{
    margin:0 !important;
    color:#fff6e9 !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:clamp(30px,3.35vw,42px) !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    text-align:center !important;
}
.lyhl-prayer h2:after{
    display:none !important;
    content:none !important;
}
.lyhl-prayer-ornament{
    width:260px !important;
    margin:10px auto 16px !important;
}
.lyhl-prayer-ornament img{
    width:34px !important;
    height:25px !important;
    object-fit:contain !important;
}
.lyhl-prayer p{
    max-width:740px !important;
    margin:0 auto !important;
    color:#fff0df !important;
    font-family:Cambria,"Times New Roman",Times,serif !important;
    font-size:16.5px !important;
    font-style:italic !important;
    line-height:1.45 !important;
    text-align:center !important;
    text-shadow:0 2px 8px rgba(35,4,4,.72) !important;
}

/* Responsive */
@media(max-width:760px){
    .lyhl-inline-photo-wrap{
        width:min(100%,300px) !important;
        padding-bottom:42px !important;
    }
    .lyhl-inline-photo img{
        height:auto !important;
        max-height:390px !important;
        object-fit:contain !important;
    }
    .lyhl-inline-lotus-garland{
        left:-54px !important;
        bottom:-8px !important;
        width:390px !important;
    }
    .lyhl-info-ornament{
        width:210px !important;
    }
    .lyhl-prayer{
        min-height:360px !important;
        padding:38px 0 42px !important;
    }
    .lyhl-prayer-inner{
        padding:16px 18px 20px !important;
    }
    .lyhl-prayer h2{
        font-size:clamp(28px,8vw,36px) !important;
    }
    .lyhl-prayer-ornament{
        width:220px !important;
    }
    .lyhl-prayer p{
        max-width:100% !important;
        font-size:15px !important;
        line-height:1.45 !important;
    }
}


/* =========================================================
   v1.0.10 REAL LOTUS PNG + PLAYER LAYOUT POLISH
   ========================================================= */

/* Hide older synthetic/SVG flower treatments */
.lyhl-inline-lotus-cluster,
.lyhl-inline-lotus-garland{
    display:none !important;
}

/* Real photographic lotus cluster, positioned like the approved mockup */
.lyhl-inline-photo-wrap{
    overflow:visible !important;
    padding-bottom:52px !important;
}
.lyhl-inline-lotus-real{
    position:absolute !important;
    z-index:7 !important;
    left:-92px !important;
    bottom:-16px !important;
    width:455px !important;
    max-width:none !important;
    height:auto !important;
    display:block !important;
    pointer-events:none !important;
    filter:drop-shadow(0 9px 11px rgba(80,45,20,.12)) !important;
}

/* Keep portrait slightly above flowers, exactly like mockup */
.lyhl-inline-photo{
    z-index:3 !important;
}
.lyhl-inline-photo img{
    height:370px !important;
    object-fit:cover !important;
    object-position:center top !important;
}

/* Media player: prevent volume control from crowding/overflowing right edge */
.lyhl-custom-controls{
    width:100% !important;
    grid-template-columns:54px 28px minmax(72px,1fr) 72px 18px 62px !important;
    gap:7px !important;
    align-items:center !important;
}
.lyhl-progress{
    min-width:0 !important;
}
.lyhl-time{
    min-width:0 !important;
    font-size:10.5px !important;
    text-align:center !important;
}
.lyhl-volume-icon{
    width:18px !important;
    overflow:hidden !important;
    font-size:12px !important;
    text-align:center !important;
}
.lyhl-volume{
    width:62px !important;
    min-width:0 !important;
    max-width:62px !important;
}

/* The mockup does not show the extra "Đã chọn..." status line */
.lyhl-inline-player-card .lyhl-now-playing{
    display:none !important;
}

/* Slightly more compact prayer card, closer to mockup proportions */
.lyhl-inline-player-card .lyhl-player-prayer{
    margin-top:16px !important;
    padding:15px 16px !important;
}
.lyhl-inline-player-card .lyhl-player-prayer img{
    width:44px !important;
    height:34px !important;
}

/* Preserve the v1.0.9 CTA composition */
.lyhl-prayer h2{
    letter-spacing:0 !important;
}

/* Tablet/mobile */
@media(max-width:1120px){
    .lyhl-inline-lotus-real{
        left:-66px !important;
        width:410px !important;
    }
}
@media(max-width:760px){
    .lyhl-inline-photo-wrap{
        padding-bottom:44px !important;
    }
    .lyhl-inline-lotus-real{
        left:-46px !important;
        bottom:-10px !important;
        width:360px !important;
    }
    .lyhl-custom-controls{
        grid-template-columns:50px 26px minmax(86px,1fr) !important;
        gap:8px !important;
    }
    .lyhl-time{
        grid-column:1 / -1 !important;
        text-align:center !important;
    }
    .lyhl-volume-icon{
        display:none !important;
    }
    .lyhl-volume{
        grid-column:1 / -1 !important;
        width:112px !important;
        max-width:112px !important;
        justify-self:end !important;
    }
}
@media(max-width:420px){
    .lyhl-inline-lotus-real{
        left:-28px !important;
        width:320px !important;
    }
}


/* =========================================================
   v1.0.11 PORTRAIT + LOTUS MOCKUP FIDELITY
   ========================================================= */

/* Tighten the left column without disturbing the approved info/player areas */
.lyhl-inline-grid{
    grid-template-columns:minmax(275px,.80fr) minmax(330px,1.15fr) minmax(400px,1.20fr) !important;
    gap:28px !important;
}

/* Mockup portrait: narrower, cleaner, thin double-gold frame */
.lyhl-inline-photo-wrap{
    width:min(100%,292px) !important;
    padding-bottom:40px !important;
    overflow:visible !important;
}
.lyhl-inline-photo{
    position:relative !important;
    width:100% !important;
    border:2px solid #c99635 !important;
    border-radius:8px !important;
    background:#f9f0dc !important;
    box-shadow:0 9px 24px rgba(72,39,22,.11) !important;
    overflow:hidden !important;
}
.lyhl-inline-photo:before{
    content:"" !important;
    position:absolute !important;
    inset:4px !important;
    z-index:4 !important;
    border:1px solid rgba(220,174,80,.72) !important;
    border-radius:5px !important;
    pointer-events:none !important;
}
/* Small gold corner accents like the mockup frame */
.lyhl-inline-photo:after{
    content:"" !important;
    position:absolute !important;
    inset:7px !important;
    z-index:4 !important;
    pointer-events:none !important;
    background:
      linear-gradient(#c99536,#c99536) left top/17px 1px no-repeat,
      linear-gradient(#c99536,#c99536) left top/1px 17px no-repeat,
      linear-gradient(#c99536,#c99536) right top/17px 1px no-repeat,
      linear-gradient(#c99536,#c99536) right top/1px 17px no-repeat,
      linear-gradient(#c99536,#c99536) left bottom/17px 1px no-repeat,
      linear-gradient(#c99536,#c99536) left bottom/1px 17px no-repeat,
      linear-gradient(#c99536,#c99536) right bottom/17px 1px no-repeat,
      linear-gradient(#c99536,#c99536) right bottom/1px 17px no-repeat !important;
}

/* Slight zoom removes the conspicuous built-in white margins of legacy scans.
   The full original remains untouched in Media Library and individual source file. */
.lyhl-inline-photo img{
    display:block !important;
    width:100% !important;
    height:338px !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:scale(1.045) !important;
    transform-origin:center top !important;
}

/* Real PNG lotus arrangement: smaller, higher, and concentrated around the
   portrait's lower-left edge, rather than turning into a horizontal flower bed. */
.lyhl-inline-lotus-real{
    left:-58px !important;
    bottom:-2px !important;
    width:355px !important;
    max-width:none !important;
    height:auto !important;
    z-index:8 !important;
    display:block !important;
    pointer-events:none !important;
    filter:drop-shadow(0 6px 8px rgba(76,42,20,.10)) !important;
}

/* Give the mockup's text column a touch more breathing room */
.lyhl-inline-info{
    padding-left:2px !important;
}
.lyhl-inline-note{
    max-width:445px !important;
}

/* Do not change the approved player and CTA compositions */
.lyhl-inline-player-card,
.lyhl-prayer{
    isolation:isolate;
}

@media(max-width:1120px){
    .lyhl-inline-grid{
        grid-template-columns:minmax(255px,.82fr) minmax(300px,1.08fr) !important;
        gap:24px !important;
    }
    .lyhl-inline-photo-wrap{
        width:min(100%,280px) !important;
    }
    .lyhl-inline-photo img{
        height:326px !important;
    }
    .lyhl-inline-lotus-real{
        left:-48px !important;
        width:335px !important;
    }
}
@media(max-width:760px){
    .lyhl-inline-grid{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }
    .lyhl-inline-photo-wrap{
        width:min(100%,284px) !important;
        padding-bottom:38px !important;
    }
    .lyhl-inline-photo img{
        height:330px !important;
        transform:scale(1.03) !important;
    }
    .lyhl-inline-lotus-real{
        left:-38px !important;
        bottom:-2px !important;
        width:330px !important;
    }
}
@media(max-width:420px){
    .lyhl-inline-photo-wrap{
        width:min(100%,270px) !important;
    }
    .lyhl-inline-photo img{
        height:314px !important;
    }
    .lyhl-inline-lotus-real{
        left:-24px !important;
        width:305px !important;
    }
}
