/* Produits de Région – Global CSS 2.0 */

/* ── Variables ──────────────────────────────────────────── */
:root {
  --pdr-terracotta:     #C1440E;
  --pdr-terracotta-dark:#9A3509;
  --pdr-green:          #3A6B35;
  --pdr-green-dark:     #2A5026;
  --pdr-gold:           #C8930A;
  --pdr-cream:          #FEFCF8;
  --pdr-surface:        #F5F0E8;
  --pdr-border:         #E8E0D0;
  --pdr-text:           #1E1E1E;
  --pdr-text-muted:     #6B6453;
  --pdr-shadow-sm:      0 1px 3px rgba(0,0,0,.08);
  --pdr-shadow-md:      0 4px 16px rgba(0,0,0,.10);
  --pdr-radius:         8px;
  --pdr-radius-lg:      16px;
  --pdr-transition:     200ms ease;
  --pdr-font-serif:     'Playfair Display', Georgia, serif;
  --pdr-font-sans:      'Lato', system-ui, sans-serif;
  --pdr-max-width:      1200px;
}

/* ── Reset ──────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; font-family:var(--pdr-font-sans); font-size:1rem;
       line-height:1.75; color:var(--pdr-text); background:var(--pdr-cream);
       -webkit-font-smoothing:antialiased; }
img,video { max-width:100%; height:auto; display:block; }
a { color:var(--pdr-terracotta); text-decoration:none;
    transition:color var(--pdr-transition); }
a:hover { color:var(--pdr-terracotta-dark); }
a:focus-visible { outline:3px solid var(--pdr-gold); outline-offset:2px; border-radius:2px; }

/* ── Typography ─────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6 {
  font-family:var(--pdr-font-serif); font-weight:700; line-height:1.25; margin-top:0;
}
h1 { font-size:clamp(1.875rem,4vw,2.75rem); }
h2 { font-size:clamp(1.5rem,3vw,2.1rem); }
h3 { font-size:clamp(1.25rem,2.5vw,1.6rem); }
p  { margin-top:0; margin-bottom:1.25rem; }

blockquote {
  margin:2rem 0; padding:1.25rem 1.75rem;
  border-left:4px solid var(--pdr-terracotta);
  background:var(--pdr-surface);
  border-radius:0 var(--pdr-radius) var(--pdr-radius) 0;
  font-style:italic; font-family:var(--pdr-font-serif); font-size:1.1rem;
}

/* ── Skip Link ──────────────────────────────────────────── */
.skip-link { position:absolute; top:-40px; left:1rem; background:var(--pdr-terracotta);
             color:#fff; padding:.5rem 1rem; border-radius:0 0 var(--pdr-radius) var(--pdr-radius);
             font-weight:700; z-index:1000; transition:top .2s; }
