
:root{
  --green:#15382b;--green2:#214d3b;--green3:#0d281e;--cream:#f6f0e7;--paper:#fffdf9;
  --gold:#c39a56;--gold2:#dcc28f;--burgundy:#6b1f2a;--ink:#2f312e;--muted:#6d716b;
  --line:rgba(21,56,43,.12);--radius:20px;--shadow:0 14px 40px rgba(0,0,0,.07);
  --shell:min(1180px,calc(100% - 24px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--cream);font:15px/1.65 Arial,Helvetica,sans-serif}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{width:var(--shell);margin:0 auto}
.tricolour{display:grid;grid-template-columns:45fr 10fr 45fr;height:2px}
.tricolour span:nth-child(1){background:#17804a}.tricolour span:nth-child(2){background:#fff}.tricolour span:nth-child(3){background:#8d2c31}
.site-header{position:sticky;top:0;z-index:1000;color:#fff;background:rgba(21,56,43,.97);backdrop-filter:blur(14px)}
.header-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font:400 31px Georgia,serif}
.nav{display:flex;align-items:center;gap:7px}
.nav a{padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.nav a:hover,.nav a[aria-current=page]{background:rgba(255,255,255,.12)}
.mobile-menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:24px}
.hero,.page-hero{color:#fff;background:radial-gradient(circle at 12% 10%,rgba(220,194,143,.17),transparent 27%),radial-gradient(circle at 88% 88%,rgba(107,31,42,.11),transparent 24%),linear-gradient(145deg,var(--green3),var(--green2))}
.hero{padding:84px 0 70px}.page-hero{padding:60px 0 50px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:center}
.hero h1,.page-hero h1{margin:10px 0 0;font:400 clamp(52px,8vw,92px)/.92 Georgia,serif;letter-spacing:-.055em}
.hero h1 span{color:var(--gold2)}
.hero p,.page-hero p{max-width:740px;color:rgba(255,255,255,.75);font-size:16px}
.hero-card{padding:23px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius);background:rgba(255,255,255,.06)}
.section{padding:56px 0}.white{background:#fff}.green{color:#fff;background:linear-gradient(145deg,var(--green3),var(--green2))}.burgundy{color:#fff;background:linear-gradient(145deg,#4d151d,var(--burgundy))}
.kicker{margin:0;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.title{margin:8px 0 0;color:var(--green);font:400 clamp(38px,5.3vw,64px)/1 Georgia,serif;letter-spacing:-.035em}
.green .title,.burgundy .title{color:#fff}
.copy{max-width:760px;margin:13px 0 0;color:var(--muted)}.green .copy,.burgundy .copy{color:rgba(255,255,255,.72)}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:0;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.btn-primary{color:#fff;background:var(--green)}.btn-gold{color:var(--green);background:var(--gold2)}.btn-burgundy{color:#fff;background:var(--burgundy)}.btn-light{color:var(--green);background:#fff;border:1px solid var(--line)}.btn-outline{color:inherit;background:transparent;border:1px solid currentColor}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.card h3{margin:0;color:var(--green);font:400 27px Georgia,serif}.card p{color:var(--muted)}
.green .card,.burgundy .card{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06);box-shadow:none}.green .card h3,.burgundy .card h3{color:#fff}.green .card p,.burgundy .card p{color:rgba(255,255,255,.7)}
.feature-list{display:grid;gap:8px;margin-top:14px}.feature-list div{padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.green .feature-list div,.burgundy .feature-list div{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.full{grid-column:1/-1}
label{display:block;margin-bottom:5px;color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
textarea{min-height:100px;resize:vertical}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:12px}.alert-success{background:#e5f3e9;color:#1f5f36}.alert-error{background:#f7e3e6;color:#7c1f2b}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--gold)}.status-dot.open{background:#6bd08a}.status-row{display:flex;align-items:center;gap:8px;margin-top:13px}
.menu-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.menu-tab{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font-size:11px;font-weight:800}.menu-tab.active{background:var(--green);color:#fff}.menu-panel{display:none}.menu-panel.active{display:block}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-stars{color:var(--gold);letter-spacing:.12em}.review-card blockquote{margin:12px 0 0;color:var(--ink);font-family:Georgia,serif;font-size:20px;line-height:1.5}.review-meta{margin-top:14px;color:var(--muted);font-size:12px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-item{min-height:230px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius);background:linear-gradient(145deg,#e9dfd1,#fff);cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-placeholder{text-align:center;color:var(--green);font:400 21px Georgia,serif}
.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}
.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--cream);font-size:9px;font-weight:800;text-transform:uppercase}.badge.confirmed,.badge.published{background:#def1e4;color:#205d36}.badge.cancelled,.badge.no_show,.badge.rejected{background:#f5e0e4;color:#7b1e29}
.sidebar-layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 72px)}.sidebar{padding:20px;color:#fff;background:#102b21}.sidebar a{display:block;padding:10px 12px;margin-bottom:5px;border-radius:10px}.sidebar a:hover{background:rgba(255,255,255,.08)}.admin-main{padding:22px}.dashboard-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.stat{font:400 42px Georgia,serif;color:var(--green)}
.footer{padding:34px 0 18px;color:#fff;background:var(--green)}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:18px}.footer h3{color:var(--gold2);font-size:11px;text-transform:uppercase}.footer a,.footer span{display:block;margin:5px 0;color:rgba(255,255,255,.72);font-size:12px}.footer-bottom{margin-top:18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);font-size:11px}
.floating-whatsapp{position:fixed;right:14px;bottom:14px;z-index:999;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff;font-size:22px;box-shadow:var(--shadow)}
.cookie-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:2200;display:none;max-width:760px;margin:auto;padding:16px;border-radius:16px;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.25)}.cookie-banner.show{display:block}
@media(max-width:900px){.hero-grid,.two-col{grid-template-columns:1fr}.three-col,.four-col,.review-grid,.gallery-grid{grid-template-columns:1fr 1fr}.span-4,.span-6,.span-8{grid-column:span 12}.sidebar-layout{grid-template-columns:1fr}.sidebar{display:flex;gap:4px;overflow:auto}.sidebar a{white-space:nowrap}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{--shell:calc(100% - 16px)}.mobile-menu-toggle{display:block}.nav{position:absolute;left:8px;right:8px;top:68px;display:none;padding:10px;border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.nav.open{display:grid}.nav a{color:var(--green);padding:10px 12px}.hero,.page-hero{padding:48px 0 40px;text-align:center}.hero h1,.page-hero h1{font-size:48px}.section{padding:42px 0}.three-col,.four-col,.review-grid,.gallery-grid,.form-grid{grid-template-columns:1fr}.actions{display:grid}.btn{width:100%}.footer-grid{grid-template-columns:1fr;text-align:center}}

.menu-page-card{
  overflow:hidden;
}

.menu-page-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.menu-page-status .actions{
  margin-top:0;
}

.menu-embed{
  width:100%;
  min-height:0;
  overflow:visible;
}

.menu-embed iframe{
  display:block;
  width:100%!important;
  max-width:100%!important;
  border:0!important;
}

@media(max-width:700px){
  .menu-page-status{
    display:grid;
    text-align:center;
  }

  .menu-page-status .status-row{
    justify-content:center;
  }
}

/* HOMEPAGE 4-COLUMN MENU SHOWCASE */
.home-menu-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.home-menu-card{
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:rgba(255,255,255,.07);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}

.home-menu-card:hover{
  transform:translateY(-5px);
  border-color:rgba(220,194,143,.65);
  background:rgba(255,255,255,.10);
}

.home-menu-media{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:rgba(255,255,255,.05);
}

.home-menu-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.home-menu-card:hover .home-menu-media img{
  transform:scale(1.045);
}

.home-menu-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:3px;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 20% 20%,rgba(220,194,143,.18),transparent 34%),
    linear-gradient(145deg,#0f2b21,#214d3b);
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
}

.home-menu-placeholder small{
  color:rgba(255,255,255,.62);
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.home-menu-badge{
  position:absolute;
  left:10px;
  top:10px;
  padding:6px 9px;
  border-radius:999px;
  color:var(--green);
  background:var(--gold2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.home-menu-content{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:16px;
}

.home-menu-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.home-menu-heading h3{
  margin:0;
  color:#fff;
  font:400 25px/1.05 Georgia,"Times New Roman",serif;
}

.home-menu-heading span{
  flex:0 0 auto;
  color:var(--gold2);
  font-size:9px;
  font-weight:800;
  text-align:right;
  text-transform:uppercase;
}

.home-menu-content p{
  margin:10px 0 16px;
  color:rgba(255,255,255,.7);
  font-size:12px;
  line-height:1.55;
}

.home-menu-content .btn{
  width:100%;
  margin-top:auto;
}

@media(max-width:1000px){
  .home-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .home-menu-grid{
    grid-template-columns:1fr;
  }

  .home-menu-card{
    display:grid;
    grid-template-columns:112px 1fr;
  }

  .home-menu-media{
    min-height:160px;
    height:100%;
    aspect-ratio:auto;
  }

  .home-menu-heading{
    display:block;
  }

  .home-menu-heading span{
    display:block;
    margin-top:5px;
    text-align:left;
  }
}

@media(prefers-reduced-motion:reduce){
  .home-menu-card,
  .home-menu-media img{
    transition:none!important;
  }

  .home-menu-card:hover,
  .home-menu-card:hover .home-menu-media img{
    transform:none;
  }
}

/* PAGE CONTENT, EMBED AND CODE EDITOR */
.page-custom-content{
  padding:42px 0;
  background:#fffaf2;
}

.page-custom-content:empty{
  display:none;
}

.page-custom-content iframe{
  width:100%;
  max-width:100%;
  border:0;
}

.page-custom-content img{
  max-width:100%;
  height:auto;
}

.page-editor-layout{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:14px;
  align-items:start;
}

.page-editor-nav{
  position:sticky;
  top:90px;
}

.page-editor-nav a{
  display:block;
  padding:9px 10px;
  margin-top:5px;
  border-radius:10px;
  color:var(--green);
  font-size:12px;
  font-weight:700;
}

.page-editor-nav a:hover,
.page-editor-nav a.active{
  color:#fff;
  background:var(--green);
}

.page-editor-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.page-editor-heading h2{
  margin:4px 0 0;
  color:var(--green);
  font:400 34px Georgia,"Times New Roman",serif;
}

.code-field{
  padding-top:14px;
  border-top:1px solid var(--line);
}

.code-help{
  margin:0 0 7px;
  color:var(--muted);
  font-size:11px;
}

.code-editor{
  min-height:210px;
  color:#f3f6f4;
  background:#102b21;
  border-color:#102b21;
  font:12px/1.55 "Courier New",monospace;
  tab-size:2;
  white-space:pre;
}

.code-editor:focus{
  outline:3px solid rgba(195,154,86,.28);
  border-color:var(--gold);
}

@media(max-width:900px){
  .page-editor-layout{
    grid-template-columns:1fr;
  }

  .page-editor-nav{
    position:static;
    display:flex;
    gap:4px;
    overflow:auto;
  }

  .page-editor-nav h3{
    display:none;
  }

  .page-editor-nav a{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

@media(max-width:700px){
  .page-editor-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .page-editor-heading .btn{
    width:100%;
  }

  .code-editor{
    min-height:180px;
  }
}
