/* =========================================================
   InvaLife поверх Woodmart — все классы с префиксом iw-
   чтобы не конфликтовать со стилями и вариантами Woodmart.
========================================================= */
:root{
  --iw-green: #2fae60;
  --iw-green-dark: #1f8a4a;
  --iw-green-light: #e6f7ec;
  --iw-green-lighter: #f2fbf5;
  --iw-red: #e53946;
  --iw-red-dark: #cc2936;
  --iw-text: #1a1a1a;
  --iw-text-muted: #6b7280;
  --iw-border: #e7ebe9;
  --iw-radius-lg: 20px;
  --iw-radius-md: 14px;
  --iw-shadow: 0 4px 20px rgba(20,40,30,.06);
  --iw-shadow-hover: 0 10px 30px rgba(20,40,30,.1);
}

/* Необязательно: если хотите, чтобы фирменный шрифт применялся только
   к нашим блокам, а не перебивал шрифт Woodmart в остальных местах —
   ограничьте селектор классом .iw-scope, обернув контент в Elementor
   в контейнер с этим CSS-классом. */
.iw-scope, .iw-scope *{ font-family:"Manrope","Segoe UI",Arial,sans-serif; }

/* Базовое правило для собственных SVG-иконок (inc/icons.php, invalife_icon()).
   Иконка масштабируется через font-size родительского контейнера (1em) —
   поэтому все существующие круглые/квадратные обёртки (.iw-card-icon,
   .iw-stat-icon, .iw-check и т.д.) продолжают работать без изменений: они
   уже задавали font-size под эмодзи, теперь тот же font-size управляет
   размером SVG. */
.iw-icon{ display:inline-flex; align-items:center; justify-content:center; width:1em; height:1em; line-height:0; flex:none; }
.iw-icon svg{ width:100%; height:100%; display:block; }
.iw-icon img{ width:100%; height:100%; object-fit:contain; display:block; }

