/* =========================================================================
   Section « Nos hébergements » — thème enfant Divi (plandeaudevieure)
   Reproduit le design d'accueil (onglets + carrousel de fiches), en autonome.
   Charte : vert #146A60 · vert clair #CBE8E2 · orange #FEA82F · carte gris .05
   ========================================================================= */

.pdvheb { --pdvheb-gap: 15px; }

/* ---------- Onglets ---------- */
.pdvheb-tabs {
	display: flex;
	margin: 0 0 22px;
}
.pdvheb-tab {
	border: 0;
	border-bottom: 4px solid transparent;
	box-sizing: border-box;
	background: #CBE8E2;
	color: rgba(20, 106, 96, .8);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	padding: 13px 24px;
	cursor: pointer;
	transition: color .25s ease, border-color .25s ease;
}
.pdvheb-tab:first-child { border-radius: 15px 0 0 15px; }
.pdvheb-tab:last-child  { border-radius: 0 15px 15px 0; }
.pdvheb-tab.is-active {
	color: #146A60;
	border-bottom-color: #146A60;
}

/* ---------- Carrousel ---------- */
.pdvheb-carousel {
	position: relative;
	padding: 0 34px;
}
.pdvheb-viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.pdvheb-viewport::-webkit-scrollbar { display: none; }
.pdvheb-track {
	display: flex;
	gap: var(--pdvheb-gap);
	align-items: stretch;
}
.pdvheb-card {
	scroll-snap-align: start;
	flex: 0 0 calc((100% - 2 * var(--pdvheb-gap)) / 3);
	display: flex;
	flex-direction: column;
	background: rgba(45, 42, 50, .05);
	border-radius: 15px;
	overflow: hidden;
	position: relative;
}

/* Carte finale « Découvrez aussi nos … » */
.pdvheb-card--cta {
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 16px;
	padding: 30px;
	border: 0;
	font-family: inherit;
	color: #146A60;
	cursor: pointer;
	transition: background .25s ease;
}
.pdvheb-card--cta:hover,
.pdvheb-card--cta:focus-visible { background: #CBE8E2; }
.pdvheb-cta-text { font-size: 20px; font-weight: 700; line-height: 1.35; }
.pdvheb-cta-arrow {
	font-size: 26px;
	line-height: 1;
	width: 46px;
	height: 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: #146A60;
}

/* Média + badge prix */
.pdvheb-media {
	position: relative;
	aspect-ratio: 600 / 365;
	overflow: hidden;
}
.pdvheb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pdvheb-img--empty {
	background: linear-gradient(135deg, #146A60, #0e4f47);
}
.pdvheb-price {
	position: absolute;
	top: 40px;
	left: 0;
	z-index: 10;
	background: #ededed;
	border-radius: 0 15px 15px 0;
	padding: 14px 18px 14px 15px;
	color: #146A60;
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}
.pdvheb-price-label { font-size: 18px; font-weight: 700; }
.pdvheb-price-amount { color: #e94e1b; font-size: 24px; font-weight: 700; }

/* Corps */
.pdvheb-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 14px 16px 16px;
}
.pdvheb-title-line {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}
.pdvheb-name {
	color: #146A60;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}
.pdvheb-stars {
	color: #FEA82F;
	font-size: 13px;
	letter-spacing: 1px;
	white-space: nowrap;
}
.pdvheb-pictos {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}
.pdvheb-picto {
	height: 20px;
	width: auto;
	display: block;
}
.pdvheb-desc {
	color: #146A60;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
}
.pdvheb-desc > *:first-child { margin-top: 0; }
.pdvheb-desc > *:last-child { margin-bottom: 0; }
.pdvheb-actions {
	margin-top: auto;
	padding-top: 16px;
	text-align: right;
}
.pdvheb-btn {
	display: inline-block;
	background: #e94e1b;
	color: #ffffff;
	border-radius: 15px;
	padding: 15px 40px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: filter .2s ease;
}
.pdvheb-btn:hover { filter: brightness(.96); }

/* Flèches */
.pdvheb-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 30px;
	height: 60px;
	border: 0;
	background: transparent;
	color: #9a9a9a;
	font-size: 40px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color .2s ease;
}
.pdvheb-arrow:hover { color: #146A60; }
.pdvheb-prev { left: 0; }
.pdvheb-next { right: 0; }
.pdvheb-arrow[disabled] { opacity: .3; cursor: default; }

/* Pas de défilement nécessaire : on masque les flèches */
.pdvheb-carousel.pdvheb-no-nav .pdvheb-arrow { display: none; }
.pdvheb-carousel.pdvheb-no-nav { padding: 0; }

/* ---------- Responsive : 1 fiche visible ---------- */
@media (max-width: 980px) {
	.pdvheb-card { flex-basis: 100%; }
	.pdvheb-carousel { padding: 0 28px; }
}
