/* ════════════════════════════════════════════════
   Memorial 168 — Liquid Glass | main.css v2.0
════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS (synced with Customizer) ─── */
:root {
  --cream:       #FAF7F2;
  --warm-white:  #FFFDF9;
  --petal-pink:  #F2B8C6;
  --deep-rose:   #C0445E;
  --dusty-rose:  #D4788A;
  --gold:        #C9933A;
  --soft-gold:   #E8C47A;
  --sage:        #8BA888;
  --text-dark:   #2C1810;
  --text-mid:    #5C3D2E;
  --text-light:  #9E7B6A;
  --shadow:      rgba(180,100,80,.12);
  --border:      rgba(210,170,150,.30);
  /* Liquid Glass */
  --glass-bg:      rgba(255,255,255,.18);
  --glass-border:  rgba(255,255,255,.45);
  --glass-shadow:  rgba(192,68,94,.12);
  --glass-shine:   rgba(255,255,255,.60);
  --glass-blur:    blur(18px);
  --glass-blur-hv: blur(32px);
  /* Font */
  --font: 'Vazirmatn', Tahoma, sans-serif;
  /* Radius */
  --r-card: 28px;
  --r-btn:  16px;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { direction:rtl; scroll-behavior:smooth; }
body { font-family:var(--font); background:var(--cream); color:var(--text-dark); overflow-x:hidden; }
img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }

/* ─── GLASS UTILITY ─── */
.glass {
  background:var(--glass-bg);
  backdrop-filter:var(--glass-blur);
  -webkit-backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-border);
  box-shadow:0 8px 32px var(--glass-shadow),
    inset 0 1px 0 var(--glass-shine),
    inset 0 -1px 0 rgba(255,255,255,.10);
}
.glass-hv {
  background:rgba(255,255,255,.22);
  backdrop-filter:var(--glass-blur-hv);
  -webkit-backdrop-filter:var(--glass-blur-hv);
  border:1px solid rgba(255,255,255,.50);
  box-shadow:0 16px 48px rgba(192,68,94,.15),
    inset 0 2px 0 rgba(255,255,255,.70),
    inset 0 -1px 0 rgba(255,255,255,.15),
    inset 1px 0 0 rgba(255,255,255,.30),
    inset -1px 0 0 rgba(255,255,255,.30);
}

/* ─── SCROLLBAR ─── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--cream)}
::-webkit-scrollbar-thumb{background:#e4b8c4;border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--deep-rose)}

/* ════════════════════════════════════════════════
   TOPBAR
════════════════════════════════════════════════ */
.topbar {
  background: linear-gradient(135deg, var(--deep-rose), #8B1A2E);
  color:rgba(255,255,255,.85);
  padding:8px 40px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px; font-weight:500;
}
.topbar a{color:rgba(255,255,255,.85);}
.topbar a:hover{color:var(--soft-gold);}

/* ════════════════════════════════════════════════
   SITE HEADER
════════════════════════════════════════════════ */
.site-header {
  position:relative;
  background:linear-gradient(160deg,#fff9f4 0%,#fde8ec 40%,#fdf3e7 100%);
  padding:0;
  overflow:hidden;
  border-bottom:1px solid var(--border);
}
/* Orbs */
.orb {
  position:absolute;border-radius:50%;filter:blur(60px);
  pointer-events:none;animation:orbFloat 10s ease-in-out infinite;
}
.orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(242,184,198,.5) 0%,transparent 70%);top:-100px;right:-50px;}
.orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(232,196,122,.4) 0%,transparent 70%);bottom:-80px;left:10%;animation-delay:-4s;}
.orb-3{width:250px;height:250px;background:radial-gradient(circle,rgba(139,168,136,.3) 0%,transparent 70%);top:30%;left:40%;animation-delay:-7s;}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(20px,-30px) scale(1.05);}66%{transform:translate(-15px,20px) scale(.95);}}

