@charset "UTF-8";:root{--color-bg: #faf7f2;--color-surface: #ffffff;--color-text: #2b2521;--color-text-muted: #6f655c;--color-primary: #7a5c3e;--color-primary-contrast: #ffffff;--color-accent: #c9a36a;--color-border: #e6ddd1;--color-danger: #b3261e;--color-success: #2e7d32;--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-base: 16px;--line-height-base: 1.55;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-1: 0 1px 3px rgba(0, 0, 0, .08);--shadow-2: 0 6px 24px rgba(0, 0, 0, .12);--content-max-width: 1100px;--nav-height: 56px}body.theme-boho{--color-bg: #f7efe6;--color-surface: #fffaf3;--color-text: #4a3b2e;--color-text-muted: #8a7559;--color-primary: #b5651d;--color-primary-contrast: #fffaf3;--color-accent: #d99873;--color-border: #e8d8c3;--font-heading: "Cormorant Garamond", Georgia, serif}body.theme-forest{--color-bg: #f1f5f0;--color-surface: #ffffff;--color-text: #1f2a22;--color-text-muted: #5a6b5d;--color-primary: #2f5d40;--color-primary-contrast: #ffffff;--color-accent: #8fae6b;--color-border: #d6e0d4}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin:0 0 var(--space-4)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--content-max-width);margin-inline:auto;padding-inline:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--btn-border-color, transparent);border-radius:var(--btn-radius, var(--radius-sm));padding:var(--space-3) var(--space-5);background-color:var(--btn-bg, var(--color-primary));background-image:var(--btn-bg-image, none);background-size:cover;background-position:center;color:var(--btn-text, var(--color-primary-contrast));box-shadow:var(--btn-shadow, none);font-weight:600;transition:box-shadow .15s ease,transform .1s ease,filter .15s ease}.btn:hover{box-shadow:var(--btn-hover-shadow, var(--btn-shadow, none));filter:brightness(1.03)}.btn--ghost{background-color:transparent;background-image:none;color:var(--color-primary);border-color:var(--color-border);box-shadow:none}.card{background:var(--card-bg, var(--color-surface));border:1px solid var(--card-border-color, var(--color-border));border-radius:var(--card-radius, var(--radius-md));box-shadow:var(--card-shadow, var(--shadow-1));padding:var(--space-5);backdrop-filter:blur(var(--card-blur, 0));-webkit-backdrop-filter:blur(var(--card-blur, 0))}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select{font:inherit;color:var(--input-text, var(--color-text));background:var(--input-bg, var(--color-surface));border:1px solid var(--input-border-color, var(--color-border));border-radius:var(--input-radius, var(--radius-sm));padding:var(--space-2) var(--space-3)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--input-focus-shadow, 0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent))}.cdk-drag-preview{border-radius:var(--radius-md, 12px);box-shadow:0 8px 24px #0000004d}.cdk-drag-placeholder{opacity:.35}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}.guests__drag-preview{display:inline-block;padding:8px 14px;background:var(--color-surface, #fff);color:var(--color-text, #2b2521);border:1px solid var(--color-primary, #7a5c3e);border-radius:var(--radius-md, 12px);font-weight:600;box-shadow:0 8px 24px #0000004d}
