@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#202622;--forest:#17352d;--gold:#bf9a5a;--cream:#f4f0e7;--paper:#fffdf9;--line:#ddd6c8;--muted:#6d746f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.page{min-height:100vh}.site-header{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;left:0;right:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.brand{display:flex;align-items:center;gap:11px}.brand span{width:38px;height:38px;border:1px solid var(--gold);color:#d9ba7d;border-radius:50%;display:grid;place-items:center;font:600 1.35rem 'Playfair Display'}.brand b{font-size:1.02rem;letter-spacing:.02em}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.82rem}.book-link,.dark-link{padding:11px 17px;border:1px solid rgba(255,255,255,.65);border-radius:2px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.hero{height:min(790px,92vh);min-height:650px;background:url('images/aurelistay-mediterranean-hotel.png') center/cover;position:relative;color:#fff;display:flex;align-items:center;padding:110px 7vw 150px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,28,23,.8),rgba(13,30,25,.16) 70%),linear-gradient(0deg,rgba(8,18,15,.35),transparent 55%)}.hero-copy{position:relative;max-width:760px}.hero h1{font-size:clamp(4rem,8vw,7.8rem);line-height:.88;letter-spacing:-.045em;margin:14px 0 25px}.hero h1 i{color:#dcc089}.hero-copy p{font-size:1.05rem;max-width:540px;color:#e2e7e3}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;font-weight:600;color:#7a827d}.eyebrow.light{color:#d9c79e}.search-bar{position:absolute;bottom:-42px;left:7vw;right:7vw;background:#fff;color:var(--ink);display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr auto;box-shadow:0 20px 60px rgba(19,32,27,.2);z-index:3}.search-bar label{padding:20px;border-right:1px solid #ebe6dc}.search-bar label span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.6rem;color:var(--muted);margin-bottom:8px}.search-bar input,.search-bar select{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search-bar button,.confirm-button{border:0;background:var(--forest);color:#fff;padding:0 28px;text-transform:uppercase;letter-spacing:.09em;font-size:.67rem;font-weight:600;cursor:pointer}.intro{text-align:center;padding:140px 20px 45px}.intro h2,.results-heading h2,.confirmation h2{font-size:clamp(2.2rem,4vw,3.7rem);margin:10px 0}.intro p{color:var(--muted)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:0 6vw 100px}.destination-grid article{height:390px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;color:white;position:relative;background-size:cover;background-position:center}.destination-grid article:nth-child(1){background-image:linear-gradient(0deg,rgba(10,25,20,.72),transparent),url('images/aurelistay-mediterranean-hotel.png')}.destination-grid article:nth-child(2){background-image:linear-gradient(0deg,rgba(10,25,20,.72),transparent),url('images/aurelistay-mediterranean-hotel.png')}.destination-grid article:nth-child(3){background-image:linear-gradient(0deg,rgba(10,25,20,.72),transparent),url('images/aurelistay-mediterranean-hotel.png')}.destination-grid h3{font-size:2rem;margin:8px 0}.destination-grid p{margin:0;color:#ddd}.destination-grid span{position:absolute;top:24px;left:24px;color:#d3bd8c;font-size:.75rem}.results-heading{padding:130px 7vw 40px;display:flex;align-items:flex-end;justify-content:space-between}.results-heading p{color:var(--muted)}.hotel-list{padding:0 7vw 100px}.hotel-card{display:grid;grid-template-columns:1.1fr 1.2fr .65fr;min-height:320px;border-top:1px solid var(--line);padding:28px 0;gap:34px;align-items:center}.hotel-card>img{width:100%;height:290px;object-fit:cover}.stars{color:var(--gold);letter-spacing:.12em;font-size:.72rem}.hotel-copy h2{font-size:2rem;margin:8px 0}.hotel-copy p{color:var(--muted);line-height:1.6}.location{font-size:.8rem}.amenities{display:flex;flex-wrap:wrap;gap:7px}.amenities span{border:1px solid var(--line);padding:6px 9px;font-size:.67rem;color:#656b67}.hotel-price{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:6px}.hotel-price small{color:var(--muted)}.hotel-price strong{font-size:1.35rem}.hotel-price a,.rate button{margin-top:15px;border:0;background:var(--forest);color:#fff;padding:11px 15px;text-transform:uppercase;letter-spacing:.07em;font-size:.63rem}.room-list{background:var(--cream);padding:18px 24px;margin-bottom:25px}.room-card{display:grid;grid-template-columns:260px 1fr 1.2fr;gap:24px;background:var(--paper);padding:16px;margin:10px 0}.room-card>img{width:100%;height:190px;object-fit:cover}.room-copy h3{font-size:1.45rem;margin:6px 0}.room-copy p,.room-copy small{color:var(--muted);font-size:.78rem;line-height:1.5}.amenities.compact{margin-top:13px}.rate-list{display:grid;align-content:center;gap:9px}.rate{border:1px solid var(--line);padding:12px;display:flex;justify-content:space-between;gap:15px}.rate>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.rate>div:last-child{align-items:flex-end}.rate small{font-size:.65rem;color:var(--muted)}.rate button{margin:3px 0 0;cursor:pointer}.booking-panel{margin:0 7vw 100px;display:grid;grid-template-columns:.8fr 1.2fr;box-shadow:0 20px 65px rgba(23,53,45,.13)}.booking-summary{background:var(--forest);color:#fff;padding:48px}.booking-summary h2{font-size:2.5rem;margin:10px 0}.booking-summary p{color:#c5d0cc;line-height:1.6}.booking-summary strong{display:block;font-size:1.7rem;margin-top:35px}.booking-summary small{color:#a9b9b3}.guest-form{padding:48px;background:#fff}.guest-form h2{font-size:2.2rem;margin:8px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guest-form label{display:grid;gap:7px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.guest-form input{padding:13px;border:1px solid var(--line)}.payment-option{display:flex!important;align-items:center;margin:24px 0;border:1px solid var(--line);padding:15px}.confirm-button{width:100%;padding:16px}.secure{display:block;text-align:center;color:var(--muted);margin-top:13px}.error-note{background:#fbe9e3;color:#963e2c;padding:12px;margin:12px 0;font-size:.8rem}.confirmation,.empty-state{text-align:center;padding:140px 7vw}.check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#dbeae3;color:var(--forest);font-size:1.8rem;margin:0 auto 20px}.confirmation p,.empty-state p{color:var(--muted)}.confirmation-ticket{max-width:900px;margin:35px auto;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.confirmation-ticket div{padding:20px;border-right:1px solid var(--line);display:grid;gap:7px}.confirmation-ticket small{color:var(--muted)}.dark-link{background:var(--forest);color:#fff;border-color:var(--forest);display:inline-block}.empty-state b{font-size:3rem;color:var(--gold)}.member-hero{background:var(--forest);color:#fff;padding:150px 7vw 80px}.member-hero h1{font-size:4rem;margin:10px 0}.member-hero p{color:#c5d0cc}.stay-list{padding:70px 7vw}.stay-list article{border-bottom:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between}.stay-list h2{margin:7px 0}.stay-list p{color:var(--muted)}.stay-list article>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.paid{color:#27664c;background:#e1efe8;padding:4px 8px;font-size:.7rem}footer{background:#111c18;color:#fff;padding:60px 7vw;display:flex;align-items:center;justify-content:space-between}footer p,footer small{color:#87938e;font-size:.75rem}#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;background:#842029;color:#fff;padding:12px;z-index:99}
@media(max-width:950px){.site-header nav a:not(.book-link){display:none}.search-bar{grid-template-columns:1fr 1fr}.search-bar button{min-height:60px}.hero{margin-bottom:100px}.hotel-card{grid-template-columns:1fr 1fr}.hotel-price{grid-column:2}.room-card{grid-template-columns:200px 1fr}.rate-list{grid-column:1/-1}.booking-panel{grid-template-columns:1fr}.confirmation-ticket{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hero{padding:100px 24px 180px;min-height:780px}.site-header{padding:0 24px}.search-bar{left:20px;right:20px;bottom:-120px;grid-template-columns:1fr 1fr}.search-bar label{padding:14px}.search-bar label:first-child{grid-column:1/-1}.search-bar button{grid-column:1/-1}.destination-grid{grid-template-columns:1fr}.destination-grid article{height:300px}.results-heading{align-items:flex-start;flex-direction:column}.hotel-card{grid-template-columns:1fr;gap:18px}.hotel-price{grid-column:auto;align-items:flex-start;text-align:left}.room-card{grid-template-columns:1fr}.room-card>img{height:230px}.booking-panel{margin:0 20px 70px}.booking-summary,.guest-form{padding:30px 24px}.form-grid{grid-template-columns:1fr}.confirmation-ticket{grid-template-columns:1fr}.confirmation-ticket div{border-right:0;border-bottom:1px solid var(--line)}footer{align-items:flex-start;flex-direction:column;gap:15px}}

/* Owner-supplied AureliStay brand assets. SVG colors must remain unfiltered. */
.site-header .brand{display:flex;align-items:center;width:176px;height:52px;padding:7px 10px;border-radius:9px;background:rgba(250,248,244,.94)}
.site-header .brand span,.site-header .brand b{display:none}
.site-header .brand img{display:block;width:100%;height:100%;object-fit:contain}
.footer-brand{display:block;width:210px;height:58px;padding:7px 10px;border-radius:8px;background:#faf8f4}
.footer-brand img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:640px){.site-header .brand{width:152px;height:46px}.footer-brand{width:190px}}
.client-access{padding:64px 7vw 90px;background:#f4f0e7}.client-access-tabs{max-width:760px;margin:0 auto;display:flex;border-bottom:1px solid var(--line)}.client-access-tabs button{flex:1;padding:14px;border:0;background:transparent;color:var(--muted);cursor:pointer}.client-access-tabs button.active{color:var(--forest);border-bottom:2px solid var(--gold);font-weight:600}.client-access-form{max-width:760px;margin:0 auto;padding:36px;background:#fff;box-shadow:0 14px 45px rgba(23,53,45,.08)}.client-access-form h2{font-size:2rem;margin:8px 0 24px}.client-access-form label{display:grid;gap:7px;margin-bottom:15px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.client-access-form input{padding:13px;border:1px solid var(--line)}.client-access-form .confirm-button{margin-top:8px}.client-access-form>small{display:block;margin-top:16px;color:var(--muted);line-height:1.5}.client-access-notice{padding:12px;background:#e4eee8;color:#245842}.member-actions{padding:24px 7vw 0;display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.member-actions button{border:1px solid var(--line);background:#fff;padding:10px 14px;cursor:pointer}
@media(max-width:640px){.client-access{padding:35px 20px 60px}.client-access-tabs{overflow:auto}.client-access-tabs button{min-width:125px}.client-access-form{padding:26px 20px}.member-actions{align-items:flex-start;gap:12px;flex-direction:column}}

/* Stable brand presentation and responsive/accessibility hardening. */
html,body{max-width:100%;overflow-x:hidden}
.site-header .brand{width:190px;height:54px;padding:0;background:transparent;border-radius:0}
.site-header .brand img,.footer-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.footer-brand{width:220px;height:62px;padding:0;background:transparent;border-radius:0}
.destination-grid article:nth-child(2){background-image:linear-gradient(0deg,rgba(10,25,20,.72),transparent),url('images/hotel-tipaza-resort.png')}
.destination-grid article:nth-child(3){background-image:linear-gradient(0deg,rgba(10,25,20,.72),transparent),url('images/hotel-algiers-urban.png')}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(199,155,75,.58);outline-offset:3px}
@media(max-width:640px){.site-header .brand{width:154px;height:44px}.footer-brand{width:196px;height:55px}.site-header nav{gap:10px}.book-link{padding:10px 12px}}
.real-hotels{padding-top:85px}.real-hotel-grid article{background-size:cover;background-position:center;min-height:390px}.booking-options,.payment-methods{border:1px solid #e4dfd4;border-radius:14px;padding:16px;margin:18px 0;display:grid;gap:10px}.booking-options legend,.payment-methods legend{padding:0 8px;font-weight:700;color:#765d31}.booking-options label,.payment-methods label{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:10px;background:#faf8f3}.booking-options label span,.payment-methods label span{display:grid;gap:3px}.booking-options small,.payment-methods small{color:#777;font-size:.76rem}.demo-payment-note{padding:12px;border-radius:10px;background:#fff0dc;color:#7c4e22;font-size:.82rem}
.booking-step{scroll-margin-top:105px}.rate.selected{border-color:#b99758;background:#fbf7ed;box-shadow:inset 3px 0 #bf9a5a}.rate button.selected{background:#886c3b;color:#fff}.rate button:disabled{cursor:default;opacity:1}.booking-options label{align-items:center}.booking-options label span{flex:1}.option-quantity{width:72px!important;padding:9px!important;text-align:center}.error-note{display:grid;gap:4px}.error-note strong{font-size:.82rem}.error-note span{font-size:.78rem}@media(max-width:640px){.booking-step{scroll-margin-top:78px}.option-quantity{width:64px!important}}
