@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--color-primary-red: #a11d21;--color-primary-green: #143e26;--color-gold: #c79e56;--color-gold-light: #e5cc98;--color-background: #fcfbf9;--color-text-dark: #333333;--color-text-light: #ffffff;--font-primary: "Montserrat", sans-serif;--font-secondary: "Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--color-background);color:var(--color-text-dark);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600}.title-script{font-family:var(--font-secondary);font-style:italic}button{cursor:pointer;border:none;font-family:var(--font-primary)}a{text-decoration:none;color:inherit}.text-red{color:var(--color-primary-red)}.text-green{color:var(--color-primary-green)}.text-gold{color:var(--color-gold)}.bg-red{background-color:var(--color-primary-red)}.bg-green{background-color:var(--color-primary-green)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn-primary{background-color:var(--color-primary-red);color:#fff;padding:10px 24px;border-radius:4px;font-weight:500;transition:all .3s ease}.btn-primary:hover{background-color:#0f2d1c}.btn-red{background-color:var(--color-primary-red);color:#fff;padding:12px 30px;border-radius:4px;font-weight:600;transition:all .3s ease}.btn-red:hover{background-color:#851b1b}.btn-outline{background-color:transparent;color:var(--color-text-dark);font-weight:600;display:flex;align-items:center;gap:8px}.btn-outline:hover{color:var(--color-primary-red)}.input-field{width:100%;padding:12px;border:none;background-color:#fff;margin-top:5px;font-family:var(--font-primary)}.input-field:focus{outline:2px solid var(--color-gold)}.hero-section{background-image:var(--hero-bg);background-size:cover;background-position:center;height:60vh;display:flex;align-items:center;justify-content:flex-end;padding-right:10%;color:#fff}@media (max-width: 768px){.hero-section{background-image:var(--hero-mobile-bg)!important;height:50vh;justify-content:center;padding-right:0}.hero-text-container{text-align:center!important}.hero-text-container h1{font-size:3rem!important}.hero-text-container h3{font-size:1.2rem!important}.welcome-card{flex-direction:column!important;padding:20px!important}.welcome-card-text{padding-right:0!important;margin-bottom:30px!important}.photo-container{height:250px!important;display:flex;justify-content:center;width:100%}.photo-container>div{position:relative!important;right:auto!important;top:auto!important}}.welcome-section{position:relative;max-width:1200px;margin:120px auto;padding:0 20px}.welcome-card-scrapbook{background-color:#062b16;color:#fff;padding:80px 120px 80px 60px;border-radius:4px;width:78%;position:relative;z-index:3;box-shadow:0 20px 40px #0003}.welcome-card-text{max-width:440px;position:relative;z-index:5}.welcome-photos{position:absolute;right:-2%;top:50%;transform:translateY(-50%);width:55%;z-index:4;pointer-events:none}.welcome-photos img{width:100%;display:block;filter:drop-shadow(0 15px 35px rgba(0,0,0,.3))}.welcome-layer{position:absolute;top:-60px;left:-40px;width:calc(100% + 80px);height:calc(100% + 120px);pointer-events:none;z-index:2}.welcome-layer img{width:100%;height:100%;object-fit:contain;opacity:.8}.welcome-confetti{position:absolute;bottom:-20px;left:0;width:100%;pointer-events:none;z-index:1}@media (max-width: 1100px){.welcome-card-text{max-width:380px}}@media (max-width: 992px){.welcome-card-scrapbook{width:85%;padding:60px 80px 60px 40px}.welcome-photos{width:60%;right:-2%}.welcome-card-text{max-width:320px}}@media (max-width: 768px){.welcome-section{margin:40px auto;display:flex;flex-direction:column;align-items:center}.welcome-card-scrapbook{width:100%;padding:40px 20px;text-align:center;box-shadow:none}.welcome-card-text{max-width:100%}.welcome-photos{position:relative;top:auto;right:auto;transform:none;width:100%;margin-top:-20px;padding-bottom:20px}.welcome-layer,.welcome-confetti{display:none}}.donation-card{background-image:var(--bg-desktop);background-size:100% 100%;background-position:center;background-repeat:no-repeat;padding:80px 60px;border-radius:8px;color:#fff;max-width:1200px;width:100%;min-height:1000px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}@media (max-width: 768px){.donation-card{background-image:var(--bg-mobile)!important;background-size:100% 100%!important;min-height:auto!important;padding:103px 50px 134px!important;margin-bottom:40px}.donation-card h3{font-size:1.1rem!important;margin-top:10px!important}.donation-card .description{font-size:12px!important;margin-bottom:10px!important}.donation-card .badge-container{width:90px!important;height:90px!important;font-size:18px!important}.donation-card h4{font-size:1rem!important;margin-bottom:15px!important}}@media (min-width: 769px){.header-site-button{position:absolute;right:40px}}@media (max-width: 768px){.main-header{flex-direction:row!important;justify-content:center!important;padding:15px!important}.header-site-button{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:auto;font-size:12px!important;padding:6px 15px!important}}.resort-selection-section{background-size:cover;background-position:center;padding:60px 20px;text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.resort-title{font-size:2rem;margin-bottom:40px}.resorts-container{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.resort-option{width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .3s;padding:10px;text-align:center;font-size:15px;font-weight:500;box-shadow:0 4px 15px #0000001a}.resort-option img{max-width:100%;max-height:100%;object-fit:contain}@media (max-width: 768px){.resort-selection-section{padding:40px 15px;min-height:340px}.resort-title{font-size:1.6rem;margin-bottom:25px}.resorts-container{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:320px;margin:0 auto}.resort-option{width:100%;height:auto;aspect-ratio:1 / 1;padding:10px}}@media (max-width: 360px){.resort-title{font-size:1.4rem;margin-bottom:20px}.resorts-container{gap:12px;max-width:270px}}.step-layout-container{display:flex;flex-wrap:wrap;gap:40px}.step-content-side{flex:1;min-width:300px}.step-preview-side{flex:1;display:flex;justify-content:center;align-items:center;min-width:300px}.step-preview-side img{max-height:500px;width:auto;max-width:100%}.tree-preview-container{display:flex;justify-content:center;align-items:center;position:relative;width:100%}.tree-preview-image{width:auto;max-width:100%}@media (max-width: 768px){.step-layout-container{flex-direction:column;gap:30px}.step-content-side{order:2}.step-preview-side{order:1}.step-preview-side img{max-height:320px}.tree-preview-container{min-height:320px!important;height:320px!important}.tree-preview-image{max-height:320px!important}}.qty-btn{width:26px;height:26px;border-radius:50%;border:1px solid #ccc;display:flex;align-items:center;justify-content:center;background-color:#fff;color:#333;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:700}.qty-btn:hover{background-color:var(--color-primary-red);color:#fff;border-color:var(--color-primary-red)}.qty-display{padding:0 8px;min-width:20px;text-align:center;font-weight:600;font-size:14px}.cart-divider{border-top:1px solid #eee;margin:12px 0}.checkout-total{text-align:right}@media (max-width: 768px){.checkout-total{text-align:center}}.gracias-back-btn{color:red!important;font-weight:600;font-size:.95rem;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;transition:opacity .2s ease;text-shadow:0 1px 4px rgba(0,0,0,.5)}.gracias-back-btn:hover{opacity:.75;color:#fff!important}@media (max-width: 768px){.gracias-page{background-image:var(--bg-gracias-mobile)!important;background-size:cover!important;background-position:center center!important;background-color:transparent!important;min-height:100vh!important;padding-top:40px!important}.gracias-page img{width:70%!important}}
