* {margin:0;padding:0}
* {box-sizing:border-box}
html,body{
  margin-top:0px;
  margin-bottom:0px!important;
  min-height:100%;
  height:100%;
  height:auto;
  color:#000000;
  font-size: 9pt;
   font-family: arial, helvetica, sans-serif;
   line-height:normal;
   text-align:justify;
 background:#f7f7f7;
}
a {color:#FFFFFF; text-decoration:none}
a:hover {color:#e1e1e1; text-decoration:none}
ul{list-style:none; padding:0; margin:0}
li {list-style:none; margin:0; padding:0;}

#contenedor {
    width:100%; 
    margin-left: auto; 
    margin-right: auto;
	text-align:left;
	overflow:auto;
	z-index:200;
	clear:both;
	margin-bottom:0;
	}
#contenido{border:0; margin:45px auto 10px auto; height:auto; overflow:auto; width:100%;max-width:1200px; border-bottom:none;}
/*menu principal*/
#logo{width:100%;margin:0 0 0 0;z-index:999999;position:fixed}
#top_r{margin: 0 auto; padding:0; width: 100%; background:#fe6e00;border-bottom:1px solid #e1e1e1}
#top_r header{
    box-sizing: border-box;
    padding: 0 0 0 0;
 }
#top_r header span.nwa{float:left;text-align:center;margin:0;padding:1%;height:auto;background:#FDFFD9;}
#top_r header span.nwa a{color:red;font-size:9pt}
#top_r header span.iso {
    float: left;margin:0;
    padding:5px 0 5px 5px;height:40px;
}
#top_r header span.iso img {
    height: 100%;
    margin:0;
    border:0;
}

.ver-menu {
    background-color: transparent;
    background-position: center center;
    border: 0;
    display: block;
    float: right;
    height: 35px;
    margin:10px 1.3em 0 0;
    width: 35px;
}
.ver-menu a {color:#fff;font-size:8pt;vertical-align:middle}
.ver-menu a span {
    display: inline-block;
    height: 30px;
    text-indent: -9999px;
    width: 30px;
}
.ver-menu .cerrar {
    background-image: url("../gif/close-menu.png");
    background-position: center center;
    background-repeat: no-repeat;
    display: none;
}
.ver-menu .abrir {
    background-image: url("../gif/open-menu.png");
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
}

ul.items {
    clear: both;
    height: 0;
    overflow:auto;
    text-align:center;
    transition: height 0.4s ease-in-out 0s, background-color 2s ease 0s; /*El menú cambia su altura y su color de fondo mediante una transición suavizada al voover a su estado unicial*/
}
ul.items h1{font-size:12pt;color:#000;width:96%;padding: 0 0 2px 1%}
#desplegar:target ul.items {
    background: #ffffff none repeat scroll 0 0;
    height: auto;
    transition: height 0.4s ease-in-out 0s, background-color 0.4s ease 0s; /*El menú cambia su altura y su color de fondo mediante una transición suavizada al abrirse*/
}


/*Al hacer clic sobre el enlace que abre el menú éste desaparece*/

.cerrar { 
   display:none;
}
        
#desplegar:target .abrir {
      display: none;
}

/*Al hacer clic sobre el enlace que abre el menú aparece el enlace .close que previamente estaba oculto*/

#desplegar:target .cerrar {
        display: block;
}
  
/*Estilos menu*/

ul.items li {
    display: inline-block;
}

ul.items a {
	font-size:8.5pt;
    border-top: 0;
    color: #000;
    display: block;
    height: 2.4em;
    line-height: 14pt;
    margin: 5px 5px 5px 5px;
    text-decoration:none;text-transform:uppercase
}
ul.items li:first-child a {
    border-top: 2px solid transparent;
}
ul.items li.um a {
	font-size:8.5pt;
    border-top: 0;
    color: #ff0000;
    display: block;
    height: 2.4em;
    line-height: 14pt;
    margin: 0 5px 5px 5px;
    text-decoration:none;text-transform:uppercase
}
ul.items li.altaus a {
	font-size:8.5pt;
    border-top: 0;
    color: blue;
    display: block;
    height: 2.4em;
    line-height: 14pt;
    margin: 0 5px 5px 5px;font-weight:bold;
    text-decoration:none;text-transform:uppercase
}
ul.items a:hover{color:#fe6e00}
/*cabeza reseñas*/
/* Contenedor Principal */
#op-top-ver {
    display: flex;
    flex-wrap: wrap;
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    margin:25px 0 30px 0;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    border-top: 5px solid #fe6e00; /* Toque de marca */
}

/* Bloque de Foto */
.op-lafoto {
    flex: 0 0 160px;
    margin-right: 25px;
}

