/* =========================================================================
   VelarTrip — blocs Gutenberg natifs
   Thème léger : aucune dépendance à un constructeur de pages. Les pages se
   construisent avec les blocs WordPress d'origine.
   ========================================================================= */

/* -------------------------------------------------------------------------
   Largeurs et alignements
   ---------------------------------------------------------------------- */

.vt-entry__content > *,
.vt-home-blocks > * {
	max-width: var(--vt-content-narrow);
	margin-inline: auto;
}

.vt-home-blocks > * {
	max-width: var(--vt-content);
	padding-inline: var(--vt-edge);
	box-sizing: border-box;
}

.vt-entry__content > .alignwide,
.vt-home-blocks > .alignwide {
	max-width: var(--vt-content);
}

.vt-entry__content > .alignfull,
.vt-home-blocks > .alignfull {
	max-width: none;
	width: 100%;
	padding-inline: 0;
}

.alignleft {
	float: left;
	margin: 0.4em 1.6em 1em 0;
}

.alignright {
	float: right;
	margin: 0.4em 0 1em 1.6em;
}

.aligncenter {
	margin-inline: auto;
}

/* -------------------------------------------------------------------------
   Groupe et couverture
   ---------------------------------------------------------------------- */

.wp-block-group.has-background {
	border-radius: var(--vt-radius-lg);
	padding: 32px;
}

.wp-block-group.alignfull.has-background {
	border-radius: 0;
	padding-block: 56px;
}

.wp-block-group.alignfull > .wp-block-group__inner-container,
.wp-block-columns.alignfull {
	max-width: var(--vt-content);
	margin-inline: auto;
	padding-inline: var(--vt-edge);
	box-sizing: border-box;
}

.wp-block-cover {
	border-radius: var(--vt-radius-lg);
	overflow: hidden;
	min-height: 380px;
	padding: 48px 32px;
}

.wp-block-cover.alignfull {
	border-radius: 0;
}

.wp-block-cover__inner-container {
	max-width: var(--vt-content);
	margin-inline: auto;
	width: 100%;
}

.wp-block-cover .wp-block-cover__inner-container :is(h1, h2, h3, p) {
	color: inherit;
}

/* -------------------------------------------------------------------------
   Colonnes
   ---------------------------------------------------------------------- */

.wp-block-columns {
	gap: 28px;
}

@media (max-width: 781px) {
	.wp-block-columns {
		gap: 20px;
	}
}

/* -------------------------------------------------------------------------
   Images, galeries, média-texte
   ---------------------------------------------------------------------- */

.wp-block-image img,
.wp-block-post-featured-image img {
	border-radius: var(--vt-radius);
}

.wp-block-image.alignfull img,
.wp-block-cover img {
	border-radius: 0;
}

.wp-block-image figcaption,
figcaption {
	font-size: 12px;
	font-weight: 700;
	color: var(--vt-muted);
	text-align: center;
	margin-top: 10px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
	border-radius: 14px;
}

.wp-block-media-text {
	border-radius: var(--vt-radius-lg);
	overflow: hidden;
	background: var(--vt-card);
}

.wp-block-media-text.alignfull {
	border-radius: 0;
}

.wp-block-media-text__content {
	padding: 32px;
}

/* -------------------------------------------------------------------------
   Boutons
   ---------------------------------------------------------------------- */

.wp-block-buttons {
	gap: 12px;
}

.wp-block-button__link {
	font-family: var(--vt-font);
	font-size: 15px;
	font-weight: 800;
	padding: 16px 26px;
	border-radius: 14px;
	background: var(--vt-cta);
	color: #fff;
	text-decoration: none;
}

.wp-block-button__link:hover {
	background: var(--vt-cta-dark);
	color: #fff;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--vt-ink);
	border: 1.5px solid var(--vt-ink);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--vt-sand-deep);
	color: var(--vt-ink);
}

/* -------------------------------------------------------------------------
   Texte
   ---------------------------------------------------------------------- */

.wp-block-quote {
	margin: 1.6em 0;
	padding: 22px 26px;
	background: var(--vt-card);
	border-radius: var(--vt-radius-lg);
	border: 0;
}

.wp-block-quote p {
	font-family: var(--vt-display);
	font-size: var(--vt-text-lg);
	line-height: 1.4;
	margin: 0 0 0.4em;
}

.wp-block-quote cite {
	font-family: var(--vt-font);
	font-size: 12px;
	font-weight: 800;
	font-style: normal;
	color: var(--vt-muted);
}

.wp-block-pullquote {
	background: var(--vt-ink);
	color: var(--vt-sand);
	border: 0;
	border-radius: var(--vt-radius-lg);
	padding: 36px 32px;
}

.wp-block-pullquote p {
	font-family: var(--vt-display);
	font-size: 28px;
	line-height: 1.2;
}

.wp-block-separator {
	border: 0;
	height: 1px;
	background: var(--vt-line);
	max-width: 140px;
}

.wp-block-separator.is-style-wide {
	max-width: 100%;
}

.wp-block-table table {
	background: var(--vt-card);
	border-radius: var(--vt-radius);
	overflow: hidden;
}

.wp-block-table td,
.wp-block-table th {
	border-color: var(--vt-line);
}

.wp-block-code,
.wp-block-preformatted {
	background: var(--vt-ink);
	color: var(--vt-sand);
	border-radius: var(--vt-radius);
	padding: 20px;
	font-size: 13px;
	overflow-x: auto;
}

/* -------------------------------------------------------------------------
   Détails, listes
   ---------------------------------------------------------------------- */

.wp-block-details {
	background: var(--vt-card);
	border-radius: var(--vt-radius);
	padding: 18px 22px;
	margin-bottom: 12px;
}

.wp-block-details summary {
	font-weight: 800;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.wp-block-details summary::after {
	content: "+";
	font-size: 20px;
	color: var(--vt-cta);
	flex: 0 0 auto;
}

.wp-block-details[open] summary::after {
	content: "−";
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-list li {
	margin-bottom: 0.4em;
}

/* -------------------------------------------------------------------------
   Espacement vertical entre blocs
   ---------------------------------------------------------------------- */

.vt-home-blocks > * + * {
	margin-top: 56px;
}

.vt-entry__content > * + * {
	margin-top: 1.2em;
}

.vt-entry__content > .wp-block-group + *,
.vt-entry__content > .wp-block-cover + *,
.vt-entry__content > .wp-block-columns + * {
	margin-top: 2.4em;
}

.vt-home-blocks {
	width: 100%;
	margin: 56px 0 0;
}
