/* CASA_TERROR_001S_PUBLIC_BRAND_THEME
   Visual layer only. Reservation behavior, IDs and JS remain owned by the Blade view. */

:root{
  --ct-ink:#1d0c08;
  --ct-wine:#7d1015;
  --ct-wine-deep:#3a0809;
  --ct-red:#b7191f;
  --ct-gold:#e8a52e;
  --ct-gold-soft:#f7ca63;
  --ct-paper:#d8c295;
  --ct-paper-light:#efe0b5;
  --ct-cream:#f5e8c2;
  --ct-night:#07090e;
  --ct-night-2:#120a09;
  --ct-shadow:0 22px 70px rgba(0,0,0,.5);
}

html{scroll-behavior:smooth}

body.ct-brand-page{
  background:
    linear-gradient(rgba(5,4,4,.50),rgba(5,4,4,.72)),
    url('./assets/fondo_suelo_oscuro.jpg') center top/cover fixed,
    #080706 !important;
  color:var(--ct-cream);
  min-height:100vh;
}

body.ct-brand-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.34;
  background:
    radial-gradient(circle at 50% 8%,rgba(232,165,46,.16),transparent 30rem),
    radial-gradient(circle at 50% 100%,rgba(130,16,20,.2),transparent 42rem);
}

/* HERO */
.ct-brand-hero{
  min-height:min(82vh,840px);
  display:grid;
  align-items:end;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:url('./assets/fondo_hero_desktop.jpg');
  background-position:center 43%;
  background-size:cover;
  border-bottom:1px solid rgba(232,165,46,.42);
  box-shadow:0 20px 60px rgba(0,0,0,.42);
}
.ct-brand-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 25%,rgba(4,4,5,.28) 58%,rgba(4,4,5,.94) 100%),
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 35%,transparent 68%,rgba(0,0,0,.12));
}
.ct-brand-hero-inner{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:46px 0 36px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
}
.ct-brand-hero-copy{
  width:min(640px,100%);
  text-shadow:0 3px 20px rgba(0,0,0,.85);
}
.ct-brand-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:10px;
  color:var(--ct-gold-soft);
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.ct-brand-kicker::before{
  content:"";
  width:36px;
  height:2px;
  background:var(--ct-gold);
  box-shadow:0 0 13px rgba(232,165,46,.7);
}
.ct-brand-hero h1{
  margin:0;
  max-width:700px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(44px,7vw,86px);
  line-height:.92;
  letter-spacing:-.045em;
  color:#fff6dc;
  text-transform:uppercase;
}
.ct-brand-hero-subtitle{
  margin:14px 0 22px;
  max-width:560px;
  color:#f2ddb3;
  font-size:clamp(16px,2vw,22px);
  font-weight:750;
}
.ct-brand-cta{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border:1px solid #f5c458;
  border-radius:999px;
  color:#2a0b05;
  background:linear-gradient(180deg,#ffd36d,#e49a1f);
  box-shadow:0 12px 30px rgba(0,0,0,.36),0 0 25px rgba(232,165,46,.18);
  text-decoration:none;
  font-weight:950;
  letter-spacing:.015em;
}
.ct-brand-cta:hover{transform:translateY(-1px);filter:brightness(1.05)}
.ct-brand-hero-note{
  max-width:380px;
  padding:14px 16px;
  border:1px solid rgba(240,195,92,.35);
  border-radius:16px;
  background:rgba(18,8,6,.68);
  backdrop-filter:blur(10px);
  color:#ead7af;
  font-size:12px;
  line-height:1.55;
  box-shadow:0 15px 38px rgba(0,0,0,.28);
}
.ct-brand-hero-note strong{color:#fff0c9}

/* BRAND BRIDGE */
.ct-brand-bridge{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(231,169,55,.2);
  background:
    linear-gradient(rgba(7,8,12,.2),rgba(7,8,12,.66)),
    url('./assets/fondo_cielo_foquitos.jpg') center/cover;
}
.ct-brand-bridge-inner{
  width:min(1100px,calc(100% - 36px));
  margin:0 auto;
  padding:30px 0 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,430px);
  align-items:center;
  gap:34px;
}
.ct-brand-bridge-copy{
  color:#f2e3c3;
  font-size:14px;
  line-height:1.6;
}
.ct-brand-bridge-copy strong{
  display:block;
  color:#f7c860;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  margin-bottom:5px;
}
.ct-brand-director{
  width:100%;
  max-height:120px;
  object-fit:contain;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.48));
}

