:root{--primary-color: #013440;--secondary-color: #FF9B2F;--accent-color: #FF9B2F;--accent-color-hover: #fa9e3c;--text-dark: #333;--text-light: #666;--bg-light: #F8F9FA;--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;line-height:1.6;color:#333;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-weight:500;line-height:1.2}h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:2rem}h4{font-size:1.5rem}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:80px 0}.navbar{position:fixed;top:0;width:100%;background:#fffffff2;z-index:1000;transition:all .3s ease;border-bottom:1px solid rgba(0,0,0,.1)}.navbar.scrolled{background:#fffffffa;box-shadow:0 2px 20px #0000001a}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto}.nav-logo h1{color:#b8860b;font-size:2rem;font-weight:700}.nav-logo .logo{height:65px;width:168px}.nav-menu{display:flex;align-items:center;gap:2rem}.nav-link{text-decoration:none;color:#333;font-weight:500;transition:color .3s ease;position:relative}.nav-link:hover{color:#b8860b}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:#b8860b;transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-link.active,.nav-link .active{color:#b8860b}.nav-actions{display:flex;align-items:center;gap:1rem}.cart-btn{position:relative;background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background .3s ease}.cart-btn:hover{background:#b8860b1a}.cart-count{position:absolute;top:0;right:0;background:#ff9b2f;color:#fff;font-size:.7rem;padding:.2rem .4rem;border-radius:50%;min-width:1.2rem;text-align:center}.auth-btn{background:#ff9b2f;color:#fff;border:none;padding:.7rem 1.5rem;border-radius:25px;cursor:pointer;font-weight:500;transition:all .3s ease}.auth-btn:hover{background:#ff9b2f;transform:translateY(-2px)}.nav-toggle{display:none;flex-direction:column;cursor:pointer}.nav-toggle span{width:25px;height:3px;background:#013440;margin:3px 0;transition:.3s;border-radius:3px}.hero{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-background img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.hero-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#b8860b4d,#0000004d)}.hero-content{text-align:center;color:#fff;z-index:2;max-width:800px;padding:0 20px}.hero-text h1{font-size:4rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero-text p{font-size:1.2rem;margin-bottom:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:1rem 2rem;border:none;border-radius:30px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:#ff9b2f;color:#fff}.btn-primary:hover{background:#ff9b2f;transform:translateY(-2px);box-shadow:#ff9b2f}.btn-secondary{background:transparent;color:#fff;border:2px solid white}.btn-secondary:hover{background:#fff;color:#ff9b2f}.services-overview{padding:80px 0;background:#f8f9fa}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;margin-top:3rem}.service-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0000001a;transition:all .4s ease;position:relative}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #00000026}.service-image{position:relative;height:250px;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.service-card:hover .service-image img{transform:scale(1.05)}.service-content{padding:2.5rem;text-align:center}.service-content h3{color:#013440;margin-bottom:1rem;font-size:1.8rem}.service-content p{color:#7f8c8d;margin-bottom:2rem;line-height:1.6}.service-btn{background:linear-gradient(135deg,#ff9b2f,#f19a3c);color:#fff;text-decoration:none;padding:1rem 2rem;border-radius:30px;font-weight:600;transition:all .3s ease;display:inline-block;position:relative;overflow:hidden}.service-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #b8860b4d}.service-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.service-btn:hover:before{left:100%}.page-header{height:60vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:80px}.page-header-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.page-header-background img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}.page-header-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,#b8860b66,#0006)}.page-header-content{text-align:center;color:#fff;z-index:2;max-width:800px;padding:0 20px}.page-header-content h1{font-size:3.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.page-header-content p{font-size:1.3rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{color:#013440;margin-bottom:1rem}.section-header p{font-size:1.1rem;color:#7f8c8d;max-width:600px;margin:0 auto}.restaurant-section{background:#f8f9fa}.menu-categories{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.category-btn{background:#fff;border:2px solid #E9ECEF;padding:.7rem 1.5rem;border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500}.category-btn:hover,.category-btn.active{background:#111fec;color:#fff;border-color:#111fec}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.menu-item{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #0000001a;transition:all .3s ease;cursor:pointer}.menu-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.menu-item-container-image{width:100%;height:200px;display:flex;justify-content:center;align-items:center;background:#f1f1f1;overflow:hidden}.menu-item-image{max-width:100%;max-height:100%;object-fit:contain}.menu-item-content{padding:1.5rem}.menu-item-name{font-size:1.3rem;margin-bottom:.5rem;color:#013440}.menu-item-description{color:#7f8c8d;margin-bottom:1rem;font-size:.9rem}.menu-item-footer{display:flex;justify-content:space-between;align-items:center}.menu-item-price{font-size:1.2rem;font-weight:600;color:#ff9b2f}.add-to-cart{background:#ff9b2f;color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s ease;font-weight:500}.add-to-cart:hover{background:#9a7209;transform:scale(1.05)}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.room-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #0000001a;transition:all .3s ease}.room-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.room-image{width:100%;height:250px;object-fit:cover}.room-content{padding:2rem}.room-amenities{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.amenity{background:#f8f9fa;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;color:#6c757d}.room-footer{display:flex;justify-content:space-between;align-items:center}.supermarket-section{background:#f8f9fa}.product-categories{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.product-item{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #0000001a;transition:all .3s ease;position:relative}.product-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.product-image-container{width:100%;height:200px;display:flex;justify-content:center;align-items:center;background:#f1f1f1;overflow:hidden}.product-image{max-width:100%;max-height:100%;object-fit:contain}.product-content{padding:1.5rem}.product-name{font-size:1.2rem;margin-bottom:.5rem;color:#013440}.product-description{color:#7f8c8d;margin-bottom:1rem;font-size:.9rem}.product-footer{display:flex;justify-content:space-between;align-items:center}.product-price{font-size:1.1rem;font-weight:600;color:#ff9b2f}.product-availability{position:absolute;top:10px;right:10px;background:#28a745;color:#fff;padding:.3rem .8rem;border-radius:15px;font-size:.8rem}.product-availability.out-of-stock{background:#dc3545}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:2000;animation:fadeIn .3s ease}.modal.show{display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;border-radius:15px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideInUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:1px solid #E9ECEF;padding-bottom:1rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;transition:color .3s ease}.close-btn:hover{color:#333}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.8rem;border:2px solid #E9ECEF;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d90404}.cart-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #E9ECEF}.cart-item:last-child{border-bottom:none}.cart-item-image{width:60px;height:60px;object-fit:cover;border-radius:8px}.cart-item-details{flex:1}.cart-item-name{font-weight:500;margin-bottom:.2rem}.cart-item-price{color:#ff9b2f;font-weight:600}.cart-item-controls{display:flex;align-items:center;gap:.5rem}.quantity-btn{background:#e9ecef;border:none;padding:.3rem .6rem;border-radius:50%;cursor:pointer;transition:background .3s ease}.quantity-btn:hover{background:#d90404;color:#fff}.remove-btn{background:#dc3545;color:#fff;border:none;padding:.3rem .6rem;border-radius:50%;cursor:pointer;transition:background .3s ease}.remove-btn:hover{background:#c82333}.cart-footer{border-top:1px solid #E9ECEF;padding-top:1rem;margin-top:1rem}.cart-total{text-align:center;margin-bottom:1rem}.cart-total p{font-size:1.2rem;font-weight:600}.empty-cart{text-align:center;padding:2rem;color:#7f8c8d}.auth-tabs{display:flex;margin-bottom:2rem;border-bottom:1px solid #E9ECEF}.tab-btn{flex:1;background:none;border:none;padding:1rem;cursor:pointer;transition:all .3s ease;border-bottom:2px solid transparent}.tab-btn.active{color:#d90404;border-bottom-color:#d90404}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-item h4{color:#d90404;margin-bottom:.5rem}.contact-form{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 20px #0000001a}.footer{background:#2c3e50;color:#fff;padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h4{color:#ff9b2f;margin-bottom:1rem}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#bdc3c7;text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:#ff9b2f}.social-links{display:flex;gap:1rem}.social-link{background:#f88509;color:#fff;padding:.5rem 1rem;border-radius:25px;text-decoration:none;transition:all .3s ease}.social-link:hover{background:#fa9e3c;transform:translateY(-2px)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid #34495E;color:#bdc3c7}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;transition:all .3s ease}.loading-overlay.show{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:4px solid #E9ECEF;border-top:4px solid #FF9B2F;border-radius:50%;animation:spin 1s linear infinite}.notification{position:fixed;top:100px;right:20px;background:#28a745;color:#fff;padding:1rem 2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;z-index:2500;transform:translate(400px);transition:transform .3s ease}.notification.show{transform:translate(0)}.notification.error{background:#dc3545}.notification.warning{background:#ffc107;color:#333}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.nav-menu{position:fixed;top:70px;left:-100%;width:100%;height:calc(100vh - 70px);background:#fff;flex-direction:column;justify-content:start;align-items:center;padding-top:2rem;transition:left .3s ease;box-shadow:0 2px 20px #0000001a}.nav-menu.active{left:0}.nav-toggle{display:flex}.nav-toggle.active span:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.hero-text h1{font-size:2.5rem}.hero-buttons{flex-direction:column;align-items:center}.section{padding:60px 0}h1,h2{font-size:2rem}h3{font-size:1.5rem}.menu-grid,.rooms-grid,.products-grid{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr;gap:2rem}.form-row{grid-template-columns:1fr}.modal-content{margin:1rem;padding:1.5rem}.menu-categories,.product-categories{flex-direction:column;align-items:center}.hero-buttons{gap:.5rem}.btn-primary,.btn-secondary{padding:.8rem 1.5rem;width:200px}.cart-item{flex-direction:column;align-items:start;gap:1rem}.cart-item-controls{align-self:end}.page-header{height:50vh}.page-header-content h1{font-size:2.5rem}.page-header-content p{font-size:1.1rem}.services-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width: 480px){.container{padding:0 15px}.nav-container{padding:1rem}.hero-text h1{font-size:2rem}.hero-text p{font-size:1rem}.menu-item-content,.room-content,.product-content{padding:1rem}.notification.show{transform:translateY(0)}.page-header-content h1{font-size:2rem}.page-header-content p{font-size:1rem}.service-content{padding:2rem}}.admin-header{background:linear-gradient(#00000080,#00000080)}.admin-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #E9ECEF}.admin-tabs .tab-btn{flex:1;max-width:250px;background:none;border:none;padding:1rem;cursor:pointer;transition:all .3s ease;font-weight:500;border-bottom:2px solid transparent;color:#7f8c8d}.admin-tabs .tab-btn.active{color:#ff9b2f;border-bottom-color:#ff9b2f}.form-container{background:#fff;padding:2.5rem;border-radius:15px;box-shadow:0 5px 20px #0000001a}.products-list{display:flex;flex-direction:column;gap:1.5rem}.admin-product-item{display:flex;align-items:center;gap:1.5rem;background:#fff;padding:1.5rem;border-radius:15px;box-shadow:0 2px 10px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.admin-product-item:hover{transform:translateY(-5px);box-shadow:0 5px 20px #0000001a}.admin-product-item img{width:80px;height:80px;object-fit:cover;border-radius:10px}.admin-product-details{flex:1}.admin-product-details h4{font-size:1.2rem;color:#013440;margin-bottom:.5rem}.admin-product-details p{font-size:.9rem;color:#7f8c8d}.admin-product-actions{display:flex;gap:.5rem}.admin-action-btn{background:#e9ecef;border:none;padding:.6rem 1rem;border-radius:8px;cursor:pointer;transition:background .3s ease,color .3s ease;font-size:.9rem}.admin-action-btn:hover{background:#d90404;color:#fff}.admin-action-btn.edit{background:#ff9b2f;color:#fff}.admin-action-btn.edit:hover{background:#e38618}.admin-action-btn.delete{background:#dc3545;color:#fff}.admin-action-btn.delete:hover{background:#c82333}.section-header-title{text-align:center;margin-bottom:2.5rem;color:#013440;font-size:2rem}#edit-product-modal .modal-content{max-width:600px}.drop-area{border:2px dashed #B8860B;border-radius:10px;padding:2rem;text-align:center;cursor:pointer;transition:background-color .3s ease,border-color .3s ease;display:flex;justify-content:center;align-items:center}.drop-area p{margin:0;color:#7f8c8d;font-weight:500}.drop-area:hover,.drop-area.highlight{background-color:#f8f9fa;border-color:#ff9b2f}.drop-area input[type=file]{display:none}#image-preview{display:block;max-width:100%;height:auto;margin-top:1rem;border-radius:10px;box-shadow:0 5px 15px #0000001a}.add-btn-area{display:flex;flex-direction:column;justify-content:center;align-items:center}@media (max-width: 768px){.admin-tabs{flex-direction:column;align-items:center;border-bottom:none}.admin-tabs .tab-btn{border-bottom:2px solid #E9ECEF;margin-bottom:1rem}.admin-product-item{flex-direction:column;align-items:center;text-align:center}.admin-product-actions{width:100%;justify-content:center}.admin-action-btn{width:100%}}#add-button{background:transparent;color:#ff9b2f;border:2px solid white}#add-button:hover{background:#fff;color:#f78710}.equipements-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:10px}.equipement{display:flex;align-items:center;gap:8px;padding:10px;border:2px solid #ccc;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#f9f9f9}.equipement:hover{border-color:#f78710;background:#eef5ff}#room-description,#edit-room-description{font-style:italic;color:#555}.hotel-section .rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding-top:2rem}.room-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 8px #0000001a;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.room-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.room-image{width:100%;height:200px;object-fit:cover}.room-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}.room-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.room-name{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:0}.room-category{background-color:var(--secondary-color);color:#fff;padding:.2rem .8rem;border-radius:20px;font-size:.9rem;font-weight:600}.room-description{font-size:1rem;color:#666;margin-bottom:1rem;flex-grow:1}.room-equipments{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.equipment-item{background-color:#e9ecef;color:#495057;padding:.3rem .8rem;border-radius:20px;font-size:.9rem;display:flex;align-items:center;gap:.25rem}.room-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e0e0e0;margin-top:auto}.room-price{font-size:1.8rem;font-weight:700;color:var(--accent-color)}.per-night{font-size:1rem;font-weight:400;color:#666}.reserve-btn{background-color:var(--accent-color);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .3s ease}.reserve-btn:hover{background-color:var(--accent-color-hover);transform:translateY(-2px)}#no-available-text{background:#e72e72;color:#fff;border:none;padding:.8rem 1.1rem;border-radius:50px;cursor:not-allowed;font-size:1rem;font-weight:600;transition:background-color .3s ease}#no-available-text:hover{background-color:red;transform:translate(-2px)}