.header-inner {
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;padding:40px 60px;gap:30px;
}
.header-emblem{display:flex;justify-content:center;}
.emblem-circle {
  width:130px;height:130px;border-radius:50%;
  background:rgba(255,255,255,.35);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:2px solid rgba(255,255,255,.60);
  box-shadow:0 8px 40px rgba(192,68,94,.2),
    inset 0 2px 0 rgba(255,255,255,.80),
    inset 0 -2px 0 rgba(242,184,198,.30);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;position:relative;overflow:hidden;cursor:pointer;
  transition:transform .3s;
}
.emblem-circle:hover{transform:scale(1.05);}
.emblem-circle::before{content:'';position:absolute;top:-30%;left:-10%;width:55%;height:55%;
  background:radial-gradient(ellipse,rgba(255,255,255,.7) 0%,transparent 70%);
  border-radius:50%;pointer-events:none;}
.emblem-circle svg{width:44px;height:44px;position:relative;z-index:1;}
.emblem-label{font-size:9px;font-weight:700;color:var(--deep-rose);letter-spacing:.5px;position:relative;z-index:1;}

.header-text{text-align:center;}
.site-title {
  font-size:clamp(20px,3.5vw,40px);font-weight:900;line-height:1.2;
  background:linear-gradient(135deg,var(--text-dark) 0%,var(--deep-rose) 50%,var(--gold) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:10px;
}
.site-subtitle{font-size:14px;color:var(--text-mid);font-weight:400;line-height:1.8;}
.header-meta{text-align:left;}
.stat-box {
  background:rgba(255,255,255,.35);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 8px 24px rgba(192,68,94,.12),inset 0 1px 0 rgba(255,255,255,.80);
  border-radius:20px;padding:16px 24px;text-align:center;
  position:relative;overflow:hidden;
}
.stat-box::before{content:'';position:absolute;top:-20%;left:-10%;width:50%;height:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.6) 0%,transparent 70%);border-radius:50%;}
.stat-number{font-size:36px;font-weight:900;color:var(--deep-rose);line-height:1;position:relative;}
.stat-label{font-size:11px;color:var(--text-light);margin-top:4px;position:relative;}

/* ════════════════════════════════════════════════
   STICKY NAV
════════════════════════════════════════════════ */
.site-nav {
  background:rgba(255,252,248,.78);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border-bottom:1px solid rgba(255,255,255,.50);
  box-shadow:0 4px 24px rgba(192,68,94,.10),inset 0 1px 0 rgba(255,255,255,.80);
  position:sticky;top:0;z-index:200;
  transition:box-shadow .3s;
}
.site-nav.scrolled{box-shadow:0 8px 32px rgba(192,68,94,.18);}
.nav-inner {
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;gap:16px;
}
.nav-logo-mini{display:none;font-weight:900;font-size:18px;color:var(--deep-rose);}
.nav-links{display:flex;align-items:center;gap:0;flex:1;justify-content:center;}
.nav-links a {
  display:flex;align-items:center;gap:7px;
  padding:18px 22px;font-size:14px;font-weight:600;
  color:var(--text-mid);border-bottom:3px solid transparent;
  transition:all .3s;
}
.nav-links a:hover,.nav-links a.active{color:var(--deep-rose);border-bottom-color:var(--deep-rose);}
.nav-links a svg{width:15px;height:15px;flex-shrink:0;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--text-dark);margin:5px 0;border-radius:2px;transition:all .3s;}

/* ════════════════════════════════════════════════
   HERO SLIDER
════════════════════════════════════════════════ */
.hero-slider-section {
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#fff9f4 0%,#fde8ec 40%,#fdf3e7 100%);
  padding:60px 0 80px;
}
.hero-slider-section .orb{position:absolute;}

