/**
 * Touch Trainings - Stylesheet v2.0
 *
 * Sections :
 *   1. Variables — palette terre
 *   2. Header
 *   3. Cartes Leaflet
 *   4. Carte fiche listing
 *   5. Vendor view page
 *   6. Tableau de bord vendor
 *   7. Autocomplétion adresse
 *   8. Formulaires HivePress
 */

/* === 1. VARIABLES PALETTE TERRE === */
:root {
	--tt-cream:        #F5EFE6;
	--tt-cream-dark:   #E8DCC4;
	--tt-terracotta:   #B85C3D;
	--tt-brown:        #5C3A21;
	--tt-brown-soft:   #8A6849;
	--tt-c-workshops:  #B85C3D;
	--tt-c-schools:    #6B8E4E;
	--tt-c-congress:   #7B4A6E;
	--tt-c-shops:      #C19A2D;
	--tt-status-publish: #5A8A4A;
	--tt-status-draft:   #C49A2A;
	--tt-status-pending: #5687A6;
	--tt-bg:           #FFFFFF;
	--tt-bg-soft:      #FAF6EF;
	--tt-border:       #E0D5C4;
	--tt-text:         #3D2817;
	--tt-text-soft:    #6B5544;
	--tt-shadow-sm:    0 1px 3px rgba(92, 58, 33, 0.08);
	--tt-shadow-md:    0 2px 8px rgba(92, 58, 33, 0.12);
	--tt-shadow-lg:    0 4px 16px rgba(92, 58, 33, 0.18);
	--tt-radius:       8px;
	--tt-radius-sm:    6px;
	--tt-ease:         cubic-bezier(0.4, 0, 0.2, 1);
}

/* === 2. HEADER === */
.header-navbar__start { display: flex !important; align-items: center !important; gap: 15px; }
.header-logo { display: block !important; flex-shrink: 0; }
.header-logo img, .header-logo .custom-logo {
	display: block !important; visibility: visible !important; opacity: 1 !important;
	width: auto !important; max-height: 60px;
}
.site-branding-text {
	display: flex; flex-direction: column; line-height: 1.3; white-space: nowrap;
}
.site-branding-text .site-title {
	font-size: 20px; font-weight: 700; color: var(--tt-brown); letter-spacing: 0.5px;
}
.site-branding-text .site-tagline {
	font-size: 13px; color: var(--tt-text-soft); font-style: italic;
}

