.dcc-root {
  --dcc-accent: #46142d;
  --dcc-bg: #f7f5f2;
  --dcc-text: #24181e;
  color: var(--dcc-text);
  font-family: "Montserrat", Arial, sans-serif;
}
.dcc-root [hidden] { display: none !important; }
.dcc-backdrop { position: fixed; inset: 0; z-index: 999997; background: rgba(25,10,17,.42); backdrop-filter: blur(4px); }
.dcc-panel { position: fixed; right: 22px; bottom: 22px; left: 22px; z-index: 999998; max-width: 1140px; margin: auto; overflow: hidden; border: 1px solid rgba(70,20,45,.18); background: var(--dcc-bg); box-shadow: 0 22px 70px rgba(30,9,20,.24); }
.dcc-panel__head { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; border-bottom: 1px solid rgba(70,20,45,.13); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.dcc-root .dcc-close { width: 42px !important; height: 42px !important; padding: 0 !important; border: 1px solid rgba(70,20,45,.28) !important; border-radius: 0 !important; background: transparent !important; color: var(--dcc-accent) !important; font: 300 24px/1 Georgia,serif !important; cursor: pointer; }
.dcc-panel__body { padding: 20px 22px; }
.dcc-panel h2 { margin: 0 0 7px; color: var(--dcc-accent); font: 400 clamp(28px,3vw,42px)/1.05 "Cormorant Garamond",Georgia,serif; }
.dcc-panel p { max-width: 780px; margin: 0 0 10px; font-size: 14px; line-height: 1.65; }
.dcc-policy { color: var(--dcc-accent); font-size: 12px; font-weight: 700; text-underline-offset: 3px; }
.dcc-details { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 18px; }
.dcc-choice { display: flex; gap: 14px; align-items: flex-start; padding: 14px; border: 1px solid rgba(70,20,45,.15); background: #fff; cursor: pointer; }
.dcc-choice span { flex: 1; }
.dcc-choice strong,.dcc-choice small { display: block; }
.dcc-choice strong { font-size: 13px; letter-spacing: .07em; text-transform: uppercase; }
.dcc-choice small { margin-top: 5px; color: #66545c; font-size: 12px; line-height: 1.4; }
.dcc-choice input { position: absolute; opacity: 0; }
.dcc-choice i { position: relative; flex: 0 0 38px; height: 22px; border-radius: 11px; background: #c9bec3; transition: .2s; }
.dcc-choice i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: .2s; }
.dcc-choice input:checked + i { background: var(--dcc-accent); }
.dcc-choice input:checked + i::after { transform: translateX(16px); }
.dcc-choice:focus-within { outline: 2px solid var(--dcc-accent); outline-offset: 2px; }
.dcc-choice--locked { cursor: default; }
.dcc-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 22px; border-top: 1px solid rgba(70,20,45,.13); background: var(--dcc-bg); }
.dcc-root .dcc-btn { min-height: 44px !important; padding: 10px 18px !important; border: 1px solid var(--dcc-accent) !important; border-radius: 0 !important; background: transparent !important; color: var(--dcc-accent) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .07em !important; text-transform: uppercase !important; cursor: pointer; }
.dcc-root .dcc-accept,.dcc-root .dcc-save,.dcc-root .dcc-btn:hover { background: var(--dcc-accent) !important; color: #fff !important; }
.dcc-btn:focus-visible,.dcc-close:focus-visible,.dcc-reopen:focus-visible { outline: 2px solid var(--dcc-accent); outline-offset: 3px; }
.dcc-root .dcc-reopen { position: fixed; bottom: 14px; left: 14px; z-index: 999996; display: grid !important; place-items: center; width: 50px !important; height: 50px !important; padding: 0 !important; border: 1px solid rgba(70,20,45,.2) !important; border-radius: 50% !important; background: var(--dcc-accent) !important; color: var(--dcc-bg) !important; box-shadow: 0 8px 24px rgba(30,9,20,.2); cursor: pointer; transition: background-color .2s,color .2s,transform .2s; }
.dcc-root .dcc-reopen:hover { transform: translateY(-2px); }
.dcc-reopen svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.dcc-root button.dcc-reopen.is-dark { border-color: rgba(247,245,242,.45) !important; background-color: var(--dcc-bg) !important; background-image: none !important; color: var(--dcc-accent) !important; }
.dcc-sr { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 700px) {
  .dcc-panel { right: 10px; bottom: 10px; left: 10px; max-height: calc(100vh - 20px); overflow: auto; }
  .dcc-panel__body { padding: 18px 16px; }
  .dcc-details { grid-template-columns: 1fr; }
  .dcc-actions { display: grid; grid-template-columns: 1fr 1fr; padding: 12px 16px; }
  .dcc-btn { width: 100%; padding: 9px 8px; }
  .dcc-panel h2 { font-size: 31px; }
  .dcc-panel p { font-size: 13px; }
  .dcc-root .dcc-reopen { bottom: 9px; left: 9px; width: 46px !important; height: 46px !important; }
}
