/* ==========================================================
   DeInvite — W-106 "Tropis Palem"
   Dinding pasir hangat · terakota · hijau zaitun.
   Bayangan daun palem lembut (diam, tanpa animasi).
   ========================================================== */
.t-trpalem {
    --bg: #f3ebde; --bg-2: #ecdfcb; --card: #fbf6ee; --ink: #3a2a20; --muted: #7d6656;
    --accent: #c0653f; --accent-2: #4b5d3a; --on-accent: #fffaf2; --line: rgba(192,101,63,.3);
    --hero-rgb: 243,235,222; --tint-a: .84; --hero-ink: #3a2a20;
    color-scheme: light;
}
.t-trpalem .names { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; color: var(--ink); letter-spacing: -.01em; }
.t-trpalem .names i { font-style: italic; color: var(--accent); }
.t-trpalem .cover .names { font-size: clamp(2.9rem, 12vw, 4.2rem); line-height: 1.02; }
.t-trpalem .kicker { font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: .68rem; letter-spacing: .32em; color: var(--accent); }
.t-trpalem .sec__title { font-family: 'Instrument Serif', serif; font-weight: 400; font-size: 2.2rem; color: var(--ink); }
.t-trpalem .sec__title::after { content: ''; display: block; width: 180px; height: 24px; margin: .35rem auto 0; background: url(../../img/themes/trpalem/pembatas.svg) center / contain no-repeat; }
.t-trpalem .cover__date, .t-trpalem .hero__date, .t-trpalem .aside__date, .t-trpalem .countdown__date { font-family: 'DM Sans', sans-serif; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; font-size: .74rem; color: var(--muted); }
.t-trpalem .thanks, .t-trpalem .quote { font-family: 'Instrument Serif', serif; font-style: italic; font-size: 1.25rem; }
.t-trpalem .cover__to strong { font-family: 'Instrument Serif', serif; font-size: 1.3rem; font-weight: 400; }

/* Bayangan daun palem di dinding pasir */
.t-trpalem .cover, .t-trpalem .hero, .t-trpalem .aside { background: linear-gradient(var(--hero-tint), var(--hero-tint)), var(--cover, none) center / cover no-repeat, radial-gradient(ellipse at 70% 15%, rgba(255,226,180,.7), transparent 55%), var(--bg); }
.t-trpalem .cover:not(.has-photo) .tm-frame::before, .t-trpalem .hero:not(.has-photo) .tm-frame::before, .t-trpalem .aside:not(.has-photo) .tm-frame::before { content: ''; position: absolute; inset: -6%; background: url(../../img/themes/trpalem/bayang.svg) center / cover no-repeat; opacity: .13; filter: blur(2.5px); }
.t-trpalem .cover::before, .t-trpalem .cover::after { display: none; }
.t-trpalem .cover__inner { width: min(310px, calc(100vw - 64px)); gap: .5rem; }
.t-trpalem .cover .tm-house { width: min(160px, 44vw); }
.t-trpalem .hero .tm-house { width: min(200px, 56vw); }
.t-trpalem .aside .tm-house { width: 210px; }
.t-trpalem .tm-house--sm { width: 140px; }
.t-trpalem .tm-corner { width: clamp(44px, 12vw, 70px); }
.t-trpalem .tm-band { display: none; }
.t-trpalem .sec--tint { background: var(--bg-2); }

.t-trpalem .event, .t-trpalem .gift, .t-trpalem .rsvp, .t-trpalem .wish, .t-trpalem .qr-card, .t-trpalem .lstory__card, .t-trpalem .evinfo__dc, .t-trpalem .gaddr, .t-trpalem .glist__item { border-radius: 18px; background: var(--card); border: 1px solid var(--line); box-shadow: 0 18px 34px -26px rgba(58,42,32,.5); }
.t-trpalem .event { border-radius: 120px 120px 18px 18px; padding-top: 2.2rem; }
.t-trpalem .event h3 { font-family: 'Instrument Serif', serif; font-weight: 400; font-size: 1.9rem; color: var(--ink); }
.t-trpalem .countdown div { border-radius: 999px 999px 14px 14px; background: var(--card); border-color: var(--line); }
.t-trpalem .countdown b { font-family: 'Instrument Serif', serif; font-weight: 400; color: var(--accent); }
.t-trpalem .ibtn { border-radius: 999px; font-family: 'DM Sans', sans-serif; }
.t-trpalem .ibtn--solid { background: var(--accent); border-color: var(--accent); color: #fffaf2; box-shadow: 0 10px 22px -12px rgba(192,101,63,.75); }
.t-trpalem .amp { font-family: 'Instrument Serif', serif; font-style: italic; color: var(--accent); }
.t-trpalem .pframe, .t-trpalem .person__photo { border-radius: 999px 999px 16px 16px; box-shadow: 0 0 0 1.5px var(--accent), 0 0 0 7px var(--card), 0 0 0 8px var(--line); }
.t-trpalem .divider { background: var(--accent); }

/* Foto pengantin di gerbang lengkung */
.t-trpalem .cportrait { aspect-ratio: 3 / 4; }
.t-trpalem .cportrait::before { content: ''; position: absolute; inset: -9px; border: 1.5px solid var(--accent); border-radius: 999px 999px 4px 4px; }
.t-trpalem .cportrait__in { inset: 0; border-radius: 999px 999px 2px 2px; }
.t-trpalem .cportrait::after { content: ''; position: absolute; z-index: 2; right: -30%; bottom: -8%; width: 70%; aspect-ratio: 220 / 120; background: url(../../img/themes/trpalem/daun.svg) center / contain no-repeat; transform: rotate(-24deg); }
.t-trpalem .cover .cportrait { width: min(140px, 38vw); margin-top: .6rem; }
.t-trpalem .cportrait { margin-bottom: 1.2rem; }
.t-trpalem .cportrait::after { right: -38%; bottom: 10%; width: 58%; }
.t-trpalem .hero .cportrait { width: min(180px, 50vw); }
