.rf-sewing { --rf-sewing-muted: #86869a; }
.rf-sewing .rf-sewing-breadcrumb { padding: 0 0 30px; }
.rf-sewing-breadcrumb .breadcrumb_items { flex-wrap: wrap; height: auto; min-height: 20px; padding: 0; }
.rf-sewing-breadcrumb .breadcrumb_item.last-element { flex-basis: auto; width: auto; }
.rf-sewing .rf-sewing-hero { background: #fff; border-radius: 50px; display: grid; gap: 78px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); padding: 64px 48px 48px; }
.rf-sewing-hero__copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.rf-sewing .rf-sewing-hero h1 { font-size: 56px; font-weight: 500; line-height: 1; margin-top: 12px; overflow-wrap: anywhere; }
.rf-sewing .rf-sewing-hero__lead { color: #626262; font-size: 16px; line-height: 1.4; margin-top: 24px; }
.rf-sewing-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.rf-sewing-hero__actions .rf-home-button { padding-left: 24px; padding-right: 24px; white-space: normal; height: auto; min-height: 52px; text-align: center; }
.rf-sewing .rf-sewing-hero__benefits { display: flex; flex-wrap: wrap; gap: 20px; list-style: none; margin-top: 30px; }
.rf-sewing-hero__benefits li { align-items: center; display: flex; gap: 10px; }
.rf-sewing-hero__benefits li > span { align-items: center; background: #fff4ed; border-radius: 50%; display: flex; flex: 0 0 36px; height: 36px; justify-content: center; }
.rf-sewing-hero__benefits strong, .rf-sewing-hero__benefits small { display: block; }
.rf-sewing-hero__benefits strong { font-size: 14px; font-weight: 500; line-height: 1.4; }
.rf-sewing-hero__benefits small { color: #626262; font-size: 12px; line-height: 1.4; }
.rf-sewing .rf-sewing-hero__image { align-self: stretch; border-radius: 30px; height: 100%; min-height: 360px; object-fit: cover; width: 100%; }
.rf-sewing-navigation { background: #fff; border-radius: 26px; display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 30px; padding: 16px; }
.rf-sewing-navigation > a { align-items: center; background: #fff4ed; border: 1px solid var(--rf-orange); border-radius: 16px; display: flex; font-size: 15px; font-weight: 400; gap: 12px; line-height: 1.2; min-height: 64px; min-width: 0; padding: 10px 18px 10px 12px; transition: background-color .2s ease, color .2s ease; }
.rf-sewing-navigation > a > span:last-child { overflow-wrap: anywhere; }
.rf-sewing-navigation > a:hover, .rf-sewing-navigation > a:focus-visible, .rf-sewing-navigation > a[aria-current="page"] { background: var(--rf-orange); color: #fff; }
.rf-sewing-navigation__icon { align-items: center; background: #fff; border-radius: 50%; display: flex; flex: 0 0 40px; height: 40px; justify-content: center; }
.rf-sewing-navigation__icon img { flex: 0 0 auto; }
.rf-sewing-catalog { margin-top: 30px; }
.rf-sewing .rf-sewing-catalog h2, .rf-sewing .rf-sewing-related h2, .rf-sewing .rf-sewing-faq h2 { font-size: 52px; line-height: 1.2; font-weight: 500; overflow-wrap: anywhere; }
.rf-sewing-catalog h2 span { color: var(--rf-orange); }
.rf-sewing-grid { display: grid; gap: 40px 30px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 40px; }
.rf-sewing-card { background: #fff; border-radius: 30px; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding-bottom: 16px; }
.rf-sewing-card__image { background: #fff; border-radius: 20px; display: block; height: 320px; overflow: hidden; width: 100%; }
.rf-sewing-card__image img { height: 100%; object-fit: cover; object-position: center top; width: 100%; }
.rf-sewing .rf-sewing-card h3 { font-size: 16px; font-weight: 300; line-height: 1.4; margin: 0 16px; min-height: 45px; overflow-wrap: anywhere; }
.rf-sewing-card h3 a:hover { color: var(--rf-orange); }
.rf-sewing-card__meta { border-top: 1px solid #d9d9d9; display: flex; flex-direction: column; font-size: 14px; font-weight: 400; gap: 6px; line-height: 1.2; margin: 0 16px; padding-top: 8px; }
.rf-sewing-card__meta > div { display: flex; align-items: flex-start; gap: 4px; justify-content: space-between; }
.rf-sewing-card__meta dt { color: var(--rf-sewing-muted); font-weight: 400; }
.rf-sewing-card__meta dd { margin: 0; text-align: right; }
.rf-sewing-card__meta > div:last-child dd { max-width: 70%; }
.rf-sewing-colors { align-items: start; display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 6px; margin: 0 16px; }
.rf-sewing .rf-sewing-colors ul { display: flex; flex-wrap: wrap; gap: 2px; list-style: none; max-height: 24px; overflow: hidden; }
.rf-sewing .rf-sewing-colors.is-expanded ul { max-height: none; }
.rf-sewing-colors li { align-items: center; display: flex; flex: 0 0 24px; height: 24px; justify-content: center; }
.rf-sewing-colors li > span { border: 1px solid rgba(0, 0, 0, .12); border-radius: 50%; height: 20px; width: 20px; }
.rf-sewing-colors button { align-items: center; appearance: none; background: transparent; border: 0; border-radius: 50%; cursor: pointer; display: flex; height: 28px; justify-content: center; padding: 0; width: 28px; }
.rf-sewing-colors button[hidden] { display: none; }
.rf-sewing-colors button img { transform: rotate(0deg); transition: transform .2s ease; }
.rf-sewing-colors.is-expanded button img { transform: rotate(180deg); }
.rf-sewing-colors button:hover { background: #fff4ed; }
.rf-sewing-card__bottom { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin: auto 16px 0; }
.rf-sewing-card__bottom p { font-size: 20px; font-weight: 300; line-height: 1.2; }
.rf-sewing .rf-sewing-card__bottom a { border: 1px solid var(--rf-orange); border-radius: 48px; color: var(--rf-orange); font-size: 14px; font-weight: 600; line-height: 16px; padding: 10px 20px; text-align: center; transition: background-color .2s ease, color .2s ease; }
.rf-sewing .rf-sewing-card__bottom a:hover, .rf-sewing .rf-sewing-card__bottom a:focus-visible { background: var(--rf-orange); color: #fff; }
@supports (grid-template-rows: subgrid) {
    .rf-sewing-grid { row-gap: 12px; }
    .rf-sewing-card { display: grid; grid-row: span 5; grid-template-rows: subgrid; margin-bottom: 28px; row-gap: 12px; }
    .rf-sewing-card__bottom { align-self: end; }
}
.rf-sewing-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 30px; }
.rf-sewing-pagination .page-numbers { align-items: center; background: #fff; border-radius: 50%; display: inline-flex; font-size: 16px; font-weight: 500; height: 50px; justify-content: center; min-width: 50px; padding: 4px; }
.rf-sewing-pagination .page-numbers.current, .rf-sewing-pagination a:hover { background: var(--rf-orange); color: #fff; }
.rf-sewing-pagination .dots { background: transparent; min-width: 24px; }
.rf-sewing-empty { margin-top: 30px !important; }
.rf-sewing .rf-home-process { margin-top: 30px; padding-top: 0; }
.rf-sewing-related { background: var(--rf-orange); margin-top: 30px; padding: 64px 0; }
.rf-sewing-related header { align-items: center; display: flex; gap: 20px; justify-content: space-between; }
.rf-sewing .rf-sewing-related h2 { color: #fff; }
.rf-sewing-related__controls { display: flex; flex: 0 0 auto; gap: 12px; }
.rf-sewing-related__controls button { align-items: center; appearance: none; background: #fff; border: 0; border-radius: 50%; color: var(--rf-orange); cursor: pointer; display: flex; font-family: inherit; font-size: 24px; height: 50px; justify-content: center; padding: 0; width: 50px; }
.rf-sewing-related__controls button:disabled { cursor: default; opacity: .5; }
.rf-sewing-related__track { display: grid; gap: 30px; grid-auto-columns: calc((100% - 90px) / 4); grid-auto-flow: column; margin-top: 30px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.rf-sewing-related__track::-webkit-scrollbar { display: none; }
.rf-sewing-related__track > a { background: #fff; border-radius: 30px; display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 16px; scroll-snap-align: start; }
.rf-sewing-related__track > a > div { align-items: center; display: flex; height: 160px; justify-content: center; }
.rf-sewing-related__track img { height: 100%; max-width: 100%; object-fit: contain; }
.rf-sewing-related__track span { font-size: 14px; font-weight: 400; line-height: 1.4; }
.rf-sewing-related__track > a:hover span { color: var(--rf-orange); }
.rf-sewing .rf-home-cases { padding-top: 0; }
.rf-sewing .rf-home-estimate, .rf-sewing .rf-home-production { margin-top: 30px; }
.rf-sewing-faq { margin-top: 30px; }
.rf-sewing-faq header { display: flex; flex-direction: column; gap: 8px; }
.rf-sewing-faq header + div { display: flex; flex-direction: column; gap: 12px; margin-top: 30px; }
.rf-sewing-faq details { background: #fff; border-radius: 16px; padding: 12px 16px; }
.rf-sewing-faq summary { align-items: center; cursor: pointer; display: flex; font-size: 18px; font-weight: 500; gap: 16px; justify-content: space-between; line-height: 1.4; list-style: none; }
.rf-sewing-faq summary::-webkit-details-marker { display: none; }
.rf-sewing-faq summary > span { align-items: center; background: #fff4ed url('../images/sewing-2026/faq-plus.svg') center no-repeat; border-radius: 50%; display: flex; flex: 0 0 32px; height: 32px; justify-content: center; }
.rf-sewing-faq details[open] summary > span { background-color: var(--rf-orange); background-image: url('../images/sewing-2026/faq-minus.svg'); }
.rf-sewing-faq__answer { background: #fff4ed; border-radius: 15px; color: #626262; font-size: 16px; font-weight: 400; line-height: 1.5; margin-top: 12px; padding: 15px; }
.rf-sewing-faq__answer p + p { margin-top: 12px; }
.rf-sewing-faq__answer ul, .rf-sewing-faq__answer ol { padding-left: 20px; }
.rf-sewing a:focus-visible, .rf-sewing button:focus-visible, .rf-sewing summary:focus-visible { outline: 2px solid #222; outline-offset: 3px; }
@media (max-width: 1200px) {
    .rf-sewing .rf-sewing-hero { gap: 30px; padding: 40px 30px; }
    .rf-sewing .rf-sewing-hero h1 { font-size: 46px; }
    .rf-sewing-hero__benefits { gap: 16px; }
    .rf-sewing-grid { column-gap: 20px; }
    .rf-sewing .rf-sewing-catalog h2, .rf-sewing .rf-sewing-related h2, .rf-sewing .rf-sewing-faq h2 { font-size: 42px; }
    .rf-sewing-card__meta > div { flex-wrap: wrap; }
    .rf-sewing-card__meta > div:last-child dd { max-width: 100%; }
    .rf-sewing-card__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 991px) {
    .rf-sewing .rf-sewing-hero { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
    .rf-sewing .rf-sewing-hero h1 { font-size: 40px; }
    .rf-sewing-hero__actions { flex-direction: column; width: 100%; }
    .rf-sewing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rf-sewing-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rf-sewing-card__bottom { flex-direction: row; align-items: center; }
    .rf-sewing-related__track { gap: 20px; grid-auto-columns: calc((100% - 40px) / 3); }
}
@media (max-width: 767px) {
    .rf-sewing .rf-sewing-breadcrumb { padding: 0 0 20px; }
    .rf-sewing .rf-sewing-hero { border-radius: 30px; gap: 40px; grid-template-columns: minmax(0, 1fr); padding: 24px 20px 20px; }
    .rf-sewing .rf-sewing-hero h1 { font-size: 32px; line-height: 1; margin-top: 16px; }
    .rf-sewing .rf-sewing-hero .rf-home-kicker { font-size: 14px; }
    .rf-sewing .rf-sewing-hero__lead { margin-top: 24px; }
    .rf-sewing-hero__actions { gap: 8px; margin-top: 24px; }
    .rf-sewing-hero__actions .rf-home-button { font-size: 14px; min-height: 42px; padding: 10px 16px; width: 100%; }
    .rf-sewing .rf-sewing-hero__benefits { flex-direction: column; gap: 16px; margin-top: 24px; }
    .rf-sewing .rf-sewing-hero__image { aspect-ratio: 300 / 239; border-radius: 20px; height: auto; min-height: 0; width: 100%; }
    .rf-sewing-navigation { border-radius: 20px; grid-template-columns: minmax(0, 1fr); margin-top: 20px; padding: 12px; }
    .rf-sewing-navigation > a { min-height: 56px; padding: 10px 12px; }
    .rf-sewing-navigation__icon { flex-basis: 34px; height: 34px; }
    .rf-sewing-catalog { margin-top: 20px; }
    .rf-sewing .rf-sewing-catalog h2, .rf-sewing .rf-sewing-related h2, .rf-sewing .rf-sewing-faq h2 { font-size: 24px; line-height: 1.2; }
    .rf-sewing-grid { column-gap: 0; grid-template-columns: minmax(0, 1fr); margin-top: 30px; }
    .rf-sewing-card { border-radius: 24px; }
    .rf-sewing-card__image { height: auto; aspect-ratio: 1; }
    .rf-sewing-card__meta > div { flex-wrap: nowrap; }
    .rf-sewing .rf-sewing-card h3 { min-height: 0; }
    .rf-sewing-pagination { gap: 6px; margin-top: 2px; }
    .rf-sewing-pagination .page-numbers { height: 44px; min-width: 44px; }
    .rf-sewing .rf-home-process { margin-top: 20px; padding-bottom: 0; }
    .rf-sewing-related { margin-top: 20px; padding: 30px 0; }
    .rf-sewing-related header { align-items: flex-end; gap: 10px; }
    .rf-sewing-related header h2 { max-width: 220px; }
    .rf-sewing-related__controls { gap: 6px; }
    .rf-sewing-related__controls button { font-size: 20px; height: 32px; width: 32px; }
    .rf-sewing-related__track { gap: 12px; grid-auto-columns: calc((100% - 12px) / 2); margin-top: 20px; }
    .rf-sewing-related__track > a { border-radius: 20px; padding: 12px; }
    .rf-sewing-related__track > a > div { height: 130px; }
    .rf-sewing .rf-home-cases, .rf-sewing .rf-home-estimate, .rf-sewing .rf-home-production { margin-top: 20px; }
    .rf-sewing .rf-home-cases { padding-bottom: 0; }
    .rf-sewing-faq { margin-top: 20px; }
    .rf-sewing-faq header + div { margin-top: 20px; }
    .rf-sewing-faq summary { font-size: 16px; gap: 12px; }
    .rf-sewing-faq__answer { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .rf-sewing *, .rf-sewing *::before, .rf-sewing *::after { scroll-behavior: auto !important; transition: none !important; }
}
