/*
Theme Name: ALCA
Theme URI: https://alca972.fr
Author: ALCA — Association des Locataires de Canal Alaric
Description: Thème WordPress sur mesure pour l'association ALCA Reproduit fidèlement la charte graphique du site statique : palette créole (lagon, soleil, madras, canne), typo Sora + Bricolage Grotesque, layouts split, cartes services, annonces, blog avec catégories. Inclut un Custom Post Type « Annonces » avec taxonomie Don/Prêt/Échange/Service.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alca
Tags: association, blog, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* Le CSS du site est chargé séparément via wp_enqueue_style → assets/css/style.css */

/* ===== Styles spécifiques WordPress ===== */

/* Admin bar offset */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

/* Alignements Gutenberg */
.alignleft  { float: left;  margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignwide  { max-width: 1100px; margin-left: auto; margin-right: auto; }
.alignfull  { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

/* Caption */
.wp-caption, figure.wp-caption { max-width: 100%; }
.wp-caption-text, figcaption { font-size: .85rem; color: var(--c-encre-soft); margin-top: .4rem; text-align: center; }

/* Sticky post */
.sticky .post-card { border-left: 4px solid var(--c-soleil); }

/* Pagination */
.pagination { display: flex; gap: .4rem; justify-content: center; margin: 2rem 0; flex-wrap: wrap; }
.pagination .page-numbers {
  padding: .5rem .9rem; border-radius: var(--r-md);
  background: white; border: 1px solid var(--c-gris); color: var(--c-encre);
  font-weight: 500; text-decoration: none;
}
.pagination .page-numbers.current { background: var(--c-encre); color: white; border-color: var(--c-encre); }
.pagination .page-numbers:hover:not(.current) { background: var(--c-gris); }

/* Liste articles blog */
.posts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
.post-card {
  background: white; border-radius: var(--r-lg);
  border: 1px solid var(--c-gris);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .2s;
}
.post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.post-card .post-thumb { aspect-ratio: 16/9; overflow: hidden; background: linear-gradient(135deg, var(--c-lagon), var(--c-canne)); }
.post-card .post-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-card .post-body { padding: 1.4rem 1.5rem; flex: 1; display: flex; flex-direction: column; gap: .6rem; }
.post-card .post-cats { display: flex; gap: .3rem; flex-wrap: wrap; }
.post-card .post-cats a {
  font-size: .72rem; padding: .2rem .55rem; border-radius: 999px;
  background: var(--c-lagon); color: white; text-transform: uppercase;
  letter-spacing: .04em; font-weight: 600; text-decoration: none;
}
.post-card h3 { font-family: var(--ff-sans); font-size: 1.15rem; line-height: 1.3; margin: 0; }
.post-card h3 a { color: var(--c-encre); text-decoration: none; }
.post-card h3 a:hover { color: var(--c-lagon-dark); }
.post-card .post-excerpt { font-size: .92rem; color: var(--c-encre-soft); flex: 1; }
.post-card .post-meta { font-size: .8rem; color: var(--c-encre-soft); display: flex; gap: .8rem; margin-top: auto; padding-top: .6rem; border-top: 1px solid var(--c-gris); }

/* Article unique */
.post-single { max-width: 760px; margin: 0 auto; }
.post-single .post-thumb { margin: 0 0 2rem; border-radius: var(--r-xl); overflow: hidden; aspect-ratio: 16/9; }
.post-single .post-thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-single .post-meta-top {
  display: flex; gap: .8rem; flex-wrap: wrap; align-items: center;
  font-size: .9rem; color: var(--c-encre-soft); margin-bottom: 1rem;
}
.post-single .post-meta-top .post-cats a {
  font-size: .72rem; padding: .25rem .65rem; border-radius: 999px;
  background: var(--c-lagon); color: white; text-transform: uppercase;
  letter-spacing: .04em; font-weight: 600; text-decoration: none;
}
.post-content { font-size: 1.02rem; line-height: 1.7; }
.post-content h2 { margin: 2.2rem 0 .8rem; }
.post-content h3 { margin: 1.6rem 0 .6rem; }
.post-content p, .post-content ul, .post-content ol { margin-bottom: 1rem; }
.post-content blockquote {
  border-left: 4px solid var(--c-lagon);
  background: rgba(0,166,160,.06);
  margin: 1.5rem 0; padding: 1rem 1.4rem;
  font-style: italic; color: var(--c-encre);
  border-radius: 0 var(--r-md) var(--r-md) 0;
}
.post-content img, .post-content figure { max-width: 100%; height: auto; border-radius: var(--r-md); }

/* Filtres catégories blog */
.blog-filters { display: flex; gap: .5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.blog-filters a {
  padding: .5rem 1rem; border-radius: 999px;
  background: white; border: 1px solid var(--c-gris); color: var(--c-encre);
  text-decoration: none; font-size: .9rem; font-weight: 500;
}
.blog-filters a.current,
.blog-filters a:hover { background: var(--c-encre); color: white; border-color: var(--c-encre); }

/* Annonce single (CPT) */
.annonce-single { max-width: 720px; margin: 0 auto; }
.annonce-single .annonce-icon-big {
  font-size: 5rem; text-align: center; padding: 2rem;
  background: linear-gradient(135deg, var(--c-soleil), var(--c-madras));
  border-radius: var(--r-xl); margin-bottom: 1.5rem;
  color: white;
}

/* Compatibilité éditeur Gutenberg */
.entry-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: 1100px; }
.entry-content > .alignfull { max-width: none; }

/* ===== The Events Calendar : centrer dans un container ===== */
/* Le plugin sort son contenu sans wrapper centré — on l'enveloppe nous-mêmes */
.wp-block-tribe-events-list,
.tribe-events,
.tribe-events-view,
.tribe-common,
.tribe-block,
.tribe-events-pro {
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 3vw, 2rem) !important;
	padding-right: clamp(1rem, 3vw, 2rem) !important;
	box-sizing: border-box;
}

/* Marge verticale propre autour du bloc événements */
.wp-block-tribe-events-list,
.tribe-events {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

/* Petits ajustements typographiques pour s'aligner avec la charte ALCA */
.tribe-events .tribe-events-calendar-list__event-title-link,
.tribe-events .tribe-events-calendar-list__event-title {
	color: var(--c-encre);
	font-family: var(--ff-sans, inherit);
}
.tribe-events .tribe-events-calendar-list__event-title-link:hover {
	color: var(--c-lagon-dark);
}
