:root{--itinerary-scale:1.2;--itinerary-btn-padding-y:calc(14px*var(--itinerary-scale));--itinerary-btn-padding-x:calc(24px*var(--itinerary-scale));--itinerary-btn-font-size:calc(15px*var(--itinerary-scale));--itinerary-btn-border-width:calc(2px*var(--itinerary-scale));--itinerary-title-size:calc(32px*var(--itinerary-scale));--itinerary-title-size-mobile:calc(26px*var(--itinerary-scale));--itinerary-title-size-desktop:calc(36px*var(--itinerary-scale));--itinerary-meta-size:calc(16px*var(--itinerary-scale));--itinerary-meta-icon-size:calc(22px*var(--itinerary-scale));--itinerary-card-padding:calc(24px*var(--itinerary-scale));--itinerary-card-title-size:calc(20px*var(--itinerary-scale));--itinerary-card-description-size:calc(16px*var(--itinerary-scale));--itinerary-card-detail-size:calc(14px*var(--itinerary-scale));--itinerary-card-detail-padding-y:calc(8px*var(--itinerary-scale));--itinerary-card-detail-padding-x:calc(16px*var(--itinerary-scale));--itinerary-card-detail-icon-size:calc(18px*var(--itinerary-scale));--itinerary-badge-size:calc(12px*var(--itinerary-scale));--itinerary-badge-padding-y:calc(6px*var(--itinerary-scale));--itinerary-badge-padding-x:calc(14px*var(--itinerary-scale));--itinerary-tag-size:calc(14px*var(--itinerary-scale));--itinerary-tag-padding-y:calc(8px*var(--itinerary-scale));--itinerary-tag-padding-x:calc(16px*var(--itinerary-scale));--itinerary-budget-label-size:calc(16px*var(--itinerary-scale));--itinerary-budget-value-size:calc(26px*var(--itinerary-scale));--itinerary-budget-padding-y:calc(20px*var(--itinerary-scale));--itinerary-budget-padding-x:calc(28px*var(--itinerary-scale));--itinerary-input-padding-y:calc(12px*var(--itinerary-scale));--itinerary-input-padding-x:calc(16px*var(--itinerary-scale));--itinerary-input-font-size:calc(14px*var(--itinerary-scale));--itinerary-input-border-width:calc(2px*var(--itinerary-scale));--itinerary-marker-padding-y:calc(10px*var(--itinerary-scale));--itinerary-marker-padding-x:calc(16px*var(--itinerary-scale));--itinerary-marker-font-size:calc(13px*var(--itinerary-scale));--itinerary-marker-font-size-desktop:calc(14px*var(--itinerary-scale));--itinerary-marker-offset:calc(12px*var(--itinerary-scale));--itinerary-marker-offset-desktop:calc(14px*var(--itinerary-scale));--itinerary-marker-top:calc(-8px*var(--itinerary-scale));--itinerary-marker-top-desktop:calc(-10px*var(--itinerary-scale));--itinerary-header-margin-top:calc(10px*var(--itinerary-scale))}.stepper{border:1.5px solid var(--color-border);border-radius:var(--radius-full);gap:0;overflow:hidden;width:fit-content}.stepper,.stepper button{align-items:center;display:flex}.stepper button{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:20px;font-weight:600;height:44px;justify-content:center;transition:background var(--duration-fast) var(--ease-out);user-select:none;width:44px}.stepper button:hover{background:var(--color-primary-light)}.stepper button:active{background:var(--color-primary-surface)}.stepper button:disabled{color:var(--color-border);cursor:not-allowed}.stepper button:disabled:hover{background:transparent}.stepper .stepper-value{border-left:1.5px solid var(--color-border);border-right:1.5px solid var(--color-border);color:var(--color-text);font-size:18px;font-weight:600;line-height:44px;min-width:36px;text-align:center;user-select:none}.travelers-row{flex-wrap:nowrap;gap:12px}.traveler-group,.travelers-row{align-items:center;display:flex}.traveler-group{gap:8px}.traveler-label{color:var(--color-text-secondary);font-size:14px;white-space:nowrap}@media screen and (max-width:479px){.travelers-row .stepper button{font-size:18px;height:36px;width:36px}.travelers-row .stepper .stepper-value{font-size:16px;line-height:36px;min-width:28px}.traveler-label{font-size:13px}.traveler-group{gap:6px}}@media screen and (min-width:480px){.travelers-row{gap:24px}.traveler-group{gap:12px}.traveler-label{font-size:15px}}.duration-slider-group{display:flex;flex-direction:column;gap:8px}.duration-slider-value{color:var(--color-primary);font-size:30px;font-weight:700;text-align:center}.duration-slider-value span{font-size:36px}.duration-slider{-webkit-appearance:none;appearance:none;background:var(--color-border);border-radius:4px;cursor:pointer;height:8px;margin:4px 0;outline:none;width:100%}.duration-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--color-primary) 0,var(--color-primary) var(--slider-progress,20%),var(--color-border) var(--slider-progress,20%),var(--color-border) 100%);border-radius:4px;height:8px}.duration-slider::-moz-range-track{background:var(--color-border);border-radius:4px;height:8px}.duration-slider::-moz-range-progress{background:var(--color-primary);border-radius:4px;height:8px}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-primary);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 10px rgba(1,174,212,.35);cursor:pointer;height:28px;margin-top:-10px;transition:box-shadow var(--duration-fast) var(--ease-out);width:28px}.duration-slider::-moz-range-thumb{background:var(--color-primary);border:3px solid #fff;border-radius:50%;box-shadow:0 2px 10px rgba(1,174,212,.35);cursor:pointer;height:28px;width:28px}.duration-slider::-webkit-slider-thumb:hover{box-shadow:0 2px 14px rgba(1,174,212,.55)}.duration-slider::-moz-range-thumb:hover{box-shadow:0 2px 14px rgba(1,174,212,.55)}.duration-slider-labels{color:var(--color-text-muted);display:flex;font-size:12px;font-weight:500;justify-content:space-between}.duration-flex-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.duration-flex-label{color:var(--color-text-muted);flex-shrink:0;font-size:13px;font-weight:500}.duration-flex-buttons{display:flex;flex-wrap:wrap;gap:6px}.duration-flex-btn{background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:Nunito Sans,sans-serif;font-size:13px;font-weight:600;padding:6px 14px;text-align:center;transition:all var(--duration-fast) var(--ease-out)}.duration-flex-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.duration-flex-btn.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-primary);color:#fff}.duration-flex-hint{color:var(--color-text-muted);font-size:13px;margin-top:-2px;text-align:center}.duration-group{display:flex;flex-wrap:wrap;gap:8px}.duration-group span{background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:inline-block;font-size:16px;line-height:40px;min-width:60px;padding:5px 12px;position:relative;text-align:center;transition:all var(--duration-normal) var(--ease-out)}@media (hover:hover){.duration-group span:hover{border-color:var(--color-primary);color:var(--color-text-secondary)}}@media (hover:none){.duration-group span:not(:has(input:checked)){background:transparent!important;border-color:var(--color-border)!important;box-shadow:none!important;color:var(--color-text-muted)!important}}.duration-group span:has(input:checked){background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-primary);color:#fff}.duration-group input[type=checkbox],.duration-group input[type=radio]{cursor:pointer;height:100%;inset:0;margin:0;opacity:0;outline:none;padding:0;position:absolute;width:100%;z-index:1}.duration-group span:has(input:focus:not(:focus-visible)){border-color:var(--color-border);outline:none}.duration-group span:has(input:checked):has(input:focus:not(:focus-visible)){border-color:var(--color-primary)}#localIslandFiltersSection .radio-group span,#localIslandFiltersSection .transport-group label,#resortFiltersSection .transport-group label{border-radius:var(--radius-md)}#liVegetationGroup{gap:4px}#liVegetationGroup span{align-items:center;display:inline-flex;flex:1;flex-direction:column;justify-content:center;line-height:1.3;min-width:0;padding:8px 5px}@media screen and (max-width:767px){#liVegetationGroup{justify-content:space-between}}.clear-filters-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:13px;margin-left:auto;padding:2px 0;text-decoration:underline;text-underline-offset:2px;transition:opacity var(--duration-normal) var(--ease-out)}.clear-filters-btn:hover{opacity:.7}#islandSizeGroup,#resortSizeGroup{flex-wrap:nowrap}#islandSizeGroup span,#resortSizeGroup span{flex:1;line-height:1.3;min-width:0;padding:6px 12px}#islandSizeGroup span{font-size:13px;padding:6px 8px}#liIslandSizeGroup,#liPopulationGroup{flex-wrap:nowrap}#liIslandSizeGroup span,#liPopulationGroup span{flex:1;font-size:13px;line-height:1.3;min-width:0;padding:6px 8px}.month-picker{align-items:center;display:flex;flex-wrap:nowrap;gap:8px}.month-picker select{appearance:none;-webkit-appearance:none;background:var(--color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235a6478' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;flex:1;font-family:Nunito Sans,sans-serif;font-size:14px;font-weight:500;min-width:0;outline:none;padding:12px 30px 12px 14px;transition:border-color var(--duration-fast) var(--ease-out)}.month-picker select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(1,174,212,.15)}.month-picker .month-separator{color:var(--color-text-muted);flex-shrink:0;font-size:14px;font-weight:500}@media screen and (min-width:480px){.month-picker{gap:12px}.month-picker select{background-position:right 14px center;flex:0 0 auto;font-size:15px;min-width:140px;padding:12px 36px 12px 16px}.month-picker .month-separator{font-size:15px}}.include-group{display:flex;flex-direction:column;gap:10px}.include-option{align-items:center;background:var(--color-bg);border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;padding:14px 16px;position:relative;transition:all var(--duration-fast) var(--ease-out)}.include-option:hover{background:rgba(1,174,212,.06)}.include-option.selected{background:var(--color-primary-light)}.include-option input[type=checkbox]{cursor:pointer;height:100%;inset:0;margin:0;opacity:0;position:absolute;width:100%;z-index:1}.include-icon{flex-shrink:0;font-size:26px;line-height:1}.include-text{display:flex;flex-direction:column;gap:2px}.include-text strong{color:var(--color-text);font-size:15px;font-weight:600}.include-text span{color:var(--color-text-muted);font-size:13px}.include-option.selected .include-text strong{color:var(--color-primary)}.include-option:after{background:transparent;border:2px solid var(--color-border);border-radius:6px;content:"";flex-shrink:0;height:22px;margin-left:auto;transition:all var(--duration-fast) var(--ease-out);width:22px}.include-option.selected:after{background:var(--color-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 5 3.5 3.5 6.5-7'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border-color:var(--color-primary)}@media screen and (min-width:480px){.include-group{flex-direction:row;gap:12px}.include-option{flex:1}}.itinerary-textarea{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:Nunito Sans,sans-serif;font-size:15px;min-height:100px;outline:none;padding:14px 16px;resize:vertical;transition:border-color var(--duration-fast) var(--ease-out);width:100%}.itinerary-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(1,174,212,.15)}.itinerary-textarea::placeholder{color:var(--color-text-muted)}.loading-overlay{align-items:center;background:rgba(247,248,250,.95);display:flex;flex-direction:column;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .4s var(--ease-out);z-index:9999}.loading-overlay.active{opacity:1;pointer-events:all}.loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:56px;width:56px}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:var(--color-text);font-size:18px;font-weight:600;margin-top:24px;text-align:center}.loading-subtext{color:var(--color-text-muted);font-size:14px;margin-top:8px;text-align:center}.loading-dots:after{animation:dots 1.5s steps(4) infinite;content:""}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.itinerary-header{margin:0 auto;max-width:900px;padding:24px 20px}.itinerary-title{color:var(--color-text);font-size:var(--itinerary-title-size);font-weight:700;line-height:1.3;margin:0 0 12px}.itinerary-title[contenteditable=true]{border-bottom:2px dashed var(--color-border);cursor:text;outline:none}.itinerary-title[contenteditable=true]:focus{border-bottom-color:var(--color-primary)}.itinerary-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.itinerary-meta-item{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--itinerary-meta-size);font-weight:500;gap:8px}.itinerary-meta-item img,.itinerary-meta-item svg{flex-shrink:0;height:var(--itinerary-meta-icon-size);width:var(--itinerary-meta-icon-size)}.itinerary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.itinerary-actions .btn-secondary{align-items:center;background:var(--color-surface);border:var(--itinerary-btn-border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:Nunito Sans,sans-serif;font-size:var(--itinerary-btn-font-size);font-weight:600;gap:8px;padding:var(--itinerary-btn-padding-y) var(--itinerary-btn-padding-x);transition:all var(--duration-fast) var(--ease-out)}.itinerary-actions .btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.itinerary-actions .btn-secondary.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.view-tabs{background:var(--color-bg);border-radius:var(--radius-lg);display:flex;gap:4px;margin:20px auto 0;max-width:280px;padding:4px}.view-tab{background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;flex:1;font-family:Nunito Sans,sans-serif;font-size:var(--itinerary-btn-font-size);font-weight:600;padding:var(--itinerary-btn-padding-y) var(--itinerary-btn-padding-x);text-align:center;transition:all var(--duration-normal) var(--ease-out)}.view-tab:hover:not(.active){background:var(--color-primary-light);color:var(--color-text)}.view-tab.active{background:var(--color-primary);box-shadow:var(--shadow-primary);color:#fff}.timeline-container{margin:32px auto;max-width:900px;padding:0 20px;position:relative}.timeline-line{display:none}.day-card{animation:cardFadeIn .4s var(--ease-out) both;margin-bottom:24px;margin-left:0;margin-right:auto;max-width:600px;position:relative;width:100%}.day-card:nth-child(2n){margin-left:auto;margin-right:0}@media screen and (min-width:768px){.day-card{max-width:500px}}.day-marker{align-items:center;background:var(--color-primary);border-radius:var(--radius-sm);box-shadow:0 2px 8px rgba(1,174,212,.3);color:#fff;display:flex;font-size:var(--itinerary-marker-font-size);font-weight:700;justify-content:center;left:calc(var(--itinerary-marker-offset)*-1);line-height:1.2;padding:var(--itinerary-marker-padding-y) var(--itinerary-marker-padding-x);position:absolute;top:var(--itinerary-marker-top);white-space:nowrap;z-index:2}.day-card:nth-child(2n) .day-marker{left:auto;right:calc(var(--itinerary-marker-offset)*-1)}@media screen and (min-width:768px){.day-marker{font-size:var(--itinerary-marker-font-size-desktop);left:calc(var(--itinerary-marker-offset-desktop)*-1);top:var(--itinerary-marker-top-desktop)}.day-card:nth-child(2n) .day-marker{left:auto;right:calc(var(--itinerary-marker-offset-desktop)*-1)}}.day-card-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--itinerary-card-padding);transition:box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.day-card-content:hover{border-color:rgba(1,174,212,.3);box-shadow:var(--shadow-md)}.day-card-header{align-items:flex-start;display:flex;flex-direction:column;gap:8px;margin-bottom:12px;margin-top:var(--itinerary-header-margin-top)}.day-card-title{color:var(--color-text);font-size:var(--itinerary-card-title-size);font-weight:700;line-height:1.3;margin:0;text-align:left;width:100%}.day-card:nth-child(odd) .day-card-title{text-align:right}.day-card-type-labels{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.day-card-type{border-radius:var(--radius-full);flex-shrink:0;font-size:var(--itinerary-badge-size);font-weight:700;letter-spacing:.05em;padding:var(--itinerary-badge-padding-y) var(--itinerary-badge-padding-x);text-transform:uppercase;white-space:nowrap}.day-card-type.resort{background:rgba(1,174,212,.12);color:var(--color-primary)}.day-card-type.local-island{background:rgba(16,185,129,.12);color:var(--color-success)}.day-card-type.travel{background:rgba(245,158,11,.12);color:#f59e0b}.day-card-description{color:var(--color-text-secondary);font-size:var(--itinerary-card-description-size);line-height:1.6;margin:0 0 18px}.day-card-details{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.day-card-detail{align-items:center;background:var(--color-bg);border-radius:var(--radius-full);color:var(--color-text-secondary);display:flex;font-size:var(--itinerary-card-detail-size);gap:8px;padding:var(--itinerary-card-detail-padding-y) var(--itinerary-card-detail-padding-x)}.day-card-detail img{height:var(--itinerary-card-detail-icon-size);width:var(--itinerary-card-detail-icon-size)}.day-card-activities{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.day-card-activities li{background:var(--color-primary-light);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--itinerary-tag-size);font-weight:500;padding:var(--itinerary-tag-padding-y) var(--itinerary-tag-padding-x)}.map-container{display:none;margin:32px auto;max-width:900px;padding:0 20px}.map-container.active{display:block}.maldives-map{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:24px;position:relative}.maldives-map svg{height:auto;max-height:600px;width:100%}.map-marker{cursor:pointer;transition:transform var(--duration-fast) var(--ease-out)}.map-marker:hover{transform:scale(1.2)}.map-marker-label{font-size:11px;font-weight:700;fill:var(--color-text);text-anchor:middle}.map-tooltip{background:var(--color-text);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);color:#fff;font-size:13px;max-width:220px;opacity:0;padding:10px 14px;pointer-events:none;position:absolute;transition:opacity var(--duration-fast) var(--ease-out);z-index:10}.map-tooltip.visible{opacity:1}.map-legend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:16px}.map-legend-item{align-items:center;color:var(--color-text-secondary);display:flex;font-size:13px;gap:6px}.map-legend-dot{border-radius:50%;height:10px;width:10px}.map-legend-dot.resort{background:var(--color-primary)}.map-legend-dot.local-island{background:var(--color-success)}.share-modal-overlay{align-items:center;background:rgba(26,26,46,.45);display:flex;inset:0;justify-content:center;opacity:0;padding:20px;pointer-events:none;position:fixed;transition:opacity .3s var(--ease-out);z-index:9998}.share-modal-overlay.active{opacity:1;pointer-events:all}.share-modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:440px;padding:32px;transform:translateY(20px);transition:transform .3s var(--ease-out);width:100%}.share-modal-overlay.active .share-modal{transform:translateY(0)}.share-modal h3{font-size:22px;margin:0 0 8px}.share-modal p{color:var(--color-text-secondary);font-size:15px;margin:0 0 24px}.share-options{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.share-option{align-items:center;border:var(--itinerary-input-border-width) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:14px;padding:16px 18px;position:relative;transition:all var(--duration-fast) var(--ease-out)}.share-option.selected,.share-option:hover{border-color:var(--color-primary)}.share-option.selected{background:var(--color-primary-light)}.share-option input[type=radio]{cursor:pointer;height:100%;inset:0;margin:0;opacity:0;position:absolute;width:100%;z-index:1}.share-option-radio{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;height:20px;position:relative;transition:border-color var(--duration-fast) var(--ease-out);width:20px}.share-option.selected .share-option-radio{border-color:var(--color-primary)}.share-option.selected .share-option-radio:after{background:var(--color-primary);border-radius:50%;bottom:3px;content:"";left:3px;position:absolute;right:3px;top:3px}.share-option-text strong{color:var(--color-text);display:block;font-size:16px;margin-bottom:3px}.share-option-text span{color:var(--color-text-muted);font-size:14px}.share-link-box{display:flex;gap:8px}.share-link-input{background:var(--color-bg);border:var(--itinerary-input-border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1;outline:none;padding:var(--itinerary-input-padding-y) var(--itinerary-input-padding-x)}.share-copy-btn,.share-link-input{font-family:Nunito Sans,sans-serif;font-size:var(--itinerary-input-font-size)}.share-copy-btn{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:600;padding:var(--itinerary-input-padding-y) 22px;transition:background var(--duration-fast) var(--ease-out);white-space:nowrap}.share-copy-btn:hover{background:var(--color-primary-hover)}.share-modal-close{align-items:center;background:var(--color-bg);border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all var(--duration-fast) var(--ease-out);width:32px}.share-modal-close:hover{background:var(--color-border);color:var(--color-text)}.budget-summary{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 20px 24px;max-width:900px;padding:var(--itinerary-budget-padding-y) var(--itinerary-budget-padding-x)}@media screen and (min-width:940px){.budget-summary{margin-left:auto;margin-right:auto}}.budget-summary-label{color:var(--color-text-secondary);font-size:var(--itinerary-budget-label-size);font-weight:500}.budget-summary-value{color:var(--color-primary);font-size:var(--itinerary-budget-value-size);font-weight:700}.view-only .drag-handle{display:none}.view-only .day-card{cursor:default}.view-only .itinerary-title[contenteditable]{border-bottom:none;cursor:default}.resorts-form{overflow-x:hidden}#itineraryForm .form-row>label{font-size:16px;font-weight:600}#itineraryForm .range-slider{--thumb-width:30px;--thumb-height:30px}#itineraryForm .range-track{height:8px}#transportGroup label{border-radius:var(--radius-md)}.transport-group label:has(input:focus:not(:focus-visible)){border-color:var(--color-border);outline:none}.transport-group label:has(input:checked):has(input:focus:not(:focus-visible)){border-color:var(--color-primary)}#atollFilterGroup,#liCanSeeGroup,#liExcludeVibeGroup,#liUtilitiesGroup,#liVibeGroup{display:flex;flex-flow:row wrap;gap:10px}#atollFilterGroup label,#liCanSeeGroup label,#liExcludeVibeGroup label,#liUtilitiesGroup label,#liVibeGroup label{align-items:center;background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:15px;gap:6px;justify-content:center;line-height:28px;padding:12px 14px;position:relative;text-align:center;transition:all var(--duration-normal) var(--ease-out)}#atollFilterGroup label:hover,#liCanSeeGroup label:hover,#liExcludeVibeGroup label:hover,#liUtilitiesGroup label:hover,#liVibeGroup label:hover{border-color:var(--color-primary);color:var(--color-text)}#atollFilterGroup label:has(input:checked),#liCanSeeGroup label:has(input:checked),#liExcludeVibeGroup label:has(input:checked),#liUtilitiesGroup label:has(input:checked),#liVibeGroup label:has(input:checked){background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-primary);color:#fff}#atollFilterGroup label:has(input:focus-visible),#liCanSeeGroup label:has(input:focus-visible),#liExcludeVibeGroup label:has(input:focus-visible),#liUtilitiesGroup label:has(input:focus-visible),#liVibeGroup label:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}#atollFilterGroup input[type=checkbox],#liCanSeeGroup input[type=checkbox],#liExcludeVibeGroup input[type=checkbox],#liUtilitiesGroup input[type=checkbox],#liVibeGroup input[type=checkbox]{cursor:pointer;height:100%;inset:0;margin:0;opacity:0;padding:0;position:absolute;width:100%;z-index:1}#liUtilitiesGroup{grid-template-columns:repeat(3,1fr)!important}@media screen and (max-width:767px){#liUtilitiesGroup{grid-template-columns:repeat(2,1fr)!important}#liUtilitiesGroup label{font-size:14px;line-height:1.1;padding:18px 20px}#liExcludeVibeGroup,#liVibeGroup{grid-template-columns:repeat(2,1fr)!important}}@media screen and (max-width:480px){.itinerary-title{font-size:var(--itinerary-title-size-mobile)}.day-card-header{gap:8px}.day-card-header,.itinerary-actions{flex-direction:column}.itinerary-actions .btn,.itinerary-actions .btn-secondary{justify-content:center;width:100%}.share-modal{padding:24px}.budget-summary{flex-direction:column;text-align:center}.day-card-content{padding:12px}.card-resort-images{border-radius:var(--radius-md);left:50%;margin-bottom:12px;position:relative;transform:translateX(-50%);width:calc(100% + 24px)}.card-destination-details{margin-top:12px;padding-top:12px}.card-resort-rows .resort-atoll img,.card-resort-rows .resort-transport img{height:20px!important;max-height:20px!important;width:20px!important}}.floating-merged-count{background-color:var(--color-surface);border-radius:50px;bottom:20px;box-shadow:var(--shadow-lg);display:none;left:50%;max-width:calc(100vw - 32px);overflow:hidden;position:fixed;transform:translateX(-50%);transition:all .3s ease;z-index:100}.floating-merged-count.show-both{display:flex;flex-direction:row;padding:0}.floating-merged-count.show-local-only,.floating-merged-count.show-resort-only{align-items:center;display:flex;gap:8px;padding:10px 20px}.count-section{align-items:center;display:flex;flex-direction:column;gap:2px;padding:10px 16px;white-space:nowrap}.count-section-row{align-items:center;display:flex;gap:5px}.floating-merged-count.show-both .count-section{flex:1}.floating-merged-count.show-both .local-island-section{border-right:1px solid var(--color-border)}.floating-merged-count.show-local-only .resort-section,.floating-merged-count.show-resort-only .local-island-section{display:none}.floating-merged-count.show-local-only .count-section,.floating-merged-count.show-resort-only .count-section{flex-direction:row;gap:8px;padding:0}.floating-merged-count.show-local-only .count-section-row,.floating-merged-count.show-resort-only .count-section-row{gap:4px}.count-label{color:var(--color-text-secondary);font-size:10px;font-weight:500;line-height:1.2}.count-value{color:var(--color-primary);font-size:16px;font-weight:700;line-height:1}@media screen and (min-width:640px){.floating-merged-count{max-width:none}.count-section{padding:12px 20px}.count-label{font-size:11px}.count-value{font-size:18px}.floating-merged-count.show-local-only,.floating-merged-count.show-resort-only{padding:12px 24px}}@media screen and (min-width:768px){.itinerary-header{padding:32px 40px}.itinerary-title{font-size:var(--itinerary-title-size-desktop)}.map-container,.timeline-container{padding:0 40px}}.card-destination-details,.day-card-footer-details{border-top:1px solid var(--color-divider);margin-top:16px;padding-top:16px}.day-card-footer-details{display:flex;flex-wrap:wrap;gap:12px}.card-resort-images{aspect-ratio:1.5;border-radius:var(--radius-lg);margin-bottom:18px;overflow:hidden;position:relative;width:100%}.card-resort-images img{height:100%;max-width:none;object-fit:cover;width:100%}.card-resort-images .swiper-slide{height:0;padding-bottom:66.67%}.card-resort-images .swiper-slide img{height:100%;left:0;position:absolute;top:0;width:100%}.card-resort-images .swiper-pagination-bullet{background:hsla(0,0%,100%,.5);opacity:1}.card-resort-images .swiper-pagination-bullet-active{background:#fff}.card-resort-images .swiper-button-next,.card-resort-images .swiper-button-prev{background:none;color:hsla(0,0%,100%,.4);cursor:pointer;display:none;height:100%;margin:0;padding:0 20px;position:absolute;top:0;transition:color .2s var(--ease-out);z-index:11}.card-resort-images .swiper-button-next:hover,.card-resort-images .swiper-button-prev:hover{color:#fff}.card-resort-images .swiper-button-next:after,.card-resort-images .swiper-button-prev:after{font-size:calc(var(--swiper-navigation-size)*.7)}@media screen and (min-width:768px){.card-resort-images .swiper-button-next,.card-resort-images .swiper-button-prev{display:flex;--swiper-navigation-size:34px}.card-resort-images .swiper-pagination{display:none}}@media screen and (max-width:767px){.card-resort-images .swiper-pagination{display:block;opacity:.7}}.card-local-island-header{align-items:baseline;display:flex;flex-direction:row;gap:6px;justify-content:flex-end;padding:10px 16px 14px}.card-local-island-name{color:var(--color-text);font-size:22px;font-weight:700}.card-resort-rows{display:flex;flex-direction:column;gap:18px}.card-resort-rows .card-row{display:flex;font-size:15px;line-height:22px}.card-resort-rows .resort-main-features{border-top:1px solid var(--color-divider);display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.resort-features-title{color:var(--color-text);font-size:14px;font-weight:600;margin-bottom:4px;width:100%}.resort-feature-badge{align-items:center;background:var(--color-primary-light);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:13px;font-weight:600;gap:4px;padding:6px 14px}.card-resort-rows .resort-main-features:empty{border:0;display:none;padding:0}.card-resort-rows .resort-features-section{padding-bottom:8px}.card-resort-rows .resort-features{align-items:flex-start;border-bottom:1px solid var(--color-divider);gap:10px;justify-content:space-between;padding-bottom:18px}.card-resort-rows .resort-feature{align-items:center;background:transparent;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;font-size:13px;line-height:18px;padding:12px 6px;text-align:center;width:100%}.card-resort-rows .resort-feature.inactive{opacity:.2}.card-resort-rows .resort-feature img{height:44px;margin:0;object-fit:contain;width:44px}@media screen and (max-width:767px){.card-resort-rows .resort-feature img,.card-resort-rows .resort-feature-icon{height:32px;width:32px}.card-resort-rows .resort-atoll img,.card-resort-rows .resort-transport img{height:22px!important;max-height:22px!important;width:22px!important}}.card-resort-rows .resort-feature span{display:block;margin-top:4px}.card-resort-rows .resort-age-restrictions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.card-resort-rows .resort-age{align-items:center;border:1.5px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:6px;padding:8px 12px}.card-resort-rows .resort-age.inactive{opacity:.2}.card-resort-rows .resort-age img{height:22px;width:22px}.card-resort-rows .resort-transport{align-items:center;background:var(--color-gradient);-webkit-background-clip:text;display:flex;flex-wrap:wrap;font-weight:600;gap:10px;-webkit-text-fill-color:transparent;background-clip:text}.card-resort-rows .resort-transport img{height:30px;max-height:30px;object-fit:contain;width:30px}.card-resort-rows .resort-transport .inactive img{opacity:.12}.card-resort-rows .resort-atoll{align-items:center;background:var(--color-gradient);-webkit-background-clip:text;display:flex;font-weight:600;gap:10px;-webkit-text-fill-color:transparent;background-clip:text}.card-resort-rows .resort-atoll img{height:30px;max-height:30px;object-fit:contain;width:30px}.card-resort-reachable-by{background:none;color:var(--color-text-secondary);font-size:13px;font-weight:600;margin-right:4px;white-space:nowrap;-webkit-text-fill-color:var(--color-text-secondary);flex-basis:100%;width:100%}.card-resort-rows .resort-details{border-top:1px solid var(--color-divider);display:flex;gap:16px;justify-content:space-between;padding-top:18px}.card-resort-rows .resort-detail{align-items:center;background:var(--color-gradient);-webkit-background-clip:text;display:flex;font-size:16px;font-weight:700;gap:8px;-webkit-text-fill-color:transparent;background-clip:text}.card-resort-rows .resort-detail img{height:28px;max-height:28px;object-fit:contain;width:28px}.resort-detail-value{display:flex;flex-direction:column;gap:1px}.resort-detail-label{background:none;font-size:11px;font-weight:500;-webkit-text-fill-color:var(--color-text-muted);color:var(--color-text-muted);line-height:1.2}.card-destination-facts{display:flex;flex-wrap:wrap;gap:8px}.dest-fact{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:13px;font-weight:500;padding:4px 12px}.dest-fact--vibe{font-style:italic;text-transform:capitalize}.card-destination-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dest-badge{background:var(--color-primary-light);border-radius:var(--radius-full);color:var(--color-primary);font-size:12px;font-weight:600;padding:4px 12px}