.cc-banner{position:fixed;bottom:0;left:0;right:0;background:#ffffff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px rgba(0,0,0,0.1);z-index:9999;padding:16px 20px;font-family:Arial,Helvetica,sans-serif} .cc-banner__content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px} .cc-banner__text{margin:0;font-size:14px;color:#1f2937;line-height:1.4;flex:1} .cc-banner__buttons{display:flex;gap:12px;flex-shrink:0}.cc-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px} .cc-modal__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5)} .cc-modal__content{position:relative;background:#ffffff;border-radius:8px;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px rgba(0,0,0,0.15);font-family:Arial,Helvetica,sans-serif} .cc-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #e5e7eb} .cc-modal__title{margin:0;font-size:18px;font-weight:600;color:#1f2937} .cc-modal__close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;line-height:1;border-radius:4px;transition:background-color 0.2s} .cc-modal__close:hover{background:#f3f4f6;color:#374151} .cc-modal__body{padding:20px 24px} .cc-modal__footer{padding:16px 24px 20px;border-top:1px solid #e5e7eb;display:flex;gap:12px;align-items:center;flex-wrap:wrap} .cc-category{margin-bottom:24px} .cc-category:last-child{margin-bottom:0} .cc-category__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px} .cc-category__title{margin:0;font-size:16px;font-weight:500;color:#1f2937} .cc-category__description{margin:0;font-size:14px;color:#6b7280;line-height:1.4} .cc-privacy-link{color:#2563eb;text-decoration:none;font-size:14px;margin-left:auto} .cc-privacy-link:hover{text-decoration:underline}.cc-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-size:14px;font-weight:500;font-family:inherit;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all 0.2s ease;text-decoration:none;white-space:nowrap;min-height:40px} .cc-btn--primary{background:#2563eb;color:#ffffff;border-color:#2563eb} .cc-btn--primary:hover{background:#1d4ed8;border-color:#1d4ed8} .cc-btn--secondary{background:#ffffff;color:#6b7280;border-color:#d1d5db} .cc-btn--secondary:hover{background:#f9fafb;color:#374151;border-color:#9ca3af} .cc-btn:focus{outline:2px solid #2563eb;outline-offset:2px} .cc-btn:disabled{opacity:0.5;cursor:not-allowed} .cc-settings-trigger,.cc-reset-trigger{margin:8px 0}.cc-toggle{position:relative;display:inline-block;width:44px;height:24px} .cc-toggle input{opacity:0;width:0;height:0} .cc-toggle__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;transition:0.3s;border-radius:24px} .cc-toggle__slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:0.3s;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.3)} .cc-toggle input:checked + .cc-toggle__slider{background-color:#059669} .cc-toggle input:checked + .cc-toggle__slider:before{transform:translateX(20px)} .cc-toggle input:focus + .cc-toggle__slider{box-shadow:0 0 1px #059669} .cc-toggle--disabled .cc-toggle__slider{background-color:#059669;cursor:not-allowed} .cc-toggle--disabled input:checked + .cc-toggle__slider:before{transform:translateX(20px)}@media (max-width:768px){.cc-banner__content{flex-direction:column;align-items:stretch;gap:16px} .cc-banner__text{text-align:center} .cc-banner__buttons{justify-content:center;flex-wrap:wrap;gap:8px} .cc-btn{flex:1;min-width:120px} .cc-modal{padding:10px} .cc-modal__content{max-height:90vh} .cc-modal__header,.cc-modal__body,.cc-modal__footer{padding-left:20px;padding-right:20px} .cc-modal__footer{flex-direction:column;align-items:stretch} .cc-modal__footer .cc-btn{width:100%} .cc-privacy-link{margin:8px 0 0 0;text-align:center} .cc-category__header{align-items:flex-start;gap:12px} .cc-category__title{flex:1} } @media (max-width:480px){.cc-banner{padding:12px 16px} .cc-btn{padding:8px 12px;font-size:13px;min-height:36px} .cc-modal__title{font-size:16px} .cc-category__title{font-size:15px} .cc-category__description{font-size:13px} }