/* ==========================================================
   DInvite — Tema "Perawat Kasih" (koleksi Profesi)
   Putih bersih, teal & merah muda. Pembuka: tirai lembut yang tersibak,
   stetoskop berbentuk hati dengan garis detak jantung yang berdenyut,
   topi perawat berhias bunga, dan hati yang berjatuhan.
   Tanpa lambang palang merah (lambang yang dilindungi).
   Gerak dimatikan otomatis bila perangkat meminta gerak minimal.
   ========================================================== */
.t-perawat {
    --bg: #fbfdfc; --bg-2: #eef7f5; --card: #ffffff; --ink: #1f4a49; --muted: #5f7f7d;
    --accent: #2e8a85; --accent-2: #d98b8a; --on-accent: #ffffff; --line: rgba(46,138,133,.24);
    --hero-rgb: 250,252,251; --tint-a: .84; --hero-ink: #1f4a49;
    --pattern: url(../../img/themes/perawat/pola.svg) 0 0 / 60px 60px;
    color-scheme: light;
}
@keyframes prRise { from { opacity: 0; transform: translateY(24px) scale(.97); } }
@keyframes prBeat { 0%, 100% { transform: scale(1); } 12% { transform: scale(1.06); } 24% { transform: scale(1); } 36% { transform: scale(1.04); } }
@keyframes prFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes prPulse { 0% { box-shadow: 0 0 0 0 rgba(217,139,138,.45); } 70% { box-shadow: 0 0 0 14px rgba(217,139,138,0); } 100% { box-shadow: 0 0 0 0 rgba(217,139,138,0); } }
@keyframes prEcg { from { background-position: 0 50%; } to { background-position: -240px 50%; } }

/* Huruf: nama bersambung lembut, judul serif hangat */
.t-perawat .names { font-family: 'Parisienne', 'Great Vibes', cursive; font-weight: 400; color: var(--ink); }
.t-perawat .names i { font-family: 'Lora', serif; font-style: italic; font-size: .45em; color: var(--accent-2); vertical-align: middle; }
.t-perawat .cover .names { font-size: clamp(2.9rem, 12vw, 4.3rem); line-height: 1.2; }
.t-perawat .names--md { color: var(--ink); }
.t-perawat .kicker { font-weight: 700; letter-spacing: .32em; color: var(--accent); }
.t-perawat .sec__title { font-family: 'Lora', serif; font-weight: 600; font-size: 1.85rem; color: var(--ink); }
.t-perawat .sec__title::after { content: ''; display: block; width: 210px; height: 34px; margin: .45rem auto 0; background: url(../../img/themes/perawat/pembatas.svg) center / contain no-repeat; }
.t-perawat .reveal .sec__title::after { clip-path: inset(0 100% 0 0); transition: clip-path 1.4s ease .25s; }
.t-perawat .reveal.is-visible .sec__title::after { clip-path: inset(0 0 0 0); }
.t-perawat .cover__date, .t-perawat .hero__date, .t-perawat .aside__date, .t-perawat .thanks, .t-perawat .countdown__date { font-family: 'Lora', serif; font-style: italic; font-weight: 500; color: var(--accent); }
.t-perawat .cover__to strong { font-family: 'Lora', serif; font-weight: 600; color: var(--ink); }
.t-perawat .quote { font-family: 'Lora', serif; font-style: italic; font-size: 1.1rem; line-height: 1.8; color: var(--ink); }

