/* Tema Azure Romance — namespace .ti-theme-azure-romance, prefix kelas azure- (Premium · Floral: blue glass garden wedding, 2.5D dreamy) */
.ti-theme-azure-romance {
  --az-dusty: #91AFC9; --az-soft: #BFD4E5; --az-baby: #DCEAF4; --az-blush: #E8B9C3; --az-rose: #D99AA8; --az-ivory: #FAF7F0; --az-white: #FFFFFF;
  --az-champ: #CDB37A; --az-navy: #24384D; --az-ink: #24384D; --az-soft-ink: #5F7286;
  --az-ease: cubic-bezier(.22,.61,.24,1);
  --az-blur: 14px;
  --ti-ease: cubic-bezier(.22,.61,.24,1); --ti-dur: 1.3s;
  background: var(--az-ivory); color: var(--az-ink); font-family: "Jost", "Segoe UI", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 760px) { .ti-theme-azure-romance { --az-blur: 8px; } }
.ti-theme-azure-romance h1, .ti-theme-azure-romance h2, .ti-theme-azure-romance h3 { margin: 0; font-weight: 400; }
.ti-theme-azure-romance .azure-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.ti-theme-azure-romance .azure-kicker { font-family: "Jost", sans-serif; font-weight: 400; font-size: 11px; letter-spacing: .36em; text-transform: uppercase; color: #6F8CA8; margin: 0 0 10px; }
.ti-theme-azure-romance .azure-kicker--light { color: #F4EBD3; }
.ti-theme-azure-romance .azure-label { display: block; font-size: 11px; font-weight: 400; letter-spacing: .26em; text-transform: uppercase; color: #A88F57; margin: 0 0 6px; }
.ti-theme-azure-romance .azure-title { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(38px, 10.4vw, 58px); line-height: 1.08; color: var(--az-navy); }
.ti-theme-azure-romance .azure-text { max-width: 540px; margin: 0 auto 22px; color: var(--az-soft-ink); }
.ti-theme-azure-romance .azure-text--sm { font-size: 14.5px; margin-bottom: 8px; }
.ti-theme-azure-romance .azure-divider { display: block; width: 250px; max-width: 70%; margin: 14px auto 0; }
.ti-theme-azure-romance .azure-sharp { display: inline-block; filter: blur(8px); opacity: .35; transition: filter 1.8s var(--az-ease) .2s, opacity 1.8s var(--az-ease) .2s; }
.ti-theme-azure-romance .is-in .azure-sharp, .ti-theme-azure-romance .is-in.azure-sharp { filter: none; opacity: 1; }
.ti-theme-azure-romance .azure-link { display: inline-block; color: #6F8CA8; text-decoration: none; font-size: 13.5px; letter-spacing: .05em; padding-bottom: 2px; background: linear-gradient(var(--az-champ), var(--az-champ)) 0 100% / 0 1px no-repeat; transition: background-size .6s var(--az-ease), color .3s; }
.ti-theme-azure-romance .azure-link:hover { background-size: 100% 1px; color: var(--az-navy); }

/* Kaca: dipakai terbatas (tombol, kartu acara, galeri, RSVP, hadiah, navigasi) */
.ti-theme-azure-romance .azure-glass { position: relative; border-radius: 22px; background: rgba(255,255,255,.46); border: 1px solid rgba(255,255,255,.85); -webkit-backdrop-filter: blur(var(--az-blur)) saturate(140%); backdrop-filter: blur(var(--az-blur)) saturate(140%); box-shadow: 0 24px 46px -26px rgba(36,56,77,.35), 0 2px 10px -6px rgba(145,175,201,.35), inset 0 1px 0 rgba(255,255,255,.9); }
.ti-theme-azure-romance .azure-glass::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(125deg, rgba(255,255,255,.65) 0%, rgba(255,255,255,0) 32%, rgba(255,255,255,0) 70%, rgba(255,255,255,.25) 100%); }
.ti-theme-azure-romance .azure-glass > * { position: relative; }

/* Tombol kaca */
.ti-theme-azure-romance .azure-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 30px; overflow: hidden; border: 1px solid rgba(205,179,122,.85); border-radius: 999px; background: rgba(255,255,255,.4); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--az-navy); font-family: "Jost", sans-serif; font-weight: 400; font-size: 12px; letter-spacing: .26em; text-transform: uppercase; text-decoration: none; cursor: pointer; box-shadow: 0 14px 26px -16px rgba(36,56,77,.45), inset 0 1px 0 rgba(255,255,255,.9); transition: transform .5s var(--az-ease), box-shadow .5s, background .5s; }
.ti-theme-azure-romance .azure-btn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 70%); transform: translateX(-120%); transition: transform 1s var(--az-ease); }
.ti-theme-azure-romance .azure-btn:hover { transform: translateY(-2px); background: rgba(255,255,255,.62); box-shadow: 0 18px 30px -16px rgba(36,56,77,.45), 0 0 22px rgba(191,212,229,.7), inset 0 1px 0 #fff; }
.ti-theme-azure-romance .azure-btn:hover::before { transform: translateX(120%); }
.ti-theme-azure-romance .azure-btn > * { position: relative; }
.ti-theme-azure-romance .azure-btn--small { min-height: 42px; padding: 8px 24px; font-size: 11px; }
.ti-theme-azure-romance .azure-btn--ghost { margin-top: 30px; }

/* =============================== LOADING =============================== */
.ti-theme-azure-romance .azure-loader { position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: radial-gradient(60% 50% at 50% 45%, #FFFFFF 0%, var(--az-ivory) 70%); transition: opacity .9s ease, visibility 0s linear .9s; animation: azure-loader-auto .9s ease 5s forwards; }
.ti-theme-azure-romance.azure-loaded .azure-loader { opacity: 0; visibility: hidden; pointer-events: none; }
.ti-theme-azure-romance .azure-loader__icon { width: 46px; animation: azure-breathe 2.6s ease-in-out infinite; }
.ti-theme-azure-romance .azure-loader__brand { margin: 0; padding-left: .5em; font-family: "Cormorant Garamond", serif; font-size: 18px; letter-spacing: .5em; text-transform: uppercase; color: var(--az-navy); }
.ti-theme-azure-romance .azure-loader__line { position: relative; width: 130px; height: 1px; background: rgba(205,179,122,.3); overflow: hidden; }
.ti-theme-azure-romance .azure-loader__line i { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(205,179,122,0), #CDB37A, rgba(205,179,122,0)); transform: translateX(-100%); animation: azure-line 1.4s ease-in-out infinite; }

/* =============================== LAPISAN BERSAMA =============================== */
.ti-theme-azure-romance .azure-l { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 100%; }
.ti-theme-azure-romance .azure-clouds { position: absolute; left: 0; width: max-content; display: flex; pointer-events: none; }
.ti-theme-azure-romance .azure-clouds img { width: auto; min-width: 100vw; height: 100%; display: block; flex: none; }
.ti-theme-azure-romance .azure-clouds--far { top: 4%; height: max(25%, 17vw); opacity: .85; animation: azure-cloud 140s linear infinite; }
.ti-theme-azure-romance .azure-clouds--near { top: 24%; height: max(17%, 17vw); opacity: .55; animation: azure-cloud 95s linear -40s infinite reverse; }
.ti-theme-azure-romance .azure-glow { position: absolute; left: 50%; top: 52%; width: min(130vw, 900px); aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.9) 0%, rgba(255,250,240,.45) 28%, rgba(255,250,240,0) 62%); pointer-events: none; animation: azure-breathe-glow 8s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-arch { position: absolute; left: 50%; bottom: -2vh; height: min(88vh, 150vw); aspect-ratio: 600 / 920; translate: -50% 0; pointer-events: none; }
.ti-theme-azure-romance .azure-arch img { height: 100%; width: 100%; display: block; filter: drop-shadow(0 26px 30px rgba(36,56,77,.18)); transform-origin: 50% 100%; animation: azure-sway 11s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-mist { position: absolute; left: -20%; right: -20%; bottom: -6%; height: 26%; opacity: .85; pointer-events: none; }
.ti-theme-azure-romance .azure-mist i { position: absolute; inset: 0; background: radial-gradient(48% 42% at 28% 62%, rgba(255,255,255,.85), rgba(255,255,255,0) 100%), radial-gradient(42% 38% at 74% 55%, rgba(250,247,240,.8), rgba(250,247,240,0) 100%); animation: azure-drift 40s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-mist i + i { inset: 20% 0 0; background: radial-gradient(60% 50% at 50% 70%, rgba(220,234,244,.75), rgba(220,234,244,0) 100%); animation-duration: 52s; animation-direction: alternate-reverse; }
.ti-theme-azure-romance .azure-bokeh { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.ti-theme-azure-romance .azure-bokeh i { position: absolute; left: calc(var(--n) * 14% + 2%); top: calc(12% + var(--n) * 9%); width: calc(34px + var(--n) * 7px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 35%, rgba(255,255,255,.55), rgba(220,234,244,.25) 55%, rgba(220,234,244,0) 72%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); opacity: .55; animation: azure-bokeh calc(26s + var(--n) * 4s) ease-in-out calc(var(--n) * -5s) infinite alternate; }
.ti-theme-azure-romance .azure-bokeh i:nth-child(even) { top: calc(60% - var(--n) * 5%); background: radial-gradient(circle at 40% 35%, rgba(255,240,244,.55), rgba(232,185,195,.18) 55%, rgba(232,185,195,0) 72%); }
.ti-theme-azure-romance .azure-dust { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.ti-theme-azure-romance .azure-dust i { position: absolute; bottom: -8px; left: calc(var(--n) * 9.6% + 3%); width: 3px; height: 3px; border-radius: 50%; background: radial-gradient(circle, #FFF8E6 0%, rgba(205,179,122,.9) 45%, rgba(205,179,122,0) 72%); opacity: 0; animation: azure-dust calc(18s + var(--n) * 1.3s) linear calc(var(--n) * -2.4s) infinite; }
.ti-theme-azure-romance .azure-petals { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.ti-theme-azure-romance .azure-petals i { position: absolute; top: -40px; left: calc(var(--n) * 11% + 4%); width: 15px; opacity: .85; animation: azure-fall calc(20s + var(--n) * 1.8s) linear calc(var(--n) * -3.1s) infinite; }
.ti-theme-azure-romance .azure-petals i:nth-child(3n+1) { width: 19px; }
.ti-theme-azure-romance .azure-petals i:nth-child(3n+2) { width: 12px; }
.ti-theme-azure-romance .azure-petals img { width: 100%; display: block; animation: azure-tumble 5s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-butterfly { position: absolute; width: 34px; pointer-events: none; z-index: 3; }
.ti-theme-azure-romance .azure-butterfly__svg { width: 100%; display: block; overflow: visible; filter: drop-shadow(0 6px 6px rgba(36,56,77,.18)); }
.ti-theme-azure-romance .azure-wing { transform-box: view-box; transform-origin: 40px 32px; animation: azure-flap .7s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-butterfly--a { left: 8%; top: 30%; animation: azure-fly-a 30s ease-in-out infinite; }
.ti-theme-azure-romance .azure-butterfly--b { right: 10%; top: 58%; width: 26px; animation: azure-fly-b 36s ease-in-out -8s infinite; }
.ti-theme-azure-romance .azure-butterfly--b .azure-wing { animation-duration: .85s; }
.ti-theme-azure-romance .azure-butterfly--hero { right: 14%; top: 26%; width: 28px; animation: azure-fly-b 34s ease-in-out -12s infinite; }
.ti-theme-azure-romance .azure-butterfly--story { right: 8%; top: 120px; width: 26px; animation: azure-fly-a 32s ease-in-out -6s infinite; }

/* =============================== PEMBUKA =============================== */
.ti-theme-azure-romance .azure-cover { position: fixed; inset: 0; z-index: 40; overflow: hidden; background: var(--az-baby); transition: opacity 1s ease 1.3s, visibility 0s linear 2.4s; }
.ti-opened.ti-theme-azure-romance .azure-cover { opacity: 0; visibility: hidden; pointer-events: none; }
.ti-theme-azure-romance .azure-cover__scene { position: absolute; inset: 0; transform: scale(1.04); transform-origin: 50% 60%; transition: transform 2.2s var(--az-ease); }
.ti-theme-azure-romance .azure-cover__content { position: absolute; left: 50%; top: auto; bottom: max(7vh, 30px); z-index: 4; width: min(66vw, 360px); translate: -50% 0; display: flex; flex-direction: column; align-items: center; text-align: center; transition: opacity .8s ease, transform 1.2s var(--az-ease), filter .8s ease; }
.ti-theme-azure-romance .azure-cover__names { display: flex; flex-direction: column; align-items: center; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(42px, 12vw, 72px); line-height: 1; color: var(--az-navy); text-shadow: 0 2px 22px rgba(255,255,255,.9); overflow-wrap: anywhere; }
.ti-theme-azure-romance .azure-cover__content .azure-kicker, .ti-theme-azure-romance .azure-cover__date { text-shadow: 0 0 10px #fff, 0 0 18px rgba(255,255,255,.9); }
.ti-theme-azure-romance .azure-cover__names em { font-style: italic; font-size: .5em; color: var(--az-rose); margin: .08em 0; }
.ti-theme-azure-romance .azure-cover__line { width: min(56vw, 240px); margin: 12px 0 8px; }
.ti-theme-azure-romance .azure-cover__date { margin: 0 0 14px; font-size: 12px; font-weight: 400; letter-spacing: .24em; text-transform: uppercase; color: var(--az-navy); }
.ti-theme-azure-romance .azure-cover__guest { margin-bottom: 18px; padding: 8px 20px; border-radius: 16px; background: rgba(255,255,255,.5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.8); }
.ti-theme-azure-romance .azure-cover__guest:empty { display: none; }
.ti-theme-azure-romance .azure-cover__guest .ti-guest__label { font-size: 11.5px; letter-spacing: .04em; text-transform: none; color: var(--az-soft-ink); }
.ti-theme-azure-romance .azure-cover__guest .ti-guest__name { font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 21px; color: var(--az-navy); }
.ti-theme-azure-romance .azure-whiteout { position: absolute; inset: 0; z-index: 6; pointer-events: none; opacity: 0; background: radial-gradient(70% 60% at 50% 55%, #FFFFFF 0%, rgba(255,255,255,.96) 50%, rgba(250,247,240,.9) 100%); }

/* urutan pembuka (mulai setelah loading) */
.ti-theme-azure-romance.azure-ready .azure-cover .azure-sky { animation: azure-fade 1.4s ease both; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-clouds--far { animation: azure-fade 2s ease .3s both, azure-cloud 140s linear 2.3s infinite; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-clouds--near { animation: azure-fade 2s ease .5s both, azure-cloud 95s linear 2.5s infinite reverse; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-garden { animation: azure-fade 2s ease .4s both; }
.ti-theme-azure-romance .azure-cover .azure-cover__bed { height: 24%; z-index: 0; filter: blur(1.2px) saturate(.9); }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-cover__bed { animation: azure-fade 2.2s ease .7s both; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-glow { animation: azure-fade 2.4s ease .6s both, azure-breathe-glow 8s ease-in-out 3s infinite alternate; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-arch { animation: azure-arch-in 2.6s var(--az-ease) .8s both; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-dust { animation: azure-fade 2s ease 2.2s both; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-petals { animation: azure-fade 2s ease 3.1s both; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-butterfly, .ti-theme-azure-romance.azure-ready .azure-cover .azure-bokeh { opacity: 0; animation-play-state: running; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-bokeh { animation: azure-fade 3s ease 1.5s forwards; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-butterfly--a { animation: azure-fade 2s ease 2.6s forwards, azure-fly-a 30s ease-in-out 2.6s infinite; }
.ti-theme-azure-romance.azure-ready .azure-cover .azure-butterfly--b { animation: azure-fade 2s ease 3.4s forwards, azure-fly-b 36s ease-in-out 3.4s infinite; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > * { animation: azure-up 1.6s var(--az-ease) both; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > :nth-child(1) { animation-delay: 2.5s; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > :nth-child(2) { animation-delay: 2.7s; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > :nth-child(3) { animation-delay: 3s; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > :nth-child(4) { animation-delay: 3.1s; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > :nth-child(5) { animation-delay: 3.25s; }
.ti-theme-azure-romance.azure-ready .azure-cover__content > :nth-child(6) { animation: azure-up 1.6s var(--az-ease) 3.6s both, azure-glow-btn 3.6s ease-in-out 5.4s infinite; }

/* buka: latar sedikit zoom out, gerbang dilewati, cahaya putih lembut (tanpa potongan kasar) */
.ti-opened.ti-theme-azure-romance .azure-cover__scene { transform: scale(.96); }
.ti-opened.ti-theme-azure-romance .azure-cover .azure-arch { animation: azure-arch-pass 1.8s var(--az-ease) both; }
.ti-opened.ti-theme-azure-romance .azure-cover__content { opacity: 0; transform: scale(1.06); filter: blur(6px); }
.ti-opened.ti-theme-azure-romance .azure-whiteout { animation: azure-whiteout 2.2s ease both; }

/* =============================== NAVIGASI & TOAST =============================== */
.ti-theme-azure-romance .azure-nav { position: fixed; left: 50%; bottom: 14px; z-index: 30; display: flex; gap: 2px; padding: 5px 8px; border-radius: 999px; background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.9); -webkit-backdrop-filter: blur(12px) saturate(140%); backdrop-filter: blur(12px) saturate(140%); box-shadow: 0 16px 30px -16px rgba(36,56,77,.45), inset 0 1px 0 #fff; transform: translate(-50%, 160%); opacity: 0; transition: transform .7s var(--az-ease), opacity .5s ease; }
.ti-opened.ti-theme-azure-romance .azure-nav { transform: translate(-50%, 0); opacity: 1; transition-delay: 2.4s; }
.ti-opened.ti-theme-azure-romance .azure-nav.is-hidden { transform: translate(-50%, 160%); opacity: 0; transition-delay: 0s; }
.ti-theme-azure-romance .azure-nav a { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--az-navy); text-decoration: none; transition: background .4s, color .3s; }
.ti-theme-azure-romance .azure-nav a span { position: absolute; bottom: 50px; left: 50%; translate: -50% 6px; padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.9); border: 1px solid rgba(205,179,122,.5); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; color: var(--az-navy); opacity: 0; pointer-events: none; transition: opacity .3s, translate .4s var(--az-ease); }
.ti-theme-azure-romance .azure-nav a:hover, .ti-theme-azure-romance .azure-nav a.is-active { background: rgba(191,212,229,.6); }
.ti-theme-azure-romance .azure-nav a:hover span, .ti-theme-azure-romance .azure-nav a:focus-visible span { opacity: 1; translate: -50% 0; }
.ti-theme-azure-romance .azure-toast { position: fixed; left: 50%; bottom: 78px; z-index: 70; padding: 11px 24px; border-radius: 999px; background: rgba(255,255,255,.82); border: 1px solid rgba(205,179,122,.7); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: var(--az-navy); font-size: 12px; letter-spacing: .14em; white-space: nowrap; box-shadow: 0 18px 30px -16px rgba(36,56,77,.45); opacity: 0; transform: translate(-50%, 14px); pointer-events: none; transition: opacity .45s ease, transform .55s var(--az-ease); }
.ti-theme-azure-romance .azure-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.ti-theme-azure-romance .azure-toast::before { content: "\2713"; margin-right: 9px; color: var(--az-champ); }
/* Tombol musik bawaan sistem: kaca kecil bertepi champagne (bila kelasnya memuat "music") */
.ti-theme-azure-romance button[class*="music"], .ti-theme-azure-romance a[class*="music"] { border-radius: 50%; background: rgba(255,255,255,.55); border: 1px solid rgba(205,179,122,.8); color: var(--az-navy); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 12px 24px -12px rgba(36,56,77,.45); }

/* =============================== MAIN =============================== */
.ti-theme-azure-romance .azure-main { position: relative; z-index: 1; overflow: clip; background: var(--az-ivory); }
.ti-theme-azure-romance .azure-section { position: relative; padding: 104px 22px; text-align: center; overflow: hidden; }
.ti-theme-azure-romance .azure-section > * { position: relative; z-index: 1; }
.ti-theme-azure-romance .azure-head { margin: 0 auto 32px; }
.ti-theme-azure-romance .azure-blob { position: absolute; z-index: 0; border-radius: 50%; filter: blur(40px); opacity: .7; pointer-events: none; }
.ti-theme-azure-romance .azure-blob--a { width: 380px; height: 380px; right: -140px; top: 40px; background: radial-gradient(circle, rgba(232,185,195,.45), rgba(232,185,195,0) 70%); }
.ti-theme-azure-romance .azure-blob--b { width: 440px; height: 440px; left: -180px; top: 30%; background: radial-gradient(circle, rgba(191,212,229,.7), rgba(191,212,229,0) 70%); }
.ti-theme-azure-romance .azure-blob--c { width: 420px; height: 420px; right: -170px; bottom: 10%; background: radial-gradient(circle, rgba(220,234,244,.9), rgba(220,234,244,0) 70%); }
/* transisi warna antar section: blue → ivory → blush → white → blue */
.ti-theme-azure-romance .azure-s-couple { background: linear-gradient(180deg, var(--az-ivory) 0%, #FBF8F2 60%, #EEF4F8 100%); }
.ti-theme-azure-romance .azure-s-story { background: linear-gradient(180deg, #EEF4F8 0%, var(--az-baby) 45%, #E4EEF6 75%, #F4F7FA 100%); }
.ti-theme-azure-romance .azure-s-events { background: linear-gradient(180deg, #F4F7FA 0%, #FFFFFF 40%, #FFFFFF 70%, #F8EEF1 100%); }
.ti-theme-azure-romance .azure-s-venue { background: linear-gradient(180deg, #F8EEF1 0%, #E9F1F8 40%, var(--az-baby) 100%); }
.ti-theme-azure-romance .azure-s-count { background: linear-gradient(180deg, var(--az-baby) 0%, #A9C3DA 22%, var(--az-dusty) 50%, #A9C3DA 78%, #E7EFF6 100%); }
.ti-theme-azure-romance .azure-s-gallery { background: linear-gradient(180deg, #E7EFF6 0%, #F0F5FA 30%, #F5F8FB 100%); }
.ti-theme-azure-romance .azure-s-quote { background: linear-gradient(180deg, #F5F8FB 0%, var(--az-baby) 30%, var(--az-soft) 60%, var(--az-baby) 85%, #F8EEF1 100%); }
.ti-theme-azure-romance .azure-s-rsvp { background: linear-gradient(180deg, #F8EEF1 0%, #FBF3F4 50%, var(--az-ivory) 100%); }
.ti-theme-azure-romance .azure-s-wishes { background: var(--az-ivory); }
.ti-theme-azure-romance .azure-s-gift { background: linear-gradient(180deg, var(--az-ivory) 0%, #F3F6F9 60%, #E7EFF6 100%); }

/* HERO 2.5D */
.ti-theme-azure-romance .azure-hero { position: relative; height: 165vh; background: var(--az-baby); }
.ti-theme-azure-romance .azure-hero__sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
@supports (height: 100svh) { .ti-theme-azure-romance .azure-hero__sticky { height: 100svh; } }
.ti-theme-azure-romance .azure-hero__sticky::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 9%; z-index: 4; background: linear-gradient(180deg, rgba(250,247,240,0), var(--az-ivory)); pointer-events: none; }
.ti-theme-azure-romance .azure-p1 { position: absolute; inset: 0; transform: translateY(calc(var(--ti-q, 0) * 15px)); }
.ti-theme-azure-romance .azure-hero .azure-p3 { transform: translateY(calc(var(--ti-q, 0) * -40px)) scale(1.04); }
.ti-theme-azure-romance .azure-bed { position: absolute; left: 0; bottom: -1%; width: 100%; height: 31%; z-index: 3; object-fit: cover; object-position: 50% 100%; transform: translateY(calc(var(--ti-q, 0) * -36px)); }
.ti-theme-azure-romance .azure-floral { position: absolute; width: min(54vw, 380px); pointer-events: none; z-index: 2; transform-origin: 0 0; }
.ti-theme-azure-romance .azure-floral--tl { left: -10px; top: -10px; animation: azure-sway 9s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-floral--tr { right: -10px; top: -10px; transform: scaleX(-1); transform-origin: 50% 0; }
.ti-theme-azure-romance .azure-hero .azure-floral { translate: 0 calc(var(--ti-q, 0) * -70px); }
.ti-theme-azure-romance .azure-leaves { position: absolute; bottom: -4%; height: 36%; width: auto; max-width: none; z-index: 5; pointer-events: none; filter: blur(1.2px); opacity: .85; }
.ti-theme-azure-romance .azure-leaves--l { left: -8%; translate: calc(var(--ti-q, 0) * -12vw) calc(var(--ti-q, 0) * -130px); }
.ti-theme-azure-romance .azure-leaves--r { right: -8%; transform: scaleX(-1); translate: calc(var(--ti-q, 0) * 12vw) calc(var(--ti-q, 0) * -130px); }
.ti-theme-azure-romance .azure-rays { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: repeating-linear-gradient(118deg, rgba(255,255,255,0) 0 70px, rgba(255,255,255,.16) 70px 110px, rgba(255,255,255,0) 110px 200px); background-size: 400px 400px; -webkit-mask: radial-gradient(80% 70% at 15% 10%, #000 0%, transparent 70%); mask: radial-gradient(80% 70% at 15% 10%, #000 0%, transparent 70%); animation: azure-rays 24s linear infinite; mix-blend-mode: screen; }
.ti-theme-azure-romance .azure-hero__content { position: absolute; left: 50%; top: 46%; z-index: 6; width: min(86vw, 640px); transform: translate(-50%, -50%); translate: 0 calc(var(--ti-q, 0) * -110px); opacity: calc(1 - var(--ti-q, 0) * 1.5); text-align: center; }
.ti-theme-azure-romance .azure-hero__names { display: flex; flex-direction: column; align-items: center; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 400; font-size: clamp(54px, 15vw, 104px); line-height: .98; color: var(--az-navy); text-shadow: 0 2px 26px rgba(255,255,255,.95); overflow-wrap: anywhere; --ti-dist: 30px; }
.ti-theme-azure-romance .azure-hero__names em { font-style: italic; font-size: .42em; color: var(--az-rose); margin: .08em 0; }
.ti-theme-azure-romance .azure-hero__date { margin: 14px 0 6px; font-size: 12px; font-weight: 400; letter-spacing: .26em; text-transform: uppercase; color: var(--az-navy); }
.ti-theme-azure-romance .azure-hero__sub { margin: 0; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 20px; color: var(--az-soft-ink); }
.ti-theme-azure-romance .azure-cue { position: absolute; left: 50%; bottom: 22px; z-index: 6; translate: -50% 0; opacity: calc(1 - var(--ti-q, 0) * 4); }
.ti-theme-azure-romance .azure-cue i { display: block; width: 1px; height: 40px; background: linear-gradient(180deg, rgba(36,56,77,0), var(--az-navy)); transform-origin: 50% 0; animation: azure-cue 2.4s ease-in-out infinite; }

/* MEMPELAI — bingkai kaca melayang */
.ti-theme-azure-romance .azure-couple__grid { display: grid; grid-template-columns: 1fr; gap: 12px; max-width: 1000px; margin: 34px auto 0; align-items: start; }
.ti-theme-azure-romance .azure-person { max-width: 420px; margin: 0 auto; }
.ti-theme-azure-romance .azure-portrait { position: relative; width: min(68vw, 290px); margin: 0 auto 34px; perspective: 900px; --ti-dist: 40px; }
.ti-theme-azure-romance .azure-portrait__shadow { position: absolute; left: -26%; top: -14%; width: 92%; opacity: .5; filter: blur(5px); z-index: 0; pointer-events: none; }
.ti-theme-azure-romance .azure-portrait__ring { position: absolute; right: -14%; bottom: -10%; width: 72%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(205,179,122,.6); z-index: 0; }
.ti-theme-azure-romance .azure-portrait__card { position: relative; z-index: 1; padding: 12px; border-radius: 26px; background: rgba(255,255,255,.42); border: 1px solid rgba(255,255,255,.9); -webkit-backdrop-filter: blur(var(--az-blur)); backdrop-filter: blur(var(--az-blur)); box-shadow: 0 34px 50px -28px rgba(36,56,77,.45), inset 0 1px 0 #fff; animation: azure-float 7s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-portrait__photo { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 18px; background: linear-gradient(160deg, var(--az-baby), #F4E6EA); }
.ti-theme-azure-romance .azure-portrait__img { width: 100%; height: 100%; object-fit: cover; display: block; scale: .94; opacity: 0; transition: scale 1.8s var(--az-ease) .3s, opacity 1.4s ease .3s; }
.ti-theme-azure-romance .is-in .azure-portrait__img { scale: 1; opacity: 1; }
.ti-theme-azure-romance .azure-portrait__photo .ti-couple-monogram { display: grid; place-items: center; width: 100%; height: 100%; font-family: "Cormorant Garamond", serif; font-size: 110px; color: var(--az-navy); }
.ti-theme-azure-romance .azure-portrait__frame { position: absolute; inset: -9% -10% -8% -9%; width: 119%; height: 117%; pointer-events: none; z-index: 2; }
.ti-theme-azure-romance .azure-person__nick { font-family: "Cormorant Garamond", serif; font-size: clamp(42px, 11vw, 56px); line-height: 1.05; color: var(--az-navy); }
.ti-theme-azure-romance .azure-person__name { font-size: 12.5px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: #6F8CA8; margin: 8px 0 10px; }
.ti-theme-azure-romance .azure-couple__amp { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 64px; line-height: 1; color: var(--az-rose); margin: 0 0 20px; }

/* KISAH — kartu kaca melayang */
.ti-theme-azure-romance .azure-story__cloud { position: absolute; left: -20%; top: 24%; width: 140%; height: 220px; opacity: .65; z-index: 0; }
.ti-theme-azure-romance .azure-story__list { max-width: 820px; margin: 0 auto; }
.ti-theme-azure-romance .azure-story__item { width: 88%; margin: 0 auto 34px 0; --ti-dist: 50px; }
.ti-theme-azure-romance .azure-story__item--alt { margin: 0 0 34px auto; }
.ti-theme-azure-romance .azure-chapter { padding: 26px 22px 24px; text-align: left; transform: rotate(-.8deg); animation: azure-float 8s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-story__item--alt .azure-chapter { transform: rotate(.8deg); animation-delay: -3s; }
.ti-theme-azure-romance .azure-chapter__no { position: absolute; right: 18px; top: 10px; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 44px; line-height: 1; color: rgba(145,175,201,.55); }
.ti-theme-azure-romance .azure-chapter__img { overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 3; margin-bottom: 16px; }
.ti-theme-azure-romance .azure-chapter__img img { width: 100%; height: 100%; object-fit: cover; display: block; scale: 1.08; transition: scale 2s var(--az-ease) .2s; }
.ti-theme-azure-romance .is-in .azure-chapter__img img { scale: 1; }
.ti-theme-azure-romance .azure-chapter h3 { font-family: "Cormorant Garamond", serif; font-size: 30px; line-height: 1.15; color: var(--az-navy); margin: 2px 0 8px; }
.ti-theme-azure-romance .azure-chapter p { margin: 0; color: var(--az-soft-ink); font-size: 15px; }

/* REVEAL kartu: opacity + scale 0.95 + blur → tajam (berurutan lewat stagger) */
.ti-theme-azure-romance .azure-reveal > * { transition: scale 1.3s var(--az-ease), filter 1.3s ease; }
.ti-theme-azure-romance .azure-reveal:not(.is-in) > * { scale: .95; filter: blur(6px); }
.ti-theme-azure-romance .azure-tilt { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .5s var(--az-ease), box-shadow .5s ease; transform-style: preserve-3d; }

/* ACARA */
.ti-theme-azure-romance .azure-events__grid { display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 920px; margin: 0 auto; }
.ti-theme-azure-romance .azure-card { height: 100%; padding: 40px 26px 30px; border-color: rgba(205,179,122,.6); background: rgba(255,255,255,.62); box-shadow: 0 30px 50px -28px rgba(110,140,170,.55), inset 0 1px 0 #fff; }
.ti-theme-azure-romance .azure-card:hover { box-shadow: 0 36px 54px -26px rgba(110,140,170,.6), 0 0 24px rgba(191,212,229,.7), inset 0 1px 0 #fff; }
.ti-theme-azure-romance .azure-card__sprig { position: absolute; left: -12px; top: -12px; width: 92px; pointer-events: none; }
.ti-theme-azure-romance .azure-card__name { font-family: "Cormorant Garamond", serif; font-size: 36px; line-height: 1.1; color: var(--az-navy); }
.ti-theme-azure-romance .azure-card__crystal { width: 18px; margin: 10px auto 16px; display: block; }
.ti-theme-azure-romance .azure-card__info { list-style: none; margin: 0 auto 22px; padding: 0; max-width: 320px; text-align: left; }
.ti-theme-azure-romance .azure-card__info li { display: flex; gap: 12px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid rgba(145,175,201,.25); font-size: 14.5px; color: var(--az-soft-ink); }
.ti-theme-azure-romance .azure-card__info li:last-child { border-bottom: 0; }
.ti-theme-azure-romance .azure-card__info svg { flex: none; margin-top: 3px; color: #7F9DBA; }
.ti-theme-azure-romance .azure-card__info strong { font-weight: 500; color: var(--az-navy); }
.ti-theme-azure-romance .azure-card__actions { margin-top: 14px; }
.ti-theme-azure-romance .azure-card__actions .ti-btn--maps { display: none; }
.ti-theme-azure-romance .ti-btn { border-radius: 999px; font-family: "Jost", sans-serif; font-weight: 400; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; transition: transform .4s var(--az-ease), box-shadow .4s, background .4s; }
.ti-theme-azure-romance .ti-btn--primary, .ti-theme-azure-romance .ti-btn--maps { background: var(--az-dusty); border-color: var(--az-dusty); color: #fff; }
.ti-theme-azure-romance .ti-btn--ghost { background: rgba(255,255,255,.45); border-color: rgba(205,179,122,.7); color: var(--az-navy); }
.ti-theme-azure-romance .ti-btn:hover { transform: translateY(-2px); }

/* LOKASI */
.ti-theme-azure-romance .azure-venue__list { display: grid; grid-template-columns: 1fr; gap: 26px; max-width: 900px; margin: 0 auto; }
.ti-theme-azure-romance .azure-place { padding: 34px 24px 30px; }
.ti-theme-azure-romance .azure-place__pin { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 14px; border-radius: 50%; color: #7F9DBA; background: rgba(255,255,255,.7); border: 1px solid rgba(205,179,122,.6); }
.ti-theme-azure-romance .azure-place__name { font-family: "Cormorant Garamond", serif; font-size: 30px; line-height: 1.15; color: var(--az-navy); margin: 4px 0 8px; }
.ti-theme-azure-romance .azure-place__addr { max-width: 360px; margin: 0 auto 22px; font-size: 14.5px; color: var(--az-soft-ink); }

/* COUNTDOWN — panel kaca besar di atas dusty blue */
.ti-theme-azure-romance .azure-s-count { padding-top: 120px; padding-bottom: 120px; }
.ti-theme-azure-romance .azure-count__cloud { position: absolute; left: -30%; top: 12%; width: 160%; height: 260px; opacity: .45; z-index: 0; animation: azure-drift 50s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-count__panel { position: relative; max-width: 620px; margin: 0 auto; padding: 38px 18px 30px; overflow: hidden; border-radius: 28px; background: linear-gradient(160deg, rgba(255,255,255,.2), rgba(104,140,174,.46)); border: 1px solid rgba(255,255,255,.6); -webkit-backdrop-filter: blur(var(--az-blur)) saturate(130%); backdrop-filter: blur(var(--az-blur)) saturate(130%); box-shadow: 0 30px 60px -30px rgba(36,56,77,.55), inset 0 1px 0 rgba(255,255,255,.7); }
.ti-theme-azure-romance .azure-count__panel::before { content: ""; position: absolute; left: -40%; top: -60%; width: 70%; height: 220%; transform: rotate(22deg); background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.28), rgba(255,255,255,0)); animation: azure-sheen 9s ease-in-out infinite; pointer-events: none; }
.ti-theme-azure-romance .azure-countdown { display: flex; justify-content: center; margin: 10px auto 0; }
.ti-theme-azure-romance .azure-countdown .ti-countdown__item { position: relative; flex: 1; padding: 6px 2px; background: transparent; }
.ti-theme-azure-romance .azure-countdown .ti-countdown__item + .ti-countdown__item::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 1px; background: rgba(255,255,255,.55); }
.ti-theme-azure-romance .azure-countdown .ti-countdown__num { font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: clamp(40px, 11vw, 60px); line-height: 1.05; color: #fff; text-shadow: 0 4px 20px rgba(36,56,77,.25); }
.ti-theme-azure-romance .azure-countdown .ti-countdown__label { font-size: 10px; font-weight: 400; letter-spacing: .24em; text-transform: uppercase; color: #F4EBD3; opacity: 1; }
.ti-theme-azure-romance .azure-count__date { margin: 22px 0 0; font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: rgba(255,255,255,.88); }

/* VIDEO */
.ti-theme-azure-romance .azure-video { max-width: 820px; margin: 0 auto; padding: 10px; overflow: hidden; }

/* GALERI — editorial masonry */
.ti-theme-azure-romance .azure-masonry { max-width: 1100px; margin: 0 auto; columns: 2; column-gap: 12px; text-align: left; }
.ti-theme-azure-romance .azure-shot { position: relative; display: block; margin: 0 0 12px; break-inside: avoid; overflow: visible; border-radius: 16px; --ti-dist: 36px; transition: transform .7s var(--az-ease), box-shadow .7s ease; }
.ti-theme-azure-romance .azure-shot > img:first-child { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 16px; box-shadow: 0 20px 34px -24px rgba(36,56,77,.55); scale: .96; filter: blur(5px); transition: scale 1.8s var(--az-ease) .1s, filter 1.4s ease .1s; }
.ti-theme-azure-romance .azure-shot.is-in > img:first-child { scale: 1; filter: none; }
.ti-theme-azure-romance .azure-shot--0 { aspect-ratio: 4 / 5; }
.ti-theme-azure-romance .azure-shot--1 { aspect-ratio: 1 / 1; }
.ti-theme-azure-romance .azure-shot--2 { aspect-ratio: 3 / 4; }
.ti-theme-azure-romance .azure-shot--3 { aspect-ratio: 4 / 3; }
.ti-theme-azure-romance .azure-shot--4 { aspect-ratio: 2 / 3; }
.ti-theme-azure-romance .azure-shot--5 { aspect-ratio: 5 / 4; }
.ti-theme-azure-romance .azure-shot--featured { margin: 18px 10px 26px; }
.ti-theme-azure-romance .azure-shot__frame { position: absolute; inset: -9% -8%; width: 116%; height: 118%; pointer-events: none; z-index: 2; }
.ti-theme-azure-romance .azure-shot__glass { position: absolute; right: 10px; bottom: 10px; z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--az-navy); background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; transform: translateY(6px); transition: opacity .5s, transform .5s var(--az-ease); }
.ti-theme-azure-romance .azure-shot:hover { transform: scale(1.03); }
.ti-theme-azure-romance .azure-shot:hover > img:first-child { box-shadow: 0 24px 40px -22px rgba(36,56,77,.55), 0 0 30px rgba(191,212,229,.85); }
.ti-theme-azure-romance .azure-shot:hover .azure-shot__glass { opacity: 1; transform: none; }

/* KUTIPAN */
.ti-theme-azure-romance .azure-s-quote { padding-top: 130px; padding-bottom: 130px; }
.ti-theme-azure-romance .azure-quote__cloud { position: absolute; left: -30%; width: 160%; height: 220px; z-index: 0; pointer-events: none; }
.ti-theme-azure-romance .azure-quote__cloud--a { top: 6%; opacity: .7; animation: azure-drift 44s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-quote__cloud--b { bottom: 4%; opacity: .55; animation: azure-drift 56s ease-in-out infinite alternate-reverse; }
.ti-theme-azure-romance .azure-quote__flower { position: absolute; top: 50%; width: min(42vw, 300px); z-index: 0; pointer-events: none; opacity: .95; }
.ti-theme-azure-romance .azure-quote__flower--l { left: -16%; translate: 0 -70%; rotate: -12deg; animation: azure-float 9s ease-in-out infinite alternate; }
.ti-theme-azure-romance .azure-quote__flower--r { right: -16%; translate: 0 -10%; transform: scaleX(-1); rotate: 12deg; animation: azure-float 10s ease-in-out -4s infinite alternate; }
.ti-theme-azure-romance .azure-quote__box { max-width: 600px; margin: 0 auto; padding: 44px 26px 36px; }
.ti-theme-azure-romance .azure-quote__text { margin: 8px auto 0; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: clamp(21px, 5.6vw, 27px); line-height: 1.55; color: var(--az-navy); }

/* RSVP */
.ti-theme-azure-romance .azure-form { max-width: 540px; margin: 0 auto; padding: 72px 26px 32px; text-align: left; }
.ti-theme-azure-romance .azure-form .azure-card__sprig { width: 96px; }
.ti-theme-azure-romance .ti-field label, .ti-theme-azure-romance .ti-field legend { font-size: 11px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: #6F8CA8; }
.ti-theme-azure-romance .ti-field input[type="text"], .ti-theme-azure-romance .ti-field input[type="number"], .ti-theme-azure-romance .ti-field input[type="tel"], .ti-theme-azure-romance .ti-field select, .ti-theme-azure-romance .ti-field textarea { font-family: "Jost", sans-serif; font-weight: 300; font-size: 15px; color: var(--az-navy); border: 1px solid var(--az-soft); border-radius: 12px; background: rgba(255,255,255,.65); transition: border-color .3s, box-shadow .3s, background .3s; }
.ti-theme-azure-romance .ti-field input:focus, .ti-theme-azure-romance .ti-field select:focus, .ti-theme-azure-romance .ti-field textarea:focus { outline: none; border-color: var(--az-champ); background: rgba(255,255,255,.9); box-shadow: 0 0 0 3px rgba(205,179,122,.18); }
.ti-theme-azure-romance .ti-choice span { font-family: "Jost", sans-serif; border-color: var(--az-soft); border-radius: 12px; }
.ti-theme-azure-romance .azure-form .ti-btn--primary, .ti-theme-azure-romance .azure-form button[type="submit"] { width: 100%; min-height: 48px; background: linear-gradient(180deg, #A3BDD6, var(--az-dusty)); border: 1px solid rgba(205,179,122,.8); color: #fff; letter-spacing: .24em; box-shadow: 0 14px 26px -16px rgba(36,56,77,.5), inset 0 1px 0 rgba(255,255,255,.6); }

/* UCAPAN */
.ti-theme-azure-romance .azure-wishes__box { max-width: 660px; margin: 0 auto; text-align: left; }
.ti-theme-azure-romance .azure-s-wishes .ti-guestbook__item { position: relative; margin-bottom: 14px; padding: 20px 22px 16px 56px; border-radius: 18px; border: 1px solid rgba(191,212,229,.8); background: #FFFFFF; box-shadow: 0 18px 30px -26px rgba(36,56,77,.45); }
.ti-theme-azure-romance .azure-s-wishes .ti-guestbook__item::before { content: "\201C"; position: absolute; left: 18px; top: 4px; font-family: "Cormorant Garamond", serif; font-size: 54px; line-height: 1; color: var(--az-rose); }
.ti-theme-azure-romance .azure-s-wishes .ti-guestbook__item strong, .ti-theme-azure-romance .azure-s-wishes .ti-guestbook__item b { font-weight: 400; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--az-navy); }
.ti-theme-azure-romance .azure-s-wishes .ti-guestbook__item p { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 18px; line-height: 1.55; color: var(--az-soft-ink); }
.ti-theme-azure-romance .azure-s-wishes form, .ti-theme-azure-romance .azure-s-wishes .ti-guestbook__form { padding: 22px; margin-bottom: 22px; border-radius: 18px; border: 1px solid rgba(191,212,229,.8); background: #FFFFFF; }

/* HADIAH — amplop kaca */
.ti-theme-azure-romance .azure-gift { display: grid; gap: 24px; max-width: 780px; margin: 0 auto; }
.ti-theme-azure-romance .azure-gift .ti-gift__card { position: relative; padding: 56px 24px 28px; overflow: hidden; border-radius: 22px; background: rgba(255,255,255,.5); border: 1px solid rgba(205,179,122,.6); color: var(--az-navy); -webkit-backdrop-filter: blur(var(--az-blur)); backdrop-filter: blur(var(--az-blur)); box-shadow: 0 28px 46px -28px rgba(110,140,170,.6), inset 0 1px 0 #fff; transition: transform .6s var(--az-ease), box-shadow .6s; }
.ti-theme-azure-romance .azure-gift .ti-gift__card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 64px; clip-path: polygon(0 0, 100% 0, 50% 100%); background: linear-gradient(180deg, rgba(220,234,244,.9), rgba(191,212,229,.55)); border-bottom: 1px solid rgba(205,179,122,.5); }
.ti-theme-azure-romance .azure-gift .ti-gift__card::after { content: ""; position: absolute; left: 50%; top: 48px; width: 16px; height: 16px; translate: -50% 0; rotate: 45deg; border-radius: 3px; background: linear-gradient(135deg, #F2D2DA, var(--az-rose)); box-shadow: 0 4px 8px rgba(217,154,168,.4); }
.ti-theme-azure-romance .azure-gift .ti-gift__card:hover { transform: translateY(-4px); box-shadow: 0 34px 50px -28px rgba(110,140,170,.65), 0 0 24px rgba(191,212,229,.7), inset 0 1px 0 #fff; }
.ti-theme-azure-romance .azure-gift .ti-gift__bank { font-size: 13px; font-weight: 400; letter-spacing: .3em; color: #6F8CA8; }
.ti-theme-azure-romance .azure-gift .ti-gift__no { font-family: "Cormorant Garamond", serif; font-size: 30px; letter-spacing: .08em; color: var(--az-navy); }
.ti-theme-azure-romance .azure-gift button, .ti-theme-azure-romance .azure-gift .ti-btn { border-radius: 999px; border: 1px solid rgba(205,179,122,.85); background: rgba(255,255,255,.6); color: var(--az-navy); letter-spacing: .2em; }
.ti-theme-azure-romance .azure-gift .is-copied { background: var(--az-dusty); color: #fff; }

/* PENUTUP */
.ti-theme-azure-romance .azure-closing { position: relative; min-height: 100vh; display: flex; align-items: flex-end; justify-content: center; padding: 120px 22px max(8vh, 64px); overflow: hidden; text-align: center; background: #E9EFF6; }
.ti-theme-azure-romance .azure-closing__scene { position: absolute; inset: 0; }
.ti-theme-azure-romance .azure-closing .azure-sky { transform: translateY(calc((.5 - min(var(--ti-p, .5), .5)) * 40px)); }
.ti-theme-azure-romance .azure-closing__arch { height: min(88vh, 150vw); bottom: -3vh; translate: -50% calc((.5 - min(var(--ti-p, .5), .5)) * 120px); opacity: .95; }
.ti-theme-azure-romance .azure-closing::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 18%; background: linear-gradient(180deg, rgba(250,247,240,0), var(--az-ivory)); pointer-events: none; }
.ti-theme-azure-romance .azure-closing__content { position: relative; z-index: 3; max-width: 330px; }
.ti-theme-azure-romance .azure-closing__content::before { content: ""; position: absolute; left: -22%; right: -22%; top: -10%; bottom: -8%; z-index: -1; background: radial-gradient(50% 50% at 50% 50%, rgba(250,247,240,.78), rgba(250,247,240,.45) 55%, rgba(250,247,240,0) 100%); pointer-events: none; }
.ti-theme-azure-romance .azure-closing .azure-kicker { text-shadow: 0 0 10px #fff, 0 0 18px rgba(255,255,255,.9); }
.ti-theme-azure-romance .azure-closing__names { display: flex; flex-direction: column; align-items: center; font-family: "Cormorant Garamond", serif; font-size: clamp(46px, 13vw, 84px); line-height: 1; color: var(--az-navy); text-shadow: 0 2px 22px rgba(255,255,255,.95); }
.ti-theme-azure-romance .azure-closing__names em { font-style: italic; font-size: .45em; color: var(--az-rose); margin: .08em 0; }
.ti-theme-azure-romance .azure-closing .azure-text { color: var(--az-navy); font-size: 15px; margin-top: 18px; text-shadow: 0 1px 12px rgba(255,255,255,.9); }
.ti-theme-azure-romance .azure-closing__note { margin: 0; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 20px; color: var(--az-soft-ink); }
.ti-theme-azure-romance .azure-footer { padding: 22px 16px 92px; text-align: center; background: var(--az-ivory); color: #8A9BAE; font-size: 10.5px; letter-spacing: .3em; text-transform: uppercase; }

/* =============================== DESKTOP =============================== */
@media (min-width: 760px) {
  .ti-theme-azure-romance .azure-section { padding: 130px 40px; }
  .ti-theme-azure-romance .azure-couple__grid { grid-template-columns: 1fr auto 1fr; gap: 40px; }
  .ti-theme-azure-romance .azure-couple__amp { align-self: center; margin: -160px 0 0; font-size: 84px; }
  .ti-theme-azure-romance .azure-events__grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }
  .ti-theme-azure-romance .azure-venue__list, .ti-theme-azure-romance .azure-gift { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
  .ti-theme-azure-romance .azure-masonry { columns: 3; column-gap: 18px; }
  .ti-theme-azure-romance .azure-shot { margin-bottom: 18px; }
  .ti-theme-azure-romance .azure-story__item { width: 62%; }
  .ti-theme-azure-romance .azure-leaves { height: 52%; }
  .ti-theme-azure-romance .azure-closing__content { max-width: 420px; }
}

/* Mode ringan & HP: partikel, kupu-kupu, bokeh dikurangi */
@media (max-width: 600px) {
  .ti-theme-azure-romance .azure-petals i:nth-child(n+6), .ti-theme-azure-romance .azure-bokeh i:nth-child(n+5), .ti-theme-azure-romance .azure-dust i:nth-child(n+6) { display: none; }
}
.ti-theme-azure-romance.azure-lite .azure-petals i:nth-child(n+4), .ti-theme-azure-romance.azure-lite .azure-bokeh i:nth-child(n+3), .ti-theme-azure-romance.azure-lite .azure-butterfly--b, .ti-theme-azure-romance.azure-lite .azure-butterfly--story, .ti-theme-azure-romance.azure-lite .azure-rays { display: none; }
.ti-theme-azure-romance.azure-lite { --az-blur: 6px; }

/* Animasi */
@keyframes azure-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes azure-up { from { opacity: 0; transform: translate3d(0, 18px, 0); filter: blur(8px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes azure-arch-in { 0% { opacity: 0; filter: blur(16px); scale: 1.05; } 100% { opacity: 1; filter: blur(0); scale: 1; } }
@keyframes azure-arch-pass { 0% { opacity: 1; scale: 1; filter: blur(0); } 100% { opacity: 0; scale: 1.25; filter: blur(8px); } }
@keyframes azure-whiteout { 0% { opacity: 0; } 45% { opacity: .95; } 100% { opacity: 1; } }
@keyframes azure-cloud { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes azure-drift { from { transform: translate3d(-6%, 0, 0); } to { transform: translate3d(6%, 0, 0); } }
@keyframes azure-sway { from { rotate: -.6deg; } to { rotate: .6deg; } }
@keyframes azure-float { from { translate: 0 0; } to { translate: 0 -8px; } }
@keyframes azure-breathe { 0%, 100% { scale: 1; opacity: .85; } 50% { scale: 1.06; opacity: 1; } }
@keyframes azure-breathe-glow { from { opacity: .8; scale: .97; } to { opacity: 1; scale: 1.03; } }
@keyframes azure-bokeh { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(26px, -40px, 0); } }
@keyframes azure-dust { 0% { opacity: 0; transform: translate3d(0, 0, 0); } 15% { opacity: .9; } 85% { opacity: .6; } 100% { opacity: 0; transform: translate3d(22px, -95vh, 0); } }
@keyframes azure-fall { 0% { transform: translate3d(0, -5vh, 0); } 50% { transform: translate3d(-30px, 52vh, 0); } 100% { transform: translate3d(18px, 112vh, 0); } }
@keyframes azure-tumble { from { transform: rotate(-20deg) rotateY(0); } to { transform: rotate(140deg) rotateY(170deg); } }
@keyframes azure-flap { from { transform: scaleX(1); } to { transform: scaleX(.35); } }
@keyframes azure-fly-a { 0% { transform: translate3d(0, 0, 0) rotate(8deg); } 25% { transform: translate3d(28vw, -6vh, 0) rotate(-6deg); } 50% { transform: translate3d(54vw, 4vh, 0) rotate(10deg); } 75% { transform: translate3d(22vw, 10vh, 0) rotate(-8deg); } 100% { transform: translate3d(0, 0, 0) rotate(8deg); } }
@keyframes azure-fly-b { 0% { transform: translate3d(0, 0, 0) rotate(-8deg); } 30% { transform: translate3d(-30vw, -8vh, 0) rotate(6deg); } 60% { transform: translate3d(-12vw, -16vh, 0) rotate(-10deg); } 100% { transform: translate3d(0, 0, 0) rotate(-8deg); } }
@keyframes azure-rays { from { background-position: 0 0; } to { background-position: 400px 400px; } }
@keyframes azure-sheen { 0%, 100% { left: -60%; } 50% { left: 110%; } }
@keyframes azure-glow-btn { 0%, 100% { box-shadow: 0 14px 26px -16px rgba(36,56,77,.45), inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 0 rgba(205,179,122,0); } 50% { box-shadow: 0 14px 26px -16px rgba(36,56,77,.45), inset 0 1px 0 rgba(255,255,255,.9), 0 0 24px 2px rgba(255,255,255,.9); } }
@keyframes azure-cue { 0% { transform: scaleY(0); opacity: 0; } 40% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1) translateY(16px); opacity: 0; } }
@keyframes azure-line { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
@keyframes azure-loader-auto { to { opacity: 0; visibility: hidden; } }

/* Gerbang pembuka muncul bertahap (bunga terlihat satu per satu dari bawah ke atas) */
.ti-theme-azure-romance.azure-ready .azure-cover .azure-arch img { -webkit-mask-image: linear-gradient(20deg, #000 45%, transparent 62%); mask-image: linear-gradient(20deg, #000 45%, transparent 62%); -webkit-mask-size: 100% 260%; mask-size: 100% 260%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: 0 100%; mask-position: 0 100%; animation: azure-mask 2.8s var(--az-ease) .9s both, azure-sway 11s ease-in-out 3.7s infinite alternate; }
@keyframes azure-mask { from { -webkit-mask-position: 0 0; mask-position: 0 0; } to { -webkit-mask-position: 0 100%; mask-position: 0 100%; } }

@media (prefers-reduced-motion: reduce) {
  .ti-theme-azure-romance *, .ti-theme-azure-romance *::before, .ti-theme-azure-romance *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important; transition-duration: .2s !important; transition-delay: 0s !important; }
  .ti-theme-azure-romance .azure-petals, .ti-theme-azure-romance .azure-bokeh, .ti-theme-azure-romance .azure-butterfly, .ti-theme-azure-romance .azure-dust, .ti-theme-azure-romance .azure-rays { display: none; }
  .ti-theme-azure-romance .azure-hero { height: auto; }
  .ti-theme-azure-romance .azure-hero__sticky { position: relative; }
  .ti-theme-azure-romance .azure-hero__content { opacity: 1; translate: none; }
  .ti-theme-azure-romance .azure-hero [class*="azure-p"], .ti-theme-azure-romance .azure-bed, .ti-theme-azure-romance .azure-leaves, .ti-theme-azure-romance .azure-hero .azure-floral { translate: none; }
  .ti-theme-azure-romance .azure-sharp, .ti-theme-azure-romance .azure-portrait__img, .ti-theme-azure-romance .azure-shot > img:first-child { filter: none; opacity: 1; scale: 1; }
  .ti-theme-azure-romance .azure-reveal:not(.is-in) > * { scale: 1; filter: none; }
}

/* Awan dekoratif section: tepi dipudarkan agar tidak terlihat potongan kotak */
.ti-theme-azure-romance .azure-story__cloud, .ti-theme-azure-romance .azure-count__cloud, .ti-theme-azure-romance .azure-quote__cloud { -webkit-mask-image: radial-gradient(50% 50% at 50% 50%, #000 45%, transparent 100%); mask-image: radial-gradient(50% 50% at 50% 50%, #000 45%, transparent 100%); }
.ti-theme-azure-romance .azure-count__panel .azure-kicker { color: #FFFFFF; font-weight: 500; text-shadow: 0 1px 6px rgba(36,56,77,.5), 0 0 16px rgba(205,179,122,.45); }
