@charset "UTF-8";
/* CSS Document */
        :root {
            --primary: #9f7a6e;
            --secondary: #EFE6D6;
            --dark: #3a3228;
            --light: #f9f5f0;
            --accent: #3B5B25;
            --offwhite:#FCFCFB;
        }
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            font-family: 'Poppins', sans-serif;
            color: var(--dark);
            background-color: var(--light);
            overflow-x: hidden;
        }
        
        h1, h2, h3, h4 {
            font-family: 'Playfair Display', serif;
            font-weight: 600;
        }
        
        /* Header */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            padding: 8px 5%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 1000;
            transition: all 0.3s ease;
            background-color: rgba(249, 245, 240, 0.9);
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        }
        
        header.scrolled {
            padding: 8px 5%;
            background-color: rgba(249, 245, 240, 0.98);
            box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        }
        
        .logo {
            font-size: 20px;
            font-weight: 700;
            color: var(--primary);
            text-decoration: none;
        }
        
        .logo span {
            color: var(--dark);
        }
        
        nav ul {
            display: flex;
            list-style: none;
        }
        
        nav ul li {
            margin-left: 40px;
        }
        
        nav ul li a {
            color: var(--dark);
            text-decoration: none;
            font-weight: 500;
            font-size: 16px;
            transition: all 0.3s ease;
            position: relative;
        }
        
        nav ul li a:after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            background: var(--primary);
            bottom: -5px;
            left: 0;
            transition: width 0.3s;
        }
        
        nav ul li a:hover:after {
            width: 100%;
        }
        
        .menu-toggle {
            display: none;
            cursor: pointer;
            font-size: 24px;
        }
        
        /* Hero Section */
        .hero {
            height: 60vh;
            background: linear-gradient(rgba(255,255,255,1), rgba(255,255,255,0.4)), url('https://images.unsplash.com/photo-1544161515-4ab6ce6db874?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80') no-repeat center center/cover;
            display: flex;
            align-items: center;
            padding: 0 10%;
            color: var(--accent);
            position: relative;
        }
        
        .hero-content {
            max-width: 800px;
        }
        
        .hero h1 {
            font-size: 56px;
            margin-bottom: 20px;
            line-height: 1.2;
        }
        
        .hero p {
            font-size: 18px;
            margin-bottom: 30px;
            line-height: 1.6;
            color: var(--dark)
        }
        
        .btn {
            display: inline-block;
            padding: 12px 30px;
            background-color: var(--accent);
            color: white;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.3s ease;
            border: 2px solid var(--accent);
        }
        
        .btn:hover {
            background-color: transparent;
            color: var(--accent);
        }
        
        .btn-outline {
            background-color: transparent;
            color: var(--accent);
            margin-left: 15px;
        }
        
        .btn-outline:hover {
            background-color: var(--accent);
            color: white;
        }
        
        /* Secciones comunes */
        section {
            padding: 100px 10%;
        }
        
        .section-title {
            text-align: center;
            margin-bottom: 60px;
        }
        
        .section-title h2 {
            font-size: 36px;
            color: var(--primary);
            position: relative;
            display: inline-block;
            padding-bottom: 15px;
        }
        
        .section-title h2:after {
            content: '';
            position: absolute;
            width: 70px;
            height: 3px;
            background: var(--accent);
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
        }
        
        /* Experiencia Wan */
        .experience{
          background: url("../images/palms.png") top left /300px 300px no-repeat;
          background-color: var(--offwhite, #faf9f7);
          position: relative;          /* para que funcione ::after */
          min-height: 480px;           /* o la altura que necesites */
        }

        /* 2) Variante CON rotación de la palmera inferior-derecha */
            .experience::after{
          content:"";
          position:absolute;
          right:0;
          bottom:0;
          width:300px;
          height:300px;
          background:url("../images/palms.png") center/300px 300px no-repeat;
          transform:rotate(180deg);     /* gira 90° en sentido horario */
          pointer-events:none;
        }
        
        .experience-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin-bottom: 24px;
        }
        
        .experience-item {
            flex: 1 1 300px;
            max-width: 350px;
            background-color: white;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
            text-align: center;
        }
        
        .experience-item:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        }
        
        .experience-icon {
            font-size: 40px;
            color: var(--primary);
            margin-bottom: 20px;
        }
        
        .experience-item h3 {
            margin-bottom: 15px;
            color: var(--primary);
        }
    
        @media (max-width: 768px) {
  .experience {
    /* Elimina ambos fondos */
    background-image: none !important;
  }
  .experience::after {
    /* Oculta el pseudo-elemento */
    display: none !important;
    content: none !important;
  }
}    
        
        /* Servicios */
        .services-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
        }
        
           .service-card {
        background-color: white;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        transition: all 0.3s ease;
        position: relative;
    }

    .service-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    }

    .service-img {
        height: 200px;
        overflow: hidden;
    }

    .service-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

    .service-card:hover .service-img img {
        transform: scale(1.1);
    }

    .service-content {
        padding: 25px;
        position: relative;
    }

    .service-content h3 {
        margin-bottom: 15px;
        color: #9f7a6e;
    }

    .service-prices {
        margin: 15px 0;
        padding: 15px 0;
        border-top: 1px dashed #c4a287;
        border-bottom: 1px dashed #c4a287;
    }

    .price-item {
        display: flex;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .price-duration {
        font-weight: 500;
        color: #3a3228;
    }

    .price-amount {
        font-weight: 600;
        color: var(--accent);
    }

    .price-note {
        font-size: 14px;
        color: #3a3228;
        font-style: italic;
        margin-top: 5px;
    }

    .service-cta {
        display: block;
        text-align: center;
        background-color: #9f7a6e;
        color: white;
        padding: 10px 15px;
        border-radius: 5px;
        margin-top: 15px;
        text-decoration: none;
        font-weight: 500;
        transition: all 0.3s ease;
    }

    .service-cta:hover {
        background-color: #8a6a5e;
        transform: translateY(-2px);
        box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    }

    @media (max-width: 768px) {
        .service-cta {
            padding: 12px 15px;
        }
    }
        
        /* Testimonios */
        .testimonials {
            background-color: var(--offwhite);
        }
        
        .testimonials-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
        }
        
        .testimonial-card {
            flex: 1 1 300px;
            max-width: 350px;
            background-color: white;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        }
        
        .testimonial-text {
            font-style: italic;
            margin-bottom: 20px;
            line-height: 1.6;
        }
        
        .testimonial-author {
            font-weight: 600;
            color: var(--primary);
        }
        
      /* == Ubicación == */