/* Sampul: tirai lembut tersibak, stetoskop hati di tengah */
.t-perawat .am-panel::before { background: url(../../img/themes/perawat/tirai.svg) right center / auto 100% no-repeat, #f3f8f7; }
.t-perawat .am-seam { background: #5fb3ad; width: 2px; }
.t-perawat .cover::before { inset: 18px; border: 1.5px solid var(--line); border-radius: 26px; z-index: 1; }
.t-perawat .cover::after { inset: 25px; border: 1px solid rgba(217,139,138,.28); border-radius: 20px; z-index: 1; opacity: 1; }
.t-perawat .cover__inner { padding: 1.4rem 1.2rem; border-radius: 28px; background: radial-gradient(ellipse at center, rgba(255,255,255,.94) 0%, rgba(255,255,255,.8) 55%, rgba(255,255,255,0) 78%); }
.t-perawat .tm-band { display: none; }
.t-perawat .tm-corner { width: clamp(64px, 18vw, 104px); }
.t-perawat .tm-frame { z-index: 1; }
.t-perawat .tm-house { filter: drop-shadow(0 14px 22px rgba(31,74,73,.16)); }
.t-perawat .cover .tm-house { width: min(150px, 40vw); animation: prRise 1.3s ease both, prFloat 6s ease-in-out 1.3s infinite; }
.t-perawat .hero .tm-house { width: min(240px, 64vw); }
.t-perawat .aside .tm-house { width: 280px; }
.t-perawat .tm-house--sm { width: 110px; }
.t-perawat .cover .kicker { animation: prRise 1.1s ease .35s both; }
.t-perawat .cover .names { animation: prRise 1.2s ease .55s both; }
.t-perawat .cover__date { animation: prRise 1.1s ease .8s both; }
.t-perawat .cover__to { animation: prRise 1.1s ease 1s both; }
.t-perawat .cover .ibtn { animation: prRise 1.1s ease 1.2s both, prPulse 2.4s ease-out 2.6s infinite; }

/* Bagian pembuka & panel kiri */
.t-perawat .hero, .t-perawat .aside {
    background: radial-gradient(ellipse at 50% 36%, rgba(207,236,232,calc(var(--tint-a) * .7)), transparent 62%),
        linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none) center / cover no-repeat, var(--bg);
    overflow: hidden;
}
/* Garis detak jantung berjalan di bawah bagian pembuka */
.t-perawat .hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 18px; height: 40px; opacity: .55; pointer-events: none;
    background: url(../../img/themes/perawat/pembatas.svg) 0 50% / 240px 40px repeat-x; animation: prEcg 9s linear infinite; }

/* Kartu putih bersih, sudut membulat, aksen teal */
.t-perawat .event, .t-perawat .gift, .t-perawat .rsvp, .t-perawat .wish, .t-perawat .qr-card, .t-perawat .lstory__card {
    border-radius: 20px; border: 1px solid var(--line); background: var(--card); box-shadow: 0 16px 34px -24px rgba(31,74,73,.35);
}
.t-perawat .event { position: relative; overflow: hidden; }
.t-perawat .event::before { inset: auto 0 0 0; height: 4px; border: 0; border-radius: 0; background: linear-gradient(90deg, var(--accent), #5fb3ad, var(--accent-2)); }
.t-perawat .event h3 { font-family: 'Lora', serif; font-weight: 600; font-size: 1.5rem; color: var(--accent); }
.t-perawat .reveal .event, .t-perawat .reveal .gift, .t-perawat .reveal .person { opacity: 0; transform: translateY(22px); transition: opacity 1s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.t-perawat .reveal.is-visible .event, .t-perawat .reveal.is-visible .gift, .t-perawat .reveal.is-visible .person { opacity: 1; transform: none; }
.t-perawat .reveal.is-visible .event:nth-child(2), .t-perawat .reveal.is-visible .gift:nth-child(2), .t-perawat .reveal.is-visible .person:nth-of-type(2) { transition-delay: .25s; }
.t-perawat .countdown div { border-radius: 16px; background: #fff; border-color: var(--line); }
.t-perawat .countdown b { font-family: 'Lora', serif; color: var(--accent); }
.t-perawat .divider { background: var(--accent-2); }

/* Tombol teal, membulat */
.t-perawat .ibtn { border-radius: 999px; }
.t-perawat .ibtn--solid { background: linear-gradient(180deg, #3a9a94, #2a7f7a); border-color: #2a7f7a; color: #fff; box-shadow: 0 10px 24px -12px rgba(46,138,133,.7); }
.t-perawat .ibtn--solid:hover { background: linear-gradient(180deg, #44a8a2, #2e8a85); color: #fff; }

/* The Couple, love story, galeri */
.t-perawat .pframe::before { border-color: var(--accent); }
.t-perawat .pframe::after { background: var(--accent-2); }
.t-perawat .lstory::before { background: linear-gradient(var(--accent), var(--accent-2) 85%, transparent); }
.t-perawat .lstory__dot { background: var(--accent-2); animation: prBeat 1.6s ease-in-out infinite; }
.t-perawat .lstory__title, .t-perawat .tale__title { font-family: 'Lora', serif; color: var(--ink); }
.t-perawat .gslider, .t-perawat .gallery__item { border-radius: 18px; }
.t-perawat .sec--tint { background-color: var(--bg-2); background-image: var(--pattern); }
.t-perawat .amp { font-family: 'Parisienne', cursive; color: var(--accent-2); }
.t-perawat .tag--hadir { color: var(--accent); }

@media (prefers-reduced-motion: reduce) {
    .t-perawat .reveal .event, .t-perawat .reveal .gift, .t-perawat .reveal .person { opacity: 1; transform: none; }
    .t-perawat .reveal .sec__title::after { clip-path: none; }
}
