


[data-mm-header]{--mm-bg:#fff1f2;--mm-text:#4c0519;--mm-primary:#ff6b57;--mm-overlay-bg:rgba(76,5,25,0.55);--mm-transition:0.3s ease}
[data-mm-header]{position:relative}
[data-mm-toggle]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}
[data-mm-toggle] span{display:block;width:24px;height:2px;background:var(--mm-text);transition:var(--mm-transition)}
[data-mm-menu]{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;height:100dvh;background:var(--mm-bg);transform:translateX(-100%);transition:transform var(--mm-transition);z-index:1100;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:60px 24px 24px}
[data-mm-menu].mm-open{transform:translateX(0)}
[data-mm-menu] ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
[data-mm-menu] ul li a{display:block;padding:14px 0;color:var(--mm-text);text-decoration:none;font-size:16px;border-bottom:1px solid rgba(0,0,0,0.08);transition:color var(--mm-transition)}
[data-mm-menu] ul li a:hover{color:var(--mm-primary)}
[data-mm-close]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--mm-text);padding:4px 8px}
[data-mm-overlay]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--mm-overlay-bg);opacity:0;visibility:hidden;transition:opacity var(--mm-transition),visibility var(--mm-transition);z-index:1050}
[data-mm-overlay].mm-visible{opacity:1;visibility:visible}
@media(min-width:768px){
  [data-mm-toggle]{display:none!important}
  [data-mm-menu]{position:static!important;width:auto!important;max-width:none!important;height:auto!important;background:transparent!important;transform:none!important;padding:0!important;overflow:visible!important;flex-direction:row!important}
  [data-mm-menu] ul{flex-direction:row;gap:0;align-items:center}
  [data-mm-menu] ul li a{padding:8px 16px;border-bottom:none;font-size:inherit}
  [data-mm-close]{display:none!important}
  [data-mm-overlay]{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  [data-mm-menu],[data-mm-overlay],[data-mm-toggle] span{transition:none!important}
}


.cc-wrap {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  width: min(94%, 60rem);
  z-index: 1400;
  display: none;
}
.cc-wrap.cc-on { display: block; }
.cc-panel {
  background: var(--surface-raised);
  border-radius: var(--radius-card);
  box-shadow: var(--shade-lift);
  border: 2px solid var(--brand-coral-wash);
  padding: var(--space-3);
}
.cc-title {
  font-family: 'Poppins', sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.cc-text {
  font-size: 0.92rem;
  color: var(--text-secondary);
  margin-bottom: var(--space-2);
}
.cc-link { color: var(--action-primary); text-decoration: underline; }
.cc-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.cc-btn {
  border-radius: var(--radius-pill);
  padding: 0.7rem 1.5rem;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.92rem;
  flex: 1 1 auto;
  transition: all 0.2s ease;
}
.cc-yes { background: var(--brand-coral-ink); color: #fff; }
.cc-no { background: var(--surface-sunken); color: var(--text-primary); }
.cc-set { background: transparent; color: var(--action-primary); border: 2px solid var(--edge-hairline); }
.cc-yes:hover { background: var(--brand-coral-ink-deep); }
.cc-no:hover { background: var(--brand-coral-wash); }
.cc-cats { display: none; margin-top: var(--space-2); }
.cc-cats.cc-on { display: block; }
.cc-cat {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--edge-hairline);
}
.cc-cat p { font-size: 0.84rem; color: var(--text-secondary); }
.cc-cat h4 { font-size: 0.95rem; }
.cc-cat input { margin-top: 0.35rem; accent-color: var(--brand-coral); }


.fld { margin-bottom: var(--space-2); }
.fld label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: 500;
  font-size: 0.92rem;
  color: var(--text-secondary);
}
.fld input[type="text"],
.fld input[type="tel"],
.fld input[type="email"],
.fld textarea,
.fld select {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 2px solid var(--edge-hairline);
  border-radius: var(--radius-soft);
  background: #ffffff;
  font: inherit;
  color: var(--text-primary);
  transition: all 0.2s ease;
}
.fld input:focus,
.fld textarea:focus {
  border-color: var(--brand-coral);
}
.fld-check {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  font-size: 0.86rem;
  color: var(--text-secondary);
  margin-bottom: var(--space-2);
}
.fld-check input { margin-top: 0.25rem; accent-color: var(--brand-coral); }
.fld-note {
  font-size: 0.84rem;
  color: var(--text-secondary);
  margin-top: 0.5rem;
}
.msg-ok,
.msg-bad {
  border-radius: var(--radius-soft);
  padding: var(--space-2);
  margin-bottom: var(--space-2);
  font-size: 0.95rem;
}
.msg-ok { background: #ecfdf3; color: var(--state-success); border: 2px solid #bbf7d0; }
.msg-bad { background: #fef2f2; color: var(--state-danger); border: 2px solid #fecaca; }
