/* invite-blocks.css - invite-blocks.js 섹션들의 모양. 에디터 미리보기와 공개페이지가 같은 파일을 쓴다.
   색은 청첩장 스킨 변수(--p-ink, --p-accent, --p-line, --p-muted, --p-bg)만 써서 어떤 디자인에도 어울리게 한다. */

.ib-block { line-height: 1.6; color: var(--p-ink); padding: 26px 0; text-align: center; }
.ib-title { font-family: var(--p-head-font); font-weight: var(--p-head-weight, 600); font-size: 18px; margin: 0 0 18px; letter-spacing: .02em; }
/* 히어로 사진 가로 100% (invite-blocks.js heroPhotoHtml) - 줄의 좌우 여백 24px만큼 바깥으로 */
.hero-photo-wrap.hero-full-wrap { padding: 0 !important; margin: 0 -24px 8px; }
.hero-photo.hero-full { display: block; width: 100%; border-radius: 0; object-fit: cover; }
.hero-photo.hero-full.ratio-auto { height: auto; }
.hero-photo.hero-full.ratio-screen { height: 100vh; height: 100svh; }
.row-flex .col:has(> .blk-hero > .hero-full-wrap) { padding-top: 0; }
/* 섹션 제목 레이어 - 정해진 높이의 칸 안에서 x·y(%)로 위치 (invite-blocks.js titleLayer) */
.ib-title-canvas { position: relative; width: 100%; margin: 0 0 4px; }
.ib-title-canvas > .ib-title-layer { position: absolute; z-index: 5; margin: 0 !important; padding: 4px 6px; text-align: center; line-height: 1.4; white-space: pre-line; max-width: none; }
.ib-empty { font-size: 12.5px; color: var(--p-muted); border: 1px dashed var(--p-line); border-radius: 10px; padding: 18px 12px; margin: 0; }
.ib-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%;
    border: 1px solid var(--p-line); color: var(--p-accent); text-decoration: none; font-size: 15px; background: #fff; }
.ib-icon-btn:active { transform: scale(.94); }
.ib-link-btn { display: inline-block; margin-top: 10px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--p-accent);
    color: var(--p-accent); text-decoration: none; font-size: 12.5px; }

