/*
Theme Name: River Aura Café & Kitchen
Theme URI: https://example.com/
Author: River Aura Café
Description: Luxury riverside café WordPress theme for River Aura Café & Kitchen, Kasol. Includes bundled demo imagery and a full WordPress Customizer dashboard.
Version: 4.3.7
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: river-aura-cafe
*/
:root{--ra-black:#050505;--ra-black-2:#0b0808;--ra-red:#ff2d1f;--ra-red-2:#ff6b45;--ra-glow:#ff382b;--ra-cream:#f7eadb;--ra-muted:#cdbfb2;--ra-line:rgba(255,67,48,.42);--ra-body-text:#f7eadb;--ra-heading:#f7eadb;--ra-nav-text:#f7eadb;--ra-hero-title:#f7eadb;--ra-hero-tagline:#ff6b45;--ra-hero-description:#e1d7cf;--ra-eyebrow:#fff;--ra-section-text:#cdbfb2;--ra-feature-title:#f7eadb;--ra-feature-text:#cdbfb2;--ra-footer-text:#a99b90;--ra-button-text:#fff;--ra-button-bg:#ff2d1f;--ra-button-hover:#ff6b45;--ra-logo-width:92px;--ra-logo-height:92px;--ra-logo-x:0px;--ra-logo-y:0px;--ra-max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ra-black);color:var(--ra-body-text);font-family:Inter,Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),var(--ra-max));margin:auto}.serif{font-family:Georgia,'Times New Roman',serif;color:var(--ra-heading)}.script{font-family:'Brush Script MT','Segoe Script',cursive;color:var(--ra-hero-tagline);font-style:italic}.eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ra-eyebrow);opacity:.75}.btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--ra-red);padding:12px 22px;border-radius:999px;background:linear-gradient(135deg,var(--ra-button-bg),#c7180e);color:var(--ra-button-text);box-shadow:0 0 28px rgba(255,45,31,.18);font-size:13px;font-weight:700;transition:.25s}.btn:hover{transform:translateY(-2px);background:var(--ra-button-hover);box-shadow:0 0 35px rgba(255,45,31,.34);color:var(--ra-button-text)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,0));border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.brand img,.brand .custom-logo{width:var(--ra-logo-width);height:var(--ra-logo-height);object-fit:cover;border-radius:50%;border:1px solid var(--ra-red);box-shadow:0 0 24px rgba(255,45,31,.32);transform:translate(var(--ra-logo-x),var(--ra-logo-y));transition:width .2s,height .2s,transform .2s}.brand .header-logo-image{display:block}.brand .custom-logo-link{display:block;line-height:0}.menu-toggle{display:none;background:none;color:white;border:1px solid var(--ra-line);border-radius:8px;padding:9px 11px}.nav-links{display:flex;align-items:center;gap:34px;font-size:13px}.nav-links a{position:relative;padding:8px 0;color:var(--ra-nav-text)}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ra-red);transition:.25s}.nav-links a:hover:after,.nav-links .current-menu-item a:after{width:100%}.nav-cta{border:1px solid var(--ra-red);padding:9px 22px;border-radius:999px;color:var(--ra-button-text)}
.hero{min-height:820px;position:relative;display:flex;align-items:center;overflow:hidden;background-position:center;background-size:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ra-black),transparent 20%,rgba(0,0,0,.12) 70%,rgba(0,0,0,.65))}.hero-copy{position:relative;z-index:2;max-width:680px;padding-top:110px}.hero h1{color:var(--ra-hero-title);font-size:clamp(54px,7vw,92px);line-height:.98;letter-spacing:.01em;margin:14px 0;white-space:pre-line}.hero p{max-width:590px;color:var(--ra-hero-description);font-size:16px}.hero .script{font-size:28px;margin:8px 0 18px}.hero-actions{display:flex;gap:14px;margin-top:28px}.btn-ghost{display:inline-flex;align-items:center;padding:12px 22px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:13px}.hero-badge{position:absolute;right:6%;bottom:14%;z-index:3;width:150px;height:150px;border:1px solid var(--ra-line);border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);font-size:10px;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 0 40px rgba(255,45,31,.12)}.hero-badge span{color:var(--ra-red)}
.features{border-top:1px solid var(--ra-line);border-bottom:1px solid var(--ra-line);background:#080606}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature{padding:42px 26px;text-align:center;border-right:1px solid var(--ra-line)}.feature:last-child{border-right:0}.feature-icon{font-size:30px;color:var(--ra-red);margin-bottom:8px}.feature h3{color:var(--ra-feature-title);font-family:Georgia,serif;font-size:17px;margin:0 0 6px}.feature p{font-size:12px;color:var(--ra-feature-text);margin:0}
.section{padding:110px 0}.experience{background:linear-gradient(180deg,#070505,#0b0504)}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.image-frame{position:relative;border:1px solid var(--ra-line);padding:8px;background:#080606;box-shadow:0 25px 80px rgba(0,0,0,.45)}.image-frame img{display:block;width:100%;height:510px;object-fit:cover;filter:saturate(.92) contrast(1.03)}.image-frame:before{content:"";position:absolute;inset:-12px;border:1px solid rgba(255,45,31,.12);pointer-events:none}.section h2{font-size:clamp(38px,4vw,62px);line-height:1.05;margin:14px 0 22px}.section-copy{color:var(--ra-section-text);font-size:15px}.signature{margin-top:26px}.signature .script{font-size:24px}.escape{position:relative;text-align:center;background-position:center;background-size:cover;border-top:1px solid var(--ra-line);border-bottom:1px solid var(--ra-line)}.escape h2{margin-bottom:8px}.escape p{max-width:690px;margin:0 auto 28px;color:var(--ra-section-text)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery img{width:100%;height:220px;object-fit:cover;border:1px solid var(--ra-line);transition:.3s}.gallery img:hover{transform:scale(1.015);filter:brightness(1.08)}
.page-hero{min-height:520px;display:flex;align-items:end;position:relative;background-position:center;background-size:cover;border-bottom:1px solid var(--ra-line)}.page-hero .container{padding-bottom:70px;position:relative;z-index:2}.page-hero h1{font-size:clamp(52px,7vw,84px);margin:10px 0}.story{background:#080505}.special-grid{max-width:1100px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ra-line);border-bottom:1px solid var(--ra-line)}.special{padding:42px;border-right:1px solid var(--ra-line)}.special:nth-child(even){border-right:0}.special h3{color:var(--ra-feature-title);font-family:Georgia,serif;font-size:20px;margin:8px 0}.special p{color:var(--ra-feature-text);font-size:13px}.quote{padding:95px 0;text-align:center;background-position:center;background-size:cover;border-bottom:1px solid var(--ra-line)}.quote .script{font-size:clamp(28px,4vw,52px)}
.site-footer{background:#050404;border-top:1px solid var(--ra-line);padding:50px 0 24px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:64px;height:64px;border-radius:50%;border:1px solid var(--ra-red);object-fit:cover}.footer-brand strong{font-family:Georgia,serif;font-size:18px}.footer-small{font-size:12px;color:var(--ra-footer-text);margin:4px 0}.footer-links{display:flex;justify-content:center;gap:22px;font-size:12px;color:var(--ra-footer-text)}.social{text-align:right;font-size:12px}.social a{margin-left:14px;color:var(--ra-red-2)}.copyright{color:var(--ra-footer-text);border-top:1px solid rgba(255,255,255,.08);margin-top:35px;padding-top:18px;text-align:center;font-size:11px}
@media(max-width:900px){.nav{height:76px}.brand img,.brand .custom-logo{width:min(var(--ra-logo-width),68px);height:min(var(--ra-logo-height),68px)}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:20px;right:20px;background:#090606;border:1px solid var(--ra-line);padding:18px;flex-direction:column;gap:6px;align-items:stretch}.nav-links.open{display:flex}.nav-links a{padding:10px}.nav-cta{display:block;text-align:center}.feature-grid{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid var(--ra-line)}.split{grid-template-columns:1fr;gap:42px}.image-frame img{height:420px}.gallery{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.social{text-align:center}.footer-links{flex-wrap:wrap}.hero{min-height:720px}.hero-badge{display:none}}
@media(max-width:560px){.container{width:min(calc(100% - 30px),var(--ra-max))}.hero h1{color:var(--ra-hero-title);font-size:48px}.hero .script{font-size:23px}.feature-grid{grid-template-columns:1fr}.feature{border-right:0!important;border-bottom:1px solid var(--ra-line)}.feature:last-child{border-bottom:0}.gallery{grid-template-columns:1fr}.gallery img{height:240px}.section{padding:78px 0}.page-hero{min-height:440px}.special-grid{grid-template-columns:1fr}.special{border-right:0;border-bottom:1px solid var(--ra-line)}.special:last-child{border-bottom:0}}

/* Click magic effect — normal/default cursor is retained. */
.ra-magic-spark{position:fixed;z-index:1000000;pointer-events:none;color:#ff6b45;font-family:Georgia,serif;font-size:13px;line-height:1;text-shadow:0 0 7px rgba(255,45,31,.9),0 0 14px rgba(255,107,69,.55);animation:raSpark .65s cubic-bezier(.15,.7,.2,1) forwards}
  @keyframes raSpark{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.35) rotate(180deg)}}

/* Reservation form — additive only; existing v4 styles remain unchanged. */
.ra-reservation-page{padding-top:150px;background:linear-gradient(180deg,#070505,#0b0504)}
.ra-reservation-wrap{max-width:920px;margin:0 auto}
.ra-reservation-intro{text-align:center;max-width:760px;margin:0 auto 48px}
.ra-reservation-intro h1{font-size:clamp(42px,6vw,70px);margin:14px 0 18px}
.ra-reservation-intro p{color:var(--ra-section-text);font-size:15px}
.ra-reservation-form{border:1px solid var(--ra-line);background:rgba(0,0,0,.24);padding:38px;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.ra-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ra-reservation-form label{display:block;color:var(--ra-feature-title);font-size:12px;letter-spacing:.05em;margin-bottom:22px}
.ra-reservation-form input,.ra-reservation-form textarea{display:block;width:100%;margin-top:8px;background:#090707;border:1px solid rgba(255,255,255,.13);color:var(--ra-body-text);padding:13px 14px;border-radius:6px;font:inherit;outline:none}
.ra-reservation-form input:focus,.ra-reservation-form textarea:focus{border-color:var(--ra-red);box-shadow:0 0 0 2px rgba(255,45,31,.1)}
.ra-reservation-form textarea{resize:vertical}.ra-optional{opacity:.55;font-size:11px}.ra-form-notice{padding:15px 18px;margin:0 auto 25px;max-width:920px;border:1px solid var(--ra-line);background:#090707}.ra-success{color:#bce8c8}.ra-error{color:#ffb4aa}
@media(max-width:650px){.ra-grid{grid-template-columns:1fr}.ra-reservation-form{padding:24px}.ra-reservation-page{padding-top:120px}}

/* Premium reservation page — replaces only the reservation form presentation. */
.ra-reservation-page{padding:130px 0 90px;background:radial-gradient(circle at 50% 0%,rgba(255,45,31,.08),transparent 35%),#050505}
.ra-reservation-shell{position:relative;max-width:1180px;margin:0 auto;background:#080606;border:1px solid rgba(255,67,48,.35);box-shadow:0 35px 100px rgba(0,0,0,.55);overflow:hidden}
.ra-reservation-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.2)),var(--ra-res-bg,none);background-size:cover;background-position:center;opacity:.45;pointer-events:none}
.ra-reservation-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(540px,1.22fr);min-height:700px}
.ra-reservation-story{padding:70px 55px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.78))}
.ra-reservation-story-inner{max-width:430px}.ra-story-mark{font-size:18px;color:var(--ra-red-2);margin:45px 0 15px;text-shadow:0 0 18px rgba(255,45,31,.55)}
.ra-reservation-story h2{font-size:clamp(38px,4vw,58px);line-height:1.02;margin:0 0 22px;color:var(--ra-heading)}
.ra-reservation-story p{font-size:14px;color:var(--ra-section-text);line-height:1.9}.ra-reservation-note{display:flex;gap:12px;margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}.ra-reservation-note span{color:var(--ra-red-2);font-size:13px}.ra-reservation-note p{margin:0;font-size:12px}
.ra-reservation-card{padding:64px 65px;background:rgba(5,5,5,.9);backdrop-filter:blur(12px)}
.ra-reservation-intro{text-align:left;max-width:720px;margin:0 0 38px}.ra-reservation-intro h1{font-size:clamp(44px,5vw,68px);line-height:1;margin:13px 0 18px;color:var(--ra-heading)}.ra-reservation-intro p{color:var(--ra-section-text);font-size:14px;max-width:650px}
.ra-reservation-form{border:0;background:transparent;padding:0;box-shadow:none}.ra-form-section-title{display:flex;align-items:center;gap:12px;margin:32px 0 18px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.ra-form-section-title span{font-size:10px;letter-spacing:.18em;color:var(--ra-red-2)}.ra-form-section-title strong{font-family:Georgia,serif;font-size:17px;color:var(--ra-feature-title);font-weight:500}
.ra-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.ra-reservation-form label{display:block;color:var(--ra-feature-title);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:0}.ra-reservation-form input,.ra-reservation-form select,.ra-reservation-form textarea{display:block;width:100%;margin-top:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.14);color:var(--ra-body-text);padding:14px 15px;border-radius:3px;font:inherit;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.ra-reservation-form input::placeholder,.ra-reservation-form textarea::placeholder{color:#81766e}.ra-reservation-form select{appearance:auto}.ra-reservation-form select option{background:#100b0a;color:#f7eadb}.ra-reservation-form input:focus,.ra-reservation-form select:focus,.ra-reservation-form textarea:focus{border-color:var(--ra-red);background:rgba(255,45,31,.035);box-shadow:0 0 0 2px rgba(255,45,31,.08)}.ra-full-label{margin-top:18px!important}.ra-reservation-form textarea{resize:vertical;min-height:110px}.ra-optional{color:#8f837b;font-size:9px;letter-spacing:.08em;margin-left:5px}.ra-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:25px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}.ra-form-assurance{display:flex;gap:9px;align-items:flex-start;max-width:330px;color:#9f938b;font-size:11px;line-height:1.5}.ra-form-assurance span:first-child{color:var(--ra-red-2)}.ra-form-bottom .btn{white-space:nowrap}
.ra-form-notice{position:relative;z-index:5;max-width:1180px;margin:0 auto 20px;padding:16px 20px;border:1px solid var(--ra-line);background:#090707}.ra-success{color:#bce8c8}.ra-error{color:#ffb4aa}
@media(max-width:900px){.ra-reservation-layout{grid-template-columns:1fr}.ra-reservation-story{min-height:330px;padding:45px}.ra-reservation-card{padding:50px 40px}.ra-reservation-shell:before{background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.95)),var(--ra-res-bg,none)}}
@media(max-width:620px){.ra-reservation-page{padding:105px 0 55px}.ra-reservation-layout{min-height:0}.ra-reservation-story{padding:38px 25px}.ra-reservation-story h2{font-size:40px}.ra-reservation-card{padding:38px 22px}.ra-reservation-intro h1{font-size:43px}.ra-grid{grid-template-columns:1fr}.ra-form-bottom{align-items:stretch;flex-direction:column}.ra-form-bottom .btn{justify-content:center;width:100%}}

/* Reservation date picker */
.ra-date-picker{position:relative;margin-top:8px}
.ra-date-picker .ra-date-display{margin-top:0!important;padding-right:44px!important;cursor:pointer}
.ra-date-trigger{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;background:transparent;color:var(--ra-red-2);font-size:18px;cursor:pointer;line-height:1}
.ra-calendar{display:none;position:absolute;left:0;top:calc(100% + 10px);width:320px;padding:18px;background:#0b0807;border:1px solid rgba(255,67,48,.45);box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 28px rgba(255,45,31,.08);z-index:50;border-radius:4px}
.ra-date-picker.is-open .ra-calendar{display:block}
.ra-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:6px;margin-bottom:14px}
.ra-calendar-head strong{text-align:center;color:var(--ra-heading);font-family:Georgia,serif;font-size:16px;font-weight:500}
.ra-calendar-head button{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);color:var(--ra-heading);cursor:pointer;border-radius:3px;font-size:20px}
.ra-calendar-head button:hover{border-color:var(--ra-red);color:var(--ra-red-2)}
.ra-calendar-weekdays,.ra-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ra-calendar-weekdays{margin-bottom:6px}
.ra-calendar-weekdays span{text-align:center;color:#857a72;font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:5px 0}
.ra-calendar-days button{height:34px;border:1px solid transparent;background:transparent;color:var(--ra-body-text);font-size:12px;border-radius:3px;cursor:pointer}
.ra-calendar-days button:hover{border-color:var(--ra-red);background:rgba(255,45,31,.09);color:var(--ra-heading)}
.ra-calendar-days button.is-today{border-color:rgba(255,120,70,.5)}
.ra-calendar-days button.is-selected{background:var(--ra-red);color:#fff;border-color:var(--ra-red);box-shadow:0 0 15px rgba(255,45,31,.2)}
.ra-calendar-days button.is-disabled{color:#4e4844;cursor:not-allowed;opacity:.55}
.ra-calendar-days button.is-other-month{color:#514b47}
.ra-calendar-foot{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#81766e;text-align:center}
@media(max-width:620px){.ra-calendar{width:min(320px,calc(100vw - 44px));left:50%;transform:translateX(-50%)}.ra-date-picker.is-open .ra-calendar{z-index:100}}

/* River Aura premium centered logo header — layout only; existing theme styling retained. */
.site-header .nav{position:relative;height:auto;min-height:142px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:12px;padding-bottom:13px}
.site-header .brand{position:relative;z-index:3;display:block;width:max-content;height:max-content;line-height:0;margin:0 auto}
.site-header .brand img,.site-header .brand .custom-logo{position:relative;z-index:4;display:block}
.site-header .desktop-menu{position:relative;z-index:5;width:100%;display:flex;justify-content:center;margin-top:11px}
.site-header .nav-links{justify-content:center;gap:30px}
.site-header .menu-toggle{display:none;position:absolute;z-index:8;top:38px;width:40px;height:40px;padding:0;border:1px solid rgba(255,67,48,.35);background:rgba(5,5,5,.62);color:var(--ra-cream);border-radius:50%;font-size:18px;line-height:38px;text-align:center;box-shadow:0 0 18px rgba(255,45,31,.08)}
.site-header .menu-toggle-left{left:14px}.site-header .menu-toggle-right{right:14px}

/* Rotating red + cream rings around the logo, with restrained magical flares. */
.site-header .brand:before,.site-header .brand:after{content:"";position:absolute;left:50%;top:50%;z-index:1;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)}
.site-header .brand:before{width:calc(var(--ra-logo-width) + 12px);height:calc(var(--ra-logo-height) + 12px);border:1.5px solid rgba(255,45,31,.88);box-shadow:0 0 10px rgba(255,45,31,.55),0 0 24px rgba(255,45,31,.18);animation:raRedRingSpin 8s linear infinite}
.site-header .brand:after{width:calc(var(--ra-logo-width) + 20px);height:calc(var(--ra-logo-height) + 20px);border:1px solid rgba(247,234.3.0,.72);box-shadow:0 0 9px rgba(247,234.3.0,.28);animation:raCreamRingSpin 11s linear infinite reverse}
.site-header .logo-ring-red,.site-header .logo-ring-cream{position:absolute;left:50%;top:50%;border-radius:50%;pointer-events:none;z-index:2;transform:translate(-50%,-50%)}
.site-header .logo-ring-red{width:calc(var(--ra-logo-width) + 7px);height:calc(var(--ra-logo-height) + 7px);border:1px solid rgba(255,107,69,.48);animation:raRedRingSpin 5.5s linear infinite}
.site-header .logo-ring-cream{width:calc(var(--ra-logo-width) + 15px);height:calc(var(--ra-logo-height) + 15px);border:1px dashed rgba(247,234.3.0,.34);animation:raCreamRingSpin 7.5s linear infinite reverse}
.site-header .logo-flares{position:absolute;left:50%;top:50%;width:calc(var(--ra-logo-width) + 30px);height:calc(var(--ra-logo-height) + 30px);z-index:2;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 8% 46%,rgba(255,107,69,.95) 0 1px,transparent 2px),radial-gradient(circle at 89% 55%,rgba(247,234.3.0,.9) 0 1px,transparent 2px),radial-gradient(circle at 54% 2%,rgba(255,45,31,.9) 0 1px,transparent 2px),radial-gradient(circle at 38% 98%,rgba(247,234.3.0,.85) 0 1px,transparent 2px);animation:raFlareSpin 6s linear infinite}
@keyframes raRedRingSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes raCreamRingSpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes raFlareSpin{0%{transform:translate(-50%,-50%) rotate(0deg);opacity:.45}35%{opacity:.9}70%{opacity:.55}100%{transform:translate(-50%,-50%) rotate(360deg);opacity:.45}}

@media(max-width:900px){
  .site-header .nav{min-height:105px;height:105px;padding-top:9px;padding-bottom:8px}
  .site-header .brand img,.site-header .brand .custom-logo{width:min(var(--ra-logo-width),68px);height:min(var(--ra-logo-height),68px)}
  .site-header .desktop-menu{position:absolute;top:104px;left:20px;right:20px;width:auto;margin:0;justify-content:stretch}
  .site-header .nav-links{width:100%;justify-content:flex-start}
  .site-header .menu-toggle{display:block}
  .site-header .brand:before{width:80px;height:80px}.site-header .brand:after{width:88px;height:88px}
  .site-header .logo-ring-red{width:75px;height:75px}.site-header .logo-ring-cream{width:84px;height:84px}.site-header .logo-flares{width:98px;height:98px}
}

@media(max-width:560px){
  .site-header .nav{min-height:105px;height:105px}
  .site-header .menu-toggle{top:34px;width:38px;height:38px;line-height:36px;font-size:17px}
  .site-header .menu-toggle-left{left:10px}.site-header .menu-toggle-right{right:10px}
}


/* v4.1 — responsive luxury header refinement. Keeps the existing visual system intact. */
.site-header .nav{
  min-height:196px;
  padding-top:24px;
  padding-bottom:18px;
}
.site-header .brand{margin-bottom:17px}
.site-header .desktop-menu{margin-top:0}
.site-header .nav-links{gap:32px}
.site-header .menu-toggle{box-shadow:0 6px 24px rgba(0,0,0,.35)}

/* Performance-friendly responsive container sizing. */
.container{width:min(100% - 32px,var(--ra-max));}
img{max-width:100%;height:auto}

@media (min-width:901px){
  .site-header .menu-toggle{display:none!important}
  .site-header .brand img,.site-header .brand .custom-logo{width:var(--ra-logo-width);height:var(--ra-logo-height)}
  .site-header .desktop-menu{display:flex;align-items:center;justify-content:center}
  .site-header .nav-links{display:flex;align-items:center;justify-content:center}
}

@media (max-width:900px){
  .site-header .nav{
    min-height:116px;
    height:116px;
    padding:13px 16px 12px;
    justify-content:flex-start;
  }
  .site-header .brand{margin:0 auto 0;}
  .site-header .brand img,.site-header .brand .custom-logo{
    width:min(var(--ra-logo-width),72px);
    height:min(var(--ra-logo-height),72px);
  }
  .site-header .desktop-menu{top:115px;left:16px;right:16px}
  .site-header .menu-toggle{
    top:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;height:40px;
    border-radius:50%;
    font-size:0;
  }
  .site-header .menu-toggle:before,
  .site-header .menu-toggle:after,
  .site-header .menu-toggle{ }
  .site-header .menu-toggle:before{
    content:"";
    width:17px;height:12px;
    border-top:1.5px solid var(--ra-cream);
    border-bottom:1.5px solid var(--ra-cream);
    box-shadow:0 5px 0 -4px var(--ra-cream);
  }
  .site-header .menu-toggle-left{left:12px}
  .site-header .menu-toggle-right{right:12px}
  .hero{min-height:100svh}
  .hero-copy{padding-top:135px;padding-bottom:70px}
  .hero h1{font-size:clamp(45px,12vw,72px)}
  .hero p{font-size:15px}
}

@media (max-width:560px){
  .container{width:min(100% - 28px,var(--ra-max))}
  .site-header .nav{min-height:112px;height:112px;padding-top:10px}
  .site-header .brand img,.site-header .brand .custom-logo{width:min(var(--ra-logo-width),68px);height:min(var(--ra-logo-height),68px)}
  .site-header .menu-toggle{top:36px;width:38px;height:38px}
  .site-header .menu-toggle-left{left:9px}.site-header .menu-toggle-right{right:9px}
  .site-header .desktop-menu{top:111px;left:14px;right:14px}
  .hero-copy{padding-top:125px}
}

/* Small-screen accessibility/performance refinements. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* v4.2.1 — reservation spacing + restore logo motion/magic. Keep all existing design intact. */
.ra-reservation-page{padding-top:260px!important}
@media(max-width:900px){.ra-reservation-page{padding-top:205px!important}}
@media(max-width:620px){.ra-reservation-page{padding-top:190px!important}}

/* Force the logo rings/flares to remain animated even when a browser/OS exposes reduced-motion. */
.site-header .brand:before{animation:raRedRingSpin 8s linear infinite!important;animation-play-state:running!important}
.site-header .brand:after{animation:raCreamRingSpin 11s linear infinite reverse!important;animation-play-state:running!important}
.site-header .logo-ring-red{animation:raRedRingSpin 5.5s linear infinite!important;animation-play-state:running!important}
.site-header .logo-ring-cream{animation:raCreamRingSpin 7.5s linear infinite reverse!important;animation-play-state:running!important}
.site-header .logo-flares{animation:raFlareSpin 6s linear infinite!important;animation-play-state:running!important}

/* Brighter moving markers make the rotation visibly readable without changing the logo itself. */
.site-header .logo-ring-red:after,.site-header .logo-ring-cream:after{content:"";position:absolute;left:50%;top:-3px;width:6px;height:6px;border-radius:50%;transform:translateX(-50%);pointer-events:none}
.site-header .logo-ring-red:after{background:#ff6b45;box-shadow:0 0 7px #ff6b45,0 0 16px rgba(255,45,31,.8)}
.site-header .logo-ring-cream:after{top:auto;bottom:-3px;background:#f7eadb;box-shadow:0 0 7px #f7eadb,0 0 14px rgba(247,234.3.0,.65)}


/* v4.2.2 — internal page hero clearance + robust click magic. Keep the existing design intact. */
.page-template-page-about-us .page-hero{min-height:650px}
@media(max-width:900px){.page-template-page-about-us .page-hero{min-height:590px}}
@media(max-width:560px){.page-template-page-about-us .page-hero{min-height:545px}}

/* Make the click sparkle visible above every theme layer. */
.ra-magic-spark{z-index:2147483647!important;will-change:transform,opacity}


/* v4.2.3 — Global internal-page header/content clearance. */
/* Keep the homepage unchanged; internal pages get a clear visual separation
   between the centered header/navigation and their hero/content. */
body:not(.home):not(.front-page) .site-main,
body:not(.home):not(.front-page) main.site-main{
  padding-top:56px;
}

/* Page hero titles/content must begin below the navigation, not underneath it. */
body:not(.home):not(.front-page) .page-hero{
  padding-top:92px!important;
}

/* Reservation page already has its own deliberate spacing; preserve that
   layout while adding only the global separation. */
body:not(.home):not(.front-page) .ra-reservation-page{
  padding-top:calc(260px + 56px)!important;
}

@media (max-width:900px){
  body:not(.home):not(.front-page) .site-main,
  body:not(.home):not(.front-page) main.site-main{padding-top:42px}
  body:not(.home):not(.front-page) .page-hero{padding-top:74px!important}
  body:not(.home):not(.front-page) .ra-reservation-page{padding-top:calc(205px + 42px)!important}
}

@media (max-width:620px){
  body:not(.home):not(.front-page) .site-main,
  body:not(.home):not(.front-page) main.site-main{padding-top:30px}
  body:not(.home):not(.front-page) .page-hero{padding-top:62px!important}
  body:not(.home):not(.front-page) .ra-reservation-page{padding-top:calc(190px + 30px)!important}
}


/* v4.2.4 — Match homepage-style breathing room between the global header/nav and internal-page first content. */
body:not(.home):not(.front-page) .page-hero .container{
  transform:translateY(72px);
}
@media(max-width:900px){
  body:not(.home):not(.front-page) .page-hero .container{transform:translateY(58px);}
}
@media(max-width:620px){
  body:not(.home):not(.front-page) .page-hero .container{transform:translateY(46px);}
}


/* v4.2.5 — generic WordPress page spacing.
   Menu/Contact/other standard pages use page.php rather than .page-hero.
   Give their first content block the same breathing room as the homepage-style
   internal heroes, without changing the homepage or reservation layout. */
body.page:not(.home):not(.front-page) main.section:first-child{
  padding-top:220px!important;
}
@media(max-width:900px){
  body.page:not(.home):not(.front-page) main.section:first-child{
    padding-top:190px!important;
  }
}
@media(max-width:560px){
  body.page:not(.home):not(.front-page) main.section:first-child{
    padding-top:165px!important;
  }
}


/* Single blog post template — additive styles only; existing pages are unchanged. */
.ra-single-post{padding-top:190px;padding-bottom:100px;background:linear-gradient(180deg,#080606 0%,#050505 100%)}
.ra-single-post__container{max-width:920px}
.ra-single-post__header{max-width:860px;margin:0 auto 34px}
.ra-single-post__eyebrow{color:var(--ra-red-2);margin-bottom:14px}
.ra-single-post__title{font-size:clamp(38px,5.2vw,68px);line-height:1.08;letter-spacing:-.025em;margin:0 0 18px;overflow-wrap:anywhere}
.ra-single-post__meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:var(--ra-footer-text);font-size:12px}
.ra-single-post__meta a,.ra-single-post__footer a{color:var(--ra-red-2)}
.ra-single-post__featured-image{margin:0 auto 38px;max-width:860px;border:1px solid var(--ra-line);padding:7px;background:#090606;box-shadow:0 18px 55px rgba(0,0,0,.32)}
.ra-single-post__featured-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover}
.ra-single-post__content{max-width:780px;margin:0 auto;color:var(--ra-section-text);font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.ra-single-post__content>*:first-child{margin-top:0}
.ra-single-post__content h2,.ra-single-post__content h3,.ra-single-post__content h4{font-family:Georgia,'Times New Roman',serif;color:var(--ra-heading);line-height:1.2;margin:1.7em 0 .65em}
.ra-single-post__content h2{font-size:clamp(28px,3.2vw,40px)}
.ra-single-post__content h3{font-size:clamp(23px,2.6vw,30px)}
.ra-single-post__content a{color:var(--ra-red-2);text-decoration:underline;text-underline-offset:3px}
.ra-single-post__content img,.ra-single-post__content video,.ra-single-post__content iframe{max-width:100%;height:auto}
.ra-single-post__content figure{max-width:100%;margin:28px 0}
.ra-single-post__content blockquote{margin:28px 0;padding:8px 0 8px 22px;border-left:2px solid var(--ra-red);color:var(--ra-cream);font-family:Georgia,'Times New Roman',serif;font-size:1.12em}
.ra-single-post__content ul,.ra-single-post__content ol{padding-left:1.5em}
.ra-single-post__content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.ra-single-post__content th,.ra-single-post__content td{padding:10px 12px;border:1px solid var(--ra-line)}
.ra-single-post__pages{margin-top:28px;color:var(--ra-muted)}
.ra-single-post__footer{max-width:780px;margin:40px auto 0;padding-top:18px;border-top:1px solid var(--ra-line);font-size:12px;color:var(--ra-footer-text)}
.ra-single-post__footer-label{margin-right:8px;color:var(--ra-muted)}
@media(max-width:900px){.ra-single-post{padding-top:170px}}
@media(max-width:560px){.ra-single-post{padding-top:145px;padding-bottom:70px}.ra-single-post__title{font-size:clamp(34px,10vw,48px)}.ra-single-post__content{font-size:15px}.ra-single-post__featured-image{margin-bottom:26px}}
