.elementor-2031 .elementor-element.elementor-element-30448d5{--display:flex;--min-height:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2031 .elementor-element.elementor-element-30448d5{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-d788df4 */* { margin: 0; padding: 0; box-sizing: border-box; }
  
  :root {
    --cream-50: #F9F5EB;
    --cream-100: #F1ECE0;
    --cream-200: #E7DFCC;
    --burgundy-900: #3A1B11;
    --burgundy-800: #4F2719;
    --burgundy-700: #5C2E1F;
    --burgundy-600: #783F2C;
    --burgundy-300: #B68A78;
    --ink-900: #1F120B;
    --ink-700: #3E2A1F;
    --ink-500: #6F5A4D;
    --line: rgba(92, 46, 31, .14);
    --line-strong: rgba(92, 46, 31, .35);
    --line-dark: rgba(241, 236, 224, .22);
    --gold: #C99B3F;
    --serif: "Cormorant Garamond", Georgia, serif;
    --sans: "Inter", system-ui, sans-serif;
    --mono: "JetBrains Mono", monospace;
  }
  
  html, body { margin: 0; padding: 0; }
  body { font-family: var(--sans); color: var(--ink-900); background: var(--cream-100); font-size: 16.5px; line-height: 1.65; }
  img { max-width: 100%; display: block; height: auto; }
  a { color: inherit; text-decoration: none; }
  
  h1, h2, h3 { font-family: var(--serif); font-weight: 500; margin: 0; color: var(--burgundy-800); letter-spacing: -.018em; }
  h1 { font-size: clamp(48px, 8vw, 120px); line-height: .95; }
  h2 { font-size: clamp(36px, 5vw, 80px); line-height: 1; }
  h3 { font-size: clamp(20px, 2vw, 28px); line-height: 1.2; }
  
  p { margin: 0 0 16px; }
  .lead { font-size: clamp(17px, 1.2vw, 20px); line-height: 1.6; color: var(--ink-700); max-width: 60ch; }
  .label { font-family: var(--mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--burgundy-700); font-weight: 500; }
  
  .wrap { max-width: 1400px; margin: 0 auto; padding: 0 20px; }
  section { padding: clamp(60px, 10vw, 140px) 0; }
  
  .btn { display: inline-flex; align-items: center; gap: 12px; padding: 16px 28px; background: var(--burgundy-800); color: var(--cream-100); font-family: var(--sans); font-weight: 500; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; border: 1px solid var(--burgundy-800); cursor: pointer; transition: all .25s; }
  .btn:hover { background: var(--burgundy-900); transform: translateY(-2px); }
  
  /* HERO */
  .hero-mag {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--burgundy-700);
  }
  
  .hero-img-mag {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  
  .hero-img-mag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .hero-img-mag::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(58,27,17,.1) 0%, rgba(58,27,17,.3) 50%, rgba(58,27,17,.7) 100%);
  }
  
  .hero-mag-inner {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(40px, 5vw, 80px);
    color: var(--cream-100);
  }
  
  .hero-mag-bottom {
    max-width: 1000px;
  }
  
  .hero-mag-bottom h1 {
    color: var(--cream-100);
    font-size: clamp(40px, 8vw, 100px);
    margin-bottom: 24px;
    text-wrap: balance;
  }
  
  .hero-mag-bottom h1 em {
    font-style: italic;
    color: var(--cream-50);
  }
  
  .hero-mag-bottom .lead {
    color: rgba(249, 245, 235, .95);
    font-size: clamp(16px, 1.2vw, 19px);
    margin-bottom: 32px;
  }
  
  .hero-mag-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    align-items: center;
  }
  
  .hero-mag-actions .btn {
    background: var(--cream-100);
    color: var(--burgundy-800);
    border-color: var(--cream-100);
  }
  
  /* SECTIONS */
  .section-content {
    margin-bottom: 48px;
  }
  
  .section-content h2 {
    margin-bottom: 24px;
    color: var(--burgundy-800);
  }
  
  .section-content .lead {
    margin-bottom: 32px;
  }
  
  .three-mag {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
    margin-top: 48px;
  }
  
  .three-mag .item {
    padding-top: 24px;
    border-top: 1px solid var(--line-strong);
  }
  
  .three-mag .item .n {
    font-family: var(--serif);
    font-size: clamp(48px, 10vw, 80px);
    line-height: 1;
    color: var(--burgundy-700);
    margin-bottom: 12px;
  }
  
  .three-mag .item h3 {
    font-size: clamp(18px, 2vw, 24px);
    margin-bottom: 12px;
  }
  
  .three-mag .item p {
    font-size: 15px;
    color: var(--ink-700);
    margin: 0;
  }
  
  /* DUEL */
  .duel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 0;
    margin-top: 48px;
    border-top: 1px solid var(--line-dark);
  }
  
  .duel-col {
    padding: 40px 32px;
    border-right: 1px solid var(--line-dark);
  }
  
  .duel-col:last-child {
    border-right: 0;
  }
  
  .duel-col h3 {
    color: var(--cream-100);
    margin-bottom: 24px;
    font-size: clamp(24px, 3vw, 36px);
  }
  
  .duel-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .duel-col li {
    padding: 14px 0;
    border-bottom: 1px solid var(--line-dark);
    color: var(--cream-100);
    font-size: 15px;
    line-height: 1.6;
  }
  
  .duel-col li:last-child {
    border-bottom: 0;
  }
  
  .duel-col .sym {
    font-family: var(--serif);
    font-size: 32px;
    margin-right: 12px;
  }
  
  /* FAQ */
  .faq-list {
    margin-top: 48px;
  }
  
  .faq {
    border-top: 1px solid var(--line-strong);
  }
  
  .faq:last-child {
    border-bottom: 1px solid var(--line-strong);
  }
  
  .faq-btn {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 28px 0;
    cursor: pointer;
    font: inherit;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
  }
  
  .faq-btn h3 {
    margin: 0;
    font-size: clamp(18px, 1.8vw, 24px);
  }
  
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    padding: 0;
  }
  
  .faq-answer.open {
    max-height: 500px;
    padding: 0 0 24px 0;
  }
  
  .faq-answer p {
    font-size: 15px;
    color: var(--ink-700);
    line-height: 1.7;
  }
  
  /* FORM */
  .form-mag {
    margin-top: 48px;
    max-width: 600px;
  }
  
  .form-mag .row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin-bottom: 24px;
  }
  
  .form-mag .field {
    display: flex;
    flex-direction: column;
  }
  
  .form-mag .field label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ink-500);
    margin-bottom: 6px;
    font-weight: 500;
  }
  
  .form-mag .field input,
  .form-mag .field textarea,
  .form-mag .field select {
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--line-strong);
    background: transparent;
    font-family: var(--serif);
    font-size: 16px;
    color: var(--burgundy-800);
    transition: border-color .25s;
  }
  
  .form-mag .field input:focus,
  .form-mag .field textarea:focus,
  .form-mag .field select:focus {
    outline: none;
    border-bottom-color: var(--burgundy-700);
  }
  
  .form-mag .field textarea {
    font-family: var(--sans);
    min-height: 80px;
    resize: vertical;
  }
  
  .form-mag .submit-btn {
    margin-top: 20px;
  }
  
  footer {
    padding: 48px 0 32px;
    border-top: 1px solid var(--line-strong);
  }
  
  footer .ft {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
  }
  
  footer h4 {
    font-family: var(--sans);
    font-size: 11px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--burgundy-700);
    margin: 0 0 12px;
    font-weight: 600;
  }
  
  footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  footer li {
    margin-bottom: 8px;
  }
  
  footer a {
    color: var(--ink-700);
    font-size: 14px;
    transition: color .2s;
  }
  
  footer a:hover {
    color: var(--burgundy-800);
  }
  
  .bg-burgundy { background: var(--burgundy-700); color: var(--cream-100); }
  .bg-burgundy h2, .bg-burgundy h3 { color: var(--cream-100); }
  .bg-burgundy .lead { color: var(--cream-200); }
  .bg-burgundy .label { color: var(--cream-200); }
  
  /* RESPONSIVE */
  @media (max-width: 768px) {
    .wrap { padding: 0 16px; }
    section { padding: clamp(40px, 8vw, 80px) 0; }
    
    h1 { font-size: clamp(32px, 7vw, 56px); }
    h2 { font-size: clamp(28px, 5vw, 56px); }
    h3 { font-size: clamp(18px, 3.5vw, 24px); }
    
    .hero-mag-bottom h1 { font-size: clamp(32px, 6vw, 56px); }
    .hero-mag-actions { flex-direction: column; align-items: flex-start; }
    
    .three-mag { grid-template-columns: 1fr; gap: 32px; }
    .duel { grid-template-columns: 1fr; }
    .duel-col { border-right: 0; border-bottom: 1px solid var(--line-dark); padding: 28px 16px; }
    .duel-col:last-child { border-bottom: 0; }
    
    footer .ft { grid-template-columns: 1fr 1fr; gap: 28px; }
  }
  
  @media (max-width: 480px) {
    .wrap { padding: 0 12px; }
    
    .hero-mag-bottom h1 { font-size: clamp(28px, 6vw, 44px); }
    .hero-mag-bottom .lead { font-size: clamp(14px, 3vw, 16px); }
    .hero-mag-actions .btn { width: 100%; justify-content: center; }
    
    .form-mag .row { grid-template-columns: 1fr; }
    footer .ft { grid-template-columns: 1fr; gap: 20px; }
  }