.iw-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 28px; border-radius:50px; font-weight:700; font-size:16px; border:none; cursor:pointer; transition:.2s ease; text-decoration:none; }
.iw-btn-red{ background:var(--iw-red); color:#fff; }
.iw-btn-red:hover{ background:var(--iw-red-dark); color:#fff; }
.iw-btn-green{ background:var(--iw-green); color:#fff; }
.iw-btn-green:hover{ background:var(--iw-green-dark); color:#fff; }

.iw-hero{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin:20px 0 40px; }
.iw-hero h1{ font-size:42px; font-weight:800; margin:0 0 .3em; line-height:1.15; }
.iw-hero p{ font-size:18px; color:var(--iw-text-muted); margin:0 0 24px; }
.iw-hero-media{ border-radius:var(--iw-radius-lg); overflow:hidden; }
.iw-hero-media img{ width:100%; height:auto; display:block; }
@media (max-width:960px){ .iw-hero{ grid-template-columns:1fr; } }

.iw-section-title{ display:flex; align-items:center; gap:16px; justify-content:center; color:var(--iw-green); font-size:26px; font-weight:800; margin:32px 0; }
.iw-section-title::before, .iw-section-title::after{ content:""; flex:1; height:2px; background:var(--iw-green); opacity:.4; }

.iw-home-project{ display:grid; grid-template-columns:220px 1fr; gap:20px; background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); overflow:hidden; box-shadow:var(--iw-shadow); }
.iw-home-project .iw-placeholder, .iw-home-project img{ min-height:100%; height:100%; }
.iw-home-project .iw-body{ padding:20px 20px 20px 0; }
@media (max-width:960px){ .iw-home-project{ grid-template-columns:1fr; } .iw-home-project .iw-body{ padding:20px; } }

.iw-news-list-compact{ list-style:none; margin:0; padding:0; }
.iw-news-list-compact li{ display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--iw-border); }
.iw-news-list-compact li:last-child{ border-bottom:none; }
.iw-news-list-compact .iw-thumb{ width:64px; height:64px; border-radius:10px; overflow:hidden; flex:none; }
.iw-news-list-compact .iw-thumb img, .iw-news-list-compact .iw-thumb .iw-placeholder{ width:64px; height:64px; min-height:64px; font-size:0; border-radius:10px; }
.iw-news-list-compact .iw-meta{ flex:1; }
.iw-news-list-compact .iw-meta a{ font-weight:700; text-decoration:none; color:var(--iw-text); }
.iw-news-list-compact .iw-date{ font-size:13px; color:var(--iw-text-muted); }

.iw-breadcrumbs{ font-size:14px; color:var(--iw-text-muted); margin:16px 0; }
.iw-breadcrumbs a{ color:var(--iw-green); text-decoration:none; }
.iw-breadcrumbs .iw-sep{ margin:0 6px; }
.iw-breadcrumbs .iw-current{ color:var(--iw-text-muted); }

.iw-page-header h1{ font-size:38px; margin:0 0 .3em; }
.iw-page-header p{ max-width:760px; color:var(--iw-text-muted); font-size:16px; }

.iw-mission{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:28px; box-shadow:var(--iw-shadow); margin:24px 0; }
.iw-mission-media{ border-radius:var(--iw-radius-md); overflow:hidden; }
.iw-mission-media img{ width:100%; height:auto; display:block; border-radius:var(--iw-radius-md); }
.iw-mission-body h3{ margin:0 0 .4em; font-size:22px; }
.iw-mission-body p{ color:var(--iw-text-muted); margin:0; }
@media (max-width:960px){ .iw-mission{ grid-template-columns:1fr; } }

.iw-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.iw-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:24px 0; }
@media (max-width:960px){ .iw-grid-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .iw-grid-4{ grid-template-columns:1fr; } }
.iw-card{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:28px; box-shadow:var(--iw-shadow); transition:.2s ease; }
.iw-card:hover{ box-shadow:var(--iw-shadow-hover); transform:translateY(-2px); }
.iw-card-icon{ width:64px; height:64px; border-radius:50%; background:var(--iw-green-light); display:flex; align-items:center; justify-content:center; margin-bottom:18px; color:var(--iw-green); font-size:28px; }
.iw-card h3{ font-size:20px; margin:0 0 .5em; }
.iw-card p{ color:var(--iw-text-muted); margin:0; }

.iw-stats-row{ display:grid; grid-template-columns:repeat(var(--iw-cols,3),1fr); gap:24px; margin:24px 0; }
.iw-stat-card{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:24px; display:flex; align-items:center; gap:16px; box-shadow:var(--iw-shadow); }
.iw-stat-icon{ width:56px; height:56px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-green); display:flex; align-items:center; justify-content:center; font-size:24px; flex:none; }
.iw-num{ font-size:28px; font-weight:800; color:var(--iw-green); }
.iw-label{ font-size:14px; color:var(--iw-text-muted); }

.iw-tabs-nav{ display:flex; gap:10px; border-bottom:1px solid var(--iw-border); margin:24px 0; flex-wrap:wrap; }
.iw-tabs-nav a{ padding:14px 20px; font-weight:600; color:var(--iw-text-muted); border-bottom:3px solid transparent; margin-bottom:-1px; text-decoration:none; }
.iw-tabs-nav a.active, .iw-tabs-nav a:hover{ color:var(--iw-green); border-color:var(--iw-green); }

.iw-team-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:24px 0; }
.iw-team-card{ display:flex; gap:16px; align-items:center; background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:18px; box-shadow:var(--iw-shadow); }
.iw-avatar{ width:64px; height:64px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-green); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:20px; flex:none; overflow:hidden; }
.iw-name{ font-weight:700; }
.iw-role{ font-size:14px; color:var(--iw-text-muted); }

