:root{
--site-bg:#fcfaf7;
--site-panel:#ffffff;
--site-text:#111111;
--site-muted:#4c4c4c;
--site-line:rgba(17,17,17,0.10);
--site-accent:#2ea44f;
--site-accent-dark:#24863f;
--site-accent-soft:rgba(46,164,79,0.12);
--site-radius:22px;
--site-shadow:0 18px 50px rgba(0,0,0,0.08);
--site-max:1100px;
}

body{
font-family:'Inter',Arial,sans-serif;
background:linear-gradient(180deg,#fcfaf7 0%,#f7f2eb 100%);
color:var(--site-text);
line-height:1.6;
}

.container-custom{max-width:var(--site-max);} 
.section-xl{padding:70px 0;}

h1,h2,h3{line-height:1.1;margin-bottom:16px;}

h1{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-0.04em;}

p{color:var(--site-muted);}

.page-panel{
background:var(--site-panel);
border:1px solid var(--site-line);
border-radius:28px;
box-shadow:var(--site-shadow);
padding:42px;
position:relative;
}

.brand-logo{
display:block;
width:220px;
margin-bottom:25px;
}

.brand-logo img{
display:block;
height:42px;
width:auto;
}

.close-btn{
position:absolute;
right:26px;
top:26px;
width:48px;
height:48px;
border-radius:50%;
border:1px solid var(--site-line);
background:#fff;
font-size:1.6rem;
line-height:1;
display:flex;
align-items:center;
justify-content:center;
transition:.25s;
}

.close-btn:hover{
background:var(--site-accent-soft);
color:var(--site-accent-dark);
transform:rotate(90deg);
}

.eyebrow{
display:inline-flex;
align-items:center;
gap:10px;
font-size:.82rem;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--site-accent);
font-weight:700;
margin-bottom:16px;
}

.eyebrow::before{
content:"";
width:34px;
height:2px;
background:var(--site-accent);
border-radius:2px;
}

.contact-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:16px;
margin:30px 0;
}

.contact-card{
text-decoration:none !important;
color:var(--site-text) !important;
display:block;
background:var(--site-panel);
border:1px solid var(--site-line);
border-radius:18px;
padding:20px;
transition:.2s;
}

.contact-card:hover,
.contact-card:focus{
text-decoration:none !important;
color:var(--site-text) !important;
transform:translateY(-4px);
box-shadow:0 16px 30px rgba(0,0,0,0.07);
border-color:rgba(46,164,79,0.25);
}

.contact-card h3{
  font-size: 1.3rem;
}

.contact-card h3,
.contact-card p{
color:var(--site-text);
text-decoration:none !important;
}

.contact-card p{
color:var(--site-muted);
}

.contact-icon{
width:52px;
height:52px;
border-radius:14px;
background:var(--site-accent-soft);
display:flex;
align-items:center;
justify-content:center;
margin-bottom:14px;
padding:10px;
}

.contact-icon img{
width:24px;
height:24px;
display:block;
}

.form-panel{
border-top:1px solid var(--site-line);
padding-top:28px;
margin-top:10px;
}

.form-label{font-weight:600;margin-bottom:6px;}

.form-control{
border-radius:12px;
padding:.75rem .9rem;
border:1px solid rgba(0,0,0,0.12);
}

textarea.form-control{min-height:140px;}

.btn-site{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:50px;
padding:0 24px;
border-radius:999px;
font-weight:700;
border:none;
}

.btn-site-primary{
background:var(--site-accent);
color:#fff;
}

.btn-site-primary:hover{
background:var(--site-accent-dark);
}

.note-strip{
margin-top:16px;
padding:14px;
border:1px solid var(--site-line);
border-radius:14px;
background:#faf9f6;
font-size:.95rem;
}

@media(max-width:1000px){
.contact-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:600px){
.contact-grid{grid-template-columns:1fr;}
.page-panel{padding:26px;}
.close-btn{top:16px;right:16px;}
}

.form-panel h2{
padding-bottom: 15px;
}

/*Booking Form*/

.smcms_form{
  margin:0;
}

.smcms_form h1, .smcms_form p{
  display: none;
}

.smcms_form fieldset{
  border:0;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  align-items:start;
}

.smcms_form fieldset > *{
  min-width:0;
  margin:0;
}

.smcms_form label{
  display:block;
  font-weight:600;
  margin-bottom:6px;
  color:var(--site-text);
}

.smcms_form input[type="text"],
.smcms_form input[type="email"],
.smcms_form input[type="tel"],
.smcms_form input[type="date"],
.smcms_form input[type="time"],
.smcms_form select,
.smcms_form textarea{
  width:100%;
  border-radius:12px;
  padding:.75rem .9rem;
  border:1px solid rgba(0,0,0,0.12);
  background:#fff;
  color:var(--site-text);
  box-sizing:border-box;
  min-height:52px;
}

.smcms_form textarea{
  min-height:140px;
  resize:vertical;
}

.smcms_form input:focus,
.smcms_form select:focus,
.smcms_form textarea:focus{
  outline:none;
  border-color:rgba(46,164,79,0.45);
  box-shadow:0 0 0 4px rgba(46,164,79,0.08);
}

.smcms_form .form_row.full-width{
  grid-column:1 / -1;
}

.smcms_form .hidden_field{
  display:none !important;
}

.smcms_form input[type="submit"],
.smcms_form button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  font-weight:700;
  border:none;
  background:var(--site-accent);
  color:#fff;
  transition:.2s ease;
}

.smcms_form input[type="submit"]:hover,
.smcms_form button[type="submit"]:hover{
  background:var(--site-accent-dark);
}

@media (max-width: 767.98px){
  .smcms_form fieldset{
    grid-template-columns:1fr;
  }
}

.smcms_form input[type="date"],
.smcms_form input[type="time"]{
  appearance:none;
  -webkit-appearance:none;
}