.invitka-brand-logo{-webkit-user-select:none;user-select:none;align-items:center;line-height:1;display:inline-flex}.invitka-logo-image{object-fit:contain;width:auto;transition:opacity var(--transition-fast);display:block}.invitka-brand-logo.size-sm .invitka-logo-image{height:28px}.invitka-brand-logo.size-md .invitka-logo-image{height:38px}.invitka-brand-logo.size-lg .invitka-logo-image{height:48px}.invitka-brand-logo.icon-only.size-sm .invitka-logo-image{height:26px}.invitka-brand-logo.icon-only.size-md .invitka-logo-image{height:34px}.invitka-brand-logo.icon-only.size-lg .invitka-logo-image{height:44px}@media (width<=640px){.invitka-brand-logo.size-md .invitka-logo-image{height:32px}}.user-profile-menu-container{align-items:center;display:inline-flex;position:relative}.user-avatar-trigger{background:linear-gradient(135deg, var(--color-primary,#8b3a2b), #a04535);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;outline:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:all .2s;display:inline-flex;box-shadow:0 1px 4px #0000001f}.user-avatar-trigger:hover,.user-avatar-trigger.active{transform:scale(1.05);box-shadow:0 0 0 3px #8b3a2b33}.user-avatar-initials{letter-spacing:.04em;font-family:inherit;font-size:.8125rem;font-weight:700;line-height:1}.user-profile-dropdown{background-color:var(--color-bg-surface,#fff);border:1px solid var(--color-border,#e5e0d8);z-index:1000;border-radius:12px;width:240px;padding:.6rem 0;animation:.15s cubic-bezier(.16,1,.3,1) userDropdownFadeIn;position:absolute;top:calc(100% + 8px);box-shadow:0 12px 28px #0000001f,0 2px 6px #0000000a}.user-profile-dropdown.align-right{right:0}.user-profile-dropdown.align-left{left:0}@keyframes userDropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{flex-direction:column;gap:.2rem;padding:.6rem 1rem;display:flex}.user-dropdown-name{color:var(--color-text-main,#2c2523);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.user-dropdown-role{color:var(--color-gold,#c5a059);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.user-dropdown-divider{background-color:var(--color-border,#e5e0d8);height:1px;margin:.4rem 0}.user-dropdown-actions{flex-direction:column;display:flex}.user-dropdown-item{text-align:left;width:100%;color:var(--color-text-main,#2c2523);cursor:pointer;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:.65rem;padding:.6rem 1rem;font-family:inherit;font-size:.875rem;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.user-dropdown-item:hover{background-color:var(--color-bg-subtle,#f5f2eb)}.user-dropdown-item.item-logout{color:#dc2626}.user-dropdown-item.item-logout:hover{background-color:#fef2f2}.root-layout{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);background-color:#fdfbf7f5;position:sticky;top:0}.site-header.is-scrolled{background-color:#fdfbf7fa;border-bottom-color:#efe8ddcc;box-shadow:0 4px 20px -2px #2d24210f}.header-container{justify-content:space-between;align-items:center;height:70px;display:flex;position:relative}.navbar-brand-link{outline:none;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.navbar-brand-link .invitka-brand-logo .invitka-logo-image{object-fit:contain;width:auto;height:52px}.navbar-brand-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.nav-menu,.nav-links-group{align-items:center;gap:var(--space-6);display:flex}.nav-link{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-main);transition:color var(--transition-fast);padding:6px 0;font-weight:500;text-decoration:none;position:relative}.nav-link:hover{color:var(--color-primary)}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.nav-link.active{color:var(--color-primary);font-weight:600}.nav-link.active:after{content:"";background-color:var(--color-primary);border-radius:var(--radius-full);height:2px;position:absolute;bottom:-2px;left:0;right:0}.nav-divider{background-color:var(--color-border);width:1px;height:22px;margin:0 var(--space-2)}.nav-actions-group{align-items:center;gap:var(--space-3);display:flex}.nav-btn-login{font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-full);border:1.5px solid var(--color-primary);color:var(--color-primary);letter-spacing:.01em;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:.45rem 1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-btn-login:hover{color:var(--color-primary-hover);border-color:var(--color-primary-hover);background-color:#c86d5114}.nav-btn-login:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-btn-cta{font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;border:1.5px solid var(--color-primary);letter-spacing:.01em;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.45rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #c86d5140}.nav-btn-cta:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c86d5159}.nav-btn-cta:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}.hamburger-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:40px;height:40px;color:var(--color-text-main);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;padding:0;display:none}.hamburger-btn:hover{border-color:var(--color-primary);background-color:var(--color-bg-accent)}.hamburger-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hamburger-icon{flex-direction:column;justify-content:space-between;width:18px;height:14px;display:flex;position:relative}.hamburger-line{background-color:var(--color-text-main);border-radius:2px;width:100%;height:2px;transition:all .25s ease-in-out;display:block}.hamburger-icon.open .hamburger-line:first-child{transform:translateY(6px)rotate(45deg)}.hamburger-icon.open .hamburger-line:nth-child(2){opacity:0}.hamburger-icon.open .hamburger-line:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width<=980px){.navbar-brand-link .invitka-brand-logo .invitka-logo-image{height:42px}.hamburger-btn{display:flex}.nav-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-6) var(--space-6);align-items:stretch;gap:var(--space-2);background-color:#fdfbf7fa;flex-direction:column;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 12px 30px -6px #2d24211a}.nav-menu.open{animation:.2s ease-out slideDownMenu;display:flex}.nav-links-group{flex-direction:column;align-items:stretch;gap:0}.nav-links-group .nav-link{padding:var(--space-3) 0;font-size:var(--text-base);border-bottom:1px solid #efe8dd99}.nav-links-group .nav-link.active:after{display:none}.nav-links-group .nav-link.active{color:var(--color-primary);font-weight:600}.nav-divider{width:100%;height:1px;margin:var(--space-3) 0}.nav-actions-group{gap:var(--space-2);width:100%;margin-top:var(--space-2);flex-direction:column}.nav-actions-group .nav-btn-login,.nav-actions-group .nav-btn-cta{text-align:center;width:100%;font-size:var(--text-sm);justify-content:center;padding:.75rem 1.25rem}}@keyframes slideDownMenu{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.navbar-brand-link .invitka-brand-logo .invitka-logo-image{height:40px}}.main-content{flex:1}.site-footer{border-top:1px solid var(--color-border);background-color:var(--color-bg-subtle);padding-top:var(--space-10);padding-bottom:var(--space-10);margin-top:var(--space-16)}.footer-container{gap:var(--space-6);text-align:center;flex-direction:column;align-items:center;display:flex}.footer-brand-col{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.footer-brand-link{text-decoration:none;display:inline-flex}@media (width>=768px){.footer-container{text-align:left;flex-direction:row;justify-content:space-between;align-items:flex-start}.footer-brand-col{align-items:flex-start}}.footer-text{font-size:var(--text-sm);color:var(--color-text-muted)}.dashboard-shell{background-color:var(--color-bg-main);height:100dvh;max-height:100dvh;color:var(--color-text-main);display:flex;position:relative;overflow:hidden}.dashboard-mobile-header{display:none}@media (width<=1023px){.dashboard-shell{flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}.dashboard-mobile-header{z-index:50;height:60px;padding:0 var(--space-4);background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.dashboard-hamburger-btn{border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;color:var(--color-text-main);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dashboard-hamburger-btn:hover{background-color:var(--color-bg-subtle)}.dashboard-hamburger-icon{flex-direction:column;justify-content:space-between;width:20px;height:14px;display:flex}.dashboard-hamburger-icon .hamburger-line{width:100%;height:2px;transition:transform var(--transition-fast), opacity var(--transition-fast);background-color:currentColor;border-radius:2px;display:block}.dashboard-mobile-brand{align-items:center;text-decoration:none;display:inline-flex}.dashboard-mobile-user-avatar{background-color:var(--color-primary);width:36px;height:36px;color:var(--color-primary-contrast);font-weight:700;font-size:var(--text-xs);border:2px solid var(--color-bg-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.dashboard-sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;background-color:#2d242173;position:fixed;inset:0}}.dashboard-sidebar{background-color:var(--color-bg-surface);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;flex-shrink:0;width:240px;height:100dvh;max-height:100dvh;display:flex;overflow-y:auto}.dashboard-sidebar-header{padding:var(--space-6) var(--space-6) var(--space-4);justifycontent:space-between;align-items:center;display:flex}.dashboard-sidebar-brand{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-primary);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-sidebar-close-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;display:none}.dashboard-sidebar-nav{padding:var(--space-4) var(--space-4);gap:var(--space-6);flex-direction:column;flex:1;display:flex}.dashboard-nav-group{gap:var(--space-1);flex-direction:column;display:flex}.dashboard-nav-group-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);padding:0 var(--space-3) var(--space-2);font-weight:700}.dashboard-nav-link{align-items:center;gap:var(--space-3);padding:.65rem var(--space-3);border-radius:var(--radius-md);min-height:44px;color:var(--color-text-muted);font-size:var(--text-sm);transition:all var(--transition-fast);border-left:3px solid #0000;font-weight:500;text-decoration:none;display:flex}.dashboard-nav-link:hover{background-color:var(--color-bg-subtle);color:var(--color-text-main)}.dashboard-nav-link.active{background-color:var(--color-bg-accent);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:600}.dashboard-nav-icon{justify-content:center;align-items:center;width:22px;font-size:1.1rem;display:inline-flex}.dashboard-nav-link.link-browse{color:var(--color-text-muted)}.dashboard-nav-link.link-browse:hover{color:var(--color-primary)}.dashboard-sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border);background-color:var(--color-bg-subtle);gap:var(--space-3);flex-direction:column;display:flex}.dashboard-user-profile{align-items:center;gap:var(--space-3);display:flex}.dashboard-avatar-circle{background-color:var(--color-primary);width:38px;height:38px;color:var(--color-primary-contrast);font-weight:700;font-size:var(--text-xs);box-shadow:var(--shadow-subtle);border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-user-details{flex-direction:column;display:flex;overflow:hidden}.dashboard-user-email{font-size:var(--text-xs);color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.dashboard-user-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);background-color:var(--color-bg-accent);color:var(--color-primary);border:1px solid var(--color-border);align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.dashboard-logout-action{justify-content:center;align-items:center;gap:var(--space-2);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);padding:.5rem;font-weight:600;display:flex}.dashboard-logout-action:hover{color:var(--color-error);background-color:#fdf2f2;border-color:#f8b4b4}.logout-icon{font-size:.95rem}@media (width<=1023px){.dashboard-sidebar{width:280px;max-width:85vw;height:100dvh;max-height:100dvh;transition:transform var(--transition-normal);box-shadow:none;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.dashboard-sidebar.open{box-shadow:var(--shadow-lg);transform:translate(0)}.dashboard-sidebar-close-btn{display:inline-flex}.dashboard-main-area{height:calc(100dvh - 60px)}}.dashboard-main-area{scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-width:0;height:100dvh;max-height:100dvh;display:flex;overflow:hidden auto}.dashboard-content{outline:none;flex:1}.dashboard-page-container{width:100%;max-width:var(--container-max-width);padding:var(--space-8) var(--space-6) var(--space-16);box-sizing:border-box;margin-left:auto;margin-right:auto}@media (width<=1023px){.dashboard-page-container{padding:var(--space-6) var(--space-4) var(--space-12)}}.dashboard-page-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dashboard-page-title{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-text-main);margin:0 0 var(--space-1) 0}.dashboard-page-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.dashboard-breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4);display:flex}.dashboard-breadcrumb a{color:var(--color-text-muted);transition:color var(--transition-fast);text-decoration:none}.dashboard-breadcrumb a:hover{color:var(--color-primary)}.dashboard-breadcrumb .breadcrumb-sep{color:var(--color-border)}.dashboard-breadcrumb .breadcrumb-current{color:var(--color-text-main);font-weight:600}.dual-phone-preview-wrapper{aspect-ratio:615/540;box-sizing:border-box;justify-content:center;align-items:center;width:100%;max-width:308px;height:100%;margin:0 auto;display:flex;position:relative}.dual-phone-preview-svg{filter:drop-shadow(0 14px 28px #2d24211f);will-change:transform, filter;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1),filter .4s cubic-bezier(.16,1,.3,1);display:block;overflow:visible}.template-tile:hover .dual-phone-preview-svg{filter:drop-shadow(0 22px 44px #2d242138);transform:translateY(-5px)scale(1.02)}@media (prefers-reduced-motion:reduce){.dual-phone-preview-svg{transition:none!important;transform:none!important}}.hero-section{background:radial-gradient(ellipse 60% 50% at 75% 40%, #c86d5114 0%, transparent 65%), radial-gradient(ellipse 50% 40% at 20% 20%, #c59b630f 0%, transparent 60%), linear-gradient(180deg, var(--color-bg-main) 0%, var(--color-bg-subtle) 100%);border-bottom:1px solid var(--color-border);min-height:calc(100dvh - 71px);padding:var(--space-8) 0;box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-container{width:100%;max-width:var(--container-max-width);justify-content:space-between;align-items:center;gap:clamp(var(--space-6), 4vw, var(--space-12));margin:0 auto;display:flex}.hero-content-col{text-align:left;z-index:2;flex-direction:column;flex:1.1;align-items:flex-start;max-width:540px;display:flex}.hero-eyebrow{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);font-size:clamp(.6875rem,1.1vw,.8125rem);font-weight:700;animation:.6s cubic-bezier(.16,1,.3,1) both heroFadeUp;display:inline-flex}.hero-title{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--color-text-main);margin-bottom:var(--space-4);text-wrap:balance;font-size:clamp(2.35rem,4.2vw,3.75rem);font-weight:600;line-height:1.15;animation:.7s cubic-bezier(.16,1,.3,1) .1s both heroFadeUp}.hero-title-line{color:var(--color-primary);font-style:italic;font-weight:500;display:block}.hero-desc{font-family:var(--font-sans);color:var(--color-text-muted);max-width:480px;margin:0 0 var(--space-6);text-wrap:pretty;font-size:clamp(.95rem,1.25vw,1.0625rem);line-height:1.7;animation:.7s cubic-bezier(.16,1,.3,1) .2s both heroFadeUp}.hero-actions{gap:var(--space-4);flex-wrap:wrap;align-items:center;animation:.7s cubic-bezier(.16,1,.3,1) .3s both heroFadeUp;display:flex}.hero-btn{font-size:var(--text-base);border-radius:var(--radius-full);letter-spacing:.01em;min-height:48px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);padding:.875rem 2.25rem;font-weight:600}.hero-btn-primary{box-shadow:0 4px 14px #c86d5147}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #c86d5161}.hero-btn-secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border);color:var(--color-text-main);box-shadow:var(--shadow-subtle);background-color:#ffffffbf}.hero-btn-secondary:hover{background-color:var(--color-bg-surface);border-color:var(--color-border-hover);color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.hero-showcase-col{z-index:2;flex-direction:column;flex:.95;justify-content:center;align-items:center;animation:.8s cubic-bezier(.16,1,.3,1) .25s both heroFadeUp;display:flex;position:relative}.phone-mockup{box-sizing:border-box;width:clamp(280px,23vw,316px);height:clamp(530px,100dvh - 165px,630px);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:#1c1817;border-radius:46px;padding:10px;position:relative;box-shadow:0 0 0 1px #443c39,0 0 0 3px #181514,0 24px 60px -12px #2d242142,0 10px 24px -6px #2d24211f}.phone-mockup:hover{transform:translateY(-3px);box-shadow:0 0 0 1px #594f4c,0 0 0 3px #181514,0 32px 72px -16px #2d242152,0 14px 30px -6px #2d242129}.phone-bezel{background-color:#faf7f2;border-radius:38px;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.phone-island{z-index:20;background-color:#0d0b0b;border-radius:20px;justify-content:flex-end;align-items:center;width:84px;height:22px;padding-right:8px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0006}.phone-island-camera{background:radial-gradient(circle at 35% 35%,#1a2a3a 0%,#050b12 80%);border-radius:50%;width:8px;height:8px;box-shadow:inset 0 0 1px #ffffff4d}.phone-screen{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.phone-glare{pointer-events:none;z-index:15;background:linear-gradient(135deg,#ffffff29 0%,#ffffff0a 40%,#0000 60%);width:100%;height:100%;position:absolute;top:0;right:0}.phone-home-bar{z-index:20;background-color:#2d242147;border-radius:4px;width:104px;height:4px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.invitation-card{text-align:center;box-sizing:border-box;opacity:0;visibility:hidden;background-color:#faf7f2;flex-direction:column;justify-content:space-between;align-items:center;padding:38px 16px 20px;transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1),visibility .55s;display:flex;position:absolute;inset:0;transform:scale(.97)translateY(8px)}.invitation-card.active{opacity:1;visibility:visible;z-index:5;transform:scale(1)translateY(0)}.invitation-card.sample-romansa{background:radial-gradient(circle at 50% 15%,#c86d5114 0%,#faf7f2 75%)}.invitation-card.sample-senja{background:radial-gradient(circle at 50% 15%,#6b816817 0%,#f8faf7 75%)}.invitation-card.sample-sutra{background:radial-gradient(circle at 50% 15%,#c59b631f 0%,#fcf9f3 75%)}.invitation-card-header{flex-direction:column;align-items:center;gap:2px;margin-bottom:6px;display:flex}.invitation-card-badge{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;border-radius:var(--radius-full);margin-bottom:4px;padding:2px 8px;font-size:.625rem;font-weight:700}.sample-romansa .invitation-card-badge{color:#8b3a2b;background:#c86d511f}.sample-senja .invitation-card-badge{color:#4a5c48;background:#6b816826}.sample-sutra .invitation-card-badge{color:#825e2c;background:#c59b632e}.invitation-card-pretitle{font-family:var(--font-serif);color:var(--color-text-muted);font-size:.8125rem;font-style:italic}.invitation-card-names{font-family:var(--font-serif);color:var(--color-text-main);letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:600;line-height:1.2}.invitation-card-media{border:2px solid #fffc;border-radius:110px 110px 16px 16px;width:100%;max-width:220px;height:clamp(180px,30vh,225px);margin:6px auto;position:relative;overflow:hidden;box-shadow:0 8px 20px -6px #2d24212e}.invitation-card-img{object-fit:cover;width:100%;height:100%;display:block}.invitation-card-gradient{background:linear-gradient(#0000 55%,#1a161559 100%);position:absolute;inset:0}.invitation-wax-seal{color:#f7ede9;width:32px;height:32px;font-family:var(--font-serif);letter-spacing:.05em;background:radial-gradient(circle at 35% 35%,#b5573e 0%,#7d2a1d 100%);border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 6px #2d242166}.invitation-card-body{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.invitation-card-quote{font-family:var(--font-serif);color:var(--color-text-muted);max-width:230px;margin:0;font-size:.78125rem;font-style:italic;line-height:1.35}.invitation-card-meta{flex-direction:column;align-items:center;gap:2px;display:flex}.invitation-card-date{font-family:var(--font-sans);color:var(--color-text-main);align-items:center;gap:4px;font-size:.6875rem;font-weight:600;display:inline-flex}.invitation-sparkle{color:var(--color-gold);font-size:.625rem}.invitation-card-venue{font-family:var(--font-sans);color:var(--color-text-muted);font-size:.625rem}.invitation-card-action{margin-top:4px}.invitation-card-button{font-family:var(--font-sans);border-radius:var(--radius-full);background-color:var(--color-text-main);color:#fff;letter-spacing:.02em;padding:5px 14px;font-size:.6875rem;font-weight:600;display:inline-block;box-shadow:0 2px 6px #2d242126}.invitation-card-footer{font-family:var(--font-sans);color:var(--color-text-light);letter-spacing:.02em;padding-bottom:4px;font-size:.625rem}.invitation-card-footer strong{color:var(--color-text-muted);font-weight:600}.hero-showcase-indicators{gap:var(--space-2);margin-top:var(--space-4);justify-content:center;align-items:center;display:flex}.hero-indicator-dot{cursor:pointer;border-radius:var(--radius-full);width:22px;height:22px;transition:transform var(--transition-fast);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.hero-indicator-dot:after{content:"";border-radius:var(--radius-full);background-color:var(--color-text-light);opacity:.45;width:7px;height:7px;transition:transform var(--transition-fast), background-color var(--transition-fast), opacity var(--transition-fast), box-shadow var(--transition-fast);display:block}.hero-indicator-dot:hover:after{background-color:var(--color-primary);opacity:.85;transform:scale(1.25)}.hero-indicator-dot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hero-indicator-dot.active:after{background-color:var(--color-primary);opacity:1;width:8px;height:8px;transform:scale(1.15);box-shadow:0 0 0 3px #c86d5138}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-eyebrow,.hero-title,.hero-desc,.hero-actions,.hero-showcase-col,.invitation-card{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.invitation-card{display:none}.invitation-card.active{display:flex}}.experience-section{padding-top:var(--space-16);padding-bottom:var(--space-16);background-color:var(--color-bg-main);border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}.experience-container{justify-content:space-between;align-items:center;gap:clamp(var(--space-8), 5vw, var(--space-16));display:flex}.experience-content-col{flex:1;max-width:500px}.experience-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3);font-weight:700;display:inline-block}.experience-title{font-family:var(--font-serif);color:var(--color-text-main);letter-spacing:-.015em;margin-bottom:var(--space-4);font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2}.experience-title-accent{color:var(--color-primary);font-style:italic;font-weight:500}.experience-desc{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-8);line-height:1.7}.experience-controls{align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);background:var(--color-bg-subtle);border-radius:var(--radius-full);border:1px solid var(--color-border);flex-wrap:wrap;width:fit-content;max-width:100%;padding:6px;display:flex}.experience-tab-btn{border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;outline:none;align-items:center;gap:8px;padding:8px 16px;font-weight:600;display:inline-flex}.experience-tab-btn:hover{color:var(--color-text-main);background-color:#fff9}.experience-tab-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.experience-tab-btn.active{background-color:var(--color-bg-surface);color:var(--color-primary);box-shadow:0 2px 8px #2d242114}.experience-tab-dot{width:6px;height:6px;transition:transform var(--transition-fast);background-color:currentColor;border-radius:50%}.experience-tab-btn.active .experience-tab-dot{transform:scale(1.3)}.experience-microcopy-box{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);padding:var(--space-4) var(--space-5);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:var(--shadow-subtle);animation:.35s ease-out expFadeIn}.experience-microcopy-tagline{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.microcopy-sparkle{font-size:10px}.experience-microcopy-text{font-size:var(--text-sm);color:var(--color-text-main);margin:0;font-style:italic;line-height:1.5}.experience-visual-col{flex:1.15;justify-content:center;align-items:center;display:flex;position:relative}.experience-stage{justify-content:center;align-items:center;width:100%;max-width:520px;min-height:480px;display:flex;position:relative}.exp-panel{width:100%;animation:.4s cubic-bezier(.16,1,.3,1) both expPanelFade}@keyframes expPanelFade{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes expFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.floating-detail-pill{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);z-index:3;transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:#fffffff2;border:1px solid #c86d5138;position:absolute;box-shadow:0 8px 24px -4px #2d24211a,0 2px 6px #2d24210a}.detail-pill-body{flex-direction:column;display:flex}.detail-pill-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:10px;font-weight:700;display:block}.detail-pill-val{color:var(--color-primary);font-size:12px;font-weight:700;line-height:1.25;display:block}.detail-pill-sub{color:var(--color-text-muted);font-size:10px;font-family:var(--font-serif);margin-top:1px;font-style:italic;display:block}.stationery-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:36px 36px 20px 20px;width:100%;max-width:440px;margin:0 auto;padding:40px 32px 36px;position:relative;box-shadow:0 20px 48px -10px #2d24211a,0 4px 16px #2d24210a}.stationery-arch-frame{text-align:center;background:radial-gradient(circle at 50% 30%,#fffbf8 0%,#faf5ef 100%);border:1px solid #c86d5159;border-radius:30px 30px 14px 14px;padding:32px 20px;position:relative}.stationery-monogram{border:1px solid var(--color-primary);width:44px;height:44px;color:var(--color-primary);font-family:var(--font-serif);background:#c86d510f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:15px;font-weight:600;display:flex}.stationery-pretitle{letter-spacing:.22em;text-transform:uppercase;color:var(--color-primary);margin-bottom:8px;font-size:11px;font-weight:700}.stationery-names{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:12px;font-size:1.65rem;font-weight:600;line-height:1.25}.stationery-divider{justify-content:center;align-items:center;gap:10px;max-width:140px;margin:10px auto;display:flex}.stationery-line{background:#c86d5159;flex:1;height:1px}.stationery-sparkle{color:var(--color-primary);font-size:11px}.stationery-date{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-text-main);margin-bottom:2px;font-weight:600}.stationery-venue{font-family:var(--font-sans);color:var(--color-text-muted);font-size:11px}.stationery-seal{background:radial-gradient(circle at 35% 35%,#e27d60 0%,#b85437 100%);border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:20px auto 0;display:flex;box-shadow:0 4px 12px #b8543766,inset 0 1px 1px #fff6}.stationery-seal-text{font-family:var(--font-serif);color:#fff;letter-spacing:.05em;text-shadow:0 1px 2px #0003;font-size:11px;font-weight:700}.floating-palette-card{max-width:210px;bottom:-15px;right:-15px}.floating-palette-dots{gap:8px;margin:6px 0;display:flex}.palette-swatch{border:1px solid #00000014;border-radius:50%;width:18px;height:18px}.swatch-rose{background-color:#d98880}.swatch-terracotta{background-color:#c86d51}.swatch-gold{background-color:#c59b63}.swatch-sage{background-color:#6b8168}.floating-palette-pill{border-radius:14px;flex-direction:column;gap:4px;max-width:175px;padding:8px 14px;display:flex;bottom:-12px;right:-8px}.story-card-wrapper{width:100%;max-width:440px;margin:0 auto;position:relative}.story-photo-frame{border:1px solid var(--color-border);border-radius:36px 36px 20px 20px;width:100%;height:380px;position:relative;overflow:hidden;box-shadow:0 20px 48px -10px #2d242129,0 4px 16px #2d24210f}.story-portrait-img{object-fit:cover;width:100%;height:100%;display:block}.story-photo-gradient{background:linear-gradient(#0000 40%,#1c1817bf 100%);position:absolute;inset:0}.story-caption-overlay{color:#fff;z-index:2;position:absolute;bottom:20px;left:24px}.story-caption-names{font-family:var(--font-serif);text-shadow:0 1px 4px #0006;font-size:1.5rem;font-weight:600;display:block}.story-caption-date{letter-spacing:.1em;opacity:.9;text-transform:uppercase;font-size:11px}.floating-story-pill{border-radius:14px;flex-direction:column;gap:6px;max-width:250px;padding:8px 14px;display:flex;bottom:-12px;right:-8px}.story-pill-header{justify-content:space-between;align-items:center;display:flex}.story-heart-icon{color:var(--color-primary);font-size:12px}.story-timeline-strip{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:6px;padding-top:4px;display:flex}.story-milestone{flex-direction:column;display:flex}.milestone-year{font-family:var(--font-serif);color:var(--color-primary);font-size:11px;font-weight:700}.milestone-label{color:var(--color-text-muted);font-size:9px}.milestone-connector{color:var(--color-text-light);font-size:9px}.guest-card-wrapper{width:100%;max-width:440px;margin:0 auto;position:relative}.guest-invitation-frame{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:28px;padding:36px 28px;box-shadow:0 20px 48px -10px #2d24211a,0 4px 16px #2d24210a}.guest-header-pill{background-color:var(--color-bg-accent);color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full);margin-bottom:12px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.guest-pretitle{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:11px}.guest-name{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:4px;font-size:1.5rem;font-weight:600}.guest-group{color:var(--color-text-muted);margin-bottom:20px;font-size:12px}.guest-seat-info{background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.seat-badge{color:var(--color-primary);border-radius:var(--radius-full);background:#c86d511a;padding:2px 8px;font-size:10px;font-weight:700}.floating-rsvp-pill{border-radius:100px;align-items:center;gap:10px;max-width:220px;padding:8px 16px 8px 10px;display:flex;bottom:-12px;right:-8px}.rsvp-badge-check{background-color:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 6px #c86d5159}.ambient-card-wrapper{width:100%;max-width:440px;margin:0 auto;position:relative}.ambient-card-base{text-align:center;background:radial-gradient(circle at 50% 25%,#fffbf7 0%,#f6ede3 100%);border:1px solid #c86d5140;border-radius:28px;padding:44px 32px 38px;box-shadow:0 20px 48px -10px #2d24211a,0 4px 16px #2d24210a}.ambient-crest{width:44px;height:44px;color:var(--color-primary);background:#c86d5114;border:1px solid #c86d5133;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 10px;font-size:16px;display:flex}.ambient-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-primary);margin-bottom:6px;font-size:10px;font-weight:700;display:inline-block}.ambient-heading{font-family:var(--font-serif);color:var(--color-text-main);margin:0 0 8px;font-size:1.45rem;font-weight:600;line-height:1.25}.ambient-body{color:var(--color-text-muted);max-width:320px;margin:0 auto;font-size:12px;line-height:1.6}.floating-music-pill{border-radius:100px;align-items:center;gap:10px;max-width:235px;padding:8px 16px 8px 10px;display:flex;bottom:-12px;right:-8px}.music-mini-disc{background:#1a1615;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;animation:10s linear infinite vinylRotate;display:flex;position:relative;box-shadow:0 2px 6px #00000040}@keyframes vinylRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.music-mini-ring{border:1px solid #ffffff2e;border-radius:50%;position:absolute;inset:3px}.music-mini-note{color:#fff;font-size:11px}.music-pill-meta{align-items:center;gap:5px;display:flex}.music-pulse-dot{background-color:#3b704d;border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.exp-panel,.experience-microcopy-box,.music-mini-disc,.music-pulse-dot{animation:none}}@media (width<=980px){.experience-container{text-align:center;gap:var(--space-8);flex-direction:column}.experience-content-col{align-items:center;max-width:600px}.experience-controls{justify-content:center;margin-left:auto;margin-right:auto}.experience-microcopy-box{border-left:1px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:var(--radius-md);text-align:center}.experience-microcopy-tagline{justify-content:center}.floating-detail-pill{bottom:-10px;right:4px}.stationery-card,.story-card-wrapper,.guest-card-wrapper,.ambient-card-wrapper{max-width:100%}}@media (width<=640px){.experience-section{padding-top:var(--space-12);padding-bottom:var(--space-12)}.experience-controls{border-radius:var(--radius-lg);grid-template-columns:repeat(2,1fr);gap:4px;width:100%;padding:4px;display:grid}.experience-tab-btn{justify-content:center;padding:10px;font-size:13px}.floating-detail-pill{max-width:calc(100% - 16px);padding:6px 12px 6px 8px;bottom:-8px;right:4px}.detail-pill-label{font-size:9px}.detail-pill-val{font-size:11px}.detail-pill-sub{font-size:9px}.stationery-card{padding:24px 16px 20px}.stationery-arch-frame{padding:24px 14px}.stationery-names{font-size:1.35rem}.story-photo-frame{height:320px}}.feature-showcase-section{background-color:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);padding-top:clamp(96px,8vw,128px);padding-bottom:clamp(96px,8vw,128px);position:relative;overflow:hidden}.feature-showcase-intro{text-align:center;max-width:680px;margin:0 auto clamp(48px,5vw,64px)}.feature-showcase-eyebrow{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3);font-size:.8125rem;font-weight:700;display:inline-block}.feature-showcase-title{font-family:var(--font-serif);color:var(--color-text-primary);margin:0 0 var(--space-3);font-size:clamp(2rem,3.8vw,3rem);font-weight:600;line-height:1.15}.feature-showcase-title-accent{color:var(--color-primary);font-style:italic;display:block}.feature-showcase-desc{font-family:var(--font-sans);color:var(--color-text-muted);margin:0 auto;font-size:clamp(.9375rem,1.2vw,1.0625rem);line-height:1.65}.feature-showcase-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid;position:relative}.feature-showcase-visual-col{width:100%}.feature-showcase-canvas{border:1px solid var(--color-border);box-sizing:border-box;background:linear-gradient(145deg,#fbf8f4 0%,#f4ede4 100%);border-radius:28px;justify-content:center;align-items:center;width:100%;min-height:480px;padding:44px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #4a37280d}.feature-showcase-canvas:before{content:"";pointer-events:none;background:radial-gradient(circle,#c1623f14 0%,#0000 70%);width:220px;height:220px;position:absolute;top:-40px;right:-40px}.showcase-card-invitation{text-align:center;z-index:2;background:#fff;border:1px solid #d4c6b9b3;border-radius:20px;width:100%;max-width:350px;padding:30px 22px 26px;transition:transform .3s;position:relative;box-shadow:0 12px 32px #3c2d2314}.showcase-card-invitation:hover{transform:translateY(-2px)}.showcase-arch-frame{background:linear-gradient(#faf7f2 0%,#fff 100%);border:1px solid #c1623f33;border-radius:110px 110px 12px 12px;padding:30px 18px 22px}.showcase-badge{letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);background:#c1623f1a;border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:.6875rem;font-weight:600;display:inline-block}.showcase-monogram{font-family:var(--font-serif);color:var(--color-primary);letter-spacing:.1em;margin-bottom:4px;font-size:1.75rem;font-style:italic}.showcase-pretitle{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:6px;font-size:.75rem;display:block}.showcase-names{font-family:var(--font-serif);color:var(--color-text-primary);margin:0 0 10px;font-size:1.28rem;font-weight:600;line-height:1.25}.showcase-divider{justify-content:center;align-items:center;gap:12px;width:130px;margin:10px auto;display:flex}.showcase-line{background:#c1623f40;flex:1;height:1px}.showcase-dot{color:var(--color-primary);font-size:.625rem}.showcase-date{font-family:var(--font-serif);color:var(--color-text-primary);margin:0 0 4px;font-size:.875rem;font-weight:500}.showcase-venue{color:var(--color-text-muted);margin:0 0 16px;font-size:.75rem}.showcase-palette-dots{justify-content:center;align-items:center;gap:8px;display:flex}.scp-dot{border:1px solid #00000014;border-radius:50%;width:10px;height:10px}.scp1{background-color:#d18a7b}.scp2{background-color:#c1623f}.scp3{background-color:#d8b884}.scp4{background-color:#8fa08e}.showcase-feature-hint{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border);z-index:3;color:var(--color-text-primary);white-space:nowrap;pointer-events:none;background:#fffffff0;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:500;transition:transform .2s;display:inline-flex;position:absolute;box-shadow:0 4px 14px #2d262112}.hint-icon{color:var(--color-primary);font-size:.75rem}.hint-music{top:24px;left:20px}.hint-opening{top:32px;right:20px}.hint-rsvp{bottom:24px;left:24px}.hint-link{bottom:30px;right:20px}.feature-showcase-list-col{width:100%}.feature-showcase-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.feature-showcase-item{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:20px;padding:22px 14px 22px 18px;transition:background-color .2s;display:flex}.feature-showcase-item:first-child{border-top:1px solid var(--color-border)}.feature-showcase-item:hover{background-color:#c1623f05}.feature-showcase-num{font-family:var(--font-serif);color:var(--color-primary);opacity:.85;min-width:30px;padding-top:2px;font-size:1.45rem;font-weight:600;line-height:1;transition:opacity .2s}.feature-showcase-item:hover .feature-showcase-num{opacity:1}.feature-showcase-content{flex:1}.feature-showcase-heading{font-family:var(--font-serif);color:var(--color-text-primary);margin:0 0 4px;font-size:clamp(1.15rem,1.4vw,1.3rem);font-weight:600;line-height:1.3}.feature-showcase-copy{font-family:var(--font-sans);color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.6}@media (width<=980px){.feature-showcase-grid{gap:var(--space-8);grid-template-columns:1fr}.feature-showcase-canvas{min-height:440px;padding:36px 16px}}@media (width<=640px){.feature-showcase-section{padding-top:64px;padding-bottom:64px}.feature-showcase-intro{margin-bottom:36px}.feature-showcase-canvas{border-radius:20px;min-height:400px;padding:28px 12px}.showcase-card-invitation{max-width:300px;padding:22px 14px 18px}.showcase-arch-frame{padding:22px 12px 16px}.showcase-names{font-size:1.15rem}.showcase-feature-hint{padding:4px 10px;font-size:.6875rem}.hint-music{top:14px;left:12px}.hint-opening{top:14px;right:12px}.hint-rsvp{bottom:14px;left:12px}.hint-link{bottom:14px;right:12px}.feature-showcase-item{gap:14px;padding:18px 8px 18px 12px}.feature-showcase-num{min-width:24px;font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.showcase-card-invitation,.showcase-feature-hint,.feature-showcase-item{transition:none!important;transform:none!important}}.template-showcase-section{background-color:var(--color-bg-main);border-bottom:1px solid var(--color-border);padding-top:clamp(80px,7vw,112px);padding-bottom:clamp(80px,7vw,112px);position:relative}.template-showcase-container{position:relative}.template-showcase-intro{text-align:center;max-width:680px;margin:0 auto clamp(32px,4vw,44px)}.template-showcase-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3);font-weight:700;display:inline-block}.template-showcase-title{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:var(--space-4);font-size:clamp(2rem,3.8vw,2.75rem);font-weight:500;line-height:1.25}.template-showcase-desc{font-family:var(--font-sans);color:var(--color-text-muted);max-width:580px;margin:0 auto;font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.65}@media (width<=640px){.br-desktop{display:none}}.template-showcase-nav{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,2.5vw,28px);margin-bottom:clamp(32px,4vw,48px);display:flex}.category-filter-btn{padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;outline:none;font-weight:500;position:relative}.category-filter-btn:hover{color:var(--color-primary)}.category-filter-btn.active{color:var(--color-primary);font-weight:600}.category-filter-btn.active:after{content:"";bottom:calc(-1 * var(--space-3) - 1px);background-color:var(--color-primary);border-radius:2px;height:2px;position:absolute;left:0;right:0}.category-filter-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.template-showcase-gallery{max-width:var(--container-max-width);flex-wrap:wrap;justify-content:center;align-items:stretch;gap:clamp(18px,2.5vw,24px);margin-bottom:clamp(36px,4vw,56px);margin-left:auto;margin-right:auto;display:flex}.template-tile{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-sizing:border-box;flex-direction:column;flex:0 0 340px;width:340px;max-width:340px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s;display:flex;overflow:hidden;box-shadow:0 4px 16px #2d24210a}.template-tile:hover{border-color:#c59b6373;transform:translateY(-4px);box-shadow:0 16px 36px #2d242117}.template-tile.featured-tile{border-color:#c86d514d}.tile-visual-stage{border-bottom:1px solid var(--color-border);box-sizing:border-box;background:linear-gradient(#f9f6f1 0%,#eee6db 100%);justify-content:center;align-items:center;height:310px;min-height:310px;padding:20px 16px 16px;display:flex}.tile-body{padding:var(--space-4) var(--space-5);background-color:var(--color-bg-surface);box-sizing:border-box;flex-direction:column;flex-grow:1;justify-content:space-between;display:flex}.tile-action-row{padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);margin-top:auto}.tile-action-link{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-primary);transition:color var(--transition-fast);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}@media (width<=768px){.template-showcase-gallery{justify-content:safe center;gap:var(--space-4);padding:8px var(--space-4) 20px;margin:0 calc(-1 * var(--space-4)) var(--space-6);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;display:flex;overflow-x:auto}.template-showcase-gallery::-webkit-scrollbar{display:none}.template-tile{flex:0 0 310px;width:310px;max-width:310px}.tile-visual-stage{height:290px;min-height:290px;padding:16px 12px 12px}.template-swipe-hint{font-size:var(--text-xs);color:var(--color-text-light);margin-bottom:var(--space-6);justify-content:center;align-items:center;display:flex}}@media (width>=769px){.template-swipe-hint{display:none}}.template-showcase-footer{text-align:center}.template-showcase-all-cta{padding:var(--space-3) var(--space-8);font-size:var(--text-base);letter-spacing:.02em;font-weight:600}@media (prefers-reduced-motion:reduce){.template-tile,.phone-preview-svg,.tile-action-link,.action-arrow,.category-filter-btn{transition:none!important;animation:none!important;transform:none!important}}.cta-closing-section{padding-top:var(--space-16);padding-bottom:var(--space-16);background:linear-gradient(180deg, var(--color-bg-subtle) 0%, var(--color-bg-accent) 100%);border-top:1px solid var(--color-border);text-align:center}.cta-closing-container{flex-direction:column;align-items:center;max-width:720px;margin:0 auto;display:flex}.cta-closing-title{color:var(--color-text-main);margin-bottom:var(--space-4);font-size:clamp(2rem,4vw,2.75rem);line-height:1.25}.cta-closing-desc{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-8);max-width:600px;line-height:1.7}.cta-closing-actions{gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap;justify-content:center;display:flex}.cta-btn{font-size:var(--text-base);padding:.85rem 2rem}.cta-reassurance{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);flex-wrap:wrap;font-weight:500;display:flex}.reassurance-dot{color:var(--color-primary);opacity:.6}@media (width<=900px){.hero-section{min-height:auto;padding:var(--space-12) 0 var(--space-12)}.hero-container{text-align:center;gap:var(--space-8);flex-direction:column}.hero-content-col{text-align:center;align-items:center;max-width:580px}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.phone-mockup{width:288px;height:560px}}@media (width<=640px){.hero-section{padding:var(--space-8) 0 var(--space-10)}.hero-title{letter-spacing:-.01em;font-size:clamp(2.1rem,8.5vw,2.75rem)}.hero-desc{font-size:var(--text-base);margin-bottom:var(--space-6)}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.phone-mockup{border-radius:40px;width:268px;height:520px;padding:8px}.phone-bezel{border-radius:34px}.invitation-card{padding:34px 12px 16px}.invitation-card-media{max-width:190px;height:175px}.experience-section,.template-showcase-section,.cta-closing-section{padding-top:var(--space-12);padding-bottom:var(--space-12)}.cta-closing-actions{flex-direction:column;width:100%}.cta-closing-actions .btn{width:100%}.cta-reassurance{gap:var(--space-1);flex-direction:column}.reassurance-dot{display:none}}.template-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-sizing:border-box;flex-direction:column;flex:0 0 340px;width:340px;max-width:340px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s;display:flex;overflow:hidden;box-shadow:0 4px 16px #2d24210a}.template-card:hover{border-color:#c59b6373;transform:translateY(-4px);box-shadow:0 16px 36px #2d242117}.template-card:focus-within{outline:2px solid var(--color-primary);outline-offset:3px}.template-card-visual-stage,.tile-visual-stage{border-bottom:1px solid var(--color-border);box-sizing:border-box;background:linear-gradient(#f9f6f1 0%,#eee6db 100%);justify-content:center;align-items:center;height:310px;min-height:310px;padding:20px 16px 16px;display:flex}.template-card-content,.tile-body{padding:var(--space-4) var(--space-5);background-color:var(--color-bg-surface);box-sizing:border-box;flex-direction:column;flex-grow:1;justify-content:space-between;display:flex}.tile-meta-header{flex-direction:column;gap:6px;display:flex}.tile-tags-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.tile-style-tag{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-light);font-size:.72rem;font-weight:700}.meta-separator{color:var(--color-border);font-size:.72rem}.template-tier-badge{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);padding:1px 7px;font-size:.66rem;font-weight:700}.template-tier-badge.tier-standard{color:var(--color-primary);background:#c86d5114;border:1px solid #c86d5138}.template-tier-badge.tier-premium{color:#8a6428;background:#c59b631f;border:1px solid #c59b634d}.template-tier-badge.tier-motion{color:#2b394a;background:#232b3814;border:1px solid #232b3838}.tile-name{font-family:var(--font-serif);color:var(--color-text-main);align-items:flex-start;min-height:3.25rem;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3;display:flex}.tile-action-row{padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:auto;display:flex}.tile-action-link{font-family:var(--font-sans);font-size:var(--text-xs,.75rem);color:var(--color-primary);transition:color var(--transition-fast);white-space:nowrap;align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.tile-action-primary-btn{font-family:var(--font-sans);font-size:var(--text-xs,.75rem);color:#fff;background-color:var(--color-primary);border-radius:var(--radius-md,6px);transition:background-color var(--transition-fast), transform var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.tile-action-primary-btn:hover{background-color:var(--color-primary-dark);color:#fff;transform:translateY(-1px)}.tile-action-primary-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tile-action-link:hover{color:var(--color-primary-dark)}.tile-action-link .action-arrow{transition:transform var(--transition-fast)}.tile-action-link:hover .action-arrow{transform:translate(4px)}.tile-action-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}@media (width<=768px){.template-card{flex:0 0 100%;width:100%;max-width:360px}.template-card-visual-stage,.tile-visual-stage{height:290px;min-height:290px;padding:16px 12px 12px}}@media (prefers-reduced-motion:reduce){.template-card,.tile-action-link,.action-arrow{transition:none!important;transform:none!important}}.catalog-page{max-width:1200px;padding:var(--space-8) var(--space-4) var(--space-16);min-height:calc(100vh - 180px);margin:0 auto}.catalog-hero{text-align:center;max-width:720px;margin:0 auto var(--space-8);padding:var(--space-6) var(--space-4) 0}.catalog-hero-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-3);font-weight:700;display:block}.catalog-hero-title{font-family:var(--font-serif);color:var(--color-text-main);margin:0 0 var(--space-4);font-size:clamp(2rem,4.5vw,3rem);font-weight:600;line-height:1.25}.catalog-hero-title-line{color:var(--color-text-main);display:block}.catalog-hero-description{font-family:var(--font-sans);color:var(--color-text-muted);max-width:580px;margin:0 auto;font-size:clamp(.95rem,1.8vw,1.1rem);line-height:1.6}.catalog-category-nav{justify-content:center;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);margin:0 auto var(--space-10);flex-wrap:wrap;max-width:540px;display:flex}.catalog-category-tab{padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;outline:none;font-weight:500;position:relative}.catalog-category-tab:hover{color:var(--color-primary)}.catalog-category-tab.active{color:var(--color-primary);font-weight:600}.catalog-category-tab.active:after{content:"";bottom:calc(-1 * var(--space-3) - 1px);background-color:var(--color-primary);border-radius:2px;height:2px;position:absolute;left:0;right:0}.catalog-category-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.catalog-showcase-gallery{max-width:var(--container-max-width,1200px);box-sizing:border-box;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:clamp(20px,2.5vw,28px);margin:0 auto;display:flex}.catalog-skeleton-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-sizing:border-box;flex-direction:column;flex:0 0 340px;width:340px;max-width:340px;display:flex;overflow:hidden}.skeleton-visual-stage{background:linear-gradient(#f9f6f1 0%,#eee6db 100%);height:310px;min-height:310px;animation:1.8s ease-in-out infinite skeleton-pulse}.skeleton-content{padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;flex-grow:1;display:flex}.skeleton-line{border-radius:var(--radius-sm);background-color:#2d242114;height:14px;animation:1.8s ease-in-out infinite skeleton-pulse}.skeleton-line.short{width:35%}.skeleton-line.title{width:75%;height:22px}.skeleton-actions-row{padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);margin-top:auto;display:flex}.skeleton-action-link{border-radius:var(--radius-sm);background-color:#b05b3b26;width:90px;height:16px;animation:1.8s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.catalog-state-box{text-align:center;padding:var(--space-12) var(--space-6);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:520px;margin:var(--space-4) auto var(--space-8);box-shadow:0 4px 16px #2d24210a}.catalog-state-icon{margin-bottom:var(--space-3);color:var(--color-primary);justify-content:center;display:flex}.catalog-state-title{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-text-main);margin-bottom:var(--space-2)}.catalog-state-desc{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.6}.btn-retry{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-6);border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);border:1px solid var(--color-primary);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;box-shadow:0 2px 8px #b05b3b2e}.btn-retry:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #b05b3b40}.btn-retry:focus-visible{outline:2px solid var(--color-primary-active);outline-offset:2px}@media (width<=768px){.catalog-page{padding:var(--space-6) var(--space-4) var(--space-12)}.catalog-hero{margin-bottom:var(--space-6);padding-top:var(--space-2)}.catalog-category-nav{margin-bottom:var(--space-6);gap:var(--space-1)}.catalog-category-tab{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}.catalog-skeleton-card{flex:0 0 100%;width:100%;max-width:360px}}.template-thumbnail-wrapper{aspect-ratio:16/10;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background-color:var(--color-bg-subtle);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.template-thumbnail-img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-normal);display:block}.template-card:hover .template-thumbnail-img{transform:scale(1.03)}.template-thumbnail-fallback{background:linear-gradient(135deg, var(--color-bg-accent) 0%, var(--color-bg-subtle) 100%);border:1px solid var(--color-border);box-sizing:border-box;width:100%;height:100%;padding:var(--space-4);text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;display:flex}.fallback-ornament{margin-bottom:var(--space-2);filter:drop-shadow(0 2px 4px #8b3a2b26);font-size:2rem}.fallback-title{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-main);margin-bottom:var(--space-1);font-weight:600}.fallback-badge{font-size:var(--text-xs);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;font-weight:600}.palette-swatches-container{gap:var(--space-2);flex-direction:column;display:flex}.palette-swatches-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.palette-swatches-list{gap:var(--space-2);flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.palette-swatch-item{align-items:center;gap:var(--space-2);display:flex}.palette-swatch-circle{border-radius:var(--radius-full);border:1px solid #0000001f;flex-shrink:0;width:20px;height:20px;box-shadow:0 1px 2px #0000000f}.palette-swatches-container.compact .palette-swatch-circle{width:16px;height:16px}.palette-swatch-details{flex-direction:column;display:flex}.palette-swatch-name{font-size:var(--text-xs);color:var(--color-text-main);font-weight:600}.palette-swatch-hex{color:var(--color-text-muted);font-family:monospace;font-size:11px}.sections-list-container{gap:var(--space-3);flex-direction:column;display:flex}.sections-list-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;padding:0;list-style:none;display:grid}.section-item-card{align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast);display:flex}.section-item-card:hover{border-color:var(--color-primary-light)}.section-order-badge{border-radius:var(--radius-full);background-color:var(--color-bg-accent);width:28px;height:28px;color:var(--color-primary);font-weight:600;font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-meta{flex-direction:column;flex-grow:1;display:flex}.section-title{font-size:var(--text-sm);color:var(--color-text-main);text-transform:capitalize;font-weight:600}.section-type-tag{color:var(--color-text-muted);font-size:11px}.detail-page{max-width:1200px;padding:var(--space-6) var(--space-4) var(--space-12);margin:0 auto}.detail-breadcrumbs{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);display:flex}.detail-breadcrumbs a{color:var(--color-text-muted);transition:color var(--transition-fast);text-decoration:none}.detail-breadcrumbs a:hover{color:var(--color-primary)}.breadcrumb-separator{color:var(--color-border)}.breadcrumb-current{color:var(--color-text-main);font-weight:500}.detail-main-layout{gap:var(--space-8);margin-bottom:var(--space-10);grid-template-columns:1fr 1.1fr;align-items:start;display:grid}.detail-visual-col{top:calc(64px + var(--space-6));gap:var(--space-4);flex-direction:column;display:flex;position:sticky}.detail-thumbnail-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);background-color:var(--color-bg-surface);overflow:hidden}.detail-preview-badge{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;background-color:var(--color-bg-subtle);padding:var(--space-2);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.detail-info-col{gap:var(--space-6);flex-direction:column;display:flex}.detail-header{gap:var(--space-2);flex-direction:column;display:flex}.detail-theme-tag{font-size:var(--text-xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.detail-title{font-family:var(--font-serif);color:var(--color-text-main);margin:0;font-size:clamp(2rem,3.5vw,2.5rem);line-height:1.2}.detail-description{font-size:var(--text-base);color:var(--color-text-muted);margin:0;line-height:1.6}.detail-pricing-box{background:linear-gradient(135deg, var(--color-bg-surface) 0%, var(--color-bg-accent) 100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.pricing-row{justify-content:space-between;align-items:baseline;display:flex}.pricing-label{font-size:var(--text-sm);color:var(--color-text-muted)}.pricing-val-primary{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-primary);font-weight:700}.pricing-val-secondary{font-size:var(--text-sm);color:var(--color-text-main);font-weight:600}.detail-actions{gap:var(--space-3);flex-direction:column;display:flex}.btn-select-template{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;font-weight:600;font-size:var(--text-base);border:1px solid var(--color-primary);cursor:pointer;box-shadow:var(--shadow-subtle);transition:all var(--transition-fast);text-decoration:none;display:flex}.btn-select-template:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-select-template:active:not(:disabled){background-color:var(--color-primary-active);border-color:var(--color-primary-active);transform:translateY(0)}.btn-select-template:focus-visible{outline:2px solid var(--color-primary-active);outline-offset:2px}.detail-cta-notice{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;line-height:1.4}.detail-specs-container{gap:var(--space-8);border-top:1px solid var(--color-border);padding-top:var(--space-8);flex-direction:column;display:flex}.spec-section{gap:var(--space-4);flex-direction:column;display:flex}.spec-section-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text-main);align-items:center;gap:var(--space-2);margin:0;display:flex}.typography-preview-cards{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.font-card{padding:var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.font-card-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;margin-bottom:var(--space-1);font-weight:600}.font-card-name{font-size:var(--text-base);color:var(--color-primary);margin-bottom:var(--space-2);font-weight:600}.font-sample-heading{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-main);line-height:1.3}.font-sample-body{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.animations-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.animation-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background-color:var(--color-bg-surface);border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-main);align-items:center;gap:var(--space-1);display:flex}.animation-badge.default{background-color:var(--color-bg-accent);border-color:var(--color-primary-light);color:var(--color-primary);font-weight:600}.detail-state-card{max-width:500px;margin:var(--space-12) auto;padding:var(--space-10) var(--space-6);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm)}.state-card-icon{margin-bottom:var(--space-3);font-size:3rem}.state-card-title{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-text-main);margin-bottom:var(--space-2)}.state-card-text{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.5}.btn-back-catalog{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;font-weight:500;font-size:var(--text-sm);border:1px solid var(--color-primary);transition:all var(--transition-fast);text-decoration:none;display:inline-flex}.btn-back-catalog:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.btn-back-catalog:active{background-color:var(--color-primary-active);border-color:var(--color-primary-active)}.btn-back-catalog:focus-visible{outline:2px solid var(--color-primary-active);outline-offset:2px}@media (width<=768px){.detail-main-layout{gap:var(--space-6);grid-template-columns:1fr}.detail-visual-col{position:static}.typography-preview-cards{grid-template-columns:1fr}}.auth-split-page{background-color:var(--color-bg-main,#fcfbf9);min-height:100vh;color:var(--color-text-main,#242220);grid-template-columns:1fr;display:grid}@media (width>=960px){.auth-split-page{grid-template-columns:46% 54%}}@media (width>=1200px){.auth-split-page{grid-template-columns:44% 56%}}.auth-split-visual{color:#faf7f2;background:linear-gradient(145deg,#181310 0%,#261b16 50%,#15100e 100%);display:none;position:relative;overflow:hidden}@media (width>=960px){.auth-split-visual{flex-direction:column;min-height:100vh;display:flex;position:sticky;top:0}}.auth-visual-overlay{pointer-events:none;background-image:radial-gradient(circle at 20% 15%,#d4af3726 0%,#0000 45%),radial-gradient(circle at 85% 80%,#8b3a2b33 0%,#0000 50%),radial-gradient(circle,#0006 0%,#000000b3 100%);position:absolute;inset:0}.auth-visual-content{z-index:1;box-sizing:border-box;flex-direction:column;justify-content:space-between;height:100%;padding:3.5rem 3rem;display:flex;position:relative}.auth-visual-brand{margin-bottom:2rem}.auth-brand-link{text-decoration:none;transition:transform .2s;display:inline-block}.auth-brand-link:hover{transform:translateY(-1px)}.auth-visual-hero{max-width:460px;margin:auto 0}.auth-tagline-badge{color:#dfba5c;letter-spacing:.02em;background:#d4af3726;border:1px solid #d4af374d;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;display:inline-flex}.auth-hero-heading{font-family:var(--font-serif,"Playfair Display", Georgia, serif);color:#faf7f2;letter-spacing:-.01em;margin:0 0 1rem;font-size:2.35rem;font-weight:700;line-height:1.25}.auth-hero-sub{color:#e5cf92;font-weight:600;display:block}.auth-hero-desc{color:#faf7f2c7;margin:0 0 2rem;font-size:.95rem;line-height:1.6}.auth-value-props{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.value-prop-item{color:#faf7f2e6;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.4;display:flex}.value-prop-icon{color:#dfba5c;background:#d4af3733;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.auth-visual-footer{border-top:1px solid #ffffff14;margin-top:2rem;padding-top:1.5rem}.auth-copyright{color:#faf7f273;margin:0;font-size:.8125rem}.auth-split-form-panel{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:2.5rem 1.5rem;display:flex}.auth-form-card{background-color:var(--color-bg-surface,#fff);border:1px solid var(--color-border,#e5e0d8);border-radius:var(--radius-lg,1rem);box-sizing:border-box;width:100%;max-width:440px;padding:2.25rem 2rem;box-shadow:0 4px 20px -2px #2422200f}@media (width<=480px){.auth-split-form-panel{padding:1.5rem 1rem}.auth-form-card{border-radius:var(--radius-md,.75rem);padding:1.75rem 1.25rem}}.auth-card-header{text-align:center;margin-bottom:1.75rem}.auth-mobile-logo{margin-bottom:1.25rem;display:inline-block}@media (width>=960px){.auth-mobile-logo{display:none}}.auth-card-title{font-family:var(--font-serif,"Playfair Display", Georgia, serif);color:var(--color-text-main,#242220);margin:0;font-size:1.75rem;line-height:1.3}.auth-card-subtitle{color:var(--color-text-muted,#6d665f);margin-top:.5rem;margin-bottom:0;font-size:.875rem;line-height:1.5}.auth-card-body{flex-direction:column;display:flex}.auth-alert{border-radius:var(--radius-md,.5rem);align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.45;display:flex}.auth-alert-error{color:var(--color-error,#b91c1c);background-color:#fdf2f2;border:1px solid #f8b4b4}.auth-alert-success{color:#15803d;background-color:#f0fdf4;border:1px solid #bbf7d0}.auth-form{flex-direction:column;gap:1.15rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-label{color:var(--color-text-main,#242220);font-size:.875rem;font-weight:600}.auth-input{border-radius:var(--radius-md,.5rem);border:1px solid var(--color-border,#e5e0d8);background-color:var(--color-bg-main,#fcfbf9);width:100%;color:var(--color-text-main,#242220);box-sizing:border-box;outline:none;padding:.7rem .85rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--color-primary,#8b3a2b);background-color:#fff;box-shadow:0 0 0 3px #8b3a2b1f}.auth-input:disabled{cursor:not-allowed;opacity:.7;background-color:#f3f0ea}.auth-submit-btn{justify-content:center;width:100%;margin-top:.5rem;padding:.8rem;font-size:.95rem;font-weight:600}.auth-footer{text-align:center;color:var(--color-text-muted,#6d665f);margin-top:1.75rem;font-size:.8125rem}.auth-footer-link{color:var(--color-primary,#8b3a2b);font-weight:600;text-decoration:none}.auth-footer-link:hover{text-decoration:underline}.payment-method-selector{gap:var(--space-4);flex-direction:column;display:flex}.category-filter-bar{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.category-tab{border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:var(--color-bg-surface);color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);padding:.4rem .85rem;font-weight:600}.category-tab:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.category-tab.active{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.channels-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.channel-card{padding:var(--space-4);border-radius:var(--radius-md);border:1.5px solid var(--color-border);background-color:var(--color-bg-surface);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;display:flex;position:relative}.channel-card:hover:not(.disabled){border-color:var(--color-border-hover);box-shadow:var(--shadow-subtle);transform:translateY(-1px)}.channel-card.selected{border-color:var(--color-primary);background-color:var(--color-bg-main);box-shadow:0 0 0 1px var(--color-primary)}.channel-card.disabled{opacity:.5;cursor:not-allowed}.channel-card-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.channel-radio-indicator{border:2px solid var(--color-border-hover);width:18px;height:18px;transition:border-color var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.channel-card.selected .channel-radio-indicator{border-color:var(--color-primary)}.radio-inner{width:8px;height:8px;transition:background-color var(--transition-fast);background-color:#0000;border-radius:50%}.channel-card.selected .radio-inner{background-color:var(--color-primary)}.channel-name{font-size:var(--text-sm);color:var(--color-text-main);flex-grow:1;font-weight:600}.channel-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);background-color:var(--color-bg-accent);color:var(--color-primary);padding:2px 6px;font-size:.65rem;font-weight:700}.channel-desc{font-size:var(--text-xs);color:var(--color-text-muted);padding-left:calc(18px + var(--space-3));margin:0;line-height:1.4}.allowlist-notice{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;display:flex}.notice-icon{font-size:var(--text-sm);flex-shrink:0}@media (width<=640px){.channels-grid{grid-template-columns:1fr}}.addon-modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;padding:var(--space-4);background-color:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.addon-modal-dialog{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:640px;box-shadow:var(--shadow-elevated);flex-direction:column;max-height:90vh;animation:.2s ease-out modalFadeIn;display:flex;overflow:hidden}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.addon-modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.addon-modal-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text-main);margin:0}.addon-modal-close-btn{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.addon-modal-close-btn:hover:not(:disabled){color:var(--color-text-main)}.addon-modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.addon-modal-body{padding:var(--space-6);gap:var(--space-6);flex-direction:column;display:flex;overflow-y:auto}.addon-selection-list{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.addon-option-card{background-color:var(--color-bg-subtle);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:all var(--transition-fast);text-align:left;flex-direction:column;justify-content:space-between;display:flex;position:relative}.addon-option-card:hover:not(.disabled){border-color:var(--color-border-hover);background-color:var(--color-bg-surface)}.addon-option-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);background-color:#d4af370d}.addon-option-card.disabled{opacity:.65;cursor:not-allowed;border-color:var(--color-border)}.addon-card-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:flex-start;display:flex}.addon-card-name{font-size:var(--text-base);color:var(--color-text-main);margin-bottom:2px;font-weight:700}.addon-card-tagline{font-size:var(--text-xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);font-weight:600}.addon-card-desc{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:1.5}.addon-card-footer{padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.addon-card-price{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-main);font-weight:700}.addon-active-pill{color:#22c55e;border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;background-color:#22c55e26;border:1px solid #22c55e4d;padding:2px 8px;font-weight:700}.addon-all-active-notice{border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm);color:#86efac;text-align:center;background-color:#22c55e1a;border:1px solid #22c55e4d}.addon-payment-section{gap:var(--space-3);flex-direction:column;display:flex}.addon-section-label{font-size:var(--text-sm);color:var(--color-text-main);font-weight:600}.addon-status-alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:#93c5fd;text-align:center;background-color:#3b82f61a;border:1px solid #3b82f64d}.addon-error-alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:#fca5a5;text-align:center;background-color:#ef44441a;border:1px solid #ef44444d}.addon-modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background-color:var(--color-bg-subtle);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}@media (width<=640px){.addon-selection-list{grid-template-columns:1fr}.addon-modal-footer{flex-direction:column;align-items:stretch}.addon-modal-footer .btn{justify-content:center;width:100%}}.dashboard-overview-page{max-width:1100px;margin:0 auto}.dashboard-header{justifycontent:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.dashboard-user-meta{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:inline-flex}.dashboard-role-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);background-color:var(--color-bg-accent);color:var(--color-primary);border:1px solid var(--color-border);padding:2px 8px;font-weight:700}.dashboard-verified-label{font-size:var(--text-xs);color:var(--color-text-light)}.dashboard-title{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--color-text-main);margin:0}.dashboard-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.dashboard-empty-panel,.dashboard-entitlement-panel{background-color:var(--color-bg-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-10) var(--space-6);text-align:center;max-width:680px;margin:var(--space-4) auto var(--space-10);box-shadow:var(--shadow-subtle)}.dashboard-panel-icon{border-radius:var(--radius-full);background-color:var(--color-bg-accent);width:64px;height:64px;color:var(--color-primary);margin:0 auto var(--space-4);justify-content:center;align-items:center;display:flex}.dashboard-panel-heading{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-text-main);margin-bottom:var(--space-3)}.dashboard-panel-desc{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6);max-width:520px;margin-left:auto;margin-right:auto;line-height:1.6}.dashboard-panel-meta-info{background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);font-size:var(--text-xs);color:var(--color-text-main);display:inline-block}.project-card-container{background-color:var(--color-bg-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);transition:border-color var(--transition-fast);margin-bottom:var(--space-8);overflow:hidden}.project-card-container:hover{border-color:var(--color-border-hover)}.project-card-header{padding:var(--space-6) var(--space-8);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-4);background:linear-gradient(90deg,#d4af370d,#0000);flex-wrap:wrap;display:flex}.project-names{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-text-main);margin:0 0 var(--space-1) 0}.project-wedding-date{font-size:var(--text-sm);color:var(--color-text-muted)}.project-status-badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;padding:4px 12px;font-weight:700;display:inline-flex}.project-status-badge.badge-draft{color:#eab308;background-color:#eab30826;border:1px solid #eab3084d}.project-status-badge.badge-published{color:#22c55e;background-color:#22c55e26;border:1px solid #22c55e4d}.project-status-badge.badge-expired{color:#ef4444;background-color:#ef444426;border:1px solid #ef44444d}.project-card-body{padding:var(--space-8);gap:var(--space-8);grid-template-columns:200px 1fr 1fr;display:grid}.project-section-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--color-text-light);letter-spacing:.05em;margin-bottom:var(--space-3);font-weight:700}.project-template-col{flex-direction:column;display:flex}.project-template-thumbnail-wrapper{aspect-ratio:3/4;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-subtle);width:100%;margin-bottom:var(--space-3);position:relative;overflow:hidden}.project-template-thumbnail{object-fit:cover;width:100%;height:100%;display:block}.project-template-thumbnail-placeholder{width:100%;height:100%;color:var(--color-primary);background:linear-gradient(135deg,#d4af371a,#0000);justify-content:center;align-items:center;display:flex}.project-template-name{font-size:var(--text-base);color:var(--color-text-main);margin-bottom:2px;font-weight:600}.project-template-style{font-size:var(--text-xs);color:var(--color-text-muted)}.project-validity-col{justifycontent:flex-start;flex-direction:column;display:flex}.project-remaining-days{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-primary);margin-bottom:var(--space-1);font-weight:700}.project-expiry-date{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4)}.project-renewal-banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:#fde047;background-color:#eab3081a;border:1px solid #eab3084d;margin-top:auto;line-height:1.5}.project-expired-banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:#fca5a5;background-color:#ef44441a;border:1px solid #ef44444d;margin-top:auto;line-height:1.5}.project-addons-col{flex-direction:column;display:flex}.project-addons-list{gap:var(--space-2);flex-direction:column;display:flex}.addon-badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);width:fit-content;padding:6px 12px;font-weight:600;display:inline-flex}.addon-badge.motion-badge{color:#c084fc;background-color:#9333ea26;border:1px solid #9333ea4d}.addon-badge.guestbook-badge{color:#67e8f9;background-color:#06b6d426;border:1px solid #06b6d44d}.addon-none{font-size:var(--text-xs);color:var(--color-text-light);padding:var(--space-2) 0;font-style:italic}.project-card-actions{padding:var(--space-4) var(--space-8);border-top:1px solid var(--color-border);background-color:var(--color-bg-subtle);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.btn-addon{border-style:dashed}.dashboard-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--space-4);background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-modal-content{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-8);width:100%;max-width:480px;box-shadow:var(--shadow-elevated);text-align:center}@media (width<=900px){.project-card-body{gap:var(--space-6);grid-template-columns:1fr}.project-template-col{max-width:200px}}@media (width<=640px){.project-card-header{padding:var(--space-4) var(--space-5)}.project-card-body{padding:var(--space-5)}.project-card-actions{padding:var(--space-4) var(--space-5);flex-direction:column;align-items:stretch}.project-card-actions .btn{text-align:center;justify-content:center;width:100%}}.setup-invitation-container{background-color:var(--color-bg-main,#faf8f5);min-height:100vh;color:var(--color-text-main,#2c2523);flex-direction:column;display:flex}.setup-top-bar{background-color:var(--color-bg-surface,#fff);border-bottom:1px solid var(--color-border,#e5e0d8);z-index:50;padding:.75rem 0;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.setup-bar-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1320px;margin:0 auto;padding:0 1.5rem;display:flex}.setup-brand-link{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.setup-top-actions{align-items:center;gap:1.25rem;display:flex}.setup-exit-link{color:var(--color-text-muted,#786f6c);border:1px solid var(--color-border,#e5e0d8);background-color:var(--color-bg-surface,#fff);cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;padding:.45rem .9rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.setup-exit-link:hover{background-color:var(--color-bg-subtle,#f5f2eb);color:var(--color-text-main,#2c2523)}.setup-main-wrapper{box-sizing:border-box;flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1.5rem 1.5rem 6.5rem}.setup-compact-stepper{justify-content:center;margin-bottom:2rem;display:flex}.compact-stepper-inner{background-color:var(--color-bg-surface,#fff);border:1px solid var(--color-border,#e5e0d8);border-radius:9999px;align-items:center;gap:.6rem;padding:.4rem 1.25rem;display:inline-flex;box-shadow:0 1px 3px #0000000a}.compact-step-item{cursor:pointer;color:var(--color-text-light,#a09794);background:0 0;border:none;align-items:center;gap:.45rem;padding:0;font-family:inherit;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.compact-step-item:disabled{cursor:default}.compact-step-item.active{color:var(--color-primary,#8b3a2b);font-weight:700}.compact-step-item.done{color:#15803d}.step-circle{border:1.5px solid var(--color-border,#e5e0d8);background-color:var(--color-bg-subtle,#f5f2eb);width:24px;height:24px;color:var(--color-text-muted,#786f6c);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .2s;display:inline-flex}.compact-step-item.active .step-circle{background-color:var(--color-primary,#8b3a2b);border-color:var(--color-primary,#8b3a2b);color:#fff;box-shadow:0 0 0 3px #8b3a2b26}.compact-step-item.done .step-circle{color:#15803d;background-color:#e8f3ec;border-color:#15803d}.compact-step-divider{background-color:var(--color-border,#e5e0d8);width:24px;height:2px;margin:0 .15rem}@media (width<=768px){.setup-bar-inner{padding:0 .75rem}.setup-top-actions{gap:.75rem}.compact-stepper-inner{gap:.35rem;padding:.3rem .75rem}.compact-step-divider{width:10px}.step-label{display:none}}.setup-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0000008c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.setup-modal-box{background-color:var(--color-bg-surface,#fff);border:1px solid var(--color-border,#e5e0d8);border-radius:16px;flex-direction:column;gap:1.25rem;width:100%;max-width:480px;padding:2rem;display:flex;box-shadow:0 20px 40px #0000002e}.setup-modal-header{align-items:center;gap:.875rem;display:flex}.setup-modal-header .modal-icon{color:#dc2626;background-color:#fee2e2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.setup-modal-title{color:var(--color-text-main,#2c2523);margin:0;font-size:1.2rem;font-weight:700}.setup-modal-body{color:var(--color-text-muted,#786f6c);margin:0;font-size:.9375rem;line-height:1.5}.setup-modal-actions{justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.btn-danger{color:#fff;cursor:pointer;background-color:#dc2626;border:1px solid #dc2626;border-radius:8px;padding:.6rem 1.2rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-danger:hover{background-color:#b91c1c;border-color:#b91c1c}.setup-step-card{background-color:var(--color-bg-surface,#fff);border:1px solid var(--color-border,#e5e0d8);border-radius:14px;padding:2.25rem;box-shadow:0 2px 8px #00000008}.setup-step-1-card,.setup-step-2-card{max-width:760px;margin:0 auto}.step-card-header{border-bottom:1px solid var(--color-border,#e5e0d8);margin-bottom:1.75rem;padding-bottom:1.25rem}.step-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-gold,#c5a059);margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:inline-block}.step-title{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-text-main,#2c2523);margin:0 0 .35rem;font-size:1.75rem}.step-subtitle{color:var(--color-text-muted,#786f6c);margin:0;font-size:.9375rem;line-height:1.6}.setup-form{flex-direction:column;gap:1.25rem;display:flex}.form-row-2col{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=640px){.form-row-2col{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{color:var(--color-text-main,#2c2523);font-size:.875rem;font-weight:600}.form-input{border:1px solid var(--color-border,#e5e0d8);background-color:var(--color-bg-surface,#fff);width:100%;min-height:44px;color:var(--color-text-main,#2c2523);box-sizing:border-box;border-radius:8px;outline:none;padding:.65rem .85rem;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--color-primary,#8b3a2b);box-shadow:0 0 0 3px #8b3a2b1a}.form-input.input-error{background-color:#fffafb;border-color:#dc2626}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.slug-input-wrapper{border:1px solid var(--color-border,#e5e0d8);background-color:var(--color-bg-surface,#fff);border-radius:8px;align-items:center;transition:border-color .2s;display:flex;overflow:hidden}.slug-input-wrapper:focus-within{border-color:var(--color-primary,#8b3a2b);box-shadow:0 0 0 3px #8b3a2b1a}.slug-input-wrapper.error{border-color:#dc2626}.slug-prefix{background-color:var(--color-bg-subtle,#f5f2eb);color:var(--color-text-light,#a09794);border-right:1px solid var(--color-border,#e5e0d8);-webkit-user-select:none;user-select:none;padding:.65rem .85rem;font-family:monospace;font-size:.875rem}.slug-input{min-height:44px;color:var(--color-text-main,#2c2523);background:0 0;border:none;outline:none;flex:1;padding:.65rem .85rem;font-size:.9375rem}.slug-status-indicator{min-height:20px;margin-top:.25rem}.slug-notice{align-items:center;gap:.35rem;font-size:.8125rem;display:inline-flex}.slug-notice.checking{color:var(--color-text-muted,#786f6c);font-style:italic}.slug-notice.available{color:#15803d;font-weight:600}.slug-notice.unavailable{color:#b91c1c;font-weight:500}.field-error-msg{color:#dc2626;margin-top:.25rem;font-size:.8125rem}.form-actions-bar{border-top:1px solid var(--color-border,#e5e0d8);justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.form-actions-bar.split{justify-content:space-between}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary,#8b3a2b);border-color:var(--color-primary,#8b3a2b);color:#fff}.btn-primary:hover:not(:disabled){background-color:#742e22;box-shadow:0 2px 8px #8b3a2b40}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background-color:var(--color-bg-surface,#fff);border-color:var(--color-border,#e5e0d8);color:var(--color-text-main,#2c2523)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-subtle,#f5f2eb)}.setup-step-3-container{flex-direction:column;gap:1.75rem;display:flex}.compact-step-3-header{margin-bottom:.25rem}.package-compact-strip{border:1.5px solid var(--color-border,#e5e0d8);background:linear-gradient(135deg,#fdfbf7,#f7f3ea);border-radius:14px;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 1.75rem;display:flex;box-shadow:0 1px 4px #00000005}@media (width<=860px){.package-compact-strip{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem}}.package-strip-info{flex-direction:column;gap:.35rem;display:flex}.package-strip-header{align-items:center;gap:.75rem;display:flex}.package-tag{background-color:var(--color-primary,#8b3a2b);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.package-price{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-primary,#8b3a2b);font-size:1.35rem;font-weight:700}.package-title{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-text-main,#2c2523);margin:0;font-size:1.25rem}.package-features-inline{color:var(--color-text-muted,#786f6c);margin:0;font-size:.8125rem;line-height:1.4}.package-strip-addons{flex-shrink:0}.addon-pill-toggle{background-color:var(--color-bg-surface,#fff);border:1.5px solid var(--color-border,#e5e0d8);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1.25rem;transition:all .2s;display:inline-flex}.addon-pill-toggle:hover{border-color:var(--color-primary,#8b3a2b)}.addon-pill-toggle.selected{border-color:var(--color-primary,#8b3a2b);box-shadow:0 0 0 1px var(--color-primary,#8b3a2b);background-color:#fdf6f4}.addon-pill-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary,#8b3a2b);cursor:pointer}.addon-pill-label{cursor:pointer;align-items:center;gap:.75rem;display:flex}.addon-name{color:var(--color-text-main,#2c2523);font-size:.875rem;font-weight:600}.addon-badge{color:var(--color-primary,#8b3a2b);background-color:#8b3a2b14;border-radius:6px;padding:.2rem .5rem;font-size:.8125rem;font-weight:700}.template-catalog-section{margin-top:.5rem}.template-catalog-header{margin-bottom:1.25rem}.catalog-section-title{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-text-main,#2c2523);margin:0 0 .35rem;font-size:1.35rem}.section-instruction{color:var(--color-text-muted,#786f6c);margin:0;font-size:.875rem}.template-loading-box{color:var(--color-text-muted,#786f6c);flex-direction:column;align-items:center;gap:.75rem;padding:3rem;font-size:.875rem;display:flex}.spinner{border:3px solid var(--color-border,#e5e0d8);border-top-color:var(--color-primary,#8b3a2b);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.template-portrait-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.75rem;margin-bottom:2rem;display:grid}.template-portrait-card{background-color:var(--color-bg-surface,#fff);border:1.5px solid var(--color-border,#e5e0d8);cursor:pointer;border-radius:16px;flex-direction:column;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000008}.template-portrait-card:hover{border-color:#c5a059;transform:translateY(-4px);box-shadow:0 12px 24px #00000014}.template-portrait-card.selected{border-color:var(--color-primary,#8b3a2b);box-shadow:0 0 0 3px #8b3a2b2e,0 10px 20px #0000000f}.template-portrait-card.intent-recommended{border-color:#c5a059}.template-portrait-frame{aspect-ratio:9/14;background-color:var(--color-bg-subtle,#f5f2eb);width:100%;position:relative;overflow:hidden}.template-portrait-img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.template-portrait-card:hover .template-portrait-img{transform:scale(1.03)}.template-portrait-placeholder{width:100%;height:100%;color:var(--color-text-light,#a09794);justify-content:center;align-items:center;display:flex}.recommended-badge-chip{background-color:var(--color-primary,#8b3a2b);color:#fff;letter-spacing:.03em;z-index:2;border-radius:20px;align-items:center;gap:3px;padding:.3rem .7rem;font-size:.6875rem;font-weight:700;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px #0003}.motion-badge-chip{color:#fff;text-transform:uppercase;letter-spacing:.04em;z-index:2;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:20px;align-items:center;gap:3px;padding:.25rem .6rem;font-size:.65rem;font-weight:700;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 2px 6px #0003}.selected-badge{background-color:var(--color-primary,#8b3a2b);color:#fff;z-index:2;border-radius:20px;align-items:center;gap:4px;padding:.3rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px;box-shadow:0 2px 6px #0003}.template-portrait-info{border-top:1px solid var(--color-border,#e5e0d8);background-color:var(--color-bg-surface,#fff);flex-direction:column;gap:.35rem;padding:1rem 1.15rem;display:flex}.template-portrait-title{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-text-main,#2c2523);margin:0;font-size:1.15rem;font-weight:700}.template-portrait-style{color:var(--color-text-muted,#786f6c);font-size:.8125rem}.template-portrait-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem;display:grid}.btn-demo-link{border:1px solid var(--color-border,#e5e0d8);color:var(--color-text-main,#2c2523);background-color:var(--color-bg-surface,#fff);border-radius:6px;justify-content:center;align-items:center;padding:.45rem .65rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-demo-link:hover{background-color:var(--color-bg-subtle,#f5f2eb)}.btn-select-tmpl{border:1px solid var(--color-primary,#8b3a2b);background-color:var(--color-primary,#8b3a2b);color:#fff;cursor:pointer;border-radius:6px;padding:.45rem .65rem;font-size:.8125rem;font-weight:600;transition:all .15s}.btn-select-tmpl.active{background-color:#15803d;border-color:#15803d}.setup-sticky-bottom-bar{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-border,#e5e0d8);z-index:45;background-color:#fffffff5;padding:.85rem 1.5rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.sticky-bar-inner{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1280px;margin:0 auto;display:flex}.btn-sticky-back{flex-shrink:0;padding:.55rem 1rem;font-size:.875rem}.sticky-summary-details{flex:1;align-items:center;gap:2rem;display:flex}.sticky-package-desc{flex-direction:column;display:flex}.sticky-pkg-name{color:var(--color-text-main,#2c2523);font-size:.9375rem;font-weight:700}.sticky-pkg-breakdown{color:var(--color-text-muted,#786f6c);font-size:.8125rem}.sticky-template-status{align-items:center;gap:.4rem;font-size:.875rem;display:flex}.sticky-tmpl-label{color:var(--color-text-muted,#786f6c)}.sticky-tmpl-val{font-weight:600}.sticky-tmpl-val.chosen{color:var(--color-primary,#8b3a2b)}.sticky-tmpl-val.not-chosen{color:#dc2626}.sticky-actions-area{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.sticky-total-wrapper{flex-direction:column;align-items:flex-end;display:flex}.sticky-total-label{color:var(--color-text-muted,#786f6c);text-transform:uppercase;font-size:.75rem;font-weight:600}.sticky-total-val{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-primary,#8b3a2b);font-size:1.4rem;font-weight:700;line-height:1.1}.sticky-btn-wrapper{flex-direction:column;align-items:flex-end;display:flex}.template-required-hint{color:#dc2626;white-space:nowrap;margin-top:.25rem;font-size:.75rem}@media (width<=860px){.sticky-bar-inner{flex-wrap:wrap;gap:.75rem}.sticky-summary-details{justify-content:space-between;gap:.5rem;width:100%}.sticky-actions-area{justify-content:space-between;width:100%}.btn-sticky-back{display:none}}.setup-step-4-card{max-width:820px;margin:0 auto}.order-review-card{background-color:var(--color-bg-subtle,#f5f2eb);border:1px solid var(--color-border,#e5e0d8);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.review-heading{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-text-main,#2c2523);border-bottom:1px solid var(--color-border,#e5e0d8);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem}.review-grid{grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-bottom:1.25rem;display:grid}@media (width<=640px){.review-grid{grid-template-columns:1fr}}.review-item{flex-direction:column;gap:.2rem;display:flex}.review-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#786f6c);font-size:.75rem;font-weight:600}.review-val{color:var(--color-text-main,#2c2523);font-size:.9375rem}.review-val.font-mono{color:var(--color-primary,#8b3a2b);font-family:monospace}.review-total-row{border-top:2px dashed var(--color-border,#e5e0d8);color:var(--color-text-main,#2c2523);justify-content:space-between;align-items:baseline;padding-top:1rem;font-size:1rem;font-weight:600;display:flex}.review-total-amount{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-primary,#8b3a2b);font-size:1.5rem;font-weight:700}.activation-branch-a-container{flex-direction:column;gap:1.5rem;display:flex}.active-entitlement-banner{color:#14532d;background:linear-gradient(135deg,#f0fdf4,#e6f7ec);border:1.5px solid #22c55e;border-radius:12px;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.active-entitlement-banner svg{color:#16a34a;flex-shrink:0;margin-top:2px}.active-entitlement-banner strong{margin-bottom:.25rem;font-size:1rem;display:block}.active-entitlement-banner p{color:#166534;margin:0;font-size:.875rem;line-height:1.5}.btn-activate{color:#fff;background-color:#16a34a;border-color:#16a34a}.btn-activate:hover:not(:disabled){background-color:#15803d;box-shadow:0 2px 8px #16a34a40}.activation-actions{border-top:1px solid var(--color-border,#e5e0d8);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.activation-branch-b-container{flex-direction:column;gap:1.25rem;display:flex}.payment-heading{font-family:var(--font-serif,"Playfair Display", serif);color:var(--color-text-main,#2c2523);margin:0;font-size:1.25rem}.payment-sub{color:var(--color-text-muted,#786f6c);margin:0 0 .5rem;font-size:.875rem}.payment-security-note{color:#15803d;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8125rem;display:flex}.setup-alert-banner{border-radius:10px;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.875rem;display:flex}.setup-alert-banner.error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.setup-alert-banner.info{color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe}.alert-content{flex:1}.alert-content strong{margin-bottom:.15rem;font-weight:600;display:block}.alert-content p{margin:0;font-size:.8125rem;line-height:1.4}.btn-dismiss-alert{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.btn-dismiss-alert:hover{opacity:1}.status-badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);letter-spacing:.02em;white-space:nowrap;transition:all var(--transition-fast);padding:.25rem .75rem;font-weight:600;line-height:1.2;display:inline-flex}.status-badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.badge-paid,.badge-available{color:var(--color-success);background-color:#eaf3ec;border:1px solid #c7e1cb}.badge-paid .status-badge-dot,.badge-available .status-badge-dot{background-color:var(--color-success)}.badge-pending{color:var(--color-warning);background-color:#fdf6ea;border:1px solid #fae1b7}.badge-pending .status-badge-dot{background-color:var(--color-warning);animation:1.8s ease-in-out infinite pulse-dot}.badge-failed{color:var(--color-error);background-color:#fbeee9;border:1px solid #f2c7be}.badge-failed .status-badge-dot{background-color:var(--color-error)}.badge-expired,.badge-consumed,.badge-default{background-color:var(--color-bg-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-expired .status-badge-dot,.badge-consumed .status-badge-dot,.badge-default .status-badge-dot{background-color:var(--color-text-light)}@keyframes pulse-dot{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.6;transform:scale(.9)}}.pagination-controls{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;margin-top:var(--space-6);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.pagination-summary{font-size:var(--text-sm);color:var(--color-text-muted)}.pagination-current,.pagination-total{color:var(--color-text-main);font-weight:600}.pagination-actions{gap:var(--space-2);display:inline-flex}.btn-pagination{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-surface);color:var(--color-text-main);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);padding:.5rem 1rem;font-weight:500}.btn-pagination:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-subtle)}.btn-pagination:disabled{opacity:.45;cursor:not-allowed;border-color:var(--color-border)}.purchase-history-page{min-height:calc(100vh - 160px)}.history-filters{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-pill{border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:var(--color-bg-surface);min-height:36px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.4rem .9rem;font-weight:600;display:inline-flex}.filter-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-pill.active{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.history-compact-list{gap:var(--space-3);flex-direction:column;display:flex}.purchase-compact-row{justify-content:space-between;align-items:center;gap:var(--space-4);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem var(--space-4);box-shadow:var(--shadow-subtle);transition:all var(--transition-fast);display:flex}.purchase-compact-row:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.purchase-compact-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.purchase-compact-info{flex-direction:column;gap:2px;min-width:0;display:flex}.purchase-compact-title{font-family:var(--font-serif);font-size:var(--text-base);color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.purchase-compact-meta{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);display:flex}.meta-sep{color:var(--color-border)}.purchase-compact-side{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.purchase-compact-amount{font-size:var(--text-sm);color:var(--color-text-main);white-space:nowrap;text-align:right;min-width:100px;font-weight:700}.purchase-compact-status{align-items:center;display:flex}.purchase-compact-actions{align-items:center;gap:var(--space-2);display:flex}.purchase-compact-preview{font-size:var(--text-xs);color:var(--color-text-muted);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-subtle);min-height:38px;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;padding:.4rem .85rem;font-weight:600;text-decoration:none;display:inline-flex}.purchase-compact-preview:hover{background-color:var(--color-bg-accent);color:var(--color-primary);border-color:var(--color-primary)}.purchase-compact-action{font-size:var(--text-xs);color:var(--color-primary);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-surface);min-height:38px;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;padding:.4rem .85rem;font-weight:600;text-decoration:none;display:inline-flex}.purchase-compact-action:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.history-loading,.history-empty-card,.history-error-card{text-align:center;padding:var(--space-12) var(--space-4);background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);width:36px;height:36px;margin:0 auto var(--space-4);border-radius:50%;animation:1s linear infinite spin}.empty-icon{color:var(--color-primary);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.empty-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text-main);margin-bottom:var(--space-1)}.empty-text{font-size:var(--text-sm);color:var(--color-text-muted)}@media (width<=767px){.purchase-compact-row{align-items:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-4);flex-direction:column}.purchase-compact-main{width:100%}.purchase-compact-side{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border);flex-wrap:wrap;display:flex}.purchase-compact-amount{text-align:left;min-width:auto;font-size:var(--text-base)}.purchase-compact-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.purchase-compact-preview,.purchase-compact-action{text-align:center;box-sizing:border-box;width:100%;min-height:44px;padding:.5rem .75rem}}.purchase-detail-page{min-height:calc(100vh - 160px)}.detail-container{max-width:860px}.detail-breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4);display:flex}.detail-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.detail-breadcrumb a:hover{color:var(--color-primary)}.detail-status-banner{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);margin-bottom:var(--space-6);box-shadow:var(--shadow-subtle);display:flex}.banner-icon{font-size:var(--text-2xl);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;display:flex}.banner-title{font-family:var(--font-serif);font-size:var(--text-lg);margin:0 0 var(--space-1) 0}.banner-desc{font-size:var(--text-xs);margin:0;line-height:1.5}.banner-action{flex-shrink:0;margin-left:auto}.banner-success{color:var(--color-text-main);background-color:#f2f8f4;border:1px solid #c7e1cb}.banner-success .banner-icon{color:var(--color-success);background-color:#dbece0}.banner-pending{color:var(--color-text-main);background-color:#fdf8ee;border:1px solid #f9dfb1}.banner-pending .banner-icon{color:var(--color-warning);background-color:#f6ebd1}.banner-failed,.banner-expired{color:var(--color-text-main);background-color:#fdf3f2;border:1px solid #f6cfcb}.banner-failed .banner-icon,.banner-expired .banner-icon{color:var(--color-error);background-color:#f9dedb}.invoice-card{background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-8);box-shadow:var(--shadow-md)}.invoice-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.invoice-badge-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gold);font-weight:700}.invoice-id{font-family:monospace;font-size:var(--text-xl);color:var(--color-text-main);margin:var(--space-1) 0}.invoice-date{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.invoice-status-col{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.paid-at-text{color:var(--color-text-muted);font-size:.7rem}.invoice-divider{background-color:var(--color-border);height:1px;margin:var(--space-6) 0}.invoice-product-row{align-items:center;gap:var(--space-5);display:flex}.product-thumb-box{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-subtle);flex-shrink:0;width:80px;height:80px;overflow:hidden}.product-thumb{object-fit:cover;width:100%;height:100%}.product-thumb-empty{width:100%;height:100%;font-size:var(--text-2xl);color:var(--color-gold);justify-content:center;align-items:center;display:flex}.product-info-box{flex-grow:1}.product-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-text-main);margin:0 0 var(--space-1) 0}.product-desc{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 var(--space-3) 0}.product-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.product-tag{border-radius:var(--radius-sm);background-color:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text-muted);padding:2px 8px;font-size:.7rem}.product-price-box{text-align:right;flex-shrink:0}.product-price-amount{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-primary);font-weight:700}.invoice-meta-grid{gap:var(--space-6);padding:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.meta-item{gap:var(--space-1);flex-direction:column;display:flex}.meta-label{font-size:var(--text-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em}.meta-value{font-size:var(--text-sm);color:var(--color-text-main);font-weight:600}.ref-mono{font-family:monospace;font-size:var(--text-xs)}.invoice-footer{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px dashed var(--color-border);flex-wrap:wrap;display:flex}.link-back-history{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none}.link-back-history:hover{color:var(--color-primary)}.detail-loading,.detail-error-card{text-align:center;padding:var(--space-16) var(--space-4);background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}@media (width<=640px){.invoice-product-row{flex-direction:column;align-items:flex-start}.product-price-box{text-align:left;margin-top:var(--space-2)}.detail-status-banner{flex-direction:column;align-items:flex-start}.banner-action{width:100%;margin-left:0}}.entitlement-library-page{min-height:100%}.library-filters{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.library-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.entitlement-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);transition:all var(--transition-fast);flex-direction:column;display:flex;overflow:hidden}.entitlement-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.entitlement-thumb-wrapper{background-color:var(--color-bg-subtle);width:100%;height:180px;position:relative;overflow:hidden}.entitlement-thumb{object-fit:cover;width:100%;height:100%}.entitlement-thumb-placeholder{width:100%;height:100%;font-size:var(--text-4xl);color:var(--color-gold);justify-content:center;align-items:center;display:flex}.entitlement-badge-overlay{top:var(--space-3);right:var(--space-3);position:absolute}.entitlement-body{padding:var(--space-5);flex-direction:column;flex-grow:1;justify-content:space-between;display:flex}.entitlement-name{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--color-text-main);margin:0 0 var(--space-2) 0}.entitlement-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4);flex-direction:column;gap:2px;display:flex}.entitlement-actions{gap:var(--space-2);flex-direction:column;margin-top:auto;display:flex}.btn-create-invitation:disabled{opacity:.55;cursor:not-allowed;background-color:var(--color-bg-subtle);color:var(--color-text-muted);border:1px solid var(--color-border)}.sprint-04-hint{color:var(--color-text-light);text-align:center;font-size:.7rem}.library-loading,.library-empty-card,.library-error-card{text-align:center;padding:var(--space-12) var(--space-4);background-color:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.demo-page-wrapper{background-color:#f7f3ed;flex-direction:column;min-height:100vh;display:flex}.demo-top-bar{z-index:100;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);background:#fdfbf7f0;padding:10px 0;position:sticky;top:0}.demo-top-bar-container{max-width:1200px;padding:0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.demo-top-left{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.demo-back-link{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast);align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.demo-back-link:hover{color:var(--color-primary)}.demo-bar-divider{color:var(--color-border)}.demo-title-group{align-items:center;gap:var(--space-2);display:flex}.demo-template-name{font-family:var(--font-serif);font-size:var(--text-base);color:var(--color-text-main);font-weight:600}.demo-style-badge{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-light);background-color:var(--color-bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);padding:2px 7px;font-size:.72rem;font-weight:700}.demo-tier-badge{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);padding:2px 8px;font-size:.7rem;font-weight:700}.demo-tier-badge.tier-standard{color:var(--color-primary);background:#c86d511a;border:1px solid #c86d5140}.demo-tier-badge.tier-premium{color:#8a6428;background:#c59b6324;border:1px solid #c59b6359}.demo-tier-badge.tier-motion{color:#2b394a;background:#232b381a;border:1px solid #232b3840}.demo-top-right{align-items:center;gap:var(--space-4);display:flex}.demo-public-indicator{font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:6px;font-weight:500;display:inline-flex}.live-dot{background-color:#2e7d32;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #2e7d3233}.demo-catalog-cta{font-size:var(--text-xs);padding:6px 14px;font-weight:600}.demo-invitation-container{padding:var(--space-8) var(--space-4);flex:1;justify-content:center;align-items:flex-start;display:flex}@media (width<=640px){.demo-invitation-container{padding:0}}.demo-envelope-screen{width:100%;max-width:440px;min-height:calc(100vh - 160px);padding:var(--space-4);justify-content:center;align-items:center;display:flex}.demo-envelope-box{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-6);text-align:center;background-image:radial-gradient(circle at 50% 0,#c86d510a 0%,#0000 70%);width:100%;position:relative;box-shadow:0 16px 40px #2d24211a}.demo-envelope-top-ornament{margin:0 auto var(--space-6);color:#fff;width:64px;height:64px;font-family:var(--font-serif);background:linear-gradient(135deg,#c59b63 0%,#a87e45 100%);border:2px solid #fdfbf7;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;display:flex;box-shadow:0 4px 14px #c59b6359}.demo-envelope-eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.14em;color:var(--color-text-light);margin-bottom:var(--space-2)}.demo-envelope-names{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:var(--space-2);font-size:1.85rem;line-height:1.3}.demo-envelope-date{font-size:var(--text-sm);color:var(--color-primary);margin-bottom:var(--space-8);font-weight:500}.demo-guest-salutation{background-color:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-8)}.salutation-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:4px;display:block}.salutation-name{font-family:var(--font-serif);font-size:var(--text-base);color:var(--color-text-main);font-weight:600}.demo-open-btn{width:100%;font-size:var(--text-base);letter-spacing:.04em;padding:12px;font-weight:600}.demo-invitation-card{border:1px solid var(--color-border);border-radius:var(--radius-2xl);background-color:#fdfbf7;width:100%;max-width:440px;animation:.6s cubic-bezier(.16,1,.3,1) both cardReveal;position:relative;overflow:hidden;box-shadow:0 20px 60px #2d24211f}@keyframes cardReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.demo-invitation-card{max-width:100%;box-shadow:none;border:none;border-radius:0}}.demo-floating-audio{z-index:90;align-items:center;gap:var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full);border:1px solid var(--color-border);background:#fdfbf7eb;padding:6px 14px 6px 6px;display:flex;position:fixed;bottom:24px;left:24px;box-shadow:0 8px 24px #0000001f}.audio-disc-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 8px #c86d514d}.audio-disc-btn.spinning{animation:4s linear infinite spinDisc}@keyframes spinDisc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.audio-info-pill{flex-direction:column;display:flex}.audio-track-title{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.72rem;font-weight:600;overflow:hidden}.audio-status{color:var(--color-text-muted);font-size:.65rem}.invitation-hero-section{height:520px;padding:var(--space-8) var(--space-6);color:#fff;align-items:flex-end;display:flex;position:relative}.invitation-hero-media{position:absolute;inset:0;overflow:hidden}.invitation-hero-photo{object-fit:cover;width:100%;height:100%}.invitation-hero-overlay{background:linear-gradient(#1c181733 0%,#1c181766 50%,#1c1817e6 100%);position:absolute;inset:0}.invitation-hero-content{z-index:2;text-align:center;width:100%;position:relative}.invitation-eyebrow{font-family:var(--font-sans);letter-spacing:.2em;color:#ffffffd9;margin-bottom:var(--space-2);font-size:.72rem;display:block}.invitation-couple-names{font-family:var(--font-serif);color:#fff;margin-bottom:var(--space-2);font-size:2.1rem;font-weight:500;line-height:1.25}.invitation-date{font-size:var(--text-sm);color:#f7ede2;margin-bottom:var(--space-3)}.invitation-venue-badge{font-size:var(--text-xs);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full);background:#ffffff2e;border:1px solid #ffffff40;padding:4px 12px;display:inline-block}.section-script-title{font-family:var(--font-serif);color:var(--color-text-main);text-align:center;margin-bottom:var(--space-6);font-size:1.7rem;position:relative}.invitation-quote-section{padding:var(--space-10) var(--space-6);text-align:center;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.quote-ornament{color:var(--color-primary);margin-bottom:var(--space-3);font-size:1.5rem}.quote-text{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:var(--space-3);font-size:.95rem;font-style:italic;line-height:1.75}.quote-source{font-size:var(--text-xs);color:var(--color-text-light);display:block}.invitation-couple-section{padding:var(--space-10) var(--space-6);text-align:center}.profile-card{margin-bottom:var(--space-4)}.profile-avatar-frame{width:110px;height:110px;margin:0 auto var(--space-3);border:3px solid #fff;border-radius:50%;overflow:hidden;box-shadow:0 4px 16px #0000001f}.profile-avatar-img{object-fit:cover;width:100%;height:100%}.groom-img{object-position:left 30%}.bride-img{object-position:right 30%}.profile-name{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:4px;font-size:1.35rem}.profile-desc{font-size:var(--text-xs);color:var(--color-text-muted);max-width:280px;margin:0 auto}.couple-separator{font-family:var(--font-serif);color:var(--color-primary);margin:var(--space-4) 0;font-size:1.75rem}.invitation-events-section{padding:var(--space-10) var(--space-6);background-color:var(--color-bg-subtle);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.event-detail-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;margin-bottom:var(--space-4);background-color:#fff;box-shadow:0 4px 12px #2d24210a}.event-icon{margin-bottom:var(--space-2);font-size:1.5rem}.event-name{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:var(--space-2);font-size:1.25rem}.event-day-date{font-size:var(--text-sm);color:var(--color-primary);margin-bottom:2px;font-weight:600}.event-time{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.event-location-name{font-size:var(--text-xs);color:var(--color-text-main);font-weight:500}.map-action-wrapper{text-align:center;margin-top:var(--space-4)}.map-btn{width:100%}.invitation-rsvp-section{padding:var(--space-10) var(--space-6)}.rsvp-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin-bottom:var(--space-6);line-height:1.6}.rsvp-form{gap:var(--space-4);flex-direction:column;display:flex}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-group label{font-size:var(--text-xs);color:var(--color-text-main);font-weight:600}.form-input,.form-select,.form-textarea{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-main);transition:border-color var(--transition-fast);background-color:#fff;padding:10px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none}.rsvp-choice-group{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.rsvp-choice-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background-color:#fff;padding:10px;font-weight:600}.rsvp-choice-btn.active{background-color:var(--color-bg-accent);color:var(--color-primary);border-color:var(--color-primary)}.rsvp-submit-btn{width:100%;margin-top:var(--space-2);padding:12px}.rsvp-success-card{border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;background:#2e7d3214;border:1px solid #2e7d3240}.rsvp-check-icon{color:#fff;width:40px;height:40px;margin-bottom:var(--space-3);background-color:#2e7d32;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.rsvp-success-card h3{font-size:var(--text-base);color:#1b5e20;margin-bottom:var(--space-2)}.rsvp-success-card p{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4)}.invitation-gift-section{padding:var(--space-10) var(--space-6);background-color:var(--color-bg-subtle);border-top:1px solid var(--color-border);text-align:center}.gift-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.6}.gift-account-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);background:#fff;box-shadow:0 4px 12px #2d24210a}.account-brand{font-size:var(--text-xs);color:var(--color-primary);margin-bottom:var(--space-2);font-weight:700}.account-number{font-family:var(--font-serif);letter-spacing:.08em;color:var(--color-text-main);margin-bottom:4px;font-size:1.4rem;font-weight:700}.account-holder{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-4)}.invitation-closing-section{padding:var(--space-12) var(--space-6);text-align:center;border-top:1px solid var(--color-border);background:#fff}.closing-gratitude{font-size:var(--text-xs);color:var(--color-text-muted);max-width:320px;margin:0 auto var(--space-4);line-height:1.7}.closing-couple-names{font-family:var(--font-serif);color:var(--color-text-main);margin-bottom:var(--space-8);font-size:1.5rem}.demo-invitka-footer-tag{color:var(--color-text-light);justify-content:center;align-items:center;gap:5px;font-size:.72rem;display:flex}.invitka-link{color:var(--color-primary);font-weight:700;text-decoration:none}:root{--color-bg-main:#fdfbf7;--color-bg-surface:#fff;--color-bg-subtle:#f7f3eb;--color-bg-accent:#faf1ea;--color-text-main:#2d2421;--color-text-muted:#6b5e59;--color-text-light:#9b8e88;--color-primary:#c86d51;--color-primary-hover:#a84c33;--color-primary-active:#8f3d26;--color-primary-dark:#a84c33;--color-primary-contrast:#fff;--color-gold:#c59b63;--color-gold-subtle:#e8d8c3;--color-sage:#6b8168;--color-rose:#d98880;--color-border:#efe8dd;--color-border-hover:#dcd2c3;--color-success:#457855;--color-error:#b9382c;--color-warning:#c78224;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-subtle:0 1px 3px #2d24210d;--shadow-md:0 4px 12px #2d242112;--shadow-lg:0 10px 24px #2d242117;--container-max-width:1140px;--transition-fast:.15s ease;--transition-normal:.25s ease}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);color:var(--color-text-main);background-color:var(--color-bg-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:clip}body{flex-direction:column;min-height:100vh;display:flex;overflow-x:clip}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);color:var(--color-text-main);font-weight:600;line-height:1.25}p{color:var(--color-text-muted)}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary)}:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[tabindex="-1"]:focus:not(:focus-visible){outline:none}.container{width:100%;max-width:var(--container-max-width);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}@media (width>=768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary);box-shadow:var(--shadow-subtle)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-contrast);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active);border-color:var(--color-primary-active);color:var(--color-primary-contrast);box-shadow:var(--shadow-subtle);transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid var(--color-primary-active);outline-offset:2px}.btn-primary:disabled,.btn-primary.disabled{opacity:.55;cursor:not-allowed;box-shadow:none;pointer-events:none;transform:none}.btn-secondary{background-color:var(--color-bg-surface);color:var(--color-text-main);border-color:var(--color-border);box-shadow:var(--shadow-subtle)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){border-color:var(--color-primary-hover);color:var(--color-primary-hover);background-color:var(--color-bg-subtle);transform:translateY(0)}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary:disabled,.btn-secondary.disabled{opacity:.55;cursor:not-allowed;box-shadow:none;pointer-events:none;transform:none}@media (prefers-reduced-motion:reduce){.btn,.btn-primary:hover,.btn-secondary:hover{transform:none!important}}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-full);background-color:var(--color-bg-accent);color:var(--color-primary);font-weight:600;display:inline-flex}
