@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ===== Furniture Story — "Free fabric samples" =====
   Ported 1:1 from mockup +Makieta/fabric-samples.html (content sections only; OpenCart
   header/footer chrome is kept). Everything scoped under .fs-fabric so it does not collide
   with OpenCart's Bootstrap theme. :root tokens match the other furniture_story_*.css. */

:root{
  --bg:#FAF8F4;
  --bg-alt:#F2EDE5;
  --bg-warm:#E8DFD2;
  --bg-deep:#1F1B17;
  --ink:#1A1A1A;
  --ink-soft:#4A4744;
  --muted:#8B857E;
  --line:#E5DFD5;
  --line-strong:#D7CFC2;
  --accent:#5C5347;
  --sage:#8A9A7B;
  --terracotta:#B66B4A;
  --white:#FFFFFF;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --transition:0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.fs-fabric{
  font-family:var(--sans);font-size:16px;line-height:1.7;
  color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
.fs-fabric *{margin:0;padding:0;box-sizing:border-box;}
.fs-fabric img{max-width:100%;display:block;}
.fs-fabric a{color:inherit;text-decoration:none;transition:opacity var(--transition);}
.fs-fabric a:hover{opacity:0.7;}
.fs-fabric button{font-family:inherit;cursor:pointer;border:none;background:none;}
/* OpenCart's stylesheet.css forces h1..h6{color:#444}; restore mockup inheritance. */
.fs-fabric h1,.fs-fabric h2,.fs-fabric h3,.fs-fabric h4,.fs-fabric h5,.fs-fabric h6{color:inherit;}

/* ===== HERO ===== */
.fs-fabric .hero{position:relative;background:var(--bg);padding:0;overflow:hidden;}
.fs-fabric .hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.fs-fabric .hero-text{padding:96px 64px 96px 48px;display:flex;flex-direction:column;justify-content:center;}
.fs-fabric .hero .chapter-tag{
  font-family:var(--sans);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--terracotta);font-weight:500;
  display:inline-flex;align-items:center;gap:14px;margin-bottom:28px;
}
.fs-fabric .hero .chapter-tag::before, .fs-fabric .hero .chapter-tag::after{content:"";flex:0 0 36px;height:1px;background:var(--line-strong);}
.fs-fabric .hero h1{
  font-family:var(--serif);
  font-size:clamp(50px, 5.6vw, 92px);
  line-height:1.05;font-weight:500;letter-spacing:-0.015em;
  margin-bottom:24px;max-width:14ch;
}
.fs-fabric .hero h1 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric .hero-deck{
  font-family:var(--serif);font-style:italic;
  font-size:22px;line-height:1.5;color:var(--ink-soft);
  max-width:520px;margin-bottom:36px;
}
.fs-fabric .hero-meta{display:flex;gap:32px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);}
.fs-fabric .hero-meta div{display:flex;align-items:flex-start;gap:10px;}
.fs-fabric .hero-meta strong{display:block;font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:2px;}
.fs-fabric .hero-meta svg{width:14px;height:14px;color:var(--terracotta);flex-shrink:0;margin-top:3px;}

.fs-fabric .hero-collage{position:relative;background:var(--bg-warm);overflow:hidden;}
.fs-fabric .hero-collage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fs-fabric .hero-collage::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(0,0,0,0) 60%, rgba(31,27,23,0.18) 100%);}
.fs-fabric .hero-stamp{
  position:absolute;bottom:32px;right:32px;
  background:var(--bg);padding:18px 22px;border-radius:2px;
  box-shadow:0 8px 24px rgba(26,26,26,0.12);
  display:flex;align-items:center;gap:14px;z-index:2;
}
.fs-fabric .hero-stamp-dot{
  width:42px;height:42px;border-radius:50%;
  background:var(--terracotta);color:var(--bg);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-style:italic;font-size:24px;font-weight:500;flex-shrink:0;
}
.fs-fabric .hero-stamp-text{font-size:12px;line-height:1.4;color:var(--ink);}
.fs-fabric .hero-stamp-text strong{display:block;font-family:var(--serif);font-style:italic;font-size:18px;font-weight:500;color:var(--ink);}

