/*
Theme Name:  Backlinks Patrol
Theme URI:   https://backlinks-patrol.com
Description: Ultra-lightweight theme for Elementor Pro — zero bloat, pure skeleton.
Author:      Gregory
Version:     1.0.0
Text Domain: backlinks-patrol
Tags:        elementor, full-site, lightweight
*/

/* ============================================================
   DESIGN TOKENS — utilisables dans Elementor via var()
   ============================================================ */
:root {
  --bp-blue:         #1A56DB;
  --bp-blue-dark:    #1341B0;
  --bp-blue-light:   #EFF4FF;
  --bp-green:        #16A34A;
  --bp-green-light:  #F0FDF4;
  --bp-ink:          #111827;
  --bp-ink-2:        #374151;
  --bp-muted:        #6B7280;
  --bp-border:       #E5E7EB;
  --bp-surface:      #F8FAFC;
  --bp-white:        #FFFFFF;
  --bp-font-head:    'DM Sans', system-ui, sans-serif;
  --bp-font-body:    'Inter', system-ui, sans-serif;
  --bp-radius:       8px;
  --bp-radius-lg:    16px;
  --bp-shadow:       0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);
  --bp-shadow-blue:  0 8px 32px rgba(26,86,219,.18);
}

/* ============================================================
   RESET MINIMAL
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--bp-font-body);
  color: var(--bp-ink-2);
  background: var(--bp-white);
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: var(--bp-blue); text-decoration: none; }

/* ============================================================
   LAISSER ELEMENTOR GÉRER LE LAYOUT
   On retire tout margin/padding par défaut sur les wrappers
   ============================================================ */
.site-header,
.site-footer,
.site-main,
#page,
#content,
.wp-site-blocks { margin: 0; padding: 0; }

/* Elementor sections full-width */
.elementor-section.elementor-section-stretched { width: 100% !important; }

/* ============================================================
   UTILITAIRES GLOBAUX (classes réutilisables dans Elementor)
   ============================================================ */

/* Boutons */
.bp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: var(--bp-radius);
  font-family: var(--bp-font-head);
  font-weight: 600;
  font-size: .95rem;
  cursor: pointer;
  border: none;
  transition: all .22s cubic-bezier(.4,0,.2,1);
  white-space: nowrap;
  text-decoration: none;
}
.bp-btn--primary {
  background: var(--bp-blue);
  color: #fff !important;
  box-shadow: var(--bp-shadow-blue);
}
.bp-btn--primary:hover {
  background: var(--bp-blue-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(26,86,219,.28);
}
.bp-btn--ghost {
  background: transparent;
  color: var(--bp-blue) !important;
  border: 1.5px solid var(--bp-blue);
}
.bp-btn--ghost:hover { background: var(--bp-blue-light); }
.bp-btn--white {
  background: #fff;
  color: var(--bp-blue) !important;
}
.bp-btn--white:hover { background: var(--bp-blue-light); }
.bp-btn--lg { padding: 16px 34px; font-size: 1.05rem; border-radius: var(--bp-radius-lg); }

/* Badge section tag */
.bp-tag-pill {
  display: inline-block;
  background: var(--bp-blue-light);
  color: var(--bp-blue);
  border-radius: 100px;
  padding: 4px 14px;
  font-family: var(--bp-font-head);
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Status badges */
.bp-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 100px;
  font-size: .78rem;
  font-weight: 600;
  font-family: var(--bp-font-head);
}
.bp-status--ok   { background: var(--bp-green-light); color: var(--bp-green); }
.bp-status--warn { background: #FFF7ED; color: #C2410C; }
.bp-status--lost { background: #FFF1F2; color: #BE123C; }

/* Cards */
.bp-card {
  background: #fff;
  border: 1px solid var(--bp-border);
  border-radius: var(--bp-radius-lg);
  padding: 32px;
  transition: all .22s cubic-bezier(.4,0,.2,1);
}
.bp-card:hover {
  border-color: rgba(26,86,219,.25);
  box-shadow: var(--bp-shadow-blue);
  transform: translateY(-4px);
}
.bp-card__icon {
  width: 48px; height: 48px;
  background: var(--bp-blue-light);
  border-radius: var(--bp-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: var(--bp-blue);
}

/* Changelog tags */
.bp-tag-new    { display:inline-block;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--bp-green-light);color:var(--bp-green); }
.bp-tag-fix    { display:inline-block;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#FFF7ED;color:#C2410C; }
.bp-tag-update { display:inline-block;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--bp-blue-light);color:var(--bp-blue); }

/* Accordion FAQ */
.bp-accordion { border:1px solid var(--bp-border); border-radius:var(--bp-radius-lg); overflow:hidden; }
.bp-accordion__item { border-bottom:1px solid var(--bp-border); }
.bp-accordion__item:last-child { border-bottom:none; }
.bp-accordion__trigger {
  width:100%; background:none; border:none;
  padding:22px 28px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; cursor:pointer;
  text-align:left; font-family:var(--bp-font-head);
  font-size:1rem; font-weight:600; color:var(--bp-ink);
  transition:all .2s ease;
}
.bp-accordion__trigger:hover { background:var(--bp-surface); }
.bp-accordion__icon {
  width:22px; height:22px; border:1.5px solid var(--bp-border);
  border-radius:50%; display:flex; align-items:center;
  justify-content:center; flex-shrink:0; transition:all .2s ease;
  font-size:1rem; color:var(--bp-blue); line-height:1;
}
.bp-accordion__icon::before { content:'+'; }
.bp-accordion__item.open .bp-accordion__icon { background:var(--bp-blue); border-color:var(--bp-blue); transform:rotate(45deg); color:#fff; }
.bp-accordion__body { max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.4,0,.2,1); }
.bp-accordion__item.open .bp-accordion__body { max-height:400px; }
.bp-accordion__content { padding:0 28px 24px; color:var(--bp-muted); line-height:1.8; }

/* Footer link lists */
.bp-footer-links { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.bp-footer-links a { color:rgba(255,255,255,.55); font-size:.9rem; transition:color .2s; }
.bp-footer-links a:hover { color:#fff; }

/* Entrance animation */
.bp-fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .45s ease, transform .45s ease;
}
.bp-fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}
