@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap);:root{--esc-font:'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;--esc-primary:#FF385C;--esc-primary-hover:#E0294D;--esc-primary-light:#FFF0F3;--esc-dark:#222222;--esc-gray-900:#333333;--esc-gray-600:#717171;--esc-gray-400:#B0B0B0;--esc-gray-200:#EBEBEB;--esc-gray-100:#F7F7F7;--esc-white:#FFFFFF;--esc-green:#008A05;--esc-radius:12px;--esc-radius-lg:16px;--esc-shadow:0 2px 16px rgba(0,0,0,0.08);--esc-shadow-hover:0 4px 24px rgba(0,0,0,0.12);--esc-transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.esc-wizard-container{font-family:var(--esc-font);max-width:640px;margin:0 auto;padding:24px 16px 40px;color:var(--esc-dark);-webkit-font-smoothing:antialiased}.esc-progress{position:relative;margin-bottom:40px}.esc-progress-bar{height:3px;background:var(--esc-primary);border-radius:3px;transition:width 0.4s ease;position:absolute;top:14px;left:0;z-index:1}.esc-progress::before{content:'';position:absolute;top:14px;left:0;right:0;height:3px;background:var(--esc-gray-200);border-radius:3px}.esc-progress-steps{display:flex;justify-content:space-between;position:relative;z-index:2}.esc-step-dot{width:32px;height:32px;border-radius:50%;background:var(--esc-white);border:2px solid var(--esc-gray-200);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--esc-gray-400);transition:var(--esc-transition)}.esc-step-dot.active{background:var(--esc-primary);border-color:var(--esc-primary);color:var(--esc-white)}.esc-step-dot.completed{background:var(--esc-primary);border-color:var(--esc-primary);color:var(--esc-white)}.esc-step{display:none;animation:escFadeIn 0.35s ease}.esc-step.active{display:block}@keyframes escFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.esc-step-header{margin-bottom:32px;text-align:center}.esc-step-title{font-size:26px;font-weight:700;color:var(--esc-dark);margin:0 0 8px;line-height:1.2}.esc-step-subtitle{font-size:16px;color:var(--esc-gray-600);margin:0;font-weight:400}.esc-options-grid{display:grid;gap:12px}.esc-companion-grid,.esc-interests-grid{grid-template-columns:repeat(2,1fr)}.esc-days-grid{grid-template-columns:repeat(4,1fr)}.esc-mobility-grid{grid-template-columns:repeat(2,1fr)}.esc-option-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;border:2px solid var(--esc-gray-200);border-radius:var(--esc-radius);background:var(--esc-white);cursor:pointer;transition:var(--esc-transition);text-align:center;-webkit-tap-highlight-color:#fff0;font-family:var(--esc-font)}.esc-option-card:hover{border-color:var(--esc-dark);box-shadow:var(--esc-shadow)}.esc-option-card:active{transform:scale(.97)}.esc-option-card.selected{border-color:var(--esc-dark);background:var(--esc-gray-100);box-shadow:0 0 0 1px var(--esc-dark)}.esc-option-icon{font-size:32px;line-height:1}.esc-option-compact .esc-option-icon{font-size:28px;font-weight:700;color:var(--esc-primary)}.esc-option-label{font-size:15px;font-weight:600;color:var(--esc-dark)}.esc-option-desc{font-size:12px;color:var(--esc-gray-600);line-height:1.3}.esc-option-compact .esc-option-desc{font-size:11px}.esc-sub-options{margin-top:20px;padding:16px;background:var(--esc-gray-100);border-radius:var(--esc-radius);display:flex;flex-direction:column;gap:12px}.esc-toggle-option{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 0;-webkit-tap-highlight-color:#fff0}.esc-toggle-option input[type="checkbox"]{display:none}.esc-toggle-slider{width:48px;height:28px;background:var(--esc-gray-400);border-radius:14px;position:relative;flex-shrink:0;transition:var(--esc-transition)}.esc-toggle-slider::after{content:'';width:22px;height:22px;background:var(--esc-white);border-radius:50%;position:absolute;top:3px;left:3px;transition:var(--esc-transition);box-shadow:0 1px 3px rgb(0 0 0 / .2)}.esc-toggle-option input:checked+.esc-toggle-slider{background:var(--esc-dark)}.esc-toggle-option input:checked+.esc-toggle-slider::after{transform:translateX(20px)}.esc-toggle-text{font-size:15px;color:var(--esc-gray-900);font-weight:500}.esc-selection-count{text-align:center;margin-top:16px;font-size:14px;color:var(--esc-gray-600);font-weight:500}.esc-dates-optional{margin-top:28px;padding:20px;background:var(--esc-gray-100);border-radius:var(--esc-radius)}.esc-dates-label{font-size:15px;font-weight:600;margin:0 0 12px;color:var(--esc-dark)}.esc-dates-label small{font-weight:400;color:var(--esc-gray-600)}.esc-dates-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.esc-date-field label{display:block;font-size:12px;font-weight:600;color:var(--esc-gray-600);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.esc-date-field input[type="date"]{width:100%;padding:12px;border:2px solid var(--esc-gray-200);border-radius:8px;font-family:var(--esc-font);font-size:15px;color:var(--esc-dark);background:var(--esc-white);transition:var(--esc-transition);box-sizing:border-box}.esc-date-field input:focus{outline:none;border-color:var(--esc-dark)}.esc-people-selector{display:flex;flex-direction:column;gap:0}.esc-people-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--esc-gray-200)}.esc-people-row:last-child{border-bottom:none}.esc-people-label{font-size:16px;font-weight:600;color:var(--esc-dark);display:block}.esc-people-desc{font-size:13px;color:var(--esc-gray-600);display:block;margin-top:2px}.esc-people-counter{display:flex;align-items:center;gap:16px}.esc-counter-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--esc-gray-200);background:var(--esc-white);font-size:20px;font-weight:400;color:var(--esc-gray-600);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--esc-transition);font-family:var(--esc-font);-webkit-tap-highlight-color:#fff0;line-height:1;padding:0}.esc-counter-btn:hover:not(:disabled){border-color:var(--esc-dark);color:var(--esc-dark)}.esc-counter-btn:disabled{opacity:.3;cursor:not-allowed}.esc-counter-value{font-size:18px;font-weight:600;min-width:24px;text-align:center;color:var(--esc-dark)}.esc-email-capture{margin-top:28px;padding:20px;background:var(--esc-gray-100);border-radius:var(--esc-radius);text-align:center}.esc-email-label{font-size:15px;font-weight:600;margin:0 0 12px;color:var(--esc-dark)}.esc-email-input{width:100%;padding:14px 16px;border:2px solid var(--esc-gray-200);border-radius:8px;font-family:var(--esc-font);font-size:16px;color:var(--esc-dark);background:var(--esc-white);transition:var(--esc-transition);box-sizing:border-box;text-align:center}.esc-email-input:focus{outline:none;border-color:var(--esc-dark)}.esc-email-input::placeholder{color:var(--esc-gray-400)}.esc-email-hint{display:block;margin-top:8px;font-size:12px;color:var(--esc-gray-600)}.esc-navigation{display:flex;justify-content:space-between;align-items:center;padding:24px 0 0;margin-top:32px;border-top:1px solid var(--esc-gray-200);gap:12px}.esc-btn{padding:14px 28px;border-radius:8px;font-family:var(--esc-font);font-size:16px;font-weight:600;cursor:pointer;transition:var(--esc-transition);border:none;-webkit-tap-highlight-color:#fff0}.esc-btn-back{background:none;color:var(--esc-dark);padding:14px 16px;text-decoration:underline;font-weight:500}.esc-btn-back:hover{color:var(--esc-gray-600)}.esc-btn-next{background:var(--esc-dark);color:var(--esc-white);margin-left:auto}.esc-btn-next:hover:not(:disabled){background:#000;transform:scale(1.02)}.esc-btn-next:disabled{background:var(--esc-gray-200);color:var(--esc-gray-400);cursor:not-allowed}.esc-btn-generate{background:var(--esc-primary);color:var(--esc-white);margin-left:auto;font-size:17px;padding:16px 32px}.esc-btn-generate:hover{background:var(--esc-primary-hover);transform:scale(1.02)}.esc-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .96);display:flex;align-items:center;justify-content:center;z-index:1000}.esc-loading-animation{text-align:center;padding:40px}.esc-loading-icon{font-size:64px;animation:escBounce 1.5s ease infinite}@keyframes escBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}.esc-loading-title{font-size:22px;font-weight:700;color:var(--esc-dark);margin:16px 0 8px}.esc-loading-text{font-size:15px;color:var(--esc-gray-600);margin:0}.esc-loading-dots{display:flex;justify-content:center;gap:6px;margin-top:24px}.esc-loading-dots span{width:8px;height:8px;background:var(--esc-primary);border-radius:50%;animation:escDots 1.2s ease infinite}.esc-loading-dots span:nth-child(2){animation-delay:0.2s}.esc-loading-dots span:nth-child(3){animation-delay:0.4s}@keyframes escDots{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.esc-result{padding:20px 0}@media (max-width:480px){.esc-wizard-container{padding:16px 12px 110px}.esc-step-title{font-size:22px}.esc-companion-grid,.esc-interests-grid{grid-template-columns:repeat(2,1fr)}.esc-days-grid{grid-template-columns:repeat(2,1fr)}.esc-mobility-grid{grid-template-columns:repeat(2,1fr)}.esc-option-card{padding:16px 8px}.esc-option-icon{font-size:28px}.esc-btn{padding:12px 20px;font-size:15px}.esc-btn-generate{padding:14px 24px;font-size:15px}}@media (min-width:640px){.esc-wizard-container{padding:40px 24px 40px}.esc-step-title{font-size:32px}.esc-companion-grid{grid-template-columns:repeat(3,1fr)}.esc-interests-grid{grid-template-columns:repeat(3,1fr)}.esc-navigation{max-width:640px;margin:0 auto}}.esc-step{display:none}.esc-step.active{display:block}.slide-out-left{animation:escSlideOutLeft 0.25s ease forwards}.slide-out-right{animation:escSlideOutRight 0.25s ease forwards}.slide-in-left{animation:escSlideInLeft 0.3s ease forwards}.slide-in-right{animation:escSlideInRight 0.3s ease forwards}@keyframes escSlideOutLeft{to{opacity:0;transform:translateX(-40px)}}@keyframes escSlideOutRight{to{opacity:0;transform:translateX(40px)}}@keyframes escSlideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes escSlideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.esc-shake{animation:escShake 0.4s ease}@keyframes escShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.esc-counter-bump{animation:escBump 0.2s ease}@keyframes escBump{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.esc-result-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--esc-gray-200)}.esc-result-title{font-family:var(--esc-font);font-size:24px;font-weight:700;color:var(--esc-dark);margin:0 0 12px;line-height:1.3}.esc-result-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.esc-badge{display:inline-block;padding:4px 12px;border-radius:20px;background:var(--esc-gray-100);color:var(--esc-gray-600);font-size:13px;font-weight:500}.esc-result-section{margin-bottom:32px}.esc-section-title{font-family:var(--esc-font);font-size:18px;font-weight:600;color:var(--esc-dark);margin:0 0 16px}.esc-properties-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.esc-property-card{flex:0 0 220px;border-radius:var(--esc-radius);overflow:hidden;border:1px solid var(--esc-gray-200);text-decoration:none;color:inherit;transition:var(--esc-transition);scroll-snap-align:start}.esc-property-card:hover{box-shadow:var(--esc-shadow-hover);transform:translateY(-2px)}.esc-property-img{width:100%;height:140px;background-size:cover;background-position:center;background-color:var(--esc-gray-100)}.esc-property-info{padding:12px}.esc-property-name{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--esc-dark)}.esc-property-price{font-size:14px;font-weight:600;color:var(--esc-primary)}.esc-property-capacity{font-size:12px;color:var(--esc-gray-600);margin-top:2px}.esc-day{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--esc-gray-200)}.esc-day:last-child{border-bottom:none}.esc-day-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.esc-day-number{background:var(--esc-primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap}.esc-day-title{font-size:16px;font-weight:600;color:var(--esc-dark)}.esc-day-timeline{position:relative;padding-left:20px}.esc-stop{display:flex;gap:12px;margin-bottom:20px;position:relative}.esc-stop:last-child{margin-bottom:0}.esc-stop-time{flex:0 0 50px;font-size:13px;font-weight:600;color:var(--esc-gray-600);padding-top:2px}.esc-stop-dot{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--esc-primary);border:2px solid #fff;box-shadow:0 0 0 2px var(--esc-primary);margin-top:4px;position:relative;z-index:1}.esc-stop:not(:last-child) .esc-stop-dot::after{content:'';position:absolute;top:14px;left:3px;width:2px;height:calc(100% + 16px);background:var(--esc-gray-200)}.esc-stop-content{flex:1;min-width:0}.esc-stop-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--esc-primary);margin-bottom:2px}.esc-stop-name{font-size:15px;font-weight:600;color:var(--esc-dark);margin-bottom:4px}.esc-stop-address{font-size:13px;color:var(--esc-gray-600);margin-bottom:4px}.esc-stop-tip{font-size:13px;color:var(--esc-green,#008A05);font-style:italic;margin-bottom:8px}.esc-stop-actions{display:flex;gap:8px;flex-wrap:wrap}.esc-stop-btn{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;color:var(--esc-primary);background:var(--esc-primary-light);text-decoration:none;transition:var(--esc-transition)}.esc-stop-btn:hover{background:var(--esc-primary);color:#fff}.esc-day-event{background:#FFF8E1;border:1px solid #FFE082;border-radius:var(--esc-radius);padding:12px 16px;margin-top:12px;font-size:14px}.esc-event-badge{display:inline-block;background:#FF8F00;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;margin-right:4px}.esc-result-map{width:100%;height:350px;border-radius:var(--esc-radius);overflow:hidden;border:1px solid var(--esc-gray-200)}.esc-result-actions{display:flex;flex-direction:column;gap:10px;margin-top:32px;padding-top:24px;border-top:1px solid var(--esc-gray-200)}.esc-share-btn{display:block;text-align:center;padding:14px 20px;border-radius:var(--esc-radius);font-family:var(--esc-font);font-size:15px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:var(--esc-transition)}.esc-share-whatsapp{background:#25D366;color:#fff}.esc-share-whatsapp:hover{background:#1DA851;color:#fff}.esc-share-copy{background:var(--esc-gray-100);color:var(--esc-dark)}.esc-share-copy:hover{background:var(--esc-gray-200)}.esc-share-restart{background:#fff0;color:var(--esc-gray-600);border:1px solid var(--esc-gray-200)}.esc-share-restart:hover{border-color:var(--esc-gray-400);color:var(--esc-dark)}.esc-error{text-align:center;padding:48px 24px}.esc-error h3{font-family:var(--esc-font);font-size:18px;color:var(--esc-gray-600);margin-bottom:24px}.esc-day-intro{font-size:13px;color:var(--esc-gray-600);font-style:italic;margin-bottom:16px;line-height:1.6}.esc-stop-photo{width:100%;height:160px;object-fit:cover;border-radius:8px;margin-bottom:8px;display:block}.esc-stop-highlight{display:inline-block;background:#FFB400;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;letter-spacing:.3px;margin-bottom:4px}.esc-stop-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.esc-stop-meta span{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.esc-meta-price{background:#E8F5E9;color:#2E7D32}.esc-meta-dur{background:#E3F2FD;color:#1565C0}.esc-meta-travel{background:#FFF3E0;color:#E65100}.esc-stop-note{font-size:13px;color:#444;font-style:italic;margin-bottom:6px;line-height:1.5}.esc-stop-worth{font-size:12px;color:#2E7D32;font-weight:500;margin-bottom:4px}.esc-stop-skip{font-size:12px;color:#888;font-style:italic;margin-bottom:6px}.esc-closing-cta{background:var(--esc-gray-100);border-radius:var(--esc-radius);padding:16px 20px;font-size:14px;color:var(--esc-gray-600);font-style:italic;text-align:center;margin:16px 0;line-height:1.5}.esc-share-view{background:var(--esc-primary);color:#fff}.esc-share-view:hover{background:#E0294D;color:#fff}.esc-result-clima{font-size:12px;color:var(--esc-gray-600);background:var(--esc-gray-100);border-radius:20px;padding:4px 12px;display:inline-block;margin-top:6px}