.iw-timeline{ display:flex; justify-content:space-between; position:relative; margin:36px 0; gap:10px; }
.iw-timeline::before{ content:""; position:absolute; top:11px; left:0; right:0; height:2px; background:var(--iw-green); opacity:.4; }
.iw-timeline-item{ flex:1; text-align:center; position:relative; }
.iw-dot{ width:22px; height:22px; border-radius:50%; background:var(--iw-green); margin:0 auto 14px; position:relative; z-index:2; }
.iw-year{ font-weight:800; color:var(--iw-green); font-size:20px; }
.iw-desc{ font-size:14px; color:var(--iw-text-muted); }

.iw-doc-list{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); overflow:hidden; box-shadow:var(--iw-shadow); list-style:none; margin:0; padding:0; }
.iw-doc-list li{ display:flex; align-items:center; gap:16px; padding:18px 24px; border-bottom:1px solid var(--iw-border); }
.iw-doc-list li:last-child{ border-bottom:none; }
.iw-doc-icon{ width:40px; height:40px; border-radius:8px; background:var(--iw-red); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex:none; }
.iw-doc-name{ flex:1; font-weight:600; }
.iw-doc-meta{ color:var(--iw-text-muted); font-size:14px; }

.iw-partners-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:24px 0; }
.iw-partner-logo{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:36px 20px; text-align:center; box-shadow:var(--iw-shadow); }
.iw-mark{ width:60px; height:60px; margin:0 auto 14px; border-radius:14px; background:var(--iw-green-light); }

.iw-testimonial{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:36px; box-shadow:var(--iw-shadow); margin:24px 0; }
.iw-quote-mark{ font-size:40px; color:var(--iw-green); line-height:1; }
.iw-quote-text{ font-size:17px; color:var(--iw-text); }
.iw-author{ font-weight:700; margin-top:10px; }

.iw-cta-banner{ display:flex; align-items:center; justify-content:space-between; gap:20px; background:var(--iw-green-lighter); border-radius:var(--iw-radius-lg); padding:28px 32px; margin:24px 0; flex-wrap:wrap; }
.iw-cta-left{ display:flex; align-items:center; gap:16px; }
.iw-cta-left h3{ margin:0 0 4px; }
.iw-cta-left p{ margin:0; color:var(--iw-text-muted); }

