@charset "UTF-8";:root{--primary-color: #A0522D;--secondary-color: #4CAF50;--text-color: #333;--background-light: #e8e8e8;--modal-bg: #ffffff;--modal-border: #ddd;--input-bg: #ffffff;--input-border: #6a6a8f}.date-picker-single{--mat-form-field-container-vertical-padding: 0}.date-picker-single{--mat-form-field-container-height: 20px}.date-picker-single{--mdc-outlined-text-field-outline-color: #ccc}.mat-calendar{background-color:#fff;border:1px solid lightgray;border-radius:4px}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;color:var(--text-color);line-height:1.6;background-color:#fff}.container{width:90%;max-width:1200px;margin:0 auto;padding:20px 0}h1,h2,h3{margin-bottom:15px;color:var(--primary-color)}p{padding:10px 0}.tm-10{margin-top:10px}.tm-20{margin-top:20px}.tm-40{margin-top:40px}.bm-0{margin-bottom:0}.bm-15{margin-bottom:15px}.rm-10{margin-right:10px}.pointer{cursor:pointer}.font-smaller{font-size:90%}.font-bigger{font-size:110%}.font-bigger-x{font-size:130%}.review-card,.details-section{padding:10px}.details-section div{display:grid;grid-template-columns:1fr 2fr}.review-card .header{display:flex;gap:30px;align-items:center}.spinner,.spinner2,.spinner3,.spinner4,.spinner5{-webkit-animation:spin 1.4s linear infinite;-moz-animation:spin 1.4s linear infinite;animation:spin 1.4s linear infinite}@-moz-keyframes spin{to{-moz-transform:rotate(360deg)}}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg)}}@keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner{margin-top:60px}.spinner2{margin:30px 0}.center{text-align:center}.main-header{display:flex;justify-content:space-between;align-items:center;padding:15px 5%;background-color:#fff;box-shadow:0 2px 4px #0000000d}.logo{font-size:1.8em;font-weight:700}.main-header nav div{margin-left:20px;text-decoration:none;color:var(--text-color);cursor:pointer}.cta-login{background-color:var(--primary-color);color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer}.hero-section{background:url(/assets/meal.jpg) center/cover no-repeat;min-height:300px;display:flex;justify-content:center;align-items:center;text-align:center;color:#fff;position:relative}.hero-section:before{content:"";position:absolute;inset:0;background:#0000004d}.hero-content{z-index:1}.hero-content h1{font-size:2.5em;margin-bottom:25px;color:#fff}.search-widget{display:flex;background-color:#fff;padding:10px;border-radius:8px}.search-widget:not(.search){box-shadow:0 4px 10px #0000001a}.search-widget input,.search-widget select,select{padding:10px;border:1px solid #ccc;border-radius:4px;margin-right:10px;font-size:1em}.search-widget.search{width:50%}.search-widget.search input{width:100%}.cta-search{background-color:var(--secondary-color);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:700}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#00000040;border:1px solid rgba(0,0,0,.1);color:#333;width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;font-size:18px}.slider-btn:hover{background-color:#fff9;box-shadow:0 0 10px #0000001a}.prev-btn{left:-8px}.next-btn{right:-8px}.category-grid,.city-carrousel{display:flex;gap:20px;margin-top:20px;overflow-x:auto}.category-card,.city-carrousel a{flex-shrink:0;min-width:150px;height:100px;background-color:var(--background-light);border-radius:8px;display:flex;justify-content:center;align-items:center;font-weight:700;text-decoration:none;color:var(--primary-color);border:1px solid #ddd}.results-layout{display:flex;gap:30px;padding-top:30px}.sidebar-filters{flex:0 0 250px;padding:12px 20px;background-color:var(--background-light);border-radius:8px;height:fit-content}.search-confirm{background:var(--background-light);padding:10px 0;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.results-list{flex-grow:1}.sort-options{margin-bottom:20px}.restaurant-card{display:flex;margin-bottom:20px;border:1px solid #eee;border-radius:8px;overflow:hidden;box-shadow:0 2px 5px #0000000d;background-color:#fff}.restaurant-card img{width:200px;height:150px;object-fit:cover}.card-content{padding:15px;flex-grow:1}.reservation-options{flex:0 0 180px;padding:15px;background-color:#fafafa;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}.time-slot{background-color:var(--primary-color);color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer}.more-times{background-color:#ccc;color:var(--text-color)}.detail-layout{display:flex;gap:30px;padding-top:30px;align-items:flex-start}.restaurant-content{flex-grow:1}.photo-gallery{margin-bottom:20px}.photo-gallery img{width:100%;height:350px;object-fit:cover;border-radius:8px}.thumbnail-grid{display:flex;gap:10px;margin-top:10px}.thumbnail-grid img{width:250px;height:170px;object-fit:cover;cursor:pointer}.detail-nav{position:sticky;top:0;background-color:#fff;padding:10px 0;border-bottom:1px solid #eee;margin-bottom:30px;z-index:10}.detail-nav a{margin-right:20px;text-decoration:none;color:var(--primary-color);font-weight:700}.reservation-sidebar{position:sticky;top:70px;flex:0 0 300px;padding:20px;background-color:var(--background-light);border-radius:8px;box-shadow:0 2px 10px #0000001a}.reservation-sidebar .search-widget{flex-direction:column;gap:10px;padding:0;background:transparent;box-shadow:none}.reservation-sidebar .search-widget input,.reservation-sidebar .search-widget select{margin-right:0;width:100%}.cta-reserve{background-color:var(--secondary-color);color:#fff;border:none;padding:12px;border-radius:4px;cursor:pointer;font-weight:700;width:100%;margin-top:10px}.deal-text{margin-top:15px;padding:10px;background-color:#ffe0b2;border-radius:4px;font-size:.9em;text-align:center}.cuisine-info{font-weight:700;padding-bottom:10px}.filter-group{margin-bottom:15px}.reslink{display:none}footer{text-align:center;padding:20px;margin-top:30px;border-top:1px solid #eee;color:#777}.carousel-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding-bottom:20px;scrollbar-width:none}.trending-carousel-section{padding:40px 0 0}.trending-carousel{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box}.trending-carousel::-webkit-scrollbar{display:none}.trending-card{min-width:280px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;text-align:center}.trending-card img{width:100%;height:180px;object-fit:cover;margin-bottom:10px}.trending-card h3{color:var(--primary-color);margin:5px 0}.trending-card p{color:#777;font-size:.9em;margin-bottom:10px}.trending-card button,button.reserve{background-color:var(--secondary-color);color:#fff;border:2px solid var(--secondary-color);padding:8px 15px;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s}button.reserve.light{background-color:#fff;color:var(--secondary-color);border:2px solid var(--secondary-color)}.trending-card button:hover{background-color:#388e3c}.default-flex{display:flex;align-items:center;flex-wrap:wrap}.default-flex:not(.columnwrap,.nogap){gap:8px}.default-flex.columnwrap{column-gap:16px}.default-flex.stretched{justify-content:space-between;padding:4px 0}.default-flex.nowrap{flex-wrap:nowrap}.default-flex.wide{gap:20px}.default-flex.centered{justify-content:center}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;z-index:1000;display:flex;justify-content:center;align-items:center;transition:opacity .3s ease,visibility .3s ease}.robuust-modal{background-color:var(--modal-bg);border-radius:12px;box-shadow:0 5px 15px rgba(var(--shadow-color-rgb),.2);color:var(--modal-text);width:90%;transform:translateY(-20px);transition:transform .3s ease-out,opacity .3s ease-out;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.robuust-modal.wide{max-width:800px;min-height:60vh}.robuust-modal.medium{max-width:650px}.robuust-modal.small{max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;background-color:var(--modal-header-bg);border-bottom:1px solid var(--modal-border);flex-shrink:0}.modal-header h3{margin:0;font-size:1.2em}.modal-content{flex-grow:1;padding:20px;overflow-y:auto}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 25px;background-color:var(--modal-header-bg);border-top:1px solid var(--modal-border);flex-shrink:0}.modal-btn{color:#fff;border:none;padding:12px;border-radius:4px;cursor:pointer;font-weight:700;margin-top:10px}.modal-btn.pri{background-color:var(--primary-color)}.modal-btn.sec{background-color:var(--secondary-color)}.modal-close-btn{background:none;border:none;color:var(--text-color);font-size:1.5em;cursor:pointer;transition:color .2s ease}.modal-close-btn:hover{color:#f0f0f0}.trans-50{opacity:.5}.stars{height:60px;line-height:60px}.mat-icon.large{transform:scale(2.5);margin:0 25px}.mat-icon.medium{transform:scale(2);margin:0 15px}textarea{width:100%;box-shadow:#00000059 0 5px 15px;padding:8px;min-height:120px;border:1px solid lightgrey;border-radius:6px}.radio-group,.checkbox-group{display:flex;flex-wrap:wrap;gap:8px;padding:5px 0}.radio-group label,.checkbox-group label{display:flex;align-items:center;cursor:pointer;font-size:.9em;color:var(--modal-text);margin-bottom:0}.radio-group input[type=radio]{margin-right:8px;accent-color:var(--accent-color);width:18px;height:18px;margin-top:-2px;vertical-align:middle}.checkbox-container,.radio-container{display:block;position:relative;padding-left:30px;cursor:pointer;font-size:.9em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--text-color)}.checkbox-container input,.radio-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark,.radiomark{position:absolute;left:0;top:3px;height:16px;width:16px;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;transition:background-color .2s,border-color .2s}.radiomark{border-radius:50%}.checkbox-container:hover input~.checkmark,.radio-container:hover input~.radiomark{background-color:var(--table-row-hover)}.checkbox-container input:checked~.checkmark,.radio-container input:checked~.radiomark{background-color:var(--accent-color);border-color:var(--accent-color)}.checkmark:after,.radiomark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after,.radio-container input:checked~.radiomark:after{display:block}.checkbox-container .checkmark:after{left:3px;top:-1px;width:5px;height:10px;border:solid var(--input-border);border-width:0 3px 3px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.radio-container .radiomark:after{width:16px;height:16px;border-radius:50%;border:solid var(--input-bg);border-width:2px}.checkbox-group-vertical,.radio-group.vertical{display:flex;flex-direction:column;gap:5px}.checkbox-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.checkbox-group-horizontal,.radio-group-horizontal{display:flex;flex-wrap:wrap;gap:15px}.checkbox-group-horizontal .checkbox-container,.radio-group-horizontal .radio-container{margin-right:5px;margin-bottom:0}.skeletonrb-container.imgholder{height:180px;margin-bottom:10px}.skeletonrb-container.nameholder{height:26px;width:180px;margin:5px auto}.skeletonrb-container.cityholder{height:20px;width:80px;margin:0 auto 10px}.skeletonrb-container.btnholder{height:34px;width:120px;margin:0 auto 10px}.skeletonrb-container.btnresholder{height:16px;width:32px;margin:0 auto}.skeletonrb{background:#d3d3d3;display:block;height:100%;border-radius:6px}.skeletonrb.res{background:red}.skeletonrb:before{content:"";display:block;width:100%;height:100%;background:linear-gradient(to right,transparent,#ffffff,transparent);background-position-x:190%;background-size:200% 100%;animation:loading 1s ease-in-out infinite}@keyframes loading{to{background-position-x:-5%}}.error{color:red;font-size:90%;font-weight:600;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group.full-width{grid-column:1/-1}.form-grid.compact .form-group{align-content:center}.form-group label{font-size:.9em;color:#666}.form-group input{border-radius:5px;font-size:.9em;resize:vertical;padding:10px;width:100%;border:1px solid lightgrey;background-color:#f5f5f5;color:#333;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.persona{display:flex;border-radius:50%;width:2rem;height:2rem;background:#bddbd8;fill:#666}@media (max-width: 768px){.main-header.searchpage{flex-direction:column;align-items:start}.logo{font-size:1.6em}nav:not(.search-widget.search){font-size:.95em}nav.search-widget.search{width:100%}.search-widget{flex-direction:column}.search-widget input,.search-widget select,.cta-search{margin-right:0;margin-bottom:10px;width:100%}.results-layout,.detail-layout{flex-direction:column;gap:20px;padding-top:0}.sidebar-filters,.reservation-sidebar{width:100%;flex:auto;position:static}.restaurant-card{flex-direction:column}.restaurant-card img{width:100%;height:200px}.reservation-options{flex-direction:row;flex-wrap:wrap;flex:initial;justify-content:space-around;gap:5px;padding:0 0 30px}.reslink{display:inline-block}.slider-btn{display:none}.sort-options{display:flex;align-items:center;justify-content:space-between;width:100%}.review-card,.details-section{padding:10px 0}}@media (min-width: 1140px){.reservation-options{flex:0 0 210px}}
