:root{--primary:#ff5e14;--primary-light:#ff8a4d;--dark:#121212;--dark-light:#1e1e1e;--light:#fff;--gray:#e0e0e0}body{background-color:var(--dark);color:var(--light);font-family:Segoe UI,system-ui,-apple-system,sans-serif}.main-container{width:100%}.hero-section{position:relative;padding:20px 0 40px;min-height:600px;color:var(--light);display:flex;flex-direction:column;justify-content:space-between;margin-bottom:0;overflow:hidden}.header-slideshow{z-index:0}.header-bg,.header-slideshow{position:absolute;top:0;left:0;width:100%;height:100%}.header-bg{background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:0;transition:opacity 1.5s ease-in-out}.header-bg.active{opacity:1}.header-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.3) 0,rgba(0,0,0,.6));z-index:1}.angola-logo-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;display:flex;align-items:center;justify-content:center}.angola-logo-image{width:120px!important;height:120px!important}@media (min-width:768px){.angola-logo-image{width:160px!important;height:160px!important}}@media (max-width:768px){.hero-section{min-height:450px;padding:15px 0 30px}}@media (max-width:480px){.hero-section{min-height:400px;padding:10px 0 20px}}.hero-section:before{display:none}.hotel-search-container{position:relative;z-index:2;width:100%;max-width:100%;padding:0 20px;margin-top:-80px;display:flex;justify-content:center;margin-bottom:40px}@media (min-width:1024px){.hotel-search-container{padding:0 40px}.hotel-search-container .search-card{max-width:900px;width:100%}}@media (max-width:768px){.hotel-search-container{margin-top:20px;padding:0 15px}}@media (max-width:480px){.hotel-search-container{margin-top:20px;padding:0 10px}}.content-wrapper{position:relative;z-index:2}.hero-section .content-wrapper{position:relative;z-index:1}.hotel-hero{background-image:url(/bg/hotel.webp)}.content-wrapper{max-width:1200px;margin:0 auto;padding:40px 20px 0}.offers-section{padding-top:40px;padding-bottom:80px;position:relative;z-index:5}.header{padding:20px 0;flex:1;display:flex;flex-direction:column;justify-content:flex-start}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.logo{width:150px;height:auto}.avatar{width:40px;height:40px;border-radius:50%;background-color:var(--primary);color:var(--light);display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.page-title{font-size:3rem;font-weight:800;text-align:left;margin-bottom:1rem;background:-webkit-linear-gradient(45deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-subtitle{font-size:1.1rem;text-align:left;color:var(--gray);max-width:500px;margin:0}.search-card{background-color:rgba(30,30,30,.95);backdrop-filter:blur(15px);border-radius:24px;padding:2.5rem;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.15);margin:2rem 0;z-index:10}.search-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.search-form .form-row .form-group:first-child:last-child{grid-column:span 2}.form-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--primary);z-index:2}.form-control{width:100%;padding:1rem 1rem 1rem 3.5rem;border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;background-color:hsla(0,0%,100%,.05);color:var(--light);font-size:1rem;transition:all .3s ease}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 15px rgba(255,94,20,.3)}.search-btn{width:100%;padding:1.2rem;background:linear-gradient(45deg,var(--primary),var(--primary-light));border:none;border-radius:12px;color:var(--light);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.search-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(255,94,20,.4)}.section-title{font-size:1.8rem;font-weight:700;margin:2rem 0 1.5rem;display:flex;justify-content:space-between;align-items:center}.offers-section .section-title:first-child{margin-top:0}.see-all{font-size:.9rem;color:var(--primary);font-weight:500;text-decoration:none}.hotel-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.special-offers{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem}.offer-card{background:var(--dark-light);border-radius:16px;overflow:hidden;color:var(--light);transition:all .3s ease;display:flex;flex-direction:column;position:relative;height:300px}.offer-image-container{position:relative;width:100%;height:180px;overflow:hidden}.offer-fallback-1{background:linear-gradient(135deg,gold,orange)}.offer-fallback-2{background:linear-gradient(135deg,#ff6b9d,#c73866)}.offer-fallback-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.3;z-index:1;pointer-events:none}.offer-image-container:has(.offer-image) .offer-fallback-icon{display:none}.offer-image{transition:transform .3s ease;z-index:2}.offer-card:hover .offer-image{transform:scale(1.1)}.offer-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.8);backdrop-filter:blur(10px);padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:8px;z-index:2}.offer-badge span{font-weight:700;font-size:14px;color:gold}.offer-badge.romantic span{color:#ff6b9d}.offer-content{padding:1.5rem;display:flex;flex-direction:column;flex:1;justify-content:space-between}.offer-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(255,94,20,.3)}.offer-card h3{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:var(--light)}.offer-card p{margin-bottom:1rem;color:var(--gray);font-size:.9rem}.offer-card button{background-color:var(--primary);color:var(--light);border:none;border-radius:8px;padding:.8rem 1.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.offer-card button:hover{background-color:var(--primary-light);transform:translateX(5px)}.room-types{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem}.room-type-card{position:relative;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease}.room-type-card:hover{transform:translateY(-10px)}.room-type-image-container{position:relative;width:100%;height:250px;overflow:hidden;border-radius:16px}.room-type-image{transition:transform .3s ease}.room-type-card:hover .room-type-image{transform:scale(1.1)}.room-type-card h4{position:absolute;bottom:0;left:0;width:100%;padding:1rem;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);color:var(--light);font-size:1.1rem;font-weight:600;margin:0}.hotels-ads,.hotels-promo-ads{margin:2rem 0}.ads-carousel,.hotels-ads,.hotels-promo-ads{width:100%;border-radius:16px;overflow:hidden}.ads-carousel{position:relative;height:250px;margin-bottom:3rem}.ad-slide{position:absolute;width:100%;height:100%;background-size:cover;background-position:50%;opacity:0;transition:opacity 1s ease-in-out}.ad-slide.active{opacity:1}.hotel-card{background-color:var(--dark-light);border-radius:16px;overflow:hidden;transition:all .3s ease;border:1px solid hsla(0,0%,100%,.1)}.hotel-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,.4)}.hotel-image-container{position:relative;width:100%;height:200px;overflow:hidden;border-radius:16px}.hotel-image-container.hotel-fallback{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.hotel-image-container.hotel-fallback:after{content:"🏨";font-size:64px;opacity:.5}.hotel-badge{position:absolute;top:1rem;left:1rem;background-color:rgba(0,0,0,.7);color:var(--light);padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:500}.hotel-info{padding:1.5rem}.hotel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.hotel-name{font-size:1.2rem;font-weight:600}.hotel-rating{display:flex;align-items:center;gap:.3rem;color:var(--primary)}.hotel-location{color:var(--gray);margin-bottom:1rem}.hotel-price{display:flex;align-items:baseline;font-size:1.5rem;font-weight:700;color:var(--primary)}.per-night{font-size:.9rem;color:var(--gray);margin-left:.3rem}@media (max-width:768px){.hero-section{min-height:90vh;padding:10px 0 20px;margin-bottom:-80px}.content-wrapper{padding:20px 15px 0}.offers-section{padding-top:100px}.header-top{margin-bottom:16px}.page-title{font-size:2.2rem}.page-subtitle{font-size:1rem}.search-card{padding:1.5rem;margin:1.5rem 0}.search-form .form-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.search-form .form-row .form-group:first-child:last-child{grid-column:span 1}.form-control{padding:1rem 1rem 1rem 3.5rem;font-size:.9rem}.form-icon{left:1.2rem}.section-title{font-size:1.5rem;margin:2rem 0 1rem}.hotel-list,.room-types,.special-offers{grid-template-columns:1fr;gap:1.5rem}.offer-card{height:280px}.offer-image-container{height:160px}.offer-content{padding:1rem}.offer-card h3{font-size:1rem}.offer-card p{font-size:.85rem}.room-type-image{height:200px}.hotel-info{padding:1rem}.hotels-ads,.hotels-promo-ads{margin:1.5rem 0;border-radius:12px}}@media (max-width:480px){.hero-section{min-height:95vh;margin-bottom:-60px}.page-title{font-size:1.8rem}.page-subtitle{font-size:.9rem}.search-card{padding:1rem;margin:1rem 0}.offers-section{padding-top:80px;padding-bottom:100px}.form-control{padding:.9rem .9rem .9rem 3rem}.form-icon{left:1rem}.offer-card{padding:1.5rem}.offer-card h3{font-size:1.2rem}.hotels-ads,.hotels-promo-ads{margin:1rem 0;border-radius:8px}}.form-control-wrapper .form-control{background:transparent}.form-control-wrapper .form-control,.form-control-wrapper button{width:100%;border:1px solid hsla(0,0%,100%,.2);color:var(--light)}.form-control-wrapper button{height:3rem;background:hsla(0,0%,100%,.05);justify-content:flex-start;text-align:left;padding:0 3.5rem 0 1rem;font-weight:400;border-radius:.5rem;transition:all .3s ease}.form-control-wrapper button:hover{background:hsla(0,0%,100%,.1);border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,94,20,.1)}.form-control-wrapper button:focus{background:hsla(0,0%,100%,.1);border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,94,20,.2)}[data-radix-popper-content-wrapper]{z-index:9999}.rdp{background-color:var(--dark-light)!important;border:1px solid hsla(0,0%,100%,.2)!important;border-radius:.75rem!important}.rdp,.rdp-button{color:var(--light)!important}.rdp-button{background-color:transparent!important;border-radius:.375rem!important}.rdp-button:hover{background-color:hsla(0,0%,100%,.1)!important;color:var(--light)!important}.rdp-button_reset{background-color:transparent!important;color:var(--light)!important}.rdp-day_selected{background-color:var(--primary)!important;color:#fff!important}.rdp-day_selected:hover{background-color:var(--primary-light)!important;color:#fff!important}.rdp-day_today{background-color:hsla(0,0%,100%,.2)!important;color:var(--light)!important;font-weight:700!important}.rdp-head_cell{color:hsla(0,0%,100%,.7)!important;font-weight:600!important}.rdp-caption{color:var(--light)!important;font-weight:600!important}.rdp-nav_button{background-color:transparent!important;border:1px solid hsla(0,0%,100%,.2)!important;color:var(--light)!important}.rdp-nav_button:hover{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.rdp-day_outside{color:hsla(0,0%,100%,.4)!important}.rdp-day_disabled{color:hsla(0,0%,100%,.3)!important;opacity:.5!important}.search-btn:disabled{opacity:.7;cursor:not-allowed}.search-btn:disabled:hover{transform:none}.form-group{position:relative}.form-control-wrapper button:focus,.form-group .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,94,20,.2)}.form-row{margin-bottom:1.5rem}.form-row:last-child{margin-bottom:2rem}@media (min-width:1024px){.content-wrapper{max-width:1400px;padding:0 40px}.hotel-list{grid-template-columns:repeat(3,1fr);gap:2rem}.room-types{grid-template-columns:repeat(4,1fr);gap:2rem}.special-offers{grid-template-columns:repeat(2,1fr);gap:2.5rem}.hotels-ads,.hotels-promo-ads{margin:3rem 0;border-radius:20px;max-width:100%}.section-title{font-size:2rem;margin:3rem 0 2rem}}@media (min-width:1440px){.content-wrapper{max-width:1600px}.hotel-list{grid-template-columns:repeat(4,1fr)}}