:root {
  --bg: #f8fafc;
  --text: #0f172a;
  --muted: #475569;
  --border:#e2e8f0;
  --card:#f1f5f9;
  --brand:#059669;
  --brand-dark:#047857;
  --brand-50:#ecfdf5;
  --radius: 16px;
  --shadow: 0 8px 24px rgba(2,6,23,.08);
  --shadow-sm: 0 2px 10px rgba(2,6,23,.06);
  --container: 72rem;
}
* { box-sizing: border-box }
body {
  margin:0;
  font-family: Inter, system-ui, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
img { max-width:100%; display:block }

/* Layout helpers */
.container { max-width:var(--container); margin:auto; padding:0 1rem }
.section { padding:3rem 0 }
@media (min-width:768px){ .section{padding:4rem 0} }
.grid-2 { display:grid; gap:2.5rem; align-items:center }
@media (min-width:768px){ .grid-2{ grid-template-columns:1fr 1fr } }
.grid-3 { display:grid; gap:1.25rem }
@media (min-width:900px){ .grid-3{ grid-template-columns: repeat(3,1fr) } }

/* Header */
.header-inner {
  display:flex;
  align-items:center;
  padding:1rem 0;
  flex-wrap:wrap;             /* so elements can wrap to the next line */
  gap:.5rem .75rem;
}

/* Forced order (burger → brand → actions) */
.burger { order:1; }
.brand  { order:2; flex:1 1 auto; }   /* brand fills the middle field */
.header-actions { order:3; }

/* Burger – large and clear on mobile, hidden on desktop */
.burger{
  display:block;
  font-size:28px;            /* fallback, if using ☰ as text */
  line-height:1;
  width:48px; height:48px;   /* 44–48px tap target */
  padding:0;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 8px rgba(2,6,23,.06);
  color:#0f172a;
}
.burger:active{ transform:scale(.98) }
@media(min-width:768px){
  .burger{ display:none }
}

.brand { display:flex; align-items:center; gap:.75rem; font-weight:800 }
.logo { color:var(--brand) }

/* Navigation / actions
   - On mobile: hidden by default, opened with .open
   - On desktop: visible, horizontal layout to the right
*/
.header-actions {
  display:none;
  flex-direction:column;
  gap:.75rem;
  width:100%;
  margin-top:.25rem;
}
.header-actions.open { display:flex }

@media(min-width:768px){
  .header-actions{
    display:flex;
    flex-direction:row;
    gap:.75rem;
    width:auto;
    margin-top:0;
    margin-left:auto;        /* push to the right on desktop */
  }
}

/* Buttons */
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  padding:.6rem .9rem;
  border-radius:12px;
  font-weight:600; text-decoration:none;
  border:1px solid transparent; cursor:pointer;
}
@media(min-width:768px){
  .btn { padding:.75rem 1rem; }
}
.btn-primary { background:var(--brand); color:#fff }
.btn-primary:hover{ background:var(--brand-dark) }
.btn-outline { border-color:var(--brand); color:#065f46; background:#fff }
.btn-outline:hover { background:#f0fdf4 }
.btn-neutral { border-color:#cbd5e1; color:#0f172a; background:#fff }
.btn-neutral:hover { background:#f8fafc }

/* Trustpilot button: logo scales without breaking the layout */
.header-actions .btn img {
  height:20px; width:auto;
}
@media(min-width:768px){
  .header-actions .btn img { height:24px; }
}

/* Hero */
.hero h1 { font-size:clamp(2rem,1.2rem+2.5vw,3rem); margin:0 }
.hero p { color:var(--muted) }
.chip { color:var(--brand); font-weight:800 }
.subtle { color:#64748b; font-size:.95rem }
.actions { margin-top:1rem; display:flex; gap:.75rem; flex-wrap:wrap }
.img-card { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:#fff }
.img-cover { width:100%; height:100%; object-fit:cover }

/* Sections */
.section--muted { background:#fff; border-block:1px solid var(--border) }
.section--tint { background: linear-gradient(180deg, var(--brand-50), #fff) }
.section--border-top { background:#fff; border-top:1px solid var(--border) }

/* Cards */
.card {
  background:var(--card); padding:1.25rem;
  border-radius:var(--radius); box-shadow:var(--shadow-sm);
}
.card h3 { margin:0 0 .4rem }
.price { color:var(--brand); font-weight:800; margin-top:.8rem }

/* About */
.box {
  background:var(--card); padding:1.25rem;
  border-radius:var(--radius); box-shadow:var(--shadow-sm);
}
.hours { list-style:none; padding:0; margin:0 }
.hours li { margin:.25rem 0; color:#334155 }

/* Footer */
footer { background:#fff; border-top:1px solid var(--border) }
.footer-inner { display:flex; flex-direction:column; gap:1rem; padding:2rem 0 }
@media(min-width:768px){ .footer-inner{ flex-direction:row; justify-content:space-between; align-items:center } }
.footer-note { color:#64748b; font-size:.95rem }

/* Closed style */
.hours .closed {
  color: red;
  font-weight: bold;
}


/* --- Extra spacing on iPhone + all iPads (including iPad Pro in landscape) --- */
@media screen and (max-width: 1366px) {
  .container {
    padding: 0 1.25rem !important; /* more spacing than the standard 1rem */
  }
  body {
    /* respect iOS safe areas + minimum .5rem */
    padding-left: max(.5rem, env(safe-area-inset-left)) !important;
    padding-right: max(.5rem, env(safe-area-inset-right)) !important;
  }
}

/* --- Burger as full-width bar on mobile/iPad --- */
@media screen and (max-width: 1366px) {
  .burger{
    display:block;
    margin-left: .5rem;                 /* provides space for left curve */
    margin-right: -1.25rem;             /* so it goes edge-to-edge on the right */
    width: calc(100% - .5rem + 1.25rem);
    height: 48px;
    padding: 0 12px;
    border: 1px solid #cbd5e1;
    border-radius: 24px;                /* curved on both sides */
    background: #fff;
    box-shadow: 0 2px 8px rgba(2,6,23,.06);
    color: #0f172a;
    max-width: 95%;
  }

  /* Stretch the icon so the lines follow the width */
  .burger svg{
    display:block;
    width: 100%;
    height: 28px;
  }
}

/* Hide burger on desktop */
@media (min-width: 768px){
  .burger{ display:none }
}
/* Terms row */
/* Terms row — force left-aligned checkbox */
#rb-booker #rb-terms-row{
  display: grid !important;
  grid-template-columns: 20px 1fr;  /* checkbox | text */
  align-items: start;
  gap: .45rem;
  margin-top: .5rem;
  font-size: .9rem;
  line-height: 1.4;
}
#rb-booker #rb-terms-row input[type="checkbox"]{
  margin-top: .25rem;   /* optisk justering */
}
#rb-booker #rb-terms-row a{
  color:#0f172a; text-decoration: underline;
}
/* Wrapper for højre side af footeren */
.footer-right {
  display: flex;
  justify-content: flex-end;
}

/* Selve boksen */
.partner-box {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(0,0,0,.1);        /* match evt. din farve */
  border-radius: 10px;
  background: #fff;                         /* brug transparent, hvis din footer er mørk */
}

/* Ensartet logo-højde og skarp gengivelse */
.partner-box img {
  height: 28px;                             /* justér samlet højde her */
  width: auto;
  display: block;
  filter: none;                             /* fjern evt. farvefiltre fra tema */
}

/* Mørk tilstand (valgfri) */
@media (prefers-color-scheme: dark) {
  .partner-box {
    border-color: rgba(255,255,255,.18);
    background: rgba(255,255,255,.04);
  }
}

/* Mobil: centrer boksen */
@media (max-width: 680px) {
  .footer-right {
    justify-content: center;
  }
  .partner-box {
    flex-wrap: wrap;
    gap: 10px;
  }
}
