/* Page Caractéristiques — textiles & merchandising */
.carac-page{background:var(--ig-bg);color:var(--ig-text);padding-top:60px}
.carac-page a{color:inherit;text-decoration:none}

.carac-hero{
  padding:3rem 1.25rem 2.5rem;
  border-bottom:1px solid var(--border);
  background:var(--ig-surface);
}
.carac-hero-inner{max-width:935px;margin:0 auto}
.carac-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;
  font-size:.75rem;color:var(--muted);margin-bottom:1.25rem;
}
.carac-breadcrumb a{color:var(--ig-blue);font-weight:500}
.carac-breadcrumb a:hover{opacity:.75}
.carac-breadcrumb span[aria-hidden="true"]{color:var(--border)}
.carac-hero .label{font-size:.8125rem;color:var(--ig-blue);font-weight:600;margin-bottom:.5rem}
.carac-hero h1{
  font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;line-height:1.12;
  margin-bottom:.65rem;letter-spacing:-.02em;
}
.carac-hero .subtitle{
  font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:600;line-height:1.3;
  margin-bottom:1rem;color:var(--text);
}
.carac-hero .intro{font-size:.9375rem;color:var(--muted);line-height:1.55;max-width:40rem;margin-bottom:1.35rem}
.carac-hero-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  padding:.875rem 1.5rem;background:var(--ig-blue);color:#fff!important;
  font-weight:600;font-size:.9375rem;border-radius:10px;
  box-shadow:0 4px 14px rgba(0,149,246,.28);
  transition:background .2s,transform .15s;
}
.carac-hero-cta:hover{background:var(--ig-blue-hover);transform:translateY(-1px)}

.carac-main{max-width:935px;margin:0 auto;padding:2.5rem 1.25rem 4rem}
.carac-section{margin-bottom:3rem}
.carac-section:last-child{margin-bottom:0}

.carac-panel{
  position:relative;border:1px solid var(--border);border-radius:16px;
  background:var(--ig-surface);overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.03);
  isolation:isolate;
}
.carac-panel::before{
  content:'';display:block;height:3px;background:var(--ig-gradient);
}
.carac-panel-inner{padding:1.5rem 1.5rem 1.35rem}
.carac-panel-head{
  padding:1.35rem 1.5rem 0;
  background:linear-gradient(180deg,rgba(0,149,246,.045),transparent);
}
.carac-panel-head .section-label{margin-bottom:.5rem}
.carac-panel-head h2{
  font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600;
  letter-spacing:-.02em;line-height:1.2;margin-bottom:.5rem;
}
.carac-panel-head p{font-size:.9375rem;color:var(--muted);line-height:1.55;margin:0;max-width:36rem}
.carac-panel-body{padding:0 1.5rem 1.5rem}

.carac-prose{font-size:.9375rem;line-height:1.6;color:var(--muted)}
.carac-prose p{margin-bottom:.85rem}
.carac-prose p:last-child{margin-bottom:0}
.carac-prose strong{color:var(--text);font-weight:600}

.carac-grid-3{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;
}
.carac-grid-2{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;
}
.carac-card{
  background:var(--ig-bg);border:1px solid var(--border);border-radius:12px;
  padding:1.2rem 1.125rem;transition:border-color .2s,box-shadow .2s,transform .2s;
}
.carac-card:hover{
  border-color:rgba(0,149,246,.28);
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  transform:translateY(-2px);
}
.carac-card h3{font-size:.9375rem;font-weight:600;margin-bottom:.35rem;letter-spacing:-.01em}
.carac-card-context{
  font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ig-blue);margin-bottom:.45rem;
}
.carac-card p{font-size:.8125rem;line-height:1.5;color:var(--muted);margin:0 0 .65rem}
.carac-card ul{
  list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;
}
.carac-card li{
  font-size:.6875rem;color:var(--text);background:rgba(0,149,246,.08);
  border:1px solid rgba(0,149,246,.14);border-radius:999px;padding:.22rem .5rem;line-height:1.3;
}
.carac-specs{
  list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem;
}
.carac-specs li{font-size:.75rem;color:var(--muted);line-height:1.4}

.carac-steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;
}
.carac-step{
  background:var(--ig-bg);border:1px solid var(--border);border-radius:12px;
  padding:1.15rem 1rem;
}
.carac-step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:2rem;height:2rem;border-radius:999px;font-size:.6875rem;font-weight:700;
  color:var(--ig-blue);background:rgba(0,149,246,.1);
  border:1px solid rgba(0,149,246,.18);margin-bottom:.75rem;
}
.carac-step:first-child .carac-step-num{
  color:#fff;background:var(--ig-gradient);border-color:transparent;
}
.carac-step h3{font-size:.875rem;font-weight:600;margin-bottom:.3rem}
.carac-step p{font-size:.8125rem;line-height:1.45;color:var(--muted);margin:0}

.carac-faq{display:flex;flex-direction:column;gap:.5rem}
.carac-faq details{
  background:var(--ig-bg);border:1px solid var(--border);border-radius:10px;
  overflow:hidden;transition:border-color .2s;
}
.carac-faq details[open]{border-color:rgba(0,149,246,.25)}
.carac-faq summary{
  cursor:pointer;padding:.875rem 1rem;font-size:.875rem;font-weight:600;
  color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;
}
.carac-faq summary::-webkit-details-marker{display:none}
.carac-faq summary::after{
  content:'+';flex-shrink:0;font-size:1.1rem;font-weight:400;color:var(--ig-blue);line-height:1;
}
.carac-faq details[open] summary::after{content:'−'}
.carac-faq details p{
  padding:0 1rem 1rem;font-size:.8125rem;line-height:1.55;color:var(--muted);margin:0;
}

.carac-related{
  display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;
}
.carac-related a{
  display:inline-flex;align-items:center;padding:.4rem .85rem;
  border:1px solid var(--border);border-radius:999px;
  font-size:.75rem;font-weight:500;color:var(--text);background:var(--ig-bg);
  transition:border-color .15s,color .15s,background .15s;
}
.carac-related a:hover{border-color:var(--ig-blue);color:var(--ig-blue);background:#fff}

.carac-cta-band{padding:0;margin-top:.5rem}
.carac-cta-band .cta-inner{max-width:100%}

@media(max-width:900px){
  .carac-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carac-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .carac-grid-3,.carac-grid-2,.carac-steps{grid-template-columns:1fr}
  .carac-panel-inner,.carac-panel-head,.carac-panel-body{padding-left:1.15rem;padding-right:1.15rem}
  .carac-hero-cta{width:100%}
}
