.App{min-height:100vh;display:flex;flex-direction:column}section h2{text-align:center;margin-bottom:1rem;color:var(--primary-color)}.header{position:fixed;top:0;left:0;right:0;background-color:var(--secondary-color);z-index:1000;transition:var(--transition)}.header-container{max-width:1400px;margin:0 auto;padding:1rem 3rem;display:flex;justify-content:space-between;align-items:center}.logo{text-decoration:none;color:#fff}.logo h1{font-size:1.5rem;color:#fff;margin:0;font-weight:400;letter-spacing:-.01em}.logo .tagline{font-size:.8rem;color:#ffffffe6;margin:0;font-style:italic}.nav ul{display:flex;list-style:none;gap:2rem;margin:0}.nav a{color:#fff;font-weight:400;cursor:pointer;transition:var(--transition);font-size:1rem;text-decoration:none}.nav a{padding:.45rem 1rem;border-radius:var(--radius-pill)}.nav a:hover{color:var(--white);background-color:#ffffff29}.menu-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem}.menu-toggle span{width:25px;height:2px;background-color:#fff;margin:4px 0;transition:var(--transition)}.menu-toggle.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width: 768px){.menu-toggle{display:flex}.nav{position:absolute;top:100%;left:0;right:0;background-color:var(--secondary-color);box-shadow:var(--shadow);max-height:0;overflow:hidden;transition:max-height .3s ease}.nav.active{max-height:400px}.nav ul{flex-direction:column;padding:1rem 0;gap:0}.nav li{padding:.75rem 20px;border-bottom:1px solid #eee}.nav li:last-child{border-bottom:none}}.footer{background-color:var(--bg-light);border-top:1px solid var(--border-color);padding:3rem 0 2rem}.footer-content{text-align:center;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.footer-main h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--primary-color);font-weight:400}.footer-main p{color:var(--text-light);margin-bottom:2rem;font-size:.95rem}.footer-links{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.footer-links a{color:var(--text-dark);transition:var(--transition);font-size:.95rem;text-decoration:none;padding:.4rem 1rem;border-radius:var(--radius-pill)}.footer-links a:hover{color:var(--primary-color);background-color:var(--bg-accent)}.footer-links span{color:var(--border-color);display:none}.footer-bottom{padding-top:2rem;text-align:center}.footer-bottom p{color:var(--text-light);margin:0;font-size:.9rem}@media (max-width: 768px){.footer-links{flex-direction:column;gap:1rem}}.hero{margin-top:70px;background-color:var(--white)}.hero-image{width:100%;height:700px;overflow:hidden;border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.hero-image img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 768px){.hero-image{height:400px}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_previous:disabled{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled{opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border-color:transparent;border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}.availability-calendar{--rdp-accent-color: var(--primary-color);--rdp-accent-background-color: var(--bg-light);--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: var(--radius-pill);--rdp-selected-border: none;--rdp-outside-opacity: .3;--rdp-font-family: inherit;display:flex;flex-direction:column;align-items:center}.availability-calendar .rdp-root{background-color:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}.availability-calendar .rdp-month_caption{justify-content:center;font-size:1.05rem;color:var(--primary-color);letter-spacing:.02em}.availability-calendar .rdp-weekday{color:var(--text-light);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em}.availability-calendar .rdp-day_button{border-radius:var(--radius-pill);transition:var(--transition);font-size:.95rem}.availability-calendar .rdp-day:not(.rdp-disabled):not(.rdp-selected) .rdp-day_button:hover{background-color:var(--accent-color);color:var(--white)}.availability-calendar .rdp-disabled .rdp-day_button{color:var(--text-light);opacity:.45;text-decoration:line-through;cursor:not-allowed}.availability-calendar .rdp-selected .rdp-day_button{background-color:var(--primary-color);color:var(--white);border:none}.availability-calendar .rdp-range_middle .rdp-day_button{background-color:var(--bg-accent);color:var(--primary-color);border-radius:0}.availability-calendar .rdp-range_start .rdp-day_button,.availability-calendar .rdp-range_end .rdp-day_button{background-color:var(--primary-color);color:var(--white)}.availability-calendar .rdp-today:not(.rdp-selected) .rdp-day_button{font-weight:700;color:var(--primary-color)}.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1.5rem;font-size:.85rem;color:var(--text-light)}.legend-item{display:inline-flex;align-items:center;gap:.5rem}.legend-swatch{width:14px;height:14px;border-radius:50%;display:inline-block}.legend-free{background-color:var(--white);border:1px solid var(--border-color)}.legend-booked{background-color:var(--border-color)}.legend-selected{background-color:var(--primary-color)}.calendar-status{margin:1rem 0 0;font-size:.85rem;color:var(--text-light);text-align:center}@media (max-width: 640px){.availability-calendar{--rdp-day-height: 38px;--rdp-day-width: 38px}.availability-calendar .rdp-root{padding:1rem}.availability-calendar .rdp-months{flex-direction:column;gap:1rem}}.home-page{min-height:100vh}.home-about{padding:5rem 0;background-color:var(--white)}.about-content{max-width:700px;margin:0 auto;text-align:center}.about-content h2{font-size:2.5rem;font-weight:300;color:var(--primary-color);margin-bottom:2rem}.about-content p{font-size:1.1rem;line-height:1.9;color:var(--text-dark);margin-bottom:1.5rem}.home-gallery{padding:5rem 0;background-color:var(--white)}.home-gallery h2{text-align:center;font-size:2.5rem;font-weight:300;color:var(--primary-color);margin-bottom:1rem}.gallery-masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:1rem;max-width:1200px;margin:0 auto}.gallery-item{overflow:hidden;position:relative;cursor:pointer;border-radius:var(--radius-lg)}.gallery-large{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:var(--transition)}.gallery-item:hover img{transform:scale(1.1);filter:brightness(1.1)}.gallery-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:var(--radius-lg);background:#0000;transition:var(--transition)}.gallery-item:hover:after{background:#0000001a}.surroundings-section{padding:5rem 0;background-color:var(--bg-light)}.surroundings-content{max-width:900px;margin:0 auto;text-align:center}.surroundings-text h2{font-size:2.5rem;font-weight:300;color:var(--primary-color);margin-bottom:1.5rem}.surroundings-text p{font-size:1.05rem;line-height:1.9;color:var(--text-dark);margin-bottom:1.5rem}.apartments-showcase{padding:5rem 0;background-color:var(--bg-light)}.apartments-showcase h2{text-align:center;font-size:2.5rem;font-weight:300;color:var(--primary-color);margin-bottom:1rem}.section-intro{text-align:center;font-size:1.1rem;color:var(--text-light);margin-bottom:3rem}.apartments-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:0 auto}.apartment-showcase-card{background-color:var(--white);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:var(--transition)}.apartment-showcase-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-5px)}.apartment-image{width:100%;height:250px;overflow:hidden}.apartment-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.apartment-showcase-card:hover .apartment-image img{transform:scale(1.05)}.apartment-info{padding:2rem;text-align:center}.apartment-info h3{font-size:1.5rem;font-weight:400;color:var(--primary-color);margin-bottom:.5rem}.apartment-price{font-size:1.8rem;color:var(--secondary-color);font-weight:300;margin-bottom:1rem}.apartment-desc{color:var(--text-light);margin-bottom:1.5rem;font-size:1rem}.apartment-features{list-style:none;padding:0;margin-bottom:2rem;text-align:left}.apartment-features li{padding:.4rem 0;color:var(--text-dark);font-size:.95rem}.apartment-features li:before{content:"✓ ";color:var(--secondary-color);font-weight:700;margin-right:.5rem}.apartment-btn{display:inline-block;padding:.8rem 2rem;background-color:var(--secondary-color);color:#fff;text-decoration:none;border-radius:var(--radius-pill);transition:var(--transition);font-size:.95rem}.apartment-btn:hover{background-color:var(--primary-color);color:var(--white)}.home-calendar{padding:5rem 0;background-color:var(--white)}.home-calendar h2{text-align:center;font-size:2.5rem;font-weight:300;color:var(--primary-color);margin-bottom:1rem}.calendar-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.calendar-tab{font-family:inherit;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:.65rem 1.5rem;background-color:transparent;color:var(--text-light);border:1px solid var(--border-color);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition)}.calendar-tab:hover{color:var(--primary-color);border-color:var(--accent-color)}.calendar-tab.is-active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--white)}.calendar-cta{text-align:center;margin-top:2.5rem}@media (max-width: 968px){.gallery-masonry{grid-template-columns:1fr;grid-auto-rows:200px}.gallery-large,.gallery-wide{grid-row:span 1;grid-column:span 1}.apartments-cards{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.home-about{padding:3rem 0}.about-content h2{font-size:2rem}.about-content p{font-size:1rem}.home-cta h2{font-size:2rem}}.accommodation-page{margin-top:70px}.accommodation-page .page-header{background-color:var(--primary-color);color:var(--white);padding:2rem;text-align:center}.accommodation-page .page-header h1{font-size:1.6rem;font-weight:300;margin:0;letter-spacing:.02em}.accommodation-gallery{background-color:var(--bg-light);padding:1rem}.gallery-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.gallery-slide{height:320px;overflow:hidden;border-radius:var(--radius-lg)}.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:var(--transition)}.gallery-slide:hover img{transform:scale(1.06)}.accommodation-intro{padding:5rem 0 3rem;background-color:var(--white)}.intro-content{max-width:820px;margin:0 auto;text-align:center}.intro-content h2{font-size:2.1rem;font-weight:300;line-height:1.4;color:var(--primary-color);margin-bottom:1.5rem}.intro-content p{font-size:1.08rem;line-height:1.9;color:var(--text-dark);margin:0}.highlights-section{padding:4rem 0 5rem;background-color:var(--white)}.highlights-section h2{text-align:center;font-size:2.2rem;font-weight:300;color:var(--primary-color);margin-bottom:.75rem}.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;max-width:1150px;margin:0 auto}.highlight-item{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:var(--transition)}.highlight-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lifted);background-color:var(--white)}.highlight-item h3{font-size:1rem;font-weight:400;color:var(--primary-color);margin-bottom:.5rem}.highlight-item h3:before{content:"—";color:var(--accent-color);margin-right:.5rem}.highlight-item p{font-size:.9rem;line-height:1.65;color:var(--text-light);margin:0}.room-section{padding:4rem 0}.room-section:nth-child(2n){background-color:var(--bg-light)}.room-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:3.5rem;align-items:center;max-width:1150px;margin:0 auto}.room-layout.is-reversed .room-images{order:2}.room-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.room-image{height:300px;overflow:hidden;border-radius:var(--radius-lg)}.room-image:first-child{grid-column:span 2;height:340px}.room-image img{width:100%;height:100%;object-fit:cover;display:block;transition:var(--transition)}.room-image:hover img{transform:scale(1.05)}.room-text h2{font-size:1.9rem;font-weight:300;color:var(--primary-color);margin-bottom:1.25rem}.room-text p{font-size:1.02rem;line-height:1.9;color:var(--text-dark);margin-bottom:1.25rem}.units-section{padding:5rem 0;background-color:var(--white)}.units-section h2{text-align:center;font-size:2.2rem;font-weight:300;color:var(--primary-color);margin-bottom:.75rem}.units-table{max-width:950px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.unit-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:2rem;align-items:center;padding:1.75rem 2rem;background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:var(--transition)}.unit-row:hover{background-color:var(--white);box-shadow:var(--shadow-lifted)}.unit-name h3{font-size:1.25rem;font-weight:400;color:var(--primary-color);margin-bottom:.25rem}.unit-name p{margin:0;font-size:.9rem;color:var(--text-light)}.unit-facts{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem;color:var(--text-light)}.unit-price{color:var(--secondary-color)}.unit-cta{padding:.75rem 1.75rem;font-size:.78rem;white-space:nowrap}.good-to-know{padding:5rem 0 6rem;background-color:var(--bg-light)}.know-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem;align-items:start;max-width:1050px;margin:0 auto}.know-layout h2{font-size:2rem;font-weight:300;color:var(--primary-color);margin-bottom:1.5rem}.know-list{list-style:none;padding:0;margin:0}.know-list li{position:relative;padding-left:1.5rem;margin-bottom:.9rem;color:var(--text-dark);line-height:1.75}.know-list li:before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;border-radius:50%;background-color:var(--accent-color)}.know-cta{background-color:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem}.know-cta h3{font-size:1.3rem;font-weight:300;color:var(--primary-color);margin-bottom:1rem}.know-cta p{font-size:.95rem;line-height:1.8;color:var(--text-light);margin-bottom:1.75rem}@media (max-width: 1100px){.highlights-grid,.gallery-strip{grid-template-columns:repeat(3,1fr)}.gallery-slide{height:220px}}@media (max-width: 968px){.room-layout{grid-template-columns:1fr;gap:2rem}.room-layout.is-reversed .room-images{order:0}.know-layout{grid-template-columns:1fr;gap:2.5rem}.unit-row{grid-template-columns:1fr;gap:1rem;text-align:center}.unit-facts{align-items:center}}@media (max-width: 640px){.highlights-grid{grid-template-columns:1fr 1fr}.gallery-strip{grid-template-columns:1fr 1fr;gap:.75rem}.gallery-slide{height:170px}.room-image,.room-image:first-child{height:200px}.intro-content h2{font-size:1.6rem}}.booking-page{margin-top:70px}.booking-page .page-header{background-color:var(--primary-color);color:var(--white);padding:2rem;text-align:center}.booking-page .page-header h1{font-size:1.6rem;font-weight:300;margin:0;letter-spacing:.02em}.booking-section{padding:4rem 0 6rem;background-color:var(--bg-light)}.booking-steps{max-width:1050px;margin:0 auto}.booking-step{display:flex;align-items:center;gap:1rem;margin:3.5rem 0 1rem}.booking-step:first-child{margin-top:0}.step-number{flex-shrink:0;width:34px;height:34px;border-radius:50%;background-color:var(--primary-color);color:var(--white);display:grid;place-items:center;font-size:.9rem}.booking-step h2{font-size:1.5rem;font-weight:300;color:var(--primary-color);margin:0}.step-hint{color:var(--text-light);font-size:.95rem;margin:0 0 1.5rem 3rem}.apartment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.apartment-option{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;font-family:inherit;background-color:var(--white);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition)}.apartment-option:hover{transform:translateY(-4px);box-shadow:var(--shadow-lifted)}.apartment-option.is-selected{border-color:var(--primary-color);box-shadow:var(--shadow-lifted)}.apartment-option img{width:100%;height:150px;object-fit:cover}.option-body{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem}.option-name{font-size:1.15rem;color:var(--primary-color)}.option-price{font-size:.95rem;color:var(--secondary-color)}.option-desc{font-size:.85rem;color:var(--text-light);line-height:1.5}.booking-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start}.booking-form{background-color:var(--white);padding:2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-lg)}.form-level-error{color:#b4523f;font-size:.9rem;margin:0 0 1rem}.form-note{margin:1rem 0 0;font-size:.85rem;color:var(--text-light)}.booking-summary{position:sticky;top:90px;background-color:var(--bg-accent);padding:2rem;border-radius:var(--radius-lg)}.booking-summary h3{font-size:1.2rem;font-weight:400;color:var(--primary-color);margin-bottom:1.5rem}.booking-summary dl{margin:0 0 1.5rem}.booking-summary dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(139,115,85,.18)}.booking-summary dt{color:var(--text-light);font-size:.9rem}.booking-summary dd{margin:0;color:var(--text-dark);font-size:.95rem;text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:.5rem}.summary-total span{color:var(--text-light);font-size:.9rem}.summary-total strong{font-size:1.6rem;font-weight:400;color:var(--primary-color)}.summary-note{margin:.75rem 0 0;font-size:.8rem;line-height:1.6;color:var(--text-light)}.booking-success{max-width:560px;margin:0 auto;text-align:center;background-color:var(--white);padding:3.5rem 2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-lg)}.booking-success h2{font-size:2rem;font-weight:300;color:var(--primary-color);margin-bottom:.5rem}.success-reference{display:inline-block;padding:.4rem 1rem;margin-bottom:1.5rem;background-color:var(--bg-accent);border-radius:var(--radius-pill);font-size:.85rem;letter-spacing:.08em;color:var(--primary-color)}.booking-success p{color:var(--text-light);line-height:1.8;margin-bottom:2rem}@media (max-width: 968px){.apartment-options{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr;gap:2rem}.booking-summary{position:static}}@media (max-width: 640px){.booking-form{padding:1.5rem}.step-hint{margin-left:0}}.contact-page{margin-top:70px}.contact-page .page-header{background-color:var(--primary-color);color:var(--white);padding:2rem;text-align:center}.contact-page .page-header h1{font-size:1.6rem;font-weight:300;margin:0;letter-spacing:.02em}.contact-section{padding:4rem 0 6rem;background-color:var(--bg-light)}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start;max-width:1050px;margin:0 auto}.contact-info h2{font-size:2rem;font-weight:300;color:var(--primary-color);margin-bottom:1rem}.contact-intro{color:var(--text-dark);line-height:1.9;margin-bottom:2.5rem}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;margin-bottom:2.5rem}.contact-detail h3{font-size:.78rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);margin-bottom:.35rem}.contact-detail p{margin:0;color:var(--text-dark);font-size:1rem}.contact-cta{padding:1.75rem;background-color:var(--bg-accent);border-radius:var(--radius-lg)}.contact-cta p{margin:0 0 1rem;color:var(--primary-color)}.contact-form-wrapper{background-color:var(--white);padding:2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.contact-form h3,.contact-success h3{font-size:1.35rem;font-weight:300;color:var(--primary-color);margin-bottom:1.75rem}.contact-success{text-align:center;padding:2rem 0}.contact-success p{color:var(--text-light);line-height:1.8;margin-bottom:2rem}@media (max-width: 968px){.contact-layout{grid-template-columns:1fr;gap:2.5rem}}@media (max-width: 640px){.contact-details{grid-template-columns:1fr;gap:1.25rem}.contact-form-wrapper{padding:1.5rem}}:root{--primary-color: #8b7355;--secondary-color: #a68968;--accent-color: #c9b896;--text-dark: #333333;--text-light: #777777;--bg-light: #fafafa;--bg-accent: #f3ede4;--white: #ffffff;--border-color: #e0e0e0;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lifted: 0 8px 24px rgba(70, 55, 35, .12);--transition: all .3s ease;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Tahoma,Verdana,Geneva,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-dark);line-height:1.8;background-color:var(--white);font-size:16px}h1,h2,h3,h4,h5,h6{font-family:Tahoma,Verdana,Geneva,sans-serif;font-weight:400;line-height:1.4;margin-bottom:1.5rem;color:var(--primary-color);letter-spacing:-.02em}h1{font-size:3rem;font-weight:300}h2{font-size:2.25rem;font-weight:300}h3{font-size:1.5rem;font-weight:400}p{margin-bottom:1rem}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--secondary-color)}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-subtitle{font-size:1.1rem;color:var(--text-light);text-align:center;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.lead{font-size:1.2rem;font-weight:400;color:var(--text-light)}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.field label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}.field input,.field select,.field textarea{font-family:inherit;font-size:1rem;color:var(--text-dark);padding:.85rem 1rem;background-color:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b735526}.field textarea{resize:vertical;min-height:130px;line-height:1.7}.field-error input,.field-error select,.field-error textarea{border-color:#b4523f}.field-message{font-size:.82rem;color:#b4523f}.button{display:inline-block;font-family:inherit;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;padding:1rem 2.25rem;border:1px solid var(--primary-color);border-radius:var(--radius-pill);background-color:var(--primary-color);color:var(--white);cursor:pointer;transition:var(--transition)}.button:hover:not(:disabled){background-color:var(--secondary-color);border-color:var(--secondary-color)}.button:disabled{opacity:.55;cursor:not-allowed}.button-outline{background-color:transparent;color:var(--primary-color)}.button-outline:hover:not(:disabled){background-color:var(--primary-color);color:var(--white)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}