/* ===== Process strip ===== */
.fs-fabric .process{padding:96px 48px;background:var(--bg);border-bottom:1px solid var(--line);}
.fs-fabric .process-head{max-width:880px;margin:0 auto 64px;text-align:center;}
.fs-fabric .chapter-tag-c{
  font-family:var(--sans);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--terracotta);font-weight:500;
  display:inline-flex;align-items:center;gap:14px;margin-bottom:24px;
}
.fs-fabric .chapter-tag-c::before, .fs-fabric .chapter-tag-c::after{content:"";flex:0 0 36px;height:1px;background:var(--line-strong);}
.fs-fabric .process-head h2{
  font-family:var(--serif);font-size:clamp(36px, 4vw, 56px);
  line-height:1.15;font-weight:500;letter-spacing:-0.01em;margin-bottom:18px;
}
.fs-fabric .process-head h2 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric .process-head p{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink-soft);}
.fs-fabric .process-grid{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:repeat(5, 1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;
}
.fs-fabric .process-step{background:var(--bg);padding:36px 28px;position:relative;}
.fs-fabric .process-step .pn{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--terracotta);line-height:1;margin-bottom:16px;font-weight:500;}
.fs-fabric .process-step h4{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.2;margin-bottom:10px;}
.fs-fabric .process-step h4 em{font-style:italic;color:var(--terracotta);}
.fs-fabric .process-step p{font-size:13px;line-height:1.7;color:var(--ink-soft);}

/* ===== Fabric library ===== */
.fs-fabric .library{padding:96px 48px;background:var(--bg-alt);}
.fs-fabric .library-head{max-width:1280px;margin:0 auto 56px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;}
.fs-fabric .library-head h2{font-family:var(--serif);font-size:clamp(36px, 4vw, 56px);line-height:1.1;font-weight:500;letter-spacing:-0.01em;margin-top:14px;}
.fs-fabric .library-head h2 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric .library-head .deck{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-soft);max-width:380px;text-align:right;}

.fs-fabric .lib-tabs{max-width:1280px;margin:0 auto 32px;display:flex;gap:8px;flex-wrap:wrap;}
.fs-fabric .lib-tab{
  padding:10px 20px;font-size:12px;letter-spacing:0.06em;
  background:var(--bg);border:1px solid var(--line-strong);border-radius:999px;
  color:var(--ink-soft);cursor:pointer;transition:all var(--transition);
}
.fs-fabric .lib-tab:hover{border-color:var(--ink);}
.fs-fabric .lib-tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}

.fs-fabric .lib-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(5, 1fr);gap:24px;}
.fs-fabric .swatch-card{cursor:pointer;position:relative;}
.fs-fabric .swatch{
  position:relative;aspect-ratio:1;border-radius:2px;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(26,26,26,0.06);
  transition:transform var(--transition), box-shadow var(--transition);
}
.fs-fabric .swatch-card:hover .swatch{transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,26,26,0.1), inset 0 0 0 1px rgba(26,26,26,0.06);}
.fs-fabric .swatch-card.selected .swatch{box-shadow:0 0 0 3px var(--terracotta), 0 8px 20px rgba(182,107,74,0.25);}
.fs-fabric .swatch-tick{
  position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;
  background:var(--bg);color:var(--terracotta);
  display:none;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(26,26,26,0.15);z-index:2;
}
.fs-fabric .swatch-card.selected .swatch-tick{display:flex;}
.fs-fabric .swatch-tick svg{width:14px;height:14px;}
.fs-fabric .swatch-cap{padding:14px 4px 0;}
.fs-fabric .swatch-cap .sn{font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.2;color:var(--ink);margin-bottom:4px;}
.fs-fabric .swatch-cap .sn em{font-style:italic;color:var(--terracotta);}
.fs-fabric .swatch-cap .sm{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:500;}

