/* Sinh tự động bởi scripts/split-classic-themes.mjs từ wedding-themes.css. */

.hero-deco, .hero-deco > *, .hd-mark, .crest, .rings-sh, .marquee, .pm-deco, .pm-deco > *, .masthead, .house, .constel, .couple-amp, .ev-intro, .dlock, .cal, .starchart { display: none; }
.hero-deco, .pm-deco { position: absolute; inset: 0; pointer-events: none; }
.dr { stroke-dasharray: 1; stroke-dashoffset: 0; }
@keyframes t-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes t-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes t-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes t-spin { to { transform: rotate(360deg); } }
@keyframes hk-foil { 0%, 50% { background-position: 100% 0; } 78%, 100% { background-position: 0 0; } }
@keyframes sh-swing { from { transform: rotate(-4deg); } to { transform: rotate(4deg); } }
@keyframes sh-mark { from { opacity: 0; transform: scale(.55) rotate(-8deg); } to { opacity: 1; transform: none; } }
@keyframes tc-curtain { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@keyframes tc-marquee { to { transform: translateX(-50%); } }
@keyframes vh-sway { from { rotate: 0deg; } to { rotate: 2.5deg; } }
@keyframes ds-twinkle { from { opacity: .25; } to { opacity: 1; } }
@keyframes ds-shoot { 0% { opacity: 0; transform: rotate(-28deg) translateX(0); } 2% { opacity: 1; } 9% { opacity: 0; transform: rotate(-28deg) translateX(-460px); } 100% { opacity: 0; transform: rotate(-28deg) translateX(-460px); } }
@keyframes ds-float { from { transform: translateY(-6px) rotate(-4deg); } to { transform: translateY(8px) rotate(3deg); } }
@keyframes dn-rise { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
.dlock, .cal { cursor: default; }
.is-draft .dlock, .is-draft .cal { cursor: pointer; }
.dlock .dl-row { display: flex; align-items: center; justify-content: center; }
.cal-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); text-align: center; }
.cal-g > * { display: grid; place-items: center; aspect-ratio: 1; font-style: normal; }
.cal-g .on { position: relative; font-weight: 700; }
@keyframes ds-pulse { from { transform: scale(.85); opacity: .8; } to { transform: scale(1.1); opacity: 1; } }
.fx[data-fx="blossom"] i { width: 18px; height: 18px; opacity: .9;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><g fill='%23f6a9bb'><ellipse cx='10' cy='4.6' rx='3.4' ry='4.4'/><ellipse cx='10' cy='4.6' rx='3.4' ry='4.4' transform='rotate(72 10 10)'/><ellipse cx='10' cy='4.6' rx='3.4' ry='4.4' transform='rotate(144 10 10)'/><ellipse cx='10' cy='4.6' rx='3.4' ry='4.4' transform='rotate(216 10 10)'/><ellipse cx='10' cy='4.6' rx='3.4' ry='4.4' transform='rotate(288 10 10)'/></g><circle cx='10' cy='10' r='2.4' fill='%23d9476a'/></svg>") center / contain no-repeat; }
.fx[data-fx="blossom"] i:nth-child(3n) { width: 13px; height: 11px; border-radius: 150% 0 150% 0; background: linear-gradient(135deg, #ffe1e8, #f39ab0); }
.fx[data-fx="glitter"] i { width: 7px; height: 11px; border-radius: 1px; background: linear-gradient(135deg, #fff6cf, #d8b05a 50%, #9c7a34); opacity: .9;
  animation: fx-fall var(--dur, 12s) linear var(--delay, 0s) infinite, fx-sway var(--sway, 3.2s) ease-in-out var(--delay, 0s) infinite alternate, fx-flash 1.4s ease-in-out infinite alternate; }
.fx[data-fx="glitter"] i:nth-child(3n) { width: 6px; height: 6px; border-radius: 50%; }
.fx[data-fx="glitter"] i:nth-child(4n) { background: linear-gradient(135deg, #fff, #e7c9d2 60%, #c79aa8); }
.fx[data-fx="stars"] i { width: 14px; height: 14px; background: #e9c46c;
  -webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M10 0C11 7 13 9 20 10 13 11 11 13 10 20 9 13 7 11 0 10 7 9 9 7 10 0Z'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M10 0C11 7 13 9 20 10 13 11 11 13 10 20 9 13 7 11 0 10 7 9 9 7 10 0Z'/></svg>") center / contain no-repeat;
  animation: fx-fall calc(var(--dur, 12s) * 1.5) linear var(--delay, 0s) infinite, fx-sway var(--sway, 3.2s) ease-in-out var(--delay, 0s) infinite alternate, fx-flash 1.8s ease-in-out infinite alternate; }
.fx[data-fx="stars"] i:nth-child(odd) { background: #fff3cf; }
@keyframes fx-flash { from { opacity: .35; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .dr { stroke-dashoffset: 0 !important; } }
html[data-theme] body.wd :is(.eyebrow, .role, .ev-k, .dl-wd, .ev-place, .house, .ic-greet) { font-size: .875rem; letter-spacing: min(.14em, 2px); }
html[data-theme] body.wd .countdown span { font-size: .875rem; letter-spacing: .06em; }
html[data-theme] body.wd .btn:not(.btn-sm) { font-size: 1rem; letter-spacing: .04em; min-height: 44px; }
html[data-theme] body.wd .cal-g b { font-size: .875rem; letter-spacing: 0; }
html[data-theme] body.wd .wd-foot .small { font-size: .9375rem; }
@media (min-width: 761px) {
  html[data-theme] body.wd :is(.wd-nav-l, .wd-nav-r) a { display: inline-flex; align-items: center; min-height: 44px; font-size: max(.875rem, 1em); white-space: nowrap; }
  html[data-theme] body.wd :is(.wd-nav-l, .wd-nav-r) { column-gap: clamp(12px, 1.6vw, 22px); } }
@media (min-width: 761px) and (max-width: 1100px) {
  html[data-theme] body.wd :is(.wd-nav-l, .wd-nav-r) a { letter-spacing: .04em; }
  html[data-theme] body.wd .wd-nav { padding-left: 14px; padding-right: 14px; column-gap: 10px; } }
html[data-theme] body.wd .ev-card .ev-ics { margin-top: 10px; }
@media (max-width: 400px) {
  html[data-theme] body.wd .countdown { gap: 6px; width: 100%; justify-content: center; }
  html[data-theme] body.wd .countdown div { width: auto; min-width: 0; max-width: 84px; flex: 1 1 0; padding-left: 2px; padding-right: 2px; }
  html[data-theme] body.wd .countdown b { font-size: 1.6rem; }
  html[data-theme] body.wd .event-row { grid-template-columns: minmax(0, 1fr); }
  html[data-theme] body.wd .event-card { min-width: 0; max-width: 100%; box-sizing: border-box; }
  html[data-theme] body.wd .cal-g { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
