/* Page-local owner refinements. Shared commercial styling is unchanged. */
#film-chooser .cf-option-group { padding-top: 36px; }
#film-chooser .cf-option-group > h3 { margin: 0 0 26px; }
.cf-privacy-photo-tool { max-width: 680px; margin-inline: auto; }
.cf-privacy-photo { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #202329; margin: 14px 0; }
.cf-page .cf-privacy-photo img { position: absolute; top: -40.986267%; width: 202.247191%; max-width: none; height: auto; }
.cf-privacy-photo [data-privacy-view="day"] { left: 0; }
/* Register the retained night crop to the day crop's window-frame edges. */
.cf-page .cf-privacy-photo [data-privacy-view="night"] { right: -0.931762%; width: 203.343382%; height: 156.604245%; }
.cf-privacy-photo img[hidden] { display: none; }
.cf-privacy-photo-tool .cf-choice-row .cf-button[aria-pressed="true"] { outline: 3px solid #19191c; outline-offset: 3px; }
.cf-privacy-photo-tool .cf-choice-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 320px; }
/* Keep the privacy explanations beside the comparison on larger screens. */
#privacy > .cf-container { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); column-gap: 28px; align-items: start; }
#privacy .cf-section-head { grid-column: 1 / -1; }
#privacy .cf-privacy-photo-tool { width: 100%; margin: 0; padding: 24px; }
#privacy .cf-privacy-photo-tool h3 { margin-bottom: 12px; font-size: 1.2rem; }
#privacy .cf-privacy-photo-tool .cf-choice-row { margin: 12px 0; }
#privacy .cf-privacy-photo-tool .cf-button { min-height: 44px; padding: 10px 16px; }
/* Both messages size the same grid cell, keeping the taller state reserved. */
#privacy #cf-privacy-result { display: grid; font-size: 1rem; line-height: 1.5; }
#privacy [data-privacy-message] { grid-area: 1 / 1; align-self: start; }
#privacy [data-privacy-message][aria-hidden="true"] { visibility: hidden; }
#privacy .cf-container > .cf-cards { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; gap: 24px; align-self: stretch; }
#privacy .cf-container > .cf-cards .cf-card { padding: 30px; justify-content: center; }
#privacy .cf-container > .cf-cards .cf-card-content { padding: 0; flex: 0 1 auto; display: block; width: 100%; }
#privacy .cf-container > .cf-cards .cf-card-content h3 { min-height: 0; }
@media (max-width: 900px) {
  #privacy > .cf-container { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
  #privacy .cf-section-head { margin-bottom: 0; }
  #privacy .cf-privacy-photo-tool, #privacy .cf-container > .cf-cards { width: 100%; max-width: 680px; margin-inline: auto; }
  #privacy .cf-container > .cf-cards { align-self: start; grid-auto-rows: auto; }
  #privacy .cf-container > .cf-cards .cf-card { padding: 24px; }
}
.cf-page .cf-band-photo { position: relative; isolation: isolate; aspect-ratio: 3 / 2; border: 0; background: #ddd; width: 100%; }
.cf-page .cf-band-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cf-page .cf-band-photo > #cf-preview-band { position: absolute; left: 2.8%; top: 47.5%; transform: translateY(-50%); width: 94.4%; height: 45%; background: rgba(247,249,250,.85); backdrop-filter: blur(13px); -webkit-backdrop-filter: blur(13px); border-block: 1px solid #ffffff8c; opacity: .75; }
#security .cf-photo-card { padding: 0; overflow: hidden; }
#security .cf-photo-card .cf-photo-link { display: block; width: 100%; }
#security .cf-photo-card .cf-photo-link img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
#security .cf-photo-card .cf-card-content { padding: 28px; flex: 1; display: flex; flex-direction: column; width: 100%; }
#security .cf-photo-card .cf-card-content .cf-link { margin-top: auto; }
.cf-page .cf-privacy-photo-tool button:focus-visible, .cf-page #decorative input:focus-visible { outline: 3px solid #17171b; outline-offset: 4px; }
@media (max-width: 700px) {
  #film-chooser .cf-option-group { padding-top: 30px; }
  #film-chooser .cf-option-group > h3 { margin-bottom: 22px; }
  #security .cf-photo-card .cf-card-content { padding: 24px 22px; }
}