/* =========================================================
   AJUSTES FINALES · HOTEL BOUTIQUE · ELEMENTOR RESPONSIVE
   ========================================================= */

.emt-hotel-page{width:100%;max-width:100%;overflow-x:hidden;background:var(--cream-100);color:var(--ink-900);font-family:var(--sans);font-size:16.5px;line-height:1.65;}
.emt-hotel-page *,.emt-hotel-page *::before,.emt-hotel-page *::after{box-sizing:border-box;}
.emt-hotel-page img{max-width:100%;height:auto;}
.emt-hotel-page .wrap{width:100%;max-width:1240px;margin:0 auto;padding-left:42px;padding-right:42px;}
.emt-hotel-page .btn{text-align:center;justify-content:center;line-height:1.25;}
.emt-hotel-page .btn:hover,.emt-hotel-page .btn:focus{background:#3A1B11 !important;color:#F1ECE0 !important;}

.emt-hotel-page .hero-mag{min-height:86vh;}
.emt-hotel-page .hero-img-mag img{object-position:center center;}
.emt-hotel-page .hero-mag-inner{justify-content:flex-end;padding-left:clamp(42px,7vw,110px);padding-right:clamp(32px,6vw,90px);padding-bottom:clamp(54px,8vw,110px);}
.emt-hotel-page .hero-mag-bottom{max-width:940px;}

.emt-hotel-page .phase-list{margin-top:44px;display:grid;gap:34px;}
.emt-hotel-page .phase-card{padding:34px 0;border-top:1px solid var(--line-strong);}
.emt-hotel-page .phase-card h3{margin-bottom:16px !important;}
.emt-hotel-page .phase-card p{max-width:820px;font-size:17px;line-height:1.75;}
.emt-hotel-page .phase-card .gain{color:var(--burgundy-800);font-style:italic;margin-top:16px;padding:16px 18px;background:var(--cream-50);border-left:2px solid var(--burgundy-700);}

.emt-hotel-page .faq-btn{display:grid !important;grid-template-columns:minmax(0,1fr) 42px !important;align-items:flex-start !important;gap:18px !important;padding:30px 0 !important;}
.emt-hotel-page .faq-btn h3{font-size:clamp(25px,2.4vw,36px) !important;line-height:1.15 !important;white-space:normal !important;overflow-wrap:anywhere !important;}
.emt-hotel-page .faq-ico{width:38px;height:38px;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--burgundy-700);font-size:22px;transition:.25s ease;}
.emt-hotel-page .faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease;padding:0 !important;}
.emt-hotel-page .faq-answer p{font-size:17px;line-height:1.75;padding-bottom:28px;}
.emt-hotel-page .faq.open .faq-answer{max-height:700px;}
.emt-hotel-page .faq.open .faq-ico{transform:rotate(45deg);background:#4e2719;color:#f0ece0;border-color:#4e2719;}
.emt-hotel-page .faq:hover .faq-btn,.emt-hotel-page .faq.open .faq-btn{background:#4e2719;color:#f0ece0;padding-left:22px !important;padding-right:22px !important;}
.emt-hotel-page .faq:hover .faq-btn h3,.emt-hotel-page .faq.open .faq-btn h3{color:#f0ece0 !important;}
.emt-hotel-page .faq:hover .faq-ico{border-color:#f0ece0;color:#f0ece0;}

.emt-hotel-page p,.emt-hotel-page li,.emt-hotel-page .lead,.emt-hotel-page .three-mag .item p{font-size:17px;line-height:1.75;}

@media (max-width:1024px){
  .emt-hotel-page .wrap{max-width:100%;padding-left:32px;padding-right:32px;}
  .emt-hotel-page section{padding:76px 0;}
  .emt-hotel-page .hero-mag{min-height:74vh;}
  .emt-hotel-page .hero-mag-inner{padding:54px 32px;}
  .emt-hotel-page .three-mag,.emt-hotel-page .duel{grid-template-columns:1fr !important;}
  .emt-hotel-page .duel-col{border-right:0 !important;border-bottom:1px solid var(--line-dark);}
  .emt-hotel-page .duel-col:last-child{border-bottom:0;}
}

@media (max-width:767px){
  html,body{max-width:100%;overflow-x:hidden;}
  .emt-hotel-page{overflow-x:hidden;}
  .emt-hotel-page .wrap{padding-left:18px !important;padding-right:18px !important;}
  .emt-hotel-page section{padding:56px 0 !important;}
  .emt-hotel-page h1{font-size:clamp(42px,13vw,62px) !important;line-height:.96 !important;}
  .emt-hotel-page h2{font-size:clamp(34px,10vw,48px) !important;line-height:1.02 !important;}
  .emt-hotel-page h3{font-size:clamp(24px,7vw,32px) !important;line-height:1.14 !important;}
  .emt-hotel-page p,.emt-hotel-page li,.emt-hotel-page .lead,.emt-hotel-page .three-mag .item p{font-size:16px !important;line-height:1.65 !important;}
  .emt-hotel-page .hero-mag{min-height:auto !important;}
  .emt-hotel-page .hero-img-mag img{object-position:center top !important;}
  .emt-hotel-page .hero-img-mag::after{background:linear-gradient(180deg,rgba(58,27,17,.20) 0%,rgba(58,27,17,.38) 38%,rgba(58,27,17,.82) 100%) !important;}
  .emt-hotel-page .hero-mag-inner{min-height:620px !important;padding:140px 20px 42px !important;justify-content:flex-end !important;}
  .emt-hotel-page .hero-mag-bottom h1{font-size:clamp(42px,13vw,60px) !important;margin-bottom:18px !important;}
  .emt-hotel-page .hero-mag-bottom .lead{font-size:16px !important;margin-bottom:24px !important;}
  .emt-hotel-page .hero-mag-actions{align-items:stretch !important;}
  .emt-hotel-page .hero-mag-actions .btn,.emt-hotel-page .btn{width:100%;padding:15px 18px !important;font-size:12px !important;}
  .emt-hotel-page .three-mag{gap:28px !important;margin-top:36px !important;}
  .emt-hotel-page .three-mag .item .n{font-size:58px !important;}
  .emt-hotel-page .duel-col{padding:28px 20px !important;}
  .emt-hotel-page .duel-col h3{display:flex;align-items:center;gap:10px;}
  .emt-hotel-page .duel-col .sym{margin-right:0 !important;}
  .emt-hotel-page .phase-card{padding:28px 0 !important;}
  .emt-hotel-page .phase-card .gain{padding:15px !important;}
  .emt-hotel-page .faq-btn{grid-template-columns:minmax(0,1fr) 36px !important;padding:24px 0 !important;}
  .emt-hotel-page .faq-btn h3{font-size:24px !important;line-height:1.16 !important;}
  .emt-hotel-page .faq-ico{width:34px !important;height:34px !important;font-size:18px !important;}
  .emt-hotel-page .faq:hover .faq-btn,.emt-hotel-page .faq.open .faq-btn{padding-left:16px !important;padding-right:16px !important;}
}

@media (max-width:420px){
  .emt-hotel-page .wrap{padding-left:15px !important;padding-right:15px !important;}
  .emt-hotel-page .hero-mag-inner{min-height:580px !important;padding-top:120px !important;}
  .emt-hotel-page .hero-mag-bottom h1{font-size:40px !important;}
}
/* Quitar rosa definitivamente en FAQ */
.emt-hotel-page .faq:hover .faq-btn,
.emt-hotel-page .faq.open .faq-btn,
.emt-hotel-page .faq-btn:hover,
.emt-hotel-page .faq-btn:focus{
  background:#4e2719 !important;
  color:#f0ece0 !important;
}

.emt-hotel-page .faq:hover .faq-btn h3,
.emt-hotel-page .faq.open .faq-btn h3,
.emt-hotel-page .faq-btn:hover h3,
.emt-hotel-page .faq-btn:focus h3{
  color:#f0ece0 !important;
}

.emt-hotel-page .faq:hover .faq-ico,
.emt-hotel-page .faq.open .faq-ico,
.emt-hotel-page .faq-btn:hover .faq-ico,
.emt-hotel-page .faq-btn:focus .faq-ico{
  background:transparent !important;
  color:#f0ece0 !important;
  border-color:#f0ece0 !important;
}
/* Reducir espacio entre proceso y FAQ */
.emt-hotel-page .bg-cream{
  padding-bottom:60px !important;
}

.emt-hotel-page .bg-cream-soft{
  padding-top:60px !important;
}

@media(max-width:767px){
  .emt-hotel-page .bg-cream{
    padding-bottom:40px !important;
  }

  .emt-hotel-page .bg-cream-soft{
    padding-top:40px !important;
  }
}/* End custom CSS */