/* Beecham & Associates, CPA — site styles */
html { scroll-behavior: smooth; scroll-padding-top: 96px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #FBF8F2; color: #2B2219; font-family: 'Red Hat Text', system-ui, sans-serif; }
img { max-width: 100%; }
a { color: #2D5E32; }
a:hover { color: #1E3522; }
summary { cursor: pointer; }
:focus-visible { outline: 3px solid #C9A24A; outline-offset: 2px; }
.site { width: 100%; overflow-x: hidden; }

.skip { position: absolute; left: -9999px; top: 8px; background: #1E3522; color: #FFFFFF; padding: 10px 14px; border-radius: 6px; z-index: 100; }
.skip:focus { left: 8px; color: #FFFFFF; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: #FFFFFF; border-bottom: 3px solid #C9A24A; font-family: 'Red Hat Text', system-ui, sans-serif; }
.hdr { max-width: 1400px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hdr-logo { display: flex; align-items: center; flex-shrink: 0; }
.hdr-logo img { height: 50px; width: auto; display: block; }
.nav-desktop { display: flex; align-items: center; gap: 16px; font-size: 14px; font-weight: 700; }
.nav-link { text-decoration: none; color: #2B2219; padding: 12px 2px; }
.nav-link:hover { color: #2D5E32; }
.dd { position: relative; }
.dd-btn { background: none; border: none; padding: 12px 2px; font: inherit; color: #2B2219; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.dd-btn:hover { color: #2D5E32; }
.dd-btn svg { transition: transform .15s; }
.dd.open .dd-btn svg { transform: rotate(180deg); }
.dd-menu { display: none; position: absolute; top: 46px; left: 0; min-width: 270px; background: #FFFFFF; border: 1px solid #E4D9C6; border-radius: 10px; box-shadow: 0 12px 28px rgba(43,34,25,0.14); padding: 8px; flex-direction: column; }
.dd.open .dd-menu { display: flex; }
.dd-menu a { text-decoration: none; color: #2B2219; padding: 12px 14px; border-radius: 6px; font-weight: 600; }
.dd-menu a:hover { background: #F3EBDD; color: #1E3522; }

.btn { display: inline-block; text-decoration: none; padding: 12px 14px; border-radius: 8px; font-weight: 700; white-space: nowrap; text-align: center; }
.btn-gold { background: #C9A24A; color: #2B2219; }
.btn-gold:hover { background: #B8913B; color: #2B2219; }
.btn-green { background: #2D5E32; color: #FFFFFF; }
.btn-green:hover { background: #1E3522; color: #FFFFFF; }

.burger { display: none; width: 48px; height: 48px; border: 1px solid #E4D9C6; border-radius: 8px; background: #FFFFFF; color: #1E3522; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
.burger .i-close { display: none; }
.menu-open .burger .i-open { display: none; }
.menu-open .burger .i-close { display: block; }
.nav-mobile { display: none; border-top: 1px solid #E4D9C6; background: #FFFFFF; padding: 8px 20px 24px; flex-direction: column; font-size: 17px; font-weight: 700; max-height: calc(100vh - 80px); overflow-y: auto; }
.nav-mobile a { text-decoration: none; color: #2B2219; padding: 12px 0; }
.nav-mobile .btn { padding: 15px 18px; margin-top: 12px; white-space: normal; }
.nav-mobile .btn-gold { color: #2B2219; }
.nav-mobile .btn-green { color: #FFFFFF; }
.nm-label { padding: 18px 0 6px; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: #6B4A2E; }

@media (max-width: 1320px) {
  .nav-desktop { display: none; }
  .burger { display: flex; }
  .hdr-logo img { height: 44px; }
  .menu-open .nav-mobile { display: flex; }
}

/* Booking day picker */
.day-btn { text-decoration: none; border: 1px solid #2D5E32; color: #2D5E32; border-radius: 10px; padding: 12px 8px; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.day-btn:hover { background: #2D5E32; color: #FFFFFF; }
.day-wd { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.day-md { font-size: 17px; font-weight: 700; }
