
:root{
  --cp-footer-h:72px;
  --cp-footer-bg:rgba(250,249,246,.97);
  --cp-footer-fg:#1d1d1b;
  --cp-footer-muted:#77736c;
  --cp-footer-line:rgba(29,29,27,.14);
}
body{padding-bottom:calc(var(--cp-footer-h) + env(safe-area-inset-bottom,0px))}
.cp-fixed-footer{
  position:fixed;z-index:90;left:0;right:0;bottom:0;
  min-height:var(--cp-footer-h);
  padding:10px max(18px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left));
  display:grid;
  grid-template-columns:minmax(240px,auto) minmax(260px,1fr) auto;
  align-items:center;
  column-gap:28px;
  row-gap:8px;
  background:var(--cp-footer-bg);
  border-top:1px solid var(--cp-footer-line);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  color:var(--cp-footer-fg);
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  box-shadow:0 -8px 30px rgba(20,18,15,.05)
}
.cp-footer-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.cp-footer-logo{width:38px;height:38px;display:block;object-fit:contain;flex:0 0 auto}
.cp-footer-wordmark{display:grid;line-height:1.18;min-width:0}
.cp-footer-wordmark strong{font-size:.76rem;letter-spacing:.06em;white-space:nowrap}
.cp-footer-wordmark small{font-size:.58rem;letter-spacing:.12em;color:var(--cp-footer-muted);white-space:nowrap}
.cp-footer-claim{
  min-width:0;text-align:center;font-size:.62rem;font-weight:700;
  letter-spacing:.13em;color:var(--cp-footer-muted);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis
}
.cp-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:14px;white-space:nowrap}
.cp-footer-links a,.cp-cookie-trigger{
  color:var(--cp-footer-muted);font:inherit;font-size:.64rem;text-decoration:none;border:0;background:none;padding:4px 0;cursor:pointer
}
.cp-footer-links a:hover,.cp-cookie-trigger:hover{color:var(--cp-footer-fg)}

body.stories-page{
  --cp-footer-bg:#0c0d0f;
  --cp-footer-fg:#f1ede5;
  --cp-footer-muted:#9d9a94;
  --cp-footer-line:rgba(255,255,255,.12);
}
body.gallery-page, body.login-page{
  --cp-footer-bg:#f7f4ee;
  --cp-footer-fg:#27241f;
  --cp-footer-muted:#777168;
  --cp-footer-line:rgba(39,36,31,.12);
}

.cp-cookie-note{
  position:fixed;z-index:95;left:50%;
  bottom:calc(var(--cp-footer-h) + 16px + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);
  width:min(720px,calc(100% - 24px));
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:14px 16px 14px 18px;border:1px solid var(--cp-footer-line);border-radius:18px;
  background:var(--cp-footer-bg);box-shadow:0 18px 55px rgba(20,18,15,.16);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  color:var(--cp-footer-fg);font-family:"Segoe UI",Arial,Helvetica,sans-serif
}
.cp-cookie-note[hidden]{display:none}
.cp-cookie-copy{display:grid;gap:3px}
.cp-cookie-copy strong{font-size:.76rem}
.cp-cookie-copy span{font-size:.67rem;line-height:1.45;color:var(--cp-footer-muted)}
.cp-cookie-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.cp-cookie-actions a{font-size:.64rem;color:var(--cp-footer-muted)}
.cp-cookie-ok{
  border:1px solid var(--cp-footer-fg);background:var(--cp-footer-fg);color:var(--cp-footer-bg);
  border-radius:999px;padding:8px 13px;font-size:.66rem;font-weight:700;cursor:pointer
}

@media(max-width:980px){
  :root{--cp-footer-h:92px}
  .cp-fixed-footer{
    grid-template-columns:minmax(220px,1fr) auto;
    grid-template-areas:
      "brand links"
      "claim claim";
    align-items:center;
    column-gap:18px;
    row-gap:7px;
    padding-top:10px;
  }
  .cp-footer-brand{grid-area:brand}
  .cp-footer-links{grid-area:links;gap:10px;flex-wrap:wrap}
  .cp-footer-claim{grid-area:claim;text-align:left;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}
}
@media(max-width:680px){
  :root{--cp-footer-h:124px}
  .cp-fixed-footer{
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "claim"
      "links";
    align-items:start;
    gap:7px;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));
  }
  .cp-footer-brand{grid-area:brand}
  .cp-footer-logo{width:32px;height:32px}
  .cp-footer-wordmark strong{font-size:.7rem}
  .cp-footer-wordmark small{font-size:.54rem}
  .cp-footer-claim{grid-area:claim;text-align:left;font-size:.54rem;white-space:normal;line-height:1.35}
  .cp-footer-links{
    grid-area:links;justify-content:flex-start;gap:10px 12px;white-space:normal;flex-wrap:wrap
  }
  .cp-footer-links a,.cp-cookie-trigger{font-size:.6rem}
  .cp-cookie-note{align-items:flex-start;flex-direction:column}
  .cp-cookie-actions{width:100%;justify-content:space-between}
}
  .cp-fixed-footer{grid-template-columns:1fr auto;gap:5px 8px}
  .cp-footer-logo{width:30px;height:30px}
  .cp-footer-wordmark small{display:none}
  .cp-footer-links{gap:7px;overflow-x:auto;max-width:58vw;scrollbar-width:none}
  .cp-footer-links::-webkit-scrollbar{display:none}
  .cp-footer-claim{font-size:.48rem;letter-spacing:.09em}
  .cp-cookie-note{align-items:flex-start;flex-direction:column}
  .cp-cookie-actions{width:100%;justify-content:space-between}
}
