.app{min-height:100vh;display:flex;flex-direction:column;background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat;position:relative}.app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#f5f1ed59;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);z-index:0}.main-content{flex:1;position:relative;z-index:1;padding:0 0 2rem}.hero-section{padding:2rem 1.25rem;text-align:center}.hero-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:400;color:var(--text-dark);margin:0;line-height:1.4}.booking-container{max-width:600px;margin:0 auto;padding:0 1.25rem}@media(min-width:768px){.hero-section{padding:3rem 2rem}.hero-title{font-size:2.25rem}.booking-container{max-width:700px;padding:0 2rem}}@media(min-width:1024px){.booking-container{max-width:800px}}.header{display:flex;align-items:center;padding:1rem 1.25rem;background-color:#fefcfaf2;position:sticky;top:0;z-index:300;box-shadow:0 1px 4px #5a4a4114}.menu-button{background:none;border:none;padding:.5rem;margin-right:1rem;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s}.menu-button:hover{color:var(--text-dark)}.menu-line{transition:all .3s ease;stroke-linecap:round}.menu-button.menu-open .menu-line.top{transform:translateY(6px) rotate(45deg);transform-origin:center}.menu-button.menu-open .menu-line.middle{transform:translate(3px) rotate(90deg);transform-origin:center;opacity:1}.menu-button.menu-open .menu-line.bottom{transform:translateY(-5px) rotate(-45deg);transform-origin:center}.logo{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;color:var(--text-dark);margin:0;letter-spacing:.5px}@media(min-width:768px){.header{padding:1.25rem 2rem}.logo{font-size:1.75rem}}.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:200;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.menu-panel{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:80vw;background-color:#fefcfafa;box-shadow:2px 0 8px #5a4a4126;z-index:201;transform:translate(-100%);transition:transform .3s ease;padding-top:80px}.menu-panel-open{transform:translate(0)}.menu-nav{display:flex;flex-direction:column;padding:1rem 0}.menu-link{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:400;color:#5a4a41;text-decoration:none;padding:1rem 2rem;border-bottom:1px solid rgba(139,109,123,.1);transition:background-color .2s,color .2s;min-height:48px;display:flex;align-items:center}.menu-link:hover{background-color:#f8d7da4d;color:var(--available)}.menu-link:first-child{border-top:1px solid rgba(139,109,123,.1)}@media(max-width:375px){.menu-panel{width:260px}.menu-link{font-size:.9375rem;padding:1rem 1.5rem}}@media(min-width:768px){.menu-panel{width:320px}.menu-link{font-size:1.0625rem;padding:1.25rem 2.5rem}}.footer{background:#fefcfaf2;padding:2rem 1.25rem;text-align:center;margin-top:3rem;border-top:1px solid var(--border-color);position:relative;z-index:1}.footer-logo{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;color:var(--text-dark);margin:0 0 1.25rem;letter-spacing:.5px}.footer-nav{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.footer-link{color:var(--text-primary);text-decoration:none;font-size:.95rem;transition:color .2s;font-weight:400}.footer-link:hover{color:var(--text-dark)}.footer-copyright{font-size:.875rem;color:var(--text-primary);margin:0;font-weight:300}@media(min-width:768px){.footer{padding:2.5rem 2rem}.footer-logo{font-size:1.75rem}.footer-nav{gap:2rem}.footer-link{font-size:1rem}}.calendar-card{background:var(--bg-card);border-radius:24px;padding:1.5rem;box-shadow:0 2px 12px #5a4a4114;margin-bottom:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-month{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;color:var(--text-dark);margin:0}.calendar-nav{display:flex;gap:.5rem}.nav-button{background:none;border:none;padding:.25rem;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s}.nav-button:hover{color:var(--text-dark)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem;margin-bottom:1.5rem;padding:0 .25rem}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:500;color:var(--text-primary);padding:.5rem 0;letter-spacing:.5px}.calendar-day{aspect-ratio:1;border:none;background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--text-primary);cursor:default;transition:all .2s;width:100%;max-width:48px;height:auto;margin:0 auto;padding:.5rem}.calendar-day.empty{cursor:default}.calendar-day.available{background-color:var(--accent-pink);cursor:pointer;color:var(--text-dark)}.calendar-day.available:hover{transform:scale(1.03);box-shadow:0 2px 8px #8b6d7b33}.calendar-day.selected{background-color:var(--accent-selected);color:#fff;font-weight:500}.calendar-day.partially-selected{background-color:var(--accent-pink);border:2px solid var(--accent-selected)}.calendar-day:disabled{opacity:.3;cursor:not-allowed}.calendar-legend{display:flex;gap:1.5rem;justify-content:center;padding-top:1rem;border-top:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-indicator{width:16px;height:16px;border-radius:50%}.legend-indicator.available{background-color:var(--accent-pink)}.legend-indicator.selected{background-color:var(--accent-selected)}.legend-label{font-size:.875rem;color:var(--text-primary)}.calendar-loading{text-align:center;padding:4rem 1.5rem;min-height:300px;display:flex;align-items:center;justify-content:center}.calendar-loading p{color:var(--text-primary);font-size:1rem}.calendar-error{text-align:center;padding:3rem 1.5rem}.error-title{font-size:1.25rem;font-weight:500;color:var(--text-dark);margin-bottom:.5rem}.error-message{color:var(--text-primary);line-height:1.6}@media(min-width:768px){.calendar-card{padding:2rem}.calendar-month{font-size:1.75rem}.calendar-grid{gap:.75rem;padding:0 .5rem}.calendar-day{font-size:1rem;max-width:56px;padding:.75rem}}.timeslot-card{background:var(--bg-card);border-radius:24px;padding:1.5rem;box-shadow:0 2px 12px #5a4a4114;margin-bottom:1.5rem}.timeslot-title{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:400;color:var(--text-dark);margin:0 0 .5rem}.timeslot-date{font-size:.95rem;color:var(--text-primary);margin:0 0 1.5rem;font-weight:300}.timeslot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.timeslot-button{padding:.875rem 1rem;background:#fff;border:1.5px solid var(--border-color);border-radius:12px;font-size:.95rem;color:var(--text-primary);font-weight:400;cursor:pointer;transition:all .2s;min-height:48px}.timeslot-button:hover{border-color:var(--accent-pink);background-color:#f8d7da33}.timeslot-button.selected{background-color:var(--accent-pink);border-color:var(--accent-pink);color:var(--text-dark);font-weight:500}@media(min-width:768px){.timeslot-card{padding:2rem}.timeslot-title{font-size:1.75rem}.timeslot-date{font-size:1rem}.timeslot-grid{gap:1rem}.timeslot-button{padding:1rem;font-size:1rem}}.selection-summary{background:var(--bg-card);border-radius:24px;padding:1.5rem;box-shadow:0 2px 12px #5a4a4114;margin-bottom:1.5rem}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.summary-title{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:400;color:var(--text-dark);margin:0}.slot-counter{font-size:.875rem;color:var(--text-primary);font-weight:500;padding:.375rem .75rem;background-color:#f8d7da4d;border-radius:20px}.slot-counter.complete{background-color:#a8bda84d;color:var(--accent-green)}.selected-slots-list{margin-bottom:1rem;padding:.75rem;background-color:#f5f1ed80;border-radius:12px}.selected-slot-item{display:flex;gap:.5rem;padding:.5rem 0;font-size:.95rem;color:var(--text-dark)}.slot-number{font-weight:500;color:var(--accent-selected)}.slot-details{flex:1}.selection-hint{font-size:.875rem;color:var(--text-primary);margin:1rem 0;line-height:1.5;text-align:center;font-style:italic}.confirm-button{width:100%;padding:1rem;background-color:var(--accent-green);color:#fff;border:none;border-radius:16px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-height:52px}.confirm-button:hover:not(:disabled){background-color:#98ad98;transform:translateY(-1px);box-shadow:0 4px 12px #a8bda84d}.confirm-button:disabled{opacity:.5;cursor:not-allowed}@media(min-width:768px){.selection-summary{padding:2rem}.summary-title{font-size:1.5rem}.selected-slot-item{font-size:1rem}.confirm-button{font-size:1.0625rem}}.about-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;position:relative;z-index:1}.about-content{max-width:600px;text-align:center;background-color:#fefcfafa;padding:3rem 2.5rem;position:relative;border-radius:16px}.about-text{font-family:Playfair Display,serif;font-size:1.125rem;line-height:1.8;color:#5a4a41;margin:0;max-width:400px}.instagram-link{color:#8b6d7b;text-decoration:none;font-weight:500;transition:color .2s}.instagram-link:hover{color:#f8d7da;text-decoration:underline}.typing-cursor{font-weight:400;animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media(max-width:375px){.about-page{padding:2rem 1rem}.about-content{padding:2rem 1.5rem}.about-text{font-size:1rem}}@media(min-width:768px){.about-page{padding:3rem 2rem}.about-content{padding:3.5rem 3rem}.about-text{font-size:1.25rem}}.pricing-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;position:relative;z-index:1}.pricing-content{max-width:600px;text-align:center}.pricing-title{font-family:Playfair Display,serif;font-size:2.5rem;color:var(--text-dark);margin-bottom:1.5rem;opacity:1}.pricing-text{font-family:Montserrat,sans-serif;font-size:1.125rem;color:var(--text-dark);opacity:1}.pricing-item{background-color:#f8d7dab3;padding:2rem;border-radius:12px;margin-bottom:0}.pricing-divider{height:3px;background-color:#f8d7da;margin:1.5rem 0}.service-name{font-family:Playfair Display,serif;font-size:1.75rem;color:var(--text-dark);margin-bottom:.75rem;opacity:1}.service-price{font-family:Montserrat,sans-serif;font-size:2rem;font-weight:600;color:var(--text-dark);margin:0;opacity:1}.pricing-footnote{font-family:Montserrat,sans-serif;font-size:.875rem;color:var(--text-dark);font-style:italic;line-height:1.6;padding:1.5rem;background-color:#f8d7dab3;border-radius:12px;margin-top:0;opacity:1}.contact-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;position:relative;z-index:1}.contact-content{max-width:600px;text-align:center}.contact-title{font-family:Playfair Display,serif;font-size:2.5rem;color:var(--text-dark);margin-bottom:2rem;opacity:1}.contact-text{font-family:Montserrat,sans-serif;font-size:1.125rem;color:var(--text-dark);opacity:1}.contact-item{background-color:#f8d7dab3;padding:2rem;border-radius:12px;margin-bottom:1.5rem}.contact-item:last-child{margin-bottom:0}.contact-label{font-family:Playfair Display,serif;font-size:1.5rem;color:var(--text-dark);margin-bottom:.75rem;opacity:1}.contact-link{font-family:Montserrat,sans-serif;font-size:1.25rem;color:var(--text-dark);text-decoration:none;display:block;opacity:1;transition:opacity .2s ease}.contact-link:hover{opacity:.7;text-decoration:underline}.faq-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;position:relative;z-index:1}.faq-content{max-width:800px;width:100%}.faq-title{font-family:Playfair Display,serif;font-size:2.5rem;color:#3a2a21;margin-bottom:2rem;text-align:center;opacity:1}.faq-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.faq-item{background-color:#f8d7dab3;padding:1.5rem;border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s ease}.faq-item:nth-child(2n){background-color:#fffc}.faq-item:hover{opacity:.9}.faq-question-wrapper{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%}.faq-question{font-family:Playfair Display,serif;font-size:1.25rem;color:#3a2a21;margin:0;opacity:1;flex:1}.faq-icon{font-size:1.5rem;color:#3a2a21;font-weight:300;line-height:1;flex-shrink:0;opacity:1}.faq-answer{font-family:Montserrat,sans-serif;font-size:1rem;color:#3a2a21;line-height:1.6;margin:.75rem 0 0;opacity:1;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.faq-contact{background-color:#f8d7dab3;padding:1.5rem;border-radius:12px;text-align:center}.faq-contact-text{font-family:Montserrat,sans-serif;font-size:1rem;color:#3a2a21;line-height:1.6;margin:0;opacity:1}.faq-link{color:#3a2a21;font-weight:600;text-decoration:underline;transition:opacity .2s ease}.faq-link:hover{opacity:.7}@media(max-width:768px){.faq-title{font-size:2rem}.faq-question{font-size:1.125rem}.faq-answer,.faq-contact-text{font-size:.9375rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #F5F1ED;--bg-card: #FEFCFA;--text-primary: #7A6A61;--text-dark: #5A4A41;--accent-pink: #F8D7DA;--accent-selected: #8B6D7B;--accent-green: #A8BDA8;--border-color: #E8DFD8;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:400;color:var(--text-dark)}button{font-family:inherit;cursor:pointer;border:none;outline:none}#root{width:100%;min-height:100vh}