/* Texture-based swatch backgrounds */
.fs-fabric .tex-boucle-oat{background:#E5D9C5;background-image:radial-gradient(circle at 20% 30%, rgba(255,255,255,0.6) 0, rgba(255,255,255,0.6) 2px, transparent 3px), radial-gradient(circle at 70% 70%, rgba(120,100,80,0.15) 0, rgba(120,100,80,0.15) 1.5px, transparent 2.5px), radial-gradient(circle at 50% 20%, rgba(255,255,255,0.4) 0, rgba(255,255,255,0.4) 2px, transparent 3px);background-size:14px 14px, 18px 18px, 22px 22px;}
.fs-fabric .tex-boucle-cream{background:#EFE6D6;background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.7) 0, rgba(255,255,255,0.7) 2px, transparent 3px), radial-gradient(circle at 70% 60%, rgba(140,120,100,0.12) 0, rgba(140,120,100,0.12) 1.5px, transparent 2.5px);background-size:12px 12px, 18px 18px;}
.fs-fabric .tex-boucle-charcoal{background:#3F3A35;background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,0.12) 0, rgba(255,255,255,0.12) 2px, transparent 3px), radial-gradient(circle at 70% 70%, rgba(0,0,0,0.3) 0, rgba(0,0,0,0.3) 1.5px, transparent 2.5px);background-size:14px 14px, 18px 18px;}
.fs-fabric .tex-linen-natural{background:#D8C9AD;background-image:repeating-linear-gradient(0deg, rgba(160,140,100,0.16) 0, rgba(160,140,100,0.16) 1px, transparent 1px, transparent 4px), repeating-linear-gradient(90deg, rgba(160,140,100,0.16) 0, rgba(160,140,100,0.16) 1px, transparent 1px, transparent 5px);}
.fs-fabric .tex-linen-stone{background:#BFB7A6;background-image:repeating-linear-gradient(0deg, rgba(80,75,65,0.18) 0, rgba(80,75,65,0.18) 1px, transparent 1px, transparent 4px), repeating-linear-gradient(90deg, rgba(80,75,65,0.18) 0, rgba(80,75,65,0.18) 1px, transparent 1px, transparent 5px);}
.fs-fabric .tex-linen-clay{background:#C99B82;background-image:repeating-linear-gradient(0deg, rgba(100,60,50,0.18) 0, rgba(100,60,50,0.18) 1px, transparent 1px, transparent 4px), repeating-linear-gradient(90deg, rgba(100,60,50,0.18) 0, rgba(100,60,50,0.18) 1px, transparent 1px, transparent 5px);}
.fs-fabric .tex-velvet-forest{background:linear-gradient(135deg, #2A4438 0%, #3E5C4D 100%);box-shadow:inset 0 0 30px rgba(0,0,0,0.3);}
.fs-fabric .tex-velvet-plum{background:linear-gradient(135deg, #4A2A3A 0%, #6B3E55 100%);box-shadow:inset 0 0 30px rgba(0,0,0,0.3);}
.fs-fabric .tex-velvet-camel{background:linear-gradient(135deg, #8A6240 0%, #A87B53 100%);box-shadow:inset 0 0 30px rgba(0,0,0,0.25);}
.fs-fabric .tex-wool-fog{background:#A7A7A0;background-image:repeating-linear-gradient(45deg, rgba(80,80,75,0.16) 0, rgba(80,80,75,0.16) 2px, transparent 2px, transparent 6px);}
.fs-fabric .tex-wool-moss{background:#7E8A6E;background-image:repeating-linear-gradient(45deg, rgba(50,60,40,0.2) 0, rgba(50,60,40,0.2) 2px, transparent 2px, transparent 6px);}
.fs-fabric .tex-wool-night{background:#373B47;background-image:repeating-linear-gradient(45deg, rgba(0,0,0,0.25) 0, rgba(0,0,0,0.25) 2px, transparent 2px, transparent 6px);}
.fs-fabric .tex-leather-tan{background:linear-gradient(135deg, #B07550 0%, #C68F66 60%, #9C6240 100%);box-shadow:inset 0 0 24px rgba(80,40,20,0.4);}
.fs-fabric .tex-leather-cognac{background:linear-gradient(135deg, #7E4A2E 0%, #9C6342 60%, #6E3E26 100%);box-shadow:inset 0 0 24px rgba(40,20,10,0.5);}
.fs-fabric .tex-leather-black{background:linear-gradient(135deg, #1A1A1A 0%, #2E2A26 60%, #0E0E0E 100%);box-shadow:inset 0 0 24px rgba(0,0,0,0.6);}

/* ===== Selection bar ===== */
.fs-fabric .select-bar{
  position:sticky;bottom:24px;max-width:1280px;margin:48px auto 0;
  background:var(--ink);color:var(--bg);border-radius:2px;padding:18px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  box-shadow:0 12px 32px rgba(26,26,26,0.2);z-index:10;
}
.fs-fabric .select-bar .sb-count{font-family:var(--serif);font-style:italic;font-size:18px;}
.fs-fabric .select-bar .sb-count strong{font-style:normal;color:#E0C5A8;font-weight:500;font-size:24px;}
.fs-fabric .select-bar .sb-bullets{display:flex;gap:6px;}
.fs-fabric .select-bar .sb-bullet{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,0.35);background:transparent;transition:all var(--transition);}
.fs-fabric .select-bar .sb-bullet.filled{background:var(--terracotta);border-color:var(--terracotta);}
.fs-fabric .select-bar a.sb-go{
  background:var(--bg);color:var(--ink);padding:14px 24px;
  font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  border-radius:2px;transition:background var(--transition);
  display:inline-flex;align-items:center;gap:10px;
}
.fs-fabric .select-bar a.sb-go:hover{background:#E0C5A8;opacity:1;}
.fs-fabric .select-bar a.sb-go svg{width:13px;height:13px;}

/* ===== Form section ===== */
.fs-fabric .form-section{padding:96px 48px;background:var(--bg);}
.fs-fabric .form-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start;}
.fs-fabric .form-side .lbl{font-family:var(--sans);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--terracotta);font-weight:500;margin-bottom:14px;}
.fs-fabric .form-side h2{font-family:var(--serif);font-size:clamp(34px, 3.4vw, 48px);line-height:1.15;font-weight:500;letter-spacing:-0.01em;margin-bottom:18px;}
.fs-fabric .form-side h2 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric .form-side .deck{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.6;color:var(--ink-soft);margin-bottom:32px;}
.fs-fabric .form-side ul.bullets{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:28px;}
.fs-fabric .form-side ul.bullets li{display:grid;grid-template-columns:auto 1fr;gap:14px;font-size:14px;line-height:1.6;color:var(--ink-soft);padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
.fs-fabric .form-side ul.bullets li:last-child{border-bottom:none;}
.fs-fabric .form-side .bi{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--terracotta);flex-shrink:0;}
.fs-fabric .form-side .bi svg{width:14px;height:14px;}
.fs-fabric .form-side strong{display:block;font-family:var(--sans);font-size:13px;color:var(--ink);font-weight:600;margin-bottom:2px;}

.fs-fabric .form-card{background:var(--bg-alt);padding:48px;border-radius:2px;}
.fs-fabric .form-card .step-line{font-family:var(--sans);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:10px;}
.fs-fabric .form-card h3{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.2;margin-bottom:14px;}
.fs-fabric .form-card h3 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric .form-card .form-deck{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-soft);margin-bottom:28px;}
.fs-fabric .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.fs-fabric .field-row.full{grid-template-columns:1fr;}
.fs-fabric .field-row.three{grid-template-columns:0.6fr 1fr 1fr;}
.fs-fabric .field label{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:8px;}
.fs-fabric .field input, .fs-fabric .field select{
  width:100%;padding:14px 16px;font-family:var(--sans);font-size:14px;color:var(--ink);
  background:var(--bg);border:1px solid var(--line-strong);border-radius:2px;
  transition:border-color var(--transition);
}
.fs-fabric .field input:focus, .fs-fabric .field select:focus{outline:none;border-color:var(--ink);}
.fs-fabric .check-row{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ink-soft);margin:18px 0 24px;}
.fs-fabric .check-row input{margin-top:3px;accent-color:var(--ink);}
.fs-fabric .form-card button[type="submit"]{
  width:100%;padding:18px 24px;background:var(--ink);color:var(--bg);
  font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  border-radius:2px;transition:background var(--transition);
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.fs-fabric .form-card button[type="submit"]:hover{background:var(--accent);}
.fs-fabric .form-card button svg{width:14px;height:14px;}
.fs-fabric .form-foot{margin-top:18px;font-size:12px;color:var(--muted);text-align:center;}
.fs-fabric .form-foot a{text-decoration:underline;text-underline-offset:3px;}

.fs-fabric .selected-summary{margin-bottom:24px;padding:18px 20px;background:var(--bg);border-radius:2px;border:1px dashed var(--line-strong);}
.fs-fabric .selected-summary .ss-label{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:10px;}
.fs-fabric .selected-summary .ss-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--serif);font-size:15px;color:var(--ink);}
.fs-fabric .ss-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;background:var(--bg-warm);border-radius:999px;font-size:12px;color:var(--ink);}
.fs-fabric .ss-chip-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.fs-fabric .ss-empty{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:14px;}

/* ===== Pull quote ===== */
.fs-fabric .pullq{padding:120px 48px;background:var(--bg-deep);color:var(--bg);text-align:center;}
.fs-fabric .pullq-inner{max-width:920px;margin:0 auto;}
.fs-fabric .pullq::before{content:"";display:block;width:48px;height:1px;background:var(--terracotta);margin:0 auto 32px;}
.fs-fabric .pullq q{quotes:none;font-family:var(--serif);font-style:italic;font-size:clamp(28px, 3.2vw, 44px);line-height:1.4;font-weight:400;color:var(--bg);letter-spacing:-0.005em;}
.fs-fabric .pullq q::before{content:"\201C ";}
.fs-fabric .pullq q::after{content:" \201D";}
.fs-fabric .pullq-attr{margin-top:36px;font-family:var(--sans);font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:rgba(255,255,255,0.6);font-weight:500;}
.fs-fabric .pullq-attr strong{color:var(--bg);font-weight:500;}

/* ===== Callback section ===== */
.fs-fabric .callback{padding:96px 48px;background:var(--bg);}
.fs-fabric .callback-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;background:var(--bg-alt);border-radius:2px;overflow:hidden;}
.fs-fabric .cb-img{position:relative;min-height:480px;overflow:hidden;}
.fs-fabric .cb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fs-fabric .cb-text{padding:64px 48px;display:flex;flex-direction:column;justify-content:center;}
.fs-fabric .cb-text .lbl{font-family:var(--sans);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:12px;}
.fs-fabric .cb-text h3{font-family:var(--serif);font-size:36px;font-weight:500;line-height:1.2;margin-bottom:16px;}
.fs-fabric .cb-text h3 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric .cb-text p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin-bottom:24px;}
.fs-fabric .cb-form .row{display:grid;grid-template-columns:0.5fr 1fr 1fr;gap:10px;margin-bottom:10px;}
.fs-fabric .cb-form .row.tel{grid-template-columns:1fr 1fr;}
.fs-fabric .cb-form .row.full{grid-template-columns:1fr;}
.fs-fabric .cb-form input, .fs-fabric .cb-form select{width:100%;padding:13px 14px;font-family:var(--sans);font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:2px;}
.fs-fabric .cb-form input:focus, .fs-fabric .cb-form select:focus{outline:none;border-color:var(--ink);}
.fs-fabric .cb-slots{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 18px;}
.fs-fabric .cb-slot{padding:8px 14px;font-size:12px;letter-spacing:0.04em;background:var(--bg);border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);cursor:pointer;transition:all var(--transition);}
.fs-fabric .cb-slot:hover{border-color:var(--ink);}
.fs-fabric .cb-slot.active{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.fs-fabric .cb-form button[type="submit"]{
  width:100%;padding:16px 22px;background:var(--ink);color:var(--bg);
  font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  border-radius:2px;transition:background var(--transition);
  display:flex;align-items:center;justify-content:center;gap:10px;border:none;
}
.fs-fabric .cb-form button[type="submit"]:hover{background:var(--accent);}
.fs-fabric .cb-form button[type="submit"] svg{width:14px;height:14px;}

/* ===== FAQ ===== */
.fs-fabric .faq{padding:96px 48px;background:var(--bg-alt);}
.fs-fabric .faq-inner{max-width:880px;margin:0 auto;}
.fs-fabric .faq-head{text-align:center;margin-bottom:48px;}
.fs-fabric .faq-head h3{font-family:var(--serif);font-size:clamp(34px, 4vw, 48px);line-height:1.15;font-weight:500;letter-spacing:-0.01em;}
.fs-fabric .faq-head h3 em{font-style:italic;color:var(--terracotta);font-weight:400;}
.fs-fabric details.faq-item{border-bottom:1px solid var(--line-strong);}
.fs-fabric .faq-list{border-top:1px solid var(--line-strong);}
.fs-fabric details.faq-item summary{
  list-style:none;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;
  font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.3;color:var(--ink);
}
.fs-fabric details.faq-item summary::-webkit-details-marker{display:none;}
.fs-fabric details.faq-item summary::after{content:"+";font-size:24px;color:var(--terracotta);font-family:var(--sans);transition:transform var(--transition);flex-shrink:0;}
.fs-fabric details.faq-item[open] summary::after{content:"\2212";}
.fs-fabric details.faq-item .faq-body{padding:0 0 28px;font-size:15px;line-height:1.8;color:var(--ink-soft);}
.fs-fabric details.faq-item .faq-body a{text-decoration:underline;text-underline-offset:3px;}

/* Responsive */
@media(max-width:1024px){
  .fs-fabric .hero-grid{grid-template-columns:1fr;}
  .fs-fabric .hero-text{padding:64px 32px;}
  .fs-fabric .hero-collage{aspect-ratio:16/10;min-height:auto;}
  .fs-fabric .process-grid{grid-template-columns:repeat(2, 1fr);}
  .fs-fabric .process-step{border-bottom:1px solid var(--line);}
  .fs-fabric .lib-grid{grid-template-columns:repeat(3, 1fr);}
  .fs-fabric .form-grid{grid-template-columns:1fr;gap:48px;}
  .fs-fabric .callback-inner{grid-template-columns:1fr;}
  .fs-fabric .cb-img{aspect-ratio:16/10;min-height:auto;}
  .fs-fabric .library-head{grid-template-columns:1fr;}
  .fs-fabric .library-head .deck{text-align:left;}
}
@media(max-width:640px){
  .fs-fabric .hero-text{padding:48px 24px;}
  .fs-fabric .process, .fs-fabric .library, .fs-fabric .form-section, .fs-fabric .callback, .fs-fabric .faq{padding:64px 24px;}
  .fs-fabric .pullq{padding:80px 24px;}
  .fs-fabric .process-grid{grid-template-columns:1fr;}
  .fs-fabric .lib-grid{grid-template-columns:repeat(2, 1fr);gap:16px;}
  .fs-fabric .form-card, .fs-fabric .cb-text{padding:32px 24px;}
  .fs-fabric .field-row, .fs-fabric .field-row.three, .fs-fabric .cb-form .row, .fs-fabric .cb-form .row.tel{grid-template-columns:1fr;}
  .fs-fabric .select-bar{flex-direction:column;align-items:stretch;gap:12px;text-align:center;bottom:12px;padding:14px 20px;}
}
