@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/montserrat.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.ms { font-family: 'Montserrat'; }
.msl { font-family: 'Montserrat'; font-weight: 400;}
.header-container {
	display: table;
	width: 100%;
	margin-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 15px;
}

.title-area {
	display: table-cell;
	vertical-align: middle;
	width: 70%;
	font-family: 'Montserrat';
}

.price-btn-area {
	display: table-cell;
	vertical-align: middle;
	text-align: right;
	width: 30%;
}

h1 {
	font-size: 30pt;
	color: #222222;
	margin: 0;
	font-weight: 700;
}
.txt {
font-size: 16px;
line-height: 1.6;
color: #535551;#3c3c3c;  
font-weight: 300;  
max-width: 800px;
}
.tg2 {color: #535551;}
.top-discount {
	font-size: 9pt;
	color: #00875a;
	background-color: #e2f6ed;
	padding: 2px 6px;
	border-radius: 4px;
	font-weight: bold;
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
}

.top-old-price {
	font-size: 10pt;
	color: #777777;
	text-decoration: line-through;
	margin-right: 8px;
	vertical-align: middle;
}

.top-current-price {
	font-size: 18pt;
	color: #e6005c;
	font-weight: bold;
	vertical-align: middle;
}

.btn-pink {
	background-color: #ff0066;
	color: #ffffff;
	border: none;
	padding: 10px 22px;
	font-size: 11pt;
	font-weight: bold;
	border-radius: 20px;
	cursor: pointer;
	text-align: center;
	display: inline-block;
	margin-top: 5px;
	text-decoration: none;
}

/* Galería */
.gallery-container {
	display: table;
	width: 100%;
	margin-bottom: 25px;
}

.gallery-main {
	display: table-cell;
	width: 50%;
	padding-right: 8px;
	vertical-align: top;
}

.gallery-right {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}

.gallery-row {
	display: table;
	width: 100%;
}

.gallery-cell {
	display: table-cell;
	width: 50%;
	padding-bottom: 8px;
	vertical-align: top;
}
.gallery-cell.left-pad { padding-right: 4px; }
.gallery-cell.right-pad { padding-left: 4px; }

.img-placeholder {
	background-color: #e5e5e5;
	border-radius: 4px;
	background-size: cover;
	background-position: center;
}
/*
.img-main { height: 310px; background-image: url('https://picsum.photos/id/13/600/400'); }
.img-sub1 { height: 151px; background-image: url('https://picsum.photos/id/28/300/200'); }
.img-sub2 { height: 151px; background-image: url('https://picsum.photos/id/49/300/200'); }
.img-sub3 { height: 151px; background-image: url('https://picsum.photos/id/54/300/200'); }
.img-sub4 { height: 151px; background-image: url('https://picsum.photos/id/106/300/200'); }

 Pestañas */
.nav-tabs {
	margin-bottom: 25px;
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 8px;
}
.nav-tabs a {
	color: #ff0066;
	text-decoration: none;
	margin-right: 20px;
	font-size: 10.5pt;
	font-weight: 500;
}
.nav-tabs a.fav {
	float: right;
	color: #777777;
}

/* Grid de Distribución Principal */
.main-layout {
	display: table;
	width: 100%;
}

.content-column {
	display: table-cell;
	width: 65%;
	padding-right: 40px;
	vertical-align: top;
}

.sidebar-column {
	display: table-cell;
	width: 35%;
	vertical-align: top;
}

/* --- CONTENEDOR GRIS LATERAL --- */
.sidebar-widget {
	border: 1px solid #e0e0e0;
	border-radius: 12px;
	padding: 24px;
	background-color: #ffffff;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05);
	
	position: -webkit-sticky;
	position: sticky;
	top: 20px;
	z-index: 10;			
	
}

/* --- CALENDARIO FLOTANTE (SOLO EL CALENDARIO) --- */
.sticky-calendar-wrapper__ {
	position: -webkit-sticky;
	position: sticky;
	top: 20px; /* Al bajar, solo este bloque interno del calendario se mantendrá arriba */
	background-color: #ffffff;
	z-index: 10;
	margin-bottom: 15px;
}

.details-title {
	font-size: 18pt;
	margin-top: 0;
	margin-bottom: 20px;
	color: #222222;
}
.tg1{color: #676964}
/* Items de Detalles */
.detail-item {
	display: table;
	width: 100%;
	padding: 14px 0;
	border-bottom: 1px dashed #e0e0e0;
}

.detail-icon {
	display: table-cell;
	width: 35px;
	vertical-align: top;
	font-size: 14pt;
	color: #666666;
}

.detail-label {
	display: table-cell;
	width: 120px;
	vertical-align: top;
	font-weight: bold;
	color: #333333;
}

.detail-value {
	display: table-cell;
	vertical-align: top;
	color: #555555;
}

.d-tc{ display: table-cell;}
.b{ font-weight: bold;}
.w35{ width: 35px;}
.w120{ width: 120px;}
.tn{ color: #000;}



.detail-value ul {
	margin: 0;
	padding-left: 16px;
}

.detail-value li {
	margin-bottom: 4px;
}

/* Grid de Calendario Interno */
.calendar-header {
	display: table;
	width: 100%;
	margin-bottom: 15px;
	text-align: center;
}
.cal-nav-left, .cal-nav-right {
	display: table-cell;
	width: 10%;
	font-weight: bold;
	cursor: pointer;
	color: #555555;
	font-size: 14pt;
}
.cal-month-title {
	display: table-cell;
	width: 80%;
	font-weight: bold;
	font-size: 12pt;
}

.calendar-grid {
	display: table;
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}

.cal-row {
	display: table-row;
}

.cal-head-cell, .cal-cell {
	display: table-cell;
	width: 14.28%;
	padding: 8px 0;
	font-size: 10pt;
}

.cal-head-cell {
	color: #999999;
}

.cal-cell {
	color: #cccccc;
}

.cal-cell.active {
	color: #333333;
	cursor: pointer;
}
.cal-cell.selected {
	background-color: #ffefec;
	color: #ff0066;
	font-weight: bold;
	border-radius: 50%;
}

.widget-field {
	border: 1px solid #cccccc;
	border-radius: 6px;
	padding: 10px;
	margin-bottom: 12px;
	font-size: 10.5pt;
	color: #333333;
	background-color: #fafafa;
}

.btn-submit-booking {
	background-color: #ff0066;
	color: #ffffff;
	border: none;
	width: 100%;
	padding: 14px;
	font-size: 13pt;
	font-weight: bold;
	border-radius: 8px;
	cursor: pointer;
	margin-top: 10px;
}

.no-places-link {
	text-align: center;
	display: block;
	margin-bottom: 15px;
	color: #555555;
	font-size: 9.5pt;
	text-decoration: underline;
}

/* Ocultar elementos móviles en versión desktop por defecto */
.mobile-only-header, .mobile-floating-bar, .mobile-only-header-info {
	display: none;
}

/* --- RESPONSIVE MEDIA QUERIES (MÓVIL) --- */
@media screen and (max-width: 768px) {
	.container {
		padding: 0;
	}

	/* Ocultar bloques innecesarios de PC en Móvil */
	.header-container, .gallery-container, .nav-tabs, .sidebar-column, .details-title {
		display: none !important;
	}

	/* Banner Imagen Móvil */
	.mobile-only-header {
		display: block;
		position: relative;
		width: 100%;
		height: 250px;
		background-image: url('https://picsum.photos/id/13/600/400');
		background-size: cover;
		background-position: center;
	}

	.mobile-dots {
		position: absolute;
		bottom: 15px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
	}

	.mobile-dot {
		display: inline-block;
		width: 8px;
		height: 8px;
		margin: 0 4px;
		background-color: rgba(255, 255, 255, 0.6);
		border-radius: 50%;
	}
	.mobile-dot.active {
		background-color: #ff0066;
		width: 10px;
		height: 10px;
	}

	.mobile-share {
		position: absolute;
		bottom: 12px;
		right: 15px;
		background: white;
		border-radius: 50%;
		width: 36px;
		height: 36px;
		text-align: center;
		line-height: 36px;
		box-shadow: 0 2px 5px rgba(0,0,0,0.2);
		color: #555555;
	}

	/* Contenido info móvil */
	.mobile-content-wrapper {
		padding: 15px 20px 100px 20px;
	}

	.mobile-only-header-info {
		display: block !important;
	}

	.mobile-breadcrumbs {
		font-size: 10pt;
		color: #ff0066;
		margin-bottom: 10px;
	}

	.mobile-title {
		font-size: 18pt;
		font-weight: bold;
		color: #222222;
		margin-bottom: 12px;
		line-height: 1.3;
	}

	.mobile-description {
		font-size: 11pt;
		color: #444444;
		line-height: 1.6;
		margin-bottom: 25px;
	}

	/* Acordeones simulados estilo movil.png */
	.mobile-accordion-tab {
		border-top: 1px solid #e0e0e0;
		border-bottom: 1px solid #e0e0e0;
		padding: 15px 0;
		font-size: 12pt;
		font-weight: bold;
		color: #555555;
		position: relative;
		cursor: pointer;
		margin-top: -1px;
	}
	.mobile-accordion-tab::after {
		content: "▼";
		position: absolute;
		right: 5px;
		font-size: 9pt;
		color: #999999;
	}
	.mobile-accordion-tab.open::after {
		content: "▲";
	}

	.content-column {
		display: block;
		width: 100%;
		padding-right: 0;
	}

	.detail-item {
		padding: 12px 0;
	}
	.detail-label {
		width: 90px;
	}

	/* --- BARRA FIJA INFERIOR MÓVIL --- */
	.mobile-floating-bar {
		display: table;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: #ffffff;
		box-shadow: 0 -3px 10px rgba(0,0,0,0.1);
		padding: 12px 20px;
		z-index: 1000;
	}

	.mobile-floating-price {
		display: table-cell;
		vertical-align: middle;
		width: 40%;
	}

	.mobile-floating-btn {
		display: table-cell;
		vertical-align: middle;
		width: 60%;
		text-align: right;
	}

	.mobile-floating-price .discount-tag {
		font-size: 8pt;
		color: #00875a;
		background-color: #e2f6ed;
		padding: 2px 4px;
		font-weight: bold;
		margin-right: 4px;
	}
	.mobile-floating-price .old-price {
		font-size: 9pt;
		color: #888888;
		text-decoration: line-through;
	}
	.mobile-floating-price .current-price {
		font-size: 16pt;
		color: #222222;
		font-weight: bold;
		display: block;
		margin-top: 2px;
	}

	.mobile-floating-btn .btn-pink {
		width: 100%;
		margin-top: 0;
		padding: 12px 0;
		border-radius: 25px;
		font-size: 11pt;
	}
}