.iw-project-card{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); overflow:hidden; box-shadow:var(--iw-shadow); transition:.2s; }
.iw-project-card:hover{ box-shadow:var(--iw-shadow-hover); transform:translateY(-2px); }
.iw-project-card .iw-body{ padding:20px; }
.iw-badge{ display:inline-block; background:var(--iw-green); color:#fff; font-size:13px; font-weight:700; padding:5px 14px; border-radius:50px; margin-bottom:10px; }
.iw-link-arrow{ color:var(--iw-green); font-weight:700; text-decoration:none; }
.iw-placeholder{ background:linear-gradient(135deg,var(--iw-green-light),#dfeee2); color:var(--iw-green-dark); display:flex; align-items:center; justify-content:center; font-weight:700; text-align:center; padding:20px; min-height:170px; }
.iw-thumb-img{ width:100%; height:auto; display:block; }

.iw-contact-form input, .iw-contact-form textarea{ width:100%; padding:16px; border-radius:12px; border:1px solid var(--iw-border); font-family:inherit; font-size:15px; margin-bottom:16px; box-sizing:border-box; }
.iw-contact-form textarea{ min-height:130px; resize:vertical; }
.iw-form-msg{ padding:14px 18px; border-radius:10px; margin-bottom:16px; font-weight:600; }
.iw-form-msg.iw-success{ background:#e6f7ec; color:var(--iw-green-dark); }
.iw-form-msg.iw-error{ background:#fdeceb; color:var(--iw-red-dark); }

/* ---- Новости ---- */
.iw-news-card{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); overflow:hidden; box-shadow:var(--iw-shadow); transition:.2s; }
.iw-news-card:hover{ box-shadow:var(--iw-shadow-hover); transform:translateY(-2px); }
.iw-news-card .iw-body{ padding:20px; }
.iw-news-card.iw-featured{ display:grid; grid-template-columns:1fr 1fr; }
.iw-news-card.iw-featured .iw-body{ padding:28px; }
@media (max-width:960px){ .iw-news-card.iw-featured{ grid-template-columns:1fr; } }

.iw-news-search{ display:flex; align-items:center; gap:10px; background:var(--iw-green-lighter); border-radius:50px; padding:14px 20px; margin-bottom:20px; }
.iw-news-search input{ border:0; background:transparent; flex:1; font-size:15px; outline:none; }
.iw-sidebar-box{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:22px; margin-bottom:20px; box-shadow:var(--iw-shadow); }
.iw-sidebar-box h4{ font-size:16px; margin:0 0 14px; }
.iw-cat-list{ list-style:none; margin:0; padding:0; }
.iw-cat-list li{ padding:8px 0; }
.iw-cat-list a{ display:flex; gap:8px; color:var(--iw-text-muted); font-weight:600; text-decoration:none; }
.iw-cat-list a:hover{ color:var(--iw-green); }
.iw-popular-post{ display:flex; gap:12px; align-items:center; margin-bottom:16px; }
.iw-popular-post .iw-thumb{ width:56px; height:56px; border-radius:10px; flex:none; overflow:hidden; }
.iw-popular-post a{ font-weight:700; text-decoration:none; color:var(--iw-text); }
.iw-pagination{ display:flex; gap:8px; justify-content:center; margin:30px 0; }
.iw-pagination a, .iw-pagination span{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:10px; border:1px solid var(--iw-border); font-weight:600; text-decoration:none; color:var(--iw-text); }
.iw-pagination .iw-current{ background:var(--iw-green); color:#fff; border-color:var(--iw-green); }

/* ---- Контакты ---- */
.iw-contact-info{ list-style:none; margin:0; padding:0; }
.iw-contact-info li{ display:flex; gap:16px; align-items:center; background:var(--iw-green-lighter); border-radius:var(--iw-radius-md); padding:20px; margin-bottom:16px; }
.iw-contact-info .iw-icon{ width:48px; height:48px; border-radius:50%; background:var(--iw-green); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; font-size:18px; }
.iw-map-frame{ border:2px solid var(--iw-green); border-radius:var(--iw-radius-lg); overflow:hidden; margin:20px 0; }
.iw-map-frame iframe{ width:100%; height:340px; border:0; display:block; }

/* ---- Проекты: фильтры и featured ---- */
.iw-filter-pills{ display:flex; gap:12px; margin:20px 0; flex-wrap:wrap; }
.iw-filter-pills a{ padding:10px 22px; border-radius:50px; font-weight:600; border:1px solid var(--iw-border); color:var(--iw-text-muted); text-decoration:none; }
.iw-filter-pills a.active{ background:var(--iw-green); border-color:var(--iw-green); color:#fff; }
.iw-project-card.iw-featured{ grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }
.iw-project-card.iw-featured img, .iw-project-card.iw-featured .iw-placeholder{ min-height:100%; }
.iw-project-card.iw-featured .iw-body{ padding:32px; }
.iw-badge.iw-gray{ background:#eef1ef; color:var(--iw-text-muted); }
@media (max-width:960px){ .iw-project-card.iw-featured{ grid-template-columns:1fr; } }

/* ---- Поддержи нас ---- */
.iw-donate-intro h1{ font-size:38px; margin:0 0 .3em; }
.iw-donate-intro p{ font-size:17px; color:var(--iw-text-muted); margin:0 0 20px; }
.iw-donate-intro img, .iw-donate-intro .iw-placeholder{ border-radius:var(--iw-radius-lg); width:100%; }
.iw-donate-panel{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:30px; box-shadow:var(--iw-shadow); }
.iw-freq-toggle{ display:flex; align-items:center; gap:14px; justify-content:center; margin:16px 0 6px; font-weight:600; }
.iw-switch{ width:52px; height:28px; border-radius:20px; background:var(--iw-green); position:relative; cursor:pointer; }
.iw-switch .iw-knob{ width:22px; height:22px; border-radius:50%; background:#fff; position:absolute; top:3px; left:3px; transition:.2s; }
.iw-switch.off .iw-knob{ left:auto; right:3px; }
.iw-donate-note{ font-size:12px; color:var(--iw-text-muted); text-align:center; }

/* Донат-блок в товаре WooCommerce */
.iw-donate-amounts{ margin:20px 0; }
.iw-amount-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.iw-amount-grid button{ padding:14px 8px; border-radius:12px; border:2px solid var(--iw-border); background:#fff; font-weight:700; cursor:pointer; }
.iw-amount-grid button.active{ border-color:var(--iw-green); background:var(--iw-green-light); color:var(--iw-green-dark); }
.iw-donation-input{ width:100%; padding:14px; border-radius:12px; border:1px solid var(--iw-border); font-size:16px; box-sizing:border-box; }

@media (max-width: 960px){
  .iw-grid-3, .iw-team-grid, .iw-partners-grid, .iw-stats-row{ grid-template-columns:1fr !important; }
  .iw-timeline{ flex-direction:column; }
  .iw-timeline::before{ display:none; }
  .iw-amount-grid{ grid-template-columns:repeat(2,1fr); }
}

/* =========================================================
   Раздел «Услуги» — сетка, сайдбар, чек-лист, шаги, прокат
   (добавлено отдельным блоком, ничего выше не менялось)
========================================================= */
.iw-services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:24px 0; }
.iw-service-card .iw-service-icon{ font-size:28px; }
@media (max-width:960px){ .iw-services-grid{ grid-template-columns:1fr; } }

.iw-service-sidebar{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); overflow:hidden; box-shadow:var(--iw-shadow); }
.iw-service-sidebar-item{ display:flex; align-items:center; gap:14px; padding:18px 20px; font-weight:600; color:var(--iw-text); text-decoration:none; border-bottom:1px solid var(--iw-border); }
.iw-service-sidebar-item:last-child{ border-bottom:none; }
.iw-service-sidebar-item:hover{ background:var(--iw-green-lighter); }
.iw-service-sidebar-item.active{ background:var(--iw-green); color:#fff; }
.iw-service-sidebar-icon{ font-size:20px; flex:none; }

.iw-service-image img{ width:100%; height:auto; border-radius:var(--iw-radius-lg); display:block; }
.iw-service-image .iw-placeholder{ border-radius:var(--iw-radius-lg); }

.iw-service-checklist{ margin:24px 0; }
.iw-service-checklist h3{ color:var(--iw-green); font-size:20px; margin:0 0 16px; }
.iw-service-checklist ul{ list-style:none; margin:0; padding:0; }
.iw-service-checklist li{ display:flex; align-items:center; gap:12px; padding:8px 0; font-weight:500; }
.iw-service-checklist .iw-check{ width:24px; height:24px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-green); display:flex; align-items:center; justify-content:center; font-size:13px; flex:none; }

.iw-service-steps{ background:var(--iw-bg-soft,#f7f9f8); border-radius:var(--iw-radius-lg); padding:28px; margin:24px 0; }
.iw-service-steps-title{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.iw-service-steps-title h3{ margin:0; font-size:20px; }
.iw-service-steps-icon{ font-size:22px; }
.iw-service-steps ol{ list-style:none; margin:0; padding:0; }
.iw-service-steps li{ display:flex; align-items:center; gap:14px; padding:10px 0; font-weight:500; }
.iw-step-num{ width:28px; height:28px; border-radius:50%; background:var(--iw-green); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex:none; }

.iw-service-cta{ margin:20px 0; }

.iw-rental-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:24px 0; }
.iw-rental-card{ background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); overflow:hidden; box-shadow:var(--iw-shadow); text-align:center; }
.iw-rental-card .iw-placeholder{ border-radius:0; }
.iw-rental-name{ font-weight:700; margin:14px 10px 4px; }
.iw-rental-price{ color:var(--iw-green); font-weight:700; margin-bottom:14px; }
@media (max-width:960px){ .iw-rental-grid{ grid-template-columns:repeat(2,1fr); } .iw-service-sidebar{ flex-direction:row; overflow-x:auto; } }

/* Текстовые параграфы описания услуги (используются готовыми шорткодами страниц услуг) */
.iw-service-text{ margin:20px 0; }
.iw-service-text p{ font-size:16px; color:var(--iw-text-muted); margin:0 0 1em; }

/* =========================================================
   Страница отдельного проекта (single-inv_project.php)
========================================================= */
.iw-project-hero{ position:relative; border-radius:var(--iw-radius-lg); overflow:hidden; margin:20px 0 28px; }
.iw-project-hero img{ width:100%; height:auto; max-height:460px; object-fit:cover; display:block; }
.iw-project-hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:45%; background:linear-gradient(to top, rgba(0,0,0,.55), transparent); pointer-events:none; }
.iw-project-hero-badge{ position:absolute; top:20px; left:20px; background:var(--iw-green); color:#fff; font-weight:700; font-size:14px; padding:8px 18px; border-radius:50px; z-index:2; }
.iw-project-hero-title{ position:absolute; left:24px; bottom:20px; color:#fff; font-size:34px; font-weight:800; margin:0; z-index:2; text-shadow:0 2px 10px rgba(0,0,0,.3); }

.iw-project-meta-row{ display:flex; gap:20px; background:#fff; border:1px solid var(--iw-border); border-radius:var(--iw-radius-lg); padding:20px 24px; box-shadow:var(--iw-shadow); margin-bottom:32px; flex-wrap:wrap; }
.iw-project-meta-item{ display:flex; align-items:center; gap:12px; flex:1; min-width:180px; }
.iw-project-meta-icon{ width:40px; height:40px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-green); display:flex; align-items:center; justify-content:center; font-size:18px; flex:none; }
.iw-project-meta-label{ display:block; font-size:13px; color:var(--iw-text-muted); }
.iw-project-meta-item strong{ font-size:15px; }

.iw-project-description p{ font-size:16px; color:var(--iw-text-muted); }

.iw-project-goals{ list-style:none; margin:16px 0 32px; padding:0; }
.iw-project-goals li{ display:flex; align-items:center; gap:12px; padding:8px 0; font-weight:500; }
.iw-project-goals .iw-check{ width:24px; height:24px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-green); display:flex; align-items:center; justify-content:center; font-size:13px; flex:none; }

.iw-project-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0 36px; }
.iw-project-gallery-item{ border-radius:var(--iw-radius-md); overflow:hidden; }
.iw-project-gallery-item img{ width:100%; height:180px; object-fit:cover; display:block; }

.iw-project-results{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:20px 0 40px; }
.iw-project-result{ display:flex; align-items:center; gap:14px; }
.iw-project-result-icon{ font-size:28px; }

@media (max-width:960px){
  .iw-project-meta-row{ flex-direction:column; }
  .iw-project-gallery{ grid-template-columns:repeat(2,1fr); }
  .iw-project-results{ grid-template-columns:1fr; }
  .iw-project-hero-title{ font-size:24px; }
}

/* =========================================================
   Формы: вступление, партнёрство, запись на услуги
========================================================= */
.iw-join-form, .iw-booking-form{ max-width:560px; }

.iw-contact-form select{
  width:100%; padding:16px; border-radius:12px; border:1px solid var(--iw-border);
  font-family:inherit; font-size:15px; margin-bottom:16px; background:#fff; box-sizing:border-box;
}

.iw-file-field{ display:block; margin-bottom:16px; }
.iw-file-field-label{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:14px; margin-bottom:8px; color:var(--iw-text); }
.iw-file-field-label .iw-icon{ color:var(--iw-green); }
.iw-file-field input[type="file"]{
  width:100%; padding:14px; border-radius:12px; border:1.5px dashed var(--iw-border);
  background:var(--iw-green-lighter); font-size:14px; box-sizing:border-box; cursor:pointer;
}
.iw-file-field input[type="file"]:hover{ border-color:var(--iw-green); }

.iw-consent-field{ display:flex; align-items:flex-start; gap:10px; margin:6px 0 20px; font-size:13px; color:var(--iw-text-muted); line-height:1.5; cursor:pointer; }
.iw-consent-field input[type="checkbox"]{ margin-top:3px; width:16px; height:16px; accent-color:var(--iw-green); flex:none; }
.iw-consent-field a{ color:var(--iw-green); font-weight:600; }

.iw-booking-block-title{ display:flex; align-items:center; gap:10px; font-size:17px; margin:24px 0 14px; color:var(--iw-green); }
.iw-booking-block-title:first-of-type{ margin-top:0; }
.iw-booking-block-title .iw-icon{ width:1.3em; height:1.3em; }
.iw-booking-hint{ font-size:12px; color:var(--iw-text-muted); margin:-10px 0 16px; }

/* =========================================================
   Блок «Скачать документы» ([invalife_download_block])
========================================================= */
.iw-download-block{
  display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--iw-border);
  border-radius:var(--iw-radius-lg); padding:22px 24px; box-shadow:var(--iw-shadow); margin:20px 0; flex-wrap:wrap;
}
.iw-download-icon{
  width:52px; height:52px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-green);
  display:flex; align-items:center; justify-content:center; font-size:24px; flex:none;
}
.iw-download-body{ flex:1; min-width:180px; }
.iw-download-body h3{ margin:0 0 4px; font-size:17px; }
.iw-download-body p{ margin:0; font-size:14px; color:var(--iw-text-muted); }
.iw-download-block .iw-btn{ flex:none; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }

/* =========================================================
   Обновлённый блок оплаты пожертвования — красивая карточка
========================================================= */
.iw-donate-panel-heading{ display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:18px; }
.iw-donate-panel-heading h3{ margin:0; font-size:19px; }
.iw-donate-panel-icon{
  width:36px; height:36px; border-radius:50%; background:var(--iw-green-light); color:var(--iw-red);
  display:flex; align-items:center; justify-content:center; font-size:16px; flex:none;
}

.iw-donate-payment-cta{
  margin-top:18px; padding:22px; border-radius:var(--iw-radius-lg);
  background:linear-gradient(135deg, var(--iw-green-lighter), #eaf7ef);
  border:1px solid var(--iw-green-light); text-align:center;
}
.iw-donate-pay-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%;
  padding:18px 24px; border-radius:50px; background:var(--iw-red); color:#fff; font-weight:800; font-size:18px;
  text-decoration:none; box-shadow:0 8px 22px rgba(229,57,70,.28); transition:.2s ease;
}
.iw-donate-pay-btn:hover{ background:var(--iw-red-dark); transform:translateY(-2px); box-shadow:0 10px 26px rgba(229,57,70,.35); color:#fff; }
.iw-donate-pay-btn .iw-icon{ color:#fff; width:1.1em; height:1.1em; }

.iw-donate-secure-badge{
  display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px;
  font-size:12.5px; color:var(--iw-green-dark); font-weight:600;
}
.iw-donate-secure-badge .iw-icon{ color:var(--iw-green); width:1.2em; height:1.2em; flex:none; }

@media (max-width:640px){
  .iw-download-block{ flex-direction:column; text-align:center; }
  .iw-download-block .iw-btn{ width:100%; justify-content:center; }
}