#ubicacion .location-container {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: stretch;    /* ambas columnas igual altura */
}

/* Izquierda: Nuestro espacio + slider */
#ubicacion .location-left {
  flex: 1 1 300px;
  display: flex;
  flex-direction: column;
}
#ubicacion .location-left h3 {
  font-size: 24px;
  color: var(--primary);
  margin-bottom: 15px;
}
#ubicacion .location-left p {
  margin-bottom: 20px;
}

/* Slider 9:16 */
#ubicacion .location-slider {
  position: relative;
  width: 300px;
  height: calc(300px * 16 / 9);
  overflow: hidden;
  margin-top: 20px;
}
#ubicacion .slides {
  display: flex;
  width: calc(300px * 5);
  height: 100%;
  animation: slide 20s infinite;
}
#ubicacion .slide {
  flex: 0 0 300px;
  height: 100%;
}
#ubicacion .slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}
@keyframes slide {
  0%,   20%  { transform: translateX(0); }
  25%,  40%  { transform: translateX(-300px); }
  45%,  60%  { transform: translateX(-600px); }
  65%,  80%  { transform: translateX(-900px); }
  85%, 100%  { transform: translateX(-1200px); }
}

/* Derecha: Info ubicación + mapa */
#ubicacion .location-right {
  flex: 1 1 300px;
  display: flex;
  flex-direction: column;
}
#ubicacion .location-info-top {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
}
#ubicacion .location-info-top h3 {
  font-size: 24px;
  color: var(--primary);
  margin-bottom: 15px;
}
#ubicacion .location-info-top p {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#ubicacion .location-info-top i {
  margin-right: 10px;
  color: var(--primary);
}
#ubicacion .location-map {
  flex: 1 1 auto;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
#ubicacion .location-map iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: none;
}

