#wc-dialog {
    box-sizing: border-box;
    width: min(560px, calc(100% - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    border: 0;
    border-top: 4px solid #b5121b;
    padding: 22px;
    color: #242424;
    background: #fff;
    font: 14px/1.45 Arial, Helvetica, sans-serif;
    text-align: left;
}
#wc-dialog[open] { display: flex; flex-direction: column; }
#wc-dialog::backdrop { background: rgb(0 0 0 / 55%); }
#wc-dialog h2 { flex-shrink: 0; margin: 0 0 10px; padding: 0; border: 0; font: bold 22px/1.2 Arial, Helvetica, sans-serif; color: #242424; }
#wc-dialog p { margin: 0 0 10px; }
#wc-dialog .wc-note { color: #666; font-size: 12px; }
#wc-details { min-height: 0; max-height: min(30dvh, 240px); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }
#wc-dialog .wc-necessary { padding: 10px 0; margin: 0; font-size: 12px; color: #666; }
#wc-dialog .wc-service { position: relative; border-top: 1px solid #ddd; }
#wc-dialog .wc-service label { display: flex; align-items: center; gap: 8px; box-sizing: border-box; min-height: 44px; padding: 10px 72px 10px 0; margin: 0; cursor: pointer; }
#wc-dialog .wc-service summary { position: absolute; top: 0; right: 4px; box-sizing: border-box; min-height: 44px; padding: 12px 2px; color: #555; font-size: 12px; cursor: pointer; }
#wc-dialog .wc-service-info { padding: 0 6px 4px 26px; font-size: 13px; }
#wc-dialog input { flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: #b5121b; }
#wc-dialog .wc-actions { flex-shrink: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0 10px; }
#wc-dialog button, .wc-placeholder button, #wc-settings {
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 14px;
    border: 2px solid #b5121b;
    border-radius: 3px;
    background: #fff;
    color: #941018;
    font: bold 14px/1.4 Arial, Helvetica, sans-serif;
    cursor: pointer;
    text-transform: none;
    letter-spacing: normal;
}
#wc-dialog [data-wc-action="accept"], #wc-dialog [data-wc-action="reject"] {
    background: #b5121b;
    color: #fff;
}
#wc-dialog [data-wc-action="details"], #wc-dialog [data-wc-action="save"], #wc-dialog [data-wc-action="continue"] { grid-column: 1 / -1; }
#wc-dialog a { color: #941018; text-decoration: underline; }
#wc-dialog > a { flex-shrink: 0; align-self: flex-start; font-size: 12px; }
#wc-message:empty { display: none; }
#wc-dialog :focus-visible, #wc-settings:focus-visible, .wc-placeholder button:focus-visible { outline: 3px solid #242424; outline-offset: 3px; }
#wc-settings { position: fixed; bottom: 0; right: 20px; left: auto; z-index: 99990; min-height: 44px; padding: 8px 14px 16px; border: 1px solid #ccc; border-bottom: 0; border-radius: 5px 5px 0 0; background: #f4f4f4; color: #555; font-size: 12px; font-weight: normal; box-shadow: 0 -1px 4px rgb(0 0 0 / 8%); transform: translateY(12px); transition: transform 160ms ease-out, background-color 160ms ease-out; }
#wc-settings:hover, #wc-settings:focus-visible { transform: translateY(0); background: #fff; }
.wc-placeholder { padding: 24px; border: 1px solid #ccc; background: #f4f4f4; color: #242424; text-align: center; }
.wc-placeholder p { margin-bottom: 12px; overflow-wrap: anywhere; }
.wc-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.wc-catalog dt { margin-top: 18px; font-weight: bold; }
.wc-catalog dd { margin: 6px 0 18px; }
#wc-dialog [hidden], #wc-settings[hidden], .wc-placeholder[hidden], [data-wc-service][hidden] { display: none !important; }
@media (max-width: 480px) {
    #wc-dialog { padding: 16px; }
    #wc-dialog h2 { font-size: 20px; }
    #wc-details { max-height: min(26dvh, 180px); }
    #wc-dialog button { padding: 9px 8px; font-size: 12px; }
    #wc-settings { right: 12px; transform: none; padding: 10px 12px; }
}
@media (hover: none), (pointer: coarse) { #wc-settings { transform: none; padding: 10px 12px; } }
@media (prefers-reduced-motion: reduce) { #wc-settings { transition: none; } }