.op-lafoto img {
    border-radius: 8px;
    border: 1px solid #eee;
    object-fit: cover;
}

/* Información Central */
.op-lainfo {
    flex: 1;
    min-width: 300px;
}

.op-lainfo h1 {
    color: #333;
    font-size: 24px;
    margin: 0 0 10px 0;
    text-transform: uppercase;
}

.op-direccion {
    color: #666;
    font-size: 14px;
    display: inline-block;
    margin-top: 5px;
}

/* Botones de Teléfono y Tarifas */
.op-btn-tel, .op-btn-precios {
    background: #fe6e00;
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.3s ease;
    margin: 5px 0;
    text-decoration: none;
    display: inline-block;
}

.op-btn-tel:hover, .op-btn-precios:hover {
    background: #e66300;
}

.op-tel-texto {
    font-size: 14px;
    color: #444;
    font-weight: bold;
}

/* Bloque de Horarios e Información Extra */
.op-bloque-info {
    display: block;
    margin-top: 15px;
    padding: 10px;
    background: #fdf2e9; /* Fondo naranja muy suave */
    border-radius: 8px;
    color: #444;
    font-size: 13px;
}

.op-horario-titulo {
    font-weight: bold;
    color: #fe6e00;
    text-transform: capitalize;
}

.op-label-cerrado {
    color: #d9534f;
    font-weight: bold;
}

/* Iconos Destacados */
.op-lainfoextras {
    flex: 0 0 250px;
    padding-left: 20px;
    border-left: 1px solid #eee;
}

.op-iconos-dest {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.op-iconos-dest img {
    height: 28px;
    width: auto;
    filter: grayscale(20%);
    transition: transform 0.2s;
}

.op-iconos-dest img:hover {
    transform: scale(1.1);
    filter: grayscale(0%);
}


/*lanzador*/
.op-contenedor-lanzador {
    margin: 20px 0;
    text-align: center;
}

.op-btn-lanzador {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fe6e00;
    color: #ffffff;
    padding: 15px 25px;
    border-radius: 50px; /* Estilo píldora, muy moderno */
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(254, 110, 0, 0.3);
}

.op-btn-lanzador i {
    margin-right: 10px;
    font-size: 1.2em;
}

.op-btn-lanzador:hover {
    background: #333; /* Cambia a gris oscuro al pasar el mouse */
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
    color: #fff;
}

/* Variante cuando no hay opiniones */
.op-btn-lanzador.op-primero {
    background: #fff;
    color: #fe6e00;
    border: 2px solid #fe6e00;
    box-shadow: none;
    line-height: 1.4;
}

.op-btn-lanzador.op-primero b {
    display: block;
    font-size: 1.1em;
}

.op-btn-lanzador.op-primero:hover {
    background: #fe6e00;
    color: #fff;
}
/*resumen y reseñas*/
#op-resumencal {
    display: flex;
    flex-direction: column; /* Cambia de grid a column */
    background: #fdf2e9;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}

/* El bloque de estrellas grandes arriba */
#op-cal-general {
    text-align: center;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(254, 110, 0, 0.1);
    padding-bottom: 15px;
}

/* El nuevo contenedor de categorías horizontal */
#op-res-des {
    display: flex;
    flex-wrap: wrap; /* Para que bajen si son muchas */
    justify-content: center; /* Centradas */
    gap: 15px 25px; /* Espaciado entre items */
}

/* Cada item individual */
.op-fila-cat {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #555;
    white-space: nowrap; /* Evita que el texto se parta en dos líneas */
}

.op-fila-cat span {
    margin-right: 8px;
    font-weight: 500;
}

.op-fila-cat img {
    height: 12px; /* Un poquito más chicas para que entren mejor en horizontal */
    width: auto;
}



#op-cal-general h2 { color: #fe6e00; margin-top: 0; }



.op-item-opinion {
    list-style: none;
    padding: 25px 0;
    border-bottom: 1px solid #eee;
}

.op-opinion-body {
    width: 100%;background:#fff;padding:20px;
}

.op-user-header h2 {
    display: inline;
    font-size: 18px;
    color: #333;
    margin-left: 5px;
}

.op-texto-comentario {
    margin: 15px 0;
    line-height: 1.6;
    color: #444;
    font-style: italic;
}

.op-info-viaje {
    margin-bottom: 15px;
    font-size: 13px;
    color: #777;
}

/* Contenedor horizontal de estrellas del usuario */
.op-user-cal-horizontal {
    display: flex;width:100%;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    background: #f9f9f9;
    padding: 10px 15px;
    border-radius: 8px;
}

