/* ============================================
   free-pet-tools.css
   Styles pour la page Free Pet Tools
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#3a3a3a;
  --ink-mid:#5a5a5a;
  --ink-light:#9a9a9a;
  --cream:#f5f5f5;
  --warm:#fafafa;
  --primary:#ff5f42;
  --primary-dark:#e04830;
  --primary-light:#fff3f0;
  --teal:#2a7d6e;
  --teal-dark:#1e5f52;
  --teal-light:#e4f4f1;
  --rose:#c94f6b;
  --rose-dark:#a33c56;
  --rose-light:#fde4eb;
  --violet:#5b4fcf;
  --violet-dark:#4639b0;
  --violet-light:#ede8fd;
  --border:rgba(58,58,58,0.09);
  --shadow:0 2px 20px rgba(58,58,58,0.07);
}

html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:'DM Sans',-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
}

/* ─── HERO ─── */
.hero{
  padding:72px 20px 64px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 20% 0%,rgba(255,95,66,0.07) 0%,transparent 60%),
    radial-gradient(ellipse 60% 40% at 80% 100%,rgba(42,125,110,0.06) 0%,transparent 60%);
  pointer-events:none;
}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--primary-light);
  color:var(--primary-dark);
  font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  padding:6px 16px;border-radius:99px;
  margin-bottom:24px;
  border:1px solid rgba(255,95,66,0.2);
}

.hero h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(34px,5.5vw,64px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-1.5px;
  margin-bottom:20px;
  color:var(--ink);
}
.hero h1 em{color:var(--primary);font-style:italic}

.hero-desc{
  font-size:clamp(15px,2vw,18px);
  color:var(--ink-mid);
  max-width:580px;
  margin:0 auto 48px;
  line-height:1.7;
}

/* stats row */
.hero-stats{
  display:flex;justify-content:center;align-items:center;
  gap:0;flex-wrap:wrap;
  max-width:500px;margin:0 auto;
}
.hero-stat{
  flex:1;min-width:110px;padding:16px 12px;
  text-align:center;
}
.hero-stat + .hero-stat{border-left:1px solid var(--border)}
.hero-stat-num{
  font-family:'Playfair Display',serif;
  font-size:28px;font-weight:700;
  color:var(--primary);display:block;line-height:1;
}
.hero-stat-label{font-size:11px;color:var(--ink-light);margin-top:4px;display:block}

/* ─── SECTION LABEL ─── */
.section-wrap{max-width:960px;margin:0 auto;padding:0 20px}
.section-label{
  display:flex;align-items:center;gap:12px;
  margin-bottom:28px;
}
.section-label::after{content:'';flex:1;height:1px;background:var(--border)}
.section-label span{
  font-size:11px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;color:var(--ink-light);
  white-space:nowrap;
}

/* ─── TOOLS GRID ─── */
.tools-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin-bottom:64px;
}

