/* Cookie Consent Banner */
#fp-cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 99999;
  background: #1a1712; border-top: 2px solid rgba(26,92,138,.35);
  padding: 1.4rem 5%; font-family: 'Inter', sans-serif;
  box-shadow: 0 -8px 40px rgba(0,0,0,.5);
  transform: translateY(100%); transition: transform .45s cubic-bezier(.25,.46,.45,.94);
}
#fp-cookie-banner.visible { transform: translateY(0); }
.fp-cookie-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.fp-cookie-text { flex:1; min-width:280px; }
.fp-cookie-title { font-size:.82rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#1A5C8A; margin-bottom:.4rem; }
.fp-cookie-desc { font-size:.83rem; color:#C8BAA4; line-height:1.65; }
.fp-cookie-desc a { color:#1A5C8A; text-decoration:underline; }
.fp-cookie-actions { display:flex; gap:.75rem; flex-wrap:wrap; flex-shrink:0; }
.fp-btn { padding:10px 22px; border-radius:5px; font-family:'Inter',sans-serif;
  font-size:.8rem; font-weight:600; cursor:pointer; letter-spacing:.07em;
  text-transform:uppercase; transition:all .25s ease; border:none;
  white-space:nowrap; min-height:42px; }
.fp-btn-accept { background:#1A5C8A; color:#fff; }
.fp-btn-accept:hover { background:#2178B4; transform:translateY(-1px); }
.fp-btn-reject { background:transparent; color:#C8BAA4; border:1px solid rgba(26,92,138,.3); }
.fp-btn-reject:hover { border-color:#1A5C8A; color:#1A5C8A; }
.fp-btn-settings { background:transparent; color:#C8BAA4; border:1px solid rgba(200,186,164,.2); font-size:.75rem; }
.fp-btn-settings:hover { border-color:rgba(200,186,164,.5); color:#F5F0E8; }
.fp-cookie-close { position:absolute; top:1rem; right:1.5rem; background:none; border:none;
  color:#C8BAA4; cursor:pointer; font-size:1.2rem; line-height:1; padding:4px; transition:color .2s; }
.fp-cookie-close:hover { color:#1A5C8A; }
#fp-cookie-modal { display:none; position:fixed; inset:0; z-index:100000;
  background:rgba(14,12,9,.85); backdrop-filter:blur(8px);
  align-items:center; justify-content:center; padding:1rem; }
#fp-cookie-modal.open { display:flex; }
.fp-modal-box { background:#1a1712; border:1px solid rgba(26,92,138,.25); border-radius:8px;
  padding:2.5rem; max-width:560px; width:100%; max-height:90vh; overflow-y:auto; }
.fp-modal-title { font-family:'Playfair Display',serif; font-size:1.5rem; color:#F5F0E8; margin-bottom:.5rem; }
.fp-modal-sub { font-size:.85rem; color:#C8BAA4; margin-bottom:1.8rem; line-height:1.6; }
.fp-toggle-row { display:flex; justify-content:space-between; align-items:flex-start;
  padding:1rem 0; border-bottom:1px solid rgba(26,92,138,.12); gap:1rem; }
.fp-toggle-label { font-size:.9rem; font-weight:600; color:#F5F0E8; margin-bottom:3px; }
.fp-toggle-desc { font-size:.8rem; color:#C8BAA4; line-height:1.5; }
.fp-toggle-required { font-size:.68rem; color:#1A5C8A; letter-spacing:.1em; text-transform:uppercase; margin-top:3px; }
.fp-switch { position:relative; width:44px; height:24px; flex-shrink:0; margin-top:2px; }
.fp-switch input { opacity:0; width:0; height:0; }
.fp-slider { position:absolute; inset:0; background:rgba(200,186,164,.15);
  border-radius:24px; cursor:pointer; transition:.25s; }
.fp-slider::before { content:''; position:absolute; width:18px; height:18px;
  left:3px; bottom:3px; background:#C8BAA4; border-radius:50%; transition:.25s; }
.fp-switch input:checked + .fp-slider { background:#1A5C8A; }
.fp-switch input:checked + .fp-slider::before { transform:translateX(20px); background:#fff; }
.fp-switch input:disabled + .fp-slider { opacity:.5; cursor:not-allowed; }
.fp-modal-actions { display:flex; gap:.75rem; margin-top:1.8rem; flex-wrap:wrap; }
#fp-cookie-persistent { position:fixed; bottom:20px; left:20px; z-index:99998;
  width:52px; height:52px; background:#1A5C8A; border:none; border-radius:50%;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(26,92,138,.4); transition:all .3s ease; font-size:24px; }
#fp-cookie-persistent:hover { background:#2178B4; transform:translateY(-3px); box-shadow:0 6px 24px rgba(26,92,138,.6); }
@media(max-width:640px){
  .fp-cookie-inner{flex-direction:column;align-items:flex-start;}
  .fp-cookie-actions{width:100%;}
  .fp-btn{flex:1;text-align:center;}
  .fp-modal-box{padding:1.5rem;}
  #fp-cookie-persistent{bottom:15px;left:15px;width:48px;height:48px;font-size:22px;}
}
