/* Cinema detail: Figma 1281:15171. Data stays in the manager. */
.cj-venues-main { margin:0; padding:0 0 120px; }
.cj-venue-detail,.cj-venue-directory,.cj-venue-message { width:min(1280px,calc(100% - 3rem)); margin-inline:auto; }
.cj-venue-detail { display:grid; grid-template-columns:minmax(0,624fr) minmax(0,619fr); gap:35px; padding-bottom:60px; }
.cj-venue-detail :where(p,h1,figure) { margin:0; }
.cj-venue-copy { display:flex; flex-direction:column; gap:26px; min-width:0; }
.cj-venue-copy h1 { font:900 clamp(32px,3.638vw,55px)/normal Mattone,sans-serif; overflow-wrap:anywhere; }
.cj-venue-tags { display:flex; flex-wrap:wrap; gap:17px; }
.cj-venue-tags span { padding:5px 10px; border:1px solid #000; border-radius:19px; font:480 12px/normal Inter,sans-serif; }
.cj-venue-address,.cj-venue-description { font:670 20px/1.2 Inter,sans-serif; }
.cj-venue-description p+p { margin-top:16px; }
.cj-venue-access { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding-block:10px; font:480 12px/normal Inter,sans-serif; }
.cj-venue-access ul { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.cj-venue-access li { display:flex; align-items:center; gap:10px; }
.cj-venue-contacts { display:flex; flex-wrap:wrap; border-block:1px solid #000; min-height:35px; }
.cj-venue-contacts:empty { display:none; }
.cj-venue-contacts a { display:flex; align-items:center; gap:10px; padding:10px; border-right:1px solid #000; font:480 12px/normal Inter,sans-serif; color:#000; text-underline-offset:2px; }
.cj-venue-contacts a:hover,.cj-venue-contacts a:focus-visible { background:var(--wp--preset--color--periwinkle,#dceb69); }
.cj-venue-contacts img,.cj-venue-access img,.cj-venue-actions img { width:auto; height:auto; max-width:none; flex:none; }
.cj-venue-platform-icon { display:block; width:30px; height:25px; flex:none; }
.cj-venue-platform-icon img { display:block; transform:scale(1.666666667); transform-origin:top left; }
.cj-venue-team { font:480 12px/1.4 Inter,sans-serif; }
.cj-venue-team > p,.cj-venue-team > div { padding:10px 0; border-bottom:1px solid #000; }
.cj-venue-actions { display:flex; flex-wrap:wrap; }
.cj-venue-action { flex:1 1 250px; display:flex; align-items:center; justify-content:center; gap:10px; padding:10px 10px 20px; border-block:1px solid #000; color:#000; text-decoration:none; }
.cj-venue-action+.cj-venue-action { border-left:1px solid #000; }
.cj-venue-action--lien_billetterie { background:var(--wp--preset--color--periwinkle,#dceb69); }
.cj-venue-action--lien_plateforme_acces_libre { background:var(--wp--preset--color--pink,#d6b7d7); }
.cj-venue-action > span:not(.cj-venue-platform-icon) { padding-block:10px; border-bottom:1px solid #000; font:670 16px/normal Inter,sans-serif; }
.cj-venue-action:hover > span:not(.cj-venue-platform-icon),.cj-venue-action:focus-visible > span:not(.cj-venue-platform-icon) { border-bottom-width:2px; }
.cj-venue-photo { align-self:stretch; position:relative; min-height:360px; margin:0; overflow:hidden; background:var(--wp--preset--color--grey,#f5f5f5); }
.cj-venue-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cj-venue-photo-placeholder { position:absolute; inset:0; display:grid; place-items:center; padding:24px; text-align:center; font:480 16px/1.4 Inter,sans-serif; color:#555; }
.cj-venue-photo-placeholder[hidden],.cj-venue-programming[hidden],.cj-venue-directory [hidden] { display:none!important; }
.cj-venue-directory { padding-block:0 60px; font:480 16px/1.4 Inter,sans-serif; }
.cj-venue-search label { display:block; margin-bottom:12px; font-weight:670; }
.cj-venue-search input { width:100%; padding:14px; border:1px solid #000; border-radius:0; font:inherit; background:#fff; color:#000; }
.cj-venue-search p { margin:12px 0 26px; }
.cj-venue-department { border:0; padding-block:26px 34px; scroll-margin-top:calc(var(--cj-header-height,162px) + 20px); }
.cj-venue-department h2 { font:700 55px/1.2 Mattone,sans-serif; margin:0 0 26px; padding-bottom:20px; border-bottom:1px solid #000; overflow-wrap:anywhere; }
.cj-venue-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:60px 30px; align-items:start; }
.cj-venue-card { grid-column:span 2; display:flex; flex-direction:column; min-width:0; border:0; padding:0; overflow-wrap:anywhere; background:#fff; }
.cj-venue-card.is-featured { grid-column:span 3; }
.cj-venue-card-photo { display:block; position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--wp--preset--color--grey,#f5f5f5); }
.cj-venue-card-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.cj-venue-card-body { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:30px; }
.cj-venue-card p,.cj-venue-card h3 { margin:0; }
.cj-venue-card h3 { font:700 34px/normal Mattone,sans-serif; }
.cj-venue-card h3 a { text-decoration:none; }
.cj-venue-card-description { font:480 16px/normal Inter,sans-serif; white-space:pre-line; }
.cj-venue-card .cj-hp-link { margin:0; font:670 16px/normal Inter,sans-serif; }
.cj-venue-city { font-weight:670; }
.cj-venue-anchor { display:block; scroll-margin-top:calc(var(--cj-header-height,162px) + 20px); }
.cj-venue-status { padding:20px; }
.editor-styles-wrapper .cj-venue-directory { width:100%; }
@media(max-width:1000px) { .cj-venue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cj-venue-card,.cj-venue-card.is-featured { grid-column:auto; } .cj-venue-card h3 { font-size:28px; } .cj-venue-detail { gap:24px; } }
@media(max-width:800px) {
 .cj-venue-department h2 { font-size:clamp(28px,6vw,40px); }
 .cj-venue-detail,.cj-venue-directory,.cj-venue-message { width:calc(100% - 2rem); }
 .cj-venue-detail { grid-template-columns:minmax(0,1fr); }
 .cj-venue-photo { min-height:0; aspect-ratio:16/9; }
 .cj-venue-address,.cj-venue-description { font-size:18px; }
 .cj-venues-main { padding-bottom:60px; }
}
@media(max-width:520px) { .cj-venue-grid { grid-template-columns:minmax(0,1fr); } .cj-venue-action+.cj-venue-action { border-left:0; border-top:0; } }

/* Homepage: department tabs, city names and continuous band — Figma 666:5863. */
.cj-hp-accordion--locations,.cj-festival-accordion--places { --cj-accordion-color:#dceb69; }
.cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places)[open],
.cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places) > summary:hover { background:#dceb69; }
.cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places) > summary { min-height:106px; display:flex; justify-content:center; align-items:center; gap:25px; padding:10px 20px; font:900 clamp(26px,3.638vw,55px)/normal Mattone,sans-serif; }
.cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places)[open] > summary { border-bottom:1px solid #000; }
.cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places)[open] > summary::after { content:''; display:block; flex:none; width:30px; height:30px; margin:0; background:url('../images/venue-accordion-close.svg') center no-repeat; }
.cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places) > .cj-hp-accordion-content { padding:0; }
.cj-home-cities { width:100%; margin:0!important; background:#dceb69; color:#000; }
.cj-home-cities [hidden] { display:none!important; }
.cj-home-cities-tabs { display:flex; flex-wrap:wrap; border-bottom:1px solid #000; }
.cj-home-cities-tabs button { flex:1 1 0; min-width:0; min-height:84px; padding:10px; border:0; border-right:1px solid #000; border-radius:0; color:#000; background:transparent; font:480 20px/normal Inter,sans-serif; cursor:pointer; overflow-wrap:anywhere; }
.cj-home-cities-tabs button:last-child { border-right:0; }
.cj-home-cities-tabs button:hover,.cj-home-cities-tabs button[aria-selected="true"] { box-shadow:inset 0 -5px #000; }
.cj-home-cities-tabs button[aria-selected="true"] { font-weight:670; }
.cj-home-cities :focus-visible { outline:2px solid #000; outline-offset:-4px; }
.cj-home-cities-list { columns:5; column-gap:49px; margin:0; padding:20px; list-style:none; border-bottom:1px solid #000; }
.cj-home-cities-list li { break-inside:avoid; padding:0 0 15px; margin:0; }
.cj-home-cities-list a { display:block; padding:10px; border-bottom:1px solid #000; font:670 16px/normal Inter,sans-serif; color:#000; text-decoration:none; overflow-wrap:anywhere; }
.cj-home-cities-list a:hover { text-decoration:underline; text-underline-offset:4px; }
.cj-home-cities-marquee { overflow:hidden; padding-block:30px; }
.cj-home-cities-track { display:flex; width:max-content; animation:cj-home-cities-scroll var(--cj-cities-duration,100s) linear infinite; }
.cj-home-cities-track > span { display:flex; flex:none; align-items:center; gap:30px; padding-right:30px; min-height:61px; box-sizing:border-box; font:400 26px/normal Mattone,sans-serif; white-space:nowrap; }
.cj-home-cities-track i { display:block; width:13px; height:13px; flex:none; border-radius:50%; background:#000; }
.cj-home-cities-marquee:hover .cj-home-cities-track { animation-play-state:paused; }
.cj-venue-results-heading { display:flex; align-items:center; flex-wrap:wrap; gap:20px 30px; padding:0 0 60px; }
.cj-venue-results-heading h2 { margin:0; padding:10px; font:700 34px/normal Mattone,sans-serif; }
.cj-venue-results-criteria { display:flex; flex-wrap:wrap; align-items:center; gap:15px; }
.cj-venue-result-tag { display:block; border:1px solid #000; padding:10px; background:#000; color:#fff; font:480 16px/normal Inter,sans-serif; overflow-wrap:anywhere; }
.cj-venue-directory--results .cj-venue-department { padding-top:0; }
@media(max-width:600px) { .cj-venue-results-heading { gap:15px; padding-bottom:35px; } .cj-venue-results-heading h2 { padding-inline:0; font-size:28px; } .cj-venue-results-criteria { max-width:100%; } }
.cj-footer-legal { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:40px; padding-top:20px; border-top:1px solid #000; font:480 12px/1.5 Inter,sans-serif; }
.cj-footer-legal a { color:inherit; text-underline-offset:3px; }
@keyframes cj-home-cities-scroll { to { transform:translateX(-50%); } }
@media(max-width:1000px) { .cj-home-cities-tabs button { flex:1 1 25%; border-bottom:1px solid #000; font-size:16px; min-height:64px; } .cj-home-cities-list { columns:3; column-gap:25px; } }
@media(max-width:600px) { .cj-home-cities-tabs button { flex-basis:50%; } .cj-home-cities-list { columns:2; column-gap:16px; padding:16px; } .cj-home-cities-list a { padding:10px 4px; font-size:14px; } .cj-home-cities-track > span { font-size:22px; } .cj-homepage :is(.cj-hp-accordion--locations,.cj-festival-accordion--places) > summary { min-height:80px; gap:12px; } }
@media(prefers-reduced-motion:reduce) { .cj-home-cities-track { animation:none; } }
html[data-cj-motion="reduced"] .cj-home-cities-track { animation:none; }