.slider-wrapper {
  max-width:1280px;margin:0 auto;padding:0 40px;
}
.slider-intro{text-align:center;margin-bottom:48px;}
.slider-intro h2{font-size:clamp(22px,3vw,38px);font-weight:900;
  background:linear-gradient(135deg,var(--text-dark),var(--deep-rose));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.slider-intro p{font-size:14px;color:var(--text-light);margin-top:10px;line-height:1.9;}

/* The swiper container */
.memorial-swiper {
  width:100%;
  padding-bottom:56px !important; /* room for pagination */
}
.memorial-swiper .swiper-slide{height:auto;display:flex;}

/* ─── STUDENT CARD (reused everywhere) ─── */
.student-card {
  position:relative;border-radius:var(--r-card);overflow:hidden;cursor:pointer;
  background:rgba(255,252,250,.22);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid rgba(255,255,255,.50);
  box-shadow:0 4px 28px rgba(192,68,94,.10),
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -1px 0 rgba(242,184,198,.15);
  transition:transform .45s cubic-bezier(.23,1,.32,1),box-shadow .45s;
  width:100%;
}
.student-card::before{content:'';position:absolute;top:0;right:0;width:65%;height:45%;
  background:radial-gradient(ellipse at 70% 20%,rgba(255,255,255,.55) 0%,transparent 65%);
  border-radius:0 var(--r-card) 0 60%;pointer-events:none;z-index:3;}
.student-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;
  background:linear-gradient(to top,rgba(242,184,198,.12),transparent);
  pointer-events:none;z-index:3;border-radius:0 0 var(--r-card) var(--r-card);}
.student-card:hover{transform:translateY(-10px) scale(1.02);
  box-shadow:0 24px 60px rgba(192,68,94,.25),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -1px 0 rgba(242,184,198,.20);}

.card-image-wrap{position:relative;aspect-ratio:9/16;overflow:hidden;}
.card-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:top;
  transition:transform .7s;filter:saturate(.9);}
.student-card:hover .card-image-wrap img{transform:scale(1.08);filter:saturate(1.05);}
.card-overlay{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(44,24,16,.7) 0%,rgba(44,24,16,.15) 45%,transparent 70%);
  opacity:0;transition:opacity .35s;z-index:1;}
.student-card:hover .card-overlay{opacity:1;}
.card-grade-badge{
  position:absolute;top:14px;left:14px;z-index:4;
  background:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 2px 8px rgba(192,68,94,.15),inset 0 1px 0 rgba(255,255,255,.7);
  color:var(--deep-rose);font-size:11px;font-weight:700;padding:5px 13px;border-radius:20px;
}
.card-body{
  padding:18px 18px 16px;position:relative;z-index:4;
  background:rgba(255,255,255,.28);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,.5);
}
.card-name{font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:4px;line-height:1.4;}
.card-info{font-size:11px;color:var(--text-light);line-height:1.5;margin-bottom:12px;}
.card-actions{display:flex;gap:7px;}
.card-btn{flex:1;padding:7px 6px;border:none;border-radius:12px;font-family:var(--font);
  font-size:11px;font-weight:600;cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;gap:4px;}
.btn-view{background:linear-gradient(135deg,var(--deep-rose),var(--dusty-rose));color:#fff;
  box-shadow:0 3px 10px rgba(192,68,94,.3);}