/* == Responsive == */
@media only screen and (max-width: 768px) {
  #ubicacion .location-container {
    flex-direction: column;
    align-items: center;
  }
  #ubicacion .location-left,
  #ubicacion .location-right {
    width: 100%;
    text-align: center;
  }
  /* centrar iconos y textos en mobile */
  #ubicacion .location-info-top p,
  #ubicacion .location-left p {
    justify-content: center;
  }
  /* slider mantiene 300px × 533px */
  #ubicacion .location-slider {
    margin: 0 auto 20px;
  }
  /* mapa full-width con altura fija */
  #ubicacion .location-map {
    width: 100%;
    height: 300px;
    margin-top: 20px;
  }
}
        .contact {
            background: url("../images/palms.png") top left /300px 300px no-repeat;
          background-color: var(--secondary);
          position: relative;          /* para que funcione ::after */
          
        }

         .contact::after{
          content:"";
          position:absolute;
          right:0;
          bottom:0;
          width:300px;
          height:300px;
          background:url("../images/palms.png") center/300px 300px no-repeat;
          transform:rotate(180deg);     /* gira 90° en sentido horario */
          pointer-events:none;
        }
        
        .contact-container {
            display: flex;
            flex-wrap: wrap;
            gap: 50px;
        }
        
        .contact-info {
            flex: 1 1 300px;
        }
        
        .contact-info h3 {
            font-size: 24px;
            margin-bottom: 20px;
            color: var(--primary);
        }
        
        .contact-info p {
            margin-bottom: 15px;
            display: flex;
            align-items: center;
        }
        
        .contact-info i {
            margin-right: 10px;
            color: var(--primary);
            width: 20px;
            text-align: center;
        }

        .instagram-widget-card {
  background-color: var(--light);
  border-radius: 12px;
  padding: 20px;
        
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.instagram-widget-card .elfsight-app-4373310f-9293-4c1a-b2c7-4b7dd4e7a920 {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.elfsight-app [class*="watermark"] {
  display: none !important;
  visibility: hidden;
}

@media screen and (min-width: 769px) {
  .instagram-widget-card {
    max-width: 300px;
    margin-left: 0;
    margin-right: auto;
  }
}

.instagram-widget-inner {
  text-align: left;
    margin: 0 auto;
    
}

.instagram-widget-inner h4 {
  font-size: 18px;
  color: var(--primary);
  margin-bottom: 10px;

}

.instagram-widget-inner p {
  font-size: 14px;
  color: #5b4b4b;
  margin-bottom: 10px;
}


        
        .contact-form {
            flex: 1 1 300px;
            background-color: white;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        }
        
        .form-group {
            margin-bottom: 20px;
        }
        
        .form-group label {
            display: block;
            margin-bottom: 5px;
            font-weight: 500;
        }
        
        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 12px 15px;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-family: 'Poppins', sans-serif;
            transition: all 0.3s ease;
        }
        
        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--primary);
        }
        
        .form-group textarea {
            resize: vertical;
            min-height: 200px;
        }

        .feedback {
          padding: 1rem;
          margin-bottom: 1rem;
          border-radius: 4px;
          font-weight: 500;
          transition: opacity .3s;
        }
        .feedback.success {
          background: #d4edda;
          color: #155724;
          border: 1px solid #c3e6cb;
        }
        .feedback.error {
          background: #f8d7da;
          color: #721c24;
          border: 1px solid #f5c6cb;
        }
        
        /* Footer */
        footer {
            background-color: var(--dark);
            color: white;
            padding: 50px 10% 20px;
        }
        
        .footer-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 40px;
            margin-bottom: 40px;
        }
        
        .footer-col {
            flex: 1 1 200px;
        }
        
        .footer-col h3 {
            font-size: 20px;
            margin-bottom: 20px;
            color: var(--secondary);
        }
        
        .footer-col ul {
            list-style: none;
        }
        
        .footer-col ul li {
            margin-bottom: 10px;
        }
        
        .footer-col ul li a {
            color: #ccc;
            text-decoration: none;
            transition: all 0.3s ease;
        }
        
        .footer-col ul li a:hover {
            color: white;
            padding-left: 5px;
        }
        
        .social-links {
            display: flex;
            gap: 15px;
        }
        
        .social-links a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            background-color: rgba(255,255,255,0.1);
            border-radius: 50%;
            color: white;
            transition: all 0.3s ease;
        }
        
        .social-links a:hover {
            background-color: var(--white);
            transform: translateY(-3px);
        }
        
        .copyright {
            text-align: center;
            padding-top: 20px;
            border-top: 1px solid rgba(255,255,255,0.1);
            font-size: 14px;
            color: #aaa;
        }

        @media (max-width: 768px) {
          .contact {
            /* Elimina ambos fondos */
            background-image: none !important;
          }
          .contact::after {
            /* Oculta el pseudo-elemento */
            display: none !important;
            content: none !important;
          }
        }
        
        .whatsapp-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: #25D366;
  color: white;
  border-radius: 30px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  font-size: 18px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
  z-index: 999;
  gap: 10px;
  text-decoration: none;
  transition: all 0.3s ease;
  animation: pulse 2s infinite;
  white-space: nowrap;
}