/* RESERVATION CONTENT */
body.ct-brand-page .ct-main{
  width:min(1120px,calc(100% - 28px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:42px 0 70px !important;
}

body.ct-brand-page .ct-heading{
  padding:2px 6px 20px;
  color:#f4e5c4;
}
body.ct-brand-page .ct-heading h1{
  font-family:Georgia,"Times New Roman",serif;
  color:#f3c55c !important;
  text-transform:uppercase;
  letter-spacing:-.025em;
  text-shadow:0 3px 15px rgba(0,0,0,.45);
}
body.ct-brand-page .ct-heading .ct-eyebrow{
  color:#cf4b45 !important;
  font-weight:950;
}
body.ct-brand-page .ct-heading .ct-muted{
  color:#d9c9ac !important;
  max-width:740px;
}

body.ct-brand-page .ct-flow{
  margin-bottom:22px !important;
  border:1px solid rgba(228,165,54,.24) !important;
  border-radius:18px !important;
  background:
    linear-gradient(rgba(24,7,5,.76),rgba(24,7,5,.82)),
    url('./assets/fondo_telon_rojo.jpg') center/cover !important;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
body.ct-brand-page .ct-flow > *{
  color:#f0dfba !important;
}
body.ct-brand-page .ct-flow strong,
body.ct-brand-page .ct-flow b{
  color:#f2bd4e !important;
}

/* parchment cards */
body.ct-brand-page .ct-card{
  border:1px solid rgba(100,39,29,.45) !important;
  border-radius:20px !important;
  background:
    linear-gradient(rgba(228,208,164,.93),rgba(205,178,124,.94)),
    url('./assets/fondo_pergamino.jpg') center/cover !important;
  color:#28140d !important;
  box-shadow:var(--ct-shadow) !important;
}
body.ct-brand-page .ct-card h2,
body.ct-brand-page .ct-card h3{
  color:#641115 !important;
  font-family:Georgia,"Times New Roman",serif;
}
body.ct-brand-page .ct-card .ct-muted,
body.ct-brand-page .ct-card .ct-helper{
  color:#624d36 !important;
}

/* Calendar */
body.ct-brand-page .ct-calendar-card{
  position:relative;
  overflow:hidden;
}
body.ct-brand-page .ct-calendar-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:10px solid transparent;
  border-image:linear-gradient(135deg,#8a1519,#e0a437,#6d1115) 1;
  opacity:.36;
}
body.ct-brand-page .ct-calendar-card > *{position:relative}
body.ct-brand-page .ct-calendar-toolbar,
body.ct-brand-page .ct-calendar-head{
  color:#3c1a10 !important;
}
body.ct-brand-page .ct-calendar-weekdays,
body.ct-brand-page .ct-calendar-grid{
  color:#2c180f !important;
}
body.ct-brand-page .ct-calendar-grid button,
body.ct-brand-page .ct-day,
body.ct-brand-page [data-date]{
  border-color:rgba(83,38,25,.22) !important;
}
body.ct-brand-page .ct-calendar-grid button:not(:disabled):hover,
body.ct-brand-page .ct-day:not(:disabled):hover{
  border-color:#9e1c20 !important;
  box-shadow:0 0 0 2px rgba(158,28,32,.12);
}
body.ct-brand-page .ct-calendar-grid button.is-selected,
body.ct-brand-page .ct-day.is-selected,
body.ct-brand-page [aria-selected="true"]{
  color:#fff6db !important;
  border-color:#f1b943 !important;
  background:linear-gradient(145deg,#8f1519,#4f0b0e) !important;
  box-shadow:0 9px 20px rgba(75,9,11,.28),inset 0 0 0 1px rgba(255,215,126,.28);
}
body.ct-brand-page .ct-icon-btn{
  color:#6f1115 !important;
  border-color:rgba(102,25,25,.24) !important;
  background:rgba(255,244,210,.48) !important;
}

/* Summary / form */
body.ct-brand-page .ct-summary{
  border:1px solid rgba(236,179,63,.24) !important;
  border-radius:18px !important;
  background:
    linear-gradient(rgba(29,10,7,.88),rgba(29,10,7,.9)),
    url('./assets/fondo_pergamino_oscuro.jpg') center/cover !important;
  color:#fff0c8 !important;
  box-shadow:0 16px 38px rgba(0,0,0,.33);
}
body.ct-brand-page .ct-summary-label{color:#c89b58 !important}
body.ct-brand-page .ct-summary-value{color:#fff1c7 !important}
body.ct-brand-page .ct-summary-change{
  color:#f5c95f !important;
  border-color:rgba(243,193,83,.42) !important;
  background:rgba(97,13,17,.58) !important;
}
body.ct-brand-page .ct-secure-badge{
  color:#ffe6a4 !important;
  border-color:rgba(242,190,77,.44) !important;
  background:#581014 !important;
}
body.ct-brand-page .ct-field label{
  color:#4a2116 !important;
  font-weight:950 !important;
}
body.ct-brand-page .ct-field input,
body.ct-brand-page .ct-field select{
  color:#28130d !important;
  border:1px solid rgba(84,42,28,.34) !important;
  background:rgba(255,246,219,.72) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
body.ct-brand-page .ct-field input:focus,
body.ct-brand-page .ct-field select:focus{
  border-color:#9d191e !important;
  box-shadow:0 0 0 3px rgba(157,25,30,.14) !important;
}
body.ct-brand-page .ct-ticket-control{
  border-color:rgba(93,38,25,.38) !important;
  background:rgba(255,243,209,.64) !important;
}
body.ct-brand-page .ct-ticket-control button{
  color:#fff0c3 !important;
  background:#701116 !important;
}
body.ct-brand-page .ct-ticket-control input{
  color:#33160e !important;
  background:transparent !important;
}
body.ct-brand-page .ct-submit,
body.ct-brand-page .ct-primary{
  min-height:50px;
  border:1px solid #f1bd51 !important;
  color:#fff6d7 !important;
  background:linear-gradient(180deg,#a11920,#5c0b0f) !important;
  box-shadow:0 12px 28px rgba(73,7,10,.28),inset 0 1px 0 rgba(255,255,255,.09);
  font-weight:950 !important;
}
body.ct-brand-page .ct-submit:hover,
body.ct-brand-page .ct-primary:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
}

/* Time slot modal */
body.ct-brand-page .ct-modal{
  border:1px solid rgba(238,185,74,.35) !important;
  background:
    linear-gradient(rgba(20,7,6,.78),rgba(20,7,6,.88)),
    url('./assets/fondo_telon_rojo.jpg') center/cover !important;
  color:#f8e8c5 !important;
  box-shadow:0 32px 90px rgba(0,0,0,.66) !important;
}
body.ct-brand-page .ct-modal h2,
body.ct-brand-page .ct-modal h3{color:#f4c65d !important}
body.ct-brand-page .ct-modal .ct-muted{color:#d9c5a3 !important}
body.ct-brand-page .ct-modal-close{
  color:#f8ddb0 !important;
  border-color:rgba(242,194,91,.35) !important;
  background:rgba(0,0,0,.3) !important;
}
body.ct-brand-page .ct-slot-list button,
body.ct-brand-page [data-slot-id]{
  border-color:rgba(239,191,86,.22) !important;
}

/* footer */
.ct-brand-footer{
  border-top:1px solid rgba(232,165,46,.21);
  background:
    linear-gradient(rgba(6,7,10,.55),rgba(6,7,10,.88)),
    url('./assets/fondo_cielo_foquitos.jpg') center/cover;
}
.ct-brand-footer-inner{
  width:min(1080px,calc(100% - 36px));
  margin:0 auto;
  min-height:155px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:28px 0;
}
.ct-brand-footer-logo{
  width:min(330px,58vw);
  height:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.4));
}
.ct-brand-footer-copy{
  color:#b9aa90;
  font-size:11px;
  line-height:1.55;
  text-align:right;
}

/* accessibility */
body.ct-brand-page a:focus-visible,
body.ct-brand-page button:focus-visible,
body.ct-brand-page input:focus-visible,
body.ct-brand-page select:focus-visible{
  outline:3px solid #ffd164 !important;
  outline-offset:3px !important;
}

@media(max-width:760px){
  .ct-brand-hero{
    min-height:74svh;
    background-image:url('./assets/fondo_hero_movil.jpg');
    background-position:center 22%;
  }
  .ct-brand-hero::before{
    background:linear-gradient(180deg,rgba(0,0,0,.03) 36%,rgba(4,4,5,.42) 63%,rgba(4,4,5,.96) 100%);
  }
  .ct-brand-hero-inner{
    width:min(100% - 28px,620px);
    padding:38px 0 26px;
    display:block;
  }
  .ct-brand-hero h1{font-size:clamp(39px,13vw,62px)}
  .ct-brand-hero-note{margin-top:14px;max-width:none}
  .ct-brand-bridge-inner{
    width:min(100% - 28px,620px);
    grid-template-columns:1fr;
    gap:14px;
    padding:23px 0 25px;
    text-align:center;
  }
  .ct-brand-director{max-height:92px}
  body.ct-brand-page .ct-main{
    width:min(100% - 20px,620px) !important;
    padding:28px 0 48px !important;
  }
  body.ct-brand-page .ct-card{border-radius:16px !important}
  body.ct-brand-page .ct-flow{border-radius:15px !important}
  .ct-brand-footer-inner{
    min-height:140px;
    flex-direction:column;
    justify-content:center;
    text-align:center;
  }
  .ct-brand-footer-copy{text-align:center}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}

/* CASA_TERROR_001T_R2_CALENDAR_PALETTE_START
   Exact DOM selectors discovered by 001T-A.
   Visual-only: calendar logic, availability and reservation behavior untouched. */

:root{
  --ctt-bg:#080605;
  --ctt-bg-soft:#120705;
  --ctt-wine:#5A0A0D;
  --ctt-wine-2:#7A1015;
  --ctt-red:#C2181D;
  --ctt-gold:#E3A126;
  --ctt-gold-light:#F2C45A;
  --ctt-parchment-dark:#8D7957;
  --ctt-parchment:#D8C39A;
  --ctt-cream:#F0DFB5;
  --ctt-text:#FFF2CF;
}

body.ct-brand-page .ct-main{
  padding-top:24px !important;
}

/* Keep steps if present, but stop them from reading like another white reservation app. */
body.ct-brand-page header.ct-hero{
  margin-bottom:18px !important;
}

body.ct-brand-page header.ct-hero .ct-muted{
  color:var(--ctt-cream) !important;
}

body.ct-brand-page .ct-flow{
  border-color:rgba(227,161,38,.32) !important;
  background:
    linear-gradient(rgba(90,10,13,.78),rgba(18,7,5,.90)),
    url('./assets/fondo_telon_rojo.jpg') center/cover !important;
}

body.ct-brand-page .ct-flow > *,
body.ct-brand-page .ct-flow .ct-step{
  color:var(--ctt-text) !important;
}

body.ct-brand-page .ct-flow b{
  color:var(--ctt-gold-light) !important;
}

/* Calendar card: same visual world as the landing page. */
body.ct-brand-page section.ct-card.ct-calendar-card{
  position:relative;
  overflow:hidden;
  color:var(--ctt-text) !important;
  border:1px solid rgba(227,161,38,.56) !important;
  border-radius:20px !important;
  background:
    linear-gradient(rgba(18,7,5,.94),rgba(8,6,5,.97)),
    url('./assets/fondo_pergamino_oscuro.jpg') center/cover !important;
  box-shadow:
    0 26px 72px rgba(0,0,0,.48),
    inset 0 0 0 1px rgba(242,196,90,.07) !important;
}

body.ct-brand-page section.ct-card.ct-calendar-card::before{
  border:0 !important;
  border-image:none !important;
}

/* Actual calendar header discovered by 001T-A. */
body.ct-brand-page .ct-calendar-head{
  color:var(--ctt-text) !important;
  border-bottom-color:rgba(227,161,38,.18) !important;
}

body.ct-brand-page .ct-month-title{
  color:var(--ctt-gold-light) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  text-shadow:0 2px 14px rgba(0,0,0,.58) !important;
}

body.ct-brand-page .ct-month-nav{
  color:var(--ctt-gold-light) !important;
}

body.ct-brand-page #ct-prev-month,
body.ct-brand-page #ct-next-month{
  color:var(--ctt-gold-light) !important;
  border:1px solid rgba(242,196,90,.52) !important;
  background:linear-gradient(180deg,var(--ctt-wine-2),var(--ctt-wine)) !important;
  box-shadow:0 7px 18px rgba(0,0,0,.32) !important;
}

body.ct-brand-page #ct-prev-month:hover,
body.ct-brand-page #ct-next-month:hover{
  color:#fff9ea !important;
  border-color:var(--ctt-gold-light) !important;
  background:linear-gradient(180deg,#94171c,#650b0f) !important;
}

/* Actual weekday classes discovered by 001T-A. */
body.ct-brand-page .ct-weekdays{
  color:var(--ctt-cream) !important;
}

body.ct-brand-page .ct-weekday{
  color:var(--ctt-gold-light) !important;
  font-weight:900 !important;
  text-shadow:0 1px 7px rgba(0,0,0,.56) !important;
}

/* Every rendered date button and all text inside it. */
body.ct-brand-page #ct-calendar-grid{
  color:var(--ctt-text) !important;
}

body.ct-brand-page #ct-calendar-grid > button,
body.ct-brand-page #ct-calendar-grid button{
  color:var(--ctt-text) !important;
  border:1px solid rgba(227,161,38,.46) !important;
  background:
    linear-gradient(145deg,rgba(90,10,13,.96),rgba(24,8,7,.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 7px 18px rgba(0,0,0,.22) !important;
}

body.ct-brand-page #ct-calendar-grid button *,
body.ct-brand-page #ct-calendar-grid button span,
body.ct-brand-page #ct-calendar-grid button small,
body.ct-brand-page #ct-calendar-grid button strong,
body.ct-brand-page #ct-calendar-grid button b{
  color:var(--ctt-cream) !important;
  opacity:1 !important;
}

body.ct-brand-page #ct-calendar-grid button > :first-child{
  color:var(--ctt-gold-light) !important;
  font-weight:1000 !important;
}

body.ct-brand-page #ct-calendar-grid button:not(:disabled):hover{
  color:#fff9e9 !important;
  border-color:var(--ctt-gold-light) !important;
  background:
    linear-gradient(145deg,#861318,#3c090b) !important;
  box-shadow:
    0 0 0 2px rgba(242,196,90,.14),
    0 10px 24px rgba(0,0,0,.32) !important;
  transform:translateY(-1px);
}

/* Current and common selected-state contracts. */
body.ct-brand-page #ct-calendar-grid button.is-selected,
body.ct-brand-page #ct-calendar-grid button[aria-selected="true"],
body.ct-brand-page #ct-calendar-grid button[data-selected="true"]{
  color:#fff9e9 !important;
  border:2px solid var(--ctt-gold-light) !important;
  background:
    linear-gradient(145deg,var(--ctt-red),var(--ctt-wine)) !important;
  box-shadow:
    0 0 0 3px rgba(242,196,90,.13),
    0 11px 27px rgba(0,0,0,.39),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* Disabled/unavailable dates. */
body.ct-brand-page #ct-calendar-grid button:disabled,
body.ct-brand-page #ct-calendar-grid button[aria-disabled="true"]{
  color:#756452 !important;
  border-color:rgba(141,121,87,.17) !important;
  background:rgba(8,6,5,.56) !important;
  box-shadow:none !important;
  opacity:.48 !important;
}

body.ct-brand-page #ct-calendar-grid button:disabled *,
body.ct-brand-page #ct-calendar-grid button[aria-disabled="true"] *{
  color:#756452 !important;
}

/* Real legend classes from 001T-A. */
body.ct-brand-page .ct-legend,
body.ct-brand-page .ct-legend-item{
  color:var(--ctt-cream) !important;
}

body.ct-brand-page .ct-legend-swatch{
  border-color:var(--ctt-gold-light) !important;
  background:var(--ctt-wine-2) !important;
  box-shadow:0 0 0 1px rgba(242,196,90,.18) !important;
}

body.ct-brand-page .ct-legend-swatch-off{
  border-color:rgba(141,121,87,.42) !important;
  background:#2b211b !important;
  box-shadow:none !important;
}

/* Selection summary aligned to the same palette. */
body.ct-brand-page #ct-selection-summary.ct-summary{
  color:var(--ctt-text) !important;
  border-color:rgba(227,161,38,.43) !important;
  background:
    linear-gradient(rgba(18,7,5,.95),rgba(8,6,5,.97)),
    url('./assets/fondo_pergamino_oscuro.jpg') center/cover !important;
}

body.ct-brand-page #ct-selection-summary .ct-summary-label{
  color:var(--ctt-gold) !important;
}