.btn-view:hover{opacity:.88;transform:scale(.97);}
.btn-share{background:rgba(242,184,198,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:var(--deep-rose);border:1px solid rgba(242,184,198,.5);}
.btn-share:hover{background:rgba(242,184,198,.4);}

/* Swiper custom controls */
.swiper-pagination-bullet{background:var(--petal-pink);opacity:.5;width:8px;height:8px;}
.swiper-pagination-bullet-active{background:var(--deep-rose);opacity:1;width:24px;border-radius:4px;transition:width .3s;}
.swiper-button-next,.swiper-button-prev{
  width:48px!important;height:48px!important;
  background:rgba(255,255,255,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.7);border-radius:50%;
  box-shadow:0 4px 16px rgba(192,68,94,.20);
  transition:all .25s;
}
.swiper-button-next::after,.swiper-button-prev::after{font-size:14px!important;color:var(--deep-rose);font-weight:800;}
.swiper-button-next:hover,.swiper-button-prev:hover{background:rgba(255,255,255,.7);box-shadow:0 8px 24px rgba(192,68,94,.30);}

/* ════════════════════════════════════════════════
   SECTION COMMON
════════════════════════════════════════════════ */
.site-main{max-width:1280px;margin:0 auto;padding:0 40px;}
.section-wrap{padding:80px 0;}
.section-header{text-align:center;margin-bottom:50px;position:relative;}
.section-header::before{content:'';display:block;width:60px;height:4px;
  background:linear-gradient(90deg,var(--deep-rose),var(--gold));
  border-radius:2px;margin:0 auto 20px;}
.section-title{font-size:clamp(20px,3vw,32px);font-weight:800;color:var(--text-dark);margin-bottom:10px;}
.section-desc{font-size:14px;color:var(--text-light);font-weight:300;max-width:500px;margin:0 auto;line-height:1.8;}

/* ════════════════════════════════════════════════
   GALLERY GRID
════════════════════════════════════════════════ */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:24px;
}

/* ════════════════════════════════════════════════
   VIDEOS
════════════════════════════════════════════════ */
.videos-panel {
  background:linear-gradient(135deg,rgba(255,248,242,.8),rgba(254,240,244,.8));
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-radius:36px;padding:60px;
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 16px 48px rgba(192,68,94,.10),
    inset 0 1px 0 rgba(255,255,255,.8),
    inset 0 -1px 0 rgba(242,184,198,.15);
  position:relative;overflow:hidden;
}
.videos-panel::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;
  background:radial-gradient(circle,rgba(242,184,198,.3) 0%,transparent 70%);pointer-events:none;}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:40px;}
.video-card{
  border-radius:24px;overflow:hidden;
  background:rgba(255,255,255,.30);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 4px 20px rgba(192,68,94,.10),inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .35s,box-shadow .35s;position:relative;
}
.video-card::before{content:'';position:absolute;top:0;right:0;width:50%;height:30%;
  background:radial-gradient(ellipse at 80% 10%,rgba(255,255,255,.5) 0%,transparent 70%);
  pointer-events:none;z-index:2;border-radius:0 24px 0 50%;}
.video-card:hover{transform:translateY(-6px) scale(1.01);
  box-shadow:0 20px 48px rgba(192,68,94,.18),inset 0 1px 0 rgba(255,255,255,.8);}
