:root{
    --dpc-primary:#5f7569;
    --dpc-primary-dark:#4d6257;
    --dpc-text:#303e48;
    --dpc-muted:#68727b;
    --dpc-line:#dfe3e1;
    --dpc-soft:#f5f6f5;
    --dpc-white:#fff;
}

body.dpc-cookie-drawer-open{overflow:hidden}

.dpc-cookie-banner{
    position:fixed;
    left:24px;
    bottom:24px;
    z-index:99996;
    width:min(430px,calc(100vw - 48px));
    padding:24px;
    border:1px solid #d7dcda;
    background:#fff;
    box-shadow:0 16px 44px rgba(28,40,34,.18);
    color:var(--dpc-text);
    font-family:var(--font-body,Roboto,Arial,sans-serif);
    opacity:0;
    transform:translateY(18px);
    transition:opacity .24s ease,transform .24s ease;
}
.dpc-cookie-banner.is-ready{opacity:1;transform:translateY(0)}
.dpc-cookie-banner__header{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.dpc-cookie-banner__logo{width:108px;height:auto;object-fit:contain}
.dpc-cookie-banner h2{margin:0;color:var(--dpc-text);font-size:22px;font-weight:600;line-height:1.2}
.dpc-cookie-banner p{margin:0 0 14px;color:#56616a;font-size:13.5px;line-height:1.55}
.dpc-cookie-banner__links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px!important;font-size:12.5px!important}
.dpc-cookie-banner__links a,.dpc-cookie-drawer__legal a{color:var(--dpc-primary-dark);text-decoration:underline;text-underline-offset:2px}
.dpc-cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dpc-cookie-banner__actions .dpc-cookie-button--primary{grid-column:1/-1}
.dpc-cookie-banner__actions .dpc-cookie-button--outline{grid-column:1/-1}
.dpc-cookie-banner__actions .dpc-cookie-button--link{grid-column:1/-1}

.dpc-cookie-button{
    min-height:44px;
    padding:10px 15px;
    border:1px solid var(--dpc-primary);
    border-radius:0;
    font:600 12.5px var(--font-body,Roboto,Arial,sans-serif);
    line-height:1.2;
    cursor:pointer;
    transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease;
}
.dpc-cookie-button:disabled{cursor:wait;opacity:.55}
.dpc-cookie-button--primary{background:var(--dpc-primary);color:#fff}
.dpc-cookie-button--primary:hover{border-color:var(--dpc-primary-dark);background:var(--dpc-primary-dark);color:#fff}
.dpc-cookie-button--outline{background:#fff;color:var(--dpc-text)}
.dpc-cookie-button--outline:hover{background:var(--dpc-soft);color:var(--dpc-text)}
.dpc-cookie-button--link{min-height:auto;padding:5px 0;border:0;background:transparent;color:var(--dpc-primary-dark);text-decoration:underline;text-underline-offset:3px}
.dpc-cookie-button--wide{width:100%;margin:4px 0 22px}

.dpc-cookie-drawer-backdrop{
    position:fixed;
    inset:0;
    z-index:99997;
    background:rgba(20,29,34,.18);
    opacity:0;
    transition:opacity .22s ease;
}
.dpc-cookie-drawer-backdrop.is-visible{opacity:1}

.dpc-cookie-drawer{
    position:fixed;
    top:0;
    right:0;
    z-index:99998;
    display:flex;
    width:min(470px,100vw);
    height:100dvh;
    flex-direction:column;
    background:#fff;
    box-shadow:-18px 0 52px rgba(24,34,29,.18);
    color:var(--dpc-text);
    font-family:var(--font-body,Roboto,Arial,sans-serif);
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .26s ease,visibility .26s step-end;
}
.dpc-cookie-drawer.is-visible{transform:translateX(0);visibility:visible;transition:transform .26s ease,visibility 0s}
.dpc-cookie-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px;border-bottom:1px solid var(--dpc-line)}
.dpc-cookie-drawer__brand{display:flex;align-items:center;gap:16px;min-width:0}
.dpc-cookie-drawer__logo{width:98px;height:auto;object-fit:contain;flex:0 0 auto}
.dpc-cookie-drawer__eyebrow{display:block;margin-bottom:3px;color:var(--dpc-primary);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dpc-cookie-drawer h2{margin:0;color:var(--dpc-text);font-size:20px;font-weight:600;line-height:1.2}
.dpc-cookie-drawer__close{display:flex;width:36px;height:36px;align-items:center;justify-content:center;flex:0 0 36px;padding:0;border:0;background:transparent;color:var(--dpc-text);font:300 31px/1 Arial,sans-serif;cursor:pointer}
.dpc-cookie-drawer__body{flex:1;overflow-y:auto;padding:24px}
.dpc-cookie-drawer__intro{margin:0 0 16px;color:#5d6870;font-size:13.5px;line-height:1.6}
.dpc-cookie-preferences{border-top:1px solid var(--dpc-line)}
.dpc-cookie-preference{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--dpc-line)}
.dpc-cookie-preference__text{min-width:0}
.dpc-cookie-preference h3{margin:0 0 5px;color:var(--dpc-text);font-size:15px;font-weight:600}
.dpc-cookie-preference p{margin:0;color:#6a747b;font-size:12.5px;line-height:1.5}
.dpc-cookie-preference__fixed{flex:0 0 auto;padding:5px 8px;background:#edf4ef;color:#456052;font-size:10.5px;font-weight:700;white-space:nowrap}

.dpc-cookie-switch{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;cursor:pointer}
.dpc-cookie-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dpc-cookie-switch__track{position:relative;display:block;width:46px;height:25px;border:1px solid #b9c0bc;background:#d5d9d7;transition:background .18s ease,border-color .18s ease}
.dpc-cookie-switch__thumb{position:absolute;top:3px;left:3px;width:17px;height:17px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .18s ease}
.dpc-cookie-switch input:checked + .dpc-cookie-switch__track{border-color:var(--dpc-primary);background:var(--dpc-primary)}
.dpc-cookie-switch input:checked + .dpc-cookie-switch__track .dpc-cookie-switch__thumb{transform:translateX(21px)}
.dpc-cookie-switch input:focus-visible + .dpc-cookie-switch__track{outline:2px solid var(--dpc-text);outline-offset:3px}

.dpc-cookie-drawer__legal{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;font-size:12px}
.dpc-cookie-drawer__footer{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:16px 24px;border-top:1px solid var(--dpc-line);background:#fff}
.dpc-cookie-message{display:none;margin-top:14px;padding:9px 11px;background:#fff4e5;color:#875900;font-size:12px;line-height:1.4}
.dpc-cookie-message.is-visible{display:block}

.dpc-configurar-cookies{cursor:pointer}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:rgba(255,255,255,.34);font-size:.72rem}
.footer-legal a{color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:#fff}

@media(max-width:767.98px){
    .dpc-cookie-banner{left:0;bottom:0;width:100%;max-height:72dvh;overflow-y:auto;padding:18px;border-right:0;border-bottom:0;border-left:0;box-shadow:0 -12px 32px rgba(28,40,34,.18)}
    .dpc-cookie-banner__header{gap:14px;margin-bottom:14px}
    .dpc-cookie-banner__logo{width:88px}
    .dpc-cookie-banner h2{font-size:19px}
    .dpc-cookie-banner p{font-size:12.5px;line-height:1.5}
    .dpc-cookie-banner__actions{grid-template-columns:1fr}
    .dpc-cookie-banner__actions .dpc-cookie-button--primary,.dpc-cookie-banner__actions .dpc-cookie-button--link{grid-column:auto}
    .dpc-cookie-button{min-height:43px}

    .dpc-cookie-drawer{width:100vw}
    .dpc-cookie-drawer__header{position:sticky;top:0;z-index:2;padding:16px;background:#fff}
    .dpc-cookie-drawer__brand{gap:12px}
    .dpc-cookie-drawer__logo{width:82px}
    .dpc-cookie-drawer h2{font-size:18px}
    .dpc-cookie-drawer__body{padding:18px}
    .dpc-cookie-preference{align-items:flex-start;padding:17px 0}
    .dpc-cookie-preference__fixed{margin-top:1px}
    .dpc-cookie-drawer__footer{position:sticky;bottom:0;z-index:2;grid-template-columns:1fr;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px rgba(28,40,34,.08)}
}

@media(max-width:380px){
    .dpc-cookie-banner{padding:15px}
    .dpc-cookie-banner__logo{width:78px}
    .dpc-cookie-banner h2{font-size:18px}
    .dpc-cookie-drawer__brand{align-items:flex-start}
    .dpc-cookie-drawer__logo{width:72px}
    .dpc-cookie-preference{gap:12px}
}

@media(prefers-reduced-motion:reduce){
    .dpc-cookie-banner,.dpc-cookie-drawer,.dpc-cookie-drawer-backdrop,.dpc-cookie-switch__track,.dpc-cookie-switch__thumb{transition:none}
}
