/* ==========================================================
   เชิดชูเกียรติ — memorial page (page-templates/template-tribute.php)
   Quiet palette: brand navy-black, white, a thread of muted gold.
   ========================================================== */

.sw-tribute{
  --sw-tr-serif:'Noto Serif Thai',var(--sw-font-heading),serif;
  --sw-tr-ink:#E9ECEF;
  --sw-tr-muted:rgba(233,236,239,.62);
  --sw-tr-line:rgba(233,236,239,.14);
}
.sw-tr-heading{margin:0;font-family:var(--sw-tr-serif);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;line-height:1.4;color:var(--sw-color-primary);}
.sw-tr-heading-light{color:var(--sw-tr-ink);}
.sw-tr-heading-center{text-align:center;margin-bottom:48px;}

/* ---------- Portrait hero ---------- */
.sw-tr-hero{
  position:relative;padding:170px 0 110px;color:var(--sw-tr-ink);overflow:hidden;
  background:radial-gradient(ellipse 70% 90% at 30% 40%,#15243a 0%,var(--sw-color-dark) 70%);
}
.sw-tr-hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px;align-items:center;}
.sw-tr-hero-grid.no-portrait{grid-template-columns:minmax(0,1fr);max-width:820px;text-align:center;}
.sw-tr-portrait{position:relative;margin:0;justify-self:end;width:100%;max-width:440px;}
.sw-tr-portrait::before{ /* thin gold frame offset behind the photo */
  content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(200,169,81,.55);
}
.sw-tr-portrait img{position:relative;display:block;width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.05);}
.sw-tr-ribbon{display:block;color:#000;margin-bottom:28px;}
.no-portrait .sw-tr-ribbon{margin-inline:auto;}
.sw-tr-intro{margin:0 0 18px;font-size:1.05rem;letter-spacing:.02em;color:var(--sw-tr-muted);}
.sw-tr-name{margin:0;font-family:var(--sw-tr-serif);font-size:clamp(2.2rem,4.6vw,3.9rem);font-weight:600;line-height:1.3;color:#fff;text-wrap:balance;}
.sw-tr-role{margin:18px 0 0;font-size:1.1rem;line-height:1.6;color:var(--sw-tr-ink);}
.sw-tr-dates{
  display:inline-block;margin:26px 0 0;padding-top:18px;border-top:1px solid var(--sw-color-accent);
  font-family:var(--sw-tr-serif);font-size:1.15rem;color:var(--sw-color-accent);font-variant-numeric:tabular-nums;
}
.sw-tr-quote{margin:44px 0 0;max-width:32em;}
.no-portrait .sw-tr-quote{margin-inline:auto;}
.sw-tr-quote p{margin:0;font-family:var(--sw-tr-serif);font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.85;color:var(--sw-tr-ink);}
.sw-tr-quote p::before{content:"\201C";}
.sw-tr-quote p::after{content:"\201D";}
.sw-tr-admin-hint{margin:36px 0 0;padding:12px 16px;border:1px dashed rgba(200,169,81,.6);font-size:.85rem;color:var(--sw-color-accent);}

.sw-tr-crumbs{padding-top:28px;}

/* ---------- Biography ---------- */
.sw-tr-bio,.sw-tr-life{padding:90px 0;}
.sw-tr-life{padding-top:0;}
.sw-tr-bio-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:64px;}
.sw-tr-bio-grid .sw-tr-heading{position:sticky;top:120px;align-self:start;padding-top:10px;border-top:2px solid var(--sw-color-accent);}
.sw-tr-bio-text{max-width:40em;font-size:1.08rem;line-height:1.95;color:var(--sw-color-text);}
.sw-tr-bio-text > p:first-child{font-family:var(--sw-tr-serif);font-size:1.3rem;line-height:1.85;color:var(--sw-color-primary);}
.sw-tr-bio-text p{margin:0 0 1.3em;}
.sw-tr-bio-text img{height:auto;margin:1.5em 0;filter:grayscale(1);}

/* ---------- Life path ---------- */
.sw-tr-timeline{list-style:none;margin:0;padding:0;max-width:40em;border-left:1px solid var(--sw-color-border,#dde3ea);}
.sw-tr-timeline li{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:0 0 34px 32px;}
.sw-tr-timeline li::before{content:"";position:absolute;left:-5px;top:.55em;width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid var(--sw-color-accent);}
.sw-tr-tl-year{font-family:var(--sw-tr-serif);font-size:1.15rem;font-weight:600;color:var(--sw-color-primary);font-variant-numeric:tabular-nums;}
.sw-tr-timeline p{margin:0;line-height:1.8;}

/* ---------- Teachings ---------- */
.sw-tr-teach{padding:100px 0;background:var(--sw-color-dark);color:var(--sw-tr-ink);}
.sw-tr-teach .sw-tr-heading{text-align:center;margin-bottom:56px;}
.sw-tr-teach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--sw-tr-line);}
.sw-tr-teach-grid.is-count-1{grid-template-columns:minmax(0,760px);justify-content:center;background:none;}
.sw-tr-teach-grid.is-count-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.sw-tr-teach-item{margin:0;padding:44px 40px;background:var(--sw-color-dark);}
.sw-tr-teach-item::before{content:"\201C";display:block;height:.6em;font-family:Georgia,serif;font-size:4.5rem;line-height:1;color:var(--sw-color-accent);}
.sw-tr-teach-item p{margin:18px 0 0;font-family:var(--sw-tr-serif);font-size:1.2rem;line-height:1.85;color:var(--sw-tr-ink);}
.is-count-1 .sw-tr-teach-item{text-align:center;}

/* ---------- Memories ---------- */
.sw-tr-memories{padding:100px 0;}
.sw-tr-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.sw-tr-gallery figure{margin:0;}
.sw-tr-gallery a{display:block;overflow:hidden;background:var(--sw-color-light);}
.sw-tr-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1);transition:filter .6s ease,transform .6s ease;}
.sw-tr-gallery a:hover img,.sw-tr-gallery a:focus-visible img{filter:grayscale(.15);transform:scale(1.03);}
.sw-tr-gallery figcaption{margin-top:10px;font-size:.9rem;line-height:1.6;color:var(--sw-color-text-muted);}

/* ---------- Closing ---------- */
.sw-tr-closing{padding:110px 0;text-align:center;background:var(--sw-color-light);}
.sw-tr-flame{ /* a single small candle-light, the page's only motion */
  display:block;width:10px;height:18px;margin:0 auto 34px;border-radius:50% 50% 50% 50% / 60% 60% 40% 40%;
  background:radial-gradient(ellipse at 50% 70%,#fff6d8 0%,#f3c969 45%,rgba(200,169,81,0) 72%);
  box-shadow:0 0 18px 6px rgba(243,201,105,.35);animation:sw-tr-flicker 3.2s ease-in-out infinite;
}
@keyframes sw-tr-flicker{0%,100%{transform:scale(1) rotate(-1deg);opacity:1;}45%{transform:scale(.94,1.05) rotate(1.5deg);opacity:.88;}70%{transform:scale(1.03,.97) rotate(-.5deg);}}
.sw-tr-closing-text{margin:0 auto;max-width:30em;font-family:var(--sw-tr-serif);font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.8;color:var(--sw-color-primary);}
.sw-tr-signoff{margin:28px 0 0;color:var(--sw-color-text-muted);}

/* ---------- Condolence book ---------- */
.sw-tr-book{padding:100px 0;}
.sw-tr-book-inner{max-width:820px;}
.sw-tr-messages{list-style:none;margin:0 0 56px;padding:0;}
.sw-tr-messages li{padding:26px 0;border-bottom:1px solid var(--sw-color-border,#e3e8ef);}
.sw-tr-messages li:first-child{border-top:1px solid var(--sw-color-border,#e3e8ef);}
.sw-tr-msg-text{margin:0;font-family:var(--sw-tr-serif);font-size:1.08rem;line-height:1.85;color:var(--sw-color-primary);}
.sw-tr-msg-by{margin:10px 0 0;font-size:.9rem;color:var(--sw-color-text-muted);}
.sw-tr-msg-by time{margin-left:10px;opacity:.75;}
.sw-tr-book .comment-respond{padding:40px;background:var(--sw-color-light);}
.sw-tr-form-title{margin:0 0 8px;font-family:var(--sw-tr-serif);font-size:1.3rem;color:var(--sw-color-primary);}
.sw-tr-form-title small{display:block;font-size:.8rem;margin-top:6px;}
.sw-tr-form-note{margin:0 0 20px;font-size:.88rem;color:var(--sw-color-text-muted);}
.sw-tr-book .comment-form p{margin:0 0 16px;}
.sw-tr-book .comment-form label{display:block;margin-bottom:6px;font-weight:600;font-size:.92rem;}
.sw-tr-book .comment-form input[type="text"],.sw-tr-book .comment-form input[type="email"],.sw-tr-book .comment-form input[type="url"],.sw-tr-book .comment-form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--sw-color-border,#cfd8e3);border-radius:4px;background:#fff;font:inherit;
}
.sw-tr-book .comment-form-url{display:none;}
.sw-tr-book .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;}
.sw-tr-book .comment-form-cookies-consent label{font-weight:400;}
.sw-tr-submit{padding:14px 30px;border:0;border-radius:4px;background:var(--sw-color-dark);color:#fff;font:inherit;font-weight:600;cursor:pointer;}
.sw-tr-submit:hover{background:var(--sw-color-primary);}

/* ---------- Responsive ---------- */
@media (max-width:991px){
  .sw-tr-hero{padding:130px 0 80px;}
  .sw-tr-hero-grid{grid-template-columns:minmax(0,1fr);gap:56px;text-align:center;}
  .sw-tr-portrait{justify-self:center;max-width:340px;}
  .sw-tr-ribbon{margin-inline:auto;}
  .sw-tr-quote{margin-inline:auto;}
  .sw-tr-bio-grid{grid-template-columns:minmax(0,1fr);gap:28px;}
  .sw-tr-bio-grid .sw-tr-heading{position:static;}
  .sw-tr-teach-grid,.sw-tr-teach-grid.is-count-2{grid-template-columns:minmax(0,1fr);}
  .sw-tr-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .sw-tr-hero{padding:110px 0 64px;}
  .sw-tr-portrait{max-width:260px;}
  .sw-tr-portrait::before{inset:-12px 12px 12px -12px;}
  .sw-tr-bio,.sw-tr-memories,.sw-tr-teach,.sw-tr-closing,.sw-tr-book{padding:64px 0;}
  .sw-tr-life{padding:0 0 64px;}
  .sw-tr-timeline li{grid-template-columns:minmax(0,1fr);gap:4px;padding-left:24px;}
  .sw-tr-teach-item{padding:32px 24px;}
  .sw-tr-book .comment-respond{padding:26px 20px;}
}
@media (prefers-reduced-motion:reduce){
  .sw-tr-flame{animation:none;}
  .sw-tr-gallery img{transition:none;}
}
