*{margin:0;padding:0;box-sizing:border-box}:root{--font-display: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--ink: #0d1117;--ink-secondary: #4a5568;--ink-muted: #8896ab;--sapphire: #1a3a6b;--sapphire-mid: #2a5298;--sapphire-light: #e8eef8;--sapphire-glow: rgba(42, 82, 152, .12);--gold: #b8860b;--gold-light: #fdf6e3;--gold-border: rgba(184, 134, 11, .25);--success: #0d6e4b;--success-light: #e6f7f1;--danger: #c0392b;--danger-light: #fdf0ef;--warning: #b7600c;--warning-light: #fef3e2;--bg: #f7f5f0;--surface: #ffffff;--surface-2: #faf9f7;--border: #e5e1d8;--border-strong: #ccc7bb;--shadow-xs: 0 1px 2px rgba(13, 17, 23, .06);--shadow-sm: 0 1px 3px rgba(13, 17, 23, .08), 0 1px 2px rgba(13, 17, 23, .05);--shadow-md: 0 4px 12px rgba(13, 17, 23, .08), 0 2px 4px rgba(13, 17, 23, .05);--shadow-lg: 0 12px 32px rgba(13, 17, 23, .1), 0 4px 8px rgba(13, 17, 23, .06);--shadow-xl: 0 24px 48px rgba(13, 17, 23, .12), 0 8px 16px rgba(13, 17, 23, .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--ease: cubic-bezier(.4, 0, .2, 1);--duration: .2s}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;line-height:1.6;font-weight:400;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;min-width:320px}#root{width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-muted)}.category-filter{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0 20px}.category-button{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-full);padding:8px 18px;font-family:var(--font-body);font-size:.84rem;font-weight:500;color:var(--ink-secondary);cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.category-button:hover{border-color:var(--sapphire-mid);color:var(--sapphire);background:var(--sapphire-light)}.category-button.active{background:var(--sapphire);color:#fff;border-color:var(--sapphire);box-shadow:0 2px 8px var(--sapphire-glow)}.category-icon{font-size:1em;line-height:1}.category-name{font-family:inherit}@media(max-width:640px){.category-filter{gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.category-button{padding:7px 14px;font-size:.8rem;flex-shrink:0}}.admin-controls{background:var(--sapphire-light);border:1.5px solid rgba(42,82,152,.18);border-radius:var(--radius-md);padding:14px;margin-top:12px;display:flex;flex-direction:column;gap:10px}.admin-availability{display:flex;align-items:center;gap:10px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border-strong);border-radius:var(--radius-full);transition:background .25s var(--ease)}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .25s var(--ease);box-shadow:var(--shadow-sm)}input:checked+.toggle-slider{background:var(--success)}input:checked+.toggle-slider:before{transform:translate(20px)}input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.availability-status{font-size:.82rem;font-weight:600}.availability-status.available{color:var(--success)}.availability-status.unavailable{color:var(--danger)}.admin-price-edit{display:flex;align-items:center}.price-edit-button{background:transparent;color:var(--sapphire-mid);border:1.5px solid rgba(42,82,152,.3);padding:7px 14px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease)}.price-edit-button:hover{background:var(--sapphire);color:#fff;border-color:var(--sapphire)}.price-edit-form{display:flex;gap:6px;align-items:center;width:100%}.price-input{flex:1;padding:7px 11px;border:1.5px solid var(--sapphire-mid);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--ink);background:var(--surface);outline:none;transition:border-color var(--duration) var(--ease)}.price-input:focus{border-color:var(--sapphire);box-shadow:0 0 0 3px var(--sapphire-glow)}.price-save-button,.price-cancel-button{width:32px;height:32px;border:none;border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration) var(--ease);flex-shrink:0}.price-save-button{background:var(--success-light);color:var(--success)}.price-save-button:hover:not(:disabled){background:var(--success);color:#fff}.price-cancel-button{background:var(--danger-light);color:var(--danger)}.price-cancel-button:hover:not(:disabled){background:var(--danger);color:#fff}.price-save-button:disabled,.price-cancel-button:disabled{opacity:.4;cursor:not-allowed}.admin-edit{display:flex}.edit-product-button{background:transparent;color:var(--sapphire-mid);border:1.5px solid rgba(42,82,152,.3);padding:7px 14px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);width:100%}.edit-product-button:hover:not(:disabled){background:var(--sapphire);color:#fff;border-color:var(--sapphire)}.edit-product-button:disabled{opacity:.4;cursor:not-allowed}.admin-delete{display:flex;flex-direction:column;gap:8px}.delete-button{background:var(--danger-light);color:var(--danger);border:1.5px solid rgba(192,57,43,.2);padding:7px 14px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);width:fit-content}.delete-button:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.delete-button:disabled{opacity:.4;cursor:not-allowed}.delete-confirm{background:var(--warning-light);border:1px solid rgba(183,96,12,.25);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:10px}.delete-warning{color:var(--warning);font-size:.82rem;font-weight:600;margin:0;text-align:center}.delete-actions{display:flex;gap:8px;justify-content:center}.confirm-delete-button,.cancel-delete-button{padding:7px 16px;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease)}.confirm-delete-button{background:var(--danger);color:#fff}.confirm-delete-button:hover:not(:disabled){background:#a93226}.cancel-delete-button{background:var(--surface);color:var(--ink-secondary);border:1px solid var(--border)}.cancel-delete-button:hover:not(:disabled){background:var(--surface-2)}.confirm-delete-button:disabled,.cancel-delete-button:disabled{opacity:.4;cursor:not-allowed}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease);position:relative}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.product-card.unavailable{opacity:.6}.product-card.unavailable:hover{transform:none;box-shadow:none}.unavailable-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--danger);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-full)}.product-image-container{width:100%;aspect-ratio:4 / 3;background:linear-gradient(160deg,var(--sapphire-light) 0%,#d6e4f4 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.product-image{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.product-card:hover .product-image{transform:scale(1.04)}.product-icon{font-size:5.5rem;line-height:1;filter:drop-shadow(0 6px 16px rgba(26,58,107,.15));transition:transform .3s var(--ease)}.product-card:hover .product-icon{transform:scale(1.08) translateY(-4px)}.product-info{flex:1;display:flex;flex-direction:column;padding:22px;gap:12px}.product-name{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--ink);letter-spacing:-.02em;line-height:1.25;margin:0}.product-presentation{display:inline-block;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-secondary);font-size:.76rem;font-weight:500;padding:3px 10px;border-radius:var(--radius-full);letter-spacing:.02em;width:fit-content}.product-description{font-size:.875rem;color:var(--ink-secondary);line-height:1.7;margin:0}.product-benefits{background:var(--success-light);border-radius:var(--radius-md);padding:13px 15px}.product-benefits h4{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--success);margin-bottom:8px}.product-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.product-benefits li{font-size:.84rem;color:var(--ink-secondary);padding-left:16px;position:relative;line-height:1.45}.product-benefits li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--success)}.details-toggle{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--sapphire-mid);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;transition:color var(--duration) var(--ease);align-self:flex-start;text-decoration:underline;text-underline-offset:3px}.details-toggle:hover{color:var(--sapphire)}.product-details{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:10px;animation:fadeSlideDown .2s var(--ease) both}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.detail-section{margin:0}.detail-section strong{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:3px}.detail-section p{font-size:.84rem;color:var(--ink-secondary);line-height:1.6;margin:0}.certifications-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.certifications-list li{font-size:.82rem;color:var(--ink-secondary);padding-left:14px;position:relative}.certifications-list li:before{content:"✓";position:absolute;left:0;color:var(--success);font-size:.75rem}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#f0fdf4;color:#15803d;border:1px solid rgba(21,128,61,.2);padding:9px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);width:100%;margin-top:auto}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border);margin-top:4px}.product-price{font-family:var(--font-display);font-size:1.55rem;font-weight:400;color:var(--sapphire);letter-spacing:-.03em;line-height:1}.add-to-cart-btn{display:inline-flex;align-items:center;gap:6px;background:var(--sapphire);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.84rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.add-to-cart-btn:hover{background:var(--sapphire-mid);transform:translateY(-1px);box-shadow:0 4px 14px var(--sapphire-glow)}.add-to-cart-btn:active{transform:translateY(0)}@media(max-width:640px){.product-info{padding:16px}.product-name{font-size:1.1rem}.product-price{font-size:1.35rem}}.package-card{background:var(--surface);border:1px solid var(--gold-border);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.package-card:after{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);pointer-events:none;box-shadow:inset 0 0 0 1px #b8860b1a}.package-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #b8860b26,var(--shadow-md);border-color:#b8860b73}.package-card.unavailable{opacity:.6}.package-card.unavailable:hover{transform:none;box-shadow:none}.discount-badge{position:absolute;top:14px;left:14px;z-index:2;background:var(--danger);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:var(--radius-full)}.package-image-container{width:100%;aspect-ratio:4 / 3;background:linear-gradient(160deg,var(--gold-light) 0%,#f5e6b8 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.package-image{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.package-card:hover .package-image{transform:scale(1.04)}.package-icon{font-size:5.5rem;line-height:1;filter:drop-shadow(0 6px 16px rgba(184,134,11,.2));transition:transform .3s var(--ease)}.package-card:hover .package-icon{transform:scale(1.08) translateY(-4px)}.package-info{flex:1;display:flex;flex-direction:column;padding:22px;gap:13px}.package-name{font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--gold);letter-spacing:-.02em;line-height:1.25;margin:0}.package-description{font-size:.875rem;color:var(--ink-secondary);line-height:1.7;margin:0}.package-includes{background:var(--gold-light);border:1px solid var(--gold-border);border-radius:var(--radius-md);padding:13px 15px}.package-includes h4{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.package-products-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.package-products-list li{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--ink-secondary)}.product-quantity{background:var(--gold);color:#fff;font-weight:700;font-size:.72rem;padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0}.package-benefits{background:var(--success-light);border-radius:var(--radius-md);padding:12px 15px}.package-benefits h4{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--success);margin-bottom:8px}.package-benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.package-benefits li{font-size:.84rem;color:var(--ink-secondary);padding-left:16px;position:relative;line-height:1.45}.package-benefits li:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--success)}.details-toggle{display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;color:var(--gold);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;transition:color var(--duration) var(--ease);align-self:flex-start;text-decoration:underline;text-underline-offset:3px}.details-toggle:hover{color:var(--ink)}.package-details{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:10px;animation:fadeSlideDown .2s var(--ease) both}.package-product-detail{padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;gap:8px}.detail-header strong{font-size:.85rem;color:var(--sapphire);font-weight:600}.detail-price{font-size:.8rem;color:var(--ink-muted);font-weight:500;white-space:nowrap}.detail-presentation{font-size:.78rem;color:var(--ink-muted);font-style:italic;margin:2px 0}.detail-description{font-size:.82rem;color:var(--ink-secondary);line-height:1.5;margin:5px 0 0}.package-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.package-pricing{text-align:left;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.original-price{font-size:.95rem;color:var(--ink-muted);text-decoration:line-through}.package-price{font-family:var(--font-display);font-size:1.7rem;font-weight:400;color:var(--gold);letter-spacing:-.03em;line-height:1}.savings{font-size:.78rem;color:var(--success);font-weight:700;padding:3px 10px;background:var(--success-light);border-radius:var(--radius-full);display:inline-block;align-self:flex-end}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#f0fdf4;color:#15803d;border:1px solid rgba(21,128,61,.2);padding:9px 16px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);width:100%}.share-btn:hover{background:#25d366;color:#fff;border-color:#25d366;transform:translateY(-1px);box-shadow:0 4px 12px #25d36647}.package-footer .add-to-cart-btn{width:100%;justify-content:center}@media(max-width:640px){.package-info{padding:16px}.package-name{font-size:1.15rem}.package-price{font-size:1.45rem}}.catalog{width:100%}.catalog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px}.admin-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:8px}.add-product-btn{display:inline-flex;align-items:center;gap:6px;background:var(--sapphire);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.84rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap;box-shadow:0 2px 8px var(--sapphire-glow)}.add-product-btn:hover{background:var(--sapphire-mid);transform:translateY(-1px);box-shadow:0 4px 14px var(--sapphire-glow)}.add-package-btn{display:inline-flex;align-items:center;gap:6px;background:var(--gold-light);color:var(--gold);border:1.5px solid var(--gold-border);padding:9px 20px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.84rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.add-package-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-1px);box-shadow:0 4px 12px #b8860b40}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:32px 0}.packages-section,.products-section{margin-bottom:32px}.section-title{font-family:var(--font-display);font-size:1.65rem;font-weight:400;color:var(--ink);letter-spacing:-.025em;margin:0 0 4px;padding-bottom:16px;border-bottom:1px solid var(--border)}.packages-section .section-title{color:var(--gold)}.no-products{text-align:center;padding:80px 20px;color:var(--ink-muted);font-size:1rem;border:1.5px dashed var(--border);border-radius:var(--radius-xl)}@media(max-width:768px){.products-grid{grid-template-columns:1fr;gap:16px;padding:20px 0}}@media(min-width:769px)and (max-width:1024px){.products-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(min-width:1200px){.products-grid{grid-template-columns:repeat(3,1fr)}}.cart-overlay{position:fixed;inset:0;background:#0d111773;display:flex;justify-content:flex-end;z-index:1000;animation:overlayIn .2s var(--ease) both;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.cart-container{background:var(--surface);width:100%;max-width:420px;height:100vh;display:flex;flex-direction:column;box-shadow:-8px 0 40px #0d111726;animation:drawerIn .25s var(--ease) both;border-left:1px solid var(--border)}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.cart-header h2{font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--ink);letter-spacing:-.02em;margin:0}.close-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-secondary);font-size:1.2rem;cursor:pointer;transition:all var(--duration) var(--ease)}.close-button:hover{background:var(--danger-light);border-color:#c0392b33;color:var(--danger)}.cart-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:8px}.cart-empty p{font-size:1rem;color:var(--ink-secondary);font-weight:500;margin:0}.cart-empty-subtitle{font-size:.875rem;color:var(--ink-muted)}.cart-items{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.cart-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:10px}.cart-item-info{display:flex;flex-direction:column;gap:2px}.cart-item-details h4{margin:0 0 3px;color:var(--ink);font-size:.92rem;font-weight:600;line-height:1.3}.cart-item-price{color:var(--ink-muted);margin:0;font-size:.82rem;font-weight:500}.cart-item-unit{font-size:.8rem;color:var(--ink-muted)}.cart-item-controls{display:flex;gap:10px;align-items:center;grid-column:1}.quantity-controls{display:inline-flex;align-items:center;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.quantity-button{background:transparent;color:var(--ink-secondary);border:none;width:32px;height:32px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration) var(--ease);line-height:1}.quantity-button:hover{background:var(--surface-2);color:var(--ink)}.quantity-display{min-width:34px;text-align:center;font-weight:600;font-size:.88rem;color:var(--ink);border-left:1px solid var(--border);border-right:1px solid var(--border);padding:0 4px;height:32px;display:flex;align-items:center;justify-content:center}.remove-button{background:transparent;border:none;color:var(--ink-muted);font-size:1rem;cursor:pointer;padding:4px;transition:color var(--duration) var(--ease);display:flex;align-items:center}.remove-button:hover{color:var(--danger)}.cart-item-subtotal{grid-column:2;grid-row:1 / 3;display:flex;align-items:center;font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--sapphire);padding-left:12px}.cart-footer{padding:20px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:14px}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.cart-total span:first-child{font-size:.9rem;font-weight:600;color:var(--ink-secondary);text-transform:uppercase;letter-spacing:.05em}.cart-total-amount{font-family:var(--font-display);font-size:1.55rem;font-weight:400;color:var(--sapphire);letter-spacing:-.02em}.checkout-button{width:100%;background:#25d366;color:#fff;border:none;padding:15px;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:700;cursor:pointer;transition:all var(--duration) var(--ease);letter-spacing:.01em}.checkout-button:hover{background:#128c7e;transform:translateY(-1px);box-shadow:0 6px 18px #25d3664d}.checkout-button:active{transform:translateY(0)}@media(max-width:768px){.cart-container{max-width:100%}}.cart-floating-button{position:fixed;bottom:28px;right:28px;width:60px;height:60px;border-radius:var(--radius-full);background:var(--ink);border:none;cursor:pointer;box-shadow:var(--shadow-xl);display:flex;align-items:center;justify-content:center;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),background var(--duration) var(--ease);z-index:999}.cart-floating-button:hover{transform:scale(1.08);background:var(--sapphire);box-shadow:var(--shadow-xl),0 0 0 4px var(--sapphire-glow)}.cart-floating-button:active{transform:scale(.96)}.cart-floating-button.pulse{animation:fabPulse .5s var(--ease)}@keyframes fabPulse{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}.cart-icon{font-size:1.55rem;line-height:1}.cart-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid var(--surface);animation:badgePop .3s var(--ease) both}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@media(max-width:768px){.cart-floating-button{bottom:20px;right:16px;width:54px;height:54px}.cart-icon{font-size:1.4rem}}.login-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.login-modal{background:#fff;border-radius:20px;padding:0;max-width:450px;width:90%;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.login-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:25px 30px;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.login-header h2{margin:0;font-size:1.6em}.login-close-button{background:#fff3;border:none;color:#fff;font-size:1.5em;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.login-close-button:hover{background:#ffffff4d}.login-form{padding:30px;display:flex;flex-direction:column;gap:20px}.login-field{display:flex;flex-direction:column;gap:8px}.login-field label{font-weight:600;color:var(--text-color);font-size:.95em}.login-field input{padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;transition:border-color .2s ease;font-family:inherit}.login-field input:focus{outline:none;border-color:var(--primary-color)}.login-error{background:#ffe0e0;color:#d00;padding:12px 15px;border-radius:10px;font-size:.9em;border:1px solid #ffcccc;white-space:pre-line;line-height:1.5;text-align:left}.login-button{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;padding:15px;border-radius:10px;font-size:1.1em;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 10px #8b45134d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #8b451366}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{padding:20px 30px;background:var(--bg-color);border-radius:0 0 20px 20px;text-align:center}.login-footer p{margin:0;color:#888;font-size:.9em}@media(max-width:768px){.login-modal{width:95%}.login-header{padding:20px}.login-header h2{font-size:1.3em}.login-form{padding:20px}}.add-product-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.add-product-modal{background:#fff;border-radius:20px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease}.add-product-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:25px 30px;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.add-product-header h2{margin:0;font-size:1.6em}.add-product-close{background:#fff3;border:none;color:#fff;font-size:1.5em;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.add-product-close:hover{background:#ffffff4d}.add-product-form{padding:30px;display:flex;flex-direction:column;gap:20px}.form-group label{font-weight:600;color:var(--text-color);font-size:.95em}.form-group input,.form-group select,.form-group textarea{padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;transition:border-color .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.add-product-error{background:#ffe0e0;color:#d00;padding:12px 15px;border-radius:10px;font-size:.9em;border:1px solid #ffcccc}.form-actions{display:flex;gap:15px;margin-top:10px}.btn-cancel,.btn-submit{flex:1;padding:15px;border-radius:10px;font-size:1.1em;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;border:none}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 4px 10px #8b45134d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #8b451366}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}.image-upload-section{margin-bottom:10px}.image-method-toggle{display:flex;gap:10px;margin-bottom:15px}.toggle-btn{flex:1;padding:12px 20px;border:2px solid #e0e0e0;background:#fff;border-radius:10px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s ease;color:#666}.toggle-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.toggle-btn:hover:not(.active){border-color:var(--primary-color);background:#f5f5f5}.url-input-container{padding:20px;background:#fafafa;border-radius:12px;border:2px solid #e0e0e0}.url-input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;transition:border-color .2s ease;font-family:inherit}.url-input:focus{outline:none;border-color:var(--primary-color)}.url-hint{margin:10px 0 0;font-size:.85em;color:#888}.image-label{font-weight:600;color:var(--text-color);font-size:.95em;margin-bottom:10px;display:block}.image-upload-area{border:2px dashed #ccc;border-radius:12px;padding:30px;text-align:center;transition:all .3s ease;background:#fafafa}.image-upload-area:hover{border-color:var(--primary-color);background:#f5f5f5}.image-input{display:none}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:3em;margin-bottom:10px}.upload-label p{margin:10px 0 5px;font-weight:600;color:var(--text-color)}.upload-hint{font-size:.85em;color:#888}.image-preview-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:15px}.image-preview{max-width:100%;max-height:300px;border-radius:12px;box-shadow:0 4px 10px #0000001a;object-fit:contain}.remove-image-btn{background:#f44336;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s ease}.remove-image-btn:hover{background:#d32f2f}.upload-progress{background:#e3f2fd;color:#1976d2;padding:12px 15px;border-radius:10px;font-size:.9em;border:1px solid #90caf9;text-align:center;font-weight:600}@media(max-width:768px){.add-product-modal{width:95%}.add-product-header{padding:20px}.add-product-header h2{font-size:1.3em}.add-product-form{padding:20px}.form-row{grid-template-columns:1fr}.image-upload-area{padding:20px}.upload-icon{font-size:2.5em}}.add-package-modal{max-width:700px;max-height:90vh;overflow-y:auto}.package-products-section{display:flex;flex-direction:column;gap:10px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.package-product-row{display:flex;gap:10px;align-items:center;background:#fff;padding:10px;border-radius:6px;border:1px solid #e9ecef}.product-select{flex:1;padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:.95em;font-family:inherit;background:#fff}.quantity-input{width:80px;padding:10px;border:1px solid #ced4da;border-radius:6px;font-size:.95em;text-align:center}.remove-product-btn{background:#dc3545;color:#fff;border:none;padding:10px 14px;border-radius:6px;font-size:1.1em;cursor:pointer;transition:background .3s ease}.remove-product-btn:hover{background:#c82333}.add-product-to-package-btn{background:#28a745;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:.95em;font-weight:600;cursor:pointer;transition:background .3s ease;margin-top:8px}.add-product-to-package-btn:hover{background:#218838}.discount-preview{display:block;margin-top:6px;color:#28a745;font-weight:600;font-size:.9em}.announcement-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;position:relative;transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease);width:100%}.announcement-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.announcement-card.inactive{opacity:.55}.announcement-admin-actions{position:absolute;top:14px;right:14px;display:flex;gap:8px;z-index:10}.announcement-admin-actions button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffffeb;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;transition:all var(--duration) var(--ease);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.announcement-admin-actions button:hover{transform:scale(1.06);box-shadow:var(--shadow-sm)}.edit-btn:hover{background:var(--sapphire-light);border-color:#2a52984d}.delete-btn:hover{background:var(--danger-light);border-color:#c0392b4d}.announcement-admin-actions button:disabled{opacity:.4;cursor:not-allowed;transform:none}.announcement-image-container{width:100%;overflow:hidden;line-height:0}.announcement-image{width:100%;height:auto;display:block;transition:transform .4s var(--ease)}.announcement-card:hover .announcement-image{transform:scale(1.015)}.announcement-content{padding:22px 28px 24px}.announcement-title{font-family:var(--font-display);font-size:1.4rem;font-weight:400;color:var(--ink);letter-spacing:-.02em;line-height:1.25;margin:0 0 10px}.announcement-description{font-size:.9rem;color:var(--ink-secondary);line-height:1.7;margin:0 0 16px}.announcement-link{display:inline-flex;align-items:center;gap:6px;color:var(--sapphire-mid);font-size:.85rem;font-weight:600;text-decoration:none;transition:color var(--duration) var(--ease),gap var(--duration) var(--ease)}.announcement-link:hover{color:var(--sapphire);gap:10px}@media(max-width:640px){.announcement-image{max-height:none}.announcement-content{padding:16px 18px 18px}.announcement-title{font-size:1.15rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:#fff;border-radius:20px;width:90%;box-shadow:0 10px 40px #0000004d}.announcement-modal{max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{background:linear-gradient(135deg,#ffc107,#ff6b00);color:#fff;padding:25px 30px;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.6em;font-weight:800}.close-button{background:#fff3;border:none;color:#fff;font-size:1.5em;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.close-button:hover{background:#ffffff4d}form{padding:30px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#212529;font-size:.95em}.field-hint{display:block;color:#6c757d;font-size:.85em;margin-top:6px;line-height:1.5}.field-hint a{color:#ffc107;text-decoration:none;font-weight:600}.field-hint a:hover{text-decoration:underline}.form-group input,.form-group textarea{padding:12px 16px;border:2px solid #e9ecef;border-radius:10px;font-size:1em;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#ffc107}.form-group textarea{resize:vertical;min-height:100px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.cancel-button{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:#5a6268}.submit-button{background:linear-gradient(135deg,#ffc107,#ff6b00);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:1em;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #ffc1074d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ffc10766}.submit-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.image-preview{margin-top:16px;border-radius:12px;overflow:hidden;border:2px solid #e9ecef}.image-preview img{width:100%;height:auto;max-height:300px;object-fit:cover;display:block}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;margin:0;font-weight:600}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-group span{color:#495057}.toast{position:fixed;bottom:108px;right:24px;background:var(--ink);color:#fff;padding:13px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:10px;z-index:1100;font-size:.88rem;font-weight:600;animation:toastIn .25s var(--ease) both,toastOut .25s var(--ease) 2.7s both;max-width:320px}.toast-icon{font-size:1.1rem;flex-shrink:0}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.96)}}@media(max-width:480px){.toast{right:16px;left:16px;bottom:90px}}.admin-guide{margin-bottom:32px}.guide-toggle-btn{display:inline-flex;align-items:center;gap:8px;background:var(--sapphire-light);color:var(--sapphire);border:1.5px solid rgba(42,82,152,.25);padding:9px 18px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.84rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease)}.guide-toggle-btn:hover,.guide-toggle-btn.active{background:var(--sapphire);color:#fff;border-color:var(--sapphire);box-shadow:0 2px 10px var(--sapphire-glow)}.guide-chevron{transition:transform var(--duration) var(--ease)}.guide-chevron.up{transform:rotate(180deg)}.guide-panel{margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;animation:fadeSlideDown .22s var(--ease) both;box-shadow:var(--shadow-md)}.guide-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);background:var(--sapphire-light)}.guide-title{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--sapphire);letter-spacing:-.02em;margin:0 0 3px}.guide-subtitle{font-size:.82rem;color:var(--ink-muted);margin:0}.guide-steps-list{display:flex;flex-direction:column}.guide-step-item{border-bottom:1px solid var(--border)}.guide-step-item:last-child{border-bottom:none}.guide-step-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--duration) var(--ease);gap:12px}.guide-step-trigger:hover{background:var(--surface-2)}.guide-step-trigger.open{background:var(--sapphire-light)}.guide-step-left{display:flex;align-items:center;gap:10px}.guide-step-num{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--sapphire);color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0}.guide-step-trigger.open .guide-step-num{background:var(--sapphire-mid)}.guide-step-icon{color:var(--ink-muted);display:flex;align-items:center;flex-shrink:0}.guide-step-trigger.open .guide-step-icon{color:var(--sapphire)}.guide-step-title{font-size:.9rem;font-weight:600;color:var(--ink)}.guide-step-chevron{color:var(--ink-muted);transition:transform var(--duration) var(--ease);flex-shrink:0}.guide-step-chevron.up{transform:rotate(180deg)}.guide-step-content{padding:4px 24px 20px;display:flex;flex-direction:column;gap:14px;animation:fadeSlideDown .18s var(--ease) both}.guide-instructions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.guide-instructions li{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;color:var(--ink-secondary);line-height:1.55}.guide-instruction-num{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--ink-muted);font-size:.68rem;font-weight:700;flex-shrink:0;margin-top:2px}.guide-tip{display:flex;align-items:flex-start;gap:8px;padding:11px 14px;border-radius:var(--radius-md);font-size:.82rem;line-height:1.55;font-weight:500}.guide-tip-icon{display:flex;align-items:center;flex-shrink:0;margin-top:2px}.guide-tip--info{background:var(--sapphire-light);color:var(--sapphire);border:1px solid rgba(42,82,152,.2)}.guide-tip--success{background:var(--success-light);color:var(--success);border:1px solid rgba(13,110,75,.2)}.guide-tip--warning{background:var(--warning-light);color:var(--warning);border:1px solid rgba(183,96,12,.2)}.guide-tip--danger{background:var(--danger-light);color:var(--danger);border:1px solid rgba(192,57,43,.2)}@media(max-width:640px){.guide-step-trigger{padding:12px 16px}.guide-step-content{padding:4px 16px 16px}.guide-header{padding:16px 16px 14px}}.app{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs)}.header-content{max-width:1400px;margin:0 auto;padding:0 40px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-brand{display:flex;flex-direction:column;gap:2px}.header-brand h1{font-family:var(--font-display);font-size:1.55rem;font-weight:400;letter-spacing:-.02em;color:var(--sapphire);line-height:1.2;margin:0}.header-subtitle{font-size:.78rem;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:500;margin:0}.header-actions{display:flex;align-items:center;gap:12px}.admin-button{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--ink-secondary);border:1.5px solid var(--border-strong);padding:8px 16px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.admin-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.admin-info{display:flex;align-items:center;gap:10px}.admin-badge{display:inline-flex;align-items:center;gap:6px;background:var(--sapphire-light);color:var(--sapphire);padding:6px 14px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px solid rgba(42,82,152,.2)}.logout-button{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--danger);border:1.5px solid rgba(192,57,43,.3);padding:7px 14px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.82rem;font-weight:500;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.logout-button:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.firebase-warning{max-width:1400px;margin:16px auto;padding:14px 20px;background:var(--warning-light);border:1px solid rgba(183,96,12,.3);color:var(--warning);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;text-align:center}.main-content{flex:1;max-width:1400px;margin:0 auto;width:100%;padding:48px 40px 80px}.intro-section{text-align:center;margin-bottom:56px;padding:64px 24px;position:relative}.intro-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,var(--sapphire-light) 0%,transparent 100%);border-radius:var(--radius-xl);z-index:0}.intro-section>*{position:relative;z-index:1}.intro-section h2{font-family:var(--font-display);font-size:2.75rem;font-weight:400;color:var(--sapphire);letter-spacing:-.03em;line-height:1.15;margin-bottom:16px}.intro-section p{color:var(--ink-secondary);font-size:1.05rem;line-height:1.75;max-width:580px;margin:0 auto;font-weight:400}.announcements-section{margin-bottom:64px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;flex-wrap:wrap}.announcements-title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;color:var(--ink);letter-spacing:-.02em;margin:0}.add-announcement-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold-light);color:var(--gold);border:1.5px solid var(--gold-border);padding:9px 20px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap}.add-announcement-btn:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-1px);box-shadow:var(--shadow-md)}.announcements-grid{display:flex;flex-direction:column;gap:24px}.no-announcements{text-align:center;padding:48px 20px;color:var(--ink-muted);font-size:.95rem;border:1.5px dashed var(--border);border-radius:var(--radius-lg)}.footer{background:var(--ink);color:#ffffffd9;margin-top:auto}.footer-content{max-width:1400px;margin:0 auto;padding:56px 40px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}.footer-section h3{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:#fff;margin-bottom:10px;letter-spacing:-.01em}.footer-section p{font-size:.875rem;line-height:1.7;color:#fff9}.footer-bottom{max-width:1400px;margin:0 auto;padding:20px 40px 32px;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{font-size:.8rem;color:#fff6}@media(max-width:768px){.header-content{padding:0 20px;height:60px}.header-brand h1{font-size:1.2rem}.header-subtitle{display:none}.main-content{padding:28px 16px 60px}.intro-section{padding:40px 16px;margin-bottom:36px}.intro-section h2{font-size:1.9rem}.announcements-grid{gap:16px}.section-header{flex-direction:column;align-items:flex-start}.footer-content{padding:40px 20px 28px}.footer-bottom{padding:16px 20px 24px}}