.op-cal-principal {
    border-right: 2px solid #fe6e00;
    padding-right: 15px;
}

.op-desglose-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.op-tag-cal {
    font-size: 11px;
    color: #666;
    display: flex;
    align-items: center;
    background: #fff;
    padding: 3px 8px;
    border-radius: 4px;
    border: 1px solid #eee;
}

.op-tag-cal img {
    margin-right: 5px;
}
/*form reseñas*/
/* Contenedor Principal del Formulario */
#op-form-carga {
    background: #ffffff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border: 1px solid #eee;
    max-width: 800px;
    margin: 20px auto;
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Títulos de Sección */
.op-seccion-form {
    margin-bottom: 35px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #eee;
}

.op-seccion-form h3 {
    color: #333;
    font-size: 1.2rem;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

.op-seccion-form h3::before {
    content: '';
    width: 4px;
    height: 18px;
    background: #fe6e00;
    margin-right: 10px;
    border-radius: 2px;
}

/* Estrellas Interactivas (Calificación General y Detalle) */
.op-rating-group, .op-mini-stars {
    display: flex;
    flex-direction: row-reverse; /* Truco para que el hover funcione hacia la izquierda */
    justify-content: flex-end;
}

.op-rating-group input, .op-mini-stars input {
    display: none;
}

.op-rating-group label, .op-mini-stars label {
    font-size: 32px;
    color: #e0e0e0;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    padding: 0 2px;
}

.op-mini-stars label { font-size: 20px; }

/* Efecto al pasar el mouse y al seleccionar */
.op-rating-group label:hover,
.op-rating-group label:hover ~ label,
.op-rating-group input:checked ~ label,
.op-mini-stars label:hover,
.op-mini-stars label:hover ~ label,
.op-mini-stars input:checked ~ label {
    color: #fe6e00;
}

/* Animación de "latido" al seleccionar */
.op-rating-group input:checked + label i {
    transform: scale(1.2);
    transition: transform 0.2s;
}

/* Inputs de Texto y Selectores */
.op-grid-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.op-field {
    margin-bottom: 20px;
}

.op-field label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
    color: #555;
}

input[type="text"], 
input[type="email"], 
select, 
textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #f0f0f0;
    border-radius: 8px;
    font-size: 15px;
    transition: border-color 0.3s;
    outline: none;
}

input:focus, select:focus, textarea:focus {
    border-color: #fe6e00;
    background-color: #fffaf7;
}

/* Desglose Detallado en Grid */
/* Contenedor de ítems en vertical */
/* Contenedor de ítems en vertical */
.op-grid-detalles {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 500px; /* Para que no se estire infinito en pantallas grandes */
    margin: 0 auto;   /* Centramos el bloque de puntuaciones */
}

.op-item-puntuacion {
    display: flex;
    justify-content: space-between; /* Texto a la izquierda, estrellas a la derecha */
    align-items: center;
    padding: 12px 20px;
    background: #fdfdfd;
    border: 1px solid #f0f0f0;
    border-radius: 10px;
    transition: background 0.2s;
}

.op-item-puntuacion:hover {
    background: #fffaf5; /* Un toque sutil al pasar el mouse */
    border-color: #fe6e0033;
}

.op-item-puntuacion span {
    font-size: 14px;
    font-weight: 500;
    color: #444;
}
.op-input-mes {
    appearance: none;
    -webkit-appearance: none;
    color: #444;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23fe6e00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 45px !important;
}

/* Para que el placeholder se vea bien en móviles */
.op-input-mes:invalid::-webkit-datetime-edit {
    color: #999;
}
/* Ajuste de las mini-estrellas para que siempre estén alineadas */
.op-mini-stars {
    display: flex;
    flex-direction: row-reverse;
    gap: 4px;
}

.op-mini-stars label {
    font-size: 22px; /* Un pelín más grandes para facilitar el clic */
    color: #e0e0e0;
}
/* Brillo extra para la estrella seleccionada */
.op-mini-stars input:checked + label i,
.op-rating-group input:checked + label i {
    text-shadow: 0 0 10px rgba(254, 110, 0, 0.4);
    transform: scale(1.1);
}
/* Aviso Legal */
.op-check-legal {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: #888;
    line-height: 1.4;
    cursor: pointer;
    background: #f9f9f9;
    padding: 15px;
    border-radius: 8px;
}

.op-check-legal input {
    margin-top: 3px;
}

/* Botón de Envío */
.op-btn-enviar {
    background: #fe6e00;
    color: white;
    border: none;
    padding: 18px 30px;
    border-radius: 50px;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
    margin-top: 20px;
    box-shadow: 0 5px 15px rgba(254, 110, 0, 0.3);
    transition: all 0.3s ease;
}