/* === 3. CARTE UNIFIÉE === */
.tt-unified-wrap { margin: 20px 0 40px; }
.tt-unified-wrap__title {
	font-size: 22px; font-weight: 600; margin-bottom: 15px; color: var(--tt-brown);
}
.tt-unified-map {
	height: 500px; border-radius: var(--tt-radius);
	overflow: hidden; box-shadow: var(--tt-shadow-md);
}
.tt-legend { padding: 15px 0; margin-top: 15px; }
.tt-legend__items { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.tt-legend__item {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 10px 16px; border-radius: var(--tt-radius); cursor: pointer;
	transition: all 0.3s var(--tt-ease);
	background: var(--tt-bg); border: 2px solid var(--tt-border);
	user-select: none; box-shadow: var(--tt-shadow-sm);
}
.tt-legend__item:hover { transform: translateY(-2px); box-shadow: var(--tt-shadow-md); }
.tt-legend__item.is-active { border-color: currentColor; box-shadow: var(--tt-shadow-lg); transform: scale(1.02); }
.tt-legend__item.is-inactive { opacity: 0.4; background: var(--tt-bg-soft); transform: scale(0.98); }
.tt-legend__item.is-inactive:hover { opacity: 0.7; }
.tt-legend__count {
	background: rgba(92, 58, 33, 0.08); padding: 4px 10px; border-radius: 12px;
	font-size: 13px; font-weight: 700; color: var(--tt-brown);
}
.tt-legend__marker { width: 22px; height: 30px; display: flex; align-items: center; justify-content: center; }
.tt-legend__label { font-weight: 500; font-size: 14px; color: var(--tt-text); }
.tt-legend__item.is-active .tt-legend__label { font-weight: 600; }

.tt-popup { min-width: 200px; }
.tt-popup h4 { margin: 0 0 8px 0 !important; font-size: 16px !important; font-weight: 600 !important; }
.tt-popup p { margin: 4px 0 !important; padding: 0 !important; font-size: 13px !important; color: var(--tt-text-soft); }
.tt-popup__btn {
	display: inline-block; margin-top: 8px; padding: 8px 14px;
	border-radius: var(--tt-radius-sm); color: #fff !important;
	text-decoration: none; font-weight: 600; font-size: 13px;
}

/* === 4. CARTE FICHE LISTING === */
.tt-single-map-block { margin: 30px 0; }
.tt-single-map-title { margin-bottom: 15px; color: var(--tt-brown); font-size: 20px; }
.tt-single-map { height: 320px; border-radius: var(--tt-radius); overflow: hidden; box-shadow: var(--tt-shadow-md); }
.tt-single-map-address { margin-top: 10px; color: var(--tt-text-soft); font-size: 14px; }

/* === 5. VENDOR VIEW PAGE === */
.hp-vendor__section {
	margin-bottom: 2rem; padding: 1.5rem;
	background: var(--tt-bg-soft); border-radius: var(--tt-radius);
	border: 1px solid var(--tt-border);
}
.hp-vendor__section h3 {
	margin: 0 0 1rem 0; color: var(--tt-brown); font-size: 1.4rem;
	display: flex; align-items: center; gap: 0.5rem;
}
.hp-vendor__section h3 i { color: var(--tt-terracotta); }
.hp-vendor__contact-item { margin: 0.8rem 0; line-height: 1.6; color: var(--tt-text); }
.hp-vendor__contact-item i { margin-right: 0.5rem; color: var(--tt-terracotta); width: 20px; display: inline-block; }
.hp-vendor__contact-item a { color: var(--tt-terracotta); text-decoration: none; }
.hp-vendor__contact-item a:hover { text-decoration: underline; }
.hp-vendor__map {
	border-radius: var(--tt-radius); overflow: hidden; box-shadow: var(--tt-shadow-md);
	height: 400px; width: 100%; margin-top: 15px;
}
.hp-vendor__events-grid {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 1rem;
}
@media (max-width: 768px) { .hp-vendor__events-grid { grid-template-columns: 1fr; } }
.hp-vendor__event-card {
	background: var(--tt-bg); border-radius: var(--tt-radius); overflow: hidden;
	box-shadow: var(--tt-shadow-sm);
	transition: transform 0.2s var(--tt-ease), box-shadow 0.2s var(--tt-ease);
}
.hp-vendor__event-card:hover { transform: translateY(-4px); box-shadow: var(--tt-shadow-lg); }
.hp-event-card__image img { width: 100%; height: 200px; object-fit: cover; display: block; }
.hp-event-card__content { padding: 1.2rem; }
.hp-event-card__title { margin: 0 0 0.8rem 0; font-size: 1.1rem; line-height: 1.3; }
.hp-event-card__title a { color: var(--tt-brown); text-decoration: none; transition: color 0.15s; }
.hp-event-card__title a:hover { color: var(--tt-terracotta); }
.hp-event-card__dates, .hp-event-card__location { font-size: 0.9rem; color: var(--tt-text-soft); margin: 0.4rem 0; }
.hp-event-card__dates i, .hp-event-card__location i { color: var(--tt-terracotta); margin-right: 0.4rem; width: 16px; display: inline-block; }
.hp-event-card__excerpt { font-size: 0.9rem; color: var(--tt-text-soft); margin: 0.8rem 0; line-height: 1.5; }
.hp-event-card__button {
	display: inline-block; margin-top: 0.8rem; padding: 0.6rem 1.2rem;
	background: var(--tt-terracotta); color: #fff; text-decoration: none;
	border-radius: var(--tt-radius-sm); font-size: 0.9rem; font-weight: 500;
	transition: background 0.2s var(--tt-ease);
}
.hp-event-card__button:hover { background: var(--tt-brown); color: #fff; }
.hp-vendor__image { margin-bottom: 1.5rem; border-radius: var(--tt-radius); overflow: hidden; box-shadow: var(--tt-shadow-md); }
.hp-vendor__image img { width: 100%; height: auto; display: block; }

/* === 6. TABLEAU DE BORD VENDOR === */
.tt-vendor-dash-wrap { margin: 30px 0 20px; }
.tt-vendor-dash-wrap h3 { font-size: 16px; font-weight: 600; margin-bottom: 12px; color: var(--tt-brown); }
.tt-vendor-dash-map { height: 300px; border-radius: var(--tt-radius); overflow: hidden; border: 1px solid var(--tt-border); }
.tt-vendor-popup h4 { margin: 0 0 6px; font-size: 14px; font-weight: 600; }
.tt-vendor-popup p { margin: 3px 0; font-size: 12px; color: var(--tt-text-soft); }
.tt-vendor-popup .status-publish { color: var(--tt-status-publish); }
.tt-vendor-popup .status-draft   { color: var(--tt-status-draft); }
.tt-vendor-popup .status-pending { color: var(--tt-status-pending); }

/* === 7. AUTOCOMPLÉTION === */
.tt-geo-input { position: relative; }
.tt-geo-suggest {
	position: absolute; top: 100%; left: 0; right: 0;
	background: var(--tt-bg); border: 1px solid var(--tt-border);
	border-radius: var(--tt-radius-sm); max-height: 250px; overflow-y: auto;
	z-index: 9999; box-shadow: var(--tt-shadow-md);
	list-style: none; padding: 0; margin: 4px 0 0 0;
}
.tt-geo-suggest li {
	padding: 10px 14px; cursor: pointer;
	border-bottom: 1px solid var(--tt-border);
	font-size: 14px; color: var(--tt-text);
}
.tt-geo-suggest li:last-child { border-bottom: none; }
.tt-geo-suggest li:hover { background: var(--tt-bg-soft); }
.tt-geo-mini-map { width: 100%; height: 280px; margin-top: 12px; border-radius: var(--tt-radius); border: 1px solid var(--tt-border); }
.tt-geo-clear {
	margin-top: 10px; padding: 8px 14px; background: var(--tt-brown-soft);
	color: #fff; border: none; border-radius: var(--tt-radius-sm);
	cursor: pointer; font-size: 13px; transition: background 0.15s;
}
.tt-geo-clear:hover { background: var(--tt-brown); }

/* === 8. FORMULAIRES HIVEPRESS === */
.hp-field--attachment-upload .hp-field__button--delete {
	display: flex !important;
	background-color: var(--tt-terracotta); color: #fff;
	border-radius: var(--tt-radius-sm);
}
.hp-field--attachment-upload .hp-field__button--delete:hover { background-color: var(--tt-brown); }