/* 연락하기 */
.ib-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ib-contact-side { border: 1px solid var(--p-line); border-radius: 12px; padding: 6px 12px; background: color-mix(in srgb, var(--p-bg) 70%, #fff); }
.ib-contact-row { display: flex; align-items: center; gap: 6px; padding: 8px 0; }
.ib-contact-row + .ib-contact-row { border-top: 1px dashed var(--p-line); }
.ib-contact-who { flex: 1; min-width: 0; text-align: left; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-contact-side .ib-icon-btn { width: 30px; height: 30px; font-size: 13px; }
@container invite (max-width: 330px) { .ib-contact-grid { grid-template-columns: 1fr; } }
/* ---- 연락하기 디자인 (contactStyle) ----
   페이지에 자연스럽게 묻어가도록 색은 글자색(currentColor)을 옅게 쓴 가는 선 위주. 섹션 "안쪽 창 색"을 정했으면 기본은 그 색을 따름 */
.ib-contact .ib-icon-btn i { display: grid; place-items: center; }
.ib-contact .ib-icon-btn svg { width: 1.05em; height: 1.05em; display: block; }
.ib-contact .ib-icon-btn b { display: none; font-weight: 400; }
.ib-contact-h { display: none; margin: 2px 0 6px; font-size: 10.5px; font-weight: 500; letter-spacing: .3em; text-align: center; color: color-mix(in srgb, currentColor 52%, transparent); }
/* 미니멀: 상자 없이 가는 밑줄, 버튼은 아이콘만 (글자색도 본문 색) */
.ib-contact.ib-cs-line .ib-contact-side { border: 0; border-radius: 0; background: transparent !important; color: inherit !important; padding: 0 2px; }
.ib-cs-line .ib-contact-row { border-top: 0 !important; border-bottom: 1px solid var(--p-line); padding: 10px 0; }
.ib-cs-line .ib-icon-btn { border: 0; background: transparent; width: 28px !important; height: 28px !important; font-size: 15px !important; }
/* 파스텔: 신랑측 하늘색 · 신부측 분홍 */
.ib-contact.ib-cs-soft .ib-contact-side { border: 0; border-radius: 16px; color: #3A332E !important; }
.ib-contact.ib-cs-soft .ib-groom { background: #EDF2FA !important; }
.ib-contact.ib-cs-soft .ib-bride { background: #FBEEF1 !important; }
.ib-contact.ib-cs-soft .ib-contact-list { background: transparent !important; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ib-cs-soft .ib-contact-list .ib-contact-row { border-radius: 12px; padding: 8px 12px; border-top: 0; }
.ib-cs-soft .ib-contact-list .ib-cr-g { background: #EDF2FA; }
.ib-cs-soft .ib-contact-list .ib-cr-b { background: #FBEEF1; }
.ib-cs-soft .ib-icon-btn { border: 0; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
/* 라인 상자: 채우지 않은 가는 테두리 상자 + 자간 넓은 '신랑측' 머리말, 버튼도 가는 테 */
.ib-contact.ib-cs-outline .ib-contact-side { background: transparent !important; color: inherit !important; border: 1px solid color-mix(in srgb, currentColor 16%, transparent); border-radius: 2px; padding: 12px 16px 8px; }
.ib-cs-outline .ib-contact-h { display: block; }
.ib-cs-outline .ib-contact-row + .ib-contact-row { border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent); }
.ib-cs-outline .ib-icon-btn { background: transparent; color: inherit; border-color: color-mix(in srgb, currentColor 22%, transparent); }
/* 가운데 정렬: 상자 없음 · 이름 아래 '전화 · 문자' 작은 글자 링크 · 사람 사이 짧은 선 · 두 측 사이 세로 실선 */
.ib-contact.ib-cs-center .ib-contact-side { background: transparent !important; color: inherit !important; border: 0; border-radius: 0; padding: 0 4px; }
.ib-cs-center .ib-contact-grid { gap: 0; }
.ib-cs-center .ib-contact-grid > .ib-contact-side + .ib-contact-side { border-left: 1px solid color-mix(in srgb, currentColor 10%, transparent); }
.ib-cs-center .ib-contact-h { display: block; margin-bottom: 2px; }
.ib-cs-center .ib-contact-row { position: relative; flex-wrap: wrap; justify-content: center; gap: 0 16px; padding: 12px 0 10px; }
.ib-cs-center .ib-contact-row + .ib-contact-row { border-top: 0; }
.ib-cs-center .ib-contact-row + .ib-contact-row::before { content: ''; position: absolute; top: 0; left: 50%; width: 16px; margin-left: -8px; height: 1px; background: color-mix(in srgb, currentColor 22%, transparent); }
.ib-cs-center .ib-contact-who { flex-basis: 100%; text-align: center; font-size: 13.5px; margin-bottom: 5px; }
.ib-cs-center .ib-icon-btn { width: auto !important; height: auto !important; border: 0; border-radius: 0; background: transparent; gap: 4px; padding: 2px 0; font-size: 11px !important; letter-spacing: .08em; color: color-mix(in srgb, currentColor 62%, transparent); }
.ib-cs-center .ib-icon-btn b { display: inline; }
.ib-cs-center .ib-icon-btn svg { width: 12px; height: 12px; }
/* 캡슐 버튼: 상자 없음 · 전화|문자를 붙인 가는 캡슐 하나 · 머리말 아래 가는 선 */
.ib-contact.ib-cs-capsule .ib-contact-side { background: transparent !important; color: inherit !important; border: 0; border-radius: 0; padding: 0 2px; }
.ib-cs-capsule .ib-contact-h { display: block; text-align: left; padding-bottom: 8px; margin-bottom: 2px; border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.ib-cs-capsule .ib-contact-row { gap: 0; padding: 9px 0; }
.ib-cs-capsule .ib-contact-row + .ib-contact-row { border-top: 0; }
.ib-cs-capsule .ib-contact-who { font-size: 13px; padding-right: 8px; }
.ib-cs-capsule .ib-icon-btn { width: 34px !important; height: 28px !important; background: transparent; color: inherit; border: 1px solid color-mix(in srgb, currentColor 20%, transparent); border-radius: 999px 0 0 999px; font-size: 13px !important; }
.ib-cs-capsule .ib-icon-btn + .ib-icon-btn { border-radius: 0 999px 999px 0; margin-left: -1px; }
/* 빈티지 큐피드: 디데이 '빈티지 큐피드' 달력과 같은 그림(cal-vintage.webp)에서 큐피드·비둘기를 잘라 상자 양쪽 위 모서리에 앉힘. 상자는 양피지 + 금테 */
.ib-cs-vintage .ib-contact-grid, .ib-cs-vintage .ib-contact-list { position: relative; margin-top: 38px; }
.ib-cs-vintage .ib-contact-grid::before, .ib-cs-vintage .ib-contact-grid::after, .ib-cs-vintage .ib-contact-list::before, .ib-cs-vintage .ib-contact-list::after {
    content: ''; position: absolute; z-index: 3; pointer-events: none; background: url('cal-vintage.webp') no-repeat; }
.ib-cs-vintage .ib-contact-grid::before, .ib-cs-vintage .ib-contact-list::before { left: -14px; top: -52px; width: 80px; height: 67px; background-size: 259px 173px; background-position: -6px -4px; }
.ib-cs-vintage .ib-contact-grid::after, .ib-cs-vintage .ib-contact-list::after { right: -10px; top: -46px; width: 72px; height: 59px; background-size: 262px 175px; background-position: -185px -2px; }
.ib-contact.ib-cs-vintage .ib-contact-side { background: #FBF5E8 !important; color: #4A3A2A !important; border: 1px solid #CDB27A; border-radius: 6px; padding: 8px 14px;
    box-shadow: inset 0 0 0 3px #FBF5E8, inset 0 0 0 4px rgba(205,178,122,.55), 0 2px 10px rgba(120,90,50,.08); font-family: 'Gowun Batang', 'Nanum Myeongjo', 'Noto Serif KR', serif; }
.ib-cs-vintage .ib-contact-row + .ib-contact-row { border-top: 1px dotted #CDB27A; }
.ib-cs-vintage .ib-icon-btn { background: #FFFDF8; border-color: #DDB0AE; color: #A4524F; }
.ib-cs-vintage .ib-contact-h { display: block; text-align: center; color: #A4524F; letter-spacing: .14em; font-family: inherit; }
.ib-cs-vintage .ib-contact-h::before, .ib-cs-vintage .ib-contact-h::after { content: '❦'; margin: 0 6px; font-size: 10px; color: #CDB27A; }

/* 프로필형 소개 */
.ib-profile { display: grid; gap: 14px; padding-top: 26px; }
.ib-profile-row { grid-template-columns: 1fr 1fr; }
.ib-profile-col { grid-template-columns: 1fr; }
.ib-profile-card { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ib-profile-col .ib-profile-card { flex-direction: row; text-align: left; align-items: center; gap: 16px; }
.ib-profile-col .ib-profile-card.ib-bride { flex-direction: row-reverse; text-align: right; }
.ib-profile-photo { width: 100%; max-width: 170px; aspect-ratio: 3/4; border-radius: 14px; overflow: hidden; background: var(--p-line);
    display: flex; align-items: center; justify-content: center; color: var(--p-muted); font-size: 12px; flex: none; }
.ib-profile-col .ib-profile-photo { width: 42%; }
.ib-profile-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ib-profile-label { display: block; font-size: 11px; letter-spacing: .15em; color: var(--p-accent); }
.ib-profile-body strong { display: block; font-family: var(--p-head-font); font-size: 17px; margin: 2px 0 6px; }
.ib-profile-body p { margin: 0; font-size: 13px; color: var(--p-muted); }

/* 손편지 */
.ib-letter-photo img { width: 72%; display: block; margin: 0 auto 16px; border-radius: 4px; box-shadow: 0 6px 16px rgba(0,0,0,.12); transform: rotate(-2deg); }
.ib-paper { position: relative; margin: 0 auto; width: 92%; padding: 30px 24px; line-height: 1.9; text-align: left; color: #3a3530; box-sizing: border-box;
    background-color: var(--paper, #FAFAF7); border-radius: 4px; box-shadow: 0 8px 22px rgba(0,0,0,.08); --ps: 1; }
/* 무늬는 배경 패턴 - --ps(무늬 크기, 에디터 "무늬 크기" 50~400%)로 크기가 바뀐다 */
.ib-paper-cotton { background-image: radial-gradient(rgba(0,0,0,.035) 1px, transparent 1px); background-size: calc(5px * var(--ps)) calc(5px * var(--ps)); }
.ib-paper-white { background-color: #fff; }
.ib-paper-ivory { background-color: #FBF6EA; background-image: linear-gradient(to bottom, transparent calc(100% - 1px), rgba(160,130,90,.16) calc(100% - 1px)); background-size: 100% calc(32px * var(--ps)); }
.ib-paper-kraft { background-color: #D9C4A3; background-image: radial-gradient(rgba(90,60,30,.12) 1px, transparent 1.4px); background-size: calc(6px * var(--ps)) calc(6px * var(--ps)); color: #3b2e20; }
.ib-paper-grid { background-image: linear-gradient(rgba(90,120,160,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(90,120,160,.13) 1px, transparent 1px); background-size: calc(18px * var(--ps)) calc(18px * var(--ps)); }
.ib-paper-linen { background-image: repeating-linear-gradient(0deg, rgba(110,90,60,.05) 0 1px, transparent 1px calc(3px * var(--ps))), repeating-linear-gradient(90deg, rgba(110,90,60,.045) 0 1px, transparent 1px calc(4px * var(--ps))); }
.ib-paper-dot { background-image: radial-gradient(rgba(120,100,80,.2) 1.2px, transparent 1.6px); background-size: calc(16px * var(--ps)) calc(16px * var(--ps)); }
/* 종이 가로 100% - 섹션 좌우 여백(24px)까지 꽉 */
.ib-paper.ib-paper-full { width: calc(100% + 48px); margin: 0 -24px; border-radius: 0; box-shadow: none; }
.ib-letter-text { line-height: 1.9; color: inherit; font-family: inherit; }
.ib-paper > .ib-title-layer { white-space: normal; }

/* 영상 */
.ib-video { position: relative; width: 100%; aspect-ratio: 16/9; border-radius: 12px; overflow: hidden; background: #000; }
.ib-video.full-width { width: calc(100% + 48px) !important; margin-left: -24px !important; margin-right: -24px !important; } /* 지도처럼 좌우 여백 없이 (섹션 안쪽 여백 24px만큼 바깥으로) */
.ib-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ib-video.ib-video-empty { background: repeating-linear-gradient(135deg, #2B2B2B 0 12px, #333 12px 24px); display: grid; place-items: center; }
.ib-video.ib-video-empty span { color: rgba(255,255,255,.75); font-size: 12px; padding: 0 12px; text-align: center; }

/* 교통수단 */
.ib-transport-item { display: flex; gap: 12px; text-align: left; padding: 12px 0; }
.ib-transport-item + .ib-transport-item { border-top: 1px solid var(--p-line); }
.ib-transport-ico { font-size: 20px; width: 28px; text-align: center; flex: none; }
.ib-transport-item strong { font-size: 14px; }
.ib-transport-item p { margin: 2px 0 0; font-size: 13px; color: var(--p-muted); }

/* 안내문 */
.ib-notice-item { margin-top: 12px; overflow: hidden; }
.ib-notice-card .ib-notice-item { border-radius: 14px; background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.06); border: 1px solid var(--p-line); }
.ib-notice-card .ib-notice-item img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.ib-notice-box .ib-notice-item { border: 1px solid var(--p-line); border-radius: 6px; }
.ib-notice-body { padding: 16px 18px; }
.ib-notice-body strong { display: block; font-size: 14.5px; margin-bottom: 6px; }
.ib-notice-body p { margin: 0; font-size: 13px; color: var(--p-muted); }

/* 함께한 시간 */
.ib-together-cap { margin: 0; font-size: 13px; color: var(--p-muted); }
.ib-together-days { font-family: var(--p-head-font); font-size: 16px; margin: 6px 0; }
.ib-together-days span { font-size: 40px; color: var(--p-accent); font-weight: 700; margin-right: 4px; letter-spacing: .02em; }
.ib-together-date { margin: 0; font-size: 12px; color: var(--p-muted); letter-spacing: .08em; }

/* 엔딩 */
.ib-ending { position: relative; display: flex; flex-direction: column; aspect-ratio: 3/4; padding: 0; overflow: hidden; border-radius: 4px; }
.ib-ending img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ib-ending-shade { position: absolute; inset: 0; }
.ib-ending p { position: relative; margin: 0; padding: 28px 22px; color: #fff; font-size: 15px; line-height: 1.8; text-shadow: 0 2px 10px rgba(0,0,0,.35); }
.ib-ending-noimg { aspect-ratio: auto; }
.ib-ending-noimg p { color: var(--p-ink); text-shadow: none; font-family: var(--p-head-font); }
/* 엔딩 크레딧 (스탭롤) - 화면 한 장 높이, 칸(.ib-cr-win) 안에서만 천천히 올라감 */
.ib-ending.ib-credits { aspect-ratio: auto; height: 100vh; height: 100svh; border-radius: 0; background: #1E1B19; width: calc(100% + 48px); margin: 0 -24px; } /* 화면 끝까지 (섹션 안쪽 여백 24px만큼 바깥으로) */
.ib-ending.ib-credits-noimg { background: transparent; } /* 사진이 없으면 청첩장 바탕(종이 질감·섹션 꾸밈)이 그대로 보이게 - 예전엔 단색으로 덮었음 */
.ib-cr-win { position: absolute; left: 11%; right: 8%; overflow: hidden; z-index: 1;
    -webkit-mask-image: linear-gradient(transparent, #000 16%, #000 84%, transparent); mask-image: linear-gradient(transparent, #000 16%, #000 84%, transparent); }
.ib-cr-roll { animation: ibCrRoll 45s linear infinite; will-change: transform; }
.ib-cr-list { padding: 2px 0 34px; }
.ib-cr-row { text-align: left; display: grid; grid-template-columns: minmax(7.5em, 40%) 1fr; column-gap: 1em; align-items: baseline; padding: 11px 0; color: #fff; font-family: var(--p-body-font); font-size: 13px; line-height: 1.5; letter-spacing: .01em; text-shadow: 0 1px 8px rgba(0,0,0,.25); }
.ib-cr-row b { font-weight: 500; } .ib-cr-row span { font-weight: 300; opacity: .72; word-break: keep-all; }
.ib-cr-center .ib-cr-row { grid-template-columns: 1fr; text-align: center; row-gap: 3px; padding: 10px 0; }
.ib-credits-noimg .ib-cr-row { color: var(--p-ink); text-shadow: none; }
.ib-credits > p.ib-cr-text { z-index: 2; padding: 26px 22px 38px; text-align: center; } /* 크레딧과 함께 보이는 글귀 (위 또는 아래) */
.ib-credits-noimg > p.ib-cr-text { color: var(--p-ink); text-shadow: none; font-family: var(--p-head-font); }
@keyframes ibCrRoll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@media (prefers-reduced-motion: reduce) { .ib-cr-roll { animation: none; } .ib-cr-list[aria-hidden] { display: none; } .ib-cr-win { overflow-y: auto; } }

/* 혼주 소개 */
.ib-family { padding: 22px 0; }
.ib-family-line { margin: 8px 0; font-size: 14.5px; line-height: 1.8; }
.ib-family-parents { color: var(--p-ink); }
.ib-family-rel { color: var(--p-muted); font-size: 13px; margin: 0 6px 0 2px; }
.ib-family-line strong { font-family: var(--p-head-font); font-size: 16px; font-weight: 700; }
.ib-deceased { font-size: .82em; margin-right: 2px; color: var(--p-muted); }
.ib-deceased.ib-flower { filter: grayscale(1); opacity: .75; }

/* 장식 효과 (위치 박스 .ambient-field는 에디터·공개페이지 각자의 CSS가 잡는다 - 화면 전체에 고정)
   --H = 효과가 지나가는 높이: 화면 전체면 화면 높이, 첫 화면에만이면 그 섹션 높이 */
.ambient-field { --H: 100vh; }
.ambient-field.ib-amb-local { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: auto; max-width: none; height: auto; transform: none; z-index: 6; overflow: hidden; pointer-events: none; }
@supports (height: 1cqh) { .ambient-field.ib-amb-local { container-type: size; --H: 100cqh; } }
.ambient-field.ib-amb-rise span { top: auto; bottom: -5%; animation-name: ibRise; animation-timing-function: linear; animation-iteration-count: infinite; }
.ambient-field.ib-amb-fall span { top: -6%; bottom: auto; animation-name: ibFall; animation-timing-function: linear; animation-iteration-count: infinite; }
.ib-confetti { position: absolute; border-radius: 1px; }
/* 3D 회전 (하트·꽃잎·벚꽃·나뭇잎·낙엽·눈·컨페티·선샤인·별·데이지): 바깥 span = 좌우로 흔들리며 이동, 안쪽 i = 그림이 앞뒤로 뒤집히며 회전 */
.ambient-field.ib-amb-3d span.ib-a3d { top: -6%; bottom: auto; animation-name: ibFall3d; animation-timing-function: linear; animation-iteration-count: infinite; will-change: transform; }
.ambient-field.ib-amb-3d.ib-dir-up span.ib-a3d { top: auto; bottom: -6%; animation-name: ibRise3d; }
.ambient-field.ib-amb-3d span.ib-a3d > i { display: block; background: no-repeat center / contain; animation-timing-function: linear; animation-iteration-count: infinite; backface-visibility: visible; will-change: transform; }
.ambient-sunshine span.ib-a3d > i { filter: drop-shadow(0 0 6px rgba(245,197,66,.55)); }
.ambient-stars span.ib-a3d > i { filter: drop-shadow(0 0 3px rgba(242,193,78,.5)); }
.ambient-snow span.ib-a3d > i { filter: drop-shadow(0 0 2px rgba(120,140,170,.45)); }
.ambient-snowflake span.ib-a3d > i { filter: drop-shadow(0 0 1.5px rgba(80,110,150,.6)); } /* 밝은 바탕에서도 결정이 보이게 */
@keyframes ibFall3d {
    0% { transform: translate(0, 0); opacity: 0; }
    6% { opacity: .95; }
    25% { transform: translate(calc(var(--sway, 0px) * .7), calc(var(--H) * .28)); }
    50% { transform: translate(calc(var(--sway, 0px) * -.5), calc(var(--H) * .56)); }
    75% { transform: translate(var(--sway, 0px), calc(var(--H) * .84)); }
    92% { opacity: .85; }
    100% { transform: translate(calc(var(--sway, 0px) * .2), calc(var(--H) * 1.12)); opacity: 0; }
}
@keyframes ibRise3d {
    0% { transform: translate(0, 0); opacity: 0; }
    8% { opacity: .9; }
    25% { transform: translate(calc(var(--sway, 0px) * .7), calc(var(--H) * -.28)); }
    50% { transform: translate(calc(var(--sway, 0px) * -.5), calc(var(--H) * -.56)); }
    75% { transform: translate(var(--sway, 0px), calc(var(--H) * -.84)); }
    90% { opacity: .75; }
    100% { transform: translate(calc(var(--sway, 0px) * .2), calc(var(--H) * -1.12)); opacity: 0; }
}
@keyframes ibTumble1 { from { transform: perspective(260px) rotateX(0) rotateY(0) rotateZ(0); } to { transform: perspective(260px) rotateX(360deg) rotateY(180deg) rotateZ(120deg); } }
@keyframes ibTumble2 { from { transform: perspective(260px) rotateY(0) rotateZ(0) rotateX(20deg); } to { transform: perspective(260px) rotateY(360deg) rotateZ(-200deg) rotateX(380deg); } }
@keyframes ibTumble3 { from { transform: perspective(260px) rotate3d(1, .4, .2, 0deg); } to { transform: perspective(260px) rotate3d(1, .4, .2, 360deg); } }
/* 반짝임: 천천히 흘러가며 제자리에서 반짝 */
.ambient-field.ib-amb-spark span.ib-sp { top: -4%; bottom: auto; animation-name: ibDrift; animation-timing-function: linear; animation-iteration-count: infinite; }
.ambient-field.ib-amb-spark.ib-dir-up span.ib-sp { top: auto; bottom: -4%; animation-name: ibDriftUp; }
.ambient-field.ib-amb-spark span.ib-sp > i { display: block; background: no-repeat center / contain; animation: ibTwinkle ease-in-out infinite; filter: drop-shadow(0 0 4px rgba(255,236,170,.8)); }
@keyframes ibDrift { 0% { transform: translate(0, 0); opacity: 0; } 8%, 88% { opacity: 1; } 100% { transform: translate(var(--sway, 0px), calc(var(--H) * 1.08)); opacity: 0; } }
@keyframes ibDriftUp { 0% { transform: translate(0, 0); opacity: 0; } 8%, 88% { opacity: 1; } 100% { transform: translate(var(--sway, 0px), calc(var(--H) * -1.08)); opacity: 0; } }
@keyframes ibTwinkle { 0%, 100% { transform: scale(.25) rotate(0deg); opacity: .2; } 45% { transform: scale(1) rotate(35deg); opacity: 1; } 60% { transform: scale(.85) rotate(45deg); opacity: .9; } }
/* 선샤인: 반짝임과 같은 흐름이지만 더 크고 느리게 숨 쉬듯 (3D 회전 없음) */
.ambient-field.ib-amb-sun span.ib-sp > i { animation-name: ibSunBreath; filter: drop-shadow(0 0 8px rgba(255,214,120,.55)); }
@keyframes ibSunBreath { 0%, 100% { transform: scale(.55) rotate(0deg); opacity: .25; } 50% { transform: scale(1) rotate(25deg); opacity: .95; } }
/* 빗방울: 살짝 비스듬히 빠르게 떨어지는 가는 빗줄기 */
.ambient-field.ib-amb-rain span.ib-rn { top: -8%; bottom: auto; opacity: 1; animation: ibRain linear infinite; }
.ambient-field.ib-amb-rain span.ib-rn > i { display: block; border-radius: 1px; transform: rotate(10deg); background: linear-gradient(rgba(214,228,242,0), rgba(214,228,242,.9) 70%, rgba(255,255,255,.95)); box-shadow: 0 0 1px rgba(80,100,130,.55); }
@keyframes ibRain { from { transform: translate(0, 0); } to { transform: translate(calc(var(--H) * -.2), calc(var(--H) * 1.15)); } }
/* 선셋: 위쪽에서 따뜻한 빛이 가끔 은은하게 번지고 빛줄기가 비췄다 사라짐 */
.ambient-field.ib-amb-sunset span { position: absolute; bottom: auto; opacity: 0; pointer-events: none; }
.ambient-field.ib-amb-sunset span.ib-ss-glow { left: -20%; right: -20%; top: -18%; height: 62%; width: auto; background: radial-gradient(ellipse at 50% 0%, rgba(255,196,128,.45) 0%, rgba(255,170,110,.22) 38%, rgba(255,160,100,0) 70%); animation: ibSunsetGlow 14s ease-in-out infinite; }
.ambient-field.ib-amb-sunset span.ib-ss-ray { top: -6%; height: 78%; transform-origin: 50% 0; transform: rotate(var(--rot, 15deg)); background: linear-gradient(rgba(255,226,178,.38), rgba(255,214,160,.12) 55%, rgba(255,214,160,0)); filter: blur(8px); animation: ibSunsetRay 14s ease-in-out infinite; }
@keyframes ibSunsetGlow { 0%, 100% { opacity: 0; } 25% { opacity: .95; } 48% { opacity: .8; } 68% { opacity: 0; } }
@keyframes ibSunsetRay { 0%, 12%, 100% { opacity: 0; transform: rotate(var(--rot, 15deg)) translateX(-14px); } 32% { opacity: .9; } 55% { opacity: .55; transform: rotate(calc(var(--rot, 15deg) + 4deg)) translateX(10px); } 70% { opacity: 0; } }
/* 화면 고정 (effects.ambientDir = 'still'): 흘러가지 않고 화면 곳곳 제자리에서 살랑살랑 떠 있음 */
.ambient-field.ib-dir-still span.ib-a3d, .ambient-field.ib-dir-still span.ib-sp, .ambient-field.ib-dir-still span.ib-bk { top: var(--t, 40%) !important; bottom: auto !important; animation-name: ibStill !important; animation-timing-function: ease-in-out !important; animation-direction: alternate !important; animation-duration: 6.5s !important; }
@keyframes ibStill { 0% { transform: translate(0, 0); opacity: .9; } 50% { transform: translate(calc(var(--sway, 0px) * .3), -12px); opacity: 1; } 100% { transform: translate(calc(var(--sway, 0px) * -.25), 8px); opacity: .85; } }
/* 불꽃놀이: 꼬리(i)가 아래에서 솟아(0~24%) 터진 자리에서 알갱이(b)가 퍼지고(25~62%) 아래로 흘러내리며 사라짐 */
.ambient-field.ib-amb-fw span.ib-fw { position: absolute; bottom: auto; width: 0; height: 0; opacity: 1; animation: none; }
.ambient-field.ib-amb-fw span.ib-fw > i { position: absolute; left: -1px; top: 0; width: 2px; height: 34px; border-radius: 2px; opacity: 0; filter: blur(.3px); animation: ibFwTrail var(--d, 5s) linear infinite; animation-delay: var(--dl, 0s); }
.ambient-field.ib-amb-fw span.ib-fw > b { position: absolute; left: -2px; top: -2px; width: 4px; height: 4px; border-radius: 50%; opacity: 0; filter: drop-shadow(0 0 3px rgba(255,240,200,.95)); animation: ibFwBurst var(--d, 5s) cubic-bezier(.2, .7, .3, 1) infinite; animation-delay: var(--dl, 0s); }
@keyframes ibFwTrail { 0% { transform: translateY(var(--rise, 200px)); opacity: 0; } 3% { opacity: .95; } 23% { transform: translateY(0); opacity: .9; } 25%, 100% { transform: translateY(0); opacity: 0; } }
@keyframes ibFwBurst { 0%, 24% { transform: translate(0, 0) scale(.3); opacity: 0; } 26% { opacity: 1; } 46% { transform: translate(var(--dx), var(--dy)) scale(1); opacity: .95; } 64% { transform: translate(calc(var(--dx) * 1.06), calc(var(--dy) + 22px)) scale(.7); opacity: 0; } 100% { opacity: 0; } }
/* 폭죽: 아래 모서리에서 색종이가 솟았다(0~22%) 뒤집히며 흩날려 떨어짐 (rotateX·Y = 3D) */
.ambient-field.ib-amb-pp { perspective: 500px; }
.ambient-field.ib-amb-pp span.ib-pp { position: absolute; top: auto; bottom: 4%; width: 0; height: 0; opacity: 1; animation: none; }
.ambient-field.ib-amb-pp span.ib-pp.l { left: 6%; } .ambient-field.ib-amb-pp span.ib-pp.r { left: auto; right: 6%; }
.ambient-field.ib-amb-pp span.ib-pp > b { position: absolute; left: 0; top: 0; border-radius: 1.5px; opacity: 0; animation: ibPop 6.4s cubic-bezier(.15, .75, .35, 1) infinite; animation-delay: var(--dl, 0s); }
@keyframes ibPop { 0% { transform: translate(0, 0) rotateX(0) rotateY(0); opacity: 0; } 2% { opacity: 1; } 22% { transform: translate(var(--dx), var(--dy)) rotateX(calc(var(--rx) * .4)) rotateY(calc(var(--ry) * .4)); opacity: 1; } 62% { transform: translate(var(--fx), calc(var(--dy) + 190px)) rotateX(var(--rx)) rotateY(var(--ry)); opacity: .85; } 72%, 100% { transform: translate(var(--fx), calc(var(--dy) + 240px)) rotateX(var(--rx)) rotateY(var(--ry)); opacity: 0; } }
/* 별똥별: 빛꼬리 휙 (한 번 지나가고 한참 쉼) + 작은 별 반짝 */
.ambient-field.ib-amb-mt span.ib-mt { position: absolute; bottom: auto; height: 2px; opacity: 0; border-radius: 2px; background: linear-gradient(90deg, rgba(255,250,235,1), rgba(255,244,214,.55) 25%, rgba(255,244,214,0)); transform-origin: 0 50%; filter: drop-shadow(0 0 3px rgba(255,244,214,.8)); animation: ibMeteor var(--d, 7s) ease-out infinite; animation-delay: var(--dl, 0s); }
.ambient-field.ib-amb-mt span.ib-mt::before { content: ''; position: absolute; left: -2px; top: -2px; width: 6px; height: 6px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px 2px rgba(255,248,225,.9); }
@keyframes ibMeteor { 0% { transform: rotate(-32deg) translateX(0) scaleX(.3); opacity: 0; } 2% { opacity: 1; } 12% { transform: rotate(-32deg) translateX(-240px) scaleX(1); opacity: .9; } 16%, 100% { transform: rotate(-32deg) translateX(-300px) scaleX(.6); opacity: 0; } }
.ambient-field.ib-amb-mt span.ib-mt { transform: rotate(-32deg); }
.ambient-field.ib-amb-mt span.ib-tw { position: absolute; bottom: auto; width: var(--z, 2px); height: var(--z, 2px); border-radius: 50%; background: #FFF8E4; box-shadow: 0 0 4px rgba(255,248,228,.9); opacity: 0; animation: ibTw var(--d, 3s) ease-in-out infinite; animation-delay: var(--dl, 0s); }
@keyframes ibTw { 0%, 100% { opacity: .1; } 50% { opacity: .85; } }
/* 빛망울: 초점이 나간 연한 아이보리 빛 (깊이 = translateZ, 부모의 perspective로 멀고 가까움) */
.ambient-field.ib-amb-bokeh { perspective: 600px; }
.ambient-field.ib-amb-bokeh span.ib-bk { top: -16%; bottom: auto; animation-name: ibBokehDown; animation-timing-function: linear; animation-iteration-count: infinite; transform-style: preserve-3d; will-change: transform; }
.ambient-field.ib-amb-bokeh.ib-dir-up span.ib-bk { top: auto; bottom: -16%; animation-name: ibBokehUp; }
.ambient-field.ib-amb-bokeh span.ib-bk > i { display: block; border-radius: 50%; background: radial-gradient(circle, rgba(255,249,234,.8) 0, rgba(255,245,224,.62) 50%, rgba(255,242,216,.85) 63%, rgba(255,238,208,0) 71%); animation: ibBreath ease-in-out infinite alternate; }
@keyframes ibBokehUp { 0% { transform: translate3d(0, 0, var(--z, 0px)); opacity: 0; } 12%, 85% { opacity: 1; } 100% { transform: translate3d(var(--sway, 0px), calc(var(--H) * -1.3), var(--z, 0px)); opacity: 0; } }
@keyframes ibBokehDown { 0% { transform: translate3d(0, 0, var(--z, 0px)); opacity: 0; } 12%, 85% { opacity: 1; } 100% { transform: translate3d(var(--sway, 0px), calc(var(--H) * 1.3), var(--z, 0px)); opacity: 0; } }
@keyframes ibBreath { from { transform: scale(.92); } to { transform: scale(1.12); } }
/* 플래시: 아주 짧고 연한 번쩍임 (가운데 빛 + 옆으로 퍼지는 빛줄기) - 눈부시지 않게 최대 진하기 --fo(0.3~0.55) */
.ambient-field.ib-amb-flash span.ib-fl { bottom: auto; opacity: 0; animation: ibFlash linear infinite; }
.ambient-field.ib-amb-flash span.ib-fl > i { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,252,1) 0, rgba(255,253,245,.75) 6%, rgba(255,250,236,.32) 20%, rgba(255,248,230,.1) 42%, rgba(255,248,230,0) 66%); }
.ambient-field.ib-amb-flash span.ib-fl > i::before, .ambient-field.ib-amb-flash span.ib-fl > i::after { content: ''; position: absolute; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%, -50%); }
.ambient-field.ib-amb-flash span.ib-fl > i::before { width: 120%; height: 3px; background: linear-gradient(90deg, rgba(255,252,242,0), rgba(255,252,242,.7) 50%, rgba(255,252,242,0)); }
.ambient-field.ib-amb-flash span.ib-fl > i::after { width: 3px; height: 54%; background: linear-gradient(rgba(255,252,242,0), rgba(255,252,242,.55) 50%, rgba(255,252,242,0)); }
@keyframes ibFlash {
    0%, 100% { opacity: 0; transform: scale(.45); }
    .8% { opacity: var(--fo, .45); transform: scale(1); }
    3.2% { opacity: calc(var(--fo, .45) * .35); transform: scale(1.12); }
    5.5% { opacity: 0; transform: scale(1.2); }
}
@media (prefers-reduced-motion: reduce) { .ambient-field.ib-amb-3d span, .ambient-field.ib-amb-spark span, .ambient-field.ib-amb-bokeh span, .ambient-field.ib-amb-flash span, .ambient-field.ib-amb-rain span, .ambient-field.ib-amb-sunset span, .ambient-field.ib-amb-fw span, .ambient-field.ib-amb-pp span, .ambient-field.ib-amb-mt span { animation: none; display: none; } }
@keyframes ibRise {
    0% { transform: translate(0, 0) rotate(0deg); opacity: 0; }
    10% { opacity: .6; } 90% { opacity: .45; }
    100% { transform: translate(var(--sway, 0px), calc(var(--H, 100vh) * -1.1)) rotate(30deg); opacity: 0; }
}
@keyframes ibFall {
    0% { transform: translate(0, 0) rotate(0deg); opacity: 0; }
    8% { opacity: .75; } 90% { opacity: .6; }
    100% { transform: translate(var(--sway, 0px), calc(var(--H, 100vh) * 1.12)) rotate(260deg); opacity: 0; }
}

/* 갤러리 모양 (grid=정사각은 기존 CSS 그대로) */
.blk-gallery .grid.ib-g-tall img { aspect-ratio: 3 / 4; }
.blk-gallery .grid.ib-g-collage { grid-template-columns: repeat(3, 1fr); }
.blk-gallery .grid.ib-g-collage img:nth-child(6n+1) { grid-column: span 2; grid-row: span 2; }
.blk-gallery .grid.ib-g-wide { grid-template-columns: repeat(2, 1fr); }
.blk-gallery .grid.ib-g-wide img { aspect-ratio: 4 / 3; }
.blk-gallery .grid.ib-g-wide img:nth-child(3n+1) { grid-column: span 2; aspect-ratio: 16 / 9; }
.blk-gallery .grid.ib-g-circle { grid-template-columns: repeat(3, 1fr); gap: 10px; }
.blk-gallery .grid.ib-g-circle img { border-radius: 50%; }
.blk-gallery .grid.ib-g-circle img:nth-child(2n) { transform: translateY(30%); }
.blk-gallery .grid.ib-g-circle { padding-bottom: 12%; }
.blk-gallery .grid.ib-g-slide { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.blk-gallery .grid.ib-g-slide::-webkit-scrollbar { display: none; }
.blk-gallery .grid.ib-g-slide img { flex: 0 0 86%; aspect-ratio: 3 / 4; scroll-snap-align: center; }
/* 넘기는 콜라주 (pages): 두 줄 높낮이 콜라주 한 장씩 옆으로 */
.blk-gallery .grid.ib-g-pages { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; grid-template-columns: none; }
.blk-gallery .grid.ib-g-pages::-webkit-scrollbar { display: none; }
.ib-g-pages .ib-gp-page { flex: 0 0 92%; aspect-ratio: 5 / 8; display: flex; gap: 6px; scroll-snap-align: start; min-width: 0; }
.ib-g-pages.one .ib-gp-page { flex-basis: 100%; }
.ib-g-pages .ib-gp-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.blk-gallery .grid.ib-g-pages img { flex: 1 1 0; min-height: 0; width: 100%; height: auto; aspect-ratio: auto; object-fit: cover; display: block; }
.ib-g-progress { height: 2px; background: var(--p-line); margin: 12px auto 0; width: 60%; overflow: hidden; border-radius: 2px; }
.ib-g-progress span { display: block; height: 100%; background: var(--p-accent); transition: transform .15s linear; }

/* 계좌번호 카드형 */
.ib-acc-note { margin: -6px 0 16px; font-size: 13px; color: var(--p-muted); }
.ib-acc-side { border: 1px solid var(--p-line); border-radius: 14px; background: #fff; margin-top: 12px; text-align: left; overflow: hidden; }
.ib-acc-side.ib-groom { border-top: 3px solid var(--groom-color, #8FA8D9); }
/* 카드형 '기본 카드': 신랑측 위 선은 남색 (테마의 신랑색과 상관없이) */
.ib-as-basic .ib-acc-side.ib-groom { border-top-color: #2E4372; }
.ib-acc-side.ib-bride { border-top: 3px solid var(--bride-color, #D98F9C); }
.ib-acc-head, .ib-acc-side summary { font-weight: 700; font-size: 14px; padding: 12px 16px; }
.ib-acc-side summary { cursor: pointer; list-style: none; position: relative; }
.ib-acc-side summary::-webkit-details-marker { display: none; }
.ib-acc-side summary::after { content: '⌄'; position: absolute; right: 16px; top: 8px; font-size: 16px; color: var(--p-muted); transition: transform .2s; }
.ib-acc-side[open] summary::after { transform: rotate(180deg); }
.ib-acc-row { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-top: 1px dashed var(--p-line); font-size: 13px; }
.ib-acc-who { flex: none; width: 44px; color: var(--p-muted); font-size: 12px; }
.ib-acc-val { flex: 1; min-width: 0; word-break: keep-all; }
.ib-copy-btn { flex: none; border: 1px solid var(--p-accent); color: var(--p-accent); background: #fff; border-radius: 999px; padding: 3px 10px; font-size: 11.5px; cursor: pointer; font-family: inherit; }
.ib-copy-btn:active { background: var(--p-accent); color: var(--p-on-accent, #fff); }
/* ---- 카드형 계좌 디자인 (accStyle) - 연락하기 디자인과 같은 결: 채우지 않고 글자색을 옅게 쓴 가는 선 ---- */
.ib-acc-wrap { position: relative; }
/* 미니멀: 상자 없음 · 자간 넓은 머리말 + 가는 밑줄 · 복사는 밑줄 글자 */
.ib-accounts.ib-as-line .ib-acc-side { border: 0 !important; border-radius: 0; background: transparent !important; color: inherit !important; margin-top: 20px; overflow: visible; }
.ib-as-line .ib-acc-head, .ib-as-line .ib-acc-side summary { padding: 0 0 9px; font-size: 10.5px; font-weight: 500; letter-spacing: .3em; color: color-mix(in srgb, currentColor 55%, transparent); border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
.ib-as-line .ib-acc-side summary::after { right: 0; top: -5px; }
.ib-as-line .ib-acc-row { padding: 13px 2px; border-top: 0; border-bottom: 1px solid color-mix(in srgb, currentColor 8%, transparent); }
.ib-accounts.ib-as-line .ib-copy-btn, .ib-accounts.ib-as-center .ib-copy-btn { background: transparent !important; border: 0; border-radius: 0; padding: 2px 0; font-size: 11.5px; text-decoration: underline; text-underline-offset: 3px; color: color-mix(in srgb, currentColor 62%, transparent); }
.ib-as-line .ib-kakaopay, .ib-as-center .ib-kakaopay { margin: 10px 0 2px; }
/* 라인 상자: 채우지 않은 가는 테두리 + 가운데 자간 머리말 · 복사는 가는 테 알약 */
.ib-accounts.ib-as-outline .ib-acc-side { background: transparent !important; color: inherit !important; border: 1px solid color-mix(in srgb, currentColor 16%, transparent) !important; border-radius: 2px; }
.ib-as-outline .ib-acc-head, .ib-as-outline .ib-acc-side summary { text-align: center; font-size: 10.5px; font-weight: 500; letter-spacing: .3em; color: color-mix(in srgb, currentColor 55%, transparent); padding: 15px 16px 8px; }
.ib-as-outline .ib-acc-row { border-top: 1px solid color-mix(in srgb, currentColor 8%, transparent); }
.ib-accounts.ib-as-outline .ib-copy-btn { background: transparent !important; color: inherit; border: 1px solid color-mix(in srgb, currentColor 24%, transparent); }
/* 가운데 정렬: 상자 없음 · 누구 / 계좌 / 복사하기를 가운데로 쌓고 사이에 짧은 선 */
.ib-accounts.ib-as-center .ib-acc-side { background: transparent !important; color: inherit !important; border: 0 !important; border-radius: 0; text-align: center; margin-top: 22px; overflow: visible; position: relative; }
.ib-as-center .ib-acc-side + .ib-acc-side { padding-top: 22px; }
.ib-as-center .ib-acc-side + .ib-acc-side::before { content: ''; position: absolute; top: 0; left: 15%; right: 15%; height: 1px; background: color-mix(in srgb, currentColor 10%, transparent); }
.ib-as-center .ib-acc-head, .ib-as-center .ib-acc-side summary { text-align: center; font-size: 10.5px; font-weight: 500; letter-spacing: .3em; color: color-mix(in srgb, currentColor 55%, transparent); padding: 0 0 4px; }
.ib-as-center .ib-acc-side summary::after { position: static; display: inline-block; margin-left: 4px; font-size: 12px; }
.ib-as-center .ib-acc-row { position: relative; flex-direction: column; gap: 3px; border-top: 0; padding: 12px 0; }
.ib-as-center .ib-acc-row + .ib-acc-row::before { content: ''; position: absolute; top: 0; left: 50%; width: 16px; margin-left: -8px; height: 1px; background: color-mix(in srgb, currentColor 22%, transparent); }
.ib-as-center .ib-acc-who { width: auto; font-size: 11.5px; }
.ib-as-center .ib-acc-val { text-align: center; font-size: 13.5px; }
.ib-accounts.ib-as-center .ib-copy-btn { letter-spacing: .08em; font-size: 11px; }
/* 빈티지 큐피드: 연락하기 빈티지와 같은 양피지 + 금테, 큐피드·비둘기가 첫 상자 위 모서리에 */
/* 가리기(눌러서 열기)일 땐 머리말이 누르는 버튼이라 너무 흐리고 벌어지지 않게 */
.ib-as-line .ib-acc-side summary, .ib-as-outline .ib-acc-side summary, .ib-as-center .ib-acc-side summary { font-size: 12.5px; letter-spacing: .08em; color: color-mix(in srgb, currentColor 82%, transparent); }
.ib-as-line .ib-acc-side summary { padding-top: 4px; }
.ib-as-outline .ib-acc-side summary { padding: 13px 16px; }
.ib-as-outline .ib-acc-side[open] summary { padding-bottom: 8px; }
.ib-as-vintage .ib-acc-wrap { margin-top: 44px; }
.ib-as-vintage .ib-acc-wrap::before, .ib-as-vintage .ib-acc-wrap::after { content: ''; position: absolute; z-index: 3; pointer-events: none; background: url('cal-vintage.webp') no-repeat; }
.ib-as-vintage .ib-acc-wrap::before { left: -14px; top: -52px; width: 80px; height: 67px; background-size: 259px 173px; background-position: -6px -4px; }
.ib-as-vintage .ib-acc-wrap::after { right: -10px; top: -46px; width: 72px; height: 59px; background-size: 262px 175px; background-position: -185px -2px; }
.ib-accounts.ib-as-vintage .ib-acc-side { background: #FBF5E8 !important; color: #4A3A2A !important; border: 1px solid #CDB27A !important; border-radius: 6px;
    box-shadow: inset 0 0 0 3px #FBF5E8, inset 0 0 0 4px rgba(205,178,122,.55), 0 2px 10px rgba(120,90,50,.08); font-family: 'Gowun Batang', 'Nanum Myeongjo', 'Noto Serif KR', serif; }
.ib-as-vintage .ib-acc-wrap > .ib-acc-side:first-child { margin-top: 0; }
.ib-as-vintage .ib-acc-head, .ib-as-vintage .ib-acc-side summary { text-align: center; color: #A4524F; letter-spacing: .14em; font-weight: 600; }
.ib-as-vintage .ib-acc-head::before, .ib-as-vintage .ib-acc-head::after, .ib-as-vintage .ib-acc-side summary::before { content: '❦'; margin: 0 6px; font-size: 10px; color: #CDB27A; }
.ib-as-vintage .ib-acc-row { border-top: 1px dotted #CDB27A; }
.ib-as-vintage .ib-acc-who { color: #8C7A63; }
.ib-accounts.ib-as-vintage .ib-copy-btn { background: #FFFDF8 !important; border-color: #DDB0AE; color: #A4524F; }
.ib-kakaopay { display: block; margin: 0 16px 12px; text-align: center; background: #FEE500; color: #3C1E1E; border-radius: 8px; padding: 9px 0; font-size: 13px; font-weight: 700; text-decoration: none; }
.ib-toast { position: fixed; left: 50%; bottom: 32px; transform: translate(-50%, 20px); background: rgba(30,30,30,.9); color: #fff; font-size: 13px;
    padding: 10px 18px; border-radius: 999px; opacity: 0; pointer-events: none; transition: all .25s ease; z-index: 9999; }
.ib-toast.show { opacity: 1; transform: translate(-50%, 0); }
@media (prefers-reduced-motion: reduce) { .ambient-field.ib-amb-rise span, .ambient-field.ib-amb-fall span { animation: none; display: none; } }

/* 게스트스냅 */
.ib-snap-desc { margin: 0 0 16px; font-size: 13.5px; color: var(--p-muted); }
.ib-snap-btn { display: inline-block; padding: 13px 26px; border-radius: 999px; background: var(--p-accent); color: var(--p-on-accent, #fff); text-decoration: none; font-size: 14px; font-weight: 700; }
.ib-snap-btn.is-disabled { opacity: .55; }

/* 공유하기 */
.ib-share { padding: 34px 24px 44px; text-align: center; border-top: 1px solid var(--p-line); }
.ib-share-title { margin: 0 0 14px; font-size: 13px; color: var(--p-muted); letter-spacing: .08em; }
.ib-share-row { display: flex; gap: 8px; justify-content: center; }
.ib-share-btn { flex: 1; max-width: 170px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 8px; border-radius: 10px;
    border: 1px solid var(--p-line); background: #fff; color: var(--p-ink); font-size: 13px; font-family: inherit; cursor: pointer; }
.ib-share-btn.ib-kakao { background: #FEE500; border-color: #FEE500; color: #3C1E1E; font-weight: 700; }

/* 섹션 자리의 공유 버튼 ("공유하기" 섹션) */
.ib-share.ib-share-block { border-top: 0; padding: 30px 20px; }
.ib-share-btn { white-space: nowrap; min-width: 0; }
.ib-share-off { padding: 6px 0; }

/* 떠 있는 공유 버튼 - 카드(최대 460px) 구석, 반투명. 위치·색·크기·진하기는 "공유하기" 섹션 설정 */
.ib-fab { position: fixed; right: max(14px, calc(50% - 230px + 14px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 880;
    display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
    opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .35s ease, transform .35s ease; }
.ib-fab.show { opacity: 1; transform: none; pointer-events: auto; }
.ib-fab.ib-fab-left { right: auto; left: max(14px, calc(50% - 230px + 14px)); align-items: flex-start; }
@media (max-width: 505px) { .ib-fab { right: 14px; } .ib-fab.ib-fab-left { right: auto; left: 14px; } }
.ib-fab-btn { --fab-size: 40px; width: var(--fab-size); height: var(--fab-size); border-radius: 999px; border: 0; padding: 0; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 6px; font-family: inherit;
    background: rgba(0,0,0,.26); color: rgba(255,255,255,.95); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 2px 10px rgba(0,0,0,.08); opacity: var(--fab-op, .72); transition: opacity .2s ease, background .2s ease; -webkit-tap-highlight-color: transparent; }
.ib-fab-small .ib-fab-btn { --fab-size: 34px; } .ib-fab-small .ib-fab-btn svg { width: 15px; height: 15px; }
.ib-fab-large .ib-fab-btn { --fab-size: 48px; } .ib-fab-large .ib-fab-btn svg { width: 21px; height: 21px; }
.ib-fab-btn.has-label { width: auto; padding: 0 15px 0 12px; }
.ib-fab-btn b { font-size: 13px; font-weight: 600; letter-spacing: .02em; }
.ib-fab-small .ib-fab-btn b { font-size: 12px; } .ib-fab-large .ib-fab-btn b { font-size: 14px; }
.ib-fab-light .ib-fab-btn { background: rgba(255,255,255,.62); color: #2B2320; box-shadow: 0 2px 12px rgba(0,0,0,.12); }
.ib-fab-accent .ib-fab-btn { background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); box-shadow: 0 3px 12px rgba(0,0,0,.16); }
.ib-fab-btn:hover, .ib-fab.open .ib-fab-btn { opacity: 1; }
.ib-fab-dark .ib-fab-btn:hover, .ib-fab-dark.open .ib-fab-btn { background: rgba(0,0,0,.5); }
.ib-fab-light .ib-fab-btn:hover, .ib-fab-light.open .ib-fab-btn { background: rgba(255,255,255,.9); }
.ib-fab-menu { display: flex; flex-direction: column; align-items: inherit; gap: 6px; opacity: 0; transform: translateY(8px) scale(.96); transform-origin: bottom right;
    pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.ib-fab-left .ib-fab-menu { transform-origin: bottom left; }
.ib-fab.open .ib-fab-menu { opacity: 1; transform: none; pointer-events: auto; }
.ib-fab-menu button { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px 9px 10px; border-radius: 999px; border: 0; cursor: pointer;
    background: rgba(255,255,255,.94); color: #2B2320; font-size: 13px; font-family: inherit; white-space: nowrap;
    box-shadow: 0 4px 16px rgba(0,0,0,.14); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ib-fab-menu button > span { width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; background: #F1EFE9; }
.ib-fab-menu .ib-fab-k { background: #FEE500; color: #3C1E1E; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .ib-fab, .ib-fab-menu { transition: none; } }
/* 에디터 미리보기용 (위치는 에디터가 폰 화면 구석에 맞춰 계산) */
.ib-fab.ib-fab-pv { z-index: 60; transition: none; }
@media (max-width: 505px) { .ib-fab.ib-fab-pv { right: auto; left: auto; } }

/* 배경음악 버튼 - 카드(최대 460px) 오른쪽 위에 고정 */
.ib-bgm-btn { position: fixed; top: 12px; right: max(12px, calc(50% - 230px + 12px)); z-index: 900; width: 32px; height: 32px; padding: 0; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.5); background: rgba(28,22,20,.26); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center;
    -webkit-backdrop-filter: blur(8px) saturate(1.3); backdrop-filter: blur(8px) saturate(1.3); box-shadow: 0 2px 10px rgba(0,0,0,.12);
    opacity: .8; transition: opacity .2s ease, top .3s ease, transform .15s ease; -webkit-tap-highlight-color: transparent; }
.ib-bgm-btn:hover { opacity: 1; }
.ib-bgm-btn:active { transform: scale(.92); }
@media (max-width: 505px) { .ib-bgm-btn { right: 12px; } }
body:has(.ib-topmenu.show) .ib-bgm-btn { top: 54px; }
.ib-bgm-btn.ib-bgm-low { top: 56px; } /* 맨 위 메인 영상의 전체화면 버튼(오른쪽 위)과 안 겹치게 - 스크롤하면 제자리 */ /* 위쪽 메뉴바가 나오면 그 아래로 */
/* 재생 중: 막대 3개가 움직이고 가장자리에 얇은 빛이 천천히 돈다 */
.ib-bgm-btn::after { content: ''; position: absolute; inset: -3px; border-radius: 50%; border: 1.5px solid transparent; border-top-color: rgba(255,255,255,.85); opacity: 0; transition: opacity .3s; }
.ib-bgm-btn.is-playing::after { opacity: 1; animation: ibSpin 2.8s linear infinite; }
@keyframes ibSpin { to { transform: rotate(360deg); } }
.ib-bgm-btn .ib-eq { display: none; gap: 2px; align-items: flex-end; height: 11px; }
.ib-bgm-btn .ib-eq i { width: 2px; background: #fff; border-radius: 1px; animation: ibEq .9s ease-in-out infinite; }
.ib-bgm-btn .ib-eq i:nth-child(2) { animation-delay: .2s; } .ib-bgm-btn .ib-eq i:nth-child(3) { animation-delay: .4s; }
.ib-bgm-btn.is-playing .ib-eq { display: flex; } .ib-bgm-btn.is-playing .ib-bgm-off { display: none; }
.ib-bgm-off { width: 15px; height: 15px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: .95; filter: drop-shadow(0 1px 1px rgba(0,0,0,.25)); }
@keyframes ibEq { 0%, 100% { height: 3px; } 50% { height: 11px; } }
/* 보관용 파일(invite_export.php): 서버가 필요한 버튼은 숨김 */
.ib-offline .ib-gb-write, .ib-offline .ib-gb-del, .ib-offline .ib-gb-more { display: none !important; }

/* 상단 메뉴바 */
.ib-topmenu { position: fixed; top: 0; left: 50%; transform: translate(-50%, -110%); width: 100%; max-width: 460px; z-index: 890; display: flex; gap: 4px;
    overflow-x: auto; scrollbar-width: none; padding: 8px 56px 8px 10px; background: color-mix(in srgb, var(--p-bg, #fff) 88%, transparent); backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--p-line, #eee); transition: transform .3s ease; }
.ib-topmenu::-webkit-scrollbar { display: none; }
.ib-topmenu.show { transform: translate(-50%, 0); }
@media (max-width: 505px) { .ib-topmenu { max-width: 100%; } }
.ib-topmenu button { flex: none; border: 0; background: none; padding: 6px 10px; border-radius: 999px; font-size: 12.5px; color: var(--p-muted, #777); font-family: inherit; cursor: pointer; white-space: nowrap; }
.ib-topmenu button.active { background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); }

/* =====================================================================
   4단계: 참석 의사 전달 / 방명록 / D-DAY 하객 안내 / 팝업 창
   ===================================================================== */
.ib-ed-badge { display: inline-block; margin: 0 0 10px; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; background: #FFF3D6; color: #8A5A00; }
.ib-rsvp-desc, .ib-gb-desc, .ib-day-desc { margin: 0 0 16px; font-size: 14px; color: var(--p-muted); line-height: 1.8; }
.ib-rsvp-dl { margin: -6px 0 16px; font-size: 12.5px; color: var(--p-accent); }
.ib-rsvp-btn, .ib-gb-write { display: inline-flex; align-items: center; justify-content: center; min-width: 200px; padding: 13px 26px; border-radius: 999px; border: 0;
    background: var(--p-accent); color: var(--p-on-accent, #fff); font-size: 14px; font-weight: 700; font-family: inherit; cursor: pointer; }
.ib-rsvp-btn.is-closed { background: var(--p-line); color: var(--p-muted); cursor: default; }

/* 방명록 */
.ib-gb-list { display: flex; flex-direction: column; gap: 10px; margin: 0 0 14px; text-align: left; }
.ib-gb-card .ib-gb-item { background: color-mix(in srgb, var(--p-accent) 6%, #fff); border: 1px solid var(--p-line); border-radius: 14px; padding: 12px 14px; }
.ib-gb-line .ib-gb-list { gap: 0; border-top: 1px solid var(--p-line); }
.ib-gb-line .ib-gb-item { padding: 12px 2px; border-bottom: 1px solid var(--p-line); }
.ib-gb-head { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.ib-gb-head b { color: var(--p-ink); }
.ib-gb-head span { color: var(--p-muted); font-size: 11.5px; }
.ib-gb-del { margin-left: auto; border: 0; background: none; color: var(--p-muted); opacity: .55; cursor: pointer; font-size: 12px; padding: 2px 4px; }
.ib-gb-msg { margin: 6px 0 0; font-size: 13.5px; line-height: 1.7; color: var(--p-ink); word-break: break-all; }
.ib-gb-empty { margin: 6px 0; text-align: center; font-size: 13px; color: var(--p-muted); }
.ib-gb-more { display: block; margin: -4px auto 14px; border: 1px solid var(--p-line); background: #fff; border-radius: 999px; padding: 7px 18px; font-size: 12.5px; color: var(--p-muted); font-family: inherit; cursor: pointer; }
.ib-gb-more[hidden] { display: none; }
.ib-gb-write { background: transparent; color: var(--p-accent); border: 1px solid var(--p-accent); font-weight: 600; }

/* D-DAY 하객 안내 */
.ib-day-list { display: flex; flex-direction: column; gap: 10px; text-align: left; }
.ib-day-item { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: color-mix(in srgb, var(--p-accent) 7%, #fff); border: 1px solid var(--p-line); }
.ib-day-ic { font-size: 20px; line-height: 1.3; flex: none; }
.ib-day-item b { font-size: 14px; color: var(--p-ink); }
.ib-day-item p { margin: 2px 0 0; font-size: 13px; line-height: 1.7; color: var(--p-muted); }
.ib-day-item a { display: inline-block; margin-top: 4px; font-size: 12.5px; color: var(--p-accent); text-decoration: none; }

/* 팝업 창 (body에 붙음 - 색은 청첩장에서 복사) */
.ib-modal { position: fixed; inset: 0; z-index: 9990; display: flex; align-items: center; justify-content: center; padding: 20px;
    background: rgba(20,16,14,0); transition: background .22s ease; }
.ib-modal.show { background: rgba(20,16,14,.45); }
.ib-modal-box { position: relative; width: 100%; max-width: 380px; max-height: calc(100vh - 40px); overflow-y: auto; background: var(--p-bg, #fff); color: var(--p-ink, #222);
    border-radius: 18px; padding: 26px 20px 20px; box-shadow: 0 20px 50px rgba(0,0,0,.25); transform: translateY(14px) scale(.98); opacity: 0; transition: transform .22s ease, opacity .22s ease; text-align: center; }
.ib-modal.show .ib-modal-box { transform: none; opacity: 1; }
.ib-modal-x { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border: 0; background: none; font-size: 16px; color: var(--p-muted, #888); cursor: pointer; }
.ib-modal-title { margin: 0 0 16px; font-family: var(--p-head-font, inherit); font-size: 17px; font-weight: 700; }
.ib-modal .ib-day-list { margin-bottom: 16px; }
.ib-form { text-align: left; display: flex; flex-direction: column; gap: 14px; }
.ib-f-row { display: flex; flex-direction: column; gap: 6px; position: relative; }
.ib-f-yes { display: flex; flex-direction: column; gap: 14px; }
.ib-f-yes[hidden] { display: none; }
.ib-f-lb { font-size: 13px; font-weight: 600; color: var(--p-ink, #222); }
.ib-f-lb small { font-weight: 400; color: var(--p-muted, #888); }
.ib-form input:not([type=radio]), .ib-form textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--p-line, #ddd); border-radius: 10px; padding: 11px 12px;
    font-size: 15px; font-family: inherit; background: #fff; color: #222; }
.ib-form textarea { resize: vertical; }
.ib-f-count { position: absolute; right: 8px; bottom: 6px; font-size: 11px; color: var(--p-muted, #999); }
.ib-seg { display: flex; gap: 6px; }
.ib-seg-opt { flex: 1; position: relative; }
.ib-seg-opt input { position: absolute; opacity: 0; pointer-events: none; }
.ib-seg-opt span { display: block; text-align: center; padding: 10px 6px; border-radius: 10px; border: 1px solid var(--p-line, #ddd); background: #fff; font-size: 13.5px; cursor: pointer; color: #444; }
.ib-seg-opt input:checked + span { background: var(--p-accent, #7A3B41); border-color: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); font-weight: 600; }
.ib-seg-opt input:focus-visible + span { outline: 2px solid var(--p-accent, #7A3B41); outline-offset: 2px; }
.ib-stepper { display: flex; align-items: center; gap: 0; width: 150px; border: 1px solid var(--p-line, #ddd); border-radius: 10px; overflow: hidden; background: #fff; }
.ib-stepper button { width: 44px; height: 42px; border: 0; background: none; font-size: 18px; cursor: pointer; color: var(--p-ink, #222); }
.ib-form .ib-stepper input { border: 0; border-radius: 0; text-align: center; padding: 0; height: 42px; }
.ib-f-note { margin: -4px 0 0; font-size: 12px; color: var(--p-muted, #888); line-height: 1.6; }
.ib-f-submit { width: 100%; padding: 14px; border: 0; border-radius: 12px; background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); font-size: 15px; font-weight: 700; font-family: inherit; cursor: pointer; }
.ib-f-submit[disabled] { opacity: .6; }
.ib-f-skip { display: block; margin: 10px auto 0; border: 0; background: none; color: var(--p-muted, #888); font-size: 12.5px; font-family: inherit; cursor: pointer; text-decoration: underline; }
.ib-f-btns { display: flex; gap: 8px; margin-top: 14px; }
.ib-f-sub2 { flex: 1; padding: 14px; border: 1px solid var(--p-line, #ddd); border-radius: 12px; background: #fff; font-size: 15px; font-family: inherit; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .ib-modal, .ib-modal-box { transition: none; } }

.ib-f-btns .ib-f-submit { flex: 1; width: auto; }

/* =====================================================================
   글꾸미기 도구 (방명록 작성칸 · 인트로 문구) - RichText
   ===================================================================== */
.rt-wrap { border: 1px solid var(--p-line, #ddd); border-radius: 12px; background: #fff; }
.rt-bar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border-bottom: 1px solid #EEE9E1; background: #FBFAF7; border-radius: 12px 12px 0 0; position: relative; }
.rt-grp { display: inline-flex; gap: 3px; }
.rt-dd { position: relative; display: inline-flex; }
.rt-b { height: 32px; min-width: 32px; padding: 0 7px; border: 1px solid #DDD7CC; border-radius: 6px; background: #fff; color: #2B2320; font-size: 14px;
    font-family: inherit; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 3px; line-height: 1; }
.rt-b:hover { background: #F4F1EA; }
.rt-b.on { background: #2B2320; border-color: #2B2320; color: #fff; }
.rt-caret { font-style: normal; font-size: 9px; color: #999; margin-left: 1px; }
.rt-a { font-family: Georgia, serif; font-size: 15px; }
.rt-swatch { width: 12px; height: 12px; border-radius: 3px; border: 1px solid rgba(0,0,0,.15); }
.rt-txt { font-size: 12.5px; }
.rt-emo { font-size: 16px; }
.rt-pop { position: absolute; top: calc(100% + 4px); left: 0; z-index: 20; background: #fff; border: 1px solid #DDD7CC; border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.14); padding: 6px; min-width: 150px; max-height: 260px; overflow-y: auto; }
.rt-pop[hidden] { display: none; }
.rt-item { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 14px; color: #2B2320; white-space: nowrap; }
.rt-item:hover { background: #F4F1EA; }
.rt-sw-grid { display: grid; grid-template-columns: repeat(7, 24px); gap: 5px; }
.rt-sw { width: 24px; height: 24px; border-radius: 6px; border: 1px solid rgba(0,0,0,.12); cursor: pointer; padding: 0; }
.rt-sw-none { background: #fff linear-gradient(135deg, transparent 45%, #E0484E 45%, #E0484E 55%, transparent 55%) !important; }
.rt-emo-tabs { display: flex; gap: 4px; margin-bottom: 6px; }
.rt-emo-tab { border: 0; background: #F4F1EA; border-radius: 999px; padding: 4px 10px; font-size: 12px; cursor: pointer; color: #6B5F55; }
.rt-emo-tab.on { background: #2B2320; color: #fff; }
.rt-emo-grid { display: grid; grid-template-columns: repeat(7, 34px); gap: 2px; }
.rt-e { width: 34px; height: 34px; border: 0; background: none; border-radius: 6px; font-size: 20px; cursor: pointer; padding: 0; line-height: 1; }
.rt-e:hover { background: #F4F1EA; }
.rt-edit { min-height: 90px; max-height: 240px; overflow-y: auto; padding: 11px 12px; font-size: 15px; line-height: 1.7; color: #222; outline: none;
    white-space: pre-wrap; word-break: break-all; text-align: left; }
/* 흰색 등 아주 밝은 글자색: 편집칸에서도 보이게 얇은 테두리 그림자 (편집칸 안에서만, 저장되는 글엔 없음) */
.rt-edit .rt-lt { text-shadow: 0 0 1px rgba(0,0,0,.75), 0 0 1px rgba(0,0,0,.75), 0 1px 3px rgba(0,0,0,.35); }
.rt-edit.is-empty::before { content: attr(data-placeholder); color: #aaa; pointer-events: none; }
.ib-f-count.over { color: #C0392B; font-weight: 700; }
@media (max-width: 400px) { .rt-b { height: 30px; min-width: 30px; padding: 0 6px; } .rt-emo-grid { grid-template-columns: repeat(6, 34px); } }

/* 인트로 꾸민 문구 타자 효과: 커서가 글자 사이를 따라다니므로 문구 칸 바깥의 원래 커서는 숨김 */
.intro-text.rt-typing > .intro-cursor { display: none; }
.intro-typed .rt-cursor { font-weight: 400; font-style: normal; text-decoration: none; background: none; }

/* =====================================================================
   스크롤바 모양 (applyScrollbar가 html 또는 에디터 미리보기 칸에 .sb-이름 클래스를 붙임)
   크롬·엣지·사파리: ::-webkit-scrollbar / 파이어폭스: scrollbar-width·color (아래 @supports)
   ===================================================================== */
[class*="sb-"] { --sb-accent: #7A3B41; --sb-line: #E1D6C6; --sb-muted: #8A7F72; --sb-bg: #FAF7F0; --sb-ink: #2B2320; }
/* 크롬은 scrollbar-color가 걸려 있으면(부모에게서 물려받아도) 아래 ::-webkit-scrollbar 꾸밈을 무시한다 → 풀어줌 */
.sb-thin, .sb-slim, .sb-soft, .sb-accent, .sb-gradient, .sb-outline, .sb-dot { scrollbar-color: auto; scrollbar-width: auto; }
.sb-thin.sb-thin::-webkit-scrollbar { width: 4px; height: 4px; }
.sb-thin.sb-thin::-webkit-scrollbar-track { background: transparent; }
.sb-thin.sb-thin::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--sb-muted) 55%, transparent); border-radius: 4px; }
.sb-slim.sb-slim::-webkit-scrollbar { width: 6px; }
.sb-slim.sb-slim::-webkit-scrollbar-track { background: transparent; }
.sb-slim.sb-slim::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--sb-ink) 70%, transparent); border-radius: 6px; }
.sb-soft.sb-soft::-webkit-scrollbar { width: 10px; }
.sb-soft.sb-soft::-webkit-scrollbar-track { background: color-mix(in srgb, var(--sb-line) 45%, transparent); }
.sb-soft.sb-soft::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--sb-muted) 40%, transparent); border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
.sb-soft.sb-soft::-webkit-scrollbar-thumb:hover { background-color: color-mix(in srgb, var(--sb-muted) 65%, transparent); }
.sb-accent.sb-accent::-webkit-scrollbar { width: 9px; }
.sb-accent.sb-accent::-webkit-scrollbar-track { background: var(--sb-bg); }
.sb-accent.sb-accent::-webkit-scrollbar-thumb { background: var(--sb-accent); border-radius: 999px; border: 2px solid var(--sb-bg); }
.sb-gradient.sb-gradient::-webkit-scrollbar { width: 8px; }
.sb-gradient.sb-gradient::-webkit-scrollbar-track { background: transparent; }
.sb-gradient.sb-gradient::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--sb-accent), color-mix(in srgb, var(--sb-accent) 35%, #fff)); border-radius: 999px; }
.sb-outline.sb-outline::-webkit-scrollbar { width: 11px; }
.sb-outline.sb-outline::-webkit-scrollbar-track { background: transparent; }
.sb-outline.sb-outline::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--sb-accent) 8%, transparent); border-radius: 999px; box-shadow: inset 0 0 0 2px var(--sb-accent); border: 2px solid transparent; background-clip: padding-box; }
.sb-dot.sb-dot::-webkit-scrollbar { width: 10px; }
.sb-dot.sb-dot::-webkit-scrollbar-track { background: radial-gradient(circle, var(--sb-line) 1.2px, transparent 1.6px) center top / 10px 8px repeat-y; }
.sb-dot.sb-dot::-webkit-scrollbar-thumb { background: var(--sb-accent); border-radius: 999px; border: 3px solid transparent; background-clip: padding-box; }
.sb-hidden.sb-hidden::-webkit-scrollbar { width: 0; height: 0; }
.sb-hidden { scrollbar-width: none; }
/* 투명 페이드 - 기본 스크롤바는 숨기고, 스크롤할 때만 속이 빈 투명 박스가 나타나 위치를 따라 움직임 (invite-blocks.js ghostBarOn) */
.sb-ghost.sb-ghost::-webkit-scrollbar { width: 0; height: 0; }
.sb-ghost { scrollbar-width: none; }
/* 그레이 페이드 - 투명 페이드와 똑같이 움직이지만, 라인 없이 연한 회색 반투명으로 꽉 찬 막대 */
.sb-mist.sb-mist::-webkit-scrollbar { width: 0; height: 0; }
.sb-mist { scrollbar-width: none; }
.ib-ghost-bar { position: fixed; left: 0; top: 0; z-index: 860; width: 7px; border-radius: 999px; box-sizing: border-box;
    border: 1.5px solid color-mix(in srgb, var(--sb-ink, #2B2320) 50%, transparent);
    background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
    box-shadow: 0 0 0 1px rgba(255,255,255,.45), 0 3px 10px rgba(0,0,0,.08);
    opacity: 0; pointer-events: none; cursor: grab; touch-action: none; will-change: transform, opacity;
    transition: opacity .45s ease, width .18s ease, margin .18s ease, background-color .2s; }
.ib-ghost-bar.on { opacity: 1; pointer-events: auto; transition: opacity .2s ease, width .18s ease, margin .18s ease, background-color .2s; }
.ib-ghost-bar.on:hover, .ib-ghost-bar.drag { width: 10px; margin-left: -3px; background: rgba(255,255,255,.3); }
.ib-ghost-bar.drag { cursor: grabbing; }
.ib-ghost-bar.mist { border: 0; background: var(--sb-mist, rgba(128,128,128,.3)); box-shadow: none; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.ib-ghost-bar.mist.on:hover, .ib-ghost-bar.mist.drag { background: rgba(128,128,128,.45); }
@media (prefers-reduced-motion: reduce) { .ib-ghost-bar, .ib-ghost-bar.on { transition: none; } }
/* 파이어폭스 (크롬은 이 속성이 있으면 위의 꾸민 모양을 무시하므로 파이어폭스에만) */
@supports (-moz-appearance: none) {
    .sb-thin { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--sb-muted) 55%, transparent) transparent; }
    .sb-slim { scrollbar-width: thin; scrollbar-color: var(--sb-ink) transparent; }
    .sb-soft { scrollbar-color: color-mix(in srgb, var(--sb-muted) 45%, transparent) color-mix(in srgb, var(--sb-line) 45%, transparent); }
    .sb-accent, .sb-gradient, .sb-outline, .sb-dot { scrollbar-width: thin; scrollbar-color: var(--sb-accent) transparent; }
}
/* 에디터 설정 화면의 스크롤바 고르기 카드 */
.sbp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; margin-top: 4px; }
.sbp-opt { border: 1px solid #E4E1D9; border-radius: 10px; background: #fff; padding: 6px 6px 7px; cursor: pointer; font-family: inherit; text-align: center; }
.sbp-opt.active { border-color: #2B2320; box-shadow: 0 0 0 1px #2B2320; }
.sbp-demo { display: block; height: 54px; overflow-y: scroll; border-radius: 6px; background: var(--sb-bg, #FAF7F0); margin-bottom: 5px; pointer-events: none; }
.sbp-demo i { display: block; height: 150px; margin: 6px 14px 0 6px; border-radius: 3px;
    background: repeating-linear-gradient(180deg, color-mix(in srgb, var(--sb-line, #E1D6C6) 90%, transparent) 0 5px, transparent 5px 11px); }
.sbp-opt span { font-size: 11.5px; color: #555; }
/* 선택 칸 미리보기 - 투명 페이드는 빈 박스가 나타났다 내려가며 사라지는 모습을 반복해서 보여준다 */
.sbp-demo.sb-ghost { position: relative; overflow: hidden; }
.sbp-demo.sb-ghost::after { content: ''; position: absolute; right: 3px; top: 6px; width: 6px; height: 18px; box-sizing: border-box; border-radius: 999px;
    border: 1.5px solid color-mix(in srgb, var(--sb-ink, #2B2320) 45%, transparent); background: rgba(255,255,255,.35);
    animation: ibGhostDemo 2.6s ease-in-out infinite; }
.sbp-demo.sb-mist { position: relative; overflow: hidden; }
.sbp-demo.sb-mist::after { content: ''; position: absolute; right: 3px; top: 6px; width: 6px; height: 18px; border-radius: 999px;
    background: rgba(128,128,128,.32); animation: ibGhostDemo 2.6s ease-in-out infinite; }
@keyframes ibGhostDemo { 0% { opacity: 0; transform: translateY(0); } 18% { opacity: 1; } 62% { opacity: 1; transform: translateY(24px); } 85%, 100% { opacity: 0; transform: translateY(24px); } }

/* 캘린더에 저장 버튼 (예식일·오시는 길 섹션 아래) */
.ib-cal { text-align: center; margin: 18px auto 4px; }
.ib-cal-btn { display: inline-flex; align-items: center; gap: 7px; padding: 11px 20px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--p-accent, #7A3B41) 45%, transparent);
    background: color-mix(in srgb, var(--p-accent, #7A3B41) 7%, #fff); color: var(--p-accent, #7A3B41); font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: transform .15s, background .15s; }
.ib-cal-btn:active { transform: scale(.97); }
.ib-cal-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ib-cal-note { margin: 7px 0 0; font-size: 12px; color: var(--p-muted, #8A7F72); }
.ib-cal-pick { display: grid; gap: 8px; }
.ib-cal-opt { display: block; text-align: left; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(0,0,0,.1); background: #fff; color: inherit; text-decoration: none; }
.ib-cal-opt b { display: block; font-size: 15px; margin-bottom: 2px; }
.ib-cal-opt span { font-size: 12.5px; opacity: .7; }
.ib-cal-bus { margin: 6px 0 0; font-size: 13px; line-height: 1.6; }
.ib-cal-bus small { opacity: .65; }
/* 교통수단: 대절버스 출발 시각 */
.ib-depart { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 700; vertical-align: 1px;
    background: color-mix(in srgb, var(--p-accent, #7A3B41) 12%, transparent); color: var(--p-accent, #7A3B41); }

/* =========================================================
   신혼여행 라이브 (섹션 id: trip)
   ========================================================= */
.ib-trip-desc { margin: 0 0 16px; font-size: .9em; line-height: 1.7; color: var(--p-muted, #8A7F72); text-align: center; white-space: normal; }
.ib-trip-map { position: relative; margin: 0 0 18px; border-radius: 16px; overflow: hidden; aspect-ratio: 1 / .62; background: color-mix(in srgb, var(--p-line, #E1D6C6) 35%, var(--p-bg, #FAF7F0)); }
.ib-trip-map[hidden] { display: none; }
.ib-trip-map svg { display: block; width: 100%; height: 100%; }
.ib-trip-map .sea { fill: color-mix(in srgb, var(--p-line, #E1D6C6) 30%, var(--p-bg, #FAF7F0)); }
.ib-trip-map .land { fill: color-mix(in srgb, var(--p-line, #E1D6C6) 85%, var(--p-muted, #8A7F72)); stroke: none; }
.ib-trip-map .route { fill: none; stroke: var(--p-accent, #7A3B41); stroke-linecap: round; animation: ibTripDash 1.2s linear infinite; }
.ib-trip-map .dot { fill: #fff; stroke: var(--p-accent, #7A3B41); stroke-width: 2px; vector-effect: non-scaling-stroke; }
.ib-trip-map .now { fill: var(--p-accent, #7A3B41); stroke: #fff; stroke-width: 2px; vector-effect: non-scaling-stroke; }
.ib-trip-map .pulse { fill: var(--p-accent, #7A3B41); opacity: .25; transform-box: fill-box; transform-origin: center; animation: ibTripPulse 1.8s ease-out infinite; }
.ib-trip-map text { fill: var(--p-ink, #2B2320); font-weight: 700; paint-order: stroke; stroke: rgba(255,255,255,.9); stroke-width: 3px; stroke-linejoin: round; vector-effect: non-scaling-stroke; font-family: inherit; }
.ib-trip-now { position: absolute; left: 10px; bottom: 10px; padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.9); font-size: 12px; font-weight: 600; color: var(--p-ink, #2B2320); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
@keyframes ibTripDash { to { stroke-dashoffset: -8; } }
@keyframes ibTripPulse { from { transform: scale(.6); opacity: .45; } to { transform: scale(2.2); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ib-trip-map .route, .ib-trip-map .pulse { animation: none; } }
.ib-trip-feed { display: flex; flex-direction: column; gap: 14px; text-align: left; }
.ib-trip-post { padding: 14px; border-radius: 16px; background: color-mix(in srgb, #fff 70%, var(--p-bg, #FAF7F0)); border: 1px solid color-mix(in srgb, var(--p-line, #E1D6C6) 70%, transparent); }
.ib-trip-post.is-new { border-color: color-mix(in srgb, var(--p-accent, #7A3B41) 40%, transparent); }
.ib-trip-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 12.5px; }
.ib-trip-place { font-weight: 700; color: var(--p-ink, #2B2320); }
.ib-trip-meta time { color: var(--p-muted, #8A7F72); white-space: nowrap; }
.ib-trip-meta time b { color: var(--p-accent, #7A3B41); font-size: 11px; letter-spacing: .05em; }
.ib-trip-photos { display: grid; gap: 4px; border-radius: 12px; overflow: hidden; }
.ib-trip-photos.n1 { grid-template-columns: 1fr; }
.ib-trip-photos.n2 { grid-template-columns: 1fr 1fr; }
.ib-trip-photos.n3 { grid-template-columns: 1fr 1fr 1fr; }
.ib-trip-photos img, .ib-trip-ph { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; cursor: zoom-in; background: var(--p-line, #E1D6C6); }
.ib-trip-photos.n1 img, .ib-trip-photos.n1 .ib-trip-ph { aspect-ratio: 4 / 3; }
.ib-trip-ph.ph1 { background: linear-gradient(160deg, #F2D9C9, #C98C7A); } .ib-trip-ph.ph2 { background: linear-gradient(160deg, #D5DDE8, #7E93B2); } .ib-trip-ph.ph3 { background: linear-gradient(160deg, #CFE6EA, #5FA3B0); }
.ib-trip-cap { margin: 10px 2px 0; font-size: .92em; line-height: 1.65; color: var(--p-ink, #2B2320); white-space: normal; }
.ib-trip-empty, .ib-trip-sample-note { margin: 0; font-size: 12.5px; color: var(--p-muted, #8A7F72); text-align: center; line-height: 1.7; }

/* =========================================================
   예식 후 감사 인사 / 결혼기념일 띠 (initAfterWedding)
   ========================================================= */
.ib-after { padding: 26px 22px 6px; }
.ib-anniv { margin: 0 0 14px; padding: 11px 14px; border-radius: 999px; text-align: center; font-size: 13.5px; color: var(--p-ink, #2B2320);
    background: color-mix(in srgb, var(--p-accent, #7A3B41) 12%, #fff); }
.ib-anniv b { color: var(--p-accent, #7A3B41); }
.ib-thanks { position: relative; padding: 30px 22px 26px; border-radius: 20px; text-align: center; background: #fff;
    border: 1px solid color-mix(in srgb, var(--p-line, #E1D6C6) 80%, transparent); box-shadow: 0 10px 30px rgba(60,40,30,.06); }
.ib-thanks-eye { display: block; font-size: 11px; letter-spacing: .28em; color: var(--p-accent, #7A3B41); font-weight: 700; }
.ib-thanks h3 { margin: 10px 0 12px; font-family: var(--p-headFont, inherit); font-size: 1.35em; font-weight: 600; color: var(--p-ink, #2B2320); letter-spacing: -.01em; }
.ib-thanks p { margin: 0; font-size: .95em; line-height: 1.85; color: var(--p-ink, #2B2320); opacity: .85; }
.ib-thanks-sign { display: block; margin-top: 16px; font-size: .88em; color: var(--p-muted, #8A7F72); }
/* 예식 후 감사 인사 섹션 (BLOCKS.thanks) - 카드 / 편지지 / 사진 위 글자 / 깔끔하게 */
.ib-ty { position: relative; padding: 8px 2px; text-align: center; color: var(--p-ink, #2B2320); }
.ib-ty-ph { margin: 0 auto 16px; max-width: 320px; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; }
.ib-ty-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ib-ty-in { position: relative; }
.ib-ty-eye { display: block; font-size: 11px; letter-spacing: .28em; color: var(--p-accent, #7A3B41); font-weight: 700; }
.ib-ty h3 { margin: 10px 0 12px; font-family: var(--p-head-font, inherit); font-size: 1.35em; font-weight: 600; letter-spacing: -.01em; color: inherit; }
.ib-ty p { margin: 0; font-size: .95em; line-height: 1.85; opacity: .86; }
.ib-ty-sign { display: block; margin-top: 16px; font-size: .88em; color: var(--p-muted, #8A7F72); }
.ib-ty-btn { display: inline-flex; align-items: center; justify-content: center; margin-top: 18px; min-height: 42px; padding: 0 22px; border-radius: 999px; background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); font-size: .88em; font-weight: 700; text-decoration: none; }
/* 흰 카드·편지지 위 글자는 늘 어둡게 (어두운 디자인이면 글자색이 밝아서 안 보였음) - 디자인 글자색을 조금 섞어 색감은 남김 */
.ib-ty-card .ib-ty-in, .ib-ty-letter .ib-ty-in { color: #2B2320; color: color-mix(in srgb, var(--p-ink, #2B2320) 22%, #2B2320); }
.ib-ty-card .ib-ty-sign, .ib-ty-letter .ib-ty-sign, .ib-thanks .ib-thanks-sign { color: #8A7F72; }
.ib-thanks h3, .ib-thanks p { color: #2B2320; color: color-mix(in srgb, var(--p-ink, #2B2320) 22%, #2B2320); }
.ib-ty-card .ib-ty-in { padding: 30px 22px 26px; border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(40, 30, 20, .08), 0 0 0 1px rgba(0, 0, 0, .04); }
.ib-ty-letter .ib-ty-in { padding: 34px 26px 28px; border-radius: 6px; text-align: left; background: #FFFDF7 repeating-linear-gradient(transparent 0 30px, rgba(122, 59, 65, .06) 30px 31px); box-shadow: 0 8px 24px rgba(40, 30, 20, .1); }
.ib-ty-letter .ib-ty-in::before { content: ''; position: absolute; inset: 8px; border: 1px solid rgba(122, 59, 65, .16); border-radius: 3px; pointer-events: none; }
.ib-ty-letter p { line-height: 31px; }
.ib-ty-letter .ib-ty-sign { text-align: right; }
.ib-ty-letter .ib-ty-btn { display: flex; width: fit-content; }
.ib-ty-photo { padding: 0; border-radius: 20px; overflow: hidden; background: #2B2320; min-height: 380px; display: flex; align-items: flex-end; }
.ib-ty-bgph { position: absolute; inset: 0; z-index: 0; overflow: hidden; } .ib-ty-bgph img { width: 100%; height: 100%; object-fit: cover; display: block; } /* 사진 위 글자: 사진을 <img>로 (보일 부분·확대가 되게) */
.ib-ty-photo::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.05) 20%, rgba(0,0,0,.62)); }
.ib-ty-photo .ib-ty-in { position: relative; z-index: 2; width: 100%; padding: 30px 22px 28px; color: #fff; }
.ib-ty-photo .ib-ty-eye, .ib-ty-photo .ib-ty-sign { color: rgba(255,255,255,.85); }
.ib-ty-photo .ib-ty-btn { background: #fff; color: #2B2320; }
.ib-ty-photo .ib-ed-badge { position: absolute; top: 10px; left: 10px; z-index: 1; }
.ib-ty-plain .ib-ty-in { padding: 10px 6px; }

/* =========================================================
   행운의 추첨 (섹션 id: lottery)
   ========================================================= */
.ib-lot { text-align: center; }
.ib-lot-desc { margin: 0 0 14px; font-size: .9em; line-height: 1.7; color: var(--p-muted, #8A7F72); }
.ib-lot-prizes { list-style: none; margin: 0 auto 16px; padding: 12px 16px; max-width: 320px; border-radius: 14px; background: color-mix(in srgb, var(--p-accent, #7A3B41) 7%, #fff); font-size: .9em; line-height: 1.9; color: var(--p-ink, #2B2320); }
.ib-lot-form { display: flex; flex-direction: column; gap: 8px; max-width: 320px; margin: 0 auto; }
.ib-lot-form input { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1px solid color-mix(in srgb, var(--p-line, #E1D6C6) 90%, #000 5%); border-radius: 12px; font: inherit; font-size: 15px; background: #fff; text-align: center; }
.ib-lot-form input[name=code] { letter-spacing: .5em; font-weight: 700; }
.ib-lot-btn { display: inline-block; width: 100%; max-width: 320px; box-sizing: border-box; padding: 14px; border: 0; border-radius: 12px; background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; text-decoration: none; }
.ib-lot-btn:disabled, .ib-lot-btn.is-disabled { opacity: .5; cursor: default; }
.ib-lot-hint, .ib-lot-count, .ib-lot-sample { margin: 10px 0 0; font-size: 12px; color: var(--p-muted, #8A7F72); }
.ib-lot-count b { color: var(--p-accent, #7A3B41); }
.ib-lot-note { margin: 0 0 12px; font-size: .92em; color: var(--p-ink, #2B2320); line-height: 1.7; }
.ib-lot-me { max-width: 320px; margin: 0 auto; padding: 14px; border-radius: 14px; background: #fff; border: 1px solid var(--p-line, #E1D6C6); font-size: .95em; color: var(--p-ink, #2B2320); }
.ib-lot-me b { color: var(--p-accent, #7A3B41); letter-spacing: .08em; }
.ib-lot-me span { display: block; margin-top: 4px; font-size: 12px; color: var(--p-muted, #8A7F72); }
.ib-lot-me.won { background: color-mix(in srgb, var(--p-accent, #7A3B41) 10%, #fff); border-color: var(--p-accent, #7A3B41); font-size: 1.05em; }
.ib-lot-rounds { margin: 18px auto 0; max-width: 340px; text-align: left; }
.ib-lot-rounds > p { margin: 0 0 6px; font-size: 12px; color: var(--p-muted, #8A7F72); text-align: center; letter-spacing: .1em; }
.ib-lot-round { padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid color-mix(in srgb, var(--p-line, #E1D6C6) 70%, transparent); margin-bottom: 6px; font-size: 13px; color: var(--p-ink, #2B2320); }
.ib-lot-round b { display: block; margin-bottom: 3px; }
.ib-lot-round small { margin-left: 3px; color: var(--p-muted, #8A7F72); }
/* 당첨 화면 (전체 화면) */
.ib-lot-win { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(27,26,24,.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); animation: ibLotIn .3s ease; }
.ib-lot-win-box { position: relative; width: min(340px, 100%); background: #fff; border-radius: 24px; padding: 30px 24px 22px; text-align: center; box-shadow: 0 30px 80px rgba(0,0,0,.3); animation: ibLotPop .5s cubic-bezier(.2,1.4,.4,1); font-family: "Pretendard Variable", Pretendard, -apple-system, sans-serif; color: #1B1A18; }
.ib-lot-win-ic { font-size: 54px; line-height: 1; }
.ib-lot-win h3 { margin: 12px 0 6px; font-size: 21px; }
.ib-lot-win-prize { margin: 0 0 14px; font-size: 17px; font-weight: 700; color: var(--p-accent, #7A3B41); }
.ib-lot-win-no { margin: 0 0 18px; padding: 12px; border-radius: 14px; background: #F6F4F1; font-size: 14px; line-height: 1.6; }
.ib-lot-win-no b { font-size: 26px; letter-spacing: .15em; }
.ib-lot-win-no small { color: #6F6A63; }
.ib-lot-win button { width: 100%; padding: 13px; border: 0; border-radius: 12px; background: #1B1A18; color: #fff; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; }
.ib-lot-confetti { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.ib-lot-confetti i { position: absolute; top: -12px; width: 8px; height: 14px; border-radius: 2px; animation: ibLotFall 2.6s linear infinite; }
@keyframes ibLotIn { from { opacity: 0; } }
@keyframes ibLotPop { from { transform: scale(.6); opacity: 0; } }
@keyframes ibLotFall { to { transform: translateY(105vh) rotate(540deg); } }
@media (prefers-reduced-motion: reduce) { .ib-lot-confetti { display: none; } }


/* ===== 자유 배치 칸 (혼주 소개·함께한 시간·게스트스냅·손편지 - invite-blocks.js freeCanvas) =====
   칸 안의 글은 레이어 글자 크기(em)를 따라 커지고 작아진다 */
.ib-free-canvas > .ib-title-layer:not([style*="width:"]) { white-space: nowrap; }
.ib-free-canvas .ib-family-line { margin: 0; font-size: 1em; line-height: 1.8; }
.ib-free-canvas .ib-family-line strong { font-size: 1.1em; }
.ib-free-canvas .ib-family-rel { font-size: .9em; }
.ib-free-canvas > .ib-together-days span { font-size: 2.5em; }
.ib-free-canvas > .ib-snap-desc { margin: 0 !important; line-height: 1.7; }
.ib-free-canvas .ib-snap-btn { font-size: 1em; padding: .9em 1.85em; white-space: nowrap; }
.ib-free-canvas > .ib-title-layer a { pointer-events: auto; }

/* 연락하기 "한 줄로 쭉" */
.ib-contact-list { max-width: 340px; margin: 0 auto; }

/* ===== 섹션 "안쪽 창 색" (에디터 섹션 옵션 → .col에 --box-bg / --box-ink) ===== */
.ib-box-bg .ib-contact-side, .ib-box-bg .ib-notice-card .ib-notice-item, .ib-box-bg .ib-notice-box .ib-notice-item, .ib-box-bg .ib-acc-side,
.ib-box-bg .ib-gb-card .ib-gb-item, .ib-box-bg .ib-gb-more, .ib-box-bg .ib-day-item, .ib-box-bg .ib-trip-post, .ib-box-bg .ib-lot-prizes,
.ib-box-bg .ib-lot-me, .ib-box-bg .ib-lot-round, .ib-box-bg .ib-thanks, .ib-box-bg .ib-share-btn:not(.ib-kakao), .ib-box-bg .ib-copy-btn,
.ib-modal.ib-box-bg .ib-modal-box { background: var(--box-bg) !important; }
.ib-box-ink .ib-contact-side, .ib-box-ink .ib-notice-card .ib-notice-item, .ib-box-ink .ib-notice-box .ib-notice-item, .ib-box-ink .ib-acc-side,
.ib-box-ink .ib-gb-card .ib-gb-item, .ib-box-ink .ib-gb-more, .ib-box-ink .ib-day-item, .ib-box-ink .ib-trip-post, .ib-box-ink .ib-lot-prizes,
.ib-box-ink .ib-lot-me, .ib-box-ink .ib-lot-round, .ib-box-ink .ib-thanks, .ib-box-ink .ib-share-btn:not(.ib-kakao),
.ib-modal.ib-box-ink .ib-modal-box { --p-ink: var(--box-ink); --p-muted: color-mix(in srgb, var(--box-ink) 64%, transparent); color: var(--box-ink) !important; }
.ib-modal-snap.ib-box-bg .ib-modal-box { background: var(--box-bg) !important; }
/* 창 색만 고르고 글자색은 안 골랐을 때 (boxColAttrs가 ib-box-lt 밝은 창 / ib-box-dk 어두운 창): 디자인 바탕과 밝기가 반대면 글자색을 알아서 */
:is(.ib-box-lt:not(.ib-sk-light):is(.ib-dark *), .ib-box-lt.ib-sk-dark) :is(.ib-contact-side, .ib-notice-card .ib-notice-item, .ib-notice-box .ib-notice-item, .ib-acc-side, .ib-gb-card .ib-gb-item, .ib-gb-more, .ib-day-item, .ib-trip-post, .ib-lot-prizes, .ib-lot-me, .ib-lot-round, .ib-thanks, .ib-share-btn:not(.ib-kakao), .ib-copy-btn) { --p-ink: #2B2320; --p-muted: #7A6F66; --p-line: rgba(43, 35, 32, .16); color: #2B2320 !important; }
:is(.ib-box-dk:not(.ib-sk-dark):not(.ib-dark *), .ib-box-dk.ib-sk-light) :is(.ib-contact-side, .ib-notice-card .ib-notice-item, .ib-notice-box .ib-notice-item, .ib-acc-side, .ib-gb-card .ib-gb-item, .ib-gb-more, .ib-day-item, .ib-trip-post, .ib-lot-prizes, .ib-lot-me, .ib-lot-round, .ib-thanks, .ib-share-btn:not(.ib-kakao), .ib-copy-btn) { --p-ink: #F3EFE9; --p-muted: #BDB4AA; --p-line: rgba(243, 239, 233, .2); color: #F3EFE9 !important; }

/* ===== 게스트스냅 사진 올리기 팝업 (snap.php를 안에 띄움) ===== */
.ib-modal-snap .ib-modal-box { max-width: 460px; height: min(86vh, 820px); max-height: calc(100vh - 32px); padding: 0; overflow: hidden; display: flex; flex-direction: column; background: #fff; }
.ib-modal-snap .ib-modal-body { flex: 1; min-height: 0; display: flex; }
.ib-modal-snap .ib-modal-x { z-index: 2; background: rgba(255,255,255,.85); border-radius: 50%; top: 8px; right: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.ib-snap-frame { flex: 1; width: 100%; min-height: 0; border: 0; display: block; background: #fff; }
@media (max-width: 520px) { .ib-modal-snap { padding: 10px; } .ib-modal-snap .ib-modal-box { height: calc(100vh - 20px); height: calc(100dvh - 20px); max-height: none; border-radius: 16px; } }

/* ===== 히어로 아래 가운데 "다음으로" ↓ 버튼 (invite-blocks.js nextBtnHtml) ===== */
.hero-photo-wrap { position: relative; }
.ib-next { position: absolute; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); z-index: 600; /* 이모티콘·스티커(전역 칸 200)·떠다니는 꽃잎(150)보다 항상 위, 메뉴·팝업보다는 아래 */
    width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; line-height: 0; cursor: pointer;
    opacity: var(--next-op, .85); -webkit-tap-highlight-color: transparent; transition: opacity .2s ease, transform .2s ease;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ib-next:hover, .ib-next:focus-visible { opacity: 1; }
.ib-next:not(.ib-docked):not(#previewRoot *) { opacity: 0 !important; } /* 자리를 잡기 전엔 숨김 (dockNextButtons) */
/* 크기 효과(퐁·물결·별가루·말풍선 = scale 속성, 누를 때 살짝 작아짐)가 버튼 한가운데를 기준으로 커지게:
   가운데 맞춤을 transform:translateX(-50%)로 하고 있어서, 기준점을 왼쪽 끝(=옮긴 뒤의 한가운데)에 둔다.
   (기준점이 가운데면 버튼이 오른쪽 옆에서 커지며 왼쪽으로 미끄러져 들어오는 것처럼 보였음) */
.ib-next { transform-origin: 0 50%; }
.ib-next:active { scale: .92; }
.ib-next svg { width: 46%; height: 46%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; animation: ibNextBob 1.6s ease-in-out infinite; }
@keyframes ibNextBob { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
.ib-next-small { width: 38px; height: 38px; }
.ib-next-large { width: 58px; height: 58px; }
.ib-next-glass { background: rgba(255,255,255,.26); color: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.14), inset 0 0 0 1px rgba(255,255,255,.5); }
.ib-next-dark { background: rgba(0,0,0,.4); color: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.ib-next-light { background: rgba(255,255,255,.86); color: #2B2320; box-shadow: 0 4px 14px rgba(0,0,0,.12); }
.ib-next-accent { background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); box-shadow: 0 4px 14px rgba(0,0,0,.16); }
.ib-next-wave { background: rgba(255,255,255,.24); color: #fff; overflow: visible;
    box-shadow: 0 0 0 calc(var(--ib-beat, 0) * 11px) rgba(255,255,255,.2), 0 4px 16px rgba(0,0,0,.14), inset 0 0 0 1px rgba(255,255,255,.55); transition: box-shadow .08s linear, opacity .2s ease; }
.ib-next-wave svg { scale: calc(1 + var(--ib-beat, 0) * .22); transition: scale .08s linear; }
.ib-next-wave .ib-wv { position: absolute; inset: 0; pointer-events: none; }
.ib-next-wave .ib-wv i { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.75); opacity: 0; animation: none; } /* 음악이 꺼져 있으면 물결 없음 */
.ib-music-on .ib-next-wave .ib-wv i { animation: ibWave 2.6s ease-out infinite; } /* 배경음악이 나오는 동안만 물결 */
.ib-next-wave .ib-wv i:nth-child(2) { animation-delay: .86s; } .ib-next-wave .ib-wv i:nth-child(3) { animation-delay: 1.72s; }
.ib-music-on.ib-beat-on .ib-next-wave .ib-wv i { animation-duration: 1.5s; border-width: calc(1.2px + var(--ib-beat, 0) * 1.6px); } /* 음악이 나오면 물결이 빨라지고 박자마다 굵어짐 */
@keyframes ibWave { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(2.1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ib-next-wave .ib-wv i { animation: none; } }
.ib-next-line { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.6px currentColor; -webkit-backdrop-filter: none; backdrop-filter: none; }
/* 직접 꾸미기 (nextStyle custom) - 색 --next-c, 바탕 위 아이콘 색 --next-ink */
.ib-next-custom { background: transparent; color: var(--next-c, #fff); box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.ib-next-sh-circle, .ib-next-sh-square { background: var(--next-c, #fff); color: var(--next-ink, #2B2320); box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.ib-next-sh-square { border-radius: 30%; }
.ib-next-sh-ring { background: rgba(0,0,0,.1); box-shadow: inset 0 0 0 1.6px var(--next-c, #fff); }
.ib-next-sh-none { filter: drop-shadow(0 1px 3px rgba(0,0,0,.45)); }
.ib-next-sh-none svg { width: 72%; height: 72%; }
.ib-next-an-fade svg { animation-name: ibNextFade; animation-duration: 1.8s; }
.ib-next-an-none svg { animation: none; }
@keyframes ibNextFade { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
/* ===== 스크롤 버튼 등장 효과 (playNextFx) - 한 번만 ===== */
.ib-next.ib-fx-wait { opacity: 0 !important; pointer-events: none; transition: none; }
.ib-next .ib-fx { position: absolute; pointer-events: none; font-style: normal; }
.ib-fx-ring { inset: 0; border-radius: 50%; border: 2px solid rgba(255,255,255,.92); box-shadow: 0 0 6px rgba(0,0,0,.25); opacity: 0; animation: ibFxRipple 1.5s ease-out both; }
.ib-fx-ring:nth-of-type(2) { animation-delay: .35s; } .ib-fx-ring:nth-of-type(3) { animation-delay: .7s; }
@keyframes ibFxRipple { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(3.2); opacity: 0; } }
.ib-next.ib-fxon-pop, .ib-next.ib-fxon-ripple, .ib-next.ib-fxon-spark, .ib-next.ib-fxon-tip { animation: ibFxPop .7s cubic-bezier(.34,1.56,.64,1) backwards; }
.ib-next.ib-fxon-pop { animation-duration: .9s; }
@keyframes ibFxPop { 0% { scale: 0; opacity: 0; } 55% { scale: 1.35; opacity: 1; } 75% { scale: .9; opacity: 1; } 100% { scale: 1; opacity: 1; } }
.ib-next.ib-fxon-drop { animation: ibFxDrop 1.1s cubic-bezier(.3,.7,.4,1) backwards; }
@keyframes ibFxDrop { 0% { transform: translateX(-50%) translateY(-170px); opacity: 0; } 45% { transform: translateX(-50%) translateY(0); opacity: 1; } 60% { transform: translateX(-50%) translateY(-26px); } 75% { transform: translateX(-50%) translateY(0); } 86% { transform: translateX(-50%) translateY(-8px); } 100% { transform: translateX(-50%) translateY(0); } }
.ib-next.ib-fxon-hop { animation: ibFxHop 1.5s ease backwards; }
@keyframes ibFxHop { 0%, 30%, 60%, 100% { transform: translateX(-50%) translateY(0); } 15% { transform: translateX(-50%) translateY(-22px); } 45% { transform: translateX(-50%) translateY(-15px); } 75% { transform: translateX(-50%) translateY(-8px); } }
.ib-fx-shine { inset: 0; border-radius: inherit; overflow: hidden; }
.ib-fx-shine b { position: absolute; top: -20%; bottom: -20%; left: -60%; width: 40%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent); transform: skewX(-20deg); animation: ibFxShine 1.4s ease .1s 2 both; }
@keyframes ibFxShine { 0% { left: -60%; } 60%, 100% { left: 130%; } }
.ib-next.ib-fxon-shine { animation: ibFxGlow 1.4s ease 2; }
@keyframes ibFxGlow { 40% { box-shadow: 0 0 0 4px rgba(255,255,255,.35), 0 0 26px 6px rgba(255,236,190,.75), inset 0 0 0 1px #fff; } }
.ib-fx-spot { left: 50%; top: 50%; width: 180%; height: 180%; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 0 200vmax rgba(0,0,0,.7); opacity: 0; animation: ibFxSpot 2.4s ease both; }
@keyframes ibFxSpot { 0% { opacity: 0; } 20%, 70% { opacity: 1; } 100% { opacity: 0; } }
.ib-fx-tip { left: 50%; bottom: calc(100% + 12px); transform: translate(-50%, 6px); white-space: nowrap; background: #fff; color: #2B2320; font-size: 12px; line-height: 1.3; font-weight: 800; padding: 7px 11px; border-radius: 11px; box-shadow: 0 6px 18px rgba(0,0,0,.25); opacity: 0; animation: ibFxTip 3s ease both; }
.ib-fx-tip::after { content: ''; position: absolute; left: 50%; top: 100%; margin-left: -6px; border: 6px solid transparent; border-top-color: #fff; }
@keyframes ibFxTip { 0% { opacity: 0; transform: translate(-50%, 8px); } 12%, 80% { opacity: 1; transform: translate(-50%, 0); } 100% { opacity: 0; transform: translate(-50%, -4px); } }
.ib-fx-spk { left: 50%; top: 50%; width: 0; height: 0; }
.ib-fx-spk i { position: absolute; left: 0; top: 0; font-style: normal; color: #FFE7A3; font-size: var(--fs); line-height: 1; opacity: 0; text-shadow: 0 0 6px rgba(255,220,140,.9); animation: ibFxSpk 1.1s ease-out var(--d) both; }
@keyframes ibFxSpk { 0% { transform: translate(-50%, -50%) scale(.2); opacity: 0; } 25% { opacity: 1; } 100% { transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1) rotate(160deg); opacity: 0; } }
.ib-fx-hand { left: 62%; top: 70%; width: 74%; height: 87%; opacity: 0; animation: ibFxHand 2.2s ease both; }
.ib-fx-hand svg { width: 100%; height: 100%; filter: drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
@keyframes ibFxHand { 0% { opacity: 0; transform: translate(40px, 40px); } 25% { opacity: 1; transform: translate(0, 0); } 35% { transform: scale(.85); } 45% { transform: scale(1); } 55% { transform: scale(.85); } 65% { transform: scale(1); } 85% { opacity: 1; transform: translate(10px, 14px); } 100% { opacity: 0; transform: translate(30px, 30px); } }
.ib-next.ib-fxon-hand .ib-fx-ring { animation-delay: .75s; animation-duration: 1s; } .ib-next.ib-fxon-hand .ib-fx-ring:nth-of-type(2) { animation-delay: 1.2s; } .ib-next.ib-fxon-hand .ib-fx-ring:nth-of-type(3) { display: none; }
@media (prefers-reduced-motion: reduce) { .ib-next[class*="ib-fxon-"], .ib-next .ib-fx { animation: none !important; } }
/* ===== 사진·영상 위 글자 잘 보이게 그라데이션 (heroShadeHtml) ===== */
.ib-shade { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.ib-shade-bottom { background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,var(--sh, .7)) 100%); }
.ib-shade-top { background: linear-gradient(0deg, rgba(0,0,0,0) 45%, rgba(0,0,0,var(--sh, .7)) 100%); }
.ib-shade-both { background: linear-gradient(180deg, rgba(0,0,0,calc(var(--sh, .7) * .85)) 0%, rgba(0,0,0,0) 32%, rgba(0,0,0,0) 52%, rgba(0,0,0,var(--sh, .7)) 100%); }
.ib-shade-full { background: rgba(0,0,0,calc(var(--sh, .7) * .55)); }
.ib-shade-light { background: linear-gradient(180deg, rgba(255,255,255,0) 35%, rgba(255,255,255,var(--sh, .7)) 100%); }
.hero-photo-wrap > .ib-shade.ib-shade-fr { left: 32px; right: 32px; } /* 프레임 사진: 좌우 여백(32px) 안쪽 사진 자리만, 모양도 프레임과 같게 */
.ib-shade.ib-fr-rounded { border-radius: 20px; } .ib-shade.ib-fr-circle { border-radius: 50%; } .ib-shade.ib-fr-pill { border-radius: 999px; } .ib-shade.ib-fr-arch { border-radius: 50% 50% 0 0 / 30% 30% 0 0; }
/* 사진·영상 위가 아니라 글자 칸 아래(밝은 바탕)에 놓일 때 */
.ib-next-row { display: flex; justify-content: center; padding: 4px 0 2px; line-height: 0; }
.ib-next-row .ib-next { position: relative; left: auto; bottom: auto; transform: none; transform-origin: 50% 50%; }
.ib-next-row .ib-next:active { transform: none; scale: .92; }
.ib-next-row .ib-next-glass { background: color-mix(in srgb, var(--p-accent, #7A3B41) 12%, rgba(255,255,255,.6)); color: var(--p-accent, #7A3B41);
    box-shadow: 0 3px 12px rgba(0,0,0,.08), inset 0 0 0 1px color-mix(in srgb, var(--p-accent, #7A3B41) 28%, transparent); }
.ib-next-row .ib-next-line { color: var(--p-accent, #7A3B41); }
@media (prefers-reduced-motion: reduce) { .ib-next svg { animation: none; } }
/* ↓ 버튼 자유 위치 (nextPos: free) - 히어로는 사진+글자 칸 전체, 영상 히어로는 영상 화면 기준 % 자리 */
.blk-hero.has-next { position: relative; }
.ib-next.ib-next-free { bottom: auto; transform: translate(-50%, -50%); transform-origin: 0 0; }
.ib-next.ib-next-free:active { transform: translate(-50%, -50%); scale: .92; }
/* 히어로 이름·날짜를 사진 위로도 (heroTextOver) - 글자 칸이 사진+아래 칸 전체를 덮음. 빈 곳은 눌림이 사진으로 통과 */
.blk-hero.hero-text-over { position: relative; }
.blk-hero.hero-text-over > .hero-over-canvas { position: absolute; left: 0; right: 0; top: 0; bottom: 0; height: auto; z-index: 3; pointer-events: none; }
.blk-hero.hero-text-over > .hero-over-canvas > * { pointer-events: auto; }
.blk-hero.hero-text-over > .hero-text-space { display: block; }
/* 메인 영상 + 영상 아래 글자 칸: 글자 칸이 영상과 아래 칸 전체를 덮음 */
.blk-hero-video.vt-overband { position: relative; }
.blk-hero-video.vt-overband > .hero-over-canvas { position: absolute; left: 0; right: 0; top: 0; bottom: 0; height: auto; z-index: 3; pointer-events: none; }
.blk-hero-video.vt-overband > .hero-over-canvas > * { pointer-events: auto; }
.blk-hero-video > .hero-text-space { display: block; }
.blk-hero.hero-ink-white .drag-part.on-light, .blk-hero.hero-ink-white .drag-part.op-heart { color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.blk-hero.hero-ink-dark .drag-part.on-light { color: #2B2320; text-shadow: 0 1px 6px rgba(255,255,255,.55); }
/* 글자색 자동 (heroInkAuto): 사진·영상 위 = 흰 글자 / 아래 글자 칸 = 테마색 */
.blk-hero.hero-ink-auto .drag-part.ink-photo { color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.blk-hero.hero-ink-auto .drag-part.ink-band { text-shadow: none; }
.blk-hero-video.vt-overband .drag-part.ink-band { color: var(--p-ink); text-shadow: none; }
.blk-hero-video.vt-overband .drag-part.op-heart.ink-band { color: var(--p-accent); }
/* 사진 위 글자 + 아래 칸 0: 사진 밑 흰 여백 없이 */
.blk-hero.hero-text-nospace > .hero-photo-wrap { margin-bottom: 0; }

/* ===== 스티커 등장·사라지기 효과 (에디터 스티커 ✨·⏱ 팝업) - 에디터·공개 페이지 공통 =====
   스티커는 위치·회전을 인라인 transform으로 쓰고 있어서, 여기서는 따로 움직이는 scale/translate/rotate 속성만 움직인다.
   통통(boing): 튀어 올랐다 납작하게 착지하며 자리 잡기 · 빙글(spin): 돌면서 커지며 나타남
   반짝이며 등장(data-fx-spark) · 연기처럼 사라지기(rv-puff, data-hide-fx="puff")의 반짝이·연기 알갱이는 invite-blocks.js stickerFx가 뿌린다 */
.reveal-boing, .reveal-spin { opacity: 0; }
.reveal-boing.in-view { opacity: 1; animation: rvBoing .9s ease-out both; animation-delay: var(--rv-delay, 0s); }
.reveal-spin.in-view { opacity: 1; animation: rvSpin .8s cubic-bezier(.2, .9, .3, 1.15) both; animation-delay: var(--rv-delay, 0s); }
@keyframes rvBoing {
    0% { opacity: 0; scale: .3; translate: 0 40%; }
    36% { opacity: 1; scale: .9 1.14; translate: 0 -22%; }
    56% { scale: 1.16 .84; translate: 0 0; }
    70% { scale: .95 1.06; translate: 0 -7%; }
    84% { scale: 1.04 .96; translate: 0 0; }
    100% { opacity: 1; scale: 1; translate: 0 0; }
}
@keyframes rvSpin { 0% { opacity: 0; scale: .2; rotate: -220deg; } 65% { opacity: 1; scale: 1.14; rotate: 14deg; } 100% { opacity: 1; scale: 1; rotate: 0deg; } }
/* 연기처럼 사라지기: 살짝 부풀며 흐려지고 위로 날아감 (뿅 = 기존 rvVanish 작아지기) */
.rv-puff { --rv-out: rvPuff; }
@keyframes rvPuff { 0% { opacity: 1; scale: 1; filter: blur(0); translate: 0 0; } 35% { scale: 1.12; } 100% { opacity: 0; scale: 1.3; filter: blur(6px); translate: 0 -35%; } }
.rv-vanish.rv-puff.in-view { animation-name: rvPuff; animation-duration: .6s; animation-timing-function: ease-out; }
/* 통통·빙글 + 사라지기: 등장 애니메이션과 사라지기 애니메이션을 같이 */
.reveal-boing.rv-vanish.in-view { animation: rvBoing .9s ease-out var(--rv-delay, 0s) both, var(--rv-out, rvVanish) .55s cubic-bezier(.5, 0, .75, 0) calc(var(--rv-delay, 0s) + .9s + var(--rv-hide, 2s)) forwards; }
.reveal-spin.rv-vanish.in-view { animation: rvSpin .8s cubic-bezier(.2, .9, .3, 1.15) var(--rv-delay, 0s) both, var(--rv-out, rvVanish) .55s cubic-bezier(.5, 0, .75, 0) calc(var(--rv-delay, 0s) + .8s + var(--rv-hide, 2s)) forwards; }
/* 에디터에서는 사라지는 모습을 보여준 뒤 1.3초 사라진 채로 있다가 다시 보이게 (rv-back - 에디터가 animationend 뒤에 붙임) */
#previewRoot .reveal-boing.rv-vanish.in-view, #previewRoot .reveal-spin.rv-vanish.in-view { animation-fill-mode: both, forwards; }
#previewRoot .rv-vanish.rv-puff.in-view { animation-fill-mode: forwards; }
#previewRoot .rv-vanish.rv-back { animation: none !important; }
/* 반짝이·연기 알갱이 (스티커 가운데에서 퍼짐) */
.ib-burst { position: absolute; width: 0; height: 0; pointer-events: none; z-index: 60; }
.ib-burst i { position: absolute; left: 0; top: 0; font-style: normal; line-height: 1; transform: translate(-50%, -50%); opacity: 0; }
.ib-burst.spark i { color: var(--c, #E0A72E); font-size: var(--fs, 12px); animation: ibSpark .9s cubic-bezier(.2, .8, .3, 1) var(--d, 0s) forwards; text-shadow: 0 0 6px rgba(255, 220, 120, .7); }
.ib-burst.puff i { width: var(--fs, 10px); height: var(--fs, 10px); border-radius: 50%; background: rgba(200, 192, 182, .85); filter: blur(1.5px); animation: ibPuff 1s ease-out var(--d, 0s) forwards; }
@keyframes ibSpark { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.3) rotate(0deg); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.1) rotate(var(--r, 90deg)); } }
@keyframes ibPuff { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.4); } 20% { opacity: .9; } 100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.6); } }
@media (prefers-reduced-motion: reduce) {
    .reveal-boing, .reveal-spin { opacity: 1 !important; animation: none !important; }
    .ib-burst { display: none; }
}

/* 화면 밖 섹션: 무한 반복 장식 애니메이션 멈춤 (InviteBlocks.watchOffscreen) - 다시 보이면 이어서 움직임 */
.ib-off, .ib-off * { animation-play-state: paused !important; }

/* ===== 디데이 카운터 모양 프리셋 (InviteBlocks.ddayCounter - 에디터·실제 청첩장 공통) =====
   classic 클래식 · bigd 큰 D-day · flip 플립 시계 · ring 원형 링(초마다 돎) · sentence 문장형 · line 미니멀 라인 · ticket 티켓 · bubble 버블
   크기는 청첩장 폭 기준(cqw)이라 휴대폰·PC·에디터 미리보기에서 같은 비율로 보임 */
.dday-countdown .dd-n { display: inline-block; font-variant-numeric: tabular-nums; }
.dday-countdown:not(.dd-classic) { display: block; padding: 0; border-radius: 0; background: none; gap: 0; color: var(--p-ink, #2B2B2B); }
.dday-countdown:not(.dd-classic) .dd-l { display: block; font-size: 2.6cqw; letter-spacing: .14em; color: var(--p-muted, #9A948C); }
.dday-countdown.dd-has-bg:not(.dd-classic) { background: linear-gradient(rgba(20,16,12,.48), rgba(20,16,12,.48)), var(--dd-bg) center / cover no-repeat; color: #fff; border-radius: 14px; padding: 7cqw 4cqw; }
.dday-countdown.dd-has-bg:not(.dd-classic) .dd-l { color: rgba(255,255,255,.82); }
@keyframes ddTick { from { transform: translateY(-35%); opacity: .15; } to { transform: none; opacity: 1; } }
.dday-countdown .dd-tick { animation: ddTick .35s ease; }
/* 큰 D-day */
.dd-bigd { text-align: center; }
.dd-bigd .dd-big { font-family: var(--p-head-font, Georgia, serif); font-size: 19cqw; line-height: 1; font-weight: 600; letter-spacing: -.02em; color: var(--p-accent, #7A3B41); white-space: nowrap; }
.dd-bigd .dd-minus { margin: 0 .03em; opacity: .55; }
.dd-bigd .dd-sub { margin-top: 3.2cqw; font-size: 4.2cqw; letter-spacing: .16em; color: var(--p-muted, #9A948C); }
.dd-bigd .dd-sub i { font-style: normal; margin: 0 .25em; opacity: .55; }
.dd-bigd.dd-has-bg .dd-big, .dd-bigd.dd-has-bg .dd-sub { color: #fff; }
/* 플립 시계 */
.dday-countdown.dd-flip { display: flex; justify-content: center; gap: 2.6cqw; }
.dd-flip .dd-u { display: flex; flex-direction: column; align-items: center; gap: 1.8cqw; }
.dd-flip .dd-card { position: relative; min-width: 17cqw; padding: 2.8cqw 1.6cqw; border-radius: 2.2cqw; background: linear-gradient(#34302C 0 50%, #2A2623 50% 100%); color: #F7F1E8; font-size: 8.6cqw; font-weight: 700; line-height: 1; text-align: center; box-shadow: 0 1.6cqw 3.4cqw rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08); perspective: 300px; overflow: hidden; }
.dd-flip .dd-card::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0,0,0,.6); box-shadow: 0 1px 0 rgba(255,255,255,.07); }
.dd-flip .dd-tick { animation: ddFlip .5s ease; transform-origin: 50% 50%; }
@keyframes ddFlip { 0% { transform: rotateX(85deg); opacity: .25; } 100% { transform: none; opacity: 1; } }
.dd-flip .dd-l { font-size: 2.4cqw; }
/* 원형 링 (초마다 한 칸씩 차오름) */
.dd-ring { width: 46cqw; aspect-ratio: 1; margin: 0 auto; border-radius: 50%; padding: 1.5cqw;
    background: conic-gradient(var(--p-accent, #7A3B41) calc(var(--sec, 0) * 6deg), rgba(0,0,0,.08) 0); }
.dd-ring-in { width: 100%; height: 100%; border-radius: 50%; background: var(--p-bg, #FAF7F0); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8cqw; }
.dd-ring-in .dd-n { font-family: var(--p-head-font, Georgia, serif); font-size: 13cqw; line-height: 1; color: var(--p-accent, #7A3B41); }
.dd-ring-in .dd-l { font-size: 2.3cqw !important; }
.dd-ring + .dd-sub { text-align: center; margin-top: 3.6cqw; font-size: 4cqw; letter-spacing: .06em; color: var(--p-muted, #9A948C); }
.dd-ring + .dd-sub i { font-style: normal; font-size: .72em; margin-left: .12em; }
.dd-has-bg .dd-ring { background: conic-gradient(#fff calc(var(--sec, 0) * 6deg), rgba(255,255,255,.22) 0); }
.dd-has-bg .dd-ring-in { background: rgba(0,0,0,.28); }
.dd-has-bg .dd-ring-in .dd-n, .dd-has-bg .dd-ring + .dd-sub { color: #fff; }
/* 문장형 */
.dd-sentence .dd-sen { margin: 0; text-align: center; font-family: var(--p-head-font, Georgia, serif); font-size: 4.6cqw; line-height: 2.05; }
.dd-sentence .dd-sen b { font-weight: inherit; }
.dd-sentence .dd-sen .dd-n { min-width: 1.5em; padding: 0 .3em; margin: 0 .08em; border-bottom: 2px solid var(--p-accent, #7A3B41); color: var(--p-accent, #7A3B41); font-size: 1.35em; line-height: 1.15; font-weight: 700; }
.dd-sentence.dd-has-bg .dd-sen .dd-n { color: #fff; border-color: rgba(255,255,255,.8); }
/* 미니멀 라인 */
.dday-countdown.dd-line { display: flex; justify-content: center; align-items: center; gap: 3.4cqw; padding: 4.4cqw 0; border-top: 1px solid var(--p-line, #E5E0D8); border-bottom: 1px solid var(--p-line, #E5E0D8); }
.dd-line .dd-u { display: flex; flex-direction: column; align-items: center; gap: 1.2cqw; }
.dd-line .dd-n { font-size: 8.4cqw; font-weight: 300; line-height: 1; letter-spacing: .02em; }
.dd-line .dd-sep { width: 1px; height: 9cqw; background: var(--p-line, #E5E0D8); }
.dd-line .dd-l { font-size: 2.5cqw !important; letter-spacing: .24em !important; }
.dd-line.dd-has-bg { border-color: rgba(255,255,255,.4); }
.dd-line.dd-has-bg .dd-sep { background: rgba(255,255,255,.45); }
/* 티켓 */
.dday-countdown.dd-ticket { display: flex; max-width: 84cqw; margin: 0 auto; border-radius: 3cqw; filter: drop-shadow(0 2cqw 4cqw rgba(40,30,20,.14)); }
.dd-tk-l { flex: 1.25; background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); padding: 5cqw 4.4cqw; text-align: left; border-radius: 3cqw 0 0 3cqw; }
.dd-tk-l .dd-l { color: rgba(255,255,255,.75) !important; font-size: 2.3cqw !important; letter-spacing: .3em !important; }
.dd-tk-d { font-family: var(--p-head-font, Georgia, serif); font-size: 10cqw; line-height: 1.1; margin-top: 1.4cqw; white-space: nowrap; }
.dd-tk-r { flex: 1; position: relative; background: #fff; color: var(--p-ink, #2B2B2B); display: flex; flex-direction: column; justify-content: center; gap: 1.4cqw; padding: 3cqw 4.4cqw; border-left: 2px dashed rgba(0,0,0,.16); border-radius: 0 3cqw 3cqw 0; }
/* 티켓 구멍: 섹션 배경색이 뭐든 진짜로 뚫려 보이게 마스크로 자름 */
.dd-tk-l, .dd-tk-r { -webkit-mask: radial-gradient(circle 2.3cqw at var(--nx) 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 2.3cqw at var(--nx) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat;
    mask: radial-gradient(circle 2.3cqw at var(--nx) 0, #0000 97%, #000) top / 100% 51% no-repeat, radial-gradient(circle 2.3cqw at var(--nx) 100%, #0000 97%, #000) bottom / 100% 51% no-repeat; }
.dd-tk-l { --nx: 100%; } .dd-tk-r { --nx: 0; }
.dd-tk-r .dd-u { display: flex; align-items: baseline; justify-content: space-between; gap: 1.6cqw; }
.dd-tk-r .dd-n { font-size: 5.2cqw; font-weight: 700; }
.dd-tk-r .dd-l { font-size: 2.8cqw !important; letter-spacing: 0 !important; }
.dday-countdown.dd-ticket.dd-has-bg { background: none; padding: 0; color: inherit; border-radius: 3cqw; }
.dd-ticket.dd-has-bg .dd-tk-l { background: linear-gradient(rgba(20,16,12,.4), rgba(20,16,12,.4)), var(--dd-bg) center / cover no-repeat; }
.dd-ticket.dd-has-bg .dd-tk-r .dd-l { color: var(--p-muted, #9A948C) !important; }
/* 버블 */
.dday-countdown.dd-bubble { display: flex; justify-content: center; gap: 2.4cqw; padding: 2cqw 0 3cqw; }
.dd-bubble .dd-u { width: 18.5cqw; aspect-ratio: 1; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: #FFF6F4; background: color-mix(in srgb, var(--p-accent, #7A3B41) 11%, #fff);
    box-shadow: 0 1.6cqw 3.4cqw rgba(122,59,65,.16), inset 0 -1.2cqw 2.4cqw rgba(255,255,255,.75); animation: ddFloat 3.2s ease-in-out infinite; }
.dd-bubble .dd-u:nth-child(2) { animation-delay: -.8s; } .dd-bubble .dd-u:nth-child(3) { animation-delay: -1.6s; } .dd-bubble .dd-u:nth-child(4) { animation-delay: -2.4s; }
.dd-bubble .dd-n { font-size: 6.2cqw; font-weight: 700; line-height: 1.1; color: var(--p-accent, #7A3B41); }
.dd-bubble .dd-l { font-size: 2.4cqw !important; letter-spacing: 0 !important; }
.dd-bubble .dd-tick { animation: ddPop .4s cubic-bezier(.34,1.56,.64,1); }
@keyframes ddFloat { 50% { transform: translateY(-1.4cqw); } }
@keyframes ddPop { from { transform: scale(.55); } }
.dd-bubble.dd-has-bg .dd-u { background: rgba(255,255,255,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
.dd-bubble.dd-has-bg .dd-n { color: #fff; }
@media (prefers-reduced-motion: reduce) { .dd-bubble .dd-u, .dday-countdown .dd-tick { animation: none; } }

/* 밀랍 도장 · 금테 시계판 · 두루마리 (천사의 편지 카운트다운 A·B·C안 - 모든 디자인에서 고를 수 있음)
   색: 도장·띠 = 포인트 색(--p-accent), 금테 = 선 색(--p-line)을 글자색 쪽으로 조금 진하게, 바탕은 화면 설정 색 */
.dday-countdown:is(.dd-seal, .dd-dial, .dd-scroll) { --dg: color-mix(in srgb, var(--p-line, #CDB27A) 78%, var(--p-ink, #4A3426)); --dpap: var(--ib-card, color-mix(in srgb, var(--p-bg, #F7EEDD) 40%, #FFFFFF));
    --dsr: 'Cormorant Garamond', var(--p-head-font, Georgia, serif); --dcz: 'Cinzel', 'Cormorant Garamond', var(--p-head-font, Georgia, serif);
    display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 92cqw; margin: 0 auto; }
.dday-countdown:is(.dd-seal, .dd-dial, .dd-scroll) .dd-cap { font: italic 500 4.9cqw/1.2 var(--dsr); color: var(--p-accent, #9E3B3B); letter-spacing: .03em; }
.dday-countdown:is(.dd-seal, .dd-dial) .dd-cap::before { content: '❦  '; } .dday-countdown:is(.dd-seal, .dd-dial) .dd-cap::after { content: '❦'; display: inline-block; transform: scaleX(-1); margin-left: .5em; }
/* A 밀랍 도장 넷 */
.dd-seal .dd-cap { margin-bottom: 5cqw; }
.dd-seal .dd-cap { display: block; }
.dd-seal .dd-cap:not(:empty) { position: relative; }
.dd-seal .dd-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.6cqw; width: 100%; }
.dd-seal .dd-u { display: flex; flex-direction: column; align-items: center; gap: 2cqw; min-width: 0; }
.dd-seal .dd-sl { width: 100%; max-width: 18.5cqw; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%;
    background: radial-gradient(circle, transparent 54%, rgba(0,0,0,.18) 56% 60%, transparent 62%), radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--p-accent, #9E3B3B) 55%, #FFFFFF), var(--p-accent, #9E3B3B) 46%, color-mix(in srgb, var(--p-accent, #9E3B3B) 68%, #000000));
    box-shadow: 0 .8cqw 1.6cqw rgba(80,30,20,.25), inset 0 0 0 .8cqw rgba(255,255,255,.08); }
.dd-seal .dd-n { font: 700 6.2cqw/1 var(--dcz); color: var(--p-on-accent, #FFF6EC); text-shadow: 0 1px 1px rgba(0,0,0,.35); }
.dd-seal .dd-l { font: italic 3.6cqw var(--dsr) !important; letter-spacing: .02em !important; }
.dd-seal .dd-end { width: 100%; margin-top: 5cqw; padding-top: 4cqw; background: linear-gradient(90deg, transparent, var(--dg), transparent) top / 100% 1px no-repeat; font: italic 3.6cqw var(--dsr); color: var(--p-muted, #8C7660); }
/* B 금테 시계판 (붉은 띠 = 남은 날, 100일 기준) */
.dd-dial .dd-cap { margin-bottom: 3.6cqw; }
.dd-dial .dd-face { position: relative; width: 64cqw; aspect-ratio: 1; display: grid; place-items: center; }
.dd-dial .dd-face svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.dd-dial .dd-f1 { fill: var(--dpap); stroke: var(--dg); stroke-width: 2; }
.dd-dial .dd-f2 { fill: none; stroke: color-mix(in srgb, var(--dg) 70%, transparent); stroke-width: 1; }
.dd-dial .dd-f3 { fill: none; stroke: color-mix(in srgb, var(--dg) 26%, transparent); stroke-width: 7; }
.dd-dial .dd-f4 { fill: none; stroke: var(--p-accent, #9E3B3B); stroke-width: 7; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 50% 50%; }
.dd-dial .dd-f5 { fill: var(--dg); }
.dd-dial .dd-fin { position: relative; display: flex; flex-direction: column; align-items: center; gap: .5cqw; }
.dd-dial .dd-fk { font: 600 3.1cqw var(--dcz); letter-spacing: .3em; color: color-mix(in srgb, var(--dg) 80%, var(--p-ink, #4A3426)); }
.dd-dial .dd-fin .dd-n { font: 700 16.4cqw/1 var(--dcz); color: var(--p-ink, #4A3426); }
.dd-dial .dd-fe { font: italic 3.8cqw var(--dsr); color: var(--p-muted, #8C7660); }
.dd-dial .dd-sub { display: flex; align-items: baseline; gap: 3.6cqw; margin-top: 4.6cqw; font-family: var(--dcz); }
.dd-dial .dd-sub .dd-n { font-size: 5.6cqw; }
.dd-dial .dd-sub small { font: 3.1cqw var(--p-body-font, serif); color: var(--p-muted, #8C7660); margin-left: 1cqw; }
.dd-dial .dd-sub i { font-style: normal; color: var(--dg); }
/* C 두루마리 D-day */
.dd-scroll .dd-paper { position: relative; width: 100%; box-sizing: border-box; padding: 7.6cqw 6.6cqw 6.6cqw; display: flex; flex-direction: column; align-items: center; gap: 2.6cqw;
    background: var(--dpap); border: 1px solid var(--dg); box-shadow: inset 0 0 0 1cqw var(--dpap), inset 0 0 0 calc(1cqw + 1px) color-mix(in srgb, var(--dg) 60%, transparent), 0 1.6cqw 4.6cqw rgba(110,80,40,.12); }
.dd-scroll .dd-paper::before, .dd-scroll .dd-paper::after { content: ''; position: absolute; top: 15%; width: 5cqw; height: 70%; border-radius: 2.6cqw; box-shadow: 0 2px 4px rgba(0,0,0,.12);
    background: linear-gradient(90deg, color-mix(in srgb, var(--dg) 50%, var(--dpap)), var(--dpap) 50%, color-mix(in srgb, var(--dg) 65%, var(--dpap))); }
.dd-scroll .dd-paper::before { left: -2.6cqw; } .dd-scroll .dd-paper::after { right: -2.6cqw; }
.dd-scroll .dd-cap { font: 6.7cqw/1.1 'Pinyon Script', var(--dsr); font-style: normal; }
.dd-scroll .dd-big { display: flex; align-items: center; gap: 3cqw; font: 700 14.9cqw/1 var(--dcz); letter-spacing: .04em; color: var(--p-ink, #4A3426); white-space: nowrap; }
.dd-scroll .dd-big .dd-n { font: inherit; }
.dd-scroll .dd-big i { font-style: normal; font-size: 4.1cqw; color: var(--dg); } .dd-scroll .dd-big i.dd-fl { transform: scaleX(-1); }
.dd-scroll .dd-rule { width: 70%; height: 1px; background: linear-gradient(90deg, transparent, var(--dg), transparent); }
.dd-scroll .dd-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
.dd-scroll .dd-row .dd-u { display: flex; flex-direction: column; gap: .5cqw; }
.dd-scroll .dd-row .dd-u + .dd-u { border-left: 1px dotted var(--dg); }
.dd-scroll .dd-row .dd-n { font: 700 5.6cqw var(--dcz); }
.dd-scroll .dd-row .dd-u:last-child .dd-n { color: var(--p-accent, #9E3B3B); }
.dd-scroll .dd-row small { font: italic 3.3cqw var(--dsr); color: var(--p-muted, #8C7660); }
.dday-countdown.dd-has-bg:is(.dd-seal, .dd-dial, .dd-scroll) { color: #fff; }

/* ===== 달력 모양 프리셋 (InviteBlocks.ddayCalendar) =====
   classic 기본 · vintage 빈티지 큐피드(그림 액자) · minimal 미니멀 · week 한 주 띠 · desk 탁상 달력 · night 밤하늘 골드 · heart 하트 · planner 플래너 */
.dday-cal:not(.cal-classic) { margin: 0 auto 6cqw; max-width: 86cqw; text-align: center; color: var(--p-ink, #2B2B2B); }
.dday-cal i { font-style: normal; }
/* 날짜를 스스로 크게 보여주는 달력은 위의 날짜 줄·라벨을 숨김 (겹치지 않게) */
.blk-dday:has(.cal-vintage) .dday-date, .blk-dday:has(.cal-vintage) .dday-label, .blk-dday:has(.cal-desk) .dday-date { display: none; }
/* --- 빈티지 큐피드: 그림(cal-vintage.webp) 위 정해진 자리에 글자를 얹음. 양옆 그림이 조금 잘리도록 넓게 --- */
.dday-cal.cal-vintage { max-width: none; margin: -2cqw -24px 5cqw; overflow: hidden; }
.cv-art { position: relative; width: 116%; margin-left: -8%; aspect-ratio: 3 / 2; background: url('cal-vintage.webp') center / 100% 100% no-repeat; container-type: inline-size; color: #33281B; font-family: 'Playfair Display', 'Noto Serif KR', Georgia, serif; }
.cv-art > span { position: absolute; left: 50%; transform: translate(-50%, -50%); white-space: nowrap; line-height: 1; }
.cv-year { top: 12.3%; font-size: 4.6cqw; font-weight: 500; letter-spacing: .06em; color: #8E6C2C; }
.cv-date { top: 26.4%; font-size: 16.9cqw; font-weight: 600; font-style: italic; letter-spacing: -.012em; color: #33281B; text-shadow: 0 .15cqw 0 rgba(255,255,255,.18); }
.cv-wd { top: 39.6%; font-family: 'Cinzel', 'Playfair Display', serif; font-size: 3.2cqw; font-weight: 600; letter-spacing: .58em; padding-left: .58em; color: #8E6C2C; }
.cv-h { top: 49.4%; font-family: 'Cinzel', 'Playfair Display', serif; font-size: 1.95cqw; font-weight: 600; letter-spacing: .07em; color: #3A2F22; }
.cv-h.sun { color: #A3262B; }
.cv-n { font-size: 4cqw; font-weight: 700; color: #2B2218; }
.cv-n.on { color: #fff; z-index: 1; }
.cv-n.on::before { content: ''; position: absolute; left: 50%; top: 50%; width: 10.6cqw; aspect-ratio: 128 / 129; transform: translate(-47%, -55%); background: url('cal-vintage-heart.webp') center / contain no-repeat; z-index: -1; }
.cv-when { top: 87.6%; font-family: 'Nanum Myeongjo', 'Noto Serif KR', serif; font-size: 2.35cqw; font-weight: 700; color: #3A2E20; letter-spacing: -.01em; }
/* --- 미니멀 --- */
.cal-minimal { padding: 4cqw 0 3cqw; border-top: 1px solid var(--p-line, #E5E0D8); border-bottom: 1px solid var(--p-line, #E5E0D8); }
.cm-head { display: flex; align-items: baseline; justify-content: center; gap: 2cqw; margin-bottom: 4cqw; }
.cm-head b { font-family: var(--p-head-font, Georgia, serif); font-size: 7cqw; font-weight: 500; }
.cm-head span { font-size: 3cqw; letter-spacing: .2em; color: var(--p-muted, #9A948C); }
.cm-grid { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 1.6cqw; }
.cm-w { font-size: 2.6cqw; letter-spacing: .1em; color: var(--p-muted, #9A948C); padding-bottom: 1.4cqw; }
.cm-d { display: grid; place-items: center; width: 8.4cqw; height: 8.4cqw; margin: 0 auto; border-radius: 50%; font-size: 3.6cqw; font-weight: 300; }
.cm-w.sun, .cm-d.sun { color: var(--p-accent, #7A3B41); }
.cm-d.on { background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); font-weight: 700; }
/* --- 한 주 띠 --- */
.cw-top { font-family: var(--p-head-font, Georgia, serif); font-size: 4.4cqw; letter-spacing: .14em; margin-bottom: 3cqw; color: var(--p-muted, #9A948C); }
.cw-row { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1.4cqw; align-items: end; }
.cw-d { display: flex; flex-direction: column; align-items: center; gap: 1.4cqw; padding: 2.4cqw 0; border-radius: 999px; background: rgba(0,0,0,.035); }
.cw-d i { font-size: 2.6cqw; color: var(--p-muted, #9A948C); }
.cw-d b { font-size: 4.6cqw; font-weight: 500; }
.cw-d.e { visibility: hidden; }
.cw-d.on { padding: 4cqw 0 3cqw; background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); box-shadow: 0 2cqw 4cqw rgba(0,0,0,.14); }
.cw-d.on i { color: rgba(255,255,255,.8); }
.cw-d.on b { font-size: 6cqw; font-weight: 700; }
.cw-d u { text-decoration: none; font-size: 3cqw; line-height: 1; }
.cw-cap { margin-top: 3.4cqw; font-size: 3.4cqw; letter-spacing: .06em; }
/* --- 탁상 달력 --- */
.cal-desk { position: relative; max-width: 60cqw !important; padding-top: 3cqw; }
.cd-rings { position: absolute; left: 0; right: 0; top: 0; display: flex; justify-content: center; gap: 24cqw; z-index: 2; }
.cd-rings i { width: 3.2cqw; height: 7cqw; border-radius: 99px; border: .9cqw solid #8E8A84; border-bottom-color: transparent; background: none; }
.cd-page { position: relative; background: #fff; border-radius: 2.4cqw; overflow: hidden; box-shadow: 0 .8cqw 0 #EDE8E0, 0 1.6cqw 0 #E3DDD3, 0 3.4cqw 5cqw rgba(40,30,20,.16); padding-bottom: 4cqw; }
.cd-band { background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); font-size: 3.2cqw; letter-spacing: .3em; padding: 5cqw 0 2.6cqw; font-weight: 700; }
.cd-day { font-family: var(--p-head-font, Georgia, serif); font-size: 27cqw; line-height: 1.05; color: var(--p-accent, #7A3B41); margin-top: 1cqw; }
.cd-wd { font-size: 3.6cqw; font-weight: 700; }
.cd-time { margin-top: 1.4cqw; font-size: 3cqw; color: var(--p-muted, #9A948C); }
/* --- 밤하늘 골드 --- */
.cal-night { padding: 6cqw 5cqw 5cqw; border-radius: 3cqw; color: #EDE3C8 !important; position: relative;
    background: radial-gradient(1px 1px at 12% 20%, #fff8 50%, transparent 51%), radial-gradient(1px 1px at 78% 14%, #fff9 50%, transparent 51%), radial-gradient(1.4px 1.4px at 88% 64%, #fff7 50%, transparent 51%), radial-gradient(1px 1px at 22% 82%, #fff6 50%, transparent 51%), radial-gradient(1px 1px at 52% 8%, #fff8 50%, transparent 51%), radial-gradient(120% 90% at 50% 0%, #2B3754, #161C2B); }
.cal-night::before { content: ''; position: absolute; inset: 2cqw; border: 1px solid rgba(212,175,106,.55); border-radius: 2cqw; pointer-events: none; }
.cn-head { font-family: var(--p-head-font, Georgia, serif); font-size: 5cqw; letter-spacing: .18em; color: #D4AF6A; margin-bottom: 4cqw; }
.cn-head i { font-size: 2.6cqw; margin: 0 2.4cqw; vertical-align: middle; }
.cn-grid { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 1.6cqw; }
.cn-w { font-size: 2.6cqw; color: rgba(237,227,200,.55); padding-bottom: 1cqw; }
.cn-d { display: grid; place-items: center; width: 8cqw; height: 8cqw; margin: 0 auto; font-size: 3.4cqw; }
.cn-d.sun, .cn-w.sun { color: #E8B98A; }
.cn-d.on { position: relative; border: 1.5px solid #D4AF6A; border-radius: 50%; color: #F5DFA8; font-weight: 700; box-shadow: 0 0 3cqw rgba(212,175,106,.45); }
.cn-d.on::after { content: '✦'; position: absolute; right: -1.6cqw; top: -1.6cqw; font-size: 2.6cqw; color: #F5DFA8; }
.cn-foot { margin-top: 4cqw; font-family: var(--p-head-font, Georgia, serif); font-size: 3.6cqw; font-style: italic; color: #D4AF6A; }
/* --- 하트 --- */
.cal-heart { padding: 5cqw 4cqw 4cqw; border-radius: 4cqw; background: #FFF3F5; box-shadow: inset 0 0 0 1px rgba(214,102,138,.15); }
.ch-head { font-size: 4.4cqw; font-weight: 700; color: #D6668A; letter-spacing: .1em; margin-bottom: 3.4cqw; }
.ch-grid { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 1.8cqw; }
.ch-w { font-size: 2.8cqw; color: #B07C8D; padding-bottom: 1cqw; }
.ch-d { position: relative; display: grid; place-items: center; height: 8cqw; font-size: 3.4cqw; color: #6B4A55; }
.ch-d.sun, .ch-w.sun { color: #D6668A; }
.ch-d.on b { position: relative; z-index: 1; color: #fff; font-weight: 800; }
.ch-d.on i { position: absolute; left: 50%; top: 50%; width: 5.4cqw; height: 5.4cqw; background: #E5738F; transform: translate(-50%, -38%) rotate(45deg); animation: chBeat 1.6s ease-in-out infinite; }
.ch-d.on i::before, .ch-d.on i::after { content: ''; position: absolute; width: 5.4cqw; height: 5.4cqw; border-radius: 50%; background: #E5738F; }
.ch-d.on i::before { left: -2.7cqw; top: 0; } .ch-d.on i::after { left: 0; top: -2.7cqw; }
@keyframes chBeat { 0%, 100% { transform: translate(-50%, -38%) rotate(45deg) scale(1); } 15% { transform: translate(-50%, -38%) rotate(45deg) scale(1.14); } 30% { transform: translate(-50%, -38%) rotate(45deg) scale(1); } }
/* --- 플래너 --- */
.cp-head { display: flex; align-items: center; gap: 3cqw; margin-bottom: 3cqw; text-align: left; }
.cp-head b { font-family: var(--p-head-font, Georgia, serif); font-size: 14cqw; line-height: .9; color: var(--p-accent, #7A3B41); font-weight: 500; }
.cp-head span { font-size: 2.8cqw; letter-spacing: .24em; line-height: 1.6; font-weight: 700; }
.cp-head em { margin-left: auto; font-style: normal; font-size: 3cqw; color: var(--p-muted, #9A948C); }
.cp-grid { display: grid; grid-template-columns: repeat(7, 1fr); border-top: 1.5px solid var(--p-ink, #2B2B2B); border-left: 1px solid var(--p-line, #E5E0D8); }
.cp-w { font-size: 2.3cqw; font-weight: 700; letter-spacing: .08em; padding: 1.4cqw 0; border-right: 1px solid var(--p-line, #E5E0D8); border-bottom: 1px solid var(--p-line, #E5E0D8); }
.cp-d { position: relative; height: 10cqw; padding: 1cqw 1.2cqw; text-align: left; font-size: 2.9cqw; border-right: 1px solid var(--p-line, #E5E0D8); border-bottom: 1px solid var(--p-line, #E5E0D8); }
.cp-d.past { color: var(--p-muted, #9A948C); background: linear-gradient(to top right, transparent calc(50% - .5px), rgba(0,0,0,.12) 50%, transparent calc(50% + .5px)); }
.cp-d.on { background: var(--p-accent, #7A3B41); color: var(--p-on-accent, #fff); }
.cp-d.on b { font-weight: 800; }
.cp-d.on small { position: absolute; left: 0; right: 0; bottom: 1.2cqw; text-align: center; font-size: 2.1cqw; font-style: italic; font-family: var(--p-head-font, Georgia, serif); }
@media (prefers-reduced-motion: reduce) { .ch-d.on i { animation: none; } }
/* 플립 시계 + 배경 사진: 에디터에서 보이는 모양 그대로 - 뒷판(사진)은 청첩장 폭의 74%로 고정하고 카드 줄이 양옆으로 살짝 걸치게.
   (예전엔 뒷판이 섹션 폭을 따라가서 휴대폰 폭마다 뒷판 모양이 달라 보였음) */
.dday-countdown.dd-flip.dd-has-bg { width: 74cqw; max-width: 100%; margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; }
/* 숫자를 길게 눌렀을 때 파란 선택 표시가 생기지 않게 */
.dday-countdown { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }

/* 마음 전하실 곳 자유 배치 - 자동 정렬(이름 | 계좌 두 열): 모든 줄의 계좌가 같은 자리에서 시작하고 묶음 전체는 가운데 */
.drag-part.acc-row { display: grid !important; grid-template-columns: 6.4em var(--acc-vw, 14em); column-gap: .7em; justify-content: center; align-items: baseline; text-align: left; }
.drag-part.acc-row .acc-l { font-weight: 500; font-size: .92em; text-align: right; opacity: .72; white-space: nowrap; }
.drag-part.acc-row .acc-v { white-space: nowrap; text-align: left; }
/* 공개 페이지 자유 배치 계좌 줄: 누르면 계좌번호 복사 (invite-blocks.js) */
[data-ib-copyrow] { cursor: pointer; -webkit-tap-highlight-color: transparent; }
[data-ib-copyrow]:active { opacity: .6; }
/* 메인 레이아웃 문구 칸 (heroLayersHtml) - 여러 줄 큰 글씨가 너무 벌어지지 않게 */
.drag-part.op-layer { line-height: 1.02; }
/* 메인 문구 칸: 세로쓰기 · 곡선 · 등장 효과 */
.drag-part.op-layer.hl-vert { writing-mode: vertical-rl; text-orientation: upright; line-height: 1.15; letter-spacing: .05em; white-space: nowrap; }
.drag-part.op-layer.hl-vert-side { text-orientation: mixed; }
.drag-part.op-layer.hl-curve { line-height: 0; } .op-layer .hl-arc { display: block; overflow: visible; }
/* 숨김(hl-arm)으로 갈 때는 바로, 나타날 때(hl-run)만 천천히 - 숨길 때도 천천히 하면 다 사라지기 전에 다시 나타나서 효과가 안 보임 */
.op-layer.hl-arm.hl-run { transition-property: opacity, translate, scale, -webkit-mask-position, mask-position; transition-duration: var(--hl-dur, 1.8s); transition-delay: var(--hl-delay, 0s); transition-timing-function: ease; }
.op-layer.hl-arm.hl-a-fade { opacity: 0; } .op-layer.hl-arm.hl-a-up { opacity: 0; translate: 0 14px; } .op-layer.hl-arm.hl-a-zoom { opacity: 0; scale: .9; }
.op-layer.hl-arm.hl-a-write { -webkit-mask-image: linear-gradient(90deg, #000 0 40%, transparent 60% 100%); mask-image: linear-gradient(90deg, #000 0 40%, transparent 60% 100%); -webkit-mask-size: 250% 100%; mask-size: 250% 100%; -webkit-mask-position: 100% 0; mask-position: 100% 0; transition-timing-function: cubic-bezier(.4, .1, .5, .95); }
.op-layer.hl-arm.hl-a-write.hl-vert { -webkit-mask-image: linear-gradient(180deg, #000 0 40%, transparent 60% 100%); mask-image: linear-gradient(180deg, #000 0 40%, transparent 60% 100%); -webkit-mask-size: 100% 250%; mask-size: 100% 250%; -webkit-mask-position: 0 100%; mask-position: 0 100%; }
.op-layer.hl-arm.hl-run.hl-a-fade, .op-layer.hl-arm.hl-run.hl-a-up, .op-layer.hl-arm.hl-run.hl-a-zoom { opacity: 1; translate: 0 0; scale: 1; }
.op-layer.hl-arm.hl-run.hl-a-write { -webkit-mask-position: 0 0; mask-position: 0 0; transition-timing-function: cubic-bezier(.4, .1, .5, .95); }
@media (prefers-reduced-motion: reduce) { .op-layer.hl-arm { transition: none; opacity: 1 !important; translate: none !important; scale: none !important; -webkit-mask-image: none !important; mask-image: none !important; } }
/* 메인 사진 칸 모드 (레이아웃): 화면 한 장 바탕 위에 사진을 원하는 자리·모양으로 */
.hero-photo-wrap.hero-full-wrap.hero-boxed { position: relative; height: 100vh; height: 100svh; background: var(--p-bg); background-image: var(--p-paper, none); background-size: 300px; background-blend-mode: multiply; overflow: hidden; } /* 종이 질감도 아래 섹션과 같게 */
.hero-boxed .hero-box { position: absolute; overflow: hidden; }
.hero-boxed .hero-box .hero-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
/* 유튜브 히어로를 사진 칸 레이아웃에: 영상이 칸(.hero-vbox) 안에서 꽉 차게 (fitVideoCover가 칸 크기로 맞춤) */
.video-cover-wrap.hero-boxed { background: var(--p-bg, #F6F3EE); background-image: var(--p-paper, none); background-size: 300px; background-blend-mode: multiply; }
.hero-boxed .hero-box .hero-vbox { position: relative; width: 100%; height: 100%; overflow: hidden; background: #000; }
.hero-boxed .hb-fr-polaroid .hero-vbox { height: 74%; }
.hero-boxed .hb-fr-arch .hero-vbox { border-radius: 999px 999px 0 0; } .hero-boxed .hb-fr-rounded .hero-vbox { border-radius: 14px; }
.hero-boxed .hb-fr-rounded { border-radius: 14px; }
.hero-boxed .hb-fr-arch { border-radius: 999px 999px 0 0; }
.hero-boxed .hb-fr-shadow { box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.hero-boxed .hb-fr-polaroid { background: #fff; padding: 5% 5% 0; box-sizing: border-box; box-shadow: 0 8px 24px rgba(0,0,0,.14); overflow: visible; }
.hero-boxed .hb-ph { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; border-radius: inherit; } /* 사진 + '글자 잘 보이게' (사진 위에만) */
.hero-boxed .hb-fr-polaroid .hb-ph { height: 74%; border-radius: 0; }
/* 금테 액자 (천사의 편지): 금빛 두 줄 테 + 네 모서리·위아래 가운데 바로크 장식 (assets/frames/baroque-*.webp = 빈티지 금테 그림에서 바탕을 지우고 잘라 낸 것) */
.hero-boxed .hb-fr-baroque { overflow: visible; box-shadow: 0 10px 26px rgba(80, 50, 20, .22); }
.hero-boxed .hb-fr-baroque::before { content: ''; position: absolute; inset: -6px; z-index: 2; pointer-events: none; border: 2px solid #C49A4C; box-shadow: inset 0 0 0 3px rgba(245, 235, 218, .92), inset 0 0 0 4px #D9B66B; }
.hero-boxed .hb-fr-baroque::after { content: ''; position: absolute; inset: -26px; z-index: 3; pointer-events: none;
    background: url('frames/baroque-c-tl.webp') top left / 78px no-repeat, url('frames/baroque-c-tr.webp') top right / 78px no-repeat, url('frames/baroque-c-bl.webp') bottom left / 78px no-repeat,
        url('frames/baroque-c-br.webp') bottom right / 78px no-repeat, url('frames/baroque-cr-t.webp') top center / 92px no-repeat, url('frames/baroque-cr-b.webp') bottom center / 80px no-repeat; }
.hero-boxed .hb-fr-baroque .hero-vbox { z-index: 1; }
.video-cover-wrap.hero-boxed > .ib-shade { display: none; } /* 영상 칸 레이아웃: 그라데이션은 칸 안(.hero-vbox)에 */
/* 안내 말씀: 슬라이드 · 탭 */
.ib-notice-slide .ib-nt-track { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 12px -24px 0; padding: 4px 24px 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ib-notice-slide .ib-nt-track::-webkit-scrollbar { display: none; }
.ib-nt-card { flex: 0 0 82%; scroll-snap-align: center; border-radius: 14px; background: #fff; border: 1px solid var(--p-line); box-shadow: 0 6px 18px rgba(0,0,0,.06); overflow: hidden; text-align: left; }
.ib-nt-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ib-nt-card:only-child { flex-basis: 100%; }
.ib-nt-tabs { display: flex; margin: 12px 0 14px; border-bottom: 1px solid var(--p-line); }
.ib-nt-tabs button { flex: 1; min-width: 0; border: 0; background: none; padding: 10px 4px; font: inherit; font-size: 13px; color: var(--p-muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-nt-tabs button.on { color: var(--p-ink); font-weight: 600; border-bottom-color: var(--p-accent); }
.ib-nt-panel img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.ib-nt-panel .ib-notice-body { padding: 14px 4px 0; text-align: center; }
.ib-nt-panel[hidden] { display: none; }


/* ===== 인트로 글자 효과 (InviteBlocks.RichText.animate) - .intro-text에 .ibx-a-효과, 글자 .ibx-ch(--i 글자 번호, --l 줄 번호) ===== */
[class*="ibx-a-"] .intro-cursor, [class*="ibx-a-"] .rt-cursor { display: none !important; }
[class*="ibx-a-"] .ibx-w { display: inline-block; white-space: nowrap; }
[class*="ibx-a-"] .ibx-ch { display: inline-block; }
.ibx-a-fade .intro-typed, .ibx-a-zoom .intro-typed { display: inline-block; }
.ibx-a-fade .intro-typed { animation: ibxFade var(--ibx-total, 1500ms) ease both; }
.ibx-a-zoom .intro-typed { animation: ibxZoom var(--ibx-total, 1500ms) cubic-bezier(.2,.7,.2,1) both; }
/* 손글씨처럼: 글자마다 윤곽선(SVG text 선)이 한 획씩 그려진 뒤 속이 채워지고 선은 옅어짐 */
.ibx-a-draw .ibx-fill { opacity: 0; animation: ibxFillIn .45s ease forwards; animation-delay: calc(var(--i) * var(--ibx-dstep, 60ms) + var(--ibx-draw, 1000ms) * .92); }
.ibx-a-draw .ibx-stroke { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.ibx-a-draw .ibx-stroke text { font: inherit; fill: none; stroke: currentColor; stroke-width: var(--sw, 1px); stroke-linecap: round; stroke-linejoin: round;
    stroke-dasharray: var(--L, 400) var(--L, 400); stroke-dashoffset: var(--L, 400);
    animation: ibxStroke var(--ibx-draw, 1000ms) cubic-bezier(.4,.15,.5,1) forwards, ibxStrokeOut .5s ease forwards;
    animation-delay: calc(var(--i) * var(--ibx-dstep, 60ms)), calc(var(--i) * var(--ibx-dstep, 60ms) + var(--ibx-draw, 1000ms) + .3s); }
/* 영문 낱말 한 칸(.ibx-word, 필기체 이음 유지): 선은 그려지면서 왼쪽부터 쓸듯이 드러나고, 속도 왼쪽부터 채워짐 */
.ibx-a-draw .ibx-word .ibx-stroke { animation: ibxSweep var(--ibx-draw, 1000ms) cubic-bezier(.4,.15,.5,1) both; animation-delay: calc(var(--i) * var(--ibx-dstep, 60ms)); }
.ibx-a-draw .ibx-word .ibx-fill { opacity: 1; animation: ibxSweep .6s ease both; animation-delay: calc(var(--i) * var(--ibx-dstep, 60ms) + var(--ibx-draw, 1000ms) * .85); }
@keyframes ibxSweep { from { clip-path: inset(-40% 100% -40% -15%); } to { clip-path: inset(-40% -15% -40% -15%); } }
@keyframes ibxStroke { to { stroke-dashoffset: 0; } }
@keyframes ibxStrokeOut { to { stroke-opacity: 0; } }
@keyframes ibxFillIn { to { opacity: 1; } }
.ibx-a-rise .ibx-ch { animation: ibxRise .75s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--i) * var(--ibx-step, 60ms)); }
.ibx-a-blur .ibx-ch { animation: ibxBlur .95s ease both; animation-delay: calc(var(--i) * var(--ibx-step, 60ms)); }
.ibx-a-pop .ibx-ch { animation: ibxPop .55s cubic-bezier(.3,1.5,.5,1) both; animation-delay: calc(var(--i) * var(--ibx-step, 60ms)); }
.ibx-a-line .ibx-ch { animation: ibxLine .85s cubic-bezier(.2,.7,.2,1) both; animation-delay: calc(var(--l) * var(--ibx-step, 300ms)); }
@keyframes ibxFade { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes ibxZoom { from { opacity: 0; transform: scale(1.35); filter: blur(5px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes ibxRise { from { opacity: 0; transform: translateY(.55em); } to { opacity: 1; transform: none; } }
@keyframes ibxBlur { from { opacity: 0; filter: blur(9px); transform: scale(1.12); } to { opacity: 1; filter: none; transform: none; } }
@keyframes ibxPop { 0% { opacity: 0; transform: scale(.3); } 70% { opacity: 1; transform: scale(1.14); } 100% { opacity: 1; transform: none; } }
@keyframes ibxLine { from { opacity: 0; transform: translateY(.9em); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [class*="ibx-a-"] .ibx-ch, [class*="ibx-a-"] .intro-typed, .ibx-a-draw .ibx-fill, .ibx-a-draw .ibx-stroke text { animation: none !important; } .ibx-a-draw .ibx-fill { opacity: 1; } .ibx-a-draw .ibx-stroke { display: none; } }
/* 인트로 '메인 화면 위' (투명 배경): 청첩장 메인 화면이 비치고 글자만 움직임 */
.intro-overlay.intro-clear { background: rgba(0,0,0,var(--intro-dim, .3)) !important; }

/* ===== 글 줄바꿈 (청첩장 전체) =====
   - 낱말 가운데서 끊지 않기 (keep-all: "살겠습니다"가 "살 / 겠습니다"로 갈라지지 않게) - 띄어쓰기 없는 긴 글만 칸 끝에서 끊음
   - 문단은 마지막 줄에 한두 글자만 남지 않게 (text-wrap: pretty), 제목·짧은 글은 줄 길이를 고르게 (balance)
   - 손님이 쓴 방명록 글도 낱말 단위로 (아주 긴 주소·숫자만 끊음) */
.col[data-block-id] { word-break: keep-all; overflow-wrap: break-word; }
.col[data-block-id] :is(p, li, dd, .ib-day-item p, .ib-ty-in, .ib-gb-msg) { text-wrap: pretty; }
.col[data-block-id] :is(h1, h2, h3, h4, .ib-title, .ib-title-layer, .ib-eyebrow, .ib-ty-in h3, .ib-day-item b, .drag-part) { text-wrap: balance; }
.col[data-block-id] .ib-gb-msg { word-break: keep-all; overflow-wrap: anywhere; }
/* 계좌 예금주: 괄호 대신 옅은 글씨로 계좌번호 옆에 */
.ib-acc-hd { margin-left: .5em; opacity: .62; font-size: .94em; white-space: nowrap; }

/* 날씨 따라 (장식 효과 'weather'): 첫 화면 색감 + 미리보기 이름표 (비 → 눈 → 맑음) */
.ib-wx-tint { position: absolute; inset: 0; z-index: 2; pointer-events: none; transition: background 1.2s ease; }
.ib-wx-badge { position: absolute; left: 50%; top: 4.5%; z-index: 7; translate: -50% 0; pointer-events: none; white-space: nowrap; font: 600 12px/1 "Pretendard Variable", Pretendard, system-ui, sans-serif; color: #fff; background: rgba(20, 20, 26, .42); border: 1px solid rgba(255,255,255,.28); padding: 7px 13px; border-radius: 99px; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.ib-wx-badge.ib-wx-in { animation: ibWxIn .6s ease both; }
@keyframes ibWxIn { from { opacity: 0; transform: translateY(-6px); } }
.ambient-field.ib-wx-out { transition: opacity .9s ease; opacity: 0 !important; }

/* ===== 어두운 디자인(.ib-dark, 청첩장 바탕이 어두우면 저절로) · 어두운 섹션 테마(.ib-sk-dark): 섹션 안 흰 카드·창을 어둡게 =====
   흰 카드 + 밝은 글자(어두운 디자인 글자색)라 글이 안 보이던 것 (방명록·안내·계좌·연락처·감사 인사 …) */
:is(.ib-dark, .ib-sk-dark) { --ib-card: color-mix(in srgb, var(--p-ink) 8%, var(--p-bg)); --ib-card2: color-mix(in srgb, var(--p-ink) 14%, var(--p-bg)); --ib-cline: color-mix(in srgb, var(--p-ink) 18%, transparent); }
@supports not (color: color-mix(in srgb, red, blue)) { /* color-mix를 모르는 옛 브라우저 (삼성 인터넷 21 이하 등): 카드가 흰색으로 남지 않게 반투명 흰색으로 */
    :is(.ib-dark, .ib-sk-dark) { --ib-card: rgba(255, 255, 255, .08); --ib-card2: rgba(255, 255, 255, .14); --ib-cline: rgba(255, 255, 255, .18); }
}
:is(.ib-dark, .ib-sk-dark) :is(.ib-contact-side, .ib-notice-item, .ib-acc-side, .ib-gb-item, .ib-gb-more, .ib-day-item, .ib-trip-post, .ib-lot-prizes, .ib-lot-me, .ib-lot-round,
    .ib-thanks, .ib-ty-card .ib-ty-in, .ib-ty-letter .ib-ty-in, .ib-nt-card, .ib-cal-opt, .dd-tk-r, .ib-icon-btn, .ib-copy-btn, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-anniv) {
    background: var(--ib-card); border-color: var(--ib-cline); color: var(--p-ink); box-shadow: none; }
:is(.ib-dark, .ib-sk-dark) :is(.ib-icon-btn, .ib-copy-btn, .ib-cal-btn) { background: var(--ib-card2); color: var(--p-accent); }
:is(.ib-dark, .ib-sk-dark) .dd-bubble .dd-u { background: color-mix(in srgb, var(--p-accent) 18%, var(--p-bg)); }
:is(.ib-dark, .ib-sk-dark) :is(.ib-thanks h3, .ib-thanks p, .ib-ty-card .ib-ty-in, .ib-ty-letter .ib-ty-in) { color: var(--p-ink); }
:is(.ib-dark, .ib-sk-dark) :is(.ib-ty-card .ib-ty-sign, .ib-ty-letter .ib-ty-sign, .ib-thanks .ib-thanks-sign) { color: var(--p-muted); }
:is(.ib-dark, .ib-sk-dark) .ib-ty-letter .ib-ty-in { background-image: repeating-linear-gradient(transparent 0 30px, color-mix(in srgb, var(--p-ink) 9%, transparent) 30px 31px); }
:is(.ib-dark, .ib-sk-dark) .ib-ty-letter .ib-ty-in::before { border-color: var(--ib-cline); }
:is(.ib-dark, .ib-sk-dark) .dd-tk-r { border-left-color: var(--ib-cline); }
:is(.ib-dark, .ib-sk-dark) :is(.ib-gb-item, .ib-notice-item, .ib-nt-card) [style*="background-color"] { color: #2B2320; } /* 형광펜 칠한 글자는 어둡게 */
/* 어두운 디자인: 팝업 창 (참석 여부·방명록 쓰기·캘린더에 저장·링크 복사 …) - openModal이 .ib-modal에 .ib-dark를 붙임 */
.ib-modal.ib-dark :is(input:not([type=radio]):not([type=checkbox]), textarea, select) { background: var(--ib-card); color: var(--p-ink); border-color: var(--ib-cline); }
.ib-modal.ib-dark :is(input, textarea)::placeholder { color: var(--p-muted, rgba(255,255,255,.5)); }
.ib-modal.ib-dark :is(.ib-seg-opt span, .ib-stepper, .ib-f-sub2) { background: var(--ib-card); color: var(--p-ink); border-color: var(--ib-cline); }
.ib-modal.ib-dark .ib-seg-opt input:checked + span, .ib-modal.ib-dark .ib-f-submit { color: var(--p-bg); } /* 어두운 디자인은 포인트 색이 밝아서 흰 글씨가 안 보임 */
.ib-modal.ib-dark .rt-wrap { background: var(--ib-card); border-color: var(--ib-cline); }
.ib-modal.ib-dark .rt-bar { background: var(--ib-card2); border-bottom-color: var(--ib-cline); }
.ib-modal.ib-dark .rt-b { background: var(--ib-card); color: var(--p-ink); border-color: var(--ib-cline); }
.ib-modal.ib-dark .rt-b:hover, .ib-modal.ib-dark .rt-item:hover { background: var(--ib-card2); }
.ib-modal.ib-dark .rt-b.on { background: var(--p-ink); border-color: var(--p-ink); color: var(--p-bg); }
.ib-modal.ib-dark .rt-pop { background: var(--p-bg); border-color: var(--ib-cline); box-shadow: 0 8px 24px rgba(0,0,0,.4); }
.ib-modal.ib-dark .rt-item { color: var(--p-ink); }
.ib-modal.ib-dark .rt-emo-tab { background: var(--ib-card); color: var(--p-muted); }
.ib-modal.ib-dark .rt-caret { color: var(--p-muted); }
/* 어두운 디자인: 섹션 안 나머지 밝은 칸 - 인터뷰 이름표 · 추첨 입력 칸 · 손편지 기본 종이(종이를 따로 고르지 않았을 때) */
:is(.ib-dark, .ib-sk-dark) .iv-tag.iv-groom { background: rgba(122, 156, 224, .18); color: #AFC5F2; }
:is(.ib-dark, .ib-sk-dark) .iv-tag.iv-bride { background: rgba(226, 136, 158, .18); color: #F2B8C6; }
:is(.ib-dark, .ib-sk-dark) .ib-lot-form input { background: var(--ib-card); color: var(--p-ink); border-color: var(--ib-cline); }
:is(.ib-dark, .ib-sk-dark) .ib-paper.ib-paper-def:not(.ib-paper-white):not(.ib-paper-ivory):not(.ib-paper-kraft) { background-color: var(--ib-card); color: var(--p-ink); box-shadow: none; border: 1px solid var(--ib-cline); }
/* 어두운 디자인: 공유 버튼을 펼친 메뉴 (body에 붙음 → .ib-fab-ondark) */
.ib-fab-ondark .ib-fab-menu button { background: rgba(32, 30, 40, .94); color: #EDEAF2; box-shadow: 0 4px 16px rgba(0,0,0,.4); }
.ib-fab-ondark .ib-fab-menu button > span { background: rgba(255,255,255,.1); }
/* 밝은 색 섹션 테마(다른 디자인 색)가 어두운 청첩장 안에 있으면 그 칸은 다시 밝게 */
.ib-sk-light :is(.ib-contact-side, .ib-notice-item, .ib-acc-side, .ib-gb-item, .ib-gb-more, .ib-day-item, .ib-trip-post, .ib-lot-prizes, .ib-lot-me, .ib-lot-round,
    .ib-thanks, .ib-ty-card .ib-ty-in, .ib-nt-card, .ib-cal-opt, .dd-tk-r, .ib-icon-btn, .ib-copy-btn, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-anniv) {
    background: color-mix(in srgb, #fff 82%, var(--p-bg)); border-color: var(--p-line); color: var(--p-ink); }

/* ===== 섹션 테마 (섹션 하나만 다른 모양 · boxColAttrs가 .col에 .ib-sk-*) - 섹션 칸 전체를 가로로 꽉 채운 띠 ===== */
.col.ib-sk { position: relative; clip-path: inset(0 -100vmax); } /* 섹션 바탕·글자색은 늘 화면 설정 색 (섹션 테마·디자인 스킨은 모양·포인트 색만 - 예전엔 칸마다 제 바탕 띠를 깔았음) */
.col.ib-sk-pal { --sk-bg: var(--p-bg); }
/* 색 바꾸면 꾸밈도 같이 '꺼짐'일 때 청첩장 맨 위(root)에 디자인 원래 포인트 색(--tp-a/l/o)이 들어감 → 따로 고른 섹션 테마·스킨은 제 색을 쓰게 되돌림 */
.col.ib-sk { --tp-a: initial; --tp-l: initial; --tp-o: initial; }
/* 빈티지 큐피드: 양피지 띠 + 금테 + 위 양쪽 모서리 큐피드·비둘기 (디데이 빈티지 달력 그림) + 제목 ❦ */
.col.ib-sk-vintage { font-family: 'Gowun Batang', 'Nanum Myeongjo', 'Noto Serif KR', serif; }
.col.ib-sk-vintage::before, .col.ib-sk-vintage::after { content: ''; position: absolute; z-index: 3; pointer-events: none; top: 2px; background: url('cal-vintage.webp') no-repeat; opacity: .95; }
.col.ib-sk-vintage::before { left: -6px; width: 64px; height: 54px; background-size: 207px 138px; background-position: -5px -3px; }
.col.ib-sk-vintage::after { right: -4px; width: 58px; height: 48px; background-size: 210px 140px; background-position: -148px -2px; }
.col.ib-sk-vintage .ib-title::before, .col.ib-sk-vintage .ib-title::after { content: '❦'; margin: 0 8px; font-size: .62em; color: #CDB27A; vertical-align: .15em; }
.col.ib-sk-vintage :is(.ib-contact-side, .ib-notice-item, .ib-acc-side, .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) {
    background: #FFFBF2; border: 1px solid #D9C49A; border-radius: 6px; box-shadow: inset 0 0 0 3px #FFFBF2, inset 0 0 0 4px rgba(205,178,122,.5), 0 2px 10px rgba(120,90,50,.08); color: #4A3A2A; }
.col.ib-sk-vintage :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn) { background: #FFFDF8; border-color: #DDB0AE; color: #A4524F; }
.col.ib-sk-vintage :is(.ib-gb-item + .ib-gb-item, .ib-notice-item + .ib-notice-item) { margin-top: 10px; }
/* 밤하늘 골드: 짙은 남색 + 작은 별 + 금빛 테 (별빛 우주·미드나잇 디자인에 어울리게) */
.col.ib-sk-night { }
.col.ib-sk-night :is(.ib-contact-side, .ib-notice-item, .ib-acc-side, .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) {
    background: rgba(255,255,255,.05); border: 1px solid rgba(226,201,142,.32); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 30px rgba(0,0,0,.25); }
.col.ib-sk-night .ib-title { color: var(--p-accent); letter-spacing: .08em; }
.col.ib-sk-night:not(.ib-tho) .ib-title::after { content: none; } /* (제목 양옆 ✦ 기호는 뺌 - 모던 리뉴얼 2026-10-11, 위 머리글은 디자인 테마 스킨 쪽 · 꾸밈 스타일 '예전'(.ib-tho)이면 그대로) */
.col.ib-sk-night.ib-tho .ib-title::before, .col.ib-sk-night.ib-tho .ib-title::after { content: '✦'; margin: 0 8px; font-size: .55em; color: var(--p-accent); opacity: .8; vertical-align: .2em; } /* 꾸밈 스타일 '예전': 리뉴얼 전 밤하늘 제목 ✦ */
/* 안개 유리: 비 오는 창처럼 푸른 회색 + 뿌연 유리 카드 (비 오는 날 디자인에 어울리게) */
.col.ib-sk-mist { }
.col.ib-sk-mist :is(.ib-contact-side, .ib-notice-item, .ib-acc-side, .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) {
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.col.ib-sk-mist .ib-title { letter-spacing: .1em; font-weight: 500; }

/* ===== 갤러리 차라락 (갤러리 data-ib-reveal: seq 차례로 / random 무작위로) - 스크롤로 닿으면 사진이 하나씩 톡톡 ===== */
.blk-gallery.rv-arm .grid img { opacity: 0; transform: scale(.78) rotate(var(--rv-r, 0deg)); }
.blk-gallery.rv-arm.rv-run .grid img { opacity: 1; transform: none; transition: opacity .38s ease var(--rv-d, 0s), transform .55s cubic-bezier(.3, 1.5, .5, 1) var(--rv-d, 0s); }
@media (prefers-reduced-motion: reduce) { .blk-gallery.rv-arm .grid img { opacity: 1; transform: none; transition: none; } }

/* ===== 웹툰 ===== */
/* 메인 사진 칸 '웹툰 컷' 틀: 굵은 먹선 + 밀린 그림자 */
.hero-boxed .hb-fr-comic { border: 3.5px solid #1B1B1F; box-shadow: 6px 6px 0 #1B1B1F; box-sizing: border-box; background: #fff; }
/* 문구 칸 글자 상자 (layout.deco) */
.op-layer.hl-deco { line-height: 1.3; }
.op-layer.hl-d-caption, .op-layer.hl-d-caption-w { background: #FFD93D; border: 2.5px solid #1B1B1F; box-shadow: 3px 3px 0 #1B1B1F; padding: .45em .8em .35em !important; font-weight: 700; text-shadow: none !important; }
.op-layer.hl-d-caption-w { background: #FFFFFF; }
.op-layer.hl-d-bubble { background: #FFFFFF; border: 3px solid #1B1B1F; border-radius: 50% / 46%; padding: .75em 1.2em .65em !important; text-shadow: none !important; line-height: 1.2; }
.op-layer.hl-d-bubble::after { content: ''; position: absolute; left: 24%; bottom: -16px; width: 22px; height: 18px; background: #FFFFFF; border-right: 3px solid #1B1B1F; border-bottom: 3px solid #1B1B1F; transform: skewX(32deg) rotate(8deg); clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 40%); }
.op-layer.hl-d-sfx { -webkit-text-stroke: .085em #1B1B1F; paint-order: stroke fill; text-shadow: .07em .07em 0 #1B1B1F, -.04em -.04em 0 #FFFFFF, .04em -.04em 0 #FFFFFF, -.04em .04em 0 #FFFFFF !important; line-height: 1.02; }
.op-layer.hl-d-tag { background: #F0445A; border: 2px solid #1B1B1F; border-radius: 999px; padding: .28em .75em .14em !important; text-shadow: none !important; line-height: 1.1; }
.op-layer.hl-d-seal { background: var(--p-accent, #B04A35); color: var(--p-on-accent, #FFFFFF); border-radius: 4px; padding: .3em .36em .24em !important; line-height: 1; text-shadow: none !important; box-shadow: inset 0 0 0 .1em color-mix(in srgb, #FFFFFF 26%, transparent); }
.op-layer.hl-d-card { background: #FFFFFF; color: #1E2833; border-radius: 14px; padding: .9em 1.2em !important; line-height: 1.5; text-shadow: none !important; box-shadow: 0 12px 30px -14px rgba(0, 0, 0, .35); }
.op-layer.hl-d-line { border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; border-radius: 0; padding: .55em .9em !important; line-height: 1.2; }
/* 섹션 테마 '웹툰 컷': 흰 바탕 + 망점 + 굵은 먹선 카드(밀린 그림자) + 말풍선 제목 */
.col.ib-sk-webtoon { }
.col.ib-sk-webtoon :is(.ib-contact-side, .ib-notice-item, .ib-acc-side, .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) {
    background: #FFFFFF; border: 2.5px solid #1B1B1F; border-radius: 4px; box-shadow: 4px 4px 0 #1B1B1F; color: #1B1B1F; }
.col.ib-sk-webtoon :is(.ib-gb-item + .ib-gb-item, .ib-notice-item + .ib-notice-item) { margin-top: 12px; }
.col.ib-sk-webtoon :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { background: #FFD93D; border: 2px solid #1B1B1F; color: #1B1B1F; border-radius: 999px; box-shadow: 2px 2px 0 #1B1B1F; font-weight: 700; }
.col.ib-sk-webtoon :is(.ib-title, .op-title) { font-family: 'Black Han Sans', var(--p-head-font); font-weight: 400; background: #FFFFFF; border: 2px solid #1B1B1F; border-radius: 999px; box-shadow: 3px 3px 0 #1B1B1F; padding: 5px 16px 3px !important; letter-spacing: .02em; }
.col.ib-sk-webtoon .ib-title:not(.ib-title-layer) { display: table; margin-inline: auto; position: relative; }
.col.ib-sk-webtoon :is(.ib-title, .op-title)::after { content: ''; position: absolute; left: 22px; bottom: -10px; width: 12px; height: 10px; background: #FFFFFF; border-right: 2px solid #1B1B1F; border-bottom: 2px solid #1B1B1F; transform: skewX(30deg); }
.col.ib-sk-webtoon .blk-gallery .grid img { border: 2px solid #1B1B1F; box-sizing: border-box; }
/* 웹툰 컷 방명록 = 페르소나5 말풍선: 기울어진 각진 검은 말풍선 + 흰 테두리 + 빨간 그림자 판, 기울어진 이름표 (짝수 줄은 흰 말풍선·반대쪽) */
.col.ib-sk-webtoon .ib-gb-card .ib-gb-list { display: flex; flex-direction: column; gap: 14px; padding: 6px 2px 12px; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-item { position: relative; isolation: isolate; width: auto; max-width: 92%; margin: 0 !important; align-self: flex-start; box-sizing: border-box;
    background: none !important; border: 0 !important; border-radius: 0; box-shadow: none !important; color: #FFFFFF !important; padding: 22px 26px 30px 24px; transform: rotate(-1.4deg); }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-item::before { content: ''; position: absolute; inset: 9px 0 0 0; z-index: -1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 72' preserveAspectRatio='none'%3E%3Cpolygon points='8,10 100,3 97,62 62,63 53,72 51,63 4,66' fill='%23F0445A'/%3E%3Cpolygon points='1,5 95,0 92,57 57,58 45,70 46,58 3,60' fill='%231B1B1F' stroke='%23FFFFFF' stroke-width='3' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-item:nth-child(even) { align-self: flex-end; color: #1B1B1F !important; transform: rotate(1.4deg); padding: 22px 24px 30px 26px; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-item:nth-child(even)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 72' preserveAspectRatio='none'%3E%3Cpolygon points='0,3 92,10 96,66 49,63 47,72 38,63 3,62' fill='%23F0445A'/%3E%3Cpolygon points='5,0 99,5 97,60 54,58 55,70 43,57 8,57' fill='%23FFFFFF' stroke='%231B1B1F' stroke-width='3' stroke-linejoin='miter' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-head { margin: -14px 0 4px -6px; gap: 10px; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-head b { display: inline-block; padding: 3px 11px 2px; background: #FFFFFF; color: #1B1B1F; font-family: 'Black Han Sans', var(--p-head-font); font-weight: 400; font-size: 14px; letter-spacing: .02em;
    transform: rotate(-5deg) skewX(-12deg); box-shadow: 3px 3px 0 #F0445A; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-item:nth-child(even) .ib-gb-head b { background: #1B1B1F; color: #FFFFFF; transform: rotate(4deg) skewX(12deg); }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-head span { color: #F0445A; font-weight: 700; font-style: italic; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-msg { margin-top: 2px; color: inherit; font-weight: 600; line-height: 1.6; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-item:not(:nth-child(even)) .ib-gb-del { color: #FFFFFF; }
.col.ib-sk-webtoon .ib-gb-card .ib-gb-msg [style*="background"] { color: #1B1B1F !important; padding: 0 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
/* ===== 디자인 테마 스킨 (block.skinPal.deco → boxColAttrs가 .col에 .ib-th .ib-th-*): 섹션 하나만 그 디자인 느낌 = 색·글꼴·모서리·종이 + 디자인마다 다른 꾸밈 =====
   꾸밈 그림(::before/::after)은 z-index -1 (.col.ib-sk가 clip-path라 칸 안에서만 - 글자 아래), 칸 밖 띠는 왼쪽·오른쪽 24px 여백까지. 카드 목록은 어두운 디자인 목록과 같음 */
.col.ib-th { font-family: var(--p-body-font); background-image: var(--sk-paper, none); background-size: 300px; background-blend-mode: multiply; --th-card: color-mix(in srgb, var(--p-bg) 45%, #FFFFFF); }
.col.ib-th.ib-sk-dark { --th-card: var(--ib-card); }
.col.ib-th :is(.ib-title-layer[data-part="title"], .op-title) { font-family: var(--p-head-font); font-weight: var(--p-head-weight, 600); }
.col.ib-th-bold :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .12em; font-weight: 800; }
.col.ib-th-bold :is(.ib-title-layer[data-part="title"], .op-title)::after { content: ''; position: absolute; left: 50%; bottom: -5px; width: 22px; height: 3px; margin-left: -11px; background: var(--tp-a, var(--p-accent)); }
.col.ib-th-bold :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-left: 3px solid var(--tp-a, var(--p-accent)); border-radius: 0; box-shadow: 0 0 0 1px var(--tp-l, var(--p-line)); }
.col.ib-th-bold :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 0; }
.col.ib-th-typo :is(.ib-title-layer[data-part="title"], .op-title) { font-size: 1.22em !important; letter-spacing: -.01em; font-weight: 800; }
.col.ib-th-typo :is(.ib-title-layer[data-part="title"], .op-title)::after { content: ''; position: absolute; left: 50%; bottom: -7px; width: 40px; height: 1px; margin-left: -20px; background: var(--p-ink); }
.col.ib-th-typo :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: transparent; border: 0; border-top: 1.5px solid var(--p-ink); border-bottom: 1px solid var(--tp-l, var(--p-line)); border-radius: 0; box-shadow: none; }
.col.ib-th-rule :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: transparent; border: 1px solid color-mix(in srgb, var(--p-ink) 12%, transparent); border-radius: 16px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-rule :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-rule :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-soft :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 20px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-soft :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-soft :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-mono :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: transparent; border: 1.5px solid var(--p-ink); border-radius: 0px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-mono :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 0px; }
.col.ib-th-mono :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-leaf :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 18px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-leaf :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-leaf :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-gold :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--p-ink) 6%, transparent); border: 1px solid color-mix(in srgb, var(--p-ink) 11%, transparent); border-radius: 4px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-gold :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 4px; }
.col.ib-th-gold :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-kraft :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 14px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-kraft :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-kraft :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-lace :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 22px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-lace :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-lace :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-film :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: transparent; border: 1px solid color-mix(in srgb, var(--p-ink) 12%, transparent); border-radius: 2px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-film :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 2px; }
.col.ib-th-film :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-cinema :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--p-ink) 6%, transparent); border: 1px solid color-mix(in srgb, var(--p-ink) 11%, transparent); border-radius: 6px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-cinema :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 6px; }
.col.ib-th-cinema :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-polaroid :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 6px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-polaroid :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-polaroid :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-note :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 12px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-note :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-note :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-board :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 12px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-board :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 12px; }
.col.ib-th-board :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-tape :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 10px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-tape :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-tape :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-deco :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--p-ink) 6%, transparent); border: 1px solid color-mix(in srgb, var(--p-ink) 11%, transparent); border-radius: 0px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-deco :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 0px; }
.col.ib-th-deco :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-sky :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 22px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-sky :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-sky :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-cupid :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 20px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-cupid :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-cupid :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-stars :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--p-ink) 6%, transparent); border: 1px solid color-mix(in srgb, var(--p-ink) 11%, transparent); border-radius: 16px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-stars :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-stars :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-drops :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--p-ink) 6%, transparent); border: 1px solid color-mix(in srgb, var(--p-ink) 11%, transparent); border-radius: 14px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-drops :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-drops :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-hanji :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: transparent; border: 1px solid color-mix(in srgb, var(--p-ink) 12%, transparent); border-radius: 2px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-hanji :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 2px; }
.col.ib-th-hanji :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-ticket :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 14px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-ticket :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-ticket :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-olive :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 22px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-olive :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-olive :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-sea :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 18px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-sea :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-sea :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-wine :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 8px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-wine :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-wine :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-spring :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 24px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-spring :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-spring :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-winter :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-winter :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-winter :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-press :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: transparent; border: 1px solid color-mix(in srgb, var(--p-ink) 12%, transparent); border-radius: 0px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-press :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 0px; }
.col.ib-th-press :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-retro :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: color-mix(in srgb, var(--tp-a, var(--p-accent)) 7%, var(--p-bg)); border: 0; border-radius: 24px; box-shadow: none; outline: 0; transform: none; }
.col.ib-th-retro :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-retro :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-picnic :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); outline: 0; transform: none; }
.col.ib-th-picnic :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; }
.col.ib-th-picnic :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .02em; font-weight: var(--p-head-weight, 600); background: none; box-shadow: none; transform: none; }
.col.ib-th-polaroid .blk-gallery img { border: 4px solid #FFFFFF; box-sizing: border-box; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .3); }
.col.ib-th-angel :is(.ib-title-layer[data-part="title"], .op-title) { letter-spacing: .08em; }
.col.ib-th-angel :is(.ib-cs-basic .ib-contact-side, .ib-notice-item, :is(.ib-as-basic, .ib-as-theme:where(:not(.ib-tpx))) .ib-acc-side, :where(.ib-gb:not(.ib-tpx)) .ib-gb-item, .ib-day-item, .ib-nt-card, .ib-thanks, .ib-ty-card .ib-ty-in, .ib-lot-prizes, .ib-lot-me, .ib-trip-post) { background: var(--th-card); border: 1px solid color-mix(in srgb, var(--tp-l, var(--p-line)) 85%, transparent); border-radius: 4px; box-shadow: 0 10px 28px -18px rgba(110, 80, 40, .35); outline: 0; transform: none; }
.col.ib-th-angel :is(.ib-icon-btn, .ib-copy-btn, .ib-gb-more, .ib-share-btn:not(.ib-kakao), .ib-cal-btn, .ib-gb-write, .ib-rsvp-btn) { border-radius: 999px; border-color: color-mix(in srgb, var(--tp-a, var(--p-accent)) 50%, transparent); }
.col.ib-th-angel :is(.ib-title-layer[data-part="title"], .op-title)::before { content: var(--th-eb, none); position: absolute; left: 0; right: 0; bottom: 100%; margin: 0 0 1px; display: block; font: 600 11px/1.2 'Cinzel', 'Cormorant Garamond', serif; letter-spacing: .28em; text-indent: .28em; text-transform: uppercase; color: var(--tp-a, var(--p-accent)); white-space: nowrap; pointer-events: none; transform: none; }
.col.ib-th-angel :is(.ib-title-layer[data-part="title"], .op-title)::after { content: none; }
.col:is([data-block-id="greeting"], [data-ssk-col="greeting"]) { --th-eb: 'INVITATION'; }
.col:is([data-block-id="family"], [data-ssk-col="family"]) { --th-eb: 'OUR FAMILY'; }
.col:is([data-block-id="gallery"], [data-ssk-col="gallery"]) { --th-eb: 'GALLERY'; }
.col:is([data-block-id="transport"], [data-ssk-col="transport"]) { --th-eb: 'DIRECTIONS'; }
.col:is([data-block-id="account"], [data-ssk-col="account"]) { --th-eb: 'ACCOUNT'; }
.col:is([data-block-id="rsvp"], [data-ssk-col="rsvp"]) { --th-eb: 'R.S.V.P'; }
.col:is([data-block-id="guestbook"], [data-ssk-col="guestbook"]) { --th-eb: 'GUESTBOOK'; }
.col:is([data-block-id="notice"], [data-ssk-col="notice"]) { --th-eb: 'NOTICE'; }
.col:is([data-block-id="contact"], [data-ssk-col="contact"]) { --th-eb: 'CONTACT'; }
.col:is([data-block-id="timeline"], [data-ssk-col="timeline"]) { --th-eb: 'OUR STORY'; }
.col:is([data-block-id="interview"], [data-ssk-col="interview"]) { --th-eb: 'INTERVIEW'; }
.col:is([data-block-id="profile"], [data-ssk-col="profile"]) { --th-eb: 'ABOUT US'; }
.col:is([data-block-id="letter"], [data-ssk-col="letter"]) { --th-eb: 'LETTER'; }
.col:is([data-block-id="video"], [data-ssk-col="video"]) { --th-eb: 'VIDEO'; }
.col:is([data-block-id="together"], [data-ssk-col="together"]) { --th-eb: 'TOGETHER'; }
.col:is([data-block-id="ending"], [data-ssk-col="ending"]) { --th-eb: 'THANK YOU'; }
.col:is([data-block-id="guestsnap"], [data-ssk-col="guestsnap"]) { --th-eb: 'GUEST SNAP'; }
.col:is([data-block-id="trip"], [data-ssk-col="trip"]) { --th-eb: 'HONEYMOON'; }
.col:is([data-block-id="lottery"], [data-ssk-col="lottery"]) { --th-eb: 'LUCKY DRAW'; }
.col:is([data-block-id="dayinfo"], [data-ssk-col="dayinfo"]) { --th-eb: 'D-DAY GUIDE'; }
.col:is([data-block-id="thanks"], [data-ssk-col="thanks"]) { --th-eb: 'THANK YOU'; }
.col:is([data-block-id="share"], [data-ssk-col="share"]) { --th-eb: 'SHARE'; }
.col:is(.ib-th, .ib-sk-night, .ib-sk-mist):not(.ib-th-angel, .ib-tho) :is(.ib-title-layer[data-part="title"], .op-title)::before { content: var(--th-eb, none); position: absolute; left: 0; right: 0; bottom: 100%; margin: 0 0 1px; display: block; font: 600 10px/1.2 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, sans-serif; font-style: normal; letter-spacing: .32em; text-indent: .32em; text-transform: uppercase; color: color-mix(in srgb, var(--tp-a, var(--p-accent)) 88%, transparent); white-space: nowrap; pointer-events: none; opacity: 1; transform: none; background: none; width: auto; height: auto; -webkit-mask: none; mask: none; vertical-align: baseline; }
.col.ib-th:not(.ib-th-angel, .ib-th-bold, .ib-th-typo, .ib-tho) :is(.ib-title-layer[data-part="title"], .op-title)::after { content: none; }
/* ===== 디자인 테마 스킨 끝 ===== */
/* ===== 테마 부품 (calendarStyle·counterStyle·accStyle·guestbook.style = 'theme', 참석 btnStyle·교통 style 기본 'theme'): 디자인 꾸밈(.ib-th-* · 웹툰은 .ib-sk-webtoon)마다 모양이 다름
   색은 --ta·--tk·--tb·--tl·--tm·--to (= 그 섹션의 --p-* · 화면 설정 '부품 색 연동'을 끄면 --tp-* 디자인 원래 색) → 색을 바꾸면 같이 바뀜. 꾸밈이 없으면 아래 기본 모양 */
.cal-theme, .dday-countdown.dd-theme, .ib-as-theme, .ib-gb-theme, .ib-rs-theme, .ib-tr-theme { --ta: var(--tp-a, var(--p-accent)); --tk: var(--tp-k, var(--p-ink)); --tb: var(--tp-b, var(--p-bg)); --tl: var(--tp-l, var(--p-line)); --tm: var(--tp-m, var(--p-muted)); --to: var(--tp-o, var(--p-on-accent, #FFFFFF)); }
.cal-theme { position: relative; margin: 4px auto 18px; max-width: 340px; color: var(--tk); box-sizing: border-box; }
.cal-theme .ct-head { display: flex; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-bottom: 12px; position: relative; z-index: 1; }
.cal-theme .ct-mon { font-family: var(--p-head-font); font-size: 22px; }
.cal-theme .ct-year { font-size: 12px; color: var(--tm); }
.cal-theme .ct-big, .cal-theme .ct-mko, .cal-theme .ct-when, .cal-theme .ct-feat, .cal-theme .ct-o { display: none; }
.cal-theme .ct-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 4px; text-align: center; position: relative; z-index: 1; }
.cal-theme .ct-w { font-size: 11px; color: var(--tm); padding-bottom: 6px; }
.cal-theme .ct-w em, .cal-theme .ct-w u { display: none; font-style: normal; text-decoration: none; }
.cal-theme .ct-w i { font-style: normal; }
.cal-theme .ct-w.sun, .cal-theme .ct-d.sun { color: var(--ta); }
.cal-theme .ct-d { position: relative; height: 38px; display: grid; place-items: center; font-size: 14px; }
.cal-theme .ct-d b { position: relative; z-index: 1; font-weight: 400; display: grid; place-items: center; box-sizing: border-box; }
.cal-theme .ct-d.on b { width: 32px; height: 32px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 700; }
.dday-countdown.dd-theme { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 10px; position: relative; margin: 10px auto 0; padding: 0; background: none; color: var(--tk); }
.dday-countdown.dd-theme .dd-u { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1 1 0; min-width: 0; max-width: 80px; position: relative; box-sizing: border-box; }
.dday-countdown.dd-theme .dd-n { font-family: var(--p-head-font); font-size: 28px; line-height: 1.1; }
.dday-countdown.dd-theme .dd-l { display: block; font-size: 10px; color: var(--tm); letter-spacing: .1em; }
.dday-countdown.dd-theme .dd-l em, .dday-countdown.dd-theme .dd-l i { font-style: normal; }
.dday-countdown.dd-theme .dd-l em { display: none; }
.dday-countdown.dd-theme .dd-bar, .dday-countdown.dd-theme .dd-orb, .dday-countdown.dd-theme .dd-end { display: none; }
.dday-countdown.dd-theme .dd-cap { flex-basis: 100%; text-align: center; font-size: 12px; color: var(--tm); }
.dday-countdown.dd-theme .dd-bar i { display: block; height: 100%; width: var(--dd-pct, 50%); background: var(--ta); }
.dday-countdown.dd-theme .dd-orb circle { fill: none; stroke: color-mix(in srgb, var(--ta) 16%, transparent); stroke-width: 6; }
.dday-countdown.dd-theme .dd-orb .dd-orb-on { stroke: var(--ta); stroke-linecap: round; transform: rotate(-90deg); transform-origin: 50% 50%; }
.ib-tr-theme  { counter-reset: tr; }
.ib-tr-theme .ib-transport-item { counter-increment: tr; }
.ib-rs-theme .ib-rsvp-btn { position: relative; }
.cal-theme, .dday-countdown.dd-theme, .ib-as-theme, .ib-gb-theme, .ib-rs-theme, .ib-tr-theme { --ib-num: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif; --ib-mono: 'SF Mono', ui-monospace, Menlo, Consolas, monospace; }
/* 모던 리뉴얼 - 테마 18개 같은 규칙 */
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .cal-theme:not(.ib-tpx), .cal-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ct-head { flex-direction: column; align-items: center; gap: 4px; margin-bottom: 14px; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .cal-theme:not(.ib-tpx), .cal-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ct-w i { font-style: normal; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .cal-theme:not(.ib-tpx), .cal-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ct-d.e { visibility: hidden; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .dd-cap { order: -1; flex-basis: 100%; margin-bottom: 4px; font: 500 12px/1.4 var(--ib-num); letter-spacing: .02em; color: var(--tm); }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .dd-l i { display: inline; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .dd-l em { display: none; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-as-theme:not(.ib-tpx), .ib-as-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-acc-side::before, :is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-as-theme:not(.ib-tpx), .ib-as-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-acc-side::after { content: none; display: none; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-as-theme:not(.ib-tpx), .ib-as-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) :is(.ib-acc-head, summary)::before { content: none; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-as-theme:not(.ib-tpx), .ib-as-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-acc-side[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-head { font-family: var(--ib-num); justify-content: flex-start; order: 0; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-head b { font-weight: 600; font-size: 13px; color: var(--tk); }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-head b::before { content: none; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-head span { font-size: 11px; color: var(--tm); font-variant-numeric: tabular-nums; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-msg { order: 1; margin: 8px 0 0; font-size: 14px; line-height: 1.7; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-item::before, :is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-gb-theme:not(.ib-tpx), .ib-gb-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-gb-item::after { content: none; display: none; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-rs-theme:not(.ib-tpx), .ib-rs-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-rsvp-btn::before, :is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-rs-theme:not(.ib-tpx), .ib-rs-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-rsvp-btn::after { content: none; display: none; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-tr-theme:not(.ib-tpx), .ib-tr-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-transport-item { border-top: 0 !important; border-bottom: 1px solid color-mix(in srgb, var(--tk) 10%, transparent); align-items: flex-start; padding: 16px 2px; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-tr-theme:not(.ib-tpx), .ib-tr-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-transport-item:last-child { border-bottom: 0; }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-tr-theme:not(.ib-tpx), .ib-tr-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-transport-item strong { font: 600 14.5px/1.4 var(--ib-num); color: var(--tk); }
:is(.col:is(.ib-th-rule, .ib-th-soft, .ib-th-mono, .ib-th-leaf, .ib-th-gold, .ib-th-kraft, .ib-th-lace, .ib-th-film, .ib-th-cinema, .ib-th-polaroid, .ib-th-note, .ib-th-board, .ib-th-tape, .ib-th-deco, .ib-th-sky, .ib-th-cupid, .ib-th-stars, .ib-th-drops, .ib-th-hanji, .ib-th-ticket, .ib-th-olive, .ib-th-sea, .ib-th-wine, .ib-th-spring, .ib-th-winter, .ib-th-press, .ib-th-retro, .ib-th-picnic) .ib-tr-theme:not(.ib-tpx), .ib-tr-theme:is(.ib-tp-rule, .ib-tp-soft, .ib-tp-mono, .ib-tp-leaf, .ib-tp-gold, .ib-tp-kraft, .ib-tp-lace, .ib-tp-film, .ib-tp-cinema, .ib-tp-polaroid, .ib-tp-note, .ib-tp-board, .ib-tp-tape, .ib-tp-deco, .ib-tp-sky, .ib-tp-cupid, .ib-tp-stars, .ib-tp-drops, .ib-tp-hanji, .ib-tp-ticket, .ib-tp-olive, .ib-tp-sea, .ib-tp-wine, .ib-tp-spring, .ib-tp-winter, .ib-tp-press, .ib-tp-retro, .ib-tp-picnic)) .ib-transport-item:not(:last-child) .ib-transport-ico::after { content: none; display: none; }
/* rule */
:is(.col.ib-th-rule .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-rule) { background: transparent; border: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 16px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-rule .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-rule) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-rule .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-rule) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-rule .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-rule) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-rule .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-rule) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-rule .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-rule) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 340px; }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) .dd-u { max-width: none; padding: 4px 0; gap: 6px; }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) .dd-u + .dd-u { border-left: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-rule .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-rule) .dd-n { font-weight: 300; font-size: 30px; color: var(--tk); }
:is(.col.ib-th-rule .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-rule) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-rule .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-rule) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-rule .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-rule) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-rule .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-rule) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-rule .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-rule) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-rule .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-rule) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 999px; }
:is(.col.ib-th-rule .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-rule) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-rule .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-rule) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
/* bold */
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-head { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; justify-content: start; align-items: end; text-align: left; margin-bottom: 14px; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-big { display: block; grid-row: 1 / 3; font-size: 72px; font-weight: 900; line-height: .8; letter-spacing: -.04em; font-family: var(--p-head-font); }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-mon { grid-column: 2; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-year { display: none; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-when { display: block; grid-column: 2; font-size: 12px; color: var(--tm); }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-grid { row-gap: 0; border-top: 2px solid var(--tk); border-left: 1px solid var(--tl); }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-w { padding: 8px 0; border-right: 1px solid var(--tl); border-bottom: 1px solid var(--tl); font-size: 10px; font-weight: 800; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-w i { display: none; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-w u { display: inline; text-transform: uppercase; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-d { height: 44px; place-items: start; padding: 5px 6px; border-right: 1px solid var(--tl); border-bottom: 1px solid var(--tl); font-size: 12px; font-weight: 600; box-sizing: border-box; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-d.e { background: color-mix(in srgb, var(--tk) 4%, transparent); }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-d.on { background: var(--ta); color: var(--to); }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-d.on b { width: auto; height: auto; background: none; color: inherit; font-weight: 900; }
:is(.col.ib-th-bold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-bold) .ct-d.on::after { content: 'WEDDING'; position: absolute; left: 6px; bottom: 5px; font-size: 7px; letter-spacing: .1em; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) { display: grid; grid-template-columns: repeat(3, auto) 1fr; column-gap: 12px; row-gap: 8px; align-items: baseline; justify-content: start; max-width: 340px; text-align: left; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-cap { display: none; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-u-days { flex: none; max-width: none; grid-column: 1 / -1; order: 1; flex-direction: row; align-items: baseline; gap: 10px; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-u-days .dd-n { font-size: 64px; font-weight: 900; letter-spacing: -.04em; line-height: 1; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-u-days .dd-l { font-size: 13px; font-weight: 800; letter-spacing: .16em; color: var(--tk); }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-u-days .dd-l i::after { content: ' LEFT'; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-bar { display: block; grid-column: 1 / -1; order: 2; height: 4px; background: var(--tl); }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-u:not(.dd-u-days) { flex: none; max-width: none; order: 3; flex-direction: row; align-items: baseline; gap: 3px; min-width: 0; }
:is(.col.ib-th-bold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-bold) .dd-u:not(.dd-u-days) .dd-n { font-size: 14px; font-weight: 700; font-family: inherit; }
:is(.col.ib-th-bold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-bold) .ib-acc-side { border: 0; border-top: 1px solid var(--tl); border-radius: 0; background: transparent; margin-top: 0; }
:is(.col.ib-th-bold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-bold) .ib-acc-side:last-child { border-bottom: 1px solid var(--tl); }
:is(.col.ib-th-bold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-bold) :is(.ib-acc-head, summary) { margin: 12px 0; padding: 6px 30px 6px 14px; border-left: 4px solid var(--ta); font-size: 15px; }
:is(.col.ib-th-bold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-bold) .ib-bride :is(.ib-acc-head, summary) { border-left-color: var(--tk); }
:is(.col.ib-th-bold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-bold) .ib-acc-side summary::after { content: '→'; top: 4px; color: var(--tk); font-weight: 700; }
:is(.col.ib-th-bold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-bold) .ib-acc-side[open] summary::after { transform: rotate(90deg); }
:is(.col.ib-th-bold .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-bold) .ib-gb-item { background: none; border: 0; border-bottom: 1px solid var(--tl); border-radius: 0; padding: 14px 0; }
:is(.col.ib-th-bold .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-bold) .ib-gb-head b { font-weight: 800; }
:is(.col.ib-th-bold .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-bold) .ib-gb-head span { margin-left: auto; }
:is(.col.ib-th-bold .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-bold) .ib-rsvp-btn { width: 100%; border-radius: 0; background: var(--tk); color: var(--tb); justify-content: space-between; font-weight: 700; }
:is(.col.ib-th-bold .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-bold) .ib-rsvp-btn::after { content: '→'; margin-left: 12px; }
:is(.col.ib-th-bold .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-bold) .ib-transport-item { border-top: 0 !important; align-items: center; }
:is(.col.ib-th-bold .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-bold) .ib-transport-ico { font-size: 0; width: 40px; height: 40px; background: var(--tk); display: grid; place-items: center; }
:is(.col.ib-th-bold .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-bold) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font-size: 13px; font-weight: 900; color: var(--tb); }
:is(.col.ib-th-bold .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-bold) .ib-transport-item strong { font-weight: 800; }
/* soft */
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 20px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) .ct-mon { display: none; }
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-soft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-soft) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-soft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-soft) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-soft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-soft) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-soft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-soft) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-soft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-soft) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-soft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-soft) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-soft .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-soft) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 20px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-soft .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-soft) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-soft .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-soft) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-soft .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-soft) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 9%, var(--tb)); border: 0; border-radius: 20px 20px 20px 6px; box-shadow: none; padding: 15px 18px; margin: 0 12% 10px 0; outline: 0; transform: none; }
:is(.col.ib-th-soft .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-soft) .ib-gb-item:nth-child(even) { background: color-mix(in srgb, var(--tk) 5%, var(--tb)); border-radius: 20px 20px 6px 20px; margin: 0 0 10px 12%; }
:is(.col.ib-th-soft .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-soft) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: color-mix(in srgb, var(--ta) 14%, var(--tb)); color: var(--ta); border: 0; border-radius: 999px; }
:is(.col.ib-th-soft .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-soft) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-soft .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-soft) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* mono */
:is(.col.ib-th-mono .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-mono) { background: transparent; border: 1.5px solid var(--tk); border-radius: 0px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-mono .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-mono) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-mono .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-mono) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-mono .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-mono) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-mono .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-mono) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-mono .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-mono) .ct-d.on b { width: 34px; height: 34px; border-radius: 0px; background: var(--tk); color: var(--tb); font-weight: 600; border: 0; box-shadow: none; }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: var(--tk); border-radius: 0px; }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) .dd-n { color: var(--tb); }
:is(.col.ib-th-mono .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-mono) .dd-l { color: color-mix(in srgb, var(--tb) 70%, transparent); }
:is(.col.ib-th-mono .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-mono) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-mono .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-mono) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-mono .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-mono) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-mono .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-mono) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-mono .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-mono) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-mono .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-mono) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--tk); color: var(--tb); border: 0; border-radius: 0px; }
:is(.col.ib-th-mono .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-mono) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 0px; background: var(--tk); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-mono .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-mono) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--tb); }
/* leaf */
:is(.col.ib-th-leaf .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-leaf) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-leaf .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-leaf) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-leaf .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-leaf) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-leaf .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-leaf) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-leaf .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-leaf) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-leaf .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-leaf) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-leaf .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-leaf) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-leaf .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-leaf) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-leaf .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-leaf) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-leaf .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-leaf) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-leaf .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-leaf) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-leaf .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-leaf) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-leaf .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-leaf) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-leaf .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-leaf) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-leaf .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-leaf) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-leaf .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-leaf) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-leaf .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-leaf) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-leaf .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-leaf) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* gold */
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 4px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 340px; }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) .dd-u { max-width: none; padding: 4px 0; gap: 6px; }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) .dd-u + .dd-u { border-left: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-gold .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-gold) .dd-n { font-weight: 300; font-size: 30px; color: var(--ta); }
:is(.col.ib-th-gold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-gold) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-gold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-gold) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-gold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-gold) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-gold .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-gold) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-gold .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-gold) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-gold .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-gold) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 4px; }
:is(.col.ib-th-gold .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-gold) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-gold .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-gold) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-gold .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-gold) .ct-mon { color: var(--ta); }
/* kraft */
:is(.col.ib-th-kraft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-kraft) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 14px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-kraft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-kraft) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-kraft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-kraft) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-kraft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-kraft) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-kraft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-kraft) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-kraft .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-kraft) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-kraft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-kraft) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-kraft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-kraft) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-kraft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-kraft) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-kraft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-kraft) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-kraft .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-kraft) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 14px; box-shadow: none; }
:is(.col.ib-th-kraft .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-kraft) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 14px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-kraft .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-kraft) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-kraft .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-kraft) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-kraft .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-kraft) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 14px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-kraft .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-kraft) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-kraft .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-kraft) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-kraft .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-kraft) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* lace */
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 22px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) .ct-mon { display: none; }
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-lace .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-lace) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-lace .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-lace) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-lace .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-lace) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-lace .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-lace) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-lace .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-lace) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-lace .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-lace) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-lace .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-lace) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 22px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-lace .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-lace) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-lace .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-lace) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-lace .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-lace) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 22px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-lace .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-lace) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: color-mix(in srgb, var(--ta) 14%, var(--tb)); color: var(--ta); border: 0; border-radius: 999px; }
:is(.col.ib-th-lace .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-lace) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-lace .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-lace) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* film */
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) { background: transparent; border: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 2px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-year { order: 1; font: 600 10px/1 var(--ib-mono); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-mono); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-w { font: 600 10px/1 var(--ib-mono); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-d { height: 40px; font: 400 14px/1 var(--ib-mono); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-d.on b { width: 34px; height: 34px; border-radius: 2px; background: var(--tk); color: var(--tb); font-weight: 600; border: 0; box-shadow: none; }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) .dd-n { font: 500 26px/1.1 var(--ib-mono); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) .dd-l { font: 600 9px/1 var(--ib-mono); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: var(--tk); border-radius: 2px; }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) .dd-n { color: var(--tb); }
:is(.col.ib-th-film .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-film) .dd-l { color: color-mix(in srgb, var(--tb) 70%, transparent); }
:is(.col.ib-th-film .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-film) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-film .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-film) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-film .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-film) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-film .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-film) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-film .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-film) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tk) 90%, #000000); color: color-mix(in srgb, var(--tb) 92%, transparent); border: 0; border-radius: 2px; box-shadow: none; padding: 16px 18px; margin: 0 0 8px; outline: 0; transform: none; }
:is(.col.ib-th-film .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-film) .ib-gb-head b, :is(.col.ib-th-film .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-film) .ib-gb-msg { color: color-mix(in srgb, var(--tb) 94%, transparent); }
:is(.col.ib-th-film .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-film) .ib-gb-head span { color: color-mix(in srgb, var(--tb) 60%, transparent); }
:is(.col.ib-th-film .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-film) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--tk); color: var(--tb); border: 0; border-radius: 2px; }
:is(.col.ib-th-film .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-film) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-film .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-film) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-mono); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) { background: color-mix(in srgb, var(--tk) 90%, #000000); color: color-mix(in srgb, var(--tb) 90%, transparent); border: 0; }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-mon, :is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-d { color: color-mix(in srgb, var(--tb) 90%, transparent); }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-w { color: color-mix(in srgb, var(--tb) 55%, transparent); }
:is(.col.ib-th-film .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-film) .ct-d.on b { background: color-mix(in srgb, var(--tb) 92%, transparent); color: color-mix(in srgb, var(--tk) 90%, #000000); }
/* cinema */
:is(.col.ib-th-cinema .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cinema) { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 6px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-cinema .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cinema) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-cinema .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cinema) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-cinema .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cinema) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-cinema .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cinema) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-cinema .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cinema) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 14px; max-width: 340px; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-u-days { flex: 0 0 100%; max-width: none; flex-direction: row; justify-content: center; align-items: baseline; gap: 8px; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-u-days .dd-n { font-size: 64px; font-weight: 200; letter-spacing: -.03em; color: var(--ta); }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-u-days .dd-n::before { content: 'D-'; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-u-days .dd-l { display: none; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-u:not(.dd-u-days) { flex: none; max-width: none; flex-direction: row; align-items: baseline; gap: 4px; }
:is(.col.ib-th-cinema .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cinema) .dd-u:not(.dd-u-days) .dd-n { font-size: 15px; font-weight: 500; }
:is(.col.ib-th-cinema .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-cinema) .ib-acc-side { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 6px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-cinema .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-cinema) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-cinema .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-cinema) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-cinema .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-cinema) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-cinema .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-cinema) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 6px; }
:is(.col.ib-th-cinema .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-cinema) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-cinema .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-cinema) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
/* polaroid */
:is(.col.ib-th-polaroid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-polaroid) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 6px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-polaroid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-polaroid) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-polaroid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-polaroid) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-polaroid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-polaroid) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-polaroid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-polaroid) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-polaroid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-polaroid) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-polaroid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-polaroid) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-polaroid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-polaroid) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-polaroid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-polaroid) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-polaroid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-polaroid) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-polaroid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-polaroid) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 10px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); }
:is(.col.ib-th-polaroid .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-polaroid) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 6px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-polaroid .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-polaroid) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-polaroid .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-polaroid) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-polaroid .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-polaroid) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 6px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-polaroid .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-polaroid) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 6px; }
:is(.col.ib-th-polaroid .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-polaroid) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-polaroid .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-polaroid) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* note */
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 12px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) .ct-mon { display: none; }
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-note .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-note) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-note .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-note) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-note .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-note) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-note .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-note) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-note .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-note) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-note .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-note) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 12px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); }
:is(.col.ib-th-note .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-note) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 12px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-note .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-note) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-note .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-note) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-note .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-note) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 12px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-note .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-note) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: color-mix(in srgb, var(--ta) 14%, var(--tb)); color: var(--ta); border: 0; border-radius: 999px; }
:is(.col.ib-th-note .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-note) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-note .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-note) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
/* typo */
:is(.col.ib-th-typo .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-typo) .ct-head { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: end; justify-content: start; text-align: left; }
:is(.col.ib-th-typo .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-typo) .ct-big { display: block; grid-row: 1 / 3; font: 700 92px/.82 'Playfair Display', var(--p-head-font); color: transparent; -webkit-text-stroke: 1.2px var(--tk); }
:is(.col.ib-th-typo .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-typo) .ct-mon { grid-column: 2; font: italic 400 26px 'Playfair Display', var(--p-head-font); }
:is(.col.ib-th-typo .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-typo) .ct-year { grid-column: 2; font-size: 11px; letter-spacing: .3em; }
:is(.col.ib-th-typo .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-typo) .ct-d.on b { width: auto; height: auto; background: none; color: var(--ta); border-radius: 0; border-bottom: 3px solid var(--ta); font-weight: 800; padding: 0 2px; }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) { display: grid; grid-template-columns: repeat(3, auto); justify-content: center; column-gap: 14px; text-align: center; }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) .dd-cap { display: none; }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) .dd-u-days { flex: none; max-width: none; grid-column: 1 / -1; }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) .dd-u-days .dd-n { font: 700 92px/1 'Playfair Display', var(--p-head-font); color: transparent; -webkit-text-stroke: 1.2px var(--tk); }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) .dd-u-days .dd-l { font: italic 400 16px 'Playfair Display', var(--p-head-font); letter-spacing: .06em; color: var(--ta); }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) .dd-u:not(.dd-u-days) { flex: none; max-width: none; flex-direction: row; align-items: baseline; gap: 3px; min-width: 0; }
:is(.col.ib-th-typo .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-typo) .dd-u:not(.dd-u-days) .dd-n { font: 700 18px 'Playfair Display', var(--p-head-font); }
:is(.col.ib-th-typo .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-typo) .ib-acc-side { border: 0; border-top: 1.5px solid var(--tk); border-radius: 0; background: transparent; }
:is(.col.ib-th-typo .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-typo) :is(.ib-acc-head, summary) { font-size: 20px; font-weight: 800; padding-left: 4px; }
:is(.col.ib-th-typo .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-typo) .ib-groom :is(.ib-acc-head, summary)::before { content: 'Groom '; font: italic 400 13px 'Playfair Display', var(--p-head-font); color: var(--ta); }
:is(.col.ib-th-typo .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-typo) .ib-bride :is(.ib-acc-head, summary)::before { content: 'Bride '; font: italic 400 13px 'Playfair Display', var(--p-head-font); color: var(--ta); }
:is(.col.ib-th-typo .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-typo) .ib-gb-item { position: relative; background: transparent; border: 0; padding-left: 36px; }
:is(.col.ib-th-typo .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-typo) .ib-gb-item::before { content: '“'; position: absolute; left: 0; top: -8px; font: 700 56px/1 'Playfair Display', var(--p-head-font); color: var(--ta); }
:is(.col.ib-th-typo .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-typo) .ib-rsvp-btn { min-width: 0; padding: 6px 4px; background: none; color: var(--tk); border-radius: 0; border-bottom: 3px solid var(--ta); font-size: 20px; font-weight: 800; }
:is(.col.ib-th-typo .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-typo) .ib-transport-item { border-top: 1px solid var(--tl) !important; }
:is(.col.ib-th-typo .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-typo) .ib-transport-ico { font-size: 0; width: 34px; }
:is(.col.ib-th-typo .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-typo) .ib-transport-ico::before { content: counter(tr); font: 700 30px/1 'Playfair Display', var(--p-head-font); color: transparent; -webkit-text-stroke: 1.2px var(--tk); }
/* board */
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 12px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) .ct-mon { display: none; }
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-board .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-board) .ct-d.on b { width: 34px; height: 34px; border-radius: 8px; background: var(--tk); color: var(--tb); font-weight: 600; border: 0; box-shadow: none; }
:is(.col.ib-th-board .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-board) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-board .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-board) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-board .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-board) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-board .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-board) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-board .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-board) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 12px; box-shadow: none; }
:is(.col.ib-th-board .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-board) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 12px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-board .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-board) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-board .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-board) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-board .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-board) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 12px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-board .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-board) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-board .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-board) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 6px; background: var(--tk); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-board .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-board) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--tb); }
/* tape */
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 10px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) .ct-mon { display: none; }
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-tape .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-tape) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-u-days { background: color-mix(in srgb, var(--ta) 8%, #FFF3B8); }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-u-hours { background: color-mix(in srgb, var(--ta) 8%, #FFDDE4); }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-u-minutes { background: color-mix(in srgb, var(--ta) 8%, #DCF2E6); }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-u-seconds { background: color-mix(in srgb, var(--ta) 8%, #DDE8FF); }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; border-radius: 10px; box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .3); }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-n { color: #2B2622; }
:is(.col.ib-th-tape .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-tape) .dd-l { color: #7A6E64; }
:is(.col.ib-th-tape .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-tape) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 10px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-tape .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-tape) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-tape .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-tape) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-tape .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-tape) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 10px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-tape .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-tape) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: color-mix(in srgb, var(--ta) 14%, var(--tb)); color: var(--ta); border: 0; border-radius: 999px; }
:is(.col.ib-th-tape .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-tape) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-tape .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-tape) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
/* deco */
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 340px; }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) .dd-u { max-width: none; padding: 4px 0; gap: 6px; }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) .dd-u + .dd-u { border-left: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-deco .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-deco) .dd-n { font-weight: 300; font-size: 30px; color: var(--ta); }
:is(.col.ib-th-deco .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-deco) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-deco .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-deco) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-deco .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-deco) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-deco .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-deco) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-deco .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-deco) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-deco .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-deco) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 2px; }
:is(.col.ib-th-deco .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-deco) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-deco .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-deco) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-deco .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-deco) .ct-mon { color: var(--ta); }
/* sky */
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 22px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) .ct-mon { display: none; }
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-sky .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sky) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-sky .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sky) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-sky .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sky) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-sky .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sky) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-sky .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sky) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-sky .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sky) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 18px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); }
:is(.col.ib-th-sky .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-sky) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 22px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-sky .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-sky) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-sky .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-sky) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-sky .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-sky) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 22px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-sky .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-sky) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-sky .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-sky) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-sky .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-sky) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* cupid */
:is(.col.ib-th-cupid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cupid) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 20px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-cupid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cupid) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-cupid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cupid) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-cupid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cupid) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-cupid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cupid) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-cupid .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-cupid) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-cupid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cupid) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-cupid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cupid) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-cupid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cupid) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-cupid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cupid) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-cupid .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-cupid) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-cupid .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-cupid) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 20px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-cupid .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-cupid) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-cupid .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-cupid) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-cupid .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-cupid) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 20px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-cupid .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-cupid) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-cupid .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-cupid) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-cupid .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-cupid) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* stars */
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 16px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; border: 0; box-shadow: 0 0 0 5px color-mix(in srgb, var(--ta) 18%, transparent), 0 0 18px color-mix(in srgb, var(--ta) 45%, transparent); }
:is(.col.ib-th-stars .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-stars) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-stars .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-stars) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-stars .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-stars) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-stars .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-stars) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-stars .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-stars) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 16px; box-shadow: none; }
:is(.col.ib-th-stars .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-stars) .ib-acc-side { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 16px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-stars .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-stars) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-stars .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-stars) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-stars .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-stars) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 16px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-stars .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-stars) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-stars .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-stars) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-stars .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-stars) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
:is(.col.ib-th-stars .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-stars) .ct-d.sun { color: var(--ta); }
/* drops */
:is(.col.ib-th-drops .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-drops) { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 14px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-drops .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-drops) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-drops .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-drops) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-drops .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-drops) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-drops .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-drops) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-drops .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-drops) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-drops .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-drops) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-drops .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-drops) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-drops .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-drops) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-drops .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-drops) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-drops .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-drops) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 14px; box-shadow: none; }
:is(.col.ib-th-drops .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-drops) .ib-acc-side { background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 14px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-drops .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-drops) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-drops .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-drops) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-drops .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-drops) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tk) 6%, transparent); border: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 14px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-drops .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-drops) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: color-mix(in srgb, var(--ta) 14%, var(--tb)); color: var(--ta); border: 0; border-radius: 999px; }
:is(.col.ib-th-drops .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-drops) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-drops .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-drops) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
/* angel */
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) { padding: 62px 16px 50px; margin-top: 40px; margin-bottom: 30px; background: color-mix(in srgb, var(--tb) 40%, #FFFDF6); border-radius: 3px; border: 1px solid color-mix(in srgb, var(--tl) 95%, transparent); box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--tb) 40%, #FFFDF6), inset 0 0 0 4px color-mix(in srgb, var(--tl) 65%, transparent), 0 6px 18px rgba(110, 80, 40, .10); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-o1 { display: block; position: absolute; left: 50%; top: -50px; width: 108px; height: 100px; margin-left: -54px; background: url('stickers/vintage/cupid-heart.webp') center / contain no-repeat; z-index: 2; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-o2 { display: block; position: absolute; left: 50%; bottom: -22px; width: 270px; height: 64px; margin-left: -135px; background: url('stickers/vintage/ribbon-banner.webp') center / contain no-repeat; z-index: 2; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-o2::after { content: 'THE WEDDING DAY'; position: absolute; left: 25%; right: 29%; top: 58%; transform: translateY(-50%); text-align: center; white-space: nowrap; font: 600 8.5px/1 'Cinzel', 'Cormorant Garamond', var(--p-head-font); letter-spacing: .12em; color: color-mix(in srgb, var(--tk) 80%, transparent); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-head { flex-direction: column; align-items: center; gap: 3px; margin-bottom: 14px; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-mon { font: 600 21px/1.15 'Cinzel', 'Cormorant Garamond', var(--p-head-font); letter-spacing: .26em; text-transform: uppercase; color: color-mix(in srgb, var(--tk) 92%, transparent); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-year { font: italic 500 14px 'Cormorant Garamond', var(--p-head-font); color: var(--ta); letter-spacing: .1em; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-when { display: block; font: italic 13px 'Cormorant Garamond', var(--p-head-font); color: var(--tm); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-grid { padding-top: 10px; border-top: 1px solid color-mix(in srgb, var(--tl) 80%, transparent); row-gap: 2px; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-w i { display: none; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-w u { display: inline; font: italic 600 13px 'Cormorant Garamond', var(--p-head-font); letter-spacing: .02em; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-w { color: color-mix(in srgb, var(--tl) 55%, var(--tk)); padding-bottom: 8px; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-w.sun { color: var(--ta); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-d { height: 36px; font: 500 16.5px 'Cormorant Garamond', var(--p-head-font); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-d.wk { background: color-mix(in srgb, var(--tl) 16%, transparent); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-d.on b { width: 38px; height: 38px; background: none; color: var(--to); font-weight: 700; text-shadow: 0 1px 1px rgba(0, 0, 0, .25); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-d.on::before { content: ''; position: absolute; left: 50%; top: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; background: radial-gradient(circle, transparent 54%, rgba(0, 0, 0, .2) 56% 60%, transparent 62%), radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--ta) 55%, #FFFFFF), var(--ta) 46%, color-mix(in srgb, var(--ta) 68%, #000000)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M94.0 50.0L97.0 54.1L93.3 57.6L89.4 60.6L91.3 65.0L92.8 69.9L88.1 72.0L83.4 73.4L83.7 78.3L83.4 83.4L78.3 83.7L73.4 83.4L72.0 88.1L69.9 92.8L65.0 91.3L60.6 89.4L57.6 93.3L54.1 97.0L50.0 94.0L46.4 90.6L42.4 93.3L37.8 95.6L35.0 91.3L32.8 87.0L28.0 88.1L22.9 88.7L21.7 83.7L21.2 78.8L16.3 78.3L11.3 77.1L11.9 72.0L13.0 67.2L8.7 65.0L4.4 62.2L6.7 57.6L9.4 53.6L6.0 50.0L3.0 45.9L6.7 42.4L10.6 39.4L8.7 35.0L7.2 30.1L11.9 28.0L16.6 26.6L16.3 21.7L16.6 16.6L21.7 16.3L26.6 16.6L28.0 11.9L30.1 7.2L35.0 8.7L39.4 10.6L42.4 6.7L45.9 3.0L50.0 6.0L53.6 9.4L57.6 6.7L62.2 4.4L65.0 8.7L67.2 13.0L72.0 11.9L77.1 11.3L78.3 16.3L78.8 21.2L83.7 21.7L88.7 22.9L88.1 28.0L87.0 32.8L91.3 35.0L95.6 37.8L93.3 42.4L90.6 46.4Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M94.0 50.0L97.0 54.1L93.3 57.6L89.4 60.6L91.3 65.0L92.8 69.9L88.1 72.0L83.4 73.4L83.7 78.3L83.4 83.4L78.3 83.7L73.4 83.4L72.0 88.1L69.9 92.8L65.0 91.3L60.6 89.4L57.6 93.3L54.1 97.0L50.0 94.0L46.4 90.6L42.4 93.3L37.8 95.6L35.0 91.3L32.8 87.0L28.0 88.1L22.9 88.7L21.7 83.7L21.2 78.8L16.3 78.3L11.3 77.1L11.9 72.0L13.0 67.2L8.7 65.0L4.4 62.2L6.7 57.6L9.4 53.6L6.0 50.0L3.0 45.9L6.7 42.4L10.6 39.4L8.7 35.0L7.2 30.1L11.9 28.0L16.6 26.6L16.3 21.7L16.6 16.6L21.7 16.3L26.6 16.6L28.0 11.9L30.1 7.2L35.0 8.7L39.4 10.6L42.4 6.7L45.9 3.0L50.0 6.0L53.6 9.4L57.6 6.7L62.2 4.4L65.0 8.7L67.2 13.0L72.0 11.9L77.1 11.3L78.3 16.3L78.8 21.2L83.7 21.7L88.7 22.9L88.1 28.0L87.0 32.8L91.3 35.0L95.6 37.8L93.3 42.4L90.6 46.4Z'/%3E%3C/svg%3E") center / contain no-repeat; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding-top: 4px; max-width: 340px; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-cap { grid-column: 1 / -1; font: italic 500 17px 'Cormorant Garamond', var(--p-head-font); color: var(--ta); letter-spacing: .04em; margin-bottom: 6px; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-cap::before { content: 'THE WEDDING DAY'; display: block; margin-bottom: 4px; font: 600 10.5px/1 'Cinzel', 'Cormorant Garamond', var(--p-head-font); font-style: normal; letter-spacing: .3em; color: color-mix(in srgb, var(--tl) 70%, var(--tk)); }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-u { max-width: none; gap: 8px; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-n { width: 100%; max-width: 72px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, transparent 54%, rgba(0, 0, 0, .2) 56% 60%, transparent 62%), radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--ta) 55%, #FFFFFF), var(--ta) 46%, color-mix(in srgb, var(--ta) 68%, #000000)); box-shadow: 0 3px 6px rgba(80, 30, 20, .25); font: 700 23px/1 'Cinzel', 'Cormorant Garamond', var(--p-head-font); color: var(--to); text-shadow: 0 1px 1px rgba(0, 0, 0, .35); }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-l { font: italic 14px 'Cormorant Garamond', var(--p-head-font); letter-spacing: .02em; margin-top: 0; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-l i { display: none; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-l em { display: inline; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-end { display: block; grid-column: 1 / -1; margin-top: 8px; padding-top: 14px; text-align: center; background: linear-gradient(90deg, transparent, var(--tl), transparent) top / 100% 1px no-repeat; font: italic 14px 'Cormorant Garamond', var(--p-head-font); color: var(--tm); }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-side { position: relative; overflow: visible; border-radius: 2px; background: color-mix(in srgb, var(--tb) 40%, #FFFDF6); border: 1px solid color-mix(in srgb, var(--tl) 95%, transparent); box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--tb) 40%, #FFFDF6), inset 0 0 0 4px color-mix(in srgb, var(--tl) 65%, transparent), 0 4px 12px rgba(110, 80, 40, .08); padding-top: 44px; }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-side::after { content: ''; position: absolute; left: 50%; top: 20px; width: 32px; height: 32px; margin-left: -16px; background: radial-gradient(circle, transparent 54%, rgba(0, 0, 0, .2) 56% 60%, transparent 62%), radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--ta) 55%, #FFFFFF), var(--ta) 46%, color-mix(in srgb, var(--ta) 68%, #000000)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M94.0 50.0L97.0 54.1L93.3 57.6L89.4 60.6L91.3 65.0L92.8 69.9L88.1 72.0L83.4 73.4L83.7 78.3L83.4 83.4L78.3 83.7L73.4 83.4L72.0 88.1L69.9 92.8L65.0 91.3L60.6 89.4L57.6 93.3L54.1 97.0L50.0 94.0L46.4 90.6L42.4 93.3L37.8 95.6L35.0 91.3L32.8 87.0L28.0 88.1L22.9 88.7L21.7 83.7L21.2 78.8L16.3 78.3L11.3 77.1L11.9 72.0L13.0 67.2L8.7 65.0L4.4 62.2L6.7 57.6L9.4 53.6L6.0 50.0L3.0 45.9L6.7 42.4L10.6 39.4L8.7 35.0L7.2 30.1L11.9 28.0L16.6 26.6L16.3 21.7L16.6 16.6L21.7 16.3L26.6 16.6L28.0 11.9L30.1 7.2L35.0 8.7L39.4 10.6L42.4 6.7L45.9 3.0L50.0 6.0L53.6 9.4L57.6 6.7L62.2 4.4L65.0 8.7L67.2 13.0L72.0 11.9L77.1 11.3L78.3 16.3L78.8 21.2L83.7 21.7L88.7 22.9L88.1 28.0L87.0 32.8L91.3 35.0L95.6 37.8L93.3 42.4L90.6 46.4ZM50 66C41 59 35 54 35 47C35 42 38.6 38.6 43 38.6C46.2 38.6 48.8 40.6 50 43C51.2 40.6 53.8 38.6 57 38.6C61.4 38.6 65 42 65 47C65 54 59 59 50 66Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M94.0 50.0L97.0 54.1L93.3 57.6L89.4 60.6L91.3 65.0L92.8 69.9L88.1 72.0L83.4 73.4L83.7 78.3L83.4 83.4L78.3 83.7L73.4 83.4L72.0 88.1L69.9 92.8L65.0 91.3L60.6 89.4L57.6 93.3L54.1 97.0L50.0 94.0L46.4 90.6L42.4 93.3L37.8 95.6L35.0 91.3L32.8 87.0L28.0 88.1L22.9 88.7L21.7 83.7L21.2 78.8L16.3 78.3L11.3 77.1L11.9 72.0L13.0 67.2L8.7 65.0L4.4 62.2L6.7 57.6L9.4 53.6L6.0 50.0L3.0 45.9L6.7 42.4L10.6 39.4L8.7 35.0L7.2 30.1L11.9 28.0L16.6 26.6L16.3 21.7L16.6 16.6L21.7 16.3L26.6 16.6L28.0 11.9L30.1 7.2L35.0 8.7L39.4 10.6L42.4 6.7L45.9 3.0L50.0 6.0L53.6 9.4L57.6 6.7L62.2 4.4L65.0 8.7L67.2 13.0L72.0 11.9L77.1 11.3L78.3 16.3L78.8 21.2L83.7 21.7L88.7 22.9L88.1 28.0L87.0 32.8L91.3 35.0L95.6 37.8L93.3 42.4L90.6 46.4ZM50 66C41 59 35 54 35 47C35 42 38.6 38.6 43 38.6C46.2 38.6 48.8 40.6 50 43C51.2 40.6 53.8 38.6 57 38.6C61.4 38.6 65 42 65 47C65 54 59 59 50 66Z'/%3E%3C/svg%3E") center / contain no-repeat; }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) :is(.ib-acc-head, summary) { text-align: center; font-family: var(--p-head-font); font-size: 15px; font-weight: 600; letter-spacing: .16em; color: var(--tk); }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-row { border-top: 1px dotted color-mix(in srgb, var(--tl) 95%, transparent); }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-copy-btn { border-radius: 2px; border: 1px solid color-mix(in srgb, var(--ta) 50%, transparent); color: var(--ta); background: transparent; }
:is(.col.ib-th-angel .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-angel) .ib-gb-item { position: relative; display: flex; flex-direction: column; border-radius: 2px; background: color-mix(in srgb, var(--tb) 40%, #FFFDF6); border: 1px solid color-mix(in srgb, var(--tl) 95%, transparent); box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--tb) 40%, #FFFDF6), inset 0 0 0 4px color-mix(in srgb, var(--tl) 65%, transparent); padding: 16px 56px 12px 18px; }
:is(.col.ib-th-angel .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-angel) .ib-gb-msg { order: 1; margin: 0 0 8px; font-family: var(--p-head-font); line-height: 1.75; }
:is(.col.ib-th-angel .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-angel) .ib-gb-head { order: 2; justify-content: flex-end; font-family: 'Cormorant Garamond', var(--p-head-font); font-style: italic; }
:is(.col.ib-th-angel .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-angel) .ib-gb-head b { color: var(--ta); font-weight: 600; }
:is(.col.ib-th-angel .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-angel) .ib-gb-head b::before { content: 'From. '; }
:is(.col.ib-th-angel .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-angel) .ib-rsvp-btn { background: var(--ta); color: var(--to); border: 0; border-radius: 0; padding-left: 36px; padding-right: 36px; clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%, 6% 50%); box-shadow: inset 0 3px 0 -1px color-mix(in srgb, var(--to) 35%, transparent), inset 0 -3px 0 -1px color-mix(in srgb, var(--to) 35%, transparent); font-family: var(--p-head-font); letter-spacing: .12em; }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-item { border-top: 0 !important; border-bottom: 1px dotted color-mix(in srgb, var(--tl) 95%, transparent); }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-ico { font-size: 0; width: 34px; height: 34px; flex: none; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--tl) 95%, transparent); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--tb) 40%, #FFFDF6), inset 0 0 0 3px color-mix(in srgb, var(--tl) 65%, transparent); display: grid; place-items: center; box-sizing: border-box; }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-ico::before { content: counter(tr, upper-roman); font: 600 12.5px 'Cinzel', 'Cormorant Garamond', var(--p-head-font); color: var(--ta); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) { padding: 62px 16px 50px; margin-top: 40px; margin-bottom: 30px; background: color-mix(in srgb, var(--tb) 40%, #FFFDF6); border-radius: 4px; border: 1px solid color-mix(in srgb, var(--tl) 85%, transparent); box-shadow: 0 10px 28px -18px rgba(110, 80, 40, .35); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-d { height: 38px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-d.wk { background: color-mix(in srgb, var(--tl) 12%, transparent); }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-w u { display: inline; font: 600 10px/1 'Cinzel', 'Cormorant Garamond', var(--p-head-font); font-style: normal; letter-spacing: .12em; text-transform: uppercase; }
:is(.col.ib-th-angel .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-angel) .ct-year { font: 500 11px/1 'Cinzel', 'Cormorant Garamond', var(--p-head-font); letter-spacing: .32em; text-indent: .32em; color: var(--ta); font-style: normal; }
:is(.col.ib-th-angel .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-angel) .dd-n { max-width: 62px; font: 600 20px/1 var(--ib-num); font-variant-numeric: tabular-nums; text-shadow: 0 1px 1px rgba(0, 0, 0, .3); }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-side { position: relative; overflow: hidden; border-radius: 4px; background: color-mix(in srgb, var(--tb) 40%, #FFFDF6); border: 1px solid color-mix(in srgb, var(--tl) 85%, transparent); box-shadow: 0 10px 28px -18px rgba(110, 80, 40, .35); padding-top: 0; }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-side::after { content: ''; position: absolute; left: 16px; top: 15px; width: 22px; height: 22px; margin: 0; background: radial-gradient(circle, transparent 54%, rgba(0, 0, 0, .2) 56% 60%, transparent 62%), radial-gradient(circle at 36% 30%, color-mix(in srgb, var(--ta) 55%, #FFFFFF), var(--ta) 46%, color-mix(in srgb, var(--ta) 68%, #000000)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M94.0 50.0L97.0 54.1L93.3 57.6L89.4 60.6L91.3 65.0L92.8 69.9L88.1 72.0L83.4 73.4L83.7 78.3L83.4 83.4L78.3 83.7L73.4 83.4L72.0 88.1L69.9 92.8L65.0 91.3L60.6 89.4L57.6 93.3L54.1 97.0L50.0 94.0L46.4 90.6L42.4 93.3L37.8 95.6L35.0 91.3L32.8 87.0L28.0 88.1L22.9 88.7L21.7 83.7L21.2 78.8L16.3 78.3L11.3 77.1L11.9 72.0L13.0 67.2L8.7 65.0L4.4 62.2L6.7 57.6L9.4 53.6L6.0 50.0L3.0 45.9L6.7 42.4L10.6 39.4L8.7 35.0L7.2 30.1L11.9 28.0L16.6 26.6L16.3 21.7L16.6 16.6L21.7 16.3L26.6 16.6L28.0 11.9L30.1 7.2L35.0 8.7L39.4 10.6L42.4 6.7L45.9 3.0L50.0 6.0L53.6 9.4L57.6 6.7L62.2 4.4L65.0 8.7L67.2 13.0L72.0 11.9L77.1 11.3L78.3 16.3L78.8 21.2L83.7 21.7L88.7 22.9L88.1 28.0L87.0 32.8L91.3 35.0L95.6 37.8L93.3 42.4L90.6 46.4Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill-rule='evenodd' d='M94.0 50.0L97.0 54.1L93.3 57.6L89.4 60.6L91.3 65.0L92.8 69.9L88.1 72.0L83.4 73.4L83.7 78.3L83.4 83.4L78.3 83.7L73.4 83.4L72.0 88.1L69.9 92.8L65.0 91.3L60.6 89.4L57.6 93.3L54.1 97.0L50.0 94.0L46.4 90.6L42.4 93.3L37.8 95.6L35.0 91.3L32.8 87.0L28.0 88.1L22.9 88.7L21.7 83.7L21.2 78.8L16.3 78.3L11.3 77.1L11.9 72.0L13.0 67.2L8.7 65.0L4.4 62.2L6.7 57.6L9.4 53.6L6.0 50.0L3.0 45.9L6.7 42.4L10.6 39.4L8.7 35.0L7.2 30.1L11.9 28.0L16.6 26.6L16.3 21.7L16.6 16.6L21.7 16.3L26.6 16.6L28.0 11.9L30.1 7.2L35.0 8.7L39.4 10.6L42.4 6.7L45.9 3.0L50.0 6.0L53.6 9.4L57.6 6.7L62.2 4.4L65.0 8.7L67.2 13.0L72.0 11.9L77.1 11.3L78.3 16.3L78.8 21.2L83.7 21.7L88.7 22.9L88.1 28.0L87.0 32.8L91.3 35.0L95.6 37.8L93.3 42.4L90.6 46.4Z'/%3E%3C/svg%3E") center / contain no-repeat; }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 48px; font: 600 14.5px/1.3 var(--p-head-font); letter-spacing: .04em; color: var(--tk); }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-side[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-acc-row { border-top: 1px solid color-mix(in srgb, var(--tl) 45%, transparent); }
:is(.col.ib-th-angel .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-angel) .ib-copy-btn { border-radius: 999px; border: 1px solid color-mix(in srgb, var(--ta) 45%, transparent); color: var(--ta); background: transparent; }
:is(.col.ib-th-angel .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-angel) .ib-gb-item { position: relative; display: flex; flex-direction: column; border-radius: 4px; background: color-mix(in srgb, var(--tb) 40%, #FFFDF6); border: 1px solid color-mix(in srgb, var(--tl) 85%, transparent); box-shadow: 0 10px 28px -18px rgba(110, 80, 40, .35); padding: 16px 18px 12px; margin: 0 0 10px; }
:is(.col.ib-th-angel .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-angel) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; clip-path: none; box-shadow: none; font: 600 14.5px/1.2 var(--p-head-font); letter-spacing: .08em; }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-item { border-top: 0 !important; border-bottom: 1px solid color-mix(in srgb, var(--tl) 55%, transparent); padding: 16px 2px; }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-item:last-child { border-bottom: 0; }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-ico { font-size: 0; width: 30px; height: 30px; flex: none; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--tl) 90%, transparent); box-shadow: none; display: grid; place-items: center; box-sizing: border-box; }
:is(.col.ib-th-angel .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-angel) .ib-transport-ico::before { content: counter(tr); font: 600 12px/1 var(--ib-num); color: var(--ta); }
/* webtoon */
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) { background: #FFFFFF; border: 2px solid #1B1B1F; box-shadow: 2px 2px 0 #1B1B1F; padding: 14px 10px 10px; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) :is(.ct-mon, .ct-year) { display: none; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-mko { display: inline-block; position: relative; padding: 4px 16px 2px; background: #FFFFFF; border: 2px solid #1B1B1F; border-radius: 999px; font: 400 18px 'Black Han Sans', var(--p-head-font); }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-mko::after { content: '!'; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-grid { border-top: 2px solid #1B1B1F; padding-top: 4px; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-w { background: #FFD93D; font-weight: 800; color: #1B1B1F; padding: 4px 0; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-w em { display: inline; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-w i { display: none; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-d { font-weight: 700; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) .ct-d.on b { width: 40px; height: 40px; border-radius: 0; background: #FFD93D; color: #1B1B1F; clip-path: polygon(50% 0, 61% 30%, 95% 18%, 72% 45%, 100% 62%, 66% 66%, 72% 100%, 50% 76%, 28% 100%, 34% 66%, 0 62%, 28% 45%, 5% 18%, 39% 30%); font-weight: 900; }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) { gap: 10px; padding-top: 4px; }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-cap { font: 400 15px 'Black Han Sans', var(--p-head-font); color: var(--ta); }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-cap::after { content: ' 두근두근!'; }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-u { flex: 1 1 0; min-width: 0; max-width: 68px; padding: 10px 0 8px; background: #FFFFFF; border: 2px solid #1B1B1F; border-radius: 18px; box-shadow: 2px 2px 0 #1B1B1F; }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-u::after { content: ''; position: absolute; left: 14px; bottom: -9px; width: 10px; height: 9px; background: #FFFFFF; border-right: 2px solid #1B1B1F; border-bottom: 2px solid #1B1B1F; transform: skewX(30deg); }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-n { font: 400 26px 'Black Han Sans', var(--p-head-font); color: #1B1B1F; }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-l i { display: none; }
:is(.col.ib-sk-webtoon .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-webtoon) .dd-l em { display: inline; color: #1B1B1F; }
:is(.col.ib-sk-webtoon .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-webtoon) .ib-acc-side { border: 2px solid #1B1B1F; border-radius: 0; background: #FFFFFF; box-shadow: 2px 2px 0 #1B1B1F; }
:is(.col.ib-sk-webtoon .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-webtoon) :is(.ib-acc-head, summary) { display: table; margin: -2px 0 0 -2px; background: #FFD93D; border: 2px solid #1B1B1F; padding: 4px 14px; font-family: 'Black Han Sans', var(--p-head-font); font-weight: 400; }
:is(.col.ib-sk-webtoon .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-webtoon) .ib-transport-item { border: 2px solid #1B1B1F !important; box-shadow: 2px 2px 0 #1B1B1F; padding: 10px 12px; margin-bottom: 10px; background: #FFFFFF; }
:is(.col.ib-sk-webtoon .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-webtoon) .ib-transport-ico { font-size: 0; width: 34px; height: 26px; background: #FFD93D; border: 2px solid #1B1B1F; display: grid; place-items: center; }
:is(.col.ib-sk-webtoon .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-webtoon) .ib-transport-ico::before { content: '#' counter(tr); font: 400 14px 'Black Han Sans', var(--p-head-font); color: #1B1B1F; }
:is(.col.ib-sk-webtoon .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-webtoon) { border-radius: 12px; }
:is(.col.ib-sk-webtoon .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-webtoon) .ib-acc-side { border-radius: 10px; overflow: hidden; }
:is(.col.ib-sk-webtoon .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-webtoon) :is(.ib-acc-head, summary) { margin: 0; border-width: 0 2px 2px 0; border-radius: 0 0 10px 0; }
:is(.col.ib-sk-webtoon .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-webtoon) .ib-transport-item { border-radius: 10px; }
:is(.col.ib-sk-webtoon .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-webtoon) .ib-transport-ico { border-radius: 6px; }
/* hanji */
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) { background: transparent; border: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 2px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-mon { display: none; }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-d.on b { width: 34px; height: 34px; border-radius: 2px; background: var(--tk); color: var(--tb); font-weight: 600; border: 0; box-shadow: none; }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 340px; }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-u { max-width: none; padding: 4px 0; gap: 6px; }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-u + .dd-u { border-left: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-n { font-weight: 300; font-size: 30px; color: var(--tk); }
:is(.col.ib-th-hanji .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-hanji) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-hanji .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-hanji) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-hanji .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-hanji) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-hanji .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-hanji) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-hanji .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-hanji) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-hanji .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-hanji) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 2px; }
:is(.col.ib-th-hanji .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-hanji) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-hanji .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-hanji) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-d.on b { width: 32px; height: 32px; border-radius: 3px; background: var(--ta); color: var(--to); font-weight: 600; transform: rotate(-4deg); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--to) 22%, transparent); }
:is(.col.ib-th-hanji .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-hanji) .ct-mko { font-family: var(--p-head-font); font-weight: 700; font-size: 22px; }
:is(.col.ib-th-hanji .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-hanji) .dd-n { font-weight: 300; font-size: 30px; color: var(--tk); }
/* ticket */
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 14px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-year { order: 1; font: 600 10px/1 var(--ib-mono); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-mono); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-w { font: 600 10px/1 var(--ib-mono); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-d { height: 40px; font: 400 14px/1 var(--ib-mono); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-ticket .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-ticket) .dd-n { font: 500 26px/1.1 var(--ib-mono); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-ticket .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-ticket) .dd-l { font: 600 9px/1 var(--ib-mono); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-ticket .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-ticket) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-ticket .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-ticket) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-ticket .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-ticket) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 14px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); }
:is(.col.ib-th-ticket .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-ticket) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 14px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-ticket .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-ticket) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-ticket .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-ticket) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-ticket .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-ticket) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 14px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-ticket .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-ticket) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-ticket .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-ticket) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-ticket .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-ticket) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-mono); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) { -webkit-mask: radial-gradient(circle 9px at 0 64px, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 64px, #0000 98%, #000) right / 51% 100% no-repeat; mask: radial-gradient(circle 9px at 0 64px, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 64px, #0000 98%, #000) right / 51% 100% no-repeat; filter: drop-shadow(0 8px 14px rgba(20, 30, 45, .12)); box-shadow: none; }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-head { padding-bottom: 16px; margin-bottom: 14px; background: radial-gradient(circle 1.4px, color-mix(in srgb, var(--tk) 30%, transparent) 98%, #0000) 0 100% / 9px 3px repeat-x; }
:is(.col.ib-th-ticket .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-ticket) .ct-mon { font-family: var(--ib-mono); letter-spacing: .3em; }
:is(.col.ib-th-ticket .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-ticket) .dd-n { font-family: var(--ib-mono); font-weight: 500; }
:is(.col.ib-th-ticket .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-ticket) .ib-acc-side { -webkit-mask: radial-gradient(circle 9px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; mask: radial-gradient(circle 9px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; filter: drop-shadow(0 6px 12px rgba(20, 30, 45, .1)); box-shadow: none; }
:is(.col.ib-th-ticket .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-ticket) .ib-gb-item { -webkit-mask: radial-gradient(circle 9px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; mask: radial-gradient(circle 9px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 9px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; filter: drop-shadow(0 6px 12px rgba(20, 30, 45, .1)); box-shadow: none; }
/* olive */
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 22px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-olive .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-olive) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-olive .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-olive) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-olive .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-olive) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-olive .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-olive) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-olive .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-olive) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-olive .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-olive) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 22px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-olive .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-olive) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-olive .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-olive) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-olive .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-olive) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 22px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-olive .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-olive) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-olive .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-olive) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-olive .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-olive) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) { border-radius: 170px 170px 22px 22px / 120px 120px 22px 22px; padding-top: 40px; }
:is(.col.ib-th-olive .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-olive) .ct-mon { font-size: 26px; }
:is(.col.ib-th-olive .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-olive) .dd-u { border-radius: 999px 999px 16px 16px / 40px 40px 16px 16px; padding-top: 18px; }
/* sea */
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 18px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; border: 0; box-shadow: 0 0 0 5px color-mix(in srgb, var(--ta) 18%, transparent), 0 0 18px color-mix(in srgb, var(--ta) 45%, transparent); }
:is(.col.ib-th-sea .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sea) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-sea .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sea) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-sea .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sea) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-sea .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sea) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-sea .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sea) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 18px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); }
:is(.col.ib-th-sea .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-sea) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 18px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-sea .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-sea) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-sea .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-sea) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-sea .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-sea) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 9%, var(--tb)); border: 0; border-radius: 20px 20px 20px 6px; box-shadow: none; padding: 15px 18px; margin: 0 12% 10px 0; outline: 0; transform: none; }
:is(.col.ib-th-sea .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-sea) .ib-gb-item:nth-child(even) { background: color-mix(in srgb, var(--tk) 5%, var(--tb)); border-radius: 20px 20px 6px 20px; margin: 0 0 10px 12%; }
:is(.col.ib-th-sea .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-sea) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-sea .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-sea) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-sea .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-sea) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
:is(.col.ib-th-sea .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-sea) { background: linear-gradient(180deg, color-mix(in srgb, var(--ta) 10%, #FFFFFF) 0, #FFFFFF 46%); }
:is(.col.ib-th-sea .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-sea) .dd-n { font-weight: 300; font-size: 30px; color: var(--ta); }
/* wine */
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 8px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 340px; }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-u { max-width: none; padding: 4px 0; gap: 6px; }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-u + .dd-u { border-left: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-n { font-weight: 300; font-size: 30px; color: var(--tk); }
:is(.col.ib-th-wine .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-wine) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-wine .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-wine) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-wine .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-wine) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-wine .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-wine) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-wine .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-wine) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 8px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-wine .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-wine) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-wine .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-wine) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-wine .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-wine) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-wine .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-wine) .ct-mon { font-size: 28px; font-style: italic; letter-spacing: 0; }
:is(.col.ib-th-wine .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-wine) .dd-n { color: var(--ta); font-weight: 300; }
/* spring */
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 24px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-spring .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-spring) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-spring .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-spring) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-spring .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-spring) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-spring .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-spring) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-spring .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-spring) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-spring .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-spring) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 24px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-spring .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-spring) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-spring .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-spring) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-spring .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-spring) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 9%, var(--tb)); border: 0; border-radius: 20px 20px 20px 6px; box-shadow: none; padding: 15px 18px; margin: 0 12% 10px 0; outline: 0; transform: none; }
:is(.col.ib-th-spring .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-spring) .ib-gb-item:nth-child(even) { background: color-mix(in srgb, var(--tk) 5%, var(--tb)); border-radius: 20px 20px 6px 20px; margin: 0 0 10px 12%; }
:is(.col.ib-th-spring .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-spring) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: color-mix(in srgb, var(--ta) 14%, var(--tb)); color: var(--ta); border: 0; border-radius: 999px; }
:is(.col.ib-th-spring .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-spring) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-spring .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-spring) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-d.on b { background: none; color: var(--to); font-weight: 600; box-shadow: none; position: relative; z-index: 1; }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-d.on b::before { content: ''; position: absolute; inset: -4px; z-index: -1; background: var(--ta); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg%3E%3Ccircle cx='50' cy='22' r='20'/%3E%3Ccircle cx='78' cy='44' r='20'/%3E%3Ccircle cx='67' cy='77' r='20'/%3E%3Ccircle cx='33' cy='77' r='20'/%3E%3Ccircle cx='22' cy='44' r='20'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat, radial-gradient(circle, #000 44%, transparent 45%); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg%3E%3Ccircle cx='50' cy='22' r='20'/%3E%3Ccircle cx='78' cy='44' r='20'/%3E%3Ccircle cx='67' cy='77' r='20'/%3E%3Ccircle cx='33' cy='77' r='20'/%3E%3Ccircle cx='22' cy='44' r='20'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat, radial-gradient(circle, #000 44%, transparent 45%); }
:is(.col.ib-th-spring .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-spring) .ct-mon { font-size: 26px; }
/* winter */
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) .ct-mon { order: 2; font-family: var(--p-head-font); font-size: 24px; font-weight: 500; font-style: normal; letter-spacing: .02em; color: var(--tk); }
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: transparent; color: var(--ta); font-weight: 600; border: 1.5px solid var(--ta); box-shadow: none; }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; max-width: 340px; }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-u { max-width: none; padding: 4px 0; gap: 6px; }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-u + .dd-u { border-left: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-n { font-weight: 300; font-size: 30px; color: var(--tk); }
:is(.col.ib-th-winter .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-winter) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-winter .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-winter) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-winter .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-winter) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-winter .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-winter) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-winter .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-winter) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-winter .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-winter) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: transparent; color: var(--ta); border: 1px solid var(--ta); border-radius: 999px; }
:is(.col.ib-th-winter .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-winter) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-winter .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-winter) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-winter .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-winter) { background: linear-gradient(180deg, color-mix(in srgb, var(--ta) 8%, #FFFFFF) 0, #FFFFFF 42%); }
:is(.col.ib-th-winter .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-winter) .dd-n { font-weight: 200; font-size: 30px; color: var(--ta); }
/* press */
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) { background: transparent; border: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) .ct-mon { order: 2; font: 600 15px/1.2 var(--ib-num); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; color: var(--tk); }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) .ct-d.on b { width: 34px; height: 34px; border-radius: 0px; background: var(--tk); color: var(--tb); font-weight: 600; border: 0; box-shadow: none; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 14px; max-width: 340px; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u-days { flex: 0 0 100%; max-width: none; flex-direction: row; justify-content: center; align-items: baseline; gap: 8px; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u-days .dd-n { font-size: 64px; font-weight: 200; letter-spacing: -.03em; color: var(--ta); }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u-days .dd-n::before { content: 'D-'; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u-days .dd-l { display: none; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u:not(.dd-u-days) { flex: none; max-width: none; flex-direction: row; align-items: baseline; gap: 4px; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u:not(.dd-u-days) .dd-n { font-size: 15px; font-weight: 500; }
:is(.col.ib-th-press .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-press) .ib-acc-side { background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); border-radius: 0; box-shadow: none; margin-top: 0; padding-top: 0; }
:is(.col.ib-th-press .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-press) .ib-acc-side:first-child { border-top: 1px solid color-mix(in srgb, var(--tk) 12%, transparent); }
:is(.col.ib-th-press .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-press) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 4px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-press .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-press) .ib-acc-side summary::after { content: ''; position: absolute; right: 8px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-press .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-press) .ib-gb-item { display: flex; flex-direction: column; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--tk) 11%, transparent); border-radius: 0; box-shadow: none; padding: 16px 2px; margin: 0; outline: 0; transform: none; }
:is(.col.ib-th-press .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-press) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--tk); color: var(--tb); border: 0; border-radius: 0px; }
:is(.col.ib-th-press .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-press) .ib-transport-ico { font-size: 0; width: 26px; align-self: flex-start; padding-top: 2px; background: none; border: 0; transform: none; }
:is(.col.ib-th-press .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-press) .ib-transport-ico::before { content: counter(tr, decimal-leading-zero); font: 600 12.5px/1.4 var(--ib-num); letter-spacing: .04em; color: var(--ta); }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) { border: 0; border-top: 3px solid var(--tk); border-bottom: 1px solid var(--tk); border-radius: 0; background: transparent; padding: 18px 6px 12px; }
:is(.col.ib-th-press .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-press) .ct-mon { font-family: var(--p-head-font); font-weight: 700; font-size: 20px; letter-spacing: .14em; }
:is(.col.ib-th-press .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-press) .dd-u-days .dd-n { font-family: var(--p-head-font); font-weight: 700; color: var(--tk); letter-spacing: -.02em; }
:is(.col.ib-th-press .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-press) .ib-acc-side:first-child { border-top: 2px solid var(--tk); }
/* retro */
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 24px; box-shadow: none; padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-mon { display: none; }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 18px; box-shadow: none; }
:is(.col.ib-th-retro .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-retro) .ib-acc-side { background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 24px; box-shadow: none; margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-retro .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-retro) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-retro .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-retro) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-retro .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-retro) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--ta) 7%, var(--tb)); border: 0; border-radius: 24px; box-shadow: none; padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-retro .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-retro) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-retro .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-retro) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-retro .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-retro) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-u { border-radius: 999px; padding: 16px 0 14px; }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-u:nth-child(odd) { background: color-mix(in srgb, var(--ta) 22%, var(--tb)); }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-u:nth-child(even) { background: color-mix(in srgb, var(--ta) 9%, var(--tb)); }
:is(.col.ib-th-retro .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-retro) .dd-n { font-weight: 700; }
:is(.col.ib-th-retro .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-retro) .ct-d.on b { color: var(--tk); font-weight: 700; }
/* picnic */
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 22px 14px 14px; max-width: 340px; }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) .ct-year { order: 1; font: 600 10px/1 var(--ib-num); letter-spacing: .32em; text-indent: .32em; color: var(--ta); }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) .ct-mon { display: none; }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) .ct-mko { display: block; order: 2; font: 600 21px/1.2 var(--ib-num); letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) .ct-w { font: 600 10px/1 var(--ib-num); letter-spacing: .08em; color: var(--tm); padding-bottom: 10px; }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) .ct-d { height: 40px; font: 400 14px/1 var(--ib-num); font-variant-numeric: tabular-nums; }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) .ct-d.on b { width: 34px; height: 34px; border-radius: 50%; background: var(--ta); color: var(--to); font-weight: 600; box-shadow: none; border: 0; }
:is(.col.ib-th-picnic .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-picnic) .dd-n { font: 500 26px/1.1 var(--ib-num); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--tk); }
:is(.col.ib-th-picnic .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-picnic) .dd-l { font: 600 9px/1 var(--ib-num); letter-spacing: .18em; color: var(--tm); text-transform: uppercase; }
:is(.col.ib-th-picnic .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-picnic) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 340px; }
:is(.col.ib-th-picnic .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-picnic) .dd-cap { grid-column: 1 / -1; }
:is(.col.ib-th-picnic .dday-countdown.dd-theme:not(.ib-tpx), .dday-countdown.dd-theme.ib-tp-picnic) .dd-u { max-width: none; padding: 14px 0 12px; gap: 7px; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); }
:is(.col.ib-th-picnic .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-picnic) .ib-acc-side { background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); margin-top: 10px; padding-top: 0; overflow: hidden; }
:is(.col.ib-th-picnic .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-picnic) :is(.ib-acc-head, summary) { text-align: left; padding: 17px 46px 17px 18px; font: 600 14.5px/1.3 var(--ib-num); letter-spacing: -.005em; color: var(--tk); border: 0; margin: 0; }
:is(.col.ib-th-picnic .ib-as-theme:not(.ib-tpx), .ib-as-theme.ib-tp-picnic) .ib-acc-side summary::after { content: ''; position: absolute; right: 20px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border: 0; border-right: 1.5px solid var(--tm); border-bottom: 1.5px solid var(--tm); transform: rotate(45deg); font-size: 0; }
:is(.col.ib-th-picnic .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-picnic) .ib-gb-item { display: flex; flex-direction: column; background: color-mix(in srgb, var(--tb) 30%, #FFFFFF); border: 0; border-radius: 16px; box-shadow: 0 10px 28px -16px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .04); padding: 16px 18px; margin: 0 0 10px; outline: 0; transform: none; }
:is(.col.ib-th-picnic .ib-rs-theme:not(.ib-tpx), .ib-rs-theme.ib-tp-picnic) .ib-rsvp-btn { min-width: 240px; padding: 15px 28px; font: 600 14.5px/1.2 var(--ib-num); letter-spacing: .01em; transform: none; outline: 0; box-shadow: none; background: var(--ta); color: var(--to); border: 0; border-radius: 999px; }
:is(.col.ib-th-picnic .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-picnic) .ib-transport-ico { font-size: 0; width: 28px; height: 28px; margin-top: -2px; border-radius: 50%; background: color-mix(in srgb, var(--ta) 13%, var(--tb)); border: 0; display: grid; place-items: center; transform: none; }
:is(.col.ib-th-picnic .ib-tr-theme:not(.ib-tpx), .ib-tr-theme.ib-tp-picnic) .ib-transport-ico::before { content: counter(tr); font: 700 12px/1 var(--ib-num); color: var(--ta); }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic) { padding-top: 30px; overflow: hidden; }
:is(.col.ib-th-picnic .cal-theme:not(.ib-tpx), .cal-theme.ib-tp-picnic)::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--ta) 50%, transparent) 0 8px, transparent 8px 16px), repeating-linear-gradient(0deg, color-mix(in srgb, var(--ta) 30%, transparent) 0 5px, transparent 5px 10px), color-mix(in srgb, var(--ta) 10%, #FFFFFF); }
:is(.col.ib-th-picnic .ib-gb-theme:not(.ib-tpx), .ib-gb-theme.ib-tp-picnic) .ib-gb-item { border-top: 3px solid transparent; background-clip: padding-box; }
@media (prefers-reduced-motion: reduce) { .dd-theme .dd-orb .dd-orb-on { transition: none; } }
/* ===== 테마 부품 끝 ===== */
/* ===== 인터뷰 모양 (fields.style → .blk-interview.iv-st-*, 기본 = 이름표) ===== */
.blk-interview.iv-st-chat .iv-q { display: table; margin: 0 auto 14px; padding: 5px 14px; border-radius: 999px; background: color-mix(in srgb, var(--p-ink) 7%, transparent); font-size: 13px; text-align: center; }
.blk-interview.iv-st-chat .iv-a { flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 12px; }
.blk-interview.iv-st-chat .iv-tag { background: none !important; padding: 0 4px; font-size: 11.5px; }
.blk-interview.iv-st-chat .iv-a p { flex: none; max-width: 84%; padding: 10px 14px; border-radius: 18px 18px 18px 4px; background: color-mix(in srgb, var(--groom-color, #8FA8D9) 18%, var(--p-bg)); text-align: left; }
.blk-interview.iv-st-chat .iv-a:last-child { align-items: flex-end; }
.blk-interview.iv-st-chat .iv-a:last-child p { border-radius: 18px 18px 4px 18px; background: color-mix(in srgb, var(--bride-color, #D98F9C) 18%, var(--p-bg)); }
.blk-interview.iv-st-card .iv-qa { background: var(--th-card, color-mix(in srgb, var(--p-bg) 45%, #FFFFFF)); border: 1px solid var(--p-line); border-radius: var(--p-radius, 14px); padding: 16px 16px 8px; box-shadow: 0 4px 14px rgba(0, 0, 0, .05); margin-bottom: 14px; }
.blk-interview.iv-st-card .iv-q { padding-bottom: 10px; border-bottom: 1px dashed var(--p-line); }
.blk-interview.iv-st-card .iv-q::first-letter { color: var(--p-accent); font: 700 1.5em/1 var(--p-head-font); }
:is(.ib-dark, .ib-sk-dark) .blk-interview.iv-st-card .iv-qa { background: var(--ib-card); border-color: var(--ib-cline); box-shadow: none; }
.blk-interview.iv-st-mag { counter-reset: ivq; }
.blk-interview.iv-st-mag .iv-qa { counter-increment: ivq; border-top: 1.5px solid var(--p-ink); padding-top: 14px; margin-bottom: 26px; }
.blk-interview.iv-st-mag .iv-q { font-family: var(--p-head-font); font-size: 15.5px; }
.blk-interview.iv-st-mag .iv-q::before { content: counter(ivq, decimal-leading-zero); display: block; font: 400 30px/1 var(--p-head-font); color: var(--p-accent); margin-bottom: 8px; letter-spacing: .02em; }
.blk-interview.iv-st-mag .iv-a { flex-direction: column; gap: 2px; padding-left: 12px; border-left: 2px solid var(--p-line); }
.blk-interview.iv-st-mag .iv-tag { background: none !important; padding: 0; font-size: 11px; letter-spacing: .12em; }
.blk-interview.iv-st-split .iv-qa { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.blk-interview.iv-st-split .iv-q { grid-column: 1 / -1; text-align: center; margin-bottom: 2px; }
.blk-interview.iv-st-split .iv-a { flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 14px 10px; text-align: center; border-radius: var(--p-radius, 14px); background: color-mix(in srgb, var(--groom-color, #8FA8D9) 12%, var(--p-bg)); }
.blk-interview.iv-st-split .iv-a:last-child { background: color-mix(in srgb, var(--bride-color, #D98F9C) 12%, var(--p-bg)); }
.blk-interview.iv-st-split .iv-a p { flex: none; }
.blk-interview.iv-st-split .iv-tag { background: color-mix(in srgb, var(--p-bg) 30%, #FFFFFF); }
:is(.ib-dark, .ib-sk-dark) .blk-interview.iv-st-split .iv-tag { background: rgba(255, 255, 255, .08); }

/* ===== 페이지 배경 꾸밈 (InviteBlocks.applyBackdrop → 청첩장 root에 .ib-bd .ib-bd-<무늬>, 화면 설정 '배경 꾸밈'을 끄면 .ib-nobd = 무늬·종이 질감 없음)
   섹션마다 따로 그리지 않고 청첩장 전체에 한 장으로 이어지게 (섹션이 나타나는 효과 중에도 바탕은 그대로). 생성기: 스크래치 th/mkbd.py */
.ib-bd { background-image: var(--p-bd), var(--p-paper, none) !important; background-size: var(--p-bd-size), 300px !important; background-repeat: var(--p-bd-rep), repeat !important; background-position: var(--p-bd-pos), 0 0 !important; background-blend-mode: var(--p-bd-blend), multiply !important; }
.ib-nobd { --p-paper: none !important; }
.ib-bd-stars { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='390' height='640' viewBox='0 0 390 640'%3E%3Ccircle cx='128' cy='101' r='1.2' fill='%23FFFFFF' opacity='0.28'/%3E%3Ccircle cx='144' cy='42' r='1' fill='%23FFFFFF' opacity='0.37'/%3E%3Ccircle cx='170' cy='50' r='0.5' fill='%23FFFFFF' opacity='0.55'/%3E%3Ccircle cx='319' cy='84' r='0.6' fill='%23FFFFFF' opacity='0.60'/%3E%3Ccircle cx='224' cy='255' r='0.6' fill='%23FFFFFF' opacity='0.28'/%3E%3Ccircle cx='115' cy='97' r='0.5' fill='%23FFFFFF' opacity='0.56'/%3E%3Ccircle cx='45' cy='365' r='0.6' fill='%23FFFFFF' opacity='0.45'/%3E%3Ccircle cx='219' cy='395' r='0.8' fill='%23CFD8FF' opacity='0.62'/%3E%3Ccircle cx='300' cy='298' r='0.8' fill='%23FFFFFF' opacity='0.45'/%3E%3Ccircle cx='306' cy='445' r='0.6' fill='%23F5E6B8' opacity='0.30'/%3E%3Ccircle cx='205' cy='556' r='1.2' fill='%23FFFFFF' opacity='0.50'/%3E%3Ccircle cx='51' cy='269' r='0.7' fill='%23CFD8FF' opacity='0.33'/%3E%3Ccircle cx='165' cy='610' r='0.5' fill='%23F5E6B8' opacity='0.67'/%3E%3Ccircle cx='135' cy='226' r='0.8' fill='%23CFD8FF' opacity='0.57'/%3E%3Ccircle cx='32' cy='65' r='0.7' fill='%23FFFFFF' opacity='0.51'/%3E%3Ccircle cx='29' cy='447' r='1.2' fill='%23CFD8FF' opacity='0.57'/%3E%3Ccircle cx='114' cy='248' r='1.2' fill='%23CFD8FF' opacity='0.44'/%3E%3Ccircle cx='140' cy='390' r='0.8' fill='%23F5E6B8' opacity='0.28'/%3E%3Ccircle cx='55' cy='162' r='0.8' fill='%23CFD8FF' opacity='0.75'/%3E%3Ccircle cx='36' cy='288' r='1' fill='%23FFFFFF' opacity='0.40'/%3E%3Ccircle cx='316' cy='549' r='0.7' fill='%23F5E6B8' opacity='0.64'/%3E%3Ccircle cx='264' cy='245' r='0.6' fill='%23FFFFFF' opacity='0.33'/%3E%3Ccircle cx='63' cy='420' r='0.5' fill='%23FFFFFF' opacity='0.52'/%3E%3Ccircle cx='105' cy='9' r='0.8' fill='%23F5E6B8' opacity='0.54'/%3E%3Ccircle cx='366' cy='440' r='1' fill='%23FFFFFF' opacity='0.77'/%3E%3Ccircle cx='179' cy='553' r='1.2' fill='%23CFD8FF' opacity='0.69'/%3E%3Ccircle cx='156' cy='254' r='0.8' fill='%23FFFFFF' opacity='0.60'/%3E%3Ccircle cx='78' cy='624' r='0.8' fill='%23F5E6B8' opacity='0.34'/%3E%3Ccircle cx='233' cy='70' r='1' fill='%23FFFFFF' opacity='0.33'/%3E%3Ccircle cx='365' cy='391' r='0.5' fill='%23CFD8FF' opacity='0.73'/%3E%3Ccircle cx='62' cy='164' r='0.7' fill='%23CFD8FF' opacity='0.58'/%3E%3Ccircle cx='52' cy='539' r='0.8' fill='%23F5E6B8' opacity='0.51'/%3E%3Ccircle cx='38' cy='70' r='0.7' fill='%23CFD8FF' opacity='0.66'/%3E%3Ccircle cx='319' cy='107' r='0.5' fill='%23F5E6B8' opacity='0.36'/%3E%3Ccircle cx='61' cy='347' r='0.5' fill='%23F5E6B8' opacity='0.67'/%3E%3Ccircle cx='376' cy='548' r='1.2' fill='%23F5E6B8' opacity='0.71'/%3E%3Ccircle cx='349' cy='229' r='0.6' fill='%23F5E6B8' opacity='0.54'/%3E%3Ccircle cx='247' cy='391' r='0.6' fill='%23CFD8FF' opacity='0.69'/%3E%3Ccircle cx='286' cy='148' r='1' fill='%23FFFFFF' opacity='0.52'/%3E%3Ccircle cx='380' cy='502' r='0.8' fill='%23F5E6B8' opacity='0.39'/%3E%3Ccircle cx='175' cy='594' r='0.7' fill='%23F5E6B8' opacity='0.78'/%3E%3Ccircle cx='36' cy='70' r='0.8' fill='%23FFFFFF' opacity='0.36'/%3E%3Ccircle cx='188' cy='625' r='1' fill='%23CFD8FF' opacity='0.71'/%3E%3Ccircle cx='350' cy='222' r='1.2' fill='%23FFFFFF' opacity='0.30'/%3E%3Ccircle cx='350' cy='497' r='0.6' fill='%23FFFFFF' opacity='0.51'/%3E%3Ccircle cx='170' cy='405' r='0.5' fill='%23CFD8FF' opacity='0.69'/%3E%3Cpath d='M70 114L71.2 118.8L76 120L71.2 121.2L70 126L68.8 121.2L64 120L68.8 118.8Z' fill='%23F5E6B8' opacity='.7'/%3E%3Cpath d='M300 324L301.2 328.8L306 330L301.2 331.2L300 336L298.8 331.2L294 330L298.8 328.8Z' fill='%23F5E6B8' opacity='.7'/%3E%3Cpath d='M190 554L191.2 558.8L196 560L191.2 561.2L190 566L188.8 561.2L184 560L188.8 558.8Z' fill='%23F5E6B8' opacity='.7'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='390' height='1600' viewBox='0 0 390 1600'%3E%3Cdefs%3E%3CradialGradient id='a'%3E%3Cstop offset='0' stop-color='%237B6CD9' stop-opacity='.20'/%3E%3Cstop offset='1' stop-color='%237B6CD9' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='b'%3E%3Cstop offset='0' stop-color='%234C8FD6' stop-opacity='.16'/%3E%3Cstop offset='1' stop-color='%234C8FD6' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cellipse cx='60' cy='420' rx='200' ry='170' fill='url(%23a)'/%3E%3Cellipse cx='340' cy='1180' rx='190' ry='160' fill='url(%23b)'/%3E%3C/svg%3E"); --p-bd-size: 390px 640px, 390px 1600px; --p-bd-rep: repeat, repeat; --p-bd-pos: 0 0, center 0; --p-bd-blend: normal, normal; }
.ib-bd-rain { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='390' height='560' viewBox='0 0 390 560'%3E%3Cline x1='181' y1='394' x2='177.6' y2='409.5' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.13'/%3E%3Cline x1='20' y1='319' x2='14.6' y2='342.1' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.22'/%3E%3Cline x1='316' y1='510' x2='309.2' y2='536.7' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.16'/%3E%3Cline x1='213' y1='40' x2='205.6' y2='69.6' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.23'/%3E%3Cline x1='205' y1='487' x2='199.3' y2='509.5' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.26'/%3E%3Cline x1='20' y1='134' x2='14.5' y2='157.6' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.24'/%3E%3Cline x1='106' y1='235' x2='101.9' y2='251.4' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.26'/%3E%3Cline x1='342' y1='355' x2='334.8' y2='384.0' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.19'/%3E%3Cline x1='58' y1='104' x2='52.5' y2='127.9' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.26'/%3E%3Cline x1='235' y1='410' x2='231.1' y2='426.8' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.13'/%3E%3Cline x1='278' y1='303' x2='273.4' y2='322.6' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.19'/%3E%3Cline x1='189' y1='410' x2='180.9' y2='441.2' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.11'/%3E%3Cline x1='112' y1='408' x2='106.6' y2='431.8' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.20'/%3E%3Cline x1='174' y1='330' x2='168.2' y2='353.5' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.19'/%3E%3Cline x1='113' y1='279' x2='105.3' y2='308.2' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.19'/%3E%3Cline x1='269' y1='460' x2='260.8' y2='491.4' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.15'/%3E%3Cline x1='340' y1='129' x2='334.8' y2='151.5' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.17'/%3E%3Cline x1='174' y1='66' x2='169.0' y2='83.8' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.11'/%3E%3Cline x1='122' y1='90' x2='114.9' y2='118.6' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.27'/%3E%3Cline x1='254' y1='100' x2='246.6' y2='130.8' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.27'/%3E%3Cline x1='286' y1='76' x2='278.6' y2='106.9' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.13'/%3E%3Cline x1='318' y1='109' x2='312.5' y2='131.1' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.19'/%3E%3Cline x1='166' y1='205' x2='162.0' y2='220.1' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.17'/%3E%3Cline x1='215' y1='246' x2='211.5' y2='259.8' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.16'/%3E%3Cline x1='119' y1='501' x2='115.4' y2='516.6' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.27'/%3E%3Cline x1='370' y1='81' x2='364.9' y2='100.1' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.11'/%3E%3Cline x1='110' y1='93' x2='104.6' y2='115.3' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.26'/%3E%3Cline x1='160' y1='293' x2='154.3' y2='316.5' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.19'/%3E%3Cline x1='43' y1='58' x2='36.4' y2='85.1' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.18'/%3E%3Cline x1='110' y1='38' x2='105.7' y2='53.6' stroke='%23A9C1D6' stroke-width='1.2' stroke-linecap='round' opacity='0.15'/%3E%3Cline x1='327' y1='63' x2='319.2' y2='93.0' stroke='%23A9C1D6' stroke-width='1' stroke-linecap='round' opacity='0.18'/%3E%3Cline x1='378' y1='235' x2='370.1' y2='266.1' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.21'/%3E%3Cline x1='205' y1='147' x2='201.0' y2='162.5' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.13'/%3E%3Cline x1='77' y1='487' x2='70.6' y2='512.6' stroke='%23A9C1D6' stroke-width='0.8' stroke-linecap='round' opacity='0.20'/%3E%3C/svg%3E"); --p-bd-size: 390px 560px; --p-bd-rep: repeat; --p-bd-pos: 0 0; --p-bd-blend: normal; }
.ib-bd-sky { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='390' height='1200' viewBox='0 0 390 1200'%3E%3Cdefs%3E%3Cfilter id='b' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate(70 180) scale(1)' fill='%23FFFFFF' opacity='.75' filter='url(%23b)'%3E%3Cellipse cx='0' cy='0' rx='46' ry='18'/%3E%3Cellipse cx='-22' cy='-8' rx='22' ry='16'/%3E%3Cellipse cx='16' cy='-14' rx='26' ry='20'/%3E%3C/g%3E%3Cg transform='translate(310 640) scale(0.8)' fill='%23FFFFFF' opacity='.75' filter='url(%23b)'%3E%3Cellipse cx='0' cy='0' rx='46' ry='18'/%3E%3Cellipse cx='-22' cy='-8' rx='22' ry='16'/%3E%3Cellipse cx='16' cy='-14' rx='26' ry='20'/%3E%3C/g%3E%3Cg transform='translate(150 1060) scale(0.9)' fill='%23FFFFFF' opacity='.75' filter='url(%23b)'%3E%3Cellipse cx='0' cy='0' rx='46' ry='18'/%3E%3Cellipse cx='-22' cy='-8' rx='22' ry='16'/%3E%3Cellipse cx='16' cy='-14' rx='26' ry='20'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(180deg, color-mix(in srgb, var(--p-accent) 14%, var(--p-bg)) 0%, var(--p-bg) 22%, color-mix(in srgb, var(--p-accent) 10%, var(--p-bg)) 48%, var(--p-bg) 72%, color-mix(in srgb, var(--p-accent) 12%, var(--p-bg)) 100%); --p-bd-size: 390px 1200px, 100% 100%; --p-bd-rep: repeat-y, no-repeat; --p-bd-pos: center 0, 0 0; --p-bd-blend: normal, normal; }
.ib-bd-dots { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='900' viewBox='0 0 110 900'%3E%3Cg fill='%23FF7A9C' opacity='.55'%3E%3Ccircle cx='40.5' cy='135' r='0.51'/%3E%3Ccircle cx='36.0' cy='144' r='0.42'/%3E%3Ccircle cx='40.5' cy='153' r='0.55'/%3E%3Ccircle cx='36.0' cy='162' r='0.40'/%3E%3Ccircle cx='40.5' cy='171' r='0.46'/%3E%3Ccircle cx='49.5' cy='117' r='0.57'/%3E%3Ccircle cx='45.0' cy='126' r='0.56'/%3E%3Ccircle cx='49.5' cy='135' r='0.77'/%3E%3Ccircle cx='45.0' cy='144' r='0.68'/%3E%3Ccircle cx='49.5' cy='153' r='0.82'/%3E%3Ccircle cx='45.0' cy='162' r='0.66'/%3E%3Ccircle cx='49.5' cy='171' r='0.72'/%3E%3Ccircle cx='45.0' cy='180' r='0.49'/%3E%3Ccircle cx='49.5' cy='189' r='0.48'/%3E%3Ccircle cx='58.5' cy='99' r='0.47'/%3E%3Ccircle cx='54.0' cy='108' r='0.54'/%3E%3Ccircle cx='58.5' cy='117' r='0.80'/%3E%3Ccircle cx='54.0' cy='126' r='0.81'/%3E%3Ccircle cx='58.5' cy='135' r='1.02'/%3E%3Ccircle cx='54.0' cy='144' r='0.94'/%3E%3Ccircle cx='58.5' cy='153' r='1.08'/%3E%3Ccircle cx='54.0' cy='162' r='0.92'/%3E%3Ccircle cx='58.5' cy='171' r='0.96'/%3E%3Ccircle cx='54.0' cy='180' r='0.73'/%3E%3Ccircle cx='58.5' cy='189' r='0.70'/%3E%3Ccircle cx='54.0' cy='198' r='0.43'/%3E%3Ccircle cx='63.0' cy='90' r='0.36'/%3E%3Ccircle cx='67.5' cy='99' r='0.65'/%3E%3Ccircle cx='63.0' cy='108' r='0.75'/%3E%3Ccircle cx='67.5' cy='117' r='1.02'/%3E%3Ccircle cx='63.0' cy='126' r='1.05'/%3E%3Ccircle cx='67.5' cy='135' r='1.27'/%3E%3Ccircle cx='63.0' cy='144' r='1.21'/%3E%3Ccircle cx='67.5' cy='153' r='1.35'/%3E%3Ccircle cx='63.0' cy='162' r='1.17'/%3E%3Ccircle cx='67.5' cy='171' r='1.21'/%3E%3Ccircle cx='63.0' cy='180' r='0.96'/%3E%3Ccircle cx='67.5' cy='189' r='0.90'/%3E%3Ccircle cx='63.0' cy='198' r='0.62'/%3E%3Ccircle cx='67.5' cy='207' r='0.51'/%3E%3Ccircle cx='72.0' cy='90' r='0.51'/%3E%3Ccircle cx='76.5' cy='99' r='0.81'/%3E%3Ccircle cx='72.0' cy='108' r='0.93'/%3E%3Ccircle cx='76.5' cy='117' r='1.22'/%3E%3Ccircle cx='72.0' cy='126' r='1.28'/%3E%3Ccircle cx='76.5' cy='135' r='1.52'/%3E%3Ccircle cx='72.0' cy='144' r='1.47'/%3E%3Ccircle cx='76.5' cy='153' r='1.61'/%3E%3Ccircle cx='72.0' cy='162' r='1.43'/%3E%3Ccircle cx='76.5' cy='171' r='1.44'/%3E%3Ccircle cx='72.0' cy='180' r='1.18'/%3E%3Ccircle cx='76.5' cy='189' r='1.09'/%3E%3Ccircle cx='72.0' cy='198' r='0.80'/%3E%3Ccircle cx='76.5' cy='207' r='0.66'/%3E%3Ccircle cx='72.0' cy='216' r='0.36'/%3E%3Ccircle cx='85.5' cy='81' r='0.45'/%3E%3Ccircle cx='81.0' cy='90' r='0.64'/%3E%3Ccircle cx='85.5' cy='99' r='0.94'/%3E%3Ccircle cx='81.0' cy='108' r='1.10'/%3E%3Ccircle cx='85.5' cy='117' r='1.39'/%3E%3Ccircle cx='81.0' cy='126' r='1.49'/%3E%3Ccircle cx='85.5' cy='135' r='1.76'/%3E%3Ccircle cx='81.0' cy='144' r='1.73'/%3E%3Ccircle cx='85.5' cy='153' r='1.87'/%3E%3Ccircle cx='81.0' cy='162' r='1.68'/%3E%3Ccircle cx='85.5' cy='171' r='1.65'/%3E%3Ccircle cx='81.0' cy='180' r='1.37'/%3E%3Ccircle cx='85.5' cy='189' r='1.25'/%3E%3Ccircle cx='81.0' cy='198' r='0.95'/%3E%3Ccircle cx='85.5' cy='207' r='0.78'/%3E%3Ccircle cx='81.0' cy='216' r='0.48'/%3E%3Ccircle cx='94.5' cy='81' r='0.52'/%3E%3Ccircle cx='90.0' cy='90' r='0.74'/%3E%3Ccircle cx='94.5' cy='99' r='1.03'/%3E%3Ccircle cx='90.0' cy='108' r='1.23'/%3E%3Ccircle cx='94.5' cy='117' r='1.53'/%3E%3Ccircle cx='90.0' cy='126' r='1.68'/%3E%3Ccircle cx='94.5' cy='135' r='1.97'/%3E%3Ccircle cx='90.0' cy='144' r='1.99'/%3E%3Ccircle cx='94.5' cy='153' r='2.14'/%3E%3Ccircle cx='90.0' cy='162' r='1.91'/%3E%3Ccircle cx='94.5' cy='171' r='1.83'/%3E%3Ccircle cx='90.0' cy='180' r='1.54'/%3E%3Ccircle cx='94.5' cy='189' r='1.37'/%3E%3Ccircle cx='90.0' cy='198' r='1.07'/%3E%3Ccircle cx='94.5' cy='207' r='0.86'/%3E%3Ccircle cx='90.0' cy='216' r='0.57'/%3E%3Ccircle cx='103.5' cy='81' r='0.56'/%3E%3Ccircle cx='99.0' cy='90' r='0.81'/%3E%3Ccircle cx='103.5' cy='99' r='1.09'/%3E%3Ccircle cx='99.0' cy='108' r='1.32'/%3E%3Ccircle cx='103.5' cy='117' r='1.61'/%3E%3Ccircle cx='99.0' cy='126' r='1.82'/%3E%3Ccircle cx='103.5' cy='135' r='2.12'/%3E%3Ccircle cx='99.0' cy='144' r='2.23'/%3E%3Ccircle cx='103.5' cy='153' r='2.39'/%3E%3Ccircle cx='99.0' cy='162' r='2.12'/%3E%3Ccircle cx='103.5' cy='171' r='1.95'/%3E%3Ccircle cx='99.0' cy='180' r='1.66'/%3E%3Ccircle cx='103.5' cy='189' r='1.44'/%3E%3Ccircle cx='99.0' cy='198' r='1.15'/%3E%3Ccircle cx='103.5' cy='207' r='0.91'/%3E%3Ccircle cx='99.0' cy='216' r='0.63'/%3E%3Ccircle cx='103.5' cy='225' r='0.39'/%3E%3Ccircle cx='108.0' cy='90' r='0.83'/%3E%3Ccircle cx='108.0' cy='108' r='1.36'/%3E%3Ccircle cx='108.0' cy='126' r='1.89'/%3E%3Ccircle cx='108.0' cy='144' r='2.41'/%3E%3Ccircle cx='108.0' cy='162' r='2.24'/%3E%3Ccircle cx='108.0' cy='180' r='1.72'/%3E%3Ccircle cx='108.0' cy='198' r='1.19'/%3E%3Ccircle cx='108.0' cy='216' r='0.66'/%3E%3C/g%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='900' viewBox='0 0 110 900'%3E%3Cg fill='%236CC6F0' opacity='.55'%3E%3Ccircle cx='4.5' cy='567' r='0.45'/%3E%3Ccircle cx='4.5' cy='585' r='0.98'/%3E%3Ccircle cx='4.5' cy='603' r='1.50'/%3E%3Ccircle cx='4.5' cy='621' r='2.03'/%3E%3Ccircle cx='4.5' cy='639' r='2.46'/%3E%3Ccircle cx='4.5' cy='657' r='2.08'/%3E%3Ccircle cx='4.5' cy='675' r='1.56'/%3E%3Ccircle cx='4.5' cy='693' r='1.04'/%3E%3Ccircle cx='4.5' cy='711' r='0.51'/%3E%3Ccircle cx='13.5' cy='567' r='0.42'/%3E%3Ccircle cx='9.0' cy='576' r='0.70'/%3E%3Ccircle cx='13.5' cy='585' r='0.93'/%3E%3Ccircle cx='9.0' cy='594' r='1.22'/%3E%3Ccircle cx='13.5' cy='603' r='1.44'/%3E%3Ccircle cx='9.0' cy='612' r='1.73'/%3E%3Ccircle cx='13.5' cy='621' r='1.91'/%3E%3Ccircle cx='9.0' cy='630' r='2.20'/%3E%3Ccircle cx='13.5' cy='639' r='2.20'/%3E%3Ccircle cx='9.0' cy='648' r='2.25'/%3E%3Ccircle cx='13.5' cy='657' r='1.96'/%3E%3Ccircle cx='9.0' cy='666' r='1.79'/%3E%3Ccircle cx='13.5' cy='675' r='1.50'/%3E%3Ccircle cx='9.0' cy='684' r='1.28'/%3E%3Ccircle cx='13.5' cy='693' r='0.99'/%3E%3Ccircle cx='9.0' cy='702' r='0.76'/%3E%3Ccircle cx='13.5' cy='711' r='0.47'/%3E%3Ccircle cx='22.5' cy='567' r='0.35'/%3E%3Ccircle cx='18.0' cy='576' r='0.64'/%3E%3Ccircle cx='22.5' cy='585' r='0.85'/%3E%3Ccircle cx='18.0' cy='594' r='1.15'/%3E%3Ccircle cx='22.5' cy='603' r='1.33'/%3E%3Ccircle cx='18.0' cy='612' r='1.62'/%3E%3Ccircle cx='22.5' cy='621' r='1.73'/%3E%3Ccircle cx='18.0' cy='630' r='1.99'/%3E%3Ccircle cx='22.5' cy='639' r='1.94'/%3E%3Ccircle cx='18.0' cy='648' r='2.02'/%3E%3Ccircle cx='22.5' cy='657' r='1.77'/%3E%3Ccircle cx='18.0' cy='666' r='1.67'/%3E%3Ccircle cx='22.5' cy='675' r='1.38'/%3E%3Ccircle cx='18.0' cy='684' r='1.20'/%3E%3Ccircle cx='22.5' cy='693' r='0.91'/%3E%3Ccircle cx='18.0' cy='702' r='0.70'/%3E%3Ccircle cx='22.5' cy='711' r='0.41'/%3E%3Ccircle cx='27.0' cy='576' r='0.56'/%3E%3Ccircle cx='31.5' cy='585' r='0.74'/%3E%3Ccircle cx='27.0' cy='594' r='1.03'/%3E%3Ccircle cx='31.5' cy='603' r='1.17'/%3E%3Ccircle cx='27.0' cy='612' r='1.46'/%3E%3Ccircle cx='31.5' cy='621' r='1.52'/%3E%3Ccircle cx='27.0' cy='630' r='1.75'/%3E%3Ccircle cx='31.5' cy='639' r='1.67'/%3E%3Ccircle cx='27.0' cy='648' r='1.77'/%3E%3Ccircle cx='31.5' cy='657' r='1.55'/%3E%3Ccircle cx='27.0' cy='666' r='1.50'/%3E%3Ccircle cx='31.5' cy='675' r='1.22'/%3E%3Ccircle cx='27.0' cy='684' r='1.08'/%3E%3Ccircle cx='31.5' cy='693' r='0.79'/%3E%3Ccircle cx='27.0' cy='702' r='0.61'/%3E%3Ccircle cx='36.0' cy='576' r='0.44'/%3E%3Ccircle cx='40.5' cy='585' r='0.59'/%3E%3Ccircle cx='36.0' cy='594' r='0.88'/%3E%3Ccircle cx='40.5' cy='603' r='0.99'/%3E%3Ccircle cx='36.0' cy='612' r='1.26'/%3E%3Ccircle cx='40.5' cy='621' r='1.28'/%3E%3Ccircle cx='36.0' cy='630' r='1.50'/%3E%3Ccircle cx='40.5' cy='639' r='1.41'/%3E%3Ccircle cx='36.0' cy='648' r='1.52'/%3E%3Ccircle cx='40.5' cy='657' r='1.31'/%3E%3Ccircle cx='36.0' cy='666' r='1.29'/%3E%3Ccircle cx='40.5' cy='675' r='1.03'/%3E%3Ccircle cx='36.0' cy='684' r='0.93'/%3E%3Ccircle cx='40.5' cy='693' r='0.64'/%3E%3Ccircle cx='36.0' cy='702' r='0.49'/%3E%3Ccircle cx='49.5' cy='585' r='0.42'/%3E%3Ccircle cx='45.0' cy='594' r='0.71'/%3E%3Ccircle cx='49.5' cy='603' r='0.78'/%3E%3Ccircle cx='45.0' cy='612' r='1.04'/%3E%3Ccircle cx='49.5' cy='621' r='1.04'/%3E%3Ccircle cx='45.0' cy='630' r='1.24'/%3E%3Ccircle cx='49.5' cy='639' r='1.14'/%3E%3Ccircle cx='45.0' cy='648' r='1.26'/%3E%3Ccircle cx='49.5' cy='657' r='1.06'/%3E%3Ccircle cx='45.0' cy='666' r='1.07'/%3E%3Ccircle cx='49.5' cy='675' r='0.82'/%3E%3Ccircle cx='45.0' cy='684' r='0.75'/%3E%3Ccircle cx='49.5' cy='693' r='0.47'/%3E%3Ccircle cx='54.0' cy='594' r='0.51'/%3E%3Ccircle cx='58.5' cy='603' r='0.56'/%3E%3Ccircle cx='54.0' cy='612' r='0.81'/%3E%3Ccircle cx='58.5' cy='621' r='0.79'/%3E%3Ccircle cx='54.0' cy='630' r='0.98'/%3E%3Ccircle cx='58.5' cy='639' r='0.88'/%3E%3Ccircle cx='54.0' cy='648' r='0.99'/%3E%3Ccircle cx='58.5' cy='657' r='0.81'/%3E%3Ccircle cx='54.0' cy='666' r='0.84'/%3E%3Ccircle cx='58.5' cy='675' r='0.59'/%3E%3Ccircle cx='54.0' cy='684' r='0.55'/%3E%3Ccircle cx='63.0' cy='612' r='0.57'/%3E%3Ccircle cx='67.5' cy='621' r='0.54'/%3E%3Ccircle cx='63.0' cy='630' r='0.72'/%3E%3Ccircle cx='67.5' cy='639' r='0.61'/%3E%3Ccircle cx='63.0' cy='648' r='0.73'/%3E%3Ccircle cx='67.5' cy='657' r='0.55'/%3E%3Ccircle cx='63.0' cy='666' r='0.60'/%3E%3Ccircle cx='67.5' cy='675' r='0.36'/%3E%3Ccircle cx='72.0' cy='630' r='0.46'/%3E%3Ccircle cx='72.0' cy='648' r='0.47'/%3E%3C/g%3E%3C/svg%3E"); --p-bd-size: 110px 900px, 110px 900px; --p-bd-rep: repeat-y, repeat-y; --p-bd-pos: right 0, left 0; --p-bd-blend: normal, normal; }
.ib-bd-soft { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='1100' viewBox='0 0 260 1100'%3E%3Cdefs%3E%3Cfilter id='f' x='-100%25' y='-100%25' width='300%25' height='300%25'%3E%3CfeGaussianBlur stdDeviation='30'/%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx='12' cy='330' r='72' fill='%23A9C2A6' opacity='.30' filter='url(%23f)'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='1100' viewBox='0 0 260 1100'%3E%3Cdefs%3E%3Cfilter id='f' x='-100%25' y='-100%25' width='300%25' height='300%25'%3E%3CfeGaussianBlur stdDeviation='30'/%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx='248' cy='860' r='66' fill='%23EBB9BE' opacity='.22' filter='url(%23f)'/%3E%3C/svg%3E"); --p-bd-size: 260px 1100px, 260px 1100px; --p-bd-rep: repeat-y, repeat-y; --p-bd-pos: left 0, right 0; --p-bd-blend: normal, normal; }
.ib-bd-grain { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .22 0 0 0 0 .18 0 0 0 .3 -.11'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='390' height='700' viewBox='0 0 390 700'%3E%3Cline x1='121' y1='165' x2='120.9' y2='328' stroke='%233A2E22' stroke-width='.6' opacity='0.04'/%3E%3Cline x1='108' y1='34' x2='107.9' y2='330' stroke='%233A2E22' stroke-width='.6' opacity='0.05'/%3E%3Cline x1='186' y1='282' x2='187.4' y2='428' stroke='%233A2E22' stroke-width='.6' opacity='0.06'/%3E%3Cline x1='193' y1='255' x2='193.3' y2='470' stroke='%233A2E22' stroke-width='.6' opacity='0.07'/%3E%3Cline x1='364' y1='123' x2='364.7' y2='442' stroke='%233A2E22' stroke-width='.6' opacity='0.07'/%3E%3Cline x1='162' y1='124' x2='160.2' y2='257' stroke='%233A2E22' stroke-width='.6' opacity='0.04'/%3E%3Ccircle cx='285' cy='183' r='0.6' fill='%233A2E22' opacity='0.06'/%3E%3Ccircle cx='257' cy='269' r='1' fill='%233A2E22' opacity='0.11'/%3E%3Ccircle cx='113' cy='174' r='0.8' fill='%233A2E22' opacity='0.06'/%3E%3Ccircle cx='77' cy='192' r='0.6' fill='%233A2E22' opacity='0.08'/%3E%3Ccircle cx='368' cy='673' r='1' fill='%233A2E22' opacity='0.09'/%3E%3Ccircle cx='21' cy='612' r='0.6' fill='%233A2E22' opacity='0.09'/%3E%3Ccircle cx='8' cy='269' r='0.8' fill='%233A2E22' opacity='0.08'/%3E%3Ccircle cx='253' cy='178' r='0.6' fill='%233A2E22' opacity='0.07'/%3E%3Ccircle cx='314' cy='106' r='1' fill='%233A2E22' opacity='0.06'/%3E%3Ccircle cx='16' cy='216' r='0.6' fill='%233A2E22' opacity='0.07'/%3E%3Ccircle cx='366' cy='592' r='0.6' fill='%233A2E22' opacity='0.11'/%3E%3Ccircle cx='276' cy='609' r='0.8' fill='%233A2E22' opacity='0.12'/%3E%3Ccircle cx='278' cy='346' r='0.8' fill='%233A2E22' opacity='0.12'/%3E%3Ccircle cx='249' cy='38' r='1' fill='%233A2E22' opacity='0.13'/%3E%3C/svg%3E"), linear-gradient(90deg, rgba(40, 30, 20, .07), transparent 9%, transparent 91%, rgba(40, 30, 20, .07)); --p-bd-size: 220px 220px, 390px 700px, 100% 100%; --p-bd-rep: repeat, repeat, no-repeat; --p-bd-pos: 0 0, 0 0, 0 0; --p-bd-blend: normal, normal, normal; }
.ib-bd-roses { --p-bd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='1000' viewBox='0 0 120 1000'%3E%3Cg opacity='.55'%3E%3Cg transform='translate(92 210) rotate(12) scale(1.15)' fill='none' stroke='%23D98BA0' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 -14C9 -14 14 -6 12 2C10 10 2 14 -4 12C-11 10 -14 2 -11 -5C-8 -11 -3 -13 0 -14Z'/%3E%3Cpath d='M-1 -7C5 -8 8 -2 6 3C4 7 -2 8 -5 5C-8 2 -6 -4 -1 -7Z'/%3E%3Cpath d='M0 -2C2.5 -2 3 1 1.5 2.5'/%3E%3Cpath d='M0 13C1 22 -1 32 1 44'/%3E%3Cpath d='M0 26C6 21 12 22 15 26C9 29 4 29 0 26Z' fill='%23E8B4C2' fill-opacity='.5'/%3E%3Cpath d='M1 36C-5 32 -11 33 -13 36C-8 39 -3 39 1 36Z' fill='%23E8B4C2' fill-opacity='.5'/%3E%3C/g%3E%3Cpath transform='translate(70 520) scale(1.1)' d='M0 7C-5 3 -8 0 -8 -3C-8 -6 -6 -8 -3.5 -8C-1.8 -8 -.6 -7 0 -5.6C.6 -7 1.8 -8 3.5 -8C6 -8 8 -6 8 -3C8 0 5 3 0 7Z' fill='%23E59AAE' opacity='0.5'/%3E%3Cpath transform='translate(98 560) scale(0.7)' d='M0 7C-5 3 -8 0 -8 -3C-8 -6 -6 -8 -3.5 -8C-1.8 -8 -.6 -7 0 -5.6C.6 -7 1.8 -8 3.5 -8C6 -8 8 -6 8 -3C8 0 5 3 0 7Z' fill='%23E59AAE' opacity='0.4'/%3E%3Cpath transform='translate(84 840) scale(0.9)' d='M0 7C-5 3 -8 0 -8 -3C-8 -6 -6 -8 -3.5 -8C-1.8 -8 -.6 -7 0 -5.6C.6 -7 1.8 -8 3.5 -8C6 -8 8 -6 8 -3C8 0 5 3 0 7Z' fill='%23E59AAE' opacity='0.45'/%3E%3C/g%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='1000' viewBox='0 0 120 1000'%3E%3Cg opacity='.55'%3E%3Cpath transform='translate(30 110) scale(0.9)' d='M0 7C-5 3 -8 0 -8 -3C-8 -6 -6 -8 -3.5 -8C-1.8 -8 -.6 -7 0 -5.6C.6 -7 1.8 -8 3.5 -8C6 -8 8 -6 8 -3C8 0 5 3 0 7Z' fill='%23E59AAE' opacity='0.45'/%3E%3Cg transform='translate(26 700) rotate(-14) scale(1.05)' fill='none' stroke='%23D98BA0' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 -14C9 -14 14 -6 12 2C10 10 2 14 -4 12C-11 10 -14 2 -11 -5C-8 -11 -3 -13 0 -14Z'/%3E%3Cpath d='M-1 -7C5 -8 8 -2 6 3C4 7 -2 8 -5 5C-8 2 -6 -4 -1 -7Z'/%3E%3Cpath d='M0 -2C2.5 -2 3 1 1.5 2.5'/%3E%3Cpath d='M0 13C1 22 -1 32 1 44'/%3E%3Cpath d='M0 26C6 21 12 22 15 26C9 29 4 29 0 26Z' fill='%23E8B4C2' fill-opacity='.5'/%3E%3Cpath d='M1 36C-5 32 -11 33 -13 36C-8 39 -3 39 1 36Z' fill='%23E8B4C2' fill-opacity='.5'/%3E%3C/g%3E%3Cpath transform='translate(46 380) scale(0.7)' d='M0 7C-5 3 -8 0 -8 -3C-8 -6 -6 -8 -3.5 -8C-1.8 -8 -.6 -7 0 -5.6C.6 -7 1.8 -8 3.5 -8C6 -8 8 -6 8 -3C8 0 5 3 0 7Z' fill='%23E59AAE' opacity='0.4'/%3E%3C/g%3E%3C/svg%3E"); --p-bd-size: 120px 1000px, 120px 1000px; --p-bd-rep: repeat-y, repeat-y; --p-bd-pos: right 0, left 0; --p-bd-blend: normal, normal; }
.ib-bd-navy { --p-bd: linear-gradient(90deg, transparent 10px, color-mix(in srgb, var(--p-accent) 60%, transparent) 10px 11px, transparent 11px 14px, color-mix(in srgb, var(--p-accent) 35%, transparent) 14px 14.6px, transparent 14.6px calc(100% - 14.6px), color-mix(in srgb, var(--p-accent) 35%, transparent) calc(100% - 14.6px) calc(100% - 14px), transparent calc(100% - 14px) calc(100% - 11px), color-mix(in srgb, var(--p-accent) 60%, transparent) calc(100% - 11px) calc(100% - 10px), transparent calc(100% - 10px)); --p-bd-size: 100% 100%; --p-bd-rep: no-repeat; --p-bd-pos: 0 0; --p-bd-blend: normal; }
@media print { .ib-bd { background-image: var(--p-paper, none) !important; background-size: 300px !important; background-repeat: repeat !important; background-position: 0 0 !important; background-blend-mode: multiply !important; } }
/* ===== 페이지 배경 꾸밈 끝 ===== */
/* ===== 인트로 스티커 움직임 (1018z18o 등장 8 → 1018z18t 등장 16 + 계속 움직임 8, InviteBlocks.introStkFx) - 자리·회전은 transform 그대로, 움직임은 따로 쓰는 scale·translate·rotate
   등장(--isk-a)과 계속 움직임(--isk-l)을 한 animation 목록으로: 계속 움직임은 등장이 끝난 뒤 시작해서 뒤에 쓴 쪽이 이김 (둘 다 쉬는 자리 = scale 1 · translate 0 · rotate 0) ===== */
.ib-isk.ib-isk-run { animation: var(--isk-a, none) calc(var(--isk-t, .7s) * var(--isk-k, 1)) var(--isk-e, cubic-bezier(.34, 1.56, .64, 1)) calc(var(--isk-d, .3s) * var(--isk-k, 1)) both, var(--isk-l, none) calc(var(--isk-lt, 2.4s) * var(--isk-k, 1)) var(--isk-le, ease-in-out) calc((var(--isk-d, .3s) + var(--isk-t, .7s)) * var(--isk-k, 1)) infinite; } /* --isk-k = 인트로 보이는 시간 / 2.5초 */
.ib-isk-nofx { --isk-t: 0s; }
.ib-isk-pop { --isk-a: ibIskPop; --isk-t: .7s; --isk-e: cubic-bezier(.34, 1.56, .64, 1); }
.ib-isk-boing { --isk-a: ibIskBoing; --isk-t: .9s; --isk-e: ease-out; }
.ib-isk-spin { --isk-a: ibIskSpin; --isk-t: .8s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-isk-fade { --isk-a: ibIskFade; --isk-t: .9s; --isk-e: ease; }
.ib-isk-up { --isk-a: ibIskUp; --isk-t: .7s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-isk-zoom { --isk-a: ibIskZoom; --isk-t: .7s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-isk-left { --isk-a: ibIskLeft; --isk-t: .7s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-isk-right { --isk-a: ibIskRight; --isk-t: .7s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-isk-drop { --isk-a: ibIskDrop; --isk-t: .9s; --isk-e: linear; }
.ib-isk-flip { --isk-a: ibIskFlip; --isk-t: .8s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-isk-swing { --isk-a: ibIskSwing; --isk-t: 1s; --isk-e: ease-out; }
.ib-isk-jelly { --isk-a: ibIskJelly; --isk-t: .9s; --isk-e: ease-out; }
.ib-isk-bloom { --isk-a: ibIskBloom; --isk-t: 1s; --isk-e: cubic-bezier(.34, 1.56, .64, 1); }
.ib-isk-tada { --isk-a: ibIskTada; --isk-t: 1s; --isk-e: ease; }
.ib-isk-rise { --isk-a: ibIskRise; --isk-t: 1.4s; --isk-e: cubic-bezier(.2, .7, .3, 1); }
.ib-isk-swirl { --isk-a: ibIskSwirl; --isk-t: 1.1s; --isk-e: cubic-bezier(.22, .9, .32, 1); }
.ib-iskl-float { --isk-l: ibIskLFloat; --isk-lt: 3s; --isk-le: ease-in-out; }
.ib-iskl-sway { --isk-l: ibIskLSway; --isk-lt: 2.6s; --isk-le: ease-in-out; }
.ib-iskl-shake { --isk-l: ibIskLShake; --isk-lt: 2.4s; --isk-le: ease-in-out; }
.ib-iskl-beat { --isk-l: ibIskLBeat; --isk-lt: 1.6s; --isk-le: ease-in-out; }
.ib-iskl-twinkle { --isk-l: ibIskLTwinkle; --isk-lt: 1.9s; --isk-le: ease-in-out; }
.ib-iskl-turn { --isk-l: ibIskLTurn; --isk-lt: 7s; --isk-le: linear; }
.ib-iskl-bounce { --isk-l: ibIskLBounce; --isk-lt: 1.5s; --isk-le: linear; }
.ib-iskl-breathe { --isk-l: ibIskLBreathe; --isk-lt: 3.2s; --isk-le: ease-in-out; }
.ib-iskl-turn, .ib-iskl-sway, .ib-iskl-shake { transform-origin: 50% 50%; }
@keyframes ibIskPop { from { opacity: 0; scale: .35; rotate: -8deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes ibIskBoing { 0% { opacity: 0; scale: .3; } 45% { opacity: 1; scale: 1.18; } 65% { scale: .9; } 82% { scale: 1.05; } 100% { opacity: 1; scale: 1; } }
@keyframes ibIskSpin { from { opacity: 0; scale: .4; rotate: -200deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes ibIskFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ibIskUp { from { opacity: 0; translate: 0 32px; } to { opacity: 1; translate: 0 0; } }
@keyframes ibIskZoom { from { opacity: 0; scale: 1.7; } to { opacity: 1; scale: 1; } }
@keyframes ibIskLeft { from { opacity: 0; translate: -70px 0; } to { opacity: 1; translate: 0 0; } }
@keyframes ibIskRight { from { opacity: 0; translate: 70px 0; } to { opacity: 1; translate: 0 0; } }
@keyframes ibIskDrop { 0% { opacity: 0; translate: 0 -90px; animation-timing-function: cubic-bezier(.5, 0, .9, .5); } 55% { opacity: 1; translate: 0 0; scale: 1.08 .9; animation-timing-function: ease-out; } 72% { translate: 0 -14px; scale: 1; animation-timing-function: ease-in; } 86% { translate: 0 0; scale: 1.03 .97; } 100% { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes ibIskFlip { from { opacity: 0; rotate: y 90deg; } 60% { opacity: 1; rotate: y -14deg; } to { opacity: 1; rotate: y 0deg; } }
@keyframes ibIskSwing { 0% { opacity: 0; rotate: -38deg; translate: 0 -10px; } 35% { opacity: 1; rotate: 20deg; translate: 0 0; } 58% { rotate: -11deg; } 78% { rotate: 5deg; } 100% { opacity: 1; rotate: 0deg; } }
@keyframes ibIskJelly { 0% { opacity: 0; scale: .2; } 35% { opacity: 1; scale: 1.25 .78; } 52% { scale: .82 1.18; } 68% { scale: 1.1 .92; } 84% { scale: .97 1.04; } 100% { opacity: 1; scale: 1; } }
@keyframes ibIskBloom { from { opacity: 0; scale: 0; rotate: -60deg; } to { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes ibIskTada { 0% { opacity: 0; scale: .6; } 20% { opacity: 1; scale: .92; rotate: -4deg; } 40%, 70% { scale: 1.12; rotate: 5deg; } 55%, 85% { scale: 1.12; rotate: -5deg; } 100% { opacity: 1; scale: 1; rotate: 0deg; } }
@keyframes ibIskRise { from { opacity: 0; translate: 0 70px; scale: .85; } 60% { opacity: 1; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes ibIskSwirl { from { opacity: 0; scale: .15; rotate: 540deg; translate: -40px 30px; } to { opacity: 1; scale: 1; rotate: 0deg; translate: 0 0; } }
@keyframes ibIskLFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }
@keyframes ibIskLSway { 0%, 100% { rotate: 0deg; } 25% { rotate: 9deg; } 75% { rotate: -9deg; } }
@keyframes ibIskLShake { 0%, 46%, 100% { rotate: 0deg; } 50% { rotate: -12deg; } 56% { rotate: 11deg; } 62% { rotate: -8deg; } 68% { rotate: 5deg; } 74% { rotate: 0deg; } }
@keyframes ibIskLBeat { 0%, 40%, 100% { scale: 1; } 12% { scale: 1.16; } 22% { scale: .98; } 30% { scale: 1.1; } }
@keyframes ibIskLTwinkle { 0%, 100% { opacity: 1; scale: 1; } 50% { opacity: .45; scale: .86; } }
@keyframes ibIskLTurn { from { rotate: 0deg; } to { rotate: 360deg; } }
@keyframes ibIskLBounce { 0%, 100% { translate: 0 0; scale: 1.06 .94; animation-timing-function: cubic-bezier(.3, .6, .5, 1); } 45% { translate: 0 -16px; scale: .97 1.04; animation-timing-function: cubic-bezier(.5, 0, .7, .4); } 90% { translate: 0 0; scale: 1; } }
@keyframes ibIskLBreathe { 0%, 100% { scale: 1; } 50% { scale: 1.09; } }
@media (prefers-reduced-motion: reduce) { .ib-isk.ib-isk-run { animation: none !important; } }