.skip-link:focus { top:0; color:#fff; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0;
  margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ── Header ─────────────────────────────────────────────── */
.site-header {
  background:#fff; border-bottom:1px solid var(--pdr-border);
  position:sticky; top:0; z-index:100;
  box-shadow:var(--pdr-shadow-sm);
}
.site-header__inner {
  max-width:var(--pdr-max-width); margin:0 auto; padding:0 1.5rem;
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; min-height:72px;
}
.site-branding { display:flex; align-items:center; gap:.75rem; text-decoration:none; }
.site-branding__icon {
  width:44px; height:44px; background:var(--pdr-terracotta); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.5rem; flex-shrink:0;
}
.site-branding__name {
  font-family:var(--pdr-font-serif); font-weight:700; font-size:1.2rem;
  color:var(--pdr-terracotta); display:block; line-height:1.2;
}
.site-branding__tagline {
  font-size:.7rem; color:var(--pdr-text-muted); text-transform:uppercase;
  letter-spacing:.06em; display:block;
}
.primary-nav { display:flex; align-items:center; gap:.25rem; list-style:none; margin:0; padding:0; }
.primary-nav a {
  display:block; padding:.5rem .875rem; font-size:.9rem; font-weight:600;
  color:var(--pdr-text); border-radius:var(--pdr-radius);
  transition:background var(--pdr-transition),color var(--pdr-transition);
}
.primary-nav a:hover,.primary-nav .current-menu-item>a {
  background:var(--pdr-surface); color:var(--pdr-terracotta);
}
.menu-toggle { display:none; background:none; border:none; cursor:pointer;
               padding:.5rem; color:var(--pdr-text); }
.menu-toggle span { display:block; width:24px; height:2px; background:currentColor;
                    margin:5px 0; transition:transform var(--pdr-transition); }
.header-social { display:flex; gap:.5rem; }
.header-social a {
  width:34px; height:34px; border-radius:50%; background:var(--pdr-surface);
  display:flex; align-items:center; justify-content:center;
  color:var(--pdr-text-muted); font-size:.85rem;
  transition:background var(--pdr-transition),color var(--pdr-transition);
}
.header-social a:hover { background:var(--pdr-terracotta); color:#fff; }

/* ── Layout ──────────────────────────────────────────────── */
.site-wrapper { max-width:var(--pdr-max-width); margin:0 auto; padding:0 1.5rem; }
.content-sidebar-grid {
  display:grid; grid-template-columns:1fr 300px;
  gap:3rem; align-items:start; padding:2.5rem 0;
}
@media(max-width:900px){
  .content-sidebar-grid { grid-template-columns:1fr; gap:2rem; }
}

/* ── Hero ────────────────────────────────────────────────── */
.hero-section {
  background:linear-gradient(135deg,var(--pdr-green),var(--pdr-green-dark));
  color:#fff; padding:4rem 1.5rem; text-align:center; position:relative; overflow:hidden;
}
.hero-section::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='20' fill='%23fff' fill-opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none;
}
.hero-section__inner { position:relative; max-width:700px; margin:0 auto; }
.hero-section h1 { color:#fff; font-size:clamp(2rem,5vw,3.5rem); margin-bottom:1rem; }
.hero-section p { font-size:1.125rem; opacity:.9; margin-bottom:2rem; }
.hero-badge {
  display:inline-block; background:var(--pdr-gold); color:#fff;
  font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  padding:.35rem .875rem; border-radius:100px; margin-bottom:1.25rem;
}

/* ── Cards ───────────────────────────────────────────────── */
.card {
  background:#fff; border-radius:var(--pdr-radius-lg); overflow:hidden;
  box-shadow:var(--pdr-shadow-sm); border:1px solid var(--pdr-border);
  transition:box-shadow var(--pdr-transition),transform var(--pdr-transition);
  display:flex; flex-direction:column;
}
.card:hover { box-shadow:var(--pdr-shadow-md); transform:translateY(-3px); }
.card__image { aspect-ratio:16/9; overflow:hidden; }
.card__image img { width:100%; height:100%; object-fit:cover;
                   transition:transform 400ms ease; }
.card:hover .card__image img { transform:scale(1.04); }
.card__body { padding:1.25rem 1.5rem 1.5rem; flex:1; display:flex; flex-direction:column; }
.card__category {
  display:inline-block; font-size:.72rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--pdr-terracotta); margin-bottom:.5rem;
}
.card__title { font-family:var(--pdr-font-serif); font-size:1.1rem; font-weight:700;
               color:var(--pdr-text); margin-bottom:.625rem; line-height:1.3; }
.card__title a { color:inherit; }
.card__title a:hover { color:var(--pdr-terracotta); }
.card__excerpt { font-size:.875rem; color:var(--pdr-text-muted); flex:1;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.card__meta {
  display:flex; align-items:center; gap:1rem; margin-top:1rem;
  padding-top:1rem; border-top:1px solid var(--pdr-border);
  font-size:.78rem; color:var(--pdr-text-muted);
}
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem; }

/* ── Section Header ──────────────────────────────────────── */
.section-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.75rem; }
.section-header__line { flex:1; height:1px; background:var(--pdr-border); }
.section-header__title {
  font-family:var(--pdr-font-serif); font-size:1.4rem; font-weight:700;
  color:var(--pdr-text); white-space:nowrap;
}
.section-header__title::before {
  content:''; display:inline-block; width:4px; height:1em;
  background:var(--pdr-terracotta); border-radius:2px;
  vertical-align:middle; margin-right:.5rem;
}

/* ── Breadcrumbs ─────────────────────────────────────────── */
.breadcrumbs {
  font-size:.82rem; color:var(--pdr-text-muted); padding:.875rem 0;
  display:flex; flex-wrap:wrap; gap:.25rem; align-items:center;
}
.breadcrumbs a { color:var(--pdr-text-muted); }
.breadcrumbs a:hover { color:var(--pdr-terracotta); }
.breadcrumbs__sep { color:var(--pdr-border); margin:0 .125rem; }
.breadcrumbs__current { color:var(--pdr-text); font-weight:500; }

/* ── Single Post ─────────────────────────────────────────── */
.post-header { padding:2.5rem 0 1.5rem; }
.post-header__category {
  display:inline-flex; align-items:center; gap:.375rem;
  font-size:.8rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--pdr-terracotta); margin-bottom:1rem;
}
.post-header__title { font-size:clamp(1.75rem,4vw,2.75rem); margin-bottom:1.25rem; }
.post-meta { display:flex; flex-wrap:wrap; gap:1.25rem; font-size:.875rem;
             color:var(--pdr-text-muted); align-items:center; margin-bottom:1.5rem; }