.op-btn-enviar:hover {
    background: #333;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* Responsive */
@media (max-width: 600px) {
    .op-grid-inputs { grid-template-columns: 1fr; }
    #op-form-carga { padding: 20px; }
}






/* ==========================================
   PIE DE PÁGINA
   ========================================== */
#pie {
    width: 100%; /* Ocupa el ancho total del contenedor padre */
    background: #ffffff;
    padding: 40px 0;
    border-top: 1px solid #e1e1e1;
    font-family: sans-serif;
}

/* Contenedor de logos y redes (La parte de arriba) */
#pie .pie-superior {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 30px;
    padding: 0 20px;
}

/* Contenedor principal del pie */
#pie {
    width: 100%;
    padding: 10px 0;
    background: #fff;
    border-top: 1px solid #e1e1e1;
    display: flex;
    flex-direction: column; /* Apilamos los bloques uno bajo otro */
    align-items: center;
}
#pie-contenedor {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; /* Alinea al tope */
    gap: 40px;
    padding: 20px 10px;
    width: 100%;
    max-width: 1200px; /* Tu ancho de siempre */
    margin: 0 auto;
}

/* Columna Izquierda: Identidad (30%) */
.pie-identidad {
    flex: 1; 
    display: flex;
    flex-direction: column;
    gap: 20px;
   
}

.logo-principal img {
    height: 45px;
    width: auto;
    text-align:center
}

.logos-secundarios {
    display: flex;
    gap: 15px;
    align-items: center;
    opacity: 0.8;
}

.logos-secundarios img {
    height: 35px;
    width: auto;text-align:center
}
.redes-pie {
    display: flex;
    gap: 18px; /* Espacio entre iconos */
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0; /* Una separación sutil de los logos de arriba */
}

.redes-pie a {
    color: #888; /* Color neutro para no ensuciar */
    font-size: 22px;
    transition: all 0.3s ease;
    text-decoration: none;
}

/* Colores de marca al pasar el mouse */
.redes-pie a[title="Instagram"]:hover { color: #E1306C; }
.redes-pie a[title="YouTube"]:hover   { color: #FF0000; }
.redes-pie a[title="Newsletter"]:hover { color: #0086A8; }
.redes-pie a[title="Facebook"]:hover  { color: #1877F2; }

/* Efecto sutil de salto */
.redes-pie a:hover {
    transform: translateY(-3px);
}
/* Columna Derecha: Menús (70%) */
.pie-navegacion {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas de links */
    gap: 20px;
}

.col-menu h4 {
    font-size: 11pt;
    color: #0086A8;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.col-menu li {
    list-style: none;
    margin-bottom: 5px;
}

.col-menu a {
    text-decoration: none;
    color: #444;
    font-size: 9.5pt;
}

.col-menu a:hover { color: #fe6e00; }

/* Copyright (La parte de abajo) */
#pie .pie-copyright {
    margin-top: 10px;
    padding: 20px;
    font-size: 8.5pt;
    color: #888;
    line-height: 1.6;
    border-top: 1px solid #f5f5f5;
    text-align: center;
}
#pie .pie-copyright a{color:#fe6e00}
#pie .pie-copyright a:hover{color:#000}
@media (max-width: 768px) {

    #pie-contenedor {
        flex-direction: column; /* Dejamos de estar uno al lado del otro */
        align-items: center;    /* Centramos todo el contenido */
        gap: 30px;
        text-align: center;
    }

    .pie-identidad {
        align-items: center; /* Centramos logo y redes */
        width: 100%;
    }

    .logos-secundarios {
        justify-content: center; /* Centramos logos amigos */
    }

    .pie-navegacion {
        width: 100%;
        /* Pasamos de 3 columnas a 1 o 2, según prefieras. 
           Para móvil, 1 columna es más legible y evita textos cortados */
        grid-template-columns: 1fr; 
        gap: 25px;
    }

    .col-menu {
        border-bottom: 1px solid #f0f0f0; /* Una línea divisoria suave entre bloques */
        padding-bottom: 15px;
    }

    .col-menu:last-child {
        border-bottom: none;
    }

    .redes-pie {
        justify-content: center; /* Centramos iconos sociales */
    }
}
@media (max-width: 768px) {
	#contenido { width:95%;margin:50px auto 0 auto }

    #op-top-ver {
        flex-direction: column;
    }
    .op-lafoto {
        margin: 0 auto 15px auto;
    }
    .op-lainfoextras {
        border-left: none;
        border-top: 1px solid #eee;
        padding-left: 0;
        margin-top: 20px;
    }
}