@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brun:#6B3B1E;--brun-dark:#4A2810;--brun-mid:#8C5030;
  --creme:#E1CFBB;--creme-light:#F5F0E8;--creme-dark:#C8B49A;
  --orange:#FF751F;--orange-dark:#D95F0A;
  --white:#FFFFFF;--off-white:#FAF8F4;
  --text:#3A2510;--text-muted:#7A6555;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--serif);background:var(--white);color:var(--text);overflow-x:hidden}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:22px 56px;transition:background .4s,padding .3s,box-shadow .3s}
.nav.scrolled{background:rgba(74,40,16,.97);padding:13px 56px;box-shadow:0 2px 24px rgba(0,0,0,.18)}
.nav-logo img{height:54px;width:auto;display:block;transition:height .3s}
.nav.scrolled .nav-logo img{height:42px}
.nav-menu{display:flex;align-items:center;list-style:none}
.nav-menu li a{display:block;font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.82);text-decoration:none;padding:6px 12px;transition:color .2s;white-space:nowrap}
.nav-menu li a:hover,.nav-menu li a.active{color:var(--orange)}
.nav-right{display:flex;align-items:center;gap:20px}
.nav-lang{font-family:var(--sans);font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.nav-lang:hover{color:var(--creme)}
.nav-cta{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--brun);background:var(--creme);padding:10px 24px;text-decoration:none;transition:background .2s,color .2s}
.nav-cta:hover{background:var(--orange);color:var(--white)}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:white;margin:5px 0;transition:.3s}

/* PAGE HERO (Ritz style) */
.page-hero{position:relative;height:72vh;min-height:500px;overflow:hidden}
.page-hero-slides{position:absolute;inset:0}
.page-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;transform:scale(1.05)}
.page-hero-slide.active{opacity:1;animation:heroZoom 14s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.page-hero-overlay{position:absolute;inset:0;background:rgba(25,12,4,.22);z-index:2}
.page-hero::after{content:'';position:absolute;bottom:-1px;left:-5%;width:110%;height:90px;background:var(--white);border-radius:50% 50% 0 0/50px 50px 0 0;z-index:5}
.hero-slider-ui{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:18px}
.slider-arrow{background:none;border:none;cursor:pointer;padding:4px 10px;color:rgba(255,255,255,.75);font-size:22px;line-height:1;transition:color .2s}
.slider-arrow:hover{color:white}
.slider-counter{font-family:var(--sans);font-size:13px;font-weight:300;letter-spacing:.06em;color:rgba(255,255,255,.85)}

/* PAGE TITLE */
.page-title-block{background:var(--white);text-align:center;padding:44px 40px 20px;position:relative;z-index:6}
.breadcrumb{font-family:var(--sans);font-size:12px;color:var(--text-muted);margin-bottom:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--orange)}
.page-title-block h1{font-family:var(--serif);font-size:clamp(44px,5.5vw,76px);font-weight:300;color:var(--brun);line-height:1.05}
.page-subtitle{font-family:var(--serif);font-size:18px;font-style:italic;font-weight:300;color:var(--text-muted);margin-top:10px}
.page-title-orn{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px 0 0;color:var(--creme-dark)}
.page-title-orn::before,.page-title-orn::after{content:'';display:block;height:1px;width:72px;background:var(--creme-dark)}
.page-title-orn span{font-size:16px}

/* SECTIONS */
.section{padding:88px 88px}
.section-sm{padding:64px 88px}
.section-label{display:block;font-family:var(--sans);font-size:9.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.section-h2{font-family:var(--serif);font-size:clamp(30px,3.8vw,52px);font-weight:300;color:var(--brun);line-height:1.15;margin-bottom:20px}
.section-h2 em{font-style:italic}
.section-h3{font-family:var(--serif);font-size:clamp(20px,2.5vw,32px);font-weight:300;color:var(--brun);line-height:1.2;margin-bottom:14px}
.section-p{font-family:var(--serif);font-size:17px;font-weight:300;line-height:1.9;color:var(--text-muted)}
.section-p+.section-p{margin-top:14px}
.lead-quote{font-family:var(--serif);font-size:clamp(20px,2.4vw,30px);font-style:italic;font-weight:300;color:var(--brun);line-height:1.55;text-align:center;max-width:820px;margin:0 auto;padding:0 40px;position:relative}
.lead-quote::before{content:'\201C';font-size:80px;line-height:0;vertical-align:-26px;margin-right:6px;color:var(--orange);opacity:.55}

/* BUTTONS */
.btn{display:inline-block;font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:15px 38px;transition:all .22s;cursor:pointer;border:none}
.btn-brun{background:var(--brun);color:var(--creme-light)}
.btn-brun:hover{background:var(--brun-dark)}
.btn-orange{background:var(--orange);color:var(--white)}
.btn-orange:hover{background:var(--orange-dark)}
.btn-outline{background:transparent;color:var(--brun);border:1.5px solid var(--brun)}
.btn-outline:hover{background:var(--brun);color:var(--creme-light)}
.btn-outline-light{background:transparent;color:var(--creme);border:1.5px solid rgba(225,207,187,.5)}
.btn-outline-light:hover{background:var(--creme);color:var(--brun)}

/* DIVIDER */
.orn-divider{display:flex;align-items:center;justify-content:center;gap:20px;margin:48px 0}
.orn-divider::before,.orn-divider::after{content:'';flex:1;max-width:120px;height:1px;background:var(--creme-dark)}
.orn-divider span{color:var(--creme-dark);font-size:18px;letter-spacing:8px}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr}
.split-img{background-size:cover;background-position:center;min-height:520px}
.split-txt{padding:80px 72px;display:flex;flex-direction:column;justify-content:center}
.split-txt.dark{background:var(--brun)}
.split-txt.dark .section-h2,.split-txt.dark .section-h3{color:var(--creme-light)}
.split-txt.dark .section-p{color:rgba(225,207,187,.68)}
.split-txt.creme{background:var(--creme-light)}

