/* Dream Art Core — widgets. Dark brand look; accent and fonts come from the Elementor kit when present. */
.da {
	--da-ink: #0c0b0a;
	--da-coal: #171513;
	--da-slate: #221f1c;
	--da-line: #34302b;
	--da-bone: #f3eee8;
	--da-mute: #a79d93;
	--da-accent: var(--e-global-color-accent, #cfae93);
	--da-accent-2: #e3c9b3;
	--da-wa: #25d366;
	--da-r: 14px;
	color: var(--da-bone);
	font-family: var(--da-body, 'Poppins', 'Helvetica Neue', Arial, sans-serif);
	box-sizing: border-box;
}
.da *, .da *::before, .da *::after { box-sizing: border-box; }
.da [hidden] { display: none !important; }
.da button { font-family: inherit; }
.da :focus-visible { outline: 2px solid var(--da-accent); outline-offset: 3px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) { .da * { animation: none !important; transition: none !important; } }

/* buttons */
.da-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; cursor: pointer; text-decoration: none !important; font: 800 14px/1 var(--da-body, 'Poppins', Arial, sans-serif); letter-spacing: .06em; text-transform: uppercase; padding: 18px 26px; border-radius: 999px; transition: transform .2s, background .2s; }
.da-btn:hover { transform: translateY(-2px); }
.da-btn:disabled { opacity: .6; cursor: wait; transform: none; }
.da-btn-sand { background: var(--da-accent, #cfae93); color: #1a120c !important; }
.da-btn-sand:hover { background: #e3c9b3; }
.da-btn-wa { background: #25d366; color: #062b14 !important; width: 100%; margin-top: 18px; }
.da-btn-sm { padding: 13px 18px; font-size: 12px; }
.da-link { display: inline-block; margin-top: 14px; font: 800 13px/1 var(--da-body, Arial, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--da-accent) !important; text-decoration: none !important; }
.da-eyebrow { font: 700 12px/1 var(--da-body, Arial, sans-serif); letter-spacing: .18em; text-transform: uppercase; color: var(--da-accent); }

/* ---------- Hoy en el tatami ---------- */
.da-today { background: rgba(23, 21, 19, .86); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid var(--da-line); border-radius: var(--da-r); padding: 22px; max-width: 440px; }
.da-today-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; font: 700 12px/1 var(--da-body, Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--da-mute); }
.da-live { display: inline-flex; align-items: center; gap: 7px; color: var(--da-accent); }
.da-live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--da-accent); animation: da-pulse 1.8s infinite; }
@keyframes da-pulse { 0% { box-shadow: 0 0 0 0 rgba(207, 174, 147, .7); } 70% { box-shadow: 0 0 0 9px rgba(207, 174, 147, 0); } 100% { box-shadow: 0 0 0 0 rgba(207, 174, 147, 0); } }
.da-today-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.da-today-list li { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 12px; border-radius: 10px; background: var(--da-slate); border-left: 4px solid var(--cc, var(--da-accent)); margin: 0; }
.da-today-list time { font: 700 17px/1 var(--da-display, 'Montserrat', Arial, sans-serif); font-variant-numeric: tabular-nums; }
.da-today-list b { font-size: 14px; display: block; line-height: 1.25; }
.da-today-list small { font-size: 12px; color: var(--da-mute); }

/* ---------- Timetable ---------- */
.da-tt-bar { display: none; flex-direction: column; gap: 14px; margin-bottom: 26px; }
.da-tt.is-js .da-tt-bar { display: flex; }
.da-days, .da-chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.da-days::-webkit-scrollbar, .da-chips::-webkit-scrollbar { display: none; }
.da-day { flex: none; background: var(--da-slate); border: 1.5px solid var(--da-line); color: var(--da-mute); border-radius: 12px; padding: 12px 16px; cursor: pointer; font: 700 14px/1 var(--da-display, 'Montserrat', Arial, sans-serif); text-transform: uppercase; letter-spacing: .02em; min-width: 92px; text-align: left; }
.da-day small { display: block; font: 600 11px/1 var(--da-body, Arial, sans-serif); letter-spacing: .06em; margin-top: 6px; text-transform: none; }
.da-day[aria-pressed="true"] { background: var(--da-accent); border-color: var(--da-accent); color: #1a120c; }
.da-chip { flex: none; display: inline-flex; align-items: center; gap: 8px; background: var(--da-slate); border: 1.5px solid var(--da-line); color: var(--da-bone); border-radius: 999px; padding: 9px 14px; cursor: pointer; font: 600 13px/1 var(--da-body, Arial, sans-serif); }
.da-chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--cc); }
.da-chip[aria-pressed="true"] { border-color: var(--da-bone); background: rgba(243, 238, 232, .08); }
.da-tt-day + .da-tt-day { margin-top: 28px; }
.da-tt.is-js .da-tt-day + .da-tt-day { margin-top: 0; }
.da-tt-dayname { font: 800 19px/1.1 var(--da-display, 'Montserrat', Arial, sans-serif) !important; text-transform: uppercase; margin: 0 0 12px !important; color: var(--da-bone) !important; }
.da-tt.is-js .da-tt-dayname { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.da-tt-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.da-cls { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; background: var(--da-slate); border-radius: 12px; padding: 16px 18px; border-left: 5px solid var(--cc); }
.da-cls time { font: 700 18px/1 var(--da-display, 'Montserrat', Arial, sans-serif); font-variant-numeric: tabular-nums; white-space: nowrap; }
.da-cls time span { display: block; font-size: 14px; color: var(--da-mute); margin-top: 4px; }
.da-cls b { font-size: 15px; line-height: 1.3; display: block; }
.da-cls small { color: var(--da-mute); font-size: 12px; }
.da-cls.is-past { opacity: .6; }
.da-cls.is-now { padding-top: 32px; }
.da-now { position: absolute; top: 10px; right: 12px; font: 800 10px/1 var(--da-body, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: #1a120c; background: var(--da-accent); padding: 5px 7px; border-radius: 4px; }
.da-tt-empty, .da-tt-note { color: var(--da-mute); font-size: 14px; }
.da-tt-empty { padding: 26px 0; }
.da-tt-note { margin-top: 20px; }

/* ---------- Finder ---------- */
.da-finder { background: var(--da-slate); border: 1px solid var(--da-line); border-radius: 22px; padding: clamp(22px, 3vw, 36px); min-height: 380px; }
.da-steps { display: flex; gap: 6px; margin-bottom: 26px; }
.da-steps i { flex: 1; height: 4px; border-radius: 2px; background: var(--da-line); }
.da-steps i.on { background: var(--da-accent); }
.da-q { font: 800 clamp(21px, 2.4vw, 28px)/1.15 var(--da-display, 'Montserrat', Arial, sans-serif); text-transform: uppercase; margin: 0; }
.da-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.da-opt { text-align: left; background: var(--da-coal); border: 1.5px solid var(--da-line); color: var(--da-bone); border-radius: 14px; padding: 18px; cursor: pointer; font: 700 16px/1.3 var(--da-body, Arial, sans-serif); transition: border-color .2s, transform .2s; min-width: 0; }
.da-opt small { display: block; font-weight: 500; font-size: 13px; color: var(--da-mute); margin-top: 4px; }
.da-opt:hover { border-color: var(--da-accent); transform: translateY(-2px); background: var(--da-coal); color: var(--da-bone); }
@media (max-width: 520px) { .da-opts { grid-template-columns: minmax(0, 1fr); } }
.da-back { display: block; background: none !important; border: 0; color: var(--da-mute) !important; font: 600 13px var(--da-body, Arial, sans-serif); cursor: pointer; margin-top: 20px; padding: 0; }
.da-result-name { font: 800 clamp(26px, 3.2vw, 40px)/1.05 var(--da-display, 'Montserrat', Arial, sans-serif); text-transform: uppercase; color: var(--da-accent); margin: 10px 0 0; }
.da-result-text { color: #ddd4ca; margin: 14px 0 0; max-width: 52ch; }
.da-slots { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 26px; }
.da-slot { font: 700 13px/1 var(--da-body, Arial, sans-serif); background: var(--da-coal); border: 1px solid var(--da-line); border-left: 3px solid var(--cc); padding: 9px 11px; border-radius: 8px; font-variant-numeric: tabular-nums; }

/* ---------- Booking form ---------- */
.da-form { background: var(--da-ink); border-radius: 22px; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--da-line); scroll-margin-top: 110px; }
.da-form-title { font: 800 25px/1.1 var(--da-display, 'Montserrat', Arial, sans-serif) !important; text-transform: uppercase; margin: 0 !important; color: var(--da-bone) !important; }
.da-form-sub { color: var(--da-mute); font-size: 14px; margin: 8px 0 0; }
.da-form-event { margin: 14px 0 0; font-weight: 700; color: var(--da-accent); }
.da-field { display: flex; flex-direction: column; gap: 7px; margin-top: 16px; }
.da-field label { font: 700 12px/1 var(--da-body, Arial, sans-serif); letter-spacing: .1em; text-transform: uppercase; color: var(--da-mute); }
.da-field input, .da-field select { background: var(--da-slate) !important; border: 1.5px solid var(--da-line) !important; color: var(--da-bone) !important; border-radius: 12px !important; padding: 15px 14px !important; font: 500 16px var(--da-body, Arial, sans-serif) !important; width: 100%; min-width: 0; height: auto; box-shadow: none !important; }
.da-field select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%23a79d93' stroke-width='1.6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; padding-right: 38px !important; }
.da-field input:focus, .da-field select:focus { outline: none; border-color: var(--da-accent) !important; }
.da-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.da-legal { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: var(--da-mute); margin-top: 14px; line-height: 1.5; }
.da-legal input { margin-top: 3px; accent-color: var(--da-accent); flex: none; }
.da-legal a { color: var(--da-bone); }
.da-err { color: #ff8a7a; font-size: 14px; margin: 14px 0 0; }
.da-book .da-btn { width: 100%; margin-top: 20px; }
.da-sent:focus { outline: none; }
.da-ok { width: 52px; height: 52px; border-radius: 50%; background: var(--da-wa); display: grid; place-items: center; color: #062b14; font-size: 26px; font-weight: 900; margin-bottom: 16px; }
.da-bubble { background: #1b2a20; border-radius: 12px 12px 12px 2px; padding: 14px 16px; margin-top: 16px; font-size: 14px; color: #e6f5ea; white-space: pre-line; }

/* ---------- Events ---------- */
/* Eventos: 3 columnas, foto apaisada 1080×400. */
.da-events { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: start; max-width: 1040px; margin-inline: auto; }
.da-ev { background: var(--da-slate); border-radius: var(--da-r); border: 1px solid var(--da-line); overflow: hidden; display: flex; flex-direction: column; margin: 0; }
.da-ev-img { position: relative; display: block; aspect-ratio: 1080 / 400; background: #1a1816; overflow: hidden; }
.da-ev-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.da-ev:hover .da-ev-img img { transform: scale(1.03); }
.da-ev-ph { position: absolute; inset: 0; display: grid; place-items: center; color: var(--da-accent); opacity: .35; }
.da-ev-ph svg { height: 62%; width: auto; }
.da-ev-date { position: absolute; top: 10px; left: 10px; background: rgba(12, 11, 10, .88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-radius: 12px; padding: 10px 12px; text-align: center; min-width: 58px; color: var(--da-bone); }
.da-ev-date b { font: 800 20px/1 var(--da-display, 'Montserrat', Arial, sans-serif); display: block; }
.da-ev-date span { font: 700 11px/1 var(--da-body, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: var(--da-accent); display: block; margin-top: 4px; }
.da-ev-body { padding: 18px 20px 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.da-ev-type { font: 700 11px/1 var(--da-body, Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--da-accent); }
.da-ev h3 { font: 800 clamp(17px, 1.5vw, 20px)/1.2 var(--da-display, 'Montserrat', Arial, sans-serif) !important; text-transform: uppercase; margin: 8px 0 0 !important; }
.da-ev h3 a { color: var(--da-bone) !important; text-decoration: none !important; }
.da-ev-meta { display: flex; flex-direction: column; gap: 4px; margin: 10px 0 16px; font-size: 13px; color: #d6ccc2; }
@media (max-width: 1024px) { .da-events { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .da-events { grid-template-columns: minmax(0, 1fr); max-width: 420px; margin-inline: auto; } }
.da-ev-info { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 0 0 28px; padding: 0; }
.da-ev-info div { background: var(--da-slate); border-radius: 12px; padding: 14px 16px; }
.da-ev-info dt { font: 700 11px/1 var(--da-body, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: var(--da-accent); }
.da-ev-info dd { margin: 8px 0 0; font-weight: 700; color: var(--da-bone); }

/* ---------- Promo button ---------- */
.da-promo { display: inline-flex; align-items: center; gap: 10px; background: rgba(12, 11, 10, .5); border: 1px solid rgba(243, 238, 232, .2); border-radius: 999px; padding: 10px 16px; font: 600 14px/1.2 var(--da-body, 'Poppins', Arial, sans-serif); color: #f3eee8 !important; text-decoration: none !important; }
.da-promo:hover { border-color: #f3eee8; }

/* ---------- Shield widget buttons from the Elementor kit's global button styles ---------- */
html body .da button.da-day, html body .da button.da-chip, html body .da button.da-opt, html body .da button.da-back {
	box-shadow: none !important; text-shadow: none !important; line-height: 1.2; min-height: 0; width: auto; margin: 0;
}
html body .da button.da-day { background: var(--da-slate) !important; border: 1.5px solid var(--da-line) !important; color: var(--da-mute) !important; border-radius: 12px !important; padding: 12px 16px !important; font: 700 14px/1 var(--da-display, 'Montserrat', Arial, sans-serif) !important; text-transform: uppercase !important; letter-spacing: .02em !important; text-align: left; }
html body .da button.da-day small { font: 600 11px/1 var(--da-body, Arial, sans-serif) !important; text-transform: none !important; letter-spacing: .06em !important; }
html body .da button.da-day:hover { border-color: var(--da-accent) !important; color: var(--da-bone) !important; }
html body .da button.da-day[aria-pressed="true"] { background: var(--da-accent) !important; border-color: var(--da-accent) !important; color: #1a120c !important; }
html body .da button.da-chip { background: var(--da-slate) !important; border: 1.5px solid var(--da-line) !important; color: var(--da-bone) !important; border-radius: 999px !important; padding: 9px 14px !important; font: 600 13px/1 var(--da-body, Arial, sans-serif) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body .da button.da-chip:hover { border-color: var(--da-mute) !important; }
html body .da button.da-chip[aria-pressed="true"] { border-color: var(--da-bone) !important; background: #2e2a26 !important; }
html body .da button.da-opt { display: block; width: 100%; background: var(--da-coal) !important; border: 1.5px solid var(--da-line) !important; color: var(--da-bone) !important; border-radius: 14px !important; padding: 18px !important; font: 700 16px/1.3 var(--da-body, Arial, sans-serif) !important; text-transform: none !important; letter-spacing: 0 !important; text-align: left; white-space: normal; }
html body .da button.da-opt small { font-weight: 500 !important; font-size: 13px !important; color: var(--da-mute) !important; text-transform: none !important; }
html body .da button.da-opt:hover { border-color: var(--da-accent) !important; background: var(--da-coal) !important; color: var(--da-bone) !important; transform: translateY(-2px); }
html body .da button.da-back { background: none !important; border: 0 !important; color: var(--da-mute) !important; padding: 0 !important; margin-top: 20px; font: 600 13px/1.2 var(--da-body, Arial, sans-serif) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body .da button.da-back:hover { color: var(--da-bone) !important; background: none !important; }
html body .da .da-btn { border: 0 !important; border-radius: 999px !important; font: 800 14px/1 var(--da-body, 'Poppins', Arial, sans-serif) !important; letter-spacing: .06em !important; text-transform: uppercase !important; padding: 18px 26px !important; box-shadow: none !important; }
html body .da .da-btn-sand { background: var(--da-accent, #cfae93) !important; color: #1a120c !important; }
html body .da .da-btn-sand:hover { background: #e3c9b3 !important; color: #1a120c !important; }
html body .da .da-btn-wa, html body .da .da-btn-wa:hover { background: #25d366 !important; color: #062b14 !important; }
html body .da .da-btn-sm { padding: 13px 18px !important; font-size: 12px !important; }

.da-cls-closed { border-left-color: var(--da-line) !important; background: transparent !important; border: 1.5px dashed var(--da-line); border-left-width: 1.5px !important; opacity: .8; }
.da-cls-closed b { color: var(--da-mute); }
.da-tt-closed .da-tt-dayname { color: var(--da-mute) !important; }

/* ---------- Timetable v2: day view in Mañana / Tarde, week view as a time table ---------- */
.da-tt.is-js .da-tt-grid .da-tt-dayname { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.da-tt-halves { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; }
.da-tt-half:only-child { grid-column: 1 / -1; max-width: 640px; }
.da-tt-halfname { font: 700 12px/1 var(--da-body, Arial, sans-serif) !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--da-accent) !important; margin: 0 0 12px !important; padding-bottom: 10px; border-bottom: 1px solid var(--da-line); }
.da-tt .da-tt-half .da-tt-list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
@media (max-width: 760px) { .da-tt-halves { grid-template-columns: minmax(0, 1fr); gap: 22px; } }

.da-wk-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
.da-wk { display: grid; grid-template-columns: 64px repeat(var(--cols, 7), minmax(128px, 1fr)); min-width: 940px; column-gap: 8px; }
.da-wk-row { display: contents; }
.da-wk-head > div { font: 800 13px/1 var(--da-display, 'Montserrat', Arial, sans-serif); text-transform: uppercase; letter-spacing: .03em; text-align: center; color: var(--da-bone); padding: 12px 0; border-bottom: 2px solid var(--da-line); margin-bottom: 8px; }
.da-wk-head .is-today { color: var(--da-accent); border-bottom-color: var(--da-accent); }
.da-wk-time { font: 700 12px/1 var(--da-display, 'Montserrat', Arial, sans-serif); font-variant-numeric: tabular-nums; color: var(--da-mute); padding-top: 12px; text-align: right; padding-right: 8px; border-top: 1px dashed rgba(52, 48, 43, .7); }
.da-wk-head .da-wk-time { border-top: 0; }
.da-wk-cell { display: flex; flex-direction: column; gap: 6px; padding: 6px 0; border-top: 1px dashed rgba(52, 48, 43, .7); min-height: 30px; }
.da-wk-sep { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 14px 0 4px; }
.da-wk-sep span { font: 700 11px/1 var(--da-body, Arial, sans-serif); letter-spacing: .2em; text-transform: uppercase; color: var(--da-accent); }
.da-wk-sep::after { content: ""; flex: 1; height: 1px; background: var(--da-line); }
.da-cls.da-cls-wk { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 10px 10px 10px 12px; border-left-width: 4px; border-radius: 10px; }
.da-cls.da-cls-wk time { font-size: 15px; }
.da-cls.da-cls-wk time span { display: inline; font-size: 12px; margin-left: 4px; }
.da-cls.da-cls-wk time span::before { content: "– "; }
.da-cls.da-cls-wk b { font-size: 13px; }
.da-cls.da-cls-wk small { font-size: 11px; }
.da-cls.da-cls-wk.is-now { padding-top: 28px; }
.da-cls.da-cls-wk.is-past { opacity: .55; }
.da-wk .da-cls-closed { padding: 10px 12px; }

/* ---------- Week table, compact (v1.5): time lives in the ruler, cards show just the class ---------- */
.da-wk { grid-template-columns: 58px repeat(var(--cols, 7), minmax(112px, 1fr)); min-width: 860px; column-gap: 6px; }
.da-wk-cell { gap: 4px; padding: 4px 0; min-height: 0; }
.da-wk-time { padding-top: 10px; font-size: 12px; }
.da-wk-sep { margin: 10px 0 2px; }
.da-cls.da-cls-wk { display: block; padding: 7px 9px 7px 10px; border-left-width: 3px; border-radius: 8px; background: #221f1c; background: color-mix(in srgb, var(--cc) 16%, #1c1a18); }
.da-cls.da-cls-wk time, .da-cls.da-cls-wk small { display: none; }
.da-cls.da-cls-wk b { font-size: 12px; line-height: 1.25; font-weight: 600; }
.da-cls.da-cls-wk.is-now { padding-top: 7px; box-shadow: 0 0 0 1.5px var(--da-accent); }
.da-cls.da-cls-wk .da-now { position: static; display: inline-block; margin-bottom: 4px; font-size: 9px; padding: 3px 5px; }
.da-wk .da-cls-closed { padding: 7px 10px; }
.da-wk .da-cls-closed small { display: none; }

/* ---------- v1.6: week cards show start (big) and end (small); day cards slimmer ---------- */
.da-cls.da-cls-wk time { display: block; font: 700 14px/1 var(--da-display, 'Montserrat', Arial, sans-serif); margin-bottom: 4px; }
.da-cls.da-cls-wk time span { display: inline; font-size: 11px; font-weight: 600; color: var(--da-mute); margin-left: 3px; }
.da-cls.da-cls-wk time span::before { content: "– "; }
.da-tt-half .da-cls { padding: 10px 14px; gap: 14px; border-radius: 10px; border-left-width: 4px; }
.da-tt-half .da-cls time { font-size: 16px; }
.da-tt-half .da-cls time span { font-size: 12px; margin-top: 3px; }
.da-tt-half .da-cls b { font-size: 14px; }
.da-tt-half .da-cls small { font-size: 12px; }
.da-tt-halves { gap: 22px; }
.da-tt .da-tt-half .da-tt-list { gap: 8px; }
.da-tt-halves { max-width: 920px; }

/* ---------- Programs carousel ---------- */
.da-car-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.da-car-dots { display: flex; gap: 6px; }
.da-car-dots i { width: 22px; height: 4px; border-radius: 2px; background: var(--da-line); transition: background .3s, width .3s; }
.da-car-dots i.on { background: var(--da-accent); width: 34px; }
.da-car-nav { display: flex; gap: 8px; }
html body .da button.da-car-prev, html body .da button.da-car-next { width: 48px; height: 48px; padding: 0 !important; border-radius: 50% !important; background: var(--da-slate) !important; border: 1.5px solid var(--da-line) !important; color: var(--da-bone) !important; font: 600 20px/1 var(--da-body, Arial, sans-serif) !important; cursor: pointer; box-shadow: none !important; text-transform: none !important; }
html body .da button.da-car-prev:hover, html body .da button.da-car-next:hover { border-color: var(--da-accent) !important; }
html body .da button.da-car-prev:disabled, html body .da button.da-car-next:disabled { opacity: .35; cursor: default; }
.da-car-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 6px 2px 16px; scrollbar-width: thin; scrollbar-color: var(--da-line) transparent; outline: none; }
.da-car-card { flex: 0 0 clamp(250px, 26vw, 300px); scroll-snap-align: start; position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 3 / 4.3; background: var(--da-slate); text-decoration: none !important; color: var(--da-bone) !important; isolation: isolate; max-width: 100%; }
.da-car-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .8s, filter .6s; z-index: -2; }
.da-car-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(12, 11, 10, .08) 30%, rgba(12, 11, 10, .95)); }
.da-car-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--cc); }
.da-car-card:hover img, .da-car-card:focus-visible img { transform: scale(1.06); filter: grayscale(.3); }
.da-car-card.is-nophoto { background: radial-gradient(120% 90% at 100% 0%, #3b2b21, var(--da-slate)); }
.da-car-wing { position: absolute; right: -40px; top: -20px; width: 80%; color: rgba(207, 174, 147, .14); z-index: -1; }
.da-car-wing path { fill: currentColor; }
.da-car-in { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.da-car-tag { align-self: flex-start; font: 700 10.5px/1.2 var(--da-body, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; padding: 6px 8px; border-radius: 4px; background: var(--cc); color: #0c0b0a; }
.da-car-tag.is-dark { color: #fff; }
.da-car-title { font: 800 22px/1.12 var(--da-display, 'Montserrat', Arial, sans-serif); text-transform: uppercase; }
.da-car-text { font-size: 14px; line-height: 1.5; color: #d7cec4; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .45s, opacity .45s; }
.da-car-card:hover .da-car-text, .da-car-card:focus-visible .da-car-text { max-height: 110px; opacity: 1; }
.da-car-go { font: 700 12.5px/1 var(--da-body, Arial, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: var(--da-accent); }
@media (hover: none) { .da-car-text { max-height: 110px; opacity: 1; } }
@media (max-width: 600px) { .da-car-card { flex-basis: 78%; } .da-car-nav { display: none; } }

/* ---------- v1.8: day view uses the same tinted cards as the week ---------- */
.da-tt-half .da-cls { display: block; padding: 10px 14px 10px 14px; border-left-width: 4px; border-radius: 10px; background: #221f1c; background: color-mix(in srgb, var(--cc) 16%, #1c1a18); }
.da-tt-half .da-cls time { display: block; font: 700 17px/1 var(--da-display, 'Montserrat', Arial, sans-serif); margin-bottom: 6px; }
.da-tt-half .da-cls time span { display: inline; font-size: 12px; font-weight: 600; color: var(--da-mute); margin: 0 0 0 4px; }
.da-tt-half .da-cls time span::before { content: "– "; }
.da-tt-half .da-cls > div { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.da-tt-half .da-cls b { font-size: 14px; font-weight: 600; }
.da-tt-half .da-cls small { font-size: 12px; color: var(--da-mute); }
.da-tt-half .da-cls.is-now { padding-top: 30px; box-shadow: 0 0 0 1.5px var(--da-accent); }
.da-tt-halves { max-width: 760px; }

/* Eventos: añadir al calendario */
.da-ev-actions { display: flex; align-items: center; gap: 10px; }
.da-cal { position: relative; display: inline-block; }
.da .da-cal-btn, .da-cal-btn { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: 46px; height: 46px; padding: 0 !important; border-radius: 999px !important; border: 1.5px solid var(--da-line, #3a3530) !important; background: transparent !important; color: var(--da-accent, #cfae93) !important; cursor: pointer; box-shadow: none !important; transition: border-color .25s, background .25s; }
.da-cal-btn:hover, .da-cal-btn[aria-expanded="true"] { border-color: var(--da-accent, #cfae93) !important; background: rgba(207, 174, 147, .1) !important; }
.da .da-cal-btn-txt, .da-cal-btn-txt { width: auto; padding: 0 18px !important; font: 700 13px/1 var(--da-body, Arial, sans-serif) !important; letter-spacing: .06em; text-transform: uppercase; }
.da-cal-menu { position: absolute; z-index: 50; bottom: calc(100% + 8px); right: 0; min-width: 220px; background: #1b1917; border: 1px solid var(--da-line, #3a3530); border-radius: 14px; padding: 6px; box-shadow: 0 18px 40px rgba(0, 0, 0, .5); }
.da-ev-calrow .da-cal-menu { bottom: auto; top: calc(100% + 8px); right: auto; left: 0; }
.da-cal-menu a { display: block; padding: 11px 14px; border-radius: 10px; color: var(--da-bone, #f3eee8) !important; text-decoration: none !important; font-size: 14px; font-weight: 600; }
.da-cal-menu a:hover { background: rgba(207, 174, 147, .14); color: var(--da-accent, #cfae93) !important; }
.da-ev-calrow { margin: -12px 0 28px; }

/* 2.1.0 · Private classes: the turquoise-to-yellow gradient of the printed timetable. */
.da-cls[data-cat="priv"] { border-left: 0; padding-left: 23px; }
.da-cls[data-cat="priv"]::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; border-radius: 12px 0 0 12px; background: linear-gradient(180deg, #27c4e2, #f3df5d); }
.da-cls.da-cls-wk[data-cat="priv"], .da-tt-half .da-cls[data-cat="priv"] { padding-left: 13px; }
.da-tt-half .da-cls[data-cat="priv"]::before, .da-cls.da-cls-wk[data-cat="priv"]::before { width: 4px; border-radius: 10px 0 0 10px; }
.da-chip[data-g="priv"] i, .da-chip[data-f="priv"] i { background: linear-gradient(135deg, #27c4e2, #f3df5d); }

/* Protección de datos y reCAPTCHA bajo el formulario */
.grecaptcha-badge { visibility: hidden !important; }
.da-rgpd { font-size: 11.5px; line-height: 1.5; color: var(--da-mute, #9b9389); margin: 14px 0 0; }
.da-rgpd b { font-weight: 600; color: inherit; }
.da-rgpd a { color: inherit; text-decoration: underline; }
.da-rgpd.da-rc { margin-top: 8px; }
.da-legal.da-optin { margin-top: 8px; }

/* ---------- v2.4.5: pocas columnas alineadas a la izquierda; días sin scroll en el móvil ---------- */
.da-day-s { display: none; }
.da-wk.is-few { min-width: 0; grid-template-columns: 58px repeat(var(--cols, 2), minmax(170px, 280px)); justify-content: start; }
.da-wk.is-few .da-wk-sep { grid-column: 1 / -1; }
@media (max-width: 760px) {
	.da-tt .da-days { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; overflow: visible; padding-bottom: 0; }
	html body .da .da-days button.da-day { min-width: 0 !important; width: 100%; padding: 10px 4px !important; text-align: center; font-size: 13px !important; border-radius: 10px !important; }
	html body .da .da-days button.da-day small { font-size: 10px !important; letter-spacing: .02em !important; margin-top: 5px; white-space: nowrap; }
	.da-days .da-day-l { display: none; }
	.da-days .da-day-s { display: inline; }
}
