/* Two logo assets: desktop and mobile/tablet (up to 768px). */
.logo .photo-logo { display: block; }
.logo .photo-logo img { width: auto; height: 50px; max-width: 100%; object-fit: contain; padding: 0; }
@media (min-width: 769px) and (max-width: 991px) { .logo .photo-logo img { height: 42px; } }
@media (min-width: 769px) { footer.site .logo .photo-logo img { height: 44px; } }
@media (max-width: 768px) {
  .logo .photo-logo img { width: 180px; height: 56px; object-fit: cover; }
}

.photo-cookie-banner { padding: 14px 20px; background: #fff; color: #111; border-top: 1px solid #ddd; box-shadow: 0 -3px 16px #00000012; }
.photo-cookie-banner[data-sticky='true'] { position: fixed; inset-inline: 0; bottom: 0; z-index: 10001; }
.photo-cookie-banner .wrap { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.photo-cookie-banner p { flex: 1 1 240px; margin: 0; }
.photo-cookie-banner a { text-decoration: underline; }
.photo-cookie-banner button { min-height: 44px; padding: 8px 16px; font: inherit; cursor: pointer; border: 1px solid #ddd; border-radius: 8px; background: #fff; color: #111; }
.photo-cookie-banner .photo-cookie-accept { background: var(--yellow, #FFD400); }
@media (max-width: 991px) { .photo-cookie-banner[data-sticky='true'] { bottom: calc(60px + env(safe-area-inset-bottom, 0px)); } }