.post-featured-image { margin-bottom:2rem; border-radius:var(--pdr-radius-lg);
                       overflow:hidden; aspect-ratio:16/7; }
.post-featured-image img { width:100%; height:100%; object-fit:cover; }
.post-content { font-size:1.0625rem; line-height:1.8; }
.post-content h2 { margin-top:2.5rem; padding-bottom:.5rem;
                   border-bottom:2px solid var(--pdr-surface); }
.post-content h3 { margin-top:2rem; }
.post-content ul,.post-content ol { padding-left:1.5rem; margin-bottom:1.25rem; }
.post-content li { margin-bottom:.375rem; }
.post-content img { border-radius:var(--pdr-radius); margin:1.5rem 0; }

/* ── Author Box ──────────────────────────────────────────── */
.author-box {
  background:var(--pdr-surface); border-radius:var(--pdr-radius-lg);
  padding:1.75rem 2rem; display:flex; gap:1.5rem; align-items:flex-start;
  margin-top:3rem; border:1px solid var(--pdr-border);
}
.author-box__avatar { width:80px; height:80px; border-radius:50%; overflow:hidden;
  flex-shrink:0; border:3px solid #fff; box-shadow:var(--pdr-shadow-sm); }
.author-box__avatar img { width:100%; height:100%; object-fit:cover; }
.author-box__label { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em;
                     color:var(--pdr-text-muted); margin:0 0 .25rem; }
.author-box__name { font-family:var(--pdr-font-serif); font-size:1.1rem; font-weight:700;
                    margin:0 0 .5rem; }
.author-box__bio { font-size:.9rem; color:var(--pdr-text-muted); line-height:1.65; margin:0; }

/* ── Sidebar ─────────────────────────────────────────────── */
.sidebar { position:sticky; top:88px; }
.sidebar-widget { background:#fff; border:1px solid var(--pdr-border);
  border-radius:var(--pdr-radius-lg); padding:1.5rem; margin-bottom:1.75rem; }
.sidebar-widget__title {
  font-family:var(--pdr-font-serif); font-size:1rem; font-weight:700;
  color:var(--pdr-text); margin:0 0 1rem; padding-bottom:.75rem;
  border-bottom:2px solid var(--pdr-surface); display:flex; align-items:center; gap:.5rem;
}
.sidebar-widget__title::before {
  content:''; width:3px; height:1em; background:var(--pdr-terracotta);
  border-radius:2px; flex-shrink:0;
}
.sidebar-nav { list-style:none; margin:0; padding:0; }
.sidebar-nav li { border-bottom:1px solid var(--pdr-surface); }
.sidebar-nav li:last-child { border-bottom:none; }
.sidebar-nav a {
  display:flex; align-items:center; justify-content:space-between;
  padding:.625rem 0; font-size:.875rem; color:var(--pdr-text);
  transition:color var(--pdr-transition),padding-left var(--pdr-transition);
}
.sidebar-nav a:hover { color:var(--pdr-terracotta); padding-left:.375rem; }

/* ── Pagination ──────────────────────────────────────────── */
.pagination { display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; padding:2.5rem 0; }
.pagination a,.pagination span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 .75rem; border-radius:var(--pdr-radius);
  font-size:.9rem; font-weight:600; border:1px solid var(--pdr-border);
  background:#fff; color:var(--pdr-text); transition:all var(--pdr-transition);
}
.pagination a:hover { background:var(--pdr-terracotta); border-color:var(--pdr-terracotta); color:#fff; }
.pagination .current { background:var(--pdr-terracotta); border-color:var(--pdr-terracotta); color:#fff; }

/* ── Archive Header ──────────────────────────────────────── */
.archive-header { background:linear-gradient(to right,var(--pdr-surface),#fff);
  border-bottom:1px solid var(--pdr-border); padding:2.5rem 0; }
.archive-header__eyebrow { font-size:.78rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--pdr-terracotta); margin-bottom:.5rem; }
.archive-header__title { font-size:clamp(1.5rem,3vw,2.25rem); margin-bottom:.375rem; }
.archive-header__count { font-size:.875rem; color:var(--pdr-text-muted); }

/* ── Search ──────────────────────────────────────────────── */
.search-form { display:flex; max-width:560px; }
.search-form input[type="search"] {
  flex:1; padding:.75rem 1.125rem; border:2px solid var(--pdr-border);
  border-right:none; border-radius:var(--pdr-radius) 0 0 var(--pdr-radius);
  font-size:1rem; font-family:var(--pdr-font-sans); background:#fff;
  outline:none; transition:border-color var(--pdr-transition);
}
.search-form input[type="search"]:focus { border-color:var(--pdr-terracotta); }
.search-form button {
  padding:.75rem 1.25rem; background:var(--pdr-terracotta); color:#fff;
  border:none; border-radius:0 var(--pdr-radius) var(--pdr-radius) 0;
  cursor:pointer; font-size:1rem; transition:background var(--pdr-transition);
}
.search-form button:hover { background:var(--pdr-terracotta-dark); }

/* ── Footer ──────────────────────────────────────────────── */
.site-footer { background:#1A1612; color:#C8BFB0; padding:3.5rem 1.5rem 2rem; margin-top:4rem; }
.site-footer__inner { max-width:var(--pdr-max-width); margin:0 auto; }
.site-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
.footer-brand__name { font-family:var(--pdr-font-serif); font-size:1.4rem; color:#fff; margin-bottom:.5rem; }
.footer-brand__desc { font-size:.875rem; line-height:1.7; margin-bottom:1.25rem; color:#A09588; }
.footer-social { display:flex; gap:.625rem; }
.footer-social a {
  width:36px; height:36px; border-radius:var(--pdr-radius);
  background:rgba(255,255,255,.08); display:flex; align-items:center;
  justify-content:center; color:#C8BFB0; font-size:.85rem;
  transition:background var(--pdr-transition),color var(--pdr-transition);
}
.footer-social a:hover { background:var(--pdr-terracotta); color:#fff; }
.footer-col__title { font-size:.8rem; font-weight:700; text-transform:uppercase;
                     letter-spacing:.1em; color:#fff; margin-bottom:1.25rem; }
.footer-nav { list-style:none; margin:0; padding:0; }
.footer-nav a { color:#A09588; font-size:.875rem; display:block; padding:.3rem 0;
  transition:color var(--pdr-transition),padding-left var(--pdr-transition); }
.footer-nav a:hover { color:#C8930A; padding-left:.375rem; }
.site-footer__bottom {
  border-top:1px solid rgba(255,255,255,.08); padding-top:1.5rem;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem; font-size:.8rem; color:#6B6050;
}
.site-footer__bottom a { color:#8A7D70; }
.site-footer__bottom a:hover { color:#C8930A; }

/* ── Related posts ───────────────────────────────────────── */
.related-posts { margin-top:3rem; padding-top:2.5rem; border-top:1px solid var(--pdr-border); }
.related-posts__title { font-family:var(--pdr-font-serif); font-size:1.4rem; margin-bottom:1.5rem; }

/* ── 404 / No results ────────────────────────────────────── */
.error-page { text-align:center; padding:5rem 1.5rem; }
.error-page__emoji { font-size:5rem; margin-bottom:1.5rem; display:block; }

/* ── Comments ────────────────────────────────────────────── */
.comments-area { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--pdr-border); }
.comments-title { font-size:1.4rem; margin-bottom:1.75rem; }
.comment-body { background:#fff; border:1px solid var(--pdr-border);
                border-radius:var(--pdr-radius-lg); padding:1.25rem 1.5rem; margin-bottom:1.25rem; }
.comment-form input,.comment-form textarea {
  width:100%; padding:.75rem 1rem; border:1px solid var(--pdr-border);
  border-radius:var(--pdr-radius); font-family:var(--pdr-font-sans);
  font-size:.9375rem; background:#fff; transition:border-color var(--pdr-transition);
}
.comment-form input:focus,.comment-form textarea:focus {
  outline:none; border-color:var(--pdr-terracotta);
}
.comment-form textarea { min-height:150px; resize:vertical; }
.comment-form label { display:block; font-size:.875rem; font-weight:600;
                      margin-bottom:.375rem; }
.comment-form .submit {
  background:var(--pdr-terracotta); color:#fff; border:none;
  padding:.875rem 2rem; border-radius:var(--pdr-radius); font-size:1rem;
  font-weight:700; cursor:pointer; transition:background var(--pdr-transition);
}
.comment-form .submit:hover { background:var(--pdr-terracotta-dark); }

/* ── Responsive ──────────────────────────────────────────── */
@media(max-width:768px){
  .site-header__inner { flex-wrap:wrap; padding:.75rem 1rem; min-height:60px; }
  .primary-nav { display:none; flex-direction:column; width:100%;
    background:#fff; padding:1rem 0; border-top:1px solid var(--pdr-border); }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { padding:.6rem 1rem; }
  .menu-toggle { display:block; }
  .header-social { display:none; }
  .author-box { flex-direction:column; }
  .site-footer__grid { grid-template-columns:1fr; gap:2rem; }
}
@media(max-width:480px){
  .cards-grid { grid-template-columns:1fr; }
}
@media print{
  .site-header,.site-footer,.sidebar { display:none; }
  .content-sidebar-grid { grid-template-columns:1fr; }
}
