/* Tasher Reservas v2 */
.tr2-wrap{
  --bg:#E9E3DB;
  --paper:#F7F2EC;
  --ink:#171513;
  --muted:#746B64;
  --script:#746357;
  --line:rgba(23,21,19,.18);
  background:var(--bg);
  color:var(--ink);
  padding:130px clamp(20px,5vw,80px);
}
.tr2-wrap *{box-sizing:border-box}
.tr2-header{max-width:1080px;margin:0 auto 75px;text-align:center}
.tr2-kicker{margin:0 0 20px;font-family:"Montserrat",sans-serif;font-size:10px;font-weight:300;letter-spacing:.34em;text-transform:uppercase;color:var(--muted)}
.tr2-header h2{margin:0;font-family:"Italiana",Georgia,serif!important;font-size:clamp(72px,10vw,150px);font-weight:400!important;line-height:.86;letter-spacing:-.045em;color:var(--ink)}
.tr2-script{margin-top:-12px;font-family:"Pinyon Script",cursive;font-size:clamp(62px,9vw,135px);line-height:.78;color:var(--script)}
.tr2-intro{max-width:700px;margin:40px auto 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;line-height:1.5;font-style:italic;color:var(--muted)}
.tr2-message{max-width:1000px;margin:0 auto 35px;padding:16px 20px;background:var(--paper);border:1px solid var(--line);text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:20px}
.tr2-layout{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.tr2-calendar-card,.tr2-booking-card{background:var(--paper);border:1px solid var(--line);padding:clamp(24px,4vw,48px)}
.tr2-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.tr2-calendar-toolbar h3{margin:0;font-family:"Italiana",Georgia,serif!important;font-size:42px;font-weight:400!important}
.tr2-calendar-toolbar button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:28px;cursor:pointer}
.tr2-weekdays,.tr2-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.tr2-weekdays{margin-bottom:10px}
.tr2-weekdays span{text-align:center;font-family:"Montserrat",sans-serif;font-size:9px;letter-spacing:.16em;color:var(--muted)}
.tr2-day{aspect-ratio:1;border:1px solid transparent;background:transparent;color:var(--ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:20px;cursor:default}
.tr2-day.is-available{border-color:var(--line);background:#fff;cursor:pointer}
.tr2-day.is-available:hover,.tr2-day.is-selected{background:var(--ink);color:#fff}
.tr2-day.is-empty{visibility:hidden}
.tr2-summary h3{margin:0 0 24px;font-family:"Italiana",Georgia,serif!important;font-size:42px;font-weight:400!important}
.tr2-times{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:30px}
.tr2-time{height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:"Montserrat",sans-serif;font-size:10px;letter-spacing:.12em;cursor:pointer}
.tr2-time:hover,.tr2-time.is-selected{background:var(--ink);color:#fff}
.tr2-field{display:flex;flex-direction:column;margin-bottom:18px}
.tr2-field label{margin-bottom:8px;font-family:"Montserrat",sans-serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.tr2-field input,.tr2-field select,.tr2-field textarea{width:100%;border:1px solid var(--line)!important;border-radius:0!important;background:#fff!important;color:var(--ink)!important;box-shadow:none!important;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:19px!important}
.tr2-field input,.tr2-field select{height:52px!important;padding:0 15px!important}
.tr2-field textarea{padding:14px 15px!important}
.tr2-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.tr2-submit{width:100%;height:54px;border:1px solid var(--ink);border-radius:14px;background:var(--ink);color:#fff;font-family:"Montserrat",sans-serif;font-size:10px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
.tr2-submit:hover{background:transparent;color:var(--ink)}
.tr2-reveal{opacity:0;transform:translateY(24px);transition:.8s ease}
.tr2-reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.tr2-layout{grid-template-columns:1fr}}
@media(max-width:620px){.tr2-wrap{padding:95px 18px}.tr2-times{grid-template-columns:repeat(2,1fr)}.tr2-fields-row{grid-template-columns:1fr}}


/* =====================================================
   TAShER RESERVAS 2.1 — CORRECCIÓN RESPONSIVE MÓVIL
===================================================== */

.tr2-wrap{
  width:100%;
  max-width:100%;
}

.tr2-layout,
.tr2-calendar-card,
.tr2-booking-card,
.tr2-calendar-toolbar,
.tr2-calendar-grid,
.tr2-weekdays,
.tr2-form,
.tr2-field,
.tr2-fields-row{
  min-width:0;
  max-width:100%;
}

.tr2-field input,
.tr2-field select,
.tr2-field textarea,
.tr2-submit{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Evitar tamaños heredados de Flatsome */
.tr2-wrap button,
.tr2-wrap input,
.tr2-wrap select,
.tr2-wrap textarea{
  max-width:100%;
}

@media(max-width:620px){

  .tr2-wrap{
    padding:78px 12px 72px!important;
  }

  .tr2-header{
    margin-bottom:42px;
  }

  .tr2-kicker{
    font-size:8px;
    letter-spacing:.22em;
    margin-bottom:15px;
  }

  .tr2-header h2{
    font-size:clamp(48px,16vw,70px)!important;
    line-height:.9;
  }

  .tr2-script{
    margin-top:-4px;
    font-size:clamp(50px,17vw,76px)!important;
  }

  .tr2-intro{
    margin-top:24px;
    padding:0 8px;
    font-size:19px;
    line-height:1.42;
  }

  .tr2-layout{
    display:block;
  }

  .tr2-calendar-card,
  .tr2-booking-card{
    width:100%;
    padding:18px 12px!important;
  }

  .tr2-booking-card{
    margin-top:18px;
  }

  .tr2-calendar-toolbar{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 38px;
    gap:8px;
    align-items:center;
    margin-bottom:20px;
  }

  .tr2-calendar-toolbar h3{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:center;
    font-size:27px!important;
    line-height:1;
  }

  .tr2-calendar-toolbar button{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    padding:0!important;
    margin:0!important;
    line-height:32px!important;
    font-size:24px!important;
  }

  .tr2-weekdays,
  .tr2-calendar-grid{
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px;
    width:100%;
  }

  .tr2-weekdays{
    margin-bottom:6px;
  }

  .tr2-weekdays span{
    min-width:0;
    font-size:7px;
    letter-spacing:0;
    padding:3px 0;
  }

  .tr2-day{
    width:100%;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    font-size:15px!important;
    line-height:1!important;
  }

  .tr2-summary h3{
    font-size:31px!important;
    line-height:1;
    margin-bottom:18px;
  }

  .tr2-times{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
    margin-bottom:24px;
  }

  .tr2-time{
    width:100%!important;
    min-width:0!important;
    height:42px;
    padding:0 6px!important;
    font-size:9px;
    letter-spacing:.08em;
  }

  .tr2-fields-row{
    display:block!important;
  }

  .tr2-field{
    width:100%;
    margin-bottom:15px;
  }

  .tr2-field label{
    font-size:8px;
    letter-spacing:.14em;
  }

  .tr2-field input,
  .tr2-field select{
    height:48px!important;
    padding:0 12px!important;
    font-size:17px!important;
  }

  .tr2-field textarea{
    padding:12px!important;
    font-size:17px!important;
  }

  .tr2-submit{
    height:50px!important;
    padding:0 12px!important;
    border-radius:12px;
    font-size:9px;
    letter-spacing:.16em;
  }

  .tr2-message{
    margin-bottom:24px;
    padding:13px 14px;
    font-size:17px;
  }
}

/* Teléfonos muy estrechos y vista móvil del Personalizador */
@media(max-width:390px){

  .tr2-wrap{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .tr2-calendar-card,
  .tr2-booking-card{
    padding-left:9px!important;
    padding-right:9px!important;
  }

  .tr2-calendar-toolbar{
    grid-template-columns:32px minmax(0,1fr) 32px;
    gap:5px;
  }

  .tr2-calendar-toolbar button{
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    line-height:28px!important;
  }

  .tr2-calendar-toolbar h3{
    font-size:23px!important;
  }

  .tr2-weekdays,
  .tr2-calendar-grid{
    gap:3px;
  }

  .tr2-day{
    font-size:13px!important;
  }
}
