:root { --sacm-blue: #0058b7; --sacm-dark: #202124; --sacm-gray: #606f7b; --sacm-light: #F1F3F4; --sacm-white: #FFFFFF; --sacm-border-radius: 10px; }
        #sacm-wrapper * { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; }
        
        #sacm-float-btn { position: fixed; bottom: 20px; left: 20px; width: 48px; height: 48px; background: var(--sacm-blue); color: white; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.15); cursor: pointer; z-index: 999998; border: none; display: none; align-items: center; justify-content: center; transition: transform 0.2s; padding: 0 !important; }
        #sacm-float-btn:hover, #sacm-float-btn:focus { transform: scale(1.05); outline: 2px solid #0058b7; outline-offset: 2px;}
        #sacm-float-btn svg { width: 20px !important; height: 20px !important; fill: white; display: block; }

        #sacm-banner { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%); width: 90%; max-width: 1000px; background: var(--sacm-white); border-radius: var(--sacm-border-radius); box-shadow: 0 10px 40px rgba(0,0,0,0.1); z-index: 999999; display: none; padding: 24px; border: 1px solid #e5e7eb;}
        .sacm-banner-inner { display: flex; flex-direction: column; gap: 20px; position: relative;}
        .sacm-banner-close-icon { position: absolute; top: -10px; right: -10px; background: transparent; border: none; font-size: 24px; color: #9ca3af; cursor: pointer; line-height: 1; padding: 5px; transition: color 0.2s; }
        .sacm-banner-close-icon:hover, .sacm-banner-close-icon:focus { color: #4b5563; outline: none; }

        .sacm-header { display: flex; gap: 15px; align-items: flex-start; padding-right: 20px; }
        .sacm-icon-box { color: var(--sacm-blue); width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
        .sacm-icon-box svg { width: 32px !important; height: 32px !important; fill: currentColor; }
        .sacm-content h3 { margin: 0 0 8px 0; font-size: 18px; color: var(--sacm-dark); font-weight: 700; }
        .sacm-content p { margin: 0; font-size: 14px; color: var(--sacm-gray); line-height: 1.5; }
        .sacm-footer { display: flex; gap: 10px; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
        .sacm-links { margin-right: auto; font-size: 12px; }
        .sacm-links a { color: var(--sacm-blue); text-decoration: none; margin-right: 15px; font-weight: 500; }
        .sacm-links a:hover { text-decoration: underline; }

        .sacm-btn { padding: 10px 20px; border-radius: 6px; font-weight: 600; font-size: 14px; cursor: pointer; border: none; transition: all 0.2s; text-align: center; }
        .sacm-btn-primary { background: var(--sacm-blue); color: white; }
        .sacm-btn-primary:hover, .sacm-btn-primary:focus { opacity: 0.9; box-shadow: 0 2px 8px rgba(0,88,183,0.3); }
        .sacm-btn-outline { background: transparent; border: 1px solid #DADCE0; color: var(--sacm-blue); }
        .sacm-btn-outline:hover, .sacm-btn-outline:focus { background: #F8F9FA; border-color: var(--sacm-blue); }
        
        .sacm-btn-secondary { background: #4b5563; border: 1px solid #4b5563; color: white;}
        .sacm-btn-secondary:hover, .sacm-btn-secondary:focus { background: #374151; }

        #sacm-modal { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(2px); z-index: 9999999; align-items: center; justify-content: center; }
        .sacm-modal-card { background: white; width: 95%; max-width: 700px; border-radius: var(--sacm-border-radius); box-shadow: 0 20px 40px rgba(0,0,0,0.2); display: flex; flex-direction: column; max-height: 90vh; }
        .sacm-modal-header { padding: 20px 24px; border-bottom: 1px solid #F1F3F4; display: flex; justify-content: space-between; align-items: center; }
        .sacm-modal-title h2 { font-size: 18px; margin: 0; color: var(--sacm-dark); display: flex; align-items: center; gap: 10px; }
        .sacm-close { background: none; border: none; cursor: pointer; color: var(--sacm-gray); font-size: 24px; line-height: 1; }
        .sacm-modal-body { padding: 0; overflow-y: auto; }
        
        .sacm-accordion-item { border-bottom: 1px solid #F1F3F4; padding: 20px 24px; display: flex; flex-direction: column; }
        .sacm-acc-top { display: flex; align-items: flex-start; justify-content: space-between; width: 100%; }
        .sacm-acc-content { padding-right: 20px; flex: 1; }
        .sacm-acc-title { font-weight: 600; color: var(--sacm-dark); font-size: 15px; margin-bottom: 5px; }
        .sacm-acc-desc { font-size: 13px; color: var(--sacm-gray); line-height: 1.4; }
        
        .sacm-cookie-list-details { margin-top: 15px; padding: 15px; background: #FAFAFA; border-radius: 6px; font-size: 12px; color: var(--sacm-gray); border: 1px solid #E5E7EB; }
        .sacm-c-item { margin-bottom: 8px; border-bottom: 1px dashed #E5E7EB; padding-bottom: 8px; }
        .sacm-c-item:last-child { margin-bottom: 0; border-bottom: none; padding-bottom: 0; }
        .sacm-c-item strong { color: var(--sacm-dark); font-size: 13px;}
        
        .sacm-show-more { color: var(--sacm-blue); font-size: 13px; font-weight: 600; cursor: pointer; margin-top: 8px; display: inline-block; background:none; border:none; padding:0;}
        .sacm-show-more:hover, .sacm-show-more:focus { text-decoration: underline; outline:none; }
        
        .sacm-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; margin-top: 2px;}
        .sacm-switch input { opacity: 0; width: 0; height: 0; }
        .sacm-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #DADCE0; transition: .3s; border-radius: 34px; }
        .sacm-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; transition: .3s; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
        input:checked + .sacm-slider { background-color: var(--sacm-blue); }
        input:checked + .sacm-slider:before { transform: translateX(20px); }
        input:focus + .sacm-slider { outline: 2px solid var(--sacm-blue); outline-offset: 2px; }
        input:disabled + .sacm-slider { opacity: 0.6; cursor: not-allowed; }

        .sacm-modal-footer { padding: 20px 24px; border-top: 1px solid #F1F3F4; display: flex; justify-content: space-between; align-items: center; background: #FAFAFA; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px;}
        .sacm-modal-footer-left { display: flex; gap: 10px; }
        
        .sacm-hidden { display: none !important; }
        .sacm-locked-label { font-size: 12px; font-weight: bold; color: #10B981; text-transform: uppercase; margin-top: 5px; }

        @media (max-width: 600px) {
            #sacm-banner { bottom: 0; width: 100%; border-radius: 10px 10px 0 0; }
            .sacm-header { flex-direction: column; gap: 10px; }
            .sacm-footer { justify-content: space-between; width: 100%; gap: 10px; }
            .sacm-footer button { flex: 1; padding: 10px 15px; font-size: 13px;}
            .sacm-links { width: 100%; text-align: center; margin-bottom: 10px; }
            .sacm-modal-footer { flex-direction: column-reverse; gap: 15px; }
            .sacm-modal-footer-left { width: 100%; display: flex; flex-direction: column; }
            .sacm-modal-footer button { width: 100%; }
        }

/* v3.5.0 — Design System Fundação Salesianos + layouts */
:root { --sacm-blue-light:#009bd8; --sacm-text:#364048; --sacm-muted:#6B7785; --sacm-divider:#EEF3F8; --sacm-bg:#F5F8FB; }
#sacm-wrapper .sacm-btn { border-radius:10px; padding:10px 25px; font-weight:500; }
#sacm-wrapper .sacm-btn-primary { background:linear-gradient(135deg, var(--sacm-blue), var(--sacm-blue-light)); color:#fff; }
#sacm-wrapper .sacm-btn-secondary { background:#fff; color:var(--sacm-blue); border:1px solid var(--sacm-blue-light); }
#sacm-wrapper .sacm-btn-outline { background:transparent; color:var(--sacm-muted); border:1px solid #8e9aa7; }
#sacm-wrapper.sacm-layout-modal #sacm-banner { top:50%; bottom:auto; max-width:720px; transform:translate(-50%,-50%); }
#sacm-wrapper.sacm-layout-side #sacm-banner { right:30px; left:auto; bottom:30px; transform:none; max-width:430px; }
#sacm-wrapper.sacm-layout-side .sacm-footer { justify-content:stretch; }
#sacm-wrapper.sacm-layout-side .sacm-footer button { width:100%; }
#sacm-wrapper.sacm-layout-side .sacm-links { width:100%; margin:0 0 8px 0; }
.sacm-privacy-page { border:1px solid var(--sacm-divider); border-radius:12px; padding:24px; background:#fff; box-shadow:5px 5px 5px rgba(143,155,164,.05); }
.sacm-public-cookie-table { overflow-x:auto; margin-top:18px; }
.sacm-public-cookie-table table { width:100%; border-collapse:collapse; font-size:14px; }
.sacm-public-cookie-table th, .sacm-public-cookie-table td { border-bottom:1px solid var(--sacm-divider); padding:12px; text-align:left; vertical-align:top; }
.sacm-public-cookie-table th { background:var(--sacm-bg); color:var(--sacm-text); }
@media (prefers-reduced-motion: reduce) { #sacm-wrapper * { transition:none !important; animation:none !important; } }
