@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Lora:ital,wght@0,400;0,600;1,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap");*{box-sizing:border-box;padding:0;margin:0}body{font-family:Lora,Crimson Text,Libre Baskerville,Georgia,serif;font-size:1.1rem;line-height:1.8;color:rgb(45 45 45);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul{list-style-type:none}h2{font-weight:600;font-family:Libre Baskerville,Lora,serif;line-height:1.4;color:rgb(64 52 42);margin-bottom:.5rem}dialog{&[open]{position:fixed;width:80vw;height:50vh;min-height:270px;top:50%;left:50%;transform:translate(-50%,-50%);z-index:999;border-width:0;border-radius:.75rem;box-shadow:-7px 12px 14px 6px rgb(0 0 0/.2);& article{background-color:unset}}& form{display:flex;flex-direction:column;justify-content:space-between;height:100%}& footer{padding-right:20px}&::-webkit-backdrop{background-color:rgb(94 75 56);opacity:.7}&::backdrop{background-color:rgb(94 75 56);opacity:.7}}footer{& button{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);text-transform:uppercase;font-size:1rem;outline:0;border:0;padding:10px;cursor:pointer}& .button--cancel{color:rgb(178,193,212);background-color:white;border-radius:3px}& .button--confirm{background-color:rgb(139 107 76);color:white;border-radius:3px}& .button--confirm:hover{background-color:rgb(120 90 63)}& menu{display:flex;justify-content:flex-end;padding:20px 0;gap:20px}}header{background-color:rgb(94 75 56);color:white;display:flex;justify-content:space-between;padding:.8rem;align-items:center;& img{height:2rem}& ul{display:none;position:absolute;width:220px;z-index:99}& a{text-decoration:none;color:white}.profileImage{border-radius:100%;border:2px solid white;margin-right:10px}}.logo{display:flex;align-items:center;& img{-webkit-margin-end:10px;margin-inline-end:10px}color:white;text-decoration:none;font-size:1.3rem;font-weight:600;font-family:Libre Baskerville,Lora,serif;letter-spacing:.5px}.menu{display:inline-block;position:relative;padding:15px 20px;align-self:stretch}.menu ul{left:calc(-220px * .9);color:rgb(94 75 56);background-color:rgb(253 250 245);box-shadow:0 0 10px 0 rgb(0 0 0/50%);& li{padding:10px;border-bottom:1px solid rgb(94 75 56/.25)}& a{font-weight:700;color:unset}& li:has(a):hover{background-color:rgb(248 240 229)}& a:visited{color:unset}}.menu:hover ul{display:block}.profile{display:flex;& a,& p{display:flex;align-items:center}}.main__home{background-color:rgb(240 232 220);min-height:100vh}.main__book,.main__restaurant{background-color:rgb(250 242 231);min-height:90vh}article{margin:0 auto;background-color:rgb(250 242 231);padding:20px 40px;box-shadow:0 0 0 1px rgba(94,75,56,.05);width:75%;max-width:1200px}.restaurants{display:grid;margin-top:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:40px;gap:40px;& li{background:rgb(252 246 238);max-width:300px;box-shadow:0 2px 8px rgba(94,75,56,.08);transition:box-shadow .2s ease}& li:hover{box-shadow:0 4px 16px rgba(94,75,56,.15)}& a{color:black;display:flex;flex-direction:column;flex:2 1 100%}& h2{font-weight:600;font-family:Libre Baskerville,Lora,serif;line-height:1.4}}.image-cover{width:100%;height:100%;object-fit:cover;max-height:300px;min-height:300px;position:relative;& img{width:100%;height:100%;object-fit:cover;position:absolute}}a{text-decoration:none}.restaurant__meta{display:flex;font-weight:500;justify-content:space-between;align-items:center;margin-bottom:10px}.restaurant__details{padding:20px;font-size:1rem;line-height:1.6}.restaurant__details p{color:rgb(75 65 55);margin:.5rem 0}.restaurant__rating{padding:5px 0;display:flex;align-items:center;& ul{display:flex}& svg{width:2rem;height:2rem;color:rgb(217 180 122)}& span{color:rgb(139 107 76)}}.restaurant__review_summary{max-width:"50vw";height:"75px";padding-top:"10px"}.img__section{width:100%;height:400px;position:relative;>img{width:100%;height:100%;object-fit:cover;position:absolute;max-width:unset}}.details{position:absolute;bottom:0;padding:20px;color:white;& span{color:inherit}}.details__container{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(0deg,rgba(94,75,56,.85),rgba(94,75,56,.3));width:100%;height:100%}.reviews{& .review__item{padding:40px;border-bottom:1px solid rgba(94,75,56,.15);line-height:1.8;color:rgb(55 48 42)}& time{font-size:.9rem;color:rgb(120 100 90);font-style:italic}& p{line-height:1.8;color:rgb(55 48 42)}}.actions{position:absolute;z-index:1;bottom:-30px;right:0;display:flex;justify-content:flex-end;& img{height:4rem}.review{--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);cursor:pointer;background-color:rgb(192 161 123);border-radius:.75rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.review:hover{background-color:rgb(177 148 112)}.add{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background-color:rgb(139 107 76);border-radius:9999px;cursor:pointer;height:4rem}.add:hover{background-color:rgb(120 90 63)}.add input{display:none}:where(.review,.add){margin:0 30px}}#review{padding:20px;font-size:1.05rem;font-family:Lora,Crimson Text,serif;line-height:1.7;border:none;border-bottom:2px solid rgb(139 107 76);width:100%;background-color:rgb(252 246 238);color:rgb(55 48 42)}#review::placeholder{color:rgb(140 125 110);font-style:italic}#review:focus{outline:none;border-bottom-color:rgb(94 75 56);background-color:rgb(255 252 247)}.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end}.radio-input{position:fixed;opacity:0;pointer-events:none}.radio-label{cursor:pointer;font-size:0;color:rgba(0,0,0,.2);transition:color .1s ease-in-out}.radio-label:before{content:"★";display:inline-block;font-size:32px}.radio-input:checked~.radio-label{color:#ffc700;color:gold}.radio-label:hover,.radio-label:hover~.radio-label{color:goldenrod}.radio-input:checked+.radio-label:hover,.radio-input:checked+.radio-label:hover~.radio-label,.radio-input:checked~.radio-label:hover,.radio-input:checked~.radio-label:hover~.radio-label,.radio-label:hover~.radio-input:checked~.radio-label{color:darkgoldenrod}.average-rating{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:transparent;width:auto;display:inline-block;vertical-align:baseline;font-size:25px}.average-rating:before{--percent:calc(4.3 / 5 * 100%);content:"★★★★★";position:absolute;top:0;left:0;color:rgba(0,0,0,.2);background:linear-gradient(90deg,gold var(--percent),rgba(0,0,0,.2) var(--percent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.rating-picker{display:flex;flex-direction:row-reverse;justify-content:center}.filter-menu{background-color:rgb(255 252 247);border-radius:3px;border-bottom:1px solid rgb(94 75 56);& summary{font-weight:700;cursor:pointer;display:flex;align-items:center}& form{padding:20px 20px 0}& form,& label{display:flex;flex-direction:column}& label{padding:10px 0;flex-grow:1;color:rgb(75 85 99);font-size:.75rem;line-height:1rem}& img{height:4rem;max-width:100%}& form div{display:flex;gap:10px}& select{color:rgb(17 24 39);font-size:.875rem;line-height:1.25rem;padding:1rem .625rem .5rem;border:0;border-bottom:2px;border-color:rgb(228 217 203);border-style:solid;background-color:transparent}& select:focus{outline:none;border-bottom-color:rgb(139 107 76)}& p:first-child{font-weight:300;font-size:1.25rem;line-height:1.75rem;margin-bottom:2px}& p:last-child{color:rgb(94 75 56);font-weight:600;font-size:.875rem;line-height:1.25rem}}.filter{margin:0 auto}.tags{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0;& span{font-weight:500;line-height:1.25rem;padding:.25rem .5rem;background-color:rgb(139 107 76);border-radius:9999px;color:white;font-size:.95rem}& span:hover{background-color:rgb(120 90 63)}& button{cursor:pointer;margin-left:5px;padding:2px 10px;color:white;background-color:transparent;outline:none;border:none;font-size:.8rem}}