/* ROOMS */
.room-row{display:grid;grid-template-columns:1fr 1fr;min-height:480px;border-bottom:1px solid var(--creme-dark)}
.room-row:nth-child(even) .room-row-img{order:2}
.room-row:nth-child(even) .room-row-txt{order:1}
.room-row-img{position:relative;overflow:hidden}
.room-row-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:400px;transition:transform .8s ease}
.room-row-img:hover img{transform:scale(1.04)}
.room-row-img-thumbs{position:absolute;bottom:0;left:0;right:0;display:flex;overflow:hidden;height:72px}
.room-thumb{flex:1;cursor:pointer;background-size:cover;background-position:center;opacity:.55;transition:opacity .3s}
.room-thumb.active,.room-thumb:hover{opacity:1}
.room-row-txt{padding:64px 72px;background:var(--off-white);display:flex;flex-direction:column;justify-content:center}
.room-type{font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.room-title{font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:300;color:var(--brun);line-height:1.15;margin-bottom:4px}
.room-nickname{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--text-muted);margin-bottom:18px}
.room-specs{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.room-spec{font-family:var(--sans);font-size:11px;color:var(--text-muted);letter-spacing:.04em;display:flex;align-items:center;gap:6px}
.room-spec::before{content:'—';color:var(--orange)}
.room-desc{font-family:var(--serif);font-size:16px;font-weight:300;line-height:1.85;color:var(--text-muted);margin-bottom:24px}
.room-price{font-family:var(--serif);font-size:22px;font-weight:300;color:var(--brun);margin-bottom:22px}
.room-price small{font-size:13px;font-family:var(--sans);font-weight:300;color:var(--text-muted)}

/* EQUIP */
.equip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;padding:56px 88px;background:var(--creme-light)}
.equip-item{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.equip-icon{font-size:26px}
.equip-label{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.06em;color:var(--text-muted);line-height:1.4}

/* PRICING */
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.pricing-card{background:var(--creme-light);padding:52px 48px;border-top:3px solid var(--orange)}
.pricing-card.dark{background:var(--brun);border-color:var(--orange)}
.pricing-card.dark h3,.pricing-card.dark .price{color:var(--creme-light)}
.pricing-card.dark p{color:rgba(225,207,187,.65)}
.pricing-card h3{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--brun);margin-bottom:6px}
.pricing-card .price{font-family:var(--serif);font-size:52px;font-weight:300;color:var(--brun);line-height:1;margin:14px 0}
.pricing-card .price span{font-size:22px;font-family:var(--sans);font-weight:300;color:var(--orange)}
.pricing-card p{font-family:var(--serif);font-size:15px;font-weight:300;line-height:1.75;color:var(--text-muted);margin-top:10px}
.pricing-included{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.pricing-included li{font-family:var(--sans);font-size:12px;font-weight:300;color:var(--text-muted);list-style:none;padding-left:16px;position:relative}
.pricing-included li::before{content:'✓';position:absolute;left:0;color:var(--orange);font-size:10px}
.pricing-card.dark .pricing-included li{color:rgba(225,207,187,.65)}

/* MENU (Papilles) */
.menu-item{display:grid;grid-template-columns:1fr 1fr;min-height:380px;border-bottom:1px solid var(--creme-dark)}
.menu-item:nth-child(even) .menu-img{order:2}
.menu-item:nth-child(even) .menu-txt{order:1}
.menu-img img{width:100%;height:100%;object-fit:cover;display:block;min-height:340px}
.menu-txt{padding:56px 64px;background:var(--off-white);display:flex;flex-direction:column;justify-content:center}
.menu-txt h3{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--brun);line-height:1.2;margin-bottom:6px}
.menu-price-tag{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--orange);margin-bottom:10px}
.menu-desc{font-family:var(--serif);font-size:16px;font-weight:300;line-height:1.8;color:var(--text-muted);margin-bottom:14px}
.menu-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.menu-tag{font-family:var(--sans);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--brun);border:1px solid var(--creme-dark);padding:5px 12px}

/* FAQ */
.faq-section{padding:72px 88px}
.faq-group{margin-bottom:48px}
.faq-group-title{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--brun);margin-bottom:6px}
.faq-group-line{width:40px;height:2px;background:var(--orange);margin-bottom:28px}
.faq-item{border-bottom:1px solid var(--creme-dark)}
.faq-btn{width:100%;background:none;border:none;text-align:left;padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq-btn span{font-family:var(--serif);font-size:18px;font-weight:300;color:var(--brun);line-height:1.4}
.faq-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--brun);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--brun);transition:transform .3s,background .3s,border-color .3s;font-family:var(--sans);font-weight:300;line-height:1}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--orange);border-color:var(--orange);color:white}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}.faq-item.open .faq-answer{max-height:600px}
.faq-answer-inner{padding:0 0 22px;font-family:var(--serif);font-size:16px;font-weight:300;line-height:1.85;color:var(--text-muted);max-width:760px}

/* REVIEWS */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.review-card{background:var(--creme-light);padding:36px;border-top:3px solid var(--orange);display:flex;flex-direction:column}
.review-stars{color:var(--orange);font-size:13px;letter-spacing:2px;margin-bottom:14px}
.review-text{font-family:var(--serif);font-size:15px;font-style:italic;line-height:1.78;color:var(--text);margin-bottom:18px;flex:1}
.review-name{font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brun)}
.review-ctx{font-family:var(--sans);font-size:10.5px;color:var(--orange);margin-top:3px}

/* FORM */
.form-wrap{background:var(--creme-light);padding:52px;max-width:640px}
.form-wrap.dark{background:rgba(74,40,16,.5)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field.full{grid-column:span 2}
.form-label{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--orange)}
.form-input,.form-select,.form-textarea{background:transparent;border:none;border-bottom:1px solid var(--creme-dark);padding:12px 0;font-family:var(--serif);font-size:16px;font-weight:300;color:var(--text);outline:none;transition:border-color .2s;width:100%}
.form-input::placeholder,.form-textarea::placeholder{color:var(--creme-dark)}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--orange)}
.form-textarea{min-height:110px;resize:vertical}
.form-select{cursor:pointer}