.video-thumb{position:relative;aspect-ratio:16/9;
  background:linear-gradient(135deg,#fde8ec,#fdf3e7);
  display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;}
.video-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.play-btn{
  width:60px;height:60px;background:rgba(255,255,255,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 4px 20px rgba(192,68,94,.25),inset 0 1px 0 rgba(255,255,255,.8);
  transition:transform .25s,box-shadow .25s;z-index:2;position:relative;
}
.play-btn:hover{transform:scale(1.12);box-shadow:0 8px 28px rgba(192,68,94,.35);}
.play-btn svg{width:26px;height:26px;fill:var(--deep-rose);margin-right:-4px;}
.video-card-body{
  padding:16px 20px;
  background:rgba(255,255,255,.20);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,.4);position:relative;z-index:1;
}
.video-title{font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:5px;}
.video-meta{font-size:12px;color:var(--text-light);}

/* Video Modal */
.video-modal{
  position:fixed;inset:0;background:rgba(10,0,10,.88);z-index:9999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.video-modal.open{opacity:1;pointer-events:all;}
.video-modal-inner{position:relative;width:min(820px,94vw);}
.video-modal iframe{width:100%;aspect-ratio:16/9;border-radius:16px;border:none;}
.video-modal-close{
  position:absolute;top:-44px;left:0;
  background:rgba(255,255,255,.15);backdrop-filter:blur(4px);
  border:none;border-radius:50%;width:40px;height:40px;
  color:#fff;font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}

/* ════════════════════════════════════════════════
   UPLOAD / CONTACT FORM
════════════════════════════════════════════════ */
.upload-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.form-card{
  background:rgba(255,255,255,.30);
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border-radius:32px;padding:44px;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 8px 40px rgba(192,68,94,.10),
    inset 0 2px 0 rgba(255,255,255,.80),
    inset 0 -1px 0 rgba(242,184,198,.10);
  position:relative;overflow:hidden;
}
.form-card::before{content:'';position:absolute;top:-60px;right:-40px;width:200px;height:200px;
  background:radial-gradient(ellipse,rgba(255,255,255,.5) 0%,transparent 70%);pointer-events:none;}
.form-title{font-size:22px;font-weight:800;color:var(--text-dark);margin-bottom:8px;}
.form-subtitle{font-size:13px;color:var(--text-light);margin-bottom:30px;line-height:1.6;}
.form-group{margin-bottom:20px;}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-mid);margin-bottom:8px;}
.form-input,.form-textarea,.form-select{
  width:100%;padding:12px 16px;
  border:1.5px solid rgba(210,170,150,.35);border-radius:14px;
  font-family:var(--font);font-size:14px;color:var(--text-dark);
  background:rgba(255,255,255,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:border-color .2s,box-shadow .2s;outline:none;
}
.form-input:focus,.form-textarea:focus,.form-select:focus{
  border-color:var(--dusty-rose);box-shadow:0 0 0 3px rgba(212,120,138,.12);
  background:rgba(255,255,255,.65);
}
.form-textarea{min-height:100px;resize:vertical;}
.drop-zone{
  border:2px dashed rgba(242,184,198,.7);border-radius:16px;padding:32px;
  text-align:center;cursor:pointer;transition:all .3s;
  background:rgba(242,184,198,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.drop-zone:hover{border-color:var(--deep-rose);background:rgba(192,68,94,.05);}
.drop-zone svg{width:36px;height:36px;color:var(--dusty-rose);margin:0 auto 10px;}
.drop-text{font-size:13px;color:var(--text-light);line-height:1.6;}
.drop-text strong{color:var(--deep-rose);}

.info-panel{
  background:linear-gradient(160deg,rgba(253,240,231,.7),rgba(253,232,236,.7));
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-radius:32px;padding:44px;
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 8px 32px rgba(192,68,94,.08),inset 0 1px 0 rgba(255,255,255,.7);
}
.info-icon-wrap{
  width:64px;height:64px;background:rgba(255,255,255,.5);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);border-radius:20px;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.info-title{font-size:20px;font-weight:800;color:var(--text-dark);margin-bottom:12px;}
.info-body{font-size:14px;color:var(--text-mid);line-height:1.85;margin-bottom:20px;}
.info-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.info-list li{font-size:13px;color:var(--text-light);display:flex;align-items:flex-start;gap:8px;}
.info-list li::before{content:'❀';color:var(--deep-rose);flex-shrink:0;}

/* ════════════════════════════════════════════════
   COMMENTS
════════════════════════════════════════════════ */
.comments-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;}
.comment-list-wrap{display:flex;flex-direction:column;gap:20px;}
.comment-item{
  background:rgba(255,255,255,.28);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.50);border-radius:24px;padding:24px;
  box-shadow:0 4px 20px rgba(192,68,94,.07),inset 0 1px 0 rgba(255,255,255,.7);
  transition:transform .3s,box-shadow .3s;
}
.comment-item:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(192,68,94,.12);}
.comment-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.comment-avatar{
  width:48px;height:48px;border-radius:16px;
  background:rgba(242,184,198,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(242,184,198,.4);
  display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;
}
.comment-name{font-size:14px;font-weight:700;color:var(--text-dark);}
.comment-date{font-size:12px;color:var(--text-light);margin-top:3px;}
.comment-body-text{font-size:14px;color:var(--text-mid);line-height:1.9;}
.comment-actions{display:flex;gap:10px;margin-top:14px;}
.action-btn{
  display:flex;align-items:center;gap:5px;
  padding:6px 14px;border:1px solid rgba(242,184,198,.5);border-radius:20px;
  background:rgba(255,255,255,.3);font-family:var(--font);font-size:12px;
  color:var(--text-mid);cursor:pointer;transition:all .2s;
}
.action-btn:hover{background:rgba(192,68,94,.08);border-color:var(--dusty-rose);color:var(--deep-rose);}
.action-btn svg{width:14px;height:14px;}

.comment-form-card{
  background:rgba(255,255,255,.30);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border-radius:32px;padding:36px;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 8px 40px rgba(192,68,94,.10),inset 0 2px 0 rgba(255,255,255,.80);
  position:sticky;top:80px;height:fit-content;
}
.comment-form-title{font-size:20px;font-weight:800;color:var(--text-dark);margin-bottom:6px;}
.comment-form-sub{font-size:13px;color:var(--text-light);margin-bottom:24px;line-height:1.6;}

/* ════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════ */
.btn-primary{
  width:100%;padding:14px;
  background:linear-gradient(135deg,var(--deep-rose) 0%,var(--dusty-rose) 100%);
  color:#fff;border:none;border-radius:var(--r-btn);font-family:var(--font);
  font-size:15px;font-weight:700;cursor:pointer;transition:all .3s;
  box-shadow:0 6px 20px rgba(192,68,94,.3),inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 12px 30px rgba(192,68,94,.38);}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 26px;border:1.5px solid rgba(192,68,94,.35);border-radius:var(--r-btn);
  background:rgba(255,255,255,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:var(--deep-rose);font-family:var(--font);font-size:14px;font-weight:600;
  cursor:pointer;transition:all .25s;
}
.btn-outline:hover{background:rgba(192,68,94,.08);border-color:var(--deep-rose);}

/* ════════════════════════════════════════════════
   LIGHTBOX
════════════════════════════════════════════════ */
.lightbox{
  position:fixed;inset:0;background:rgba(10,0,10,.90);z-index:9998;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.lightbox.open{opacity:1;pointer-events:all;}
.lightbox-inner{position:relative;max-width:90vw;}
.lightbox-inner img{max-height:88vh;border-radius:20px;object-fit:contain;}
.lightbox-close{
  position:fixed;top:18px;left:18px;
  background:rgba(255,255,255,.15);backdrop-filter:blur(4px);
  border:none;border-radius:50%;width:44px;height:44px;
  color:#fff;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.lightbox-nav{
  position:fixed;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.15);backdrop-filter:blur(4px);
  border:none;border-radius:50%;width:48px;height:48px;
  color:#fff;font-size:22px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.lightbox-prev{right:20px;}.lightbox-next{left:20px;}

/* ════════════════════════════════════════════════
   PAGINATION
════════════════════════════════════════════════ */
.m168-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap;}
.m168-pagination .page-numbers{
  width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:600;color:var(--text-mid);
  background:rgba(255,255,255,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.5);transition:all .2s;
}
.m168-pagination .page-numbers:hover{background:rgba(192,68,94,.08);color:var(--deep-rose);}
.m168-pagination .page-numbers.current{
  background:linear-gradient(135deg,var(--deep-rose),var(--dusty-rose));color:#fff;border-color:transparent;
}

/* ════════════════════════════════════════════════
   SINGLE MEMORIAL
════════════════════════════════════════════════ */
.memorial-single-hero{
  background:linear-gradient(160deg,#fff9f4,#fde8ec 40%,#fdf3e7);
  padding:70px 40px 50px;position:relative;overflow:hidden;
}
.memorial-single-inner{
  max-width:1000px;margin:0 auto;
  display:grid;grid-template-columns:320px 1fr;gap:56px;align-items:start;
}
.memorial-poster{
  border-radius:28px;overflow:hidden;
  box-shadow:0 24px 64px rgba(192,68,94,.22),inset 0 1px 0 rgba(255,255,255,.5);
  border:2px solid rgba(255,255,255,.6);
}
.memorial-poster img{width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top;}
.memorial-info{padding-top:8px;}
.memorial-grade-tag{
  display:inline-block;
  background:rgba(192,68,94,.12);color:var(--deep-rose);
  padding:6px 18px;border-radius:100px;font-size:13px;font-weight:700;margin-bottom:16px;
}
.memorial-name{font-size:clamp(28px,4vw,48px);font-weight:900;color:var(--text-dark);line-height:1.2;margin-bottom:12px;}
.memorial-school{font-size:15px;color:var(--text-light);margin-bottom:28px;}
.memorial-quote{
  font-size:18px;color:var(--deep-rose);font-style:italic;line-height:2;
  border-right:4px solid var(--dusty-rose);padding-right:20px;
}

/* ════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════ */
.site-footer{
  background:linear-gradient(160deg,#1e0610 0%,#2c0a1a 100%);
  color:rgba(255,255,255,.65);padding:60px 40px 28px;
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo{font-size:20px;font-weight:900;
  background:linear-gradient(135deg,var(--petal-pink),var(--soft-gold));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:14px;
}
.footer-tagline{font-size:13px;color:rgba(255,255,255,.4);line-height:1.9;}
.footer-col h4{font-size:13px;font-weight:800;color:rgba(255,255,255,.9);margin-bottom:16px;letter-spacing:.06em;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.45);transition:color .2s;}
.footer-col ul li a:hover{color:var(--soft-gold);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:12px;color:rgba(255,255,255,.3);
}
.footer-bottom .heart{color:var(--deep-rose);}

/* ════════════════════════════════════════════════
   FADE-IN ANIMATION
════════════════════════════════════════════════ */
.fade-in{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* ════════════════════════════════════════════════
   ADMIN NOTICE
════════════════════════════════════════════════ */
.m168-notice{
  background:linear-gradient(135deg,rgba(254,240,244,.9),rgba(253,243,231,.9));
  border:1px solid rgba(192,68,94,.2);border-radius:16px;
  padding:16px 24px;margin-bottom:24px;font-size:14px;color:var(--text-mid);
  display:flex;align-items:center;gap:12px;
}

/* ════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════ */
@media(max-width:1024px){
  .header-inner{padding:30px 30px;grid-template-columns:1fr auto;grid-template-rows:auto auto;}
  .header-meta{grid-column:1/-1;display:flex;justify-content:center;}
  .comments-layout{grid-template-columns:1fr;}
  .comment-form-card{position:static;}
  .memorial-single-inner{grid-template-columns:260px 1fr;gap:36px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .site-main{padding:0 24px;}
  .slider-wrapper{padding:0 24px;}
}
@media(max-width:768px){
  .nav-links{display:none;position:fixed;top:0;right:0;left:0;bottom:0;
    background:rgba(255,252,248,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    flex-direction:column;align-items:center;justify-content:center;gap:0;z-index:300;}
  .nav-links.open{display:flex;}
  .nav-links a{font-size:18px;padding:20px 40px;border-bottom:none;border-left:4px solid transparent;}
  .nav-links a.active,.nav-links a:hover{border-left-color:var(--deep-rose);border-bottom:none;}
  .menu-toggle{display:block;z-index:301;}
  .nav-logo-mini{display:block;}
  .nav-close{display:flex!important;}
  .topbar{display:none;}
  .header-inner{grid-template-columns:1fr;text-align:center;padding:30px 20px;}
  .header-meta{display:none;}
  .upload-layout{grid-template-columns:1fr;}
  .memorial-single-inner{grid-template-columns:1fr;}
  .memorial-poster{max-width:260px;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .videos-panel{padding:36px 20px;}
  .video-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center;}
  .section-wrap{padding:60px 0;}
}
@media(max-width:480px){
  .gallery-grid{grid-template-columns:1fr;}
  .hero-slider-section{padding:40px 0 60px;}
}