.whatsapp-btn:hover {
  transform: scale(1.05);
  background-color: #128C7E;
}

.whatsapp-btn i {
  font-size: 22px;
}

.whatsapp-text {
  font-weight: 600;
}

/* Animación de pulso */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* Responsive para móvil */
@media (max-width: 576px) {
  .whatsapp-text {
    display: none;
  }

  .whatsapp-btn {
    border-radius: 50%;
    width: 60px;
    height: 60px;
    padding: 0;
    justify-content: center;
  }

  .whatsapp-btn i {
    font-size: 28px;
  }
}
        
        /* Responsive */
        @media (max-width: 992px) {
            .hero h1 {
                font-size: 40px;
            }
            
            section {
                padding: 80px 5%;
            }
        }
        
        @media (max-width: 768px) {
            .menu-toggle {
                display: block;
            }
            
            nav {
                position: fixed;
                top: 80px;
                left: -100%;
                width: 80%;
                height: calc(100vh - 80px);
                background-color: var(--light);
                transition: all 0.3s ease;
                padding: 30px;
                box-shadow: 5px 0 15px rgba(0,0,0,0.1);
            }
            
            nav.active {
                left: 0;
            }
            
            nav ul {
                flex-direction: column;
            }
            
            nav ul li {
                margin: 15px 0;
            }
            
            .hero h1 {
                font-size: 32px;
            }
            
            .hero p {
                font-size: 16px;
            }
            
            .btn {
                padding: 10px 20px;
                font-size: 14px;
            }
            
            .section-title h2 {
                font-size: 30px;
            }
            
            .location-container, .contact-container {
                flex-direction: column;
            }
            
            .location-map {
                width: 100%;
            }
            
            /* Sólo dentro de #ubicacion */
  #ubicacion .location-container {
    display: flex;
    flex-direction: column;
  }
  /* Primero el mapa */
  #ubicacion .location-right {
    order: 1;
  }
  /* Después “Nuestro espacio” */
  #ubicacion .location-left {
    order: 2;
  }

        }


        
        @media (max-width: 576px) {
            .hero {
                height: 65vh;
                padding: 10% 5%;
                text-align: center;
            }
            
            .hero h1 {
                font-size: 28px;
            }
            
            .btn-group {
                display: flex;
                flex-direction: column;
                gap: 15px;
            }
            
            .btn-outline {
                margin-left: 0;
            }
        }

        /*Privacidad*/
        /* Base */
        .privacy-header {
          padding: 3rem 1rem 1rem;
          background: var(--offwhite);
          text-align: center;
        }
        .privacy-header h1 {
          font-family: 'Poppins', sans-serif;
          font-weight: 600;
          font-size: 2.5rem;
          color: var(--primary);
          margin: 0;
            background-color: var(--offwhite)
        }

        /* Breadcrumb */
        .breadcrumb {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 0.5rem;
          font-size: 0.9rem;
          color: #666;
          margin-bottom: 2rem;
            background-color: var(--offwhite)
        }
        .breadcrumb a {
          color: var(--primary);
          text-decoration: none;
        }
        .breadcrumb span {
          user-select: none;
        }

        /* Contenedor general */
        #privacidad.container {
          max-width: 900px;
          margin: 0 auto 4rem;
          padding: 1rem 2rem;
          font-family: 'Poppins', sans-serif;
          color: #333;
          line-height: 1.6;
            background: var(--offwhite)
        }
        .intro {
          font-size: 1rem;
          margin-bottom: 2rem;
        }

        /* Grid de tarjetas */
        .privacy-grid {
          display: grid;
          grid-template-columns: 1fr;
          gap: 1rem;
        }
        .privacy-card h2 {
          font-size: 1.25rem;
          color: var(--primary);
          margin-bottom: 0.75rem;
        }
        .privacy-card ul,
        .privacy-card ol {
          padding-left: 1.5rem;
        }
        .privacy-card li {
          margin-bottom: 0.5rem;
        }
        .contact-info li {
          display: flex;
          align-items: center;
        }
        .contact-info a {
          color: var(--primary);
          text-decoration: none;
        }

        /* Fecha de actualización */
        .update-date {
          text-align: right;
          font-size: 0.85rem;
          color: #999;
          margin-top: 3rem;
        }

        /* Header del Aviso */
