/* ================================================================
   GDPR Cookie Consent Pro v3.0 – Public Styles
   Autor: A10web.es · https://a10web.es
   ================================================================ */
.gcc-wrap {
  --gcc-brand:       #1a73e8;
  --gcc-brand-dark:  #1557b0;
  --gcc-brand-light: rgba(26,115,232,.12);
  --gcc-bg:          #ffffff;
  --gcc-bg2:         #f8f9fa;
  --gcc-text:        #202124;
  --gcc-muted:       #5f6368;
  --gcc-border:      #e8eaed;
  --gcc-btn:         #1a73e8;
  --gcc-btn-txt:     #ffffff;
  --gcc-r:           12px;
  --gcc-shadow:      0 4px 28px rgba(0,0,0,.15);
  --gcc-shadow-lg:   0 12px 52px rgba(0,0,0,.24);
  --gcc-z:           999999;
  --gcc-font:        -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --gcc-ease:        cubic-bezier(.4,0,.2,1);
}
.gcc-wrap *,.gcc-wrap *::before,.gcc-wrap *::after{box-sizing:border-box;margin:0;padding:0;}
@media(prefers-color-scheme:dark){.gcc-wrap{--gcc-bg:#1e1e2e;--gcc-bg2:#2a2a3e;--gcc-text:#e0e0f0;--gcc-muted:#a0a0b8;--gcc-border:#3a3a50;--gcc-shadow-lg:0 12px 52px rgba(0,0,0,.5);}}
#gcc-banner-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:calc(var(--gcc-z) - 1);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:gccFade .2s ease;}
#gcc-banner{position:fixed;z-index:var(--gcc-z);font-family:var(--gcc-font);font-size:14px;line-height:1.6;background:var(--gcc-bg);color:var(--gcc-text);box-shadow:var(--gcc-shadow-lg);}
#gcc-banner.gcc-pos-bottom-bar{bottom:0;left:0;right:0;border-radius:16px 16px 0 0;border-top:3px solid var(--gcc-brand);animation:gccUp .35s var(--gcc-ease);}
#gcc-banner.gcc-pos-top-bar{top:0;left:0;right:0;border-radius:0 0 16px 16px;border-bottom:3px solid var(--gcc-brand);animation:gccDown .35s var(--gcc-ease);}
#gcc-banner.gcc-pos-box{bottom:24px;right:24px;max-width:420px;width:calc(100% - 48px);border-radius:var(--gcc-r);animation:gccLeft .35s var(--gcc-ease);}
#gcc-banner.gcc-pos-popup{top:50%;left:50%;transform:translate(-50%,-50%);max-width:520px;width:calc(100% - 32px);border-radius:var(--gcc-r);animation:gccZoom .3s var(--gcc-ease);}
.gcc-banner-inner{padding:20px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.gcc-pos-box .gcc-banner-inner,.gcc-pos-popup .gcc-banner-inner{flex-direction:column;align-items:flex-start;padding:24px;}
.gcc-banner-lead{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.gcc-pos-box .gcc-banner-lead,.gcc-pos-popup .gcc-banner-lead{flex-shrink:1;}
.gcc-icon-cookie{width:52px;height:52px;flex-shrink:0;filter:drop-shadow(0 2px 5px rgba(0,0,0,.15));}
.gcc-pos-bottom-bar .gcc-icon-cookie,.gcc-pos-top-bar .gcc-icon-cookie{width:44px;height:44px;}
.gcc-banner-text{flex:1;min-width:180px;}
.gcc-banner-title{font-size:16px;font-weight:800;color:var(--gcc-text);line-height:1.3;margin-bottom:4px;}
.gcc-banner-desc{font-size:13px;color:var(--gcc-muted);line-height:1.55;}
.gcc-banner-desc a{color:var(--gcc-brand);text-underline-offset:2px;}
.gcc-banner__logo{margin-bottom:10px;}
.gcc-banner__logo img{max-height:36px;width:auto;}
.gcc-ccpa-link{display:inline-block;margin-top:10px;font-size:12px;color:var(--gcc-brand);text-decoration:underline;cursor:pointer;}
.gcc-banner-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-shrink:0;}
.gcc-pos-box .gcc-banner-actions,.gcc-pos-popup .gcc-banner-actions{width:100%;flex-direction:column;align-items:stretch;}
.gcc-pos-box .gcc-banner-actions .gcc-btn,.gcc-pos-popup .gcc-banner-actions .gcc-btn{justify-content:center;}
.gcc-banner-footer{padding:8px 24px;border-top:1px solid var(--gcc-border);font-size:11px;color:var(--gcc-muted);display:flex;align-items:center;justify-content:center;gap:5px;background:var(--gcc-bg2);opacity:.8;}
.gcc-banner-footer a{color:var(--gcc-muted);text-decoration:none;}
.gcc-banner-footer a:hover{text-decoration:underline;}
.gcc-pos-bottom-bar .gcc-banner-footer,.gcc-pos-top-bar .gcc-banner-footer{border-radius:0;}
.gcc-pos-box .gcc-banner-footer,.gcc-pos-popup .gcc-banner-footer{border-radius:0 0 var(--gcc-r) var(--gcc-r);}
.gcc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 22px;border-radius:50px;border:2px solid transparent;font-family:var(--gcc-font);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s var(--gcc-ease);line-height:1;white-space:nowrap;letter-spacing:.2px;text-decoration:none;}
.gcc-btn:focus-visible,.gcc-modal-close:focus-visible{outline:3px solid var(--gcc-brand);outline-offset:3px;}
.gcc-btn:focus:not(:focus-visible){outline:none;}
.gcc-btn--accept{background:var(--gcc-btn);color:var(--gcc-btn-txt);border-color:var(--gcc-btn);box-shadow:0 2px 10px rgba(26,115,232,.35);}
.gcc-btn--accept:hover{background:var(--gcc-brand-dark);border-color:var(--gcc-brand-dark);box-shadow:0 4px 16px rgba(26,115,232,.5);transform:translateY(-1px);}
.gcc-btn--accept:active{transform:translateY(0);}
.gcc-btn--reject{background:transparent;color:var(--gcc-muted);border-color:var(--gcc-border);}
.gcc-btn--reject:hover{background:var(--gcc-bg2);border-color:#c8cacf;color:var(--gcc-text);}
.gcc-btn--prefs{background:transparent;color:var(--gcc-brand);border-color:var(--gcc-brand);}
.gcc-btn--prefs:hover{background:var(--gcc-brand-light);}
#gcc-floating-btn{position:fixed;width:54px;height:54px;border-radius:50%;background:var(--gcc-btn);color:var(--gcc-btn-txt);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(26,115,232,.5),0 1px 5px rgba(0,0,0,.18);z-index:calc(var(--gcc-z) - 2);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;overflow:visible;padding:0;}
#gcc-floating-btn::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(26,115,232,.35);animation:gccPulse 2.8s ease-in-out infinite;pointer-events:none;}
#gcc-floating-btn:hover{transform:scale(1.14) rotate(-10deg);box-shadow:0 6px 26px rgba(26,115,232,.6),0 2px 8px rgba(0,0,0,.2);}
#gcc-floating-btn:focus-visible{outline:3px solid var(--gcc-brand);outline-offset:4px;}
#gcc-floating-btn .gcc-icon-cookie{width:30px;height:30px;pointer-events:none;}
#gcc-floating-btn[data-tip]::before{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);background:rgba(0,0,0,.82);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;white-space:nowrap;font-family:var(--gcc-font);pointer-events:none;opacity:0;transition:opacity .2s;}
#gcc-floating-btn:hover[data-tip]::before,#gcc-floating-btn:focus-visible[data-tip]::before{opacity:1;}
.gcc-fb--bottom-left{bottom:24px;left:24px;}
.gcc-fb--bottom-right{bottom:24px;right:24px;}
.gcc-fb--top-left{top:24px;left:24px;}
.gcc-fb--top-right{top:24px;right:24px;}
#gcc-preferences-modal{position:fixed;inset:0;z-index:calc(var(--gcc-z) + 1);display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:gccFade .2s ease;}
.gcc-modal-box{background:var(--gcc-bg);border-radius:var(--gcc-r);max-width:660px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--gcc-shadow-lg);animation:gccZoom .25s var(--gcc-ease);overflow:hidden;}
.gcc-modal-head{padding:22px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-shrink:0;}
.gcc-modal-title-row{display:flex;align-items:center;gap:12px;}
.gcc-modal-title-row .gcc-icon-cookie{width:42px;height:42px;}
.gcc-modal-title{font-size:19px;font-weight:800;color:var(--gcc-text);line-height:1.2;}
.gcc-modal-subtitle{font-size:12px;color:var(--gcc-muted);margin-top:2px;}
.gcc-modal-close{background:var(--gcc-bg2);border:1px solid var(--gcc-border);width:32px;height:32px;border-radius:50%;font-size:17px;cursor:pointer;color:var(--gcc-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;line-height:1;}
.gcc-modal-close:hover{background:#fde;color:#c00;border-color:#fcc;}
.gcc-modal-intro{padding:14px 24px;font-size:13px;color:var(--gcc-muted);line-height:1.6;border-bottom:1px solid var(--gcc-border);flex-shrink:0;}
.gcc-modal-intro a{color:var(--gcc-brand);}
.gcc-modal-body{padding:18px 24px;overflow-y:auto;flex:1;}
.gcc-modal-foot{padding:16px 24px 20px;border-top:1px solid var(--gcc-border);background:var(--gcc-bg2);display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;}
.gcc-cats{display:flex;flex-direction:column;gap:8px;}
.gcc-cat{border:1.5px solid var(--gcc-border);border-radius:8px;overflow:hidden;transition:border-color .2s;}
.gcc-cat.is-checked{border-color:rgba(26,115,232,.4);}
.gcc-cat-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;cursor:pointer;gap:10px;user-select:none;}
.gcc-cat-head:hover{background:var(--gcc-bg2);}
.gcc-cat-info{flex:1;display:flex;flex-direction:column;gap:2px;}
.gcc-cat-name{font-size:14px;font-weight:700;color:var(--gcc-text);}
.gcc-cat-count{font-size:11px;color:var(--gcc-muted);}
.gcc-cat-required{font-size:11px;font-weight:700;background:#e8f0fe;color:var(--gcc-brand);padding:3px 10px;border-radius:20px;flex-shrink:0;display:flex;align-items:center;gap:4px;}
.gcc-cat-arrow{font-size:11px;color:var(--gcc-muted);transition:transform .2s;flex-shrink:0;}
.gcc-cat.is-open .gcc-cat-arrow{transform:rotate(180deg);}
.gcc-cat-body{display:none;padding:12px 15px 14px;font-size:13px;color:var(--gcc-muted);line-height:1.6;background:var(--gcc-bg2);border-top:1px solid var(--gcc-border);}
.gcc-cat.is-open .gcc-cat-body{display:block;}
.gcc-tog{position:relative;flex-shrink:0;}
.gcc-tog input{opacity:0;width:0;height:0;position:absolute;}
.gcc-tog-track{width:46px;height:25px;background:#ccc;border-radius:25px;cursor:pointer;position:relative;transition:background .2s;display:block;}
.gcc-tog-track::after{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s var(--gcc-ease);box-shadow:0 1px 3px rgba(0,0,0,.25);}
.gcc-tog input:checked~.gcc-tog-track{background:var(--gcc-brand);}
.gcc-tog input:checked~.gcc-tog-track::after{transform:translateX(21px);}
.gcc-tog--locked .gcc-tog-track{background:var(--gcc-brand);opacity:.65;cursor:not-allowed;}
.gcc-tog--locked .gcc-tog-track::after{transform:translateX(21px);}
.gcc-tog input:focus-visible~.gcc-tog-track{outline:3px solid var(--gcc-brand);outline-offset:2px;}
#gcc-live-region{position:fixed;bottom:90px;left:24px;background:#323232;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;z-index:9999999;box-shadow:0 4px 16px rgba(0,0,0,.3);font-family:var(--gcc-font);max-width:320px;display:none;}
@keyframes gccFade{from{opacity:0}to{opacity:1}}
@keyframes gccUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes gccDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes gccLeft{from{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes gccZoom{from{transform:scale(.93);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes gccPulse{0%,100%{transform:scale(1);opacity:.5}60%{transform:scale(1.2);opacity:0}}
.gcc-modal-body::-webkit-scrollbar{width:4px;}
.gcc-modal-body::-webkit-scrollbar-thumb{background:#ddd;border-radius:10px;}
@media(max-width:600px){
  #gcc-banner.gcc-pos-box{bottom:0;right:0;left:0;max-width:100%;border-radius:16px 16px 0 0;}
  .gcc-banner-inner{padding:16px;}
  .gcc-banner-actions{flex-direction:column;align-items:stretch;width:100%;}
  .gcc-banner-actions .gcc-btn{justify-content:center;}
  .gcc-modal-box{border-radius:16px 16px 0 0;max-height:95vh;align-self:flex-end;}
  #gcc-preferences-modal{align-items:flex-end;padding:0;}
  .gcc-modal-head,.gcc-modal-body,.gcc-modal-foot{padding-left:18px;padding-right:18px;}
  #gcc-floating-btn{width:48px;height:48px;}
  .gcc-fb--bottom-left{bottom:16px;left:16px;}
  .gcc-fb--bottom-right{bottom:16px;right:16px;}
}
@media(prefers-contrast:more){.gcc-btn--accept{box-shadow:none;}.gcc-cat{border-width:2px;}.gcc-tog-track{border:2px solid #000;}}
@media(prefers-reduced-motion:reduce){#gcc-banner,.gcc-modal-box,#gcc-floating-btn::after{animation:none!important;}.gcc-btn,.gcc-tog-track,.gcc-tog-track::after,.gcc-cat-arrow{transition:none!important;}}
@media print{.gcc-wrap{display:none!important;}}
