


[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:#2A1F36;transition:0.3s ease}
[data-mm-menu]{position:fixed;top:0;left:0;width:280px;max-width:85vw;height:100vh;height:100dvh;background:#ffffff;transform:translateX(-100%);transition:transform 0.3s ease;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:#2A1F36;text-decoration:none;font-size:16px;border-bottom:1px solid rgba(42,31,54,0.08);transition:color 0.3s ease}
[data-mm-menu] ul li a:hover{color:#B3521A}
[data-mm-close]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#2A1F36;padding:4px 8px}
[data-mm-overlay]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(34,26,44,0.55);opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease;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-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:2000;
  background:#ffffff;
  border-top:2px solid #EADFF0;
  box-shadow:0 -8px 40px rgba(42,31,54,0.18);
  transform:translateY(110%);
  transition:transform 0.35s ease;
}
.cc-banner.cc-visible{transform:translateY(0)}
.cc-banner-container{
  width:min(94%,1200px);margin-inline:auto;
  padding:1.35rem 0;
  display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;align-items:center;
}
.cc-title{font-family:'Merriweather',Georgia,serif;font-size:1.125rem;font-weight:700;color:#2A1F36;margin-bottom:0.35rem}
.cc-description{font-size:0.9375rem;line-height:1.6;color:#574766}
.cc-link{color:#8E3A62;text-decoration:underline;text-underline-offset:3px}
.cc-banner-actions{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:flex-end}
.cc-btn{
  border-radius:8px;padding:0.75rem 1.35rem;font-weight:600;font-size:0.9375rem;cursor:pointer;
  transition:box-shadow 0.3s ease,transform 0.2s ease,filter 0.2s ease;
}
.cc-btn-primary{background:#B3521A;color:#ffffff;box-shadow:0 4px 15px rgba(179,82,26,0.4)}
.cc-btn-primary:hover{filter:brightness(0.92);box-shadow:0 6px 25px rgba(179,82,26,0.5);transform:translateY(-2px)}
.cc-btn-secondary{background:#EADFF0;color:#2A1F36}
.cc-btn-secondary:hover{background:#DCCBE6;transform:translateY(-2px)}
.cc-btn-link{background:transparent;color:#8E3A62;text-decoration:underline;text-underline-offset:3px;padding:0.75rem 0.5rem}
.cc-btn:focus-visible{outline:3px solid #8E3A62;outline-offset:3px}

.cc-settings-modal{position:fixed;inset:0;z-index:2100;display:none}
.cc-settings-modal.cc-visible{display:block}
.cc-settings-overlay{position:absolute;inset:0;background:rgba(34,26,44,0.62)}
.cc-settings-container{
  position:relative;z-index:1;background:#ffffff;border-radius:14px;
  width:min(94%,640px);max-height:86vh;overflow-y:auto;
  margin:6vh auto 0;box-shadow:0 24px 70px rgba(34,26,44,0.4);
}
.cc-settings-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.6rem;border-bottom:1px solid #EADFF0}
.cc-settings-title{font-family:'Merriweather',Georgia,serif;font-size:1.25rem;font-weight:700}
.cc-settings-close{font-size:1.5rem;line-height:1;cursor:pointer;color:#574766;padding:0.25rem 0.6rem;border-radius:8px}
.cc-settings-close:hover{background:#EADFF0}
.cc-settings-body{padding:1.35rem 1.6rem}
.cc-settings-description{font-size:0.9375rem;color:#574766;margin-bottom:1.25rem}
.cc-category{border:1px solid #EADFF0;border-radius:12px;padding:1rem 1.1rem;margin-bottom:0.85rem}
.cc-category-header{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}
.cc-category-title{font-family:'Merriweather',Georgia,serif;font-size:1rem;font-weight:700;margin-bottom:0.25rem}
.cc-category-description{font-size:0.875rem;color:#6B5A7A}
.cc-toggle{flex:0 0 auto}
.cc-toggle input{width:20px;height:20px;accent-color:#B3521A;cursor:pointer}
.cc-toggle-disabled input{cursor:not-allowed;opacity:0.55}
.cc-toggle-label{display:inline-flex;align-items:center;min-width:44px;min-height:44px;justify-content:center;cursor:pointer}
.cc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cc-settings-footer{padding:1.1rem 1.6rem 1.5rem;border-top:1px solid #EADFF0;display:flex;justify-content:flex-end}

.cc-footer-link{color:#D9CFE2;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cc-footer-link:hover{color:#ffffff}
.cc-footer-separator{color:#6B5A7A;padding:0 0.35rem}

@media (max-width:768px){
  .cc-banner-container{grid-template-columns:1fr;padding:1.1rem 1rem;gap:1rem}
  .cc-banner-actions{justify-content:stretch}
  .cc-btn{flex:1 1 auto}
  .cc-settings-container{margin-top:3vh;max-height:92vh}
}