.legal-header {
  padding: 3rem 1rem 1rem;
  background: var(--offwhite);
  text-align: center;
}
.legal-header h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 2.5rem;
  color: var(--primary);
  margin: 0;
}

/* Breadcrumb */
.breadcrumb {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 2rem;
}
.breadcrumb a {
  color: var(--primary);
  text-decoration: none;
}
.breadcrumb span {
  user-select: none;
}

/* Contenedor y grid de tarjetas */
#aviso-legal.container {
  max-width: 900px;
  margin: 0 auto 4rem;
  padding: 0 1rem;
  font-family: 'Poppins', sans-serif;
  color: #333;
  line-height: 1.6;
}
.intro {
  font-size: 1rem;
  margin-bottom: 2rem;
}
.legal-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
.legal-card h2 {
  font-size: 1.25rem;
  color: var(--primary);
  margin-bottom: 0.75rem;
}
.legal-card p,
.legal-card ul {
  margin-bottom: 0.5rem;
}
.legal-card ul {
  padding-left: 1.5rem;
}

/* Enlaces dentro de listas */
.legal-card a {
  color: var(--primary);
  text-decoration: none;
}

/* Fecha de actualización */
.update-date {
  text-align: right;
  font-size: 0.85rem;
  color: #999;
  margin-top: 3rem;
}

/* Responsive: 2 columnas en desktop */
@media (min-width: 768px) {
  .legal-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

        /* Responsive: dos columnas en desktop */
        @media (min-width: 768px) {
          .privacy-grid {
            grid-template-columns: repeat(2, 1fr);
          }
        }


/* ----------------------------------------------------
   Discreta versión del botón de CookieYes en móvil
   -------------------------------------------------- */
@media (max-width: 576px) {
  /* El fondo oscuro */
  .cky-overlay {
    background: rgba(0, 0, 0, 0.2) !important;
  }

  /* El wrapper del botón */
  .cky-btn-revisit-wrapper {
    width: 24px !important;        /* lo hacemos pequeñito */
    height: 24px !important;
    bottom: 80px !important;       /* sube un poco para no chocar con WhatsApp */
    left: 16px !important;         /* lo alineamos con márgenes */
    opacity: 0.3 !important;       /* muy tenue */
    z-index: 500 !important;       /* por debajo del WhatsApp si hace falta */
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }

  /* Si el icono interno es un <img> o un SVG dentro del wrapper */
  .cky-btn-revisit-wrapper img,
  .cky-btn-revisit-wrapper svg {
    width: 60% !important;
    height: auto !important;
    display: block !important;
    margin: auto !important;
  }

  /* Al pasar/tocar recobra visibilidad */
  .cky-btn-revisit-wrapper:hover {
    opacity: 1 !important;
  }
}

/* 2) Mover el widget de Instagram bajo el formulario en móvil */
@media (max-width: 768px) {
  .contact-container {
    display: flex;
    flex-direction: column;
  }
  /* Aseguramos que el formulario venga antes en el DOM visualmente */
  .contact-form {
    order: 1;
  }
  .instagram-widget-card {
    order: 2;
    margin-top: 2rem;
  }
}