/* Imaxina Cartelera v1.3.1 · Imaxinamais EDC · cores en hex literal (LiteSpeed) */
.cvc{font-family:inherit;color:#1d1d1f;width:100%;max-width:1180px;margin:0 auto;box-sizing:border-box}
.cvc *,.cvc *::before,.cvc *::after{box-sizing:border-box}
.cvc.is-loading .cvc-films,.cvc.is-loading .cvc-empty{opacity:.4;transition:opacity .15s}

/* ---------- Calendario de fins de semana ---------- */
.cvc-cal{background:transparent;border:0;padding:0;margin:0 0 24px}
.cvc-cal__head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.cvc-cal__month{font-size:18px;font-weight:600;color:#00406E}
.cvc .cvc-cal__nav{width:42px;height:42px;border:0;border-radius:50%;background:#005795;color:#ffffff;font-size:30px;font-weight:600;line-height:1;cursor:pointer;padding:0 0 4px;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}
.cvc .cvc-cal__nav:hover:not(:disabled){background:#00406E;transform:scale(1.06)}
.cvc .cvc-cal__nav:disabled{background:#d9dee3;color:#ffffff;cursor:default}
.cvc-cal__weeks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cvc .cvc-week{border:1px solid #b9cfe2;background:transparent;color:#005795;border-radius:10px;padding:6px 4px 8px;cursor:pointer;text-align:center;font-family:inherit;line-height:1.2;margin:0;transition:background .15s,border-color .15s}
.cvc .cvc-week:hover:not(:disabled){background:rgba(0,87,149,.07);border-color:#005795}
.cvc-week__tag{display:block;font-size:9px;font-weight:700;letter-spacing:.04em;color:#A62432;margin:0 0 3px;min-height:11px}
.cvc-week__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.cvc-week__dn{font-size:10px;color:#7a8a99}
.cvc-week__num{font-size:15px;font-weight:600;display:flex;flex-direction:column;align-items:center}
.cvc-dot{display:block;width:5px;height:5px;border-radius:50%;margin-top:3px}
.cvc-dot.is-on{background:#005795}
.cvc .cvc-week.is-active{background:#005795;border-color:#005795;color:#ffffff}
.cvc-week.is-active .cvc-week__tag{color:#ffd9dd}
.cvc-week.is-active .cvc-week__dn{color:#cfe3f3}
.cvc-week.is-active .cvc-dot.is-on{background:#ffffff}
.cvc .cvc-week.is-past{background:transparent;border-color:#e2e2e2;color:#bdbdbd;cursor:default}
.cvc-week.is-past .cvc-week__dn{color:#c2c2c2}
.cvc .cvc-week.is-pending{border-style:dashed;border-color:#cfcfcf;color:#9a9a9a;cursor:default}

/* ---------- Películas ---------- */
.cvc-films{position:relative}
.cvc-track{display:grid;gap:20px}
.cvc-films--1 .cvc-track{grid-template-columns:minmax(0,1fr);max-width:820px;margin:0 auto}
.cvc-films--2 .cvc-track{grid-template-columns:repeat(2,minmax(0,1fr))}
.cvc-films--3 .cvc-track{grid-template-columns:repeat(3,minmax(0,1fr))}
.cvc-films--many .cvc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:4px}
.cvc-films--many .cvc-track::-webkit-scrollbar{display:none}
.cvc-films--many .cvc-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}

.cvc-card{background:#ffffff;border:1px solid #e4e7eb;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}
.cvc-card:hover{transform:translateY(-3px);border-color:#b9cfe2}
.cvc-card__poster{position:relative;aspect-ratio:2/3;background:#e3ebf3;overflow:hidden;flex:0 0 auto}
.cvc-card__poster img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
.cvc-card__noposter{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#7d91a5}
.cvc-badges{position:absolute;top:10px;left:10px;display:flex;gap:5px;flex-wrap:wrap}
.cvc-age,.cvc-kids{color:#ffffff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:#666666;line-height:1.3}
.cvc-age--TP{background:#3f7d1f}.cvc-age--7{background:#c47a12}.cvc-age--12{background:#d1621b}.cvc-age--16,.cvc-age--18{background:#A62432}
.cvc-kids{background:#e9a21c;color:#3d2600}
.cvc-tag{position:absolute;top:10px;right:10px;background:#ffffff;color:#A62432;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px}

.cvc-card__body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
.cvc .cvc-card__title{font-size:19px;line-height:1.15;font-weight:600;color:#00406E;margin:0;padding:0}
.cvc .cvc-card__info{font-size:13px;color:#6b6b6b;margin:6px 0 0;padding:0}

/* Horas aliñadas en columnas */
.cvc-times{display:grid;justify-content:start;column-gap:6px;row-gap:7px;align-items:center;margin:14px 0 0}
.cvc-times__day{font-size:13px;color:#555555;padding-right:6px;white-space:nowrap}
.cvc-time{background:#eaf2f9;color:#005795;font-weight:600;font-size:13px;text-align:center;padding:4px 0;border-radius:5px;line-height:1.3}
.cvc-time.is-empty{background:transparent}
.cvc-time.is-sold{background:#fbe9e9;color:#A62432;display:flex;flex-direction:column;padding:2px 0}
.cvc-time.is-sold s{color:#b08088;font-weight:500}
.cvc-time.is-sold small{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.cvc .cvc-trailer{align-self:flex-start;margin-top:16px;font-size:13px;font-weight:600;color:#005795;text-decoration:none;border:1px solid #c9dbea;padding:5px 12px;border-radius:6px}
.cvc .cvc-trailer:hover{background:#005795;color:#ffffff;border-color:#005795}

/* 1 e 2 películas: tarxeta horizontal co cartel á esquerda */
@media (min-width:768px){
	.cvc-films--1 .cvc-card,.cvc-films--2 .cvc-card{flex-direction:row}
	.cvc-films--1 .cvc-card__poster{width:260px}
	.cvc-films--2 .cvc-card__poster{width:42%;max-width:220px}
	.cvc-films--1 .cvc-card__body{padding:24px 28px}
	.cvc-films--1 .cvc-card__title{font-size:30px}
	.cvc-films--1 .cvc-card__info{font-size:15px;margin-top:8px}
	.cvc-films--1 .cvc-times{margin-top:22px;row-gap:10px;column-gap:8px}
	.cvc-films--1 .cvc-times__day{font-size:15px;padding-right:10px}
	.cvc-films--1 .cvc-time{font-size:15px;padding:6px 0}
	.cvc-films--2 .cvc-card__title{font-size:21px}
}

/* Frechas do carrusel (>3) */
.cvc .cvc-arrow{position:absolute;top:35%;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid #d5e2ee;background:#ffffff;color:#005795;font-size:24px;line-height:1;cursor:pointer;padding:0 0 2px;display:flex;align-items:center;justify-content:center}
.cvc .cvc-arrow:hover{background:#005795;color:#ffffff}
.cvc-arrow--prev{left:-18px}.cvc-arrow--next{right:-18px}

.cvc-empty{text-align:center;color:#6b6b6b;background:#ffffff;border:1px dashed #d5d5d5;border-radius:12px;padding:36px 16px;margin:0}

/* Pé */
.cvc-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px;margin:22px 0 0;font-size:14px;color:#555555}
.cvc-foot span,.cvc .cvc-map{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:1.4}
.cvc .cvc-map{color:#555555;text-decoration:none;border-bottom:1px dotted #9fb6cc}
.cvc .cvc-map:hover{color:#005795;border-bottom-color:#005795}
.cvc-foot svg{color:#005795}
.cvc .cvc-buy{background:#A62432;color:#ffffff;font-weight:600;padding:8px 18px;border-radius:8px;text-decoration:none}
.cvc .cvc-buy:hover{background:#8a1d29;color:#ffffff}

/* ---------- Móbil: fins de semana deslizables e películas apiladas en horizontal ---------- */
@media (max-width:767px){
	.cvc-cal{padding:0}
	.cvc .cvc-cal__nav{width:38px;height:38px;font-size:26px}
	.cvc-cal__head{padding-right:0}
	.cvc-cal__weeks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:6px;padding-right:12px}
	.cvc-cal__weeks::-webkit-scrollbar{display:none}
	.cvc .cvc-week{flex:0 0 88px;scroll-snap-align:start}
	.cvc .cvc-week.is-past{display:none}
	.cvc-films .cvc-track,.cvc-films--many .cvc-track{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;overflow:visible;max-width:none}
	.cvc-films .cvc-card,.cvc-films--many .cvc-card{flex-direction:row;flex:none}
	.cvc-card:hover{transform:none}
	.cvc-card__poster{width:112px}
	.cvc-card__body{padding:12px}
	.cvc .cvc-card__title{font-size:17px}
	.cvc .cvc-card__info{font-size:12px}
	.cvc-times{margin-top:10px;column-gap:4px;row-gap:6px}
	.cvc-times__day{font-size:12px;padding-right:2px}
	.cvc-time{font-size:12px;padding:3px 0}
	.cvc .cvc-trailer{margin-top:10px;font-size:12px;padding:4px 10px}
	.cvc .cvc-arrow{display:none}
	.cvc-age,.cvc-kids{font-size:10px;padding:2px 6px}
	.cvc-badges{top:6px;left:6px;gap:4px}
	.cvc-tag{top:auto;bottom:6px;left:6px;right:auto;font-size:10px;padding:2px 6px}
}