/* ─── TOOL CARD ─── */
.tool-card{
  background:#fff;
  border-radius:24px;
  border:1.5px solid var(--border);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tool-card:hover{transform:translateY(-5px);box-shadow:0 24px 64px rgba(58,58,58,0.1)}
.tool-card.primary:hover{border-color:var(--primary)}
.tool-card.teal:hover{border-color:var(--teal)}
.tool-card.rose:hover{border-color:var(--rose)}
.tool-card.violet:hover{border-color:var(--violet)}

/* accent line */
.card-accent{height:5px}
.primary .card-accent{background:linear-gradient(90deg,#ff5f42,#ff8a66)}
.teal .card-accent{background:linear-gradient(90deg,#2a7d6e,#4dbea9)}
.rose .card-accent{background:linear-gradient(90deg,#c94f6b,#e8829a)}
.violet .card-accent{background:linear-gradient(90deg,#5b4fcf,#9287e8)}

.card-inner{padding:30px 28px 24px;flex:1;display:flex;flex-direction:column}

/* header */
.card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
.card-icon{
  width:54px;height:54px;border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;flex-shrink:0;
}
.primary .card-icon{background:var(--primary-light)}
.teal .card-icon{background:var(--teal-light)}
.rose .card-icon{background:var(--rose-light)}
.violet .card-icon{background:var(--violet-light)}

.card-label{
  font-size:10px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;margin-bottom:4px;
}
.primary .card-label{color:var(--primary-dark)}
.teal .card-label{color:var(--teal-dark)}
.rose .card-label{color:var(--rose-dark)}
.violet .card-label{color:var(--violet-dark)}

.card-title{
  font-family:'Playfair Display',serif;
  font-size:20px;font-weight:700;
  color:var(--ink);line-height:1.2;
  letter-spacing:-0.3px;
}

/* how it works */
.card-how{
  font-size:13px;color:var(--ink-mid);
  line-height:1.65;margin-bottom:16px;
}

/* formula box */
.card-formula{
  background:var(--warm);
  border-radius:10px;
  padding:10px 14px;
  font-size:12px;
  color:var(--ink-mid);
  margin-bottom:16px;
  border-left:3px solid;
  font-family:'DM Sans',monospace;
}
.primary .card-formula{border-color:var(--primary)}
.teal .card-formula{border-color:var(--teal)}
.rose .card-formula{border-color:var(--rose)}
.violet .card-formula{border-color:var(--violet)}

/* keywords chips */
.card-keywords{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}
.kw{
  font-size:11px;padding:3px 10px;border-radius:99px;
  border:1px solid var(--border);
  color:var(--ink-mid);background:var(--warm);
}

/* results preview */
.card-preview{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:6px;margin-bottom:20px;
}
.preview-stat{
  border-radius:10px;padding:10px 8px;text-align:center;
}
.primary .preview-stat{background:var(--primary-light)}
.teal .preview-stat{background:var(--teal-light)}
.rose .preview-stat{background:var(--rose-light)}
.violet .preview-stat{background:var(--violet-light)}

.preview-val{
  font-family:'Playfair Display',serif;
  font-size:20px;font-weight:700;
  color:var(--ink);line-height:1;
}
.preview-lbl{font-size:10px;color:var(--ink-light);margin-top:3px;display:block}

/* CTA */
.card-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:99px;
  font-size:14px;font-weight:600;
  text-decoration:none;width:100%;
  transition:opacity .2s, transform .15s;
  margin-top:auto;
}
.card-cta:hover{opacity:0.9;transform:scale(0.99)}
.primary .card-cta{background:var(--primary);color:#fff}
.teal .card-cta{background:var(--teal);color:#fff}
.rose .card-cta{background:var(--rose);color:#fff}
.violet .card-cta{background:var(--violet);color:#fff}

.cta-arrow{font-size:16px;transition:transform .2s}
.card-cta:hover .cta-arrow{transform:translateX(4px)}

/* ─── WHY SECTION ─── */
.why-section{
  background:var(--ink);
  padding:72px 20px;
  margin:0;
}
.why-inner{max-width:960px;margin:0 auto}
.why-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(28px,4vw,44px);
  color:#fff;
  text-align:center;
  margin-bottom:12px;
  letter-spacing:-0.8px;
}
.why-title em{color:var(--primary);font-style:italic}
.why-sub{
  text-align:center;
  color:rgba(255,255,255,0.5);
  font-size:15px;
  max-width:520px;margin:0 auto 48px;
  line-height:1.65;
}
.why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.why-card{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:28px 24px;
}
.why-icon{font-size:28px;margin-bottom:14px;display:block}
.why-h{font-size:15px;font-weight:600;color:#fff;margin-bottom:8px}
.why-p{font-size:13px;color:rgba(255,255,255,0.5);line-height:1.6}

/* ─── QUICK FACTS ─── */
.facts-section{
  max-width:960px;margin:64px auto;padding:0 20px;
}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fact-block{
  background:#fff;
  border-radius:20px;
  border:1px solid var(--border);
  padding:28px;
}
.fact-block h3{
  font-family:'Playfair Display',serif;
  font-size:18px;color:var(--ink);
  margin-bottom:16px;
}
.fact-table{width:100%;border-collapse:collapse;font-size:13px}
.fact-table th{
  text-align:left;padding:7px 10px;
  font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  color:var(--ink-light);background:var(--warm);
}
.fact-table th:first-child{border-radius:8px 0 0 8px}
.fact-table th:last-child{border-radius:0 8px 8px 0}
.fact-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--ink-mid)}
.fact-table tr:last-child td{border-bottom:none}
.fact-table strong{color:var(--ink)}

/* ─── FAQ ─── */
.faq-section{
  max-width:720px;margin:0 auto 72px;padding:0 20px;
}
.faq-title{
  font-family:'Playfair Display',serif;
  font-size:30px;color:var(--ink);
  text-align:center;margin-bottom:32px;
  letter-spacing:-0.5px;
}
.faq-item{
  border-bottom:1px solid var(--border);
  padding:18px 0;
}
.faq-q{
  font-size:15px;font-weight:600;color:var(--ink);
  cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;
}
.faq-q:hover .faq-toggle{background:var(--primary-light);border-color:var(--primary);color:var(--primary);}
.faq-toggle{
  width:28px;height:28px;border-radius:50%;
  background:var(--warm);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;flex-shrink:0;transition:all .2s;
  color:var(--primary);
}
.faq-a{
  font-size:14px;color:var(--ink-mid);line-height:1.7;
  max-height:0;overflow:hidden;
  transition:max-height .3s ease, padding .3s ease;
}
.faq-item.open .faq-a{max-height:200px;padding-top:12px}
.faq-item.open .faq-toggle{transform:rotate(45deg)}

/* ─── SEO TEXT ─── */
.seo-section{
  background:#fff;
  border-top:1px solid var(--border);
  padding:56px 20px;
}
.seo-inner{max-width:800px;margin:0 auto}
.seo-inner h2{
  font-family:'Playfair Display',serif;
  font-size:26px;color:var(--ink);
  margin-bottom:14px;letter-spacing:-0.4px;
}
.seo-inner h3{
  font-family:'Playfair Display',serif;
  font-size:18px;color:var(--ink);
  margin:24px 0 8px;
}
.seo-inner p{font-size:14px;color:var(--ink-mid);line-height:1.75;margin-bottom:12px}
.seo-inner strong{color:var(--ink);}

/* ─── RESPONSIVE ─── */
@media(max-width:640px){
  .tools-grid,.facts-grid,.why-grid{grid-template-columns:1fr}
  .hero-stats{gap:0}
  .hero-stat{min-width:100px}
  .card-preview{grid-template-columns:repeat(3,1fr)}
  
  /* ─── SECTION HERO COMPACT ─── */
.hero-section {
  font-family: 'Poppins', 'Open Sans', sans-serif;
  padding: 60px 20px;
  text-align: center;
  background: transparent;
}

.hero-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #ff5f42;
  margin-bottom: 10px;
}

.hero-section h2 {
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 700;
  color: #3a3a3a;
  line-height: 1.2;
  margin-bottom: 10px;
}

.hero-section h2 span {
  color: #ff5f42;
}

.hero-desc-small {
  font-size: 14px;
  color: #777;
  font-weight: 400;
  max-width: 480px;
  margin: 0 auto 40px;
  line-height: 1.6;
}

/* ─── TOOLS GRID COMPACT ─── */
.tools-grid-compact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  max-width: 820px;
  margin: 0 auto 36px;
}

.tool-card-compact {
  background: #ffffff;
  border: 2px solid #f0f0f0;
  border-radius: 18px;
  padding: 28px 24px;
  text-align: left;
  text-decoration: none;
  display: block;
  transition: all 0.22s ease;
  position: relative;
  overflow: hidden;
}

.tool-card-compact::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 18px 18px 0 0;
  background: #ff5f42;
}

.tool-card-compact:hover {
  border-color: transparent;
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(255, 95, 66, 0.15);
  text-decoration: none;
}

.tool-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #fff3f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 14px;
}

.tool-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ff5f42;
  margin-bottom: 5px;
  display: block;
}

.tool-name {
  font-size: 17px;
  font-weight: 700;
  color: #3a3a3a;
  margin-bottom: 6px;
  line-height: 1.25;
}

.tool-desc {
  font-size: 13px;
  color: #888;
  font-weight: 400;
  line-height: 1.55;
  margin-bottom: 14px;
}

.tool-link {
  font-size: 12px;
  font-weight: 700;
  color: #ff5f42;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: gap 0.2s;
}

.tool-card-compact:hover .tool-link {
  gap: 9px;
}

.cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ff5f42;
  color: #fff;
  text-decoration: none;
  font-family: 'Poppins', 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: 50px;
  transition: background 0.2s, transform 0.15s;
}

.cta-secondary:hover {
  background: #e04830;
  transform: scale(0.98);
  color: #fff;
  text-decoration: none;
}

@media (max-width: 560px) {
  .tools-grid-compact {
    grid-template-columns: 1fr;
  }
  .hero-section {
    padding: 48px 16px;
  }
}
}