body.ct-brand-page #ct-selection-summary .ct-summary-value{
  color:var(--ctt-text) !important;
}

body.ct-brand-page #ct-change-slot{
  color:var(--ctt-gold-light) !important;
  border-color:rgba(242,196,90,.46) !important;
  background:var(--ctt-wine) !important;
}

@media(max-width:760px){
  body.ct-brand-page .ct-main{
    padding-top:18px !important;
  }

  body.ct-brand-page section.ct-card.ct-calendar-card{
    border-radius:15px !important;
  }

  body.ct-brand-page #ct-calendar-grid > button,
  body.ct-brand-page #ct-calendar-grid button{
    min-height:72px !important;
  }

  body.ct-brand-page .ct-weekday{
    font-size:11px !important;
  }
}

/* CASA_TERROR_001T_R2_CALENDAR_PALETTE_END */

/* CASA_TERROR_001V_R2_FULL_FLOW_PALETTE_START */
:root{--ctv-bg:#080605;--ctv-bg-soft:#120705;--ctv-wine:#5A0A0D;--ctv-wine-2:#7A1015;--ctv-red:#C2181D;--ctv-gold:#E3A126;--ctv-gold-light:#F2C45A;--ctv-parchment-dark:#8D7957;--ctv-parchment:#D8C39A;--ctv-cream:#F0DFB5;--ctv-text:#FFF2CF;--ctv-line:rgba(227,161,38,.44)}
body.ct-brand-page{color:var(--ctv-text)!important;background:linear-gradient(rgba(8,6,5,.94),rgba(8,6,5,.96)),url('./assets/fondo_suelo_oscuro.jpg') center/cover fixed!important}
body.ct-brand-page .ct-brand-bridge{color:var(--ctv-text)!important;border-color:rgba(227,161,38,.28)!important;background:linear-gradient(90deg,rgba(8,6,5,.95),rgba(18,7,5,.90),rgba(90,10,13,.50)),url('./assets/fondo_cielo_foquitos.jpg') center/cover!important}
body.ct-brand-page .ct-brand-bridge-copy{color:var(--ctv-cream)!important} body.ct-brand-page .ct-brand-bridge-copy strong{color:var(--ctv-gold-light)!important}
body.ct-brand-page .ct-main{padding-top:24px!important} body.ct-brand-page header.ct-hero{color:var(--ctv-text)!important} body.ct-brand-page header.ct-hero .ct-muted{color:var(--ctv-cream)!important}
body.ct-brand-page .ct-flow{border:1px solid rgba(227,161,38,.34)!important;background:linear-gradient(180deg,rgba(90,10,13,.78),rgba(18,7,5,.94))!important} body.ct-brand-page .ct-step{color:var(--ctv-cream)!important;border-color:rgba(227,161,38,.36)!important;background:rgba(18,7,5,.86)!important} body.ct-brand-page .ct-step b{color:var(--ctv-gold-light)!important}
body.ct-brand-page #ct-reserva .ct-card{color:var(--ctv-text)!important;border:1px solid var(--ctv-line)!important;background:linear-gradient(rgba(18,7,5,.95),rgba(8,6,5,.97)),url('./assets/fondo_pergamino_oscuro.jpg') center/cover!important;box-shadow:0 22px 58px rgba(0,0,0,.38),inset 0 0 0 1px rgba(242,196,90,.05)!important}
body.ct-brand-page #ct-reserva .ct-card h2,body.ct-brand-page #ct-reserva .ct-card h3{color:var(--ctv-gold-light)!important} body.ct-brand-page #ct-reserva .ct-muted,body.ct-brand-page #ct-reserva .ct-helper{color:var(--ctv-cream)!important}
body.ct-brand-page .ct-month-title,body.ct-brand-page .ct-weekday{color:var(--ctv-gold-light)!important} body.ct-brand-page .ct-icon-btn{color:var(--ctv-gold-light)!important;border-color:rgba(242,196,90,.50)!important;background:linear-gradient(180deg,var(--ctv-wine-2),var(--ctv-wine))!important}
body.ct-brand-page .ct-day{color:var(--ctv-text)!important;border-color:rgba(227,161,38,.40)!important;background:linear-gradient(145deg,rgba(90,10,13,.92),rgba(24,8,7,.98))!important} body.ct-brand-page .ct-day:hover:not(:disabled){border-color:var(--ctv-gold-light)!important;background:linear-gradient(145deg,#7A1015,#220807)!important} body.ct-brand-page .ct-day-number{color:var(--ctv-gold-light)!important} body.ct-brand-page .ct-day-status{color:var(--ctv-cream)!important} body.ct-brand-page .ct-day-slots{color:var(--ctv-parchment)!important} body.ct-brand-page .ct-day-unavailable{color:#756452!important;border-color:rgba(141,121,87,.18)!important;background:rgba(8,6,5,.58)!important;opacity:.48!important} body.ct-brand-page .ct-day-available{border-color:rgba(242,196,90,.48)!important}
body.ct-brand-page .ct-dot,body.ct-brand-page .ct-legend-swatch{background:var(--ctv-gold)!important;box-shadow:0 0 0 4px rgba(227,161,38,.10)!important} body.ct-brand-page .ct-legend,body.ct-brand-page .ct-legend-item{color:var(--ctv-cream)!important} body.ct-brand-page .ct-legend-swatch-off{background:var(--ctv-parchment-dark)!important}
body.ct-brand-page .ct-summary-label{color:var(--ctv-gold)!important} body.ct-brand-page .ct-summary-value{color:var(--ctv-text)!important} body.ct-brand-page .ct-summary-change{color:var(--ctv-gold-light)!important;border-color:rgba(242,196,90,.48)!important;background:linear-gradient(180deg,var(--ctv-wine-2),var(--ctv-wine))!important}
body.ct-brand-page .ct-field label{color:var(--ctv-gold-light)!important} body.ct-brand-page .ct-input{color:var(--ctv-text)!important;caret-color:var(--ctv-gold-light)!important;border-color:rgba(227,161,38,.42)!important;background:rgba(8,6,5,.82)!important} body.ct-brand-page .ct-input::placeholder{color:rgba(216,195,154,.72)!important} body.ct-brand-page .ct-input:focus{border-color:var(--ctv-gold-light)!important;box-shadow:0 0 0 3px rgba(242,196,90,.14)!important}
body.ct-brand-page .ct-secure-badge{color:var(--ctv-gold-light)!important;border-color:rgba(242,196,90,.42)!important;background:rgba(90,10,13,.70)!important} body.ct-brand-page .ct-ticket-control{border-color:rgba(227,161,38,.42)!important;background:rgba(8,6,5,.72)!important} body.ct-brand-page .ct-ticket-control button{color:var(--ctv-gold-light)!important;background:linear-gradient(180deg,var(--ctv-wine-2),var(--ctv-wine))!important} body.ct-brand-page .ct-ticket-control input{color:var(--ctv-text)!important}
body.ct-brand-page .ct-submit,body.ct-brand-page .ct-primary{color:#fff8df!important;border:1px solid var(--ctv-gold-light)!important;background:linear-gradient(180deg,var(--ctv-red),var(--ctv-wine))!important;box-shadow:0 12px 28px rgba(73,7,10,.32),inset 0 1px 0 rgba(255,255,255,.09)!important}
body.ct-brand-page .ct-modal{color:var(--ctv-text)!important;border-color:rgba(242,196,90,.46)!important;background:linear-gradient(rgba(18,7,5,.90),rgba(8,6,5,.96)),url('./assets/fondo_telon_rojo.jpg') center/cover!important} body.ct-brand-page .ct-modal-head,body.ct-brand-page .ct-modal-foot{border-color:rgba(227,161,38,.28)!important} body.ct-brand-page #ct-slot-modal-title{color:var(--ctv-gold-light)!important} body.ct-brand-page .ct-modal-close{color:var(--ctv-gold-light)!important;border-color:rgba(242,196,90,.40)!important;background:rgba(8,6,5,.62)!important}
body.ct-brand-page .ct-slot-grid{gap:12px!important} body.ct-brand-page .ct-slot{color:var(--ctv-text)!important;border:1px solid rgba(227,161,38,.42)!important;background:linear-gradient(145deg,rgba(90,10,13,.90),rgba(18,7,5,.96))!important;min-height:128px!important} body.ct-brand-page .ct-slot:hover{border-color:var(--ctv-gold-light)!important;background:linear-gradient(145deg,#8b1419,#3c090b)!important} body.ct-brand-page .ct-slot.is-selected{border:2px solid var(--ctv-gold-light)!important;background:linear-gradient(145deg,var(--ctv-red),var(--ctv-wine))!important;box-shadow:0 0 0 3px rgba(242,196,90,.13)!important}
body.ct-brand-page .ct-slot-top{display:flex;align-items:center;justify-content:space-between;gap:8px} body.ct-brand-page .ct-slot-time{color:var(--ctv-gold-light)!important} body.ct-brand-page .ct-slot-badge{width:48px;height:48px;object-fit:contain;flex:0 0 48px} body.ct-brand-page .ct-slot-terror-label{display:block;margin-top:8px;color:var(--ctv-cream);font-size:10px;font-weight:900;line-height:1.25} body.ct-brand-page .ct-slot-available{color:var(--ctv-parchment)!important} body.ct-brand-page .ct-slot-pica{border-color:rgba(194,24,29,.72)!important;background:linear-gradient(145deg,rgba(122,16,21,.98),rgba(36,7,6,.98))!important}
body.ct-brand-page .ct-terror-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px} body.ct-brand-page .ct-terror-legend span{display:inline-flex;align-items:center;gap:7px;color:var(--ctv-cream);font-size:10px;font-weight:850} body.ct-brand-page .ct-terror-legend img{width:30px;height:30px;object-fit:contain} body.ct-brand-page .ct-modal-selection{color:var(--ctv-cream)!important} body.ct-brand-page .ct-modal-selection strong{color:var(--ctv-gold-light)!important}
body.ct-brand-page .ct-error{color:#ffd9cf!important;border-color:rgba(194,24,29,.62)!important;background:rgba(90,10,13,.72)!important}
@media(max-width:620px){body.ct-brand-page .ct-slot{min-height:120px!important}body.ct-brand-page .ct-slot-badge{width:42px;height:42px;flex-basis:42px}body.ct-brand-page .ct-terror-legend{display:grid;grid-template-columns:1fr}}
/* CASA_TERROR_001V_R2_FULL_FLOW_PALETTE_END */


/* CASA_TERROR_001W_R2_CLIENT_CHANGES
   Client-requested calendar and time-slot hierarchy.
   The visible "24 horarios" line is hidden; accessible context remains.
*/
body.ct-brand-page .ct-day-slots{display:none!important}
body.ct-brand-page .ct-slot{
    min-height:158px!important;
    padding:13px 10px 14px!important;
    text-align:center!important;
    align-items:center!important;
}
body.ct-brand-page .ct-slot-top{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
}
body.ct-brand-page .ct-slot-badge{
    order:-1!important;
    width:88px!important;
    height:88px!important;
    flex:0 0 88px!important;
    margin:0 auto!important;
    object-fit:contain!important;
}
body.ct-brand-page .ct-slot-time{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    font-size:18px!important;
    font-weight:950!important;
    line-height:1.05!important;
}
body.ct-brand-page .ct-slot-terror-label{display:none!important}
body.ct-brand-page .ct-slot-available{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    margin-top:7px!important;
}
@media(max-width:620px){
    body.ct-brand-page .ct-slot{min-height:146px!important}
    body.ct-brand-page .ct-slot-badge{
        width:76px!important;
        height:76px!important;
        flex-basis:76px!important;
    }
}
/* CASA_TERROR_001W_R2_CLIENT_CHANGES_END */


/* CASA_TERROR_001X_R1_PUBLIC_CALENDAR_BADGES_EMAIL_TIME */
body.ct-brand-page .ct-slot-badge{
  transform:scale(1.30);
  transform-origin:center center;
  margin-top:10px !important;
  margin-bottom:16px !important;
}
body.ct-brand-page .ct-terror-legend img{
  transform:scale(1.24);
  transform-origin:center center;
  margin:4px 7px !important;
}
body.ct-brand-page .ct-icon-btn:disabled{
  opacity:.28 !important;
  cursor:not-allowed !important;
  filter:grayscale(1);
}
@media (max-width:620px){
  body.ct-brand-page .ct-slot-badge{transform:scale(1.22);margin-bottom:13px !important;}
  body.ct-brand-page .ct-terror-legend img{transform:scale(1.16);}
}


/* CASA_TERROR_001Y_HEADER_TEXT_LEAK_AND_BADGE_SCALE */
body.ct-brand-page .ct-slot-badge{
  transform:scale(1.58);
  transform-origin:center center;
  margin-top:14px !important;
  margin-bottom:22px !important;
}
body.ct-brand-page .ct-terror-legend img{
  transform:scale(1.42);
  transform-origin:center center;
  margin:8px 10px !important;
}
body.ct-brand-page .ct-slot-badge img,
body.ct-brand-page .ct-terror-legend img{
  image-rendering:auto;
}
@media (max-width:620px){
  body.ct-brand-page .ct-slot-badge{transform:scale(1.48);margin-top:12px !important;margin-bottom:20px !important;}
  body.ct-brand-page .ct-terror-legend img{transform:scale(1.34);margin:6px 8px !important;}
}

/* CASA_TERROR_20260923_CALENDAR_TITO_R2_START
   Client-provided Tito visual. CSS-only integration to preserve the
   current dirty public-reserve Blade and all existing calendar logic. */
body.ct-brand-page .ct-calendar-head > div:first-child::after{
  content:"";
  display:block;
  width:118px;
  height:118px;
  margin:8px 0 -2px 2px;
  background:url('./assets/tito_calendario.png') center bottom/contain no-repeat;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.46));
  pointer-events:none;
  user-select:none;
}
@media(max-width:620px){
  body.ct-brand-page .ct-calendar-head > div:first-child::after{
    width:96px;
    height:96px;
    margin:5px 0 -1px 0;
  }
}
@media(max-width:380px){
  body.ct-brand-page .ct-calendar-head > div:first-child::after{
    width:82px;
    height:82px;
  }
}
/* CASA_TERROR_20260923_CALENDAR_TITO_R2_END */
