@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--color-primary:#2d4c3b;--color-primary-light:#3a5b49;--color-primary-dark:#1e3528;--color-accent:#d4af37;--color-accent-hover:#f0cc59;--color-background:#fdfbf7;--color-surface:#fff;--color-text:#2c2c2c;--color-text-light:#666;--color-border:#e5e0d8;--color-error:#b00020;--font-body:"Inter", sans-serif;--font-heading:"Playfair Display", serif;--shadow-sm:0 2px 8px #2d4c3b14;--shadow-md:0 4px 16px #2d4c3b1f;--shadow-lg:0 12px 32px #2d4c3b26;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--transition:all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary-dark);margin-bottom:1rem;font-weight:600}a{color:var(--color-primary);transition:var(--transition);text-decoration:none}a:hover{color:var(--color-accent)}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm);transition:var(--transition);box-shadow:var(--shadow-sm);padding:.8rem 2rem;font-size:1rem;font-weight:500}.btn-primary:hover{background-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);transition:var(--transition);background-color:#0000;padding:.8rem 2rem;font-size:1rem;font-weight:500}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:6rem 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s ease-out forwards fadeIn}.react-calendar{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:100%;font-family:var(--font-body);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1rem}.react-calendar__navigation button{min-width:44px;color:var(--color-primary);background:0 0;font-size:1.2rem;font-weight:600}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:var(--color-background);border-radius:var(--radius-sm)}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;color:var(--color-text-light);font-size:.8em;font-weight:600}.react-calendar__tile{text-align:center;max-width:100%;transition:var(--transition);border-radius:var(--radius-sm);background:0 0;padding:1em .5em;font-weight:500;line-height:16px}.react-calendar__tile:disabled{color:#ababab;cursor:not-allowed;background-color:#f5f5f5;text-decoration:line-through}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{color:var(--color-primary);background-color:#2d4c3b1a}.react-calendar__tile--now{background:var(--color-background);border:1px solid var(--color-accent)}.react-calendar__tile--active{background:var(--color-primary)!important;color:#fff!important}.react-calendar__tile--rangeStart,.react-calendar__tile--rangeEnd{background:var(--color-primary)!important;color:#fff!important}.react-calendar__tile--rangeBetween{color:var(--color-text)!important;background:#2d4c3b33!important}.input-group{margin-bottom:1.5rem}.input-group label{color:var(--color-primary-dark);margin-bottom:.5rem;font-weight:500;display:block}.input-group input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);transition:var(--transition);padding:.8rem 1rem;font-size:1rem}.input-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2d4c3b33}.gallery-img:hover{transform:scale(1.05)}.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.navbar{z-index:1000;height:80px;transition:var(--transition);background:0 0;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:var(--color-surface);box-shadow:var(--shadow-sm);height:70px}.nav-container{justify-content:space-between;align-items:center;width:100%;display:flex}.logo{font-family:var(--font-heading);color:#fff;cursor:pointer;transition:var(--transition);font-size:1.8rem;font-weight:700}.navbar.scrolled .logo{color:var(--color-primary-dark)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links button{color:#fff;cursor:pointer;transition:var(--transition);background:0 0;border:none;font-size:1rem;font-weight:500}.navbar.scrolled .nav-links button{color:var(--color-text)}.nav-links button:hover{color:var(--color-accent)}.nav-links .nav-book-btn{background-color:var(--color-accent);color:var(--color-primary-dark);box-shadow:none;border-radius:50px;padding:.6rem 1.5rem}.nav-links .nav-book-btn:hover{background-color:var(--color-accent-hover);color:var(--color-primary-dark);transform:translateY(-2px)}@media (width<=768px){.nav-links button:not(.nav-book-btn){display:none}}.hero{text-align:center;background-image:url(/assets/farmhouse_pool-5sT3BiRD.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;height:80vh;min-height:600px;display:flex;position:relative}.hero-overlay{background:linear-gradient(#1e352880,#1e3528cc);position:absolute;inset:0}.hero-content{z-index:1;color:#fff;max-width:800px;position:relative}.hero-title{color:#fff;text-shadow:0 4px 12px #0000004d;letter-spacing:-.02em;margin-bottom:1rem;font-size:4.5rem}.hero-subtitle{text-shadow:0 2px 8px #0000004d;margin-bottom:2.5rem;font-size:1.5rem;font-weight:300}.hero-btn{border-radius:50px;padding:1rem 3rem;font-size:1.2rem}.booking-widget{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10;max-width:1000px;margin:-80px auto 4rem;position:relative;overflow:hidden}.widget-header{background-color:var(--color-primary-dark);color:#fff;text-align:center;padding:2rem}.widget-header h2{color:var(--color-accent);margin-bottom:.5rem}.widget-body{grid-template-columns:1fr 1fr;gap:0;display:grid}.calendar-section{border-right:1px solid var(--color-border);background-color:#faf9f6;padding:2rem}.calendar-wrapper{margin-bottom:1.5rem}.calendar-legend{color:var(--color-text-light);justify-content:center;gap:1.5rem;font-size:.9rem;display:flex}.legend-item{align-items:center;gap:.5rem;display:flex}.dot{border-radius:50%;width:12px;height:12px;display:inline-block}.dot-available{border:1px solid var(--color-border);background-color:#0000}.dot-booked{background-color:#ababab;position:relative}.dot-booked:after{content:"";background-color:#fff;width:80%;height:2px;position:absolute;top:50%;left:10%;transform:translateY(-50%)}.dot-selected{background-color:var(--color-primary)}.form-section{padding:2rem}.date-summary{background:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;display:flex}.date-box{flex-direction:column;display:flex}.date-box .label{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem;font-size:.85rem}.date-box strong{color:var(--color-primary-dark);font-size:1.1rem}.date-arrow{color:var(--color-accent)}.promo-section{margin-bottom:2rem}.promo-input-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;align-items:center;padding-left:1rem;display:flex}.promo-icon{color:var(--color-text-light)}.promo-input-wrapper input{background:0 0;border:none;outline:none;flex:1;padding:.8rem;font-size:1rem}.promo-input-wrapper .btn-secondary{border:none;border-left:1px solid var(--color-border);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.promo-message{margin-top:.5rem;font-size:.9rem}.promo-message.success{color:var(--color-primary)}.promo-message.error{color:var(--color-error)}.price-summary{border-top:1px solid var(--color-border);margin-bottom:2rem;padding-top:1.5rem}.price-row{color:var(--color-text-light);justify-content:space-between;margin-bottom:.8rem;display:flex}.discount-row{color:var(--color-primary);font-weight:500}.total-row{border-top:1px dashed var(--color-border);color:var(--color-primary-dark);margin-top:1rem;padding-top:1rem;font-size:1.25rem;font-weight:600}.submit-btn{width:100%;padding:1.2rem;font-size:1.1rem}.submit-btn:disabled{cursor:not-allowed;box-shadow:none;background-color:#ccc;transform:none}.success-state{text-align:center;padding:4rem 2rem}.success-icon{color:var(--color-primary);margin-bottom:1.5rem}.success-state h2{margin-bottom:1rem;font-size:2.5rem}@media (width<=768px){.widget-body{grid-template-columns:1fr}.calendar-section{border-right:none;border-bottom:1px solid var(--color-border)}}