/* FOOTER */
.footer{background:var(--brun-dark);padding:72px 88px 32px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.footer-logo img{height:50px;filter:brightness(0) invert(1);margin-bottom:18px;display:block}
.footer-about{font-family:var(--serif);font-size:14px;font-weight:300;font-style:italic;line-height:1.75;color:rgba(225,207,187,.55);max-width:260px;margin-bottom:22px}
.footer-social{display:flex;gap:12px}
.footer-social a{width:36px;height:36px;border:1px solid rgba(225,207,187,.2);display:flex;align-items:center;justify-content:center;color:var(--creme);font-size:11px;font-family:var(--sans);font-weight:500;text-decoration:none;transition:background .2s,border-color .2s}
.footer-social a:hover{background:var(--orange);border-color:var(--orange)}
.footer-col h4{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:20px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul a{font-family:var(--sans);font-size:12.5px;font-weight:300;color:rgba(225,207,187,.45);text-decoration:none;transition:color .2s}
.footer-col ul a:hover{color:var(--creme)}
.footer-bottom{border-top:1px solid rgba(225,207,187,.1);padding-top:28px;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-family:var(--sans);font-size:11px;color:rgba(225,207,187,.22)}
.footer-slogan{font-family:var(--serif);font-size:14px;font-style:italic;color:rgba(225,207,187,.32)}

/* ADMIN */
.admin-sidebar{width:260px;background:var(--brun-dark);height:100vh;position:fixed;top:0;left:0;display:flex;flex-direction:column;overflow-y:auto;z-index:100;border-right:1px solid rgba(225,207,187,.08)}
.admin-logo{padding:28px 24px 22px;border-bottom:1px solid rgba(225,207,187,.08)}
.admin-logo img{height:44px;filter:brightness(0) invert(1)}
.admin-nav{flex:1;padding:12px 0}
.admin-nav-section{font-family:var(--sans);font-size:8.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);padding:20px 24px 8px}
.admin-nav-link{display:flex;align-items:center;gap:12px;padding:11px 24px;font-family:var(--sans);font-size:12.5px;font-weight:300;color:rgba(225,207,187,.6);text-decoration:none;transition:background .2s,color .2s;cursor:pointer;border:none;background:none;width:100%;text-align:left;border-left:2px solid transparent}
.admin-nav-link:hover{background:rgba(255,117,31,.08);color:var(--creme)}
.admin-nav-link.active{background:rgba(255,117,31,.12);color:var(--creme);border-left-color:var(--orange)}
.admin-main{margin-left:260px;min-height:100vh;background:var(--off-white)}
.admin-topbar{background:var(--white);border-bottom:1px solid var(--creme-dark);padding:18px 40px;display:flex;align-items:center;justify-content:space-between}
.admin-topbar h1{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--brun)}
.admin-badge{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:var(--orange);color:white;padding:5px 14px}
.admin-content{padding:36px 40px}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.stat-card{background:var(--white);border:1px solid var(--creme-dark);padding:24px}
.stat-label{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}
.stat-value{font-family:var(--serif);font-size:38px;font-weight:300;color:var(--brun);line-height:1}
.stat-sub{font-family:var(--sans);font-size:11px;color:var(--text-muted);margin-top:6px}
.stat-card.highlight{background:var(--brun);border-color:var(--brun)}
.stat-card.highlight .stat-label{color:rgba(225,207,187,.55)}
.stat-card.highlight .stat-value{color:var(--creme-light)}
.stat-card.highlight .stat-sub{color:rgba(225,207,187,.45)}
.admin-table-wrap{background:var(--white);border:1px solid var(--creme-dark);margin-bottom:28px}
.admin-table-header{padding:20px 28px;border-bottom:1px solid var(--creme-dark);display:flex;align-items:center;justify-content:space-between}
.admin-table-header h2{font-family:var(--serif);font-size:20px;font-weight:300;color:var(--brun)}
table{width:100%;border-collapse:collapse}
th{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);padding:14px 28px;text-align:left;background:var(--creme-light);border-bottom:1px solid var(--creme-dark)}
td{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--text);padding:16px 28px;border-bottom:1px solid rgba(225,207,187,.35);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--off-white)}
.status-badge{display:inline-block;font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px}
.status-confirmed{background:rgba(107,59,30,.1);color:var(--brun)}
.status-pending{background:rgba(255,117,31,.12);color:var(--orange-dark)}
.status-checkin{background:rgba(74,40,16,.12);color:var(--brun-dark)}
.status-checkout{background:var(--creme-light);color:var(--text-muted)}
.price-edit-row{display:flex;align-items:center;gap:8px}
.price-edit-row input{width:80px;border:1px solid var(--creme-dark);padding:6px 10px;font-family:var(--serif);font-size:15px;font-weight:300;color:var(--brun);background:var(--white);outline:none}
.price-edit-row input:focus{border-color:var(--orange)}
.price-save-btn{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;background:var(--orange);color:white;border:none;padding:6px 14px;cursor:pointer;transition:background .2s}
.price-save-btn:hover{background:var(--orange-dark)}

/* RESPONSIVE */
@media(max-width:1100px){
  .section,.section-sm{padding:64px 48px}
  .footer{padding:56px 48px 28px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .equip-grid{padding:48px;grid-template-columns:repeat(4,1fr)}
  .nav{padding:18px 32px}
  .faq-section{padding:64px 48px}
}
@media(max-width:900px){
  .split{grid-template-columns:1fr}
  .split-img{min-height:300px}
  .split-txt{padding:48px 36px}
  .room-row{grid-template-columns:1fr}
  .room-row:nth-child(even) .room-row-img,.room-row:nth-child(even) .room-row-txt{order:0}
  .room-row-txt{padding:40px 32px}
  .menu-item{grid-template-columns:1fr}
  .menu-item:nth-child(even) .menu-img,.menu-item:nth-child(even) .menu-txt{order:0}
  .reviews-grid{grid-template-columns:1fr;gap:16px}
  .pricing-grid{grid-template-columns:1fr}
  .equip-grid{grid-template-columns:repeat(3,1fr);padding:36px 24px}
  .form-grid{grid-template-columns:1fr}
  .form-field.full{grid-column:span 1}
  .admin-sidebar{display:none}
  .admin-main{margin-left:0}
  .admin-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .nav-menu{display:none}
  .hamburger{display:block}
  .section,.section-sm{padding:48px 24px}
  .footer{padding:48px 24px 24px}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center}
  .faq-section{padding:48px 24px}
  .equip-grid{grid-template-columns:repeat(2,1fr);padding:32px 24px}
  .admin-stats{grid-template-columns:1fr}
  .admin-content{padding:24px 16px}
  .form-wrap{padding:32px 24px}
  .menu-txt{padding:36px 24px}
}
