:root{--contrast:#05122b;--contrast-2:#999a9d;--base:#fff;--gris-claro:#efeff1;--azul:#2753a0;--azul-claro:#84B7E0;--azul-blanco:#eef1ff;--oro-claro:#CAA66B;--oro:#CF912A;--oro-oscuro:#A77418;--rojo:#D24800;--rojo-oscuro:#941D14;--gris-claro:#f0f0f0}

body,
button,
input,
select,
textarea{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400;text-transform:none;font-size:15px;line-height:1.5}
h1,
h2,
h3,
h4,
h1 a,
h2 a,
h3 a,
h4 a,
a h1,
a h2,
a h3,
a h4{color:var(--azul);font-weight:700;text-decoration:none}
h3,
h3 a,
a h3{font-weight:500}
h5{color:var(--rojo)}

body.con-sidebar{background-color:var(--azul-blanco);box-shadow:0 0 100px rgba(0,0,100,0.25) inset}
#layout-content{background-color:#fff;box-shadow:0 0 100px rgba(0,0,100,0.25)}
img{max-width:100%;height:auto}
a{color:var(--azul)}
a:hover{color:var(--azul-claro)}
li{list-style:none}
strong{color:var(--rojo)}
.btn.btn-default{background-color:var(--azul);color:var(--base)}
.btn.btn-oro{background-color:var(--oro);color:#fff;border:2px solid var(--oro-oscuro)}
.btn.btn-oro:hover{background-color:var(--oro-claro)}
figcaption{text-align:center;font-size:.9rem;color:var(--oro-oscuro)}
.altura-100{height:100%}
.lista-decorada li{position:relative}
.lista-decorada li::before{content:"";width:.25rem;height:.25rem;position:absolute;background-color:var(--rojo);left:-.5rem;top:.6rem}
.lista-decorada li.toc-item2::before{height:0.1rem;top:.7rem}
.lista-decorada li:hover::before{background-color:var(--oro)}

.fondo-azul{background-color:var(--azul);color:#fff}
.fondo-azul a{color:#fff}

nav{background-color:var(--azul)}
@media (min-width:992px){nav.transparente{background-color:transparent}nav.absolute{position:absolute;width:100%;z-index:99}}
.navbar-brand{max-width:50%}
@media (min-width:768px){.navbar-brand{max-width:300px}}
.navbar-nav{background-color:var(--azul);margin-left:auto;border-radius:.33rem;padding:0 1rem}
.navbar-nav a,
.navbar-nav .nav-link{color:#fff;text-transform:uppercase;font-weight:700}
.navbar-nav a.active,
.navbar-nav .nav-link.active{color:var(--contrast)}
.navbar-nav a:hover,
.navbar-nav .nav-link:hover{color:var(--oro)}
@media (min-width:992px){.navbar-nav a,.navbar-nav .nav-link{padding-left:1rem !important;padding-right:1rem !important}}
.navbar-nav .dropdown:hover .dropdown-menu{display:block;margin-top:0}
.navbar-nav .dropdown-menu{background-color:var(--azul)}

.fondo-contraste{background-color:var(--contrast);color:var(--base)}
.fondo-contraste-claro{background-color:var(--azul-blanco);color:var(--azul);border-top:1px solid var(--oro-claro)}
.subtitulo{display:block;font-size:80%;color:var(--azul-claro)}
section{padding-top:2rem;padding-bottom:1.5rem}
.titulo-portada{position:absolute;z-index:99;bottom:1rem;left:1rem}
.titulo-portada h1{color:#fff;font-size:9vh;text-shadow:0 0 10px var(--oro-oscuro)}
.titulo-portada h1 .subtitulo{font-size:.62em;color:#fff}
.title-presentacion{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:7vh;color:var(--base);text-shadow:0 0 20px var(--contrast)}
@media (min-width:992px){.title-presentacion{font-size:9vh}}
.carousel .carousel-control-next,
.carousel .carousel-control-prev{max-width:2rem}
.carousel .carousel-control-next-icon,
.carousel .carousel-control-prev-icon{background-color:var(--contrast-2);border-radius:50%;background-size:1rem}
.accordion .accordion-button{font-weight:700;letter-spacing:1px}
.accordion .accordion-button{background-color:var(--gris-claro)}
.accordion .accordion-button:not(.collapsed){color:var(--base);background-color:var(--azul-claro)}
.imprescindible a h3,
.imprescindible a h4,
.imprescindible a h5{color:var(--rojo)}
.imprescindible a{text-decoration:none}
#section-mapa .accordion h6 a{color:var(--rojo)}
#enlaces-home{padding-top:2rem}
#enlaces-home p{border:1px solid var(--azul-claro);padding:.5rem 1rem}
#enlaces-home p:hover{background-color:var(--azul-claro)}
#info-util,
.datos-puerto,
.datos-puerto{background-color:var(--azul-blanco);padding:0 1rem 1rem;margin-top:1rem;margin-bottom:1rem}
#info-util h3,
.datos-puerto h3,
.datos-puerto h3{background-color:var(--azul);margin:0 -1rem 1rem;padding:.5rem 1rem;color:var(--base)}
#info-util h4,
.datos-puerto h4,
.datos-puerto h4{text-decoration:underline;color:var(--azul);margin-top:1rem}
#info-util h5,
.datos-puerto h5,
.datos-puerto h5{font-weight:600;font-size:1.1rem}
#toc{width:auto}
.toc-lista1{background-color:var(--azul-blanco);padding:.5rem 1rem;margin:1rem auto;display:block;box-shadow:0 0 1px var(--contrast);border-radius:.5rem;font-size:.9rem}
.toc-lista1 li{margin-bottom:.5rem}
.toc-lista1 li a{text-decoration:none;font-weight:700}
.par{background:var(--azul-blanco)}
.dia-semana{margin-bottom:2rem;background-color:var(--gris-claro)}
.dia-semana .dia-impar{background:#f0f0f0}
.dia-semana h3{background-color:var(--rojo);color:white;padding:1rem 1rem;font-weight:400;font-size:1.4em}
.dia-semana .cofradia h4{color:var(--rojo-oscuro);font-weight:700}
.dia-semana .btn.btn-default{color:var(--contrast);background-color:var(--base);margin-bottom:1rem}
.playa{margin-bottom:1rem;box-shadow:0 0 1px var(--contrast);padding:.25rem}
.enlace-subpaginas{margin-bottom:2rem}
.enlace-subpaginas h2{text-align:right;margin-bottom:1rem}
.enlace-subpaginas .enlace-pagina{margin-bottom:2rem}
.enlace-subpaginas .enlace-pagina a{display:block;position:relative}
.enlace-subpaginas .enlace-pagina h3{position:absolute;bottom:0;width:100%;background:rgba(39,83,160,0.8);margin-bottom:0;font-size:1.1rem;color:#fff;padding:1rem .5rem;text-align:center;font-weight:700;border-bottom:4px solid var(--oro)}
.elemento-lista{position:relative;border-radius:.33rem;overflow:hidden;margin-bottom:1rem;box-shadow:0 0 3px #ccc}
.elemento-lista.pueblo{height:25vh;background-position:center center;background-size:cover}
.elemento-lista h3{margin:0;color:#fff;background:var(--azul);padding:.5rem;border-bottom:1px solid var(--oro);font-size:1.1rem;font-weight:600}
.elemento-lista img{margin:0}
.elemento-lista:hover .texto-descriptivo{opacity:1}
.elemento-lista .texto-descriptivo{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;background:var(--azul-claro);opacity:0;transition:opacity 1s;text-align:justify;padding:0 10px}
.elemento-lista .texto-descriptivo p{margin:auto;color:#fff}
.fancybox-container .fancybox-bg{background:var(--contrast)}
.fancybox-container .fancybox-content{box-shadow:0 0 120px black}

.presentacion-negocio h1{text-align:left}
.presentacion-negocio .carousel-indicators{position:relative;margin-left:0;margin-right:auto}
.presentacion-negocio .carousel-indicators li{width:auto;height:auto}
.presentacion-negocio .carousel-inner{text-align:center}
.fila-datos{font-size:.9em}
.fila-datos .icono{margin-right:.5em}
.tabs-detalles{justify-content:space-between;border:none;margin-bottom:2em}
.tabs-detalles>li{text-align:center}
.tabs-detalles>li>a{text-transform:uppercase;color:var(--azul);border-bottom:2px solid var(--azul-claro);text-decoration:none}
.tabs-detalles>li>a.active{border-color:var(--rojo)}
#sidebar h3{font-size:1.1rem}
#sidebar .booking h3{margin-bottom:0;background-color:var(--azul);color:#fff;font-weight:600;padding:.5rem 1rem}
#sidebar .booking .nombre-pueblo{text-transform:capitalize}
.que-ver-hacer,
.galeria-sidebar{margin:1rem 0;background:var(--azul-claro);color:var(--base);padding-bottom:1rem}
.que-ver-hacer h3,
.galeria-sidebar h3{margin-bottom:0;background-color:var(--azul);color:#fff;font-weight:600;padding:.5rem 1rem}
.que-ver-hacer ul,
.galeria-sidebar ul{padding-left:1rem}
.que-ver-hacer a,
.galeria-sidebar a{text-decoration:none;color:var(--azul-blanco);margin-bottom:.25rem;display:block}
.que-ver-hacer a:hover,
.galeria-sidebar a:hover{color:var(--contrast)}
.que-ver-hacer a:hover strong,
.galeria-sidebar a:hover strong{color:var(--contrast)}
.que-ver-hacer a strong,
.galeria-sidebar a strong{color:var(--base);font-weight:600}
.galeria-sidebar{background-color:var(--base)}
.galeria-sidebar [class^="col-"]{margin-top:.5rem;margin-bottom:.5rem}
.galeria-sidebar figure{margin-bottom:0}
.galeria-sidebar figure figcaption{font-size:10px;line-height:10px}
.galeria-sidebar a{margin-bottom:0}

.comments.comment-items{margin:2rem 0;padding:0;max-width:800px;font-family:'Helvetica Neue',Arial,sans-serif}
.comments.comment-items h3{color:#3498db;font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:0.5rem;border-bottom:2px solid #3498db}
.comments.comment-items .comment{background:white;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.05);padding:1.5rem;margin-bottom:1.5rem;transition:transform 0.2s ease}
.comments.comment-items .comment:hover{transform:translateY(-3px);box-shadow:0 4px 15px rgba(0,0,0,0.1)}
.comments.comment-items .comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap}
.comments.comment-items .comment-name{font-weight:bold;color:#3498db;font-size:1.1rem}
.comments.comment-items .comment-date{color:#777;font-size:0.9rem;text-decoration:none}
.comments.comment-items .comment-date:hover{color:#2ecc71;text-decoration:underline}
.comments.comment-items .comment-text{color:#333;line-height:1.6;font-size:1rem}
.comments.comment-items .comment-text p{margin:0}
@media (max-width:768px){.comments.comment-items{padding:0 1rem}.comments.comment-items .comment{padding:1rem}.comments.comment-items .comment-header{flex-direction:column;align-items:flex-start}.comments.comment-items .comment-date{margin-top:0.5rem}}
.comments.comment-items a[href^="#comment-"]{transition:all 0.2s ease}
.comments.comment-items a[href^="#comment-"]:hover{color:#2ecc71}
.comments.comment-items .comment.highlighted{border-left:4px solid #2ecc71;background-color:#d1f5e0}.comment-form{margin:3rem 0;padding:2rem;background:white;border-radius:8px;box-shadow:0 2px 15px rgba(0,0,0,0.08)}
.comment-form h3{color:#3498db;font-size:1.6rem;margin-bottom:1.5rem;padding-bottom:0.5rem;border-bottom:2px solid #b6daf2}
.comment-form form .form-group{margin-bottom:1.5rem}
.comment-form form .form-group label{display:block;margin-bottom:0.5rem;font-weight:600;color:#333;font-size:0.95rem}
.comment-form form .form-group .form-control{width:100%;padding:0.8rem 1rem;border:1px solid #e1e1e1;border-radius:6px;font-size:1rem;transition:all 0.3s ease;box-sizing:border-box}
.comment-form form .form-group .form-control:focus{border-color:#3498db;box-shadow:0 0 0 3px rgba(52,152,219,0.2);outline:none}
.comment-form form .form-group textarea.form-control{min-height:150px;resize:vertical}
.comment-form form .btn-primary{background-color:#3498db;color:white;border:none;padding:0.8rem 2rem;font-size:1rem;border-radius:6px;cursor:pointer;transition:all 0.3s ease;text-transform:uppercase;font-weight:600;letter-spacing:0.5px}
.comment-form form .btn-primary:hover{background-color:#217dbb;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.1)}
.comment-form form .btn-primary:active{transform:translateY(0)}
.comment-form .invalid-feedback{color:#e74c3c;font-size:0.85rem;margin-top:0.3rem;display:block}
.comment-form .is-invalid{border-color:#e74c3c !important}
.comment-form .is-invalid:focus{box-shadow:0 0 0 3px rgba(231,76,60,0.2) !important}
.comment-form [data-request-flash]{margin:1rem 0;padding:1rem;border-radius:6px}
.comment-form [data-request-flash].success{background-color:rgba(46,204,113,0.15);color:#1b7943;border-left:4px solid #2ecc71}
.comment-form [data-request-flash].error{background-color:rgba(231,76,60,0.15);color:#a82315;border-left:4px solid #e74c3c}
@media (max-width:768px){.comment-form{padding:1.5rem}.comment-form h3{font-size:1.4rem}.comment-form .btn-primary{width:100%;padding:1rem}}

#footer p{margin-bottom:0}
#footer .bottom-footer{padding:1rem;background:var(--contrast);color:var(--azul-blanco)}
#footer .bottom-footer a{color:#fff}