*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2d5016;--primary-dark: #1a3009;--primary-light: #3d6b1f;--secondary-color: #6b8e23;--accent-color: #8b6914;--accent-light: #c4941f;--brown-dark: #3e2723;--brown-medium: #5d4037;--brown-light: #8d6e63;--green-sage: #87a96b;--text-dark: #1a1a1a;--text-gray: #666;--text-light: #999;--bg-light: #f5f3f0;--bg-cream: #faf8f5;--bg-white: #ffffff;--border-color: #d4cfc7;--shadow-sm: 0 2px 4px rgba(61, 48, 38, .1);--shadow-md: 0 4px 6px rgba(61, 48, 38, .1);--shadow-lg: 0 10px 25px rgba(61, 48, 38, .15);--transition: all .3s ease}body{font-family:Crimson Text,Georgia,Times New Roman,serif;line-height:1.7;color:var(--text-dark);background-color:var(--bg-white)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{background:#f3ebd4;box-shadow:var(--shadow-sm);position:relative;z-index:1000;border-bottom:1px solid var(--border-color)}.nav-content{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem 0}.logo{display:flex;align-items:center}.logo img{height:180px;width:auto;-o-object-fit:contain;object-fit:contain}.logo h1{font-size:1.75rem;color:var(--primary-color);font-weight:700;margin-bottom:0}.logo-subtitle{font-size:.875rem;color:var(--text-gray);margin:0}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}.nav-menu a{text-decoration:none;color:var(--text-dark);font-family:Cinzel,serif;font-weight:500;transition:var(--transition);font-size:1rem;letter-spacing:.5px}.nav-menu a:hover{color:var(--primary-color)}.btn-primary-nav{background:var(--primary-color);color:#fff!important;padding:.5rem 1.25rem;border-radius:6px;transition:var(--transition);font-family:Cinzel,serif;font-size:1rem;letter-spacing:.5px}.btn-primary-nav:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px;position:absolute;top:1rem;right:1rem}.mobile-menu-toggle span{width:25px;height:3px;background:var(--text-dark);border-radius:2px;transition:var(--transition)}.hero{height:600px;position:relative;background:linear-gradient(135deg,var(--brown-dark) 0%,var(--primary-dark) 100%);overflow:hidden}.hero-slider{height:100%;position:relative}.hero-slide{height:100%;position:absolute;top:0;left:0;width:100%;opacity:0;transition:opacity .8s ease-in-out;background-size:cover;background-position:center;background-repeat:no-repeat}.hero-slide.active{opacity:1;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2d5016bf,#3e2723d9);z-index:2}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:#f5f3f0f2;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--brown-dark);box-shadow:var(--shadow-md)}.slider-nav:hover{background:var(--bg-cream);transform:translateY(-50%) scale(1.1);box-shadow:var(--shadow-lg);color:var(--primary-color)}.slider-nav.prev{left:20px}.slider-nav.next{right:20px}.slider-indicators{position:absolute;bottom:90px;left:50%;transform:translate(-50%);z-index:3;display:flex;gap:10px}.slider-indicator{width:12px;height:12px;border-radius:50%;background:#f5f3f080;border:2px solid rgba(245,243,240,.9);cursor:pointer;transition:var(--transition)}.slider-indicator:hover{background:#f5f3f0cc;transform:scale(1.2)}.slider-indicator.active{background:var(--bg-cream);border-color:var(--accent-light);transform:scale(1.3)}.hero-content{position:relative;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:5}.hero-title{font-family:Cinzel,serif;font-size:3.5rem;color:#fff;font-weight:600;margin-bottom:1rem;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.2);letter-spacing:1px}.hero-subtitle{font-size:1.35rem;color:#fffffff2;margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto}.hero-features{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}.feature-pill{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:500;font-size:1rem;border:1px solid rgba(255,255,255,.3)}.btn-hero{display:inline-block;background:#fff;color:var(--primary-color);padding:1rem 3rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.1rem;transition:var(--transition);box-shadow:var(--shadow-lg)}.btn-hero:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0000004d}.booking-widget-bar{background:#fff;box-shadow:var(--shadow-lg);position:relative;margin-top:-50px;z-index:100;border-radius:12px;overflow:hidden}.booking-widget-bar .container{padding:0}.booking-quick-form{display:flex;gap:0;align-items:flex-end;padding:1.5rem 2rem}.booking-quick-form .form-group{flex:1;padding:0 1rem;border-right:1px solid var(--border-color)}.booking-quick-form .form-group:last-of-type{border-right:none}.booking-quick-form label{display:block;font-size:.875rem;font-weight:600;color:var(--text-gray);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.booking-quick-form input,.booking-quick-form select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;transition:var(--transition)}.booking-quick-form input:focus,.booking-quick-form select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0066cc1a}.btn-search{background:var(--accent-color);color:#fff;border:none;padding:1rem 2.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;margin-left:1rem}.btn-search:hover{background:var(--brown-medium);transform:translateY(-2px);box-shadow:var(--shadow-md)}section{padding:5rem 0}.section-label{display:inline-block;color:var(--primary-color);font-family:Cinzel,serif;font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:.8rem;margin-bottom:1rem}section h2{font-family:Cinzel,serif;font-size:2.5rem;color:var(--text-dark);margin-bottom:1.5rem;font-weight:600;letter-spacing:.5px}.lead{font-size:1.2rem;color:var(--text-gray);line-height:1.8;margin-bottom:1.5rem}.section-overview{background:var(--bg-cream)}.overview-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-top:2rem}.overview-content p{color:var(--text-gray);margin-bottom:1.5rem;line-height:1.8}.price-banner{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));color:#fff;padding:2rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin:2rem 0;box-shadow:var(--shadow-md)}.price-label{display:block;font-size:.95rem;opacity:.9;margin-bottom:.5rem}.price-amount{font-size:3rem;font-weight:700}.btn-primary{background:#fff;color:var(--primary-color);padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:var(--transition);display:inline-block}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.key-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}.key-info-item{display:flex;gap:1rem;align-items:flex-start}.key-info-icon{width:50px;height:50px;background:var(--accent-light);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.key-info-item h4{font-family:Cinzel,serif;margin-bottom:.25rem;color:var(--text-dark);font-size:1.1rem;font-weight:600}.key-info-item p{margin:0;font-size:.95rem;color:var(--text-gray)}.sidebar-card{background:var(--bg-light);padding:2rem;border-radius:12px;border:1px solid var(--border-color);position:sticky;top:100px}.sidebar-card h3{font-family:Cinzel,serif;margin-bottom:1.5rem;color:var(--text-dark);font-size:1.5rem;font-weight:600}.highlights-list{list-style:none}.highlights-list li{padding:.75rem 0;border-bottom:1px solid var(--border-color);color:var(--text-gray);font-size:1rem}.highlights-list li:last-child{border-bottom:none}.section-gallery{background:var(--bg-white)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:3rem}.gallery-item{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:4 / 3;cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition)}.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:var(--transition)}.gallery-item:hover img{transform:scale(1.1)}.lightbox{display:none;position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background:#000000f2;align-items:center;justify-content:center}.lightbox.active{display:flex}.lightbox-content{position:relative;max-width:90%;max-height:90%;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-content img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:20px;right:20px;background:var(--bg-cream);border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:10000;color:var(--brown-dark)}.lightbox-close:hover{background:var(--bg-light);transform:rotate(90deg);color:var(--primary-color)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#f5f3f0f2;border:none;width:60px;height:60px;border-radius:50%;font-size:2rem;cursor:pointer;transition:var(--transition);color:var(--brown-dark);display:flex;align-items:center;justify-content:center}.lightbox-nav:hover{background:var(--bg-cream);transform:translateY(-50%) scale(1.1);color:var(--primary-color)}.lightbox-nav.lightbox-prev{left:30px}.lightbox-nav.lightbox-next{right:30px}.lightbox-counter{position:absolute;bottom:30px;left:50%;transform:translate(-50%);background:#f5f3f0f2;padding:.75rem 1.5rem;border-radius:50px;color:var(--brown-dark);font-weight:600}.section-amenities{background:var(--bg-light)}.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.amenity-card{background:#fff;padding:2rem;border-radius:12px;text-align:center;transition:var(--transition);border:1px solid var(--border-color)}.amenity-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.amenity-icon{font-size:3rem;margin-bottom:1rem}.amenity-card h3{font-family:Cinzel,serif;font-size:1.3rem;margin-bottom:.75rem;color:var(--text-dark);font-weight:600}.amenity-card p{color:var(--text-gray);font-size:.95rem;line-height:1.6}.policies-section{margin-top:4rem;background:#fff;padding:2.5rem;border-radius:12px;border:2px solid var(--border-color)}.policies-section h3{margin-bottom:1.5rem;font-size:1.75rem}.policies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.policy-item{display:flex;align-items:center;gap:1rem;font-weight:500}.policy-icon{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.policy-icon.allowed{background:#d4edda;color:var(--primary-dark)}.policy-icon.not-allowed{background:#f8d7da;color:var(--brown-dark)}.section-location{background:var(--bg-cream)}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}.location-features{margin:2rem 0}.location-feature{margin-bottom:2rem}.location-feature h4{font-size:1.2rem;margin-bottom:.5rem;color:var(--text-dark)}.location-feature p{color:var(--text-gray);line-height:1.7}.location-content h3{margin:2.5rem 0 1.5rem;font-size:1.75rem}.activities-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.activity-tag{background:var(--secondary-color);color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:500;font-size:.95rem}.location-map{background:var(--bg-light);border-radius:12px;overflow:hidden;border:2px solid var(--border-color);min-height:500px;position:relative}.location-map iframe{display:block;min-height:500px}.section-booking{background:var(--bg-light)}.booking-container{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-top:2rem}.booking-form-section{background:#fff;padding:3rem;border-radius:12px;box-shadow:var(--shadow-md)}.booking-form{margin-top:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group-full{grid-column:1 / -1}.booking-form label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;padding:.875rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;transition:var(--transition)}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0066cc1a}.checkbox-label{display:flex!important;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin-top:.25rem;cursor:pointer}.btn-submit{width:100%;background:var(--accent-color);color:#fff;border:none;padding:1.25rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);margin-top:1rem}.btn-submit:hover{background:var(--brown-medium);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.form-note{text-align:center;color:var(--text-gray);font-size:.9rem;margin-top:1rem}.booking-summary-section{display:flex;flex-direction:column;gap:2rem}.booking-summary-card,.contact-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);position:sticky;top:100px}.booking-summary-card h3{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;color:var(--text-gray)}.summary-item strong{color:var(--text-dark)}.booking-summary-card hr{border:none;border-top:2px solid var(--border-color);margin:1.5rem 0}.summary-price{text-align:center;padding:1.5rem;background:var(--bg-light);border-radius:8px;margin:1rem 0}.summary-price span{display:block;color:var(--text-gray);font-size:.9rem}.summary-price strong{display:block;font-size:2.5rem;color:var(--accent-color);margin:.5rem 0}.summary-price small{color:var(--text-gray)}.summary-includes h4{margin:1.5rem 0 1rem;font-size:1.1rem}.summary-includes ul{list-style:none}.summary-includes li{padding:.5rem 0;color:var(--text-gray)}.contact-card h4{margin-bottom:1rem}.contact-card p{color:var(--text-gray);margin-bottom:1.5rem;line-height:1.6}.contact-link{display:block;color:var(--primary-color);text-decoration:none;padding:.75rem;margin-bottom:.5rem;background:var(--bg-light);border-radius:6px;transition:var(--transition);font-weight:500}.contact-link:hover{background:var(--secondary-color);color:#fff}.section-reviews{background:var(--bg-white)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.review-card{background:var(--bg-light);padding:2rem;border-radius:12px;border:2px solid var(--border-color)}.review-rating{color:var(--accent-light);font-size:1.5rem;margin-bottom:1rem}.review-text{color:var(--text-gray);line-height:1.7;margin-bottom:1rem;font-style:italic}.review-author{color:var(--text-dark);font-weight:600}.footer{background:var(--brown-dark);color:#fffc;padding:3rem 0 1.5rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-logo{height:60px;width:auto;-o-object-fit:contain;object-fit:contain;margin-bottom:1rem;filter:brightness(0) invert(1)}.footer-section h4{font-family:Cinzel,serif;color:#fff;margin-bottom:1rem;font-size:1.2rem;font-weight:600;letter-spacing:.5px}.footer-section p{margin-bottom:.5rem;line-height:1.6}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#fffc;text-decoration:none;transition:var(--transition)}.footer-section a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom a{color:#fffc;text-decoration:none}.footer-bottom a:hover{color:#fff}.admin-link{display:inline-block;margin-left:1rem;opacity:.5;font-size:1.2rem;transition:all .3s ease;text-decoration:none;color:#fff9;padding:.5rem;border-radius:4px;background:#ffffff0d}.admin-link:hover{opacity:1;color:#fff;background:#ffffff1a;transform:scale(1.1)}@media(max-width:992px){.logo img{height:135px}.nav-content{position:relative}.nav-menu{display:none;flex-direction:column;width:100%;gap:.5rem;padding:1rem 0}.nav-menu.active,.mobile-menu-toggle{display:flex}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.booking-widget-bar{border-radius:0;margin-top:0}.booking-widget-bar .container{padding:0;max-width:100%}.booking-quick-form{flex-direction:column;gap:0;padding:1.5rem 1rem}.booking-quick-form .form-group{border-right:none;border-bottom:1px solid var(--border-color);padding:0 0 1rem;margin-bottom:1rem;width:100%}.booking-quick-form .form-group:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.booking-quick-form label{font-size:.85rem;margin-bottom:.5rem}.booking-quick-form input,.booking-quick-form select{width:100%;padding:1rem;font-size:16px;border-radius:8px;border:2px solid var(--border-color)}.booking-quick-form input:focus,.booking-quick-form select:focus{border-color:var(--primary-color)}.btn-search{margin-left:0;width:100%;padding:1rem;font-size:1rem;border-radius:8px;margin-top:1rem}.overview-grid,.location-grid,.booking-container{grid-template-columns:1fr}.sidebar-card{position:static}.key-info-grid{grid-template-columns:1fr}section h2{font-size:2rem}}@media(max-width:768px){.hero{height:500px;min-height:500px}.hero-content{padding:2rem 1rem}.hero-content .container{padding:0 1rem}.hero-title{font-size:2rem;line-height:1.3;margin-bottom:.75rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem;padding:0 .5rem}.hero-features{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.feature-pill{font-size:.85rem;padding:.5rem 1rem}.btn-hero{padding:.75rem 1.5rem;font-size:.95rem}.slider-nav{width:40px;height:40px;font-size:1.2rem}.slider-nav.prev{left:10px}.slider-nav.next{right:10px}.slider-indicators{bottom:20px}.slider-indicator{width:10px;height:10px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.lightbox-close{top:10px;right:10px;width:40px;height:40px;font-size:1.5rem}.lightbox-nav{width:50px;height:50px;font-size:1.5rem}.lightbox-nav.lightbox-prev{left:10px}.lightbox-nav.lightbox-next{right:10px}.lightbox-counter{bottom:20px;padding:.5rem 1rem;font-size:.9rem}.amenities-grid{grid-template-columns:1fr}.activities-grid{justify-content:center}.form-row{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;text-align:center}.booking-summary-section{position:static}}@media(max-width:480px){.logo img{height:105px}.hero{height:450px;min-height:450px}.hero-title{font-size:1.5rem;line-height:1.3}.hero-subtitle{font-size:.9rem;padding:0 .25rem}.hero-features{gap:.4rem}.feature-pill{font-size:.75rem;padding:.4rem .8rem}.btn-hero{padding:.65rem 1.25rem;font-size:.9rem}section{padding:3rem 0}section h2{font-size:1.75rem}.booking-widget-bar{margin-top:0;border-radius:0}.availability-calendar-container{padding:.75rem;border-radius:0}.calendar-header h3{font-size:1rem}.calendar-nav-btn{width:35px;height:35px;font-size:1rem}.calendar-weekdays{font-size:.6rem}.calendar-weekdays div{padding:.4rem 0}.calendar-day{min-height:60px;padding:.2rem .05rem}.calendar-day .day-number{font-size:.65rem;margin-bottom:.1rem}.availability-block{font-size:.45rem;padding:1px;height:18px;min-height:18px;max-height:18px}.calendar-legend{font-size:.75rem;gap:.5rem}.legend-color{width:16px;height:16px}.booking-form-section,.booking-summary-card,.contact-card{padding:1rem}}.availability-calendar-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.availability-calendar-container h3{font-family:Cinzel,serif;color:var(--primary-color);margin-bottom:.5rem}#availability-calendar{width:100%;max-width:900px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.calendar-header h3{font-family:Cinzel,serif;font-size:1.5rem;color:var(--primary-color);margin:0}.calendar-nav-btn{background:var(--primary-color);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.calendar-nav-btn:hover{background:var(--primary-dark);transform:scale(1.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;font-family:Cinzel,serif;font-weight:600;color:var(--primary-color);text-align:center}.calendar-weekdays div{padding:.75rem 0;background:var(--bg-cream);border-radius:4px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:110px;padding:.5rem .25rem;background:#fff;border:1px solid var(--border-color);border-radius:4px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;overflow:hidden}.calendar-day.empty{background:transparent;border:none}.calendar-day.past{opacity:.4;background:#f9f9f9}.calendar-day.other-month{background:#fafafa;opacity:.6}.calendar-day.other-month .day-number{color:var(--text-light);font-weight:400}.calendar-day.other-month .availability-block{opacity:.7}.calendar-day .day-number{font-weight:600;color:var(--text-dark);font-size:.85rem;margin-bottom:.25rem;padding:0 .25rem;z-index:1}.day-blocks{display:flex;flex-direction:column;gap:1px;width:100%;flex:1}.availability-block{font-size:.65rem;padding:4px;line-height:1.2;height:28px;min-height:28px;max-height:28px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:600;border-top:1px solid;border-bottom:1px solid}.availability-block.empty{background:transparent;border:none;border-top:1px solid transparent;border-bottom:1px solid transparent}.availability-block.clickable{cursor:pointer;transition:var(--transition)}.availability-block.clickable:hover{transform:scale(1.05);z-index:10;box-shadow:var(--shadow-md)}.availability-block{width:100%}.availability-block.weekend{background:#cfe2ff;border-color:#084298;color:#084298}.availability-block.weekend.start{border-left:2px solid #084298}.availability-block.weekend.end{border-right:2px solid #084298}.availability-block.midweek{background:#e0cffc;border-color:#6f42c1;color:#6f42c1}.availability-block.midweek.start{border-left:2px solid #6f42c1}.availability-block.midweek.end{border-right:2px solid #6f42c1}.availability-block.fullweek{background:#d4edda;border-color:#155724;color:#155724}.availability-block.fullweek.start{border-left:2px solid #155724}.availability-block.fullweek.end{border-right:2px solid #155724}.calendar-legend{display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-gray)}.legend-color{width:24px;height:24px;border-radius:4px;border:2px solid var(--primary-color)}.legend-color.weekend{background:#9ec5fe}.legend-color.midweek{background:#c29ffa}.legend-color.fullweek{background:#a3d9a5}@media(max-width:768px){.availability-calendar-container{padding:1rem;overflow-x:auto}.calendar-header{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.calendar-header h3{font-size:1.1rem;width:100%;text-align:center}.calendar-nav-btn{width:40px;height:40px;font-size:1.2rem}.calendar-weekdays{gap:2px;font-size:.7rem}.calendar-weekdays div{padding:.5rem 0}.calendar-days{gap:2px}.calendar-day{min-height:70px;padding:.25rem .1rem}.calendar-day .day-number{font-size:.7rem;margin-bottom:.15rem}.availability-block{font-size:.5rem;padding:1px 2px;height:20px;min-height:20px;max-height:20px;line-height:1.1}.calendar-legend{flex-direction:column;gap:.75rem;font-size:.8rem;align-items:flex-start}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;flex-shrink:0}.booking-form-section{padding:1.5rem}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px}.booking-summary-card,.contact-card{padding:1.5rem}}.availability-warning-box{background:#fff3cd;border:2px solid #ffc107;color:#856404;padding:1rem;border-radius:8px;margin:1rem 0}.availability-warning-box p{margin:.5rem 0}.availability-warning-box ul{margin:.5rem 0 .5rem 1.5rem;padding:0}.availability-warning-box li{margin:.25rem 0}.availability-success-box{background:#d4edda;border:2px solid #28a745;color:#155724;padding:1rem;border-radius:8px;margin:1rem 0}.availability-success-box p{margin:0;font-weight:600}.available-periods-section{margin-top:3rem;padding:2rem;background:var(--bg-cream);border-radius:8px;border:1px solid var(--border-color)}.available-periods-section h3{font-family:Cinzel,serif;color:var(--primary-color);margin-bottom:.5rem}.available-periods-section>p{color:var(--text-gray);margin-bottom:1.5rem}.available-periods-container{display:flex;flex-direction:column;gap:2rem}.period-group{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:var(--shadow-sm)}.period-group h4{font-family:Cinzel,serif;color:var(--primary-color);margin-bottom:1rem;font-size:1.1rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.period-group ul{list-style:none;padding:0;margin:0}.period-group li{padding:.75rem;margin:.5rem 0;background:var(--bg-light);border-radius:4px;transition:var(--transition);border-left:4px solid var(--primary-color)}.period-group li.clickable-period{cursor:pointer}.period-group li:hover,.period-group li.clickable-period:hover{background:var(--bg-cream);transform:translate(4px);box-shadow:var(--shadow-sm)}.period-group li strong{color:var(--primary-color);font-weight:700}@media(max-width:768px){.available-periods-section,.period-group{padding:1rem}.period-group li{font-size:.9rem}}
