:root{--animation-fast: .15s;--animation-normal: .3s;--animation-slow: .5s;--animation-slower: .8s;--animation-page: .6s;--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--stagger-delay: .05s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes zoomInBounce{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dotPulse{0%,80%,to{transform:scale(0);opacity:0}40%{transform:scale(1);opacity:1}}@keyframes progressIndeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes glow{0%,to{box-shadow:0 0 5px #d4a5744d}50%{box-shadow:0 0 20px #d4a57499}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pageSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes contentReveal{0%{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}.animate-fade-in{animation:fadeIn var(--animation-normal) var(--ease-out-quart) forwards}.animate-fade-in-up{animation:fadeInUp var(--animation-slow) var(--ease-out-expo) forwards}.animate-fade-in-down{animation:fadeInDown var(--animation-slow) var(--ease-out-expo) forwards}.animate-fade-in-left{animation:fadeInLeft var(--animation-slow) var(--ease-out-expo) forwards}.animate-fade-in-right{animation:fadeInRight var(--animation-slow) var(--ease-out-expo) forwards}.animate-fade-in-scale{animation:fadeInScale var(--animation-slow) var(--ease-out-back) forwards}.animate-zoom-in{animation:zoomIn var(--animation-normal) var(--ease-out-back) forwards}.animate-zoom-in-bounce{animation:zoomInBounce var(--animation-slower) var(--ease-smooth) forwards}.animate-pulse{animation:pulse 2s var(--ease-smooth) infinite}.animate-pulse-scale{animation:pulseScale 2s var(--ease-smooth) infinite}.animate-bounce{animation:bounce 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-wiggle{animation:wiggle .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.stagger-children>*{animation:fadeInUp var(--animation-slow) var(--ease-out-expo) both}.stagger-children>*:nth-child(1){animation-delay:calc(var(--stagger-delay) * 1)}.stagger-children>*:nth-child(2){animation-delay:calc(var(--stagger-delay) * 2)}.stagger-children>*:nth-child(3){animation-delay:calc(var(--stagger-delay) * 3)}.stagger-children>*:nth-child(4){animation-delay:calc(var(--stagger-delay) * 4)}.stagger-children>*:nth-child(5){animation-delay:calc(var(--stagger-delay) * 5)}.stagger-children>*:nth-child(6){animation-delay:calc(var(--stagger-delay) * 6)}.stagger-children>*:nth-child(7){animation-delay:calc(var(--stagger-delay) * 7)}.stagger-children>*:nth-child(8){animation-delay:calc(var(--stagger-delay) * 8)}.stagger-children>*:nth-child(9){animation-delay:calc(var(--stagger-delay) * 9)}.stagger-children>*:nth-child(10){animation-delay:calc(var(--stagger-delay) * 10)}.stagger-children>*:nth-child(11){animation-delay:calc(var(--stagger-delay) * 11)}.stagger-children>*:nth-child(12){animation-delay:calc(var(--stagger-delay) * 12)}.stagger-grid>*{animation:fadeInScale var(--animation-slow) var(--ease-out-back) both}.stagger-grid>*:nth-child(1){animation-delay:.05s}.stagger-grid>*:nth-child(2){animation-delay:.1s}.stagger-grid>*:nth-child(3){animation-delay:.15s}.stagger-grid>*:nth-child(4){animation-delay:.12s}.stagger-grid>*:nth-child(5){animation-delay:.17s}.stagger-grid>*:nth-child(6){animation-delay:.22s}.stagger-grid>*:nth-child(7){animation-delay:.19s}.stagger-grid>*:nth-child(8){animation-delay:.24s}.stagger-grid>*:nth-child(9){animation-delay:.29s}.stagger-grid>*:nth-child(10){animation-delay:.26s}.stagger-grid>*:nth-child(11){animation-delay:.31s}.stagger-grid>*:nth-child(12){animation-delay:.36s}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton-text{height:1em;border-radius:4px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:90%}.skeleton-avatar{border-radius:50%}.skeleton-image{aspect-ratio:16 / 9}.skeleton-card{aspect-ratio:3 / 4}.hover-lift{transition:transform var(--animation-normal) var(--ease-out-back),box-shadow var(--animation-normal) var(--ease-smooth)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}.hover-scale{transition:transform var(--animation-normal) var(--ease-out-back)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--animation-normal) var(--ease-smooth)}.hover-glow:hover{box-shadow:0 0 30px #d4a57466}.hover-shine{position:relative;overflow:hidden}.hover-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.hover-shine:hover:before{left:100%}.loading-spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top:3px solid #d4a574;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner.small{width:20px;height:20px;border-width:2px}.loading-spinner.large{width:60px;height:60px;border-width:4px}.loading-dots{display:flex;gap:6px;align-items:center;justify-content:center}.loading-dots span{width:8px;height:8px;background:#d4a574;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}.loading-progress{position:relative;width:100%;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden}.loading-progress:after{content:"";position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#d4a574,#c4956a);animation:progressIndeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;width:100%;height:100%;top:50%;left:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 60%);transform:translate(-50%,-50%) scale(0);transition:transform .5s ease,opacity .5s ease;opacity:0}.ripple-effect:active:after{transform:translate(-50%,-50%) scale(4);opacity:1;transition:0s}.reveal-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo)}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}.reveal-on-scroll.from-left{transform:translate(-40px)}.reveal-on-scroll.from-left.visible{transform:translate(0)}.reveal-on-scroll.from-right{transform:translate(40px)}.reveal-on-scroll.from-right.visible{transform:translate(0)}.reveal-on-scroll.scale{transform:scale(.9)}.reveal-on-scroll.scale.visible{transform:scale(1)}.click-shrink{transition:transform .1s ease}.click-shrink:active{transform:scale(.95)}.focus-ring{outline:none;transition:box-shadow var(--animation-fast) ease}.focus-ring:focus-visible{box-shadow:0 0 0 3px #d4a57466}.icon-rotate-hover{transition:transform var(--animation-normal) var(--ease-out-back)}.icon-rotate-hover:hover{transform:rotate(15deg)}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.animate-heart-beat{animation:heartBeat 1s ease-in-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1;transform:none}}:root{--space-xs: clamp(.25rem, .5vw, .5rem);--space-sm: clamp(.5rem, 1vw, 1rem);--space-md: clamp(1rem, 2vw, 1.5rem);--space-lg: clamp(1.5rem, 3vw, 2.5rem);--space-xl: clamp(2rem, 4vw, 4rem);--space-2xl: clamp(3rem, 6vw, 6rem);--container-max: 1800px;--container-padding: clamp(1rem, 3vw, 3rem);--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .625vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);--text-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);--text-4xl: clamp(2.25rem, 1.8rem + 2.25vw, 3rem);--text-5xl: clamp(3rem, 2rem + 5vw, 5rem);--text-hero: clamp(2.5rem, 2rem + 4vw, 6rem)}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container-sm{max-width:1024px}.container-md{max-width:1280px}.container-lg{max-width:1536px}.container-fluid{max-width:100%}.grid{display:grid;gap:var(--space-md)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.grid-auto-sm{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.grid-auto-lg{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}@media(max-width:359px){:root{--container-padding: .75rem}}@media(max-width:480px){.hide-mobile{display:none!important}.show-mobile{display:block!important}.text-center-mobile{text-align:center!important}.stack-mobile{flex-direction:column!important}.full-width-mobile{width:100%!important;max-width:100%!important}}@media(min-width:481px)and (max-width:768px){.hide-tablet-sm{display:none!important}.grid-cols-2{grid-template-columns:repeat(1,1fr)}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:769px)and (max-width:1024px){.hide-tablet{display:none!important}.show-tablet{display:block!important}.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(3,1fr)}}@media(min-width:1025px)and (max-width:1279px){.hide-laptop{display:none!important}.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(4,1fr)}}@media(min-width:1280px)and (max-width:1535px){.hide-desktop{display:none!important}}@media(min-width:1536px)and (max-width:1919px){.hide-wide{display:none!important}}@media(min-width:1920px){:root{--container-padding: clamp(2rem, 5vw, 5rem)}.hide-ultrawide{display:none!important}.show-ultrawide{display:block!important}}@media(min-width:2560px){:root{--space-xs: .625rem;--space-sm: 1.25rem;--space-md: 2rem;--space-lg: 3.5rem;--space-xl: 5rem;--space-2xl: 8rem}}.flex-wrap{flex-wrap:wrap}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.px-xs{padding-left:var(--space-xs);padding-right:var(--space-xs)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.py-xs{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.text-hero{font-size:var(--text-hero)}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.aspect-portrait{aspect-ratio:3 / 4}.aspect-wide{aspect-ratio:21 / 9}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.max-w-full{max-width:100%}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.min-h-screen{min-height:100vh}.h-screen-safe{height:100dvh}.min-h-screen-safe{min-height:100dvh}.hidden{display:none!important}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.invisible{visibility:hidden}.visible{visibility:visible}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d4a574;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#c4956a}.scroll-snap-x{scroll-snap-type:x mandatory;overflow-x:auto;-webkit-overflow-scrolling:touch}.scroll-snap-y{scroll-snap-type:y mandatory;overflow-y:auto;-webkit-overflow-scrolling:touch}.snap-start{scroll-snap-align:start}.snap-center{scroll-snap-align:center}.snap-end{scroll-snap-align:end}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-max{z-index:9999}.rounded-none{border-radius:0}.rounded-sm{border-radius:4px}.rounded{border-radius:8px}.rounded-md{border-radius:12px}.rounded-lg{border-radius:16px}.rounded-xl{border-radius:24px}.rounded-2xl{border-radius:32px}.rounded-full{border-radius:9999px}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-md{box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f}.shadow-lg{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d}.shadow-xl{box-shadow:0 20px 25px #0000001a,0 10px 10px #0000000a}.shadow-2xl{box-shadow:0 25px 50px #00000040}.touch-target{min-width:44px;min-height:44px}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}.safe-all{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media print{.no-print{display:none!important}.print-only{display:block!important}body{font-size:12pt}a[href]:after{content:" (" attr(href) ")"}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}:root{--navbar-height: 76px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-cherish: #E1CCC7;--color-rose-gold: #BE9485;--color-nude-blush: #E1C2B7;--color-bridal-white: #F5EEE8;--color-primary: var(--color-rose-gold);--color-primary-dark: #A67868;--color-primary-light: var(--color-cherish);--color-accent: var(--color-nude-blush);--color-text: #3D2B25;--color-text-light: #6B4F48;--color-text-muted: #A08070;--color-background: var(--color-bridal-white);--color-background-alt: var(--color-cherish);--color-background-soft: #FAF6F3;--color-border: #D9C4BE;--color-success: #2D7A4F;--color-error: #C0392B;--color-warning: #D4A017;--color-navbar-bg: #2E1E18;--color-navbar-text: #F5EEE8;--color-navbar-border: rgba(255,255,255,.08);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px}html{scroll-behavior:smooth;overflow-x:hidden;width:100%}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background-color:var(--color-background);color:var(--color-text);overflow-x:hidden;width:100%;max-width:100%}#root{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}::selection{background-color:var(--color-primary);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c4c4c4;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-rose-gold)}*{scrollbar-width:thin;scrollbar-color:#c4c4c4 #f1f1f1}.page-content{padding-top:var(--navbar-height)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:all var(--transition-normal)}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit}.animate-on-hover{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.animate-on-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.toast-container{position:fixed;top:80px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px}.toast{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:400px;display:flex;align-items:center;gap:12px;animation:slideIn .3s ease-out;border-left:4px solid}.toast.success{border-left-color:#4caf50}.toast.error{border-left-color:#f44336}.toast.warning{border-left-color:#ff9800}.toast.info{border-left-color:#2196f3}.toast-icon{font-size:24px;flex-shrink:0}.toast.success .toast-icon{color:#4caf50}.toast.error .toast-icon{color:#f44336}.toast.warning .toast-icon{color:#ff9800}.toast.info .toast-icon{color:#2196f3}.toast-content{flex:1}.toast-title{font-weight:600;margin-bottom:4px;color:#333}.toast-message{font-size:14px;color:#666}.toast-close{background:none;border:none;color:#999;cursor:pointer;font-size:20px;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-close:hover{color:#333}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast.exit{animation:slideOut .3s ease-in forwards}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.cart-overlay{position:fixed;inset:0;background:#2a1f1a73;z-index:1999;animation:overlayIn .25s ease-out}.cart-overlay.closing{animation:overlayOut .35s ease-out forwards}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0}}.cart-sidebar{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;height:100dvh;background:#fff;z-index:2000;display:flex;flex-direction:column;box-shadow:-8px 0 32px #2a1f1a1f}.cart-sidebar.open{animation:slideIn .35s cubic-bezier(.25,.8,.25,1) forwards}.cart-sidebar.closing{animation:slideOut .35s cubic-bezier(.55,.05,.68,.19) forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;background:var(--bridal-white, #F5EEE8);border-bottom:1px solid #E1CCC7;flex-shrink:0}.cart-header h2{font-family:Georgia,serif;font-size:20px;font-weight:400;color:#2a1f1a;margin:0;letter-spacing:.3px}.cart-close{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;color:#9a8880;transition:color .2s,background .2s}.cart-close:hover{color:#2a1f1a;background:#be94851f}.cart-items{flex:1;overflow-y:auto;padding:20px;scrollbar-width:thin;scrollbar-color:#E1CCC7 transparent}.cart-items::-webkit-scrollbar{width:4px}.cart-items::-webkit-scrollbar-track{background:transparent}.cart-items::-webkit-scrollbar-thumb{background:#e1ccc7;border-radius:2px}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 32px;text-align:center;height:100%}.cart-empty-icon{margin-bottom:20px;color:#e1ccc7}.cart-empty-title{font-family:Georgia,serif;font-size:20px;font-weight:400;font-style:italic;color:#2a1f1a;margin:0 0 10px}.cart-empty-text{font-size:14px;color:#9a8880;line-height:1.65;margin:0 0 28px;max-width:240px}.cart-empty-button{background:#be9485;color:#fff;border:none;padding:12px 28px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,transform .15s;border-radius:8px;text-decoration:none;display:inline-block;letter-spacing:.2px}.cart-empty-button:hover{background:#a87d6e;transform:translateY(-1px)}.cart-item{display:flex;gap:14px;padding:16px;background:#fff;border:1px solid #eee7e4;border-radius:10px;margin-bottom:12px;position:relative;transition:border-color .2s,box-shadow .2s}.cart-item:hover{border-color:#e1ccc7;box-shadow:0 2px 10px #be94851a}.cart-item:last-child{margin-bottom:0}.cart-item-image{width:76px;height:76px;border-radius:7px;overflow:hidden;flex-shrink:0;background:var(--nude-blush, #E1C2B7)}.cart-item-image .lazy-image-container{width:100%;height:100%}.cart-item-image .lazy-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.cart-item:hover .cart-item-image img{transform:scale(1.04)}.cart-item-details{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.cart-item-details h3{font-family:Georgia,serif;font-size:15px;font-weight:400;font-style:italic;color:#2a1f1a;margin:0;line-height:1.35;padding-right:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cart-item-type{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff;background:#be9485;padding:3px 10px;border-radius:12px;white-space:nowrap}.cart-item-access{font-size:10px;color:#fff;padding:3px 9px;border-radius:12px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.cart-item-access.full{background:#9c6fae}.cart-item-access.ticket{background:#c48c3a}.cart-item-session,.cart-item-location{display:flex;align-items:center;gap:5px;font-size:12px;color:#9a8880;line-height:1.4}.cart-item-session svg,.cart-item-location svg{flex-shrink:0;opacity:.6;color:#be9485}.cart-item-location{font-size:11px;color:#b0a09a}.cart-item-discount-badge{display:inline-block;background:#dcfce7;color:#166534;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.3px;border:1px solid #bbf7d0}.cart-item-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.cart-item-quantity{display:flex;align-items:center;gap:8px;background:#fdf9f7;border:1px solid #E1CCC7;border-radius:7px;padding:4px 8px}.cart-item-quantity button{background:none;border:none;font-size:17px;color:#9a8880;cursor:pointer;padding:2px 6px;transition:color .2s,transform .15s;font-weight:600;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.cart-item-quantity button:hover:not(:disabled){color:#be9485;transform:scale(1.15)}.cart-item-quantity button:disabled{color:#d4c4bc;cursor:not-allowed;opacity:.5}.cart-item-quantity span{font-size:14px;font-weight:600;min-width:18px;text-align:center;color:#2a1f1a}.cart-item-price-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.cart-item-original-price{font-size:12px;color:#c4b4ae;text-decoration:line-through}.cart-item-price{font-size:15px;font-weight:700;color:#be9485;font-family:Georgia,serif}.cart-item-remove{position:absolute;top:10px;right:10px;background:none;border:none;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#d4c4bc;transition:color .2s,background .2s,transform .15s}.cart-item-remove:hover{color:#ef4444;background:#ef444414;transform:scale(1.1)}.cart-item-remove:active{transform:scale(.95)}.cart-footer{padding:20px 24px;background:var(--bridal-white, #F5EEE8);border-top:1px solid #E1CCC7;flex-shrink:0}.cart-totals{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #E1CCC7}.cart-subtotal{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#9a8880}.cart-discount-line{display:flex;justify-content:space-between;align-items:center;background:#f0faf0;border:1px solid #c5e8c5;border-radius:8px;padding:6px 10px}.cart-discount-label{font-size:12px;font-weight:600;color:#2d7d2d}.cart-thermomix-badge{font-size:12px;font-weight:700;color:#2d7d2d;letter-spacing:.3px}.cart-discount-value{font-size:13px;font-weight:700;color:#2d7d2d}.cart-totals .cart-total{margin-bottom:0;padding-bottom:0;border-bottom:none}.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #E1CCC7}.cart-total span:first-child{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#9a8880}.cart-total-amount{font-family:Georgia,serif;font-size:26px;font-weight:400;font-style:italic;color:#2a1f1a;letter-spacing:-.5px}.cart-checkout{width:100%;background:#be9485;color:#fff;border:none;padding:15px;font-size:15px;font-weight:600;font-family:inherit;letter-spacing:.3px;border-radius:9px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;position:relative;overflow:hidden}.cart-checkout:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translate(-100%);transition:transform .5s ease}.cart-checkout:hover:after{transform:translate(100%)}.cart-checkout:hover:not(:disabled){background:#a87d6e;transform:translateY(-1px);box-shadow:0 6px 20px #be948559}.cart-checkout:active:not(:disabled){transform:translateY(0);box-shadow:none}.cart-checkout:disabled{opacity:.55;cursor:not-allowed}@media(max-width:768px){.cart-sidebar{width:100%}.cart-header{padding:18px 16px}.cart-items{padding:14px}.cart-item{padding:13px;gap:11px}.cart-item-image{width:66px;height:66px}.cart-item-details h3{font-size:14px}.cart-footer{padding:16px}.cart-total-amount{font-size:22px}}@media(max-width:480px){.cart-header{padding:16px 14px}.cart-items{padding:12px}.cart-item{padding:11px;gap:10px}.cart-item-image{width:58px;height:58px}.cart-item-details h3{font-size:13px}.cart-item-type{font-size:9px;padding:2px 8px}.cart-item-price{font-size:14px}.cart-footer{padding:14px 12px}.cart-total-amount{font-size:20px}.cart-checkout{padding:13px;font-size:14px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.cart-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.cart-sidebar,.cart-overlay,.cart-item,.cart-item-image img,.cart-checkout{animation:none;transition:none}.cart-checkout:after{display:none}}.lazy-image-container{position:relative;width:100%;height:100%;overflow:hidden;background-color:#f0f0f0}.lazy-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-in-out,filter .3s ease-in-out}.lazy-image.loading{opacity:0;filter:blur(10px)}.lazy-image.loaded{opacity:1;filter:blur(0)}.lazy-image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.lazy-image-spinner{width:30px;height:30px;border:3px solid rgba(0,0,0,.1);border-top-color:var(--orange-primary, #ff6b35);border-radius:50%;animation:spin .8s linear infinite}.workshop-card-image-container .lazy-image-container{position:absolute;width:100%;height:100%}.loading-screen{display:flex;align-items:center;justify-content:center;background:#f5eee8}.loading-screen-fullscreen{position:fixed;inset:0;z-index:9999}.loading-screen-overlay{position:absolute;inset:0;background:#f5eee8f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.loading-screen-inline{min-height:200px;background:transparent}.loading-screen-content{display:flex;flex-direction:column;align-items:center;gap:28px;animation:mmReveal .7s cubic-bezier(.19,1,.22,1) both}@keyframes mmReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.loading-brand-visual{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-arc-wrapper{position:relative;width:110px;height:110px;display:flex;align-items:center;justify-content:center}.loading-arc-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.loading-track{fill:none;stroke:#e1c2b7;stroke-width:1.5}.loading-progress-arc{fill:none;stroke:#be9485;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314;animation:mmArcDraw 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes mmArcDraw{0%{stroke-dashoffset:314;opacity:.4}50%{stroke-dashoffset:60;opacity:1}to{stroke-dashoffset:314;opacity:.4}}.loading-monogram{position:relative;z-index:1;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;color:#be9485;letter-spacing:5px;-webkit-user-select:none;user-select:none}.loading-brand-info{display:flex;flex-direction:column;align-items:center;gap:6px}.loading-brand-name{font-family:Georgia,serif;font-size:20px;font-weight:400;color:#3d2b25;letter-spacing:2.5px}.loading-brand-tagline{font-size:11px;color:#a08070;letter-spacing:2.5px;text-transform:uppercase;font-family:sans-serif}.loading-separator{width:72px;height:1px;background:#e1c2b7;overflow:hidden;border-radius:1px}.loading-separator-line{height:100%;width:50%;background:linear-gradient(90deg,transparent,#BE9485,transparent);animation:mmSweep 2s ease-in-out infinite}@keyframes mmSweep{0%{transform:translate(-200%)}to{transform:translate(400%)}}.loading-message{font-family:Georgia,serif;font-size:13px;color:#a08070;margin:0;letter-spacing:.5px;animation:mmPulse 2.5s ease-in-out infinite}@keyframes mmPulse{0%,to{opacity:.6}50%{opacity:1}}@media(max-width:480px){.loading-arc-wrapper{width:90px;height:90px}.loading-monogram{font-size:22px}.loading-brand-name{font-size:17px}.loading-message{font-size:12px}}.spinner{border-radius:50%;border:3px solid;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card-skeleton{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.card-skeleton-image{width:100%;height:200px}.card-skeleton-content{padding:20px;display:flex;flex-direction:column;gap:12px}.card-skeleton-title{height:24px;width:80%}.card-skeleton-text{height:16px;width:100%}.card-skeleton-text.short{width:60%}.card-skeleton-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.card-skeleton-badge{height:28px;width:80px;border-radius:14px}.card-skeleton-price{height:24px;width:60px}.featured-skeleton{display:grid;grid-template-columns:1.5fr 1fr;gap:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #00000014}.featured-skeleton-image{height:350px}.featured-skeleton-content{padding:40px;display:flex;flex-direction:column;gap:16px;background:#f8f5f0}.featured-skeleton-badges{display:flex;gap:12px}.featured-skeleton-badges .badge{height:32px;width:80px;border-radius:16px}.featured-skeleton-title{height:36px;width:85%}.featured-skeleton-text{height:18px;width:100%}.featured-skeleton-text.medium{width:75%}.featured-skeleton-info{display:flex;gap:24px;margin-top:16px}.featured-skeleton-info .info-item{height:20px;width:100px}.text-skeleton{display:flex;flex-direction:column;gap:10px}.text-skeleton .text-line{height:16px;width:100%}.text-skeleton .text-line.short{width:65%}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1024px){.card-skeleton{min-height:auto}}@media(max-width:768px){.featured-skeleton{grid-template-columns:1fr}.featured-skeleton-image{height:200px}.featured-skeleton-content{padding:24px}.featured-skeleton-info{flex-wrap:wrap;gap:12px}.card-skeleton-image{height:160px}.card-skeleton-content{padding:16px;gap:10px}.card-skeleton-title{height:20px}.card-skeleton-text{height:14px}.card-skeleton-badge{height:24px;width:70px}.card-skeleton-price{height:20px;width:55px}}@media(max-width:592px){.card-skeleton-image{height:140px}.card-skeleton-content{padding:12px;gap:8px}.card-skeleton-title{height:16px}.card-skeleton-text{height:12px}.card-skeleton-badge{height:20px;width:60px;border-radius:10px}.card-skeleton-price{height:18px;width:50px}.featured-skeleton-image{height:180px}.featured-skeleton-content{padding:20px;gap:12px}.featured-skeleton-badges .badge{height:26px;width:65px}.featured-skeleton-title{height:28px}.featured-skeleton-text{height:14px}.featured-skeleton-info .info-item{height:16px;width:80px}}@media(max-width:480px){.card-skeleton{border-radius:8px}.card-skeleton-image{height:100px}.card-skeleton-content{padding:8px;gap:6px}.card-skeleton-title{height:13px;width:85%}.card-skeleton-text{height:10px}.card-skeleton-text.short{width:50%}.card-skeleton-footer{margin-top:4px}.card-skeleton-badge{height:16px;width:50px;border-radius:8px}.card-skeleton-price{height:15px;width:45px}.featured-skeleton-image{height:150px}.featured-skeleton-content{padding:16px;gap:10px}.featured-skeleton-badges{gap:8px}.featured-skeleton-badges .badge{height:22px;width:55px;border-radius:12px}.featured-skeleton-title{height:22px}.featured-skeleton-text{height:12px}.featured-skeleton-info{gap:10px}.featured-skeleton-info .info-item{height:14px;width:65px}.loading-logo{width:60px;height:60px}.loading-logo svg{width:48px;height:48px}.loading-logo-inner{font-size:12px}.loading-message{font-size:14px}}@media(max-width:420px){.card-skeleton-image{height:90px}.card-skeleton-content{padding:6px;gap:5px}.card-skeleton-title{height:12px}.card-skeleton-text{height:8px}.card-skeleton-badge{height:14px;width:45px}.card-skeleton-price{height:13px;width:40px}.featured-skeleton-image{height:130px}.featured-skeleton-content{padding:12px;gap:8px}.featured-skeleton-badges .badge{height:18px;width:48px}.featured-skeleton-title{height:18px}.featured-skeleton-text{height:10px}.featured-skeleton-info .info-item{height:12px;width:55px}}@media(max-width:354px){.card-skeleton-image{height:80px}.card-skeleton-content{padding:5px;gap:4px}.card-skeleton-title{height:11px}.card-skeleton-text{height:7px}.card-skeleton-badge{height:12px;width:40px}.card-skeleton-price{height:12px;width:35px}}@media(prefers-reduced-motion:reduce){.loading-logo svg,.loading-circle-progress,.loading-dots span,.loading-message,.spinner,.skeleton{animation:none}.skeleton{background:#f0f0f0}}.whatsapp-float{position:fixed;bottom:28px;right:28px;z-index:999;width:56px;height:56px;border-radius:50%;background-color:#25d366;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #25d36666;transition:all .3s cubic-bezier(.4,0,.2,1);animation:waBounceIn .6s cubic-bezier(.19,1,.22,1) 1s both}.whatsapp-float:hover{transform:scale(1.12) translateY(-2px);box-shadow:0 8px 28px #25d36680}.whatsapp-float:active{transform:scale(.96)}.whatsapp-icon{width:30px;height:30px;flex-shrink:0}.whatsapp-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#1a1a1a;color:#fff;font-size:13px;font-weight:600;white-space:nowrap;padding:6px 12px;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .2s ease}.whatsapp-tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#1a1a1a}.whatsapp-float:hover .whatsapp-tooltip{opacity:1}@keyframes waBounceIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media(max-width:480px){.whatsapp-float{bottom:20px;right:20px;width:50px;height:50px}.whatsapp-icon{width:26px;height:26px}.whatsapp-tooltip{display:none}}
