/* ---------- Компактная шапка страницы ---------- */
.fps-phero{background:var(--fps-bg);border-bottom:1px solid var(--fps-border);padding:44px 0 48px;}
.fps-phero h1{font-size:42px;font-weight:800;line-height:1.14;max-width:900px;}
.fps-phero__lead{margin-top:14px;font-size:18px;color:var(--fps-muted);max-width:720px;}
.fps-phero .fps-crumbs{margin-bottom:16px;}

.fps-section--top{padding-top:56px;}

/* ---------- Хаб услуг: фото-карточки ---------- */
.fps-phero--plain{background:var(--fps-white);border-bottom:0;padding:44px 0 0;}
.fps-phero--plain h1{font-size:36px;}
.fps-phero--plain .fps-phero__lead{font-size:16px;max-width:640px;}
.fps-phero--plain + .fps-section--top{padding-top:32px;}

.fps-narrow{max-width:700px;margin:0 auto;}
.fps-narrow h2{font-size:26px;font-weight:700;margin-bottom:12px;}
.fps-narrow p{color:var(--fps-muted);font-size:15px;font-weight:500;margin-bottom:20px;}

/* ---------- Страница услуги ---------- */
.fps-photo{border-radius:12px;overflow:hidden;background:var(--fps-bg);position:relative;aspect-ratio:1/1;}
.fps-photo img{width:100%;height:100%;object-fit:cover;}
.fps-photo__ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;
  color:var(--fps-muted);
}
.fps-photo__ph i{font-size:28px;opacity:.7;}
.fps-photo__ph span{font-size:12.5px;font-weight:500;line-height:1.5;max-width:260px;}

.fps-svchero{padding:52px 0 64px;}
.fps-svchero--grad{background:linear-gradient(90deg,#f7faff 0%,#fff 62%,#f6f9fd 100%);}
.fps-svchero .fps-crumbs{margin-bottom:26px;}
.fps-svchero__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.fps-svchero .fps-photo,
.fps-svchero .fps-heroshot{aspect-ratio:auto;height:100%;min-height:460px;}
.fps-svchero .fps-photo img,
.fps-svchero .fps-heroshot img{height:100%;aspect-ratio:auto;object-fit:cover;}
.fps-svchero h1{font-size:42px;font-weight:800;line-height:1.14;margin-bottom:18px;}
.fps-svchero__sub{font-size:16.5px;color:var(--fps-muted);max-width:480px;margin-bottom:28px;}
.fps-svchero__ctas{display:flex;gap:14px;flex-wrap:wrap;}

.fps-editorial{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.fps-editorial--reverse .fps-photo{order:2;}
.fps-editorial--reverse .fps-editorial__copy{order:1;}
.fps-editorial__copy h2{font-size:30px;font-weight:700;margin-bottom:16px;}
.fps-editorial__copy p{color:var(--fps-muted);font-size:15px;margin-bottom:16px;}
.fps-editorial__copy p:last-child{margin-bottom:0;}

.fps-problems{list-style:none;margin:0;padding:0;}
.fps-problems li{
  display:flex;align-items:flex-start;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--fps-border);font-size:15px;color:var(--fps-text);
}
.fps-problems li:last-child{border-bottom:none;}
.fps-problems__chk{
  flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--fps-blue);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;
}

.fps-types{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fps-types__item{border-radius:12px;overflow:hidden;background:var(--fps-bg);}
.fps-types__item .fps-photo{border-radius:0;}
.fps-types__item h3{font-size:17px;font-weight:700;padding:16px;}


.fps-steps--4{grid-template-columns:repeat(4,1fr);}
.fps-steps--4::before{top:23px;left:calc(100%/8);right:calc(100%/8);}
.fps-steps--4 .fps-step{padding-right:24px;}
.fps-steps--4 .fps-step__num{
  width:46px;height:46px;border:0;font-size:17px;margin-bottom:20px;
  background:var(--fps-blue);color:var(--fps-white);
}

.fps-related{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.fps-related__card{
  display:block;border-radius:12px;overflow:hidden;background:var(--fps-white);
  border:1px solid var(--fps-border);transition:border-color .15s ease,transform .15s ease;
}
.fps-related__card:hover{border-color:var(--fps-blue);transform:translateY(-3px);}
.fps-related__card .fps-photo{border-radius:0;}
.fps-related__body{padding:18px 20px 20px;}
.fps-related__body h3{font-size:17px;font-weight:700;margin-bottom:6px;}
.fps-related__body p{font-size:13.5px;color:var(--fps-muted);}

.fps-narrow--wide{max-width:760px;}
.fps-narrow--wide h2{font-size:28px;}
.fps-narrow--wide .fps-chips{margin:0 0 22px;}

/* ---------- Текст + медиа ---------- */
.fps-split{display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:start;}
.fps-split--single{grid-template-columns:1fr;max-width:860px;}
.fps-split__media img{width:100%;border-radius:14px;}

.fps-prose--narrow{max-width:860px;}
.fps-bullets{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px;}
.fps-bullets li{
  position:relative;padding:14px 16px 14px 44px;
  border:1px solid var(--fps-border);border-radius:var(--fps-radius);background:var(--fps-bg);
  font-size:16px;
}
.fps-bullets li::before{
  content:'';position:absolute;left:16px;top:20px;width:14px;height:8px;
  border-left:2px solid var(--fps-blue);border-bottom:2px solid var(--fps-blue);
  transform:rotate(-45deg);
}

/* ---------- Плитки городов ---------- */
.fps-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fps-tile{
  display:flex;align-items:center;gap:18px;min-height:112px;
  border:1px solid var(--fps-border);border-radius:10px;
  padding:26px 28px;background:var(--fps-bg);
  transition:border-color .15s ease,transform .15s ease,background .15s ease;
}
.fps-tile:hover{border-color:var(--fps-blue);background:var(--fps-white);transform:translateY(-2px);}
.fps-tile__icon{
  flex-shrink:0;width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,#eaf2fc,#dbe9fa);
  display:flex;align-items:center;justify-content:center;color:var(--fps-blue-deep);font-size:20px;
}
.fps-tile__name{font-family:'Archivo',sans-serif;font-weight:600;font-size:20px;color:var(--fps-navy);}

/* ---------- Дисклеймер брендов ---------- */
.fps-disclaimer{font-size:13.5px;color:var(--fps-muted);max-width:900px;}

/* ---------- Контакты ---------- */
.fps-contact{display:grid;grid-template-columns:1.25fr 0.75fr;gap:56px;align-items:start;}
.fps-contact__info h2{font-size:24px;font-weight:700;margin-bottom:22px;}
.fps-contact__item{display:flex;gap:14px;margin-bottom:20px;}
.fps-contact__icon{
  flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--fps-bg);
  border:1px solid var(--fps-border);display:flex;align-items:center;justify-content:center;
  color:var(--fps-blue-deep);font-size:16px;
}
.fps-contact__label{font-size:13px;color:var(--fps-muted);text-transform:uppercase;letter-spacing:.04em;}
.fps-contact__value{font-size:17.5px;font-weight:700;color:var(--fps-navy);}
a.fps-contact__value:hover{color:var(--fps-blue);}
.fps-contact__note{
  margin-top:26px;padding:16px 18px;border-left:3px solid var(--fps-blue);
  background:var(--fps-bg);font-size:14.5px;color:var(--fps-muted);border-radius:0 var(--fps-radius) var(--fps-radius) 0;
}

.fps-callout{border:1px solid var(--fps-border);border-radius:var(--fps-radius);padding:34px 32px;background:var(--fps-bg);}
.fps-callout h2{font-size:26px;font-weight:700;margin-bottom:10px;}
.fps-callout p{color:var(--fps-muted);font-size:17px;margin-bottom:22px;max-width:520px;}

.fps-notice{
  border:1px solid #f0d38a;background:#fdf7e6;border-radius:var(--fps-radius);
  padding:16px 18px;font-size:14.5px;color:#6b5312;margin-bottom:24px;line-height:1.6;
}

/* ---------- Форма (CF7 и превью полей) ---------- */
.fps-form,.wpcf7-form{display:grid;gap:16px;max-width:760px;}
.fps-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fps-form label,.wpcf7-form label{display:block;font-size:14.5px;font-weight:600;color:var(--fps-navy);}
.fps-form input,.fps-form textarea,
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],
.wpcf7-form input[type=date],.wpcf7-form input[type=file],.wpcf7-form textarea,.wpcf7-form select{
  width:100%;margin-top:7px;padding:12px 14px;
  border:1px solid var(--fps-border);border-radius:var(--fps-radius);
  font-family:inherit;font-size:16px;color:var(--fps-text);background:var(--fps-white);
}
.fps-form input:focus,.fps-form textarea:focus,
.wpcf7-form input:focus,.wpcf7-form textarea:focus,.wpcf7-form select:focus{
  outline:none;border-color:var(--fps-blue);box-shadow:0 0 0 3px rgba(37,105,196,.12);
}
.wpcf7-form input[type=submit]{
  width:auto;background:var(--fps-blue);color:#fff;border:none;
  padding:14px 28px;font-weight:600;font-size:17px;cursor:pointer;
}
.wpcf7-form input[type=submit]:hover{background:var(--fps-blue-deep);}
.fps-form--preview{opacity:.75;pointer-events:none;}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-tiles{grid-template-columns:repeat(2,1fr);}
  .fps-split{gap:36px;}
  .fps-contact{gap:36px;}
  .fps-svchero__grid{grid-template-columns:1fr;}
  .fps-svchero .fps-photo{order:-1;}
  .fps-editorial{grid-template-columns:1fr;}
  .fps-editorial--reverse .fps-photo,.fps-editorial--reverse .fps-editorial__copy{order:0;}
  .fps-editorial .fps-photo{order:-1;}
  .fps-types{grid-template-columns:repeat(2,1fr);}
  .fps-related{grid-template-columns:repeat(2,1fr);}
  .fps-steps--4{grid-template-columns:repeat(2,1fr);row-gap:32px;}
  .fps-steps--4::before{display:none;}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-phero{padding:26px 0 30px;}
  .fps-phero h1{font-size:29px;}
  .fps-phero__lead{font-size:16.5px;}
  .fps-section--top{padding-top:36px;}
  .fps-phero--plain{padding:26px 0 0;}
  .fps-phero--plain h1{font-size:26px;}
  .fps-phero--plain + .fps-section--top{padding-top:22px;}
  .fps-svchero{padding:32px 0 44px;}
  .fps-svchero .fps-photo,
  .fps-svchero .fps-heroshot{min-height:300px;}
  .fps-svchero .fps-crumbs{margin-bottom:18px;}
  .fps-svchero h1{font-size:28px;}
  .fps-svchero__ctas{flex-direction:column;}
  .fps-svchero__ctas .fps-btn{width:100%;}
  .fps-editorial{gap:28px;}
  .fps-editorial__copy h2{font-size:24px;}
  .fps-types,.fps-related{grid-template-columns:1fr;}
  .fps-steps--4{grid-template-columns:1fr;}
  .fps-narrow--wide h2{font-size:24px;}

  .fps-split,.fps-contact{grid-template-columns:1fr;gap:28px;}
  .fps-split__media{order:-1;}
  .fps-tiles{grid-template-columns:1fr 1fr;gap:12px;}
  .fps-tile{padding:16px 14px;gap:12px;min-height:0;}
  .fps-tile__icon{width:40px;height:40px;border-radius:11px;font-size:16px;}
  .fps-tile__name{font-size:16px;}
  .fps-form__row{grid-template-columns:1fr;}
  .fps-callout{padding:24px 20px;}
  .fps-callout h2{font-size:22px;}
}

.fps-blockhead{margin-bottom:40px;}
.fps-blockhead h2{font-size:36px;font-weight:700;line-height:1.2;max-width:820px;margin-bottom:14px;}
.fps-blockhead .fps-lead{margin:0;}
.fps-blockhead--center{max-width:760px;margin-left:auto;margin-right:auto;text-align:center;}
.fps-blockhead--center h2{max-width:none;}
.fps-blockhead--center .fps-lead{margin:0 auto;}

/* ---------- Карта + зона покрытия ---------- */
.fps-coverage{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.fps-coverage__map{
  border:1px solid var(--fps-border);border-radius:12px;overflow:hidden;background:var(--fps-bg);
}
.fps-coverage__map iframe{display:block;width:100%;height:440px;border:0;}
.fps-coverage__copy h2{font-size:30px;font-weight:700;line-height:1.2;margin-bottom:16px;}
.fps-coverage__copy p{color:var(--fps-muted);font-size:15.5px;line-height:1.7;margin-bottom:14px;}
.fps-coverage__copy p:last-of-type{margin-bottom:0;}

/* ---------- Ссылки на услуги ---------- */
.fps-svclinks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.fps-svclink{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:68px;padding:0 22px;
  border:1px solid var(--fps-border);border-radius:9px;background:var(--fps-white);
  font-family:'Archivo',sans-serif;font-weight:600;font-size:16.5px;color:var(--fps-navy);
  transition:border-color .15s ease,transform .15s ease;
}
.fps-svclink:hover{border-color:var(--fps-blue);transform:translateY(-2px);}
.fps-svclink__arrow{color:var(--fps-blue);font-size:19px;line-height:1;transition:transform .15s ease;}
.fps-svclink:hover .fps-svclink__arrow{transform:translateX(4px);}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-coverage{grid-template-columns:1fr;gap:32px;}
  .fps-coverage__map{order:-1;}
  .fps-coverage__map iframe{height:360px;}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-blockhead{margin-bottom:28px;}
  .fps-blockhead h2{font-size:27px;}
  .fps-coverage__map iframe{height:300px;}
  .fps-coverage__copy h2{font-size:24px;}
  .fps-svclinks{grid-template-columns:1fr;}
  .fps-svclink{min-height:60px;padding:0 18px;font-size:15.5px;}
}


/* ---------- Одноколоночные варианты ---------- */
.fps-editorial--single,
.fps-svchero__grid--single .fps-photo,
.fps-svchero__grid--single .fps-heroshot{min-height:0;}
.fps-svchero__grid--single,
.fps-coverage--single{grid-template-columns:1fr;}
.fps-editorial--single .fps-editorial__copy,
.fps-coverage--single .fps-coverage__copy{max-width:820px;}

/* ---------- Фото в шапке с плашкой ---------- */
.fps-heroshot{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(31,48,69,.12);}
.fps-heroshot img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;}
.fps-heroshot__badge{
  position:absolute;left:22px;bottom:22px;width:min(320px,calc(100% - 44px));
  padding:18px 20px;border-radius:12px;background:rgba(255,255,255,.94);
  box-shadow:0 10px 30px rgba(0,0,0,.1);
}
.fps-heroshot__badge strong{display:block;margin-bottom:5px;font-size:17px;font-weight:700;color:var(--fps-navy);}
.fps-heroshot__badge span{color:var(--fps-muted);font-size:14px;line-height:1.55;}

/* ---------- Карточки премиум-брендов ---------- */
.fps-brandcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fps-brandcard{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--fps-border);border-radius:14px;background:var(--fps-white);
  transition:transform .2s ease,box-shadow .2s ease;
}
.fps-brandcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(24,59,91,.08);}
.fps-brandcard__photo{aspect-ratio:16/10;padding:30px;}
.fps-brandcard__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fps-brandcard__body{padding:22px;}
.fps-brandcard__body h3{margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.25;color:var(--fps-navy);}
.fps-brandcard__body p{margin-bottom:0;color:var(--fps-muted);font-size:15px;line-height:1.6;}
.fps-brandcard__arrow{display:inline-block;margin-top:14px;color:var(--fps-blue);font-size:14px;font-weight:700;}

/* ---------- «Одна компания на все бренды» ---------- */
.fps-whygrid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.fps-whygrid--single{grid-template-columns:1fr;}
.fps-whygrid__title{font-size:36px;font-weight:700;line-height:1.16;margin-bottom:14px;}
.fps-whylist{margin-top:26px;}
.fps-whylist__item{
  display:grid;grid-template-columns:42px 1fr;gap:16px;
  padding:18px 0;border-bottom:1px solid var(--fps-border);
}
.fps-whylist__item:last-child{border-bottom:0;}
.fps-whylist__num{
  width:36px;height:36px;border-radius:50%;background:#eaf3ff;color:var(--fps-blue);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
}
.fps-whylist__item h3{margin-bottom:5px;font-size:18px;font-weight:700;color:var(--fps-navy);}
.fps-whylist__item p{margin:0;color:var(--fps-muted);font-size:15px;line-height:1.6;}

.fps-panel .fps-chips{margin-top:20px;}
.fps-panel .fps-btns{margin-top:24px;}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-brandcards{grid-template-columns:repeat(2,1fr);}
  .fps-whygrid{grid-template-columns:1fr;gap:34px;}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-heroshot__badge{left:14px;bottom:14px;width:calc(100% - 28px);padding:14px 16px;}
  .fps-heroshot__badge strong{font-size:15.5px;}
  .fps-brandcards{grid-template-columns:1fr;}
  .fps-brandcard__body{padding:18px;}
  .fps-brandcard__body h3{font-size:18px;}
  .fps-whygrid__title{font-size:27px;}
}


/* =====================================================
   Страница About (templates/page-about.php)
   ===================================================== */

.fps-svchero--grad-down{background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);}
.fps-svchero__grid--aside{grid-template-columns:1.1fr .8fr;align-items:center;}
.fps-svchero__text{margin-bottom:28px;}
.fps-svchero__text p{color:var(--fps-muted);font-size:17px;line-height:1.75;margin-bottom:14px;}
.fps-svchero__text p:last-child{margin-bottom:0;}

/* ---------- Карточка со списком в шапке ---------- */
.fps-aboutcard{padding:30px;border:1px solid var(--fps-border);border-radius:15px;background:var(--fps-white);}
.fps-aboutcard h2{margin-bottom:16px;font-size:21px;font-weight:700;color:var(--fps-navy);}
.fps-checklist{list-style:none;padding:0;margin:0;}
.fps-checklist li{
  display:flex;align-items:flex-start;gap:11px;
  padding:11px 0;border-bottom:1px solid var(--fps-border);
  color:var(--fps-muted);font-size:15.5px;line-height:1.6;
}
.fps-checklist li:last-child{border-bottom:0;}
.fps-checklist__mark{
  flex:0 0 22px;width:22px;height:22px;margin-top:2px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#eaf3ff;color:var(--fps-blue);font-size:12px;font-weight:800;
}

/* ---------- Текст + боковая панель ---------- */
.fps-storygrid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start;}
.fps-storygrid--single{grid-template-columns:1fr;}
.fps-storygrid__title{font-size:34px;font-weight:700;line-height:1.18;margin-bottom:16px;}
.fps-storygrid p{color:var(--fps-muted);font-size:16px;line-height:1.75;margin-bottom:16px;}
.fps-storygrid p:last-child{margin-bottom:0;}

.fps-infobox{padding:30px;border-radius:15px;background:#eef5fd;}
.fps-infobox h2{margin-bottom:14px;font-size:22px;font-weight:700;color:var(--fps-navy);}
.fps-infobox p{margin-bottom:18px;color:var(--fps-muted);font-size:15.5px;}
.fps-infolinks{display:grid;}
.fps-infolinks a{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:13px 0;border-bottom:1px solid #d8e4ef;
  color:var(--fps-navy);font-family:'Archivo',sans-serif;font-weight:600;font-size:16px;
}
.fps-infolinks a:last-child{border-bottom:0;}
.fps-infolinks a:hover{color:var(--fps-blue);}
.fps-infolinks__arrow{color:var(--fps-blue);font-size:17px;line-height:1;transition:transform .15s ease;}
.fps-infolinks a:hover .fps-infolinks__arrow{transform:translateX(4px);}

/* ---------- Категории техники ---------- */
.fps-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.fps-cap{padding:26px;border:1px solid var(--fps-border);border-radius:14px;background:var(--fps-white);}
.fps-cap__mark{
  width:42px;height:42px;margin-bottom:16px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:#eaf3ff;color:var(--fps-blue);font-size:15px;font-weight:800;
}
.fps-cap h3{margin-bottom:9px;font-size:20px;font-weight:700;color:var(--fps-navy);}
.fps-cap p{margin:0;color:var(--fps-muted);font-size:15px;line-height:1.6;}

/* ---------- Принципы ---------- */
.fps-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px;}
.fps-principle{padding:20px 0;border-bottom:1px solid var(--fps-border);}
.fps-principle h3{margin-bottom:5px;font-size:18px;font-weight:700;color:var(--fps-navy);}
.fps-principle p{margin:0;color:var(--fps-muted);font-size:15px;line-height:1.6;}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-svchero__grid--aside{grid-template-columns:1fr;}
  .fps-storygrid{grid-template-columns:1fr;gap:34px;}
  .fps-caps{grid-template-columns:repeat(2,1fr);}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-svchero__text p{font-size:16px;}
  .fps-aboutcard,.fps-infobox{padding:22px 20px;}
  .fps-storygrid__title{font-size:26px;}
  .fps-caps{grid-template-columns:1fr;}
  .fps-cap{padding:20px;}
  .fps-cap h3{font-size:18px;}
  .fps-principles{grid-template-columns:1fr;gap:0;}
}

/* ---------- Страница Services (templates/page-services.php) ---------- */

/* Список без галочек — подсказка в шапке. */
.fps-checklist--plain li{color:var(--fps-navy);font-family:'Archivo',sans-serif;font-weight:600;font-size:16px;}
.fps-aboutcard__text{margin-bottom:18px;color:var(--fps-muted);font-size:15.5px;line-height:1.7;}

/* Карточка услуги — та же плитка, что у категорий на About, но кликабельная. */
.fps-cap--link{display:block;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;}
.fps-cap--link:hover{border-color:var(--fps-blue);transform:translateY(-3px);box-shadow:0 14px 34px rgba(24,59,91,.08);}
.fps-cap--link h3{color:var(--fps-blue);}
.fps-cap__arrow{display:inline-block;margin-top:16px;color:var(--fps-blue);font-size:14.5px;font-weight:700;}
.fps-cap--link:hover .fps-cap__arrow{text-decoration:underline;}

/* Колонка с преимуществами идёт в одну колонку рядом с блоком ссылок. */
.fps-principles--single{grid-template-columns:1fr;}
.fps-storygrid .fps-principles{margin-top:26px;}

/* =====================================================
   Страница Reviews (templates/page-reviews.php)
   ===================================================== */

/* ---------- Карточки профилей в шапке ---------- */
.fps-sources{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.fps-source{padding:22px;border:1px solid var(--fps-border);border-radius:14px;background:var(--fps-white);}
.fps-source__head{display:flex;align-items:center;gap:12px;}
.fps-source__logo{
  flex:0 0 44px;width:44px;height:44px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  background:#eef4fb;color:var(--fps-blue);font-size:17px;font-weight:800;
}
.fps-source__title{font-size:18px;font-weight:700;line-height:1.25;color:var(--fps-navy);}
.fps-source__stars{margin-top:4px;color:var(--fps-star);letter-spacing:2px;font-size:16px;}
.fps-source__note{margin-top:10px;color:var(--fps-muted);font-size:14px;line-height:1.55;}
.fps-source__link{display:inline-block;margin-top:14px;color:var(--fps-blue);font-size:14px;font-weight:700;}
.fps-source__link:hover{text-decoration:underline;}

/* ---------- Лента отзывов ---------- */
.fps-revcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.fps-revcard{
  display:flex;flex-direction:column;padding:24px;
  border:1px solid var(--fps-border);border-radius:14px;background:var(--fps-white);
}
.fps-revcard__top{display:flex;align-items:center;gap:11px;margin-bottom:12px;}
.fps-revcard__avatar{
  flex:0 0 40px;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#eaf3ff;color:var(--fps-blue);font-size:14px;font-weight:800;
}
.fps-revcard__name{font-weight:700;color:var(--fps-navy);}
.fps-revcard__source{color:var(--fps-blue);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.fps-revcard__stars{margin-bottom:11px;color:var(--fps-star);letter-spacing:1.5px;}
.fps-revcard__text{flex:1;margin:0;color:var(--fps-muted);font-size:15px;line-height:1.7;}
.fps-revcard__date{margin-top:18px;color:#8a96a3;font-size:13px;}

/* ---------- Подсказка редактору ---------- */
.fps-editnote{
  padding:18px 20px;border:1px dashed #b9cde4;border-radius:10px;
  background:#eef5fd;color:#496074;font-size:14.5px;line-height:1.7;
}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-revcards{grid-template-columns:repeat(2,1fr);}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-sources{grid-template-columns:1fr;}
  .fps-revcards{grid-template-columns:1fr;}
  .fps-revcard,.fps-source{padding:20px;}
}

/* =====================================================
   Страница 404 (404.php)
   ===================================================== */

.fps-404{
  display:flex;align-items:center;min-height:620px;padding:76px 0;
  background:
    radial-gradient(circle at 80% 25%,#eef5fd 0,#eef5fd 10%,transparent 32%),
    linear-gradient(180deg,#f9fbfe 0%,#fff 70%);
}
.fps-404 > .fps-wrap{width:min(1180px,calc(100% - 40px));}
.fps-404__grid{display:grid;grid-template-columns:1fr .8fr;gap:64px;align-items:center;}
.fps-404__grid--single{grid-template-columns:1fr;}
.fps-404 h1{margin-bottom:18px;max-width:700px;font-size:clamp(34px,4.6vw,56px);line-height:1.06;letter-spacing:-.03em;}
.fps-404__text{max-width:650px;margin:0;color:var(--fps-muted);font-size:17.5px;line-height:1.75;}

/* Крупная цифра: только декор, поэтому вне потока чтения. */
.fps-404__code{
  font-family:'Archivo',sans-serif;font-size:clamp(110px,16vw,200px);font-weight:800;
  line-height:.82;letter-spacing:-.07em;color:#e6eefa;text-align:right;
  margin-bottom:-42px;user-select:none;
}
.fps-404__card{position:relative;box-shadow:0 18px 45px rgba(31,48,69,.06);}

@media (max-width:1024px){
  .fps-404__grid{grid-template-columns:1fr;gap:38px;}
  .fps-404__aside{order:-1;}
  .fps-404__code{text-align:left;font-size:120px;margin-bottom:-26px;}
}

@media (max-width:760px){
  .fps-404{min-height:0;padding:52px 0;}
  .fps-404__text{font-size:16px;}
  .fps-404__code{font-size:96px;}
}

/* =====================================================
   Страница Request Service (templates/page-contact.php)
   ===================================================== */

.fps-notebox{padding:24px 26px;border:1px solid #d7e7fb;border-radius:14px;background:#eef5ff;}
.fps-notebox strong{display:block;margin-bottom:7px;font-size:18px;font-weight:700;color:var(--fps-navy);}
.fps-notebox p{margin:0;color:var(--fps-muted);font-size:15px;line-height:1.7;}

.fps-rqgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:34px;align-items:start;}
.fps-rqgrid--single{grid-template-columns:1fr;}

.fps-formcard{
  padding:34px;border:1px solid var(--fps-border);border-radius:18px;background:var(--fps-white);
  box-shadow:0 14px 40px rgba(26,52,78,.07);
}
.fps-formcard__head{margin-bottom:26px;}
.fps-formcard__head h2{margin-bottom:8px;font-size:30px;font-weight:700;line-height:1.2;}
.fps-formcard__head p{margin:0;color:var(--fps-muted);font-size:15px;}

/* ---------- Поля CF7 ----------
   Разметку задаёт шаблон формы в CF7, тема отвечает только за вид.
   Селекторы идут «через» span.wpcf7-form-control-wrap, который CF7
   подставляет сам вокруг каждого поля. */
.fps-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.fps-field--full{grid-column:1/-1;}
.fps-field > label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;color:var(--fps-navy);}
.fps-field .wpcf7-form-control-wrap{display:block;}
.fps-field input[type=text],.fps-field input[type=tel],.fps-field input[type=email],
.fps-field input[type=date],.fps-field select,.fps-field textarea{
  width:100%;padding:14px;border:1px solid #cfd8e2;border-radius:8px;
  background:var(--fps-white);color:var(--fps-navy);font:inherit;outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.fps-field input[type=text],.fps-field input[type=tel],.fps-field input[type=email],
.fps-field input[type=date],.fps-field select{height:52px;}
.fps-field textarea{min-height:145px;resize:vertical;}
.fps-field input:focus,.fps-field select:focus,.fps-field textarea:focus{
  border-color:#7aa9e9;box-shadow:0 0 0 3px rgba(18,100,216,.09);
}
.fps-field small{display:block;margin-top:7px;color:#7d8996;font-size:12px;}

.fps-filebox{padding:16px;border:1px dashed #bdc9d5;border-radius:9px;background:#fafcfe;}
.fps-filebox input{border:0;padding:0;height:auto;}

.fps-consent{display:flex;gap:10px;align-items:flex-start;color:#657381;font-size:13px;line-height:1.6;}
.fps-consent .wpcf7-list-item{margin:0;}
.fps-consent .wpcf7-list-item-label{color:#657381;font-size:13px;font-weight:400;}

.fps-submitrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;}
.fps-submitrow .wpcf7-submit{
  min-height:54px;padding:0 26px;border:0;border-radius:var(--fps-radius);
  background:var(--fps-blue);color:var(--fps-white);cursor:pointer;
  font-family:'Archivo',sans-serif;font-size:14px;font-weight:700;
  letter-spacing:.03em;text-transform:uppercase;transition:background .15s ease;
}
.fps-submitrow .wpcf7-submit:hover{background:var(--fps-blue-deep);}
.fps-submitnote{display:inline-block;max-width:430px;color:#6f7c89;font-size:13px;line-height:1.6;}

/* ---------- Полоса преимуществ под формой ---------- */
.fps-trustrow{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  margin-top:34px;padding:22px 26px;border-radius:12px;background:#edf4fc;
}
.fps-trustrow strong{display:block;margin-bottom:4px;font-size:16px;color:var(--fps-navy);}
.fps-trustrow span{color:#647381;font-size:13px;line-height:1.6;}

/* ---------- Боковые карточки ---------- */
.fps-sidecard{
  margin-bottom:20px;padding:28px;
  border:1px solid var(--fps-border);border-radius:16px;background:var(--fps-bg);
}
.fps-sidecard:last-child{margin-bottom:0;}
.fps-sidecard h2{margin-bottom:12px;font-size:21px;font-weight:700;color:var(--fps-navy);}
.fps-sidecard p{margin:0 0 16px;color:var(--fps-muted);font-size:15px;line-height:1.7;}

.fps-contactline{padding:13px 0;border-top:1px solid #dde5ee;}
.fps-contactline:first-of-type{border-top:0;}
.fps-contactline span{
  display:block;margin-bottom:3px;color:#81909d;
  font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
}
.fps-contactline a,.fps-contactline strong{color:var(--fps-navy);font-size:17px;font-weight:600;}
.fps-contactline a:hover{color:var(--fps-blue);}

.fps-stepitem{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:15px 0;border-top:1px solid #dfe6ee;}
.fps-stepitem:first-child{border-top:0;}
.fps-stepitem__num{
  width:32px;height:32px;border-radius:50%;background:#e6f0ff;color:var(--fps-blue);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;
}
.fps-stepitem h3{margin-bottom:2px;font-size:15px;font-weight:700;color:var(--fps-navy);}
.fps-stepitem p{margin:0;color:var(--fps-muted);font-size:13px;line-height:1.55;}

/* =====================================================
   Страница Thank You (templates/page-thank-you.php)
   ===================================================== */

.fps-ty{
  display:flex;align-items:center;min-height:620px;padding:84px 0 90px;
  background:linear-gradient(180deg,#f9fbfe 0%,#fff 52%);
}
.fps-ty__card{width:min(920px,100%);margin:0 auto;text-align:center;}
.fps-ty__check{
  width:76px;height:76px;margin:0 auto 26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#eaf3ff;color:var(--fps-blue);font-size:38px;font-weight:700;
}
.fps-ty h1{margin:0 auto 18px;max-width:780px;font-size:clamp(34px,4.6vw,56px);line-height:1.08;letter-spacing:-.03em;}
.fps-ty__text{max-width:690px;margin:0 auto;color:var(--fps-muted);font-size:17.5px;line-height:1.75;}

.fps-ty__box{
  margin:46px auto 0;padding:34px 36px 30px;text-align:left;
  border:1px solid var(--fps-border);border-radius:16px;background:var(--fps-bg);
}
.fps-ty__box h2{margin-bottom:26px;font-size:26px;font-weight:700;letter-spacing:-.02em;}
.fps-ty__steps{display:grid;grid-template-columns:repeat(3,1fr);}
.fps-ty__step{padding:4px 28px 8px;border-right:1px solid #dfe6ee;}
.fps-ty__step:first-child{padding-left:0;}
.fps-ty__step:last-child{padding-right:0;border-right:0;}
.fps-ty__num{display:inline-block;margin-bottom:11px;color:var(--fps-blue);font-size:13px;font-weight:700;letter-spacing:.08em;}
.fps-ty__step h3{margin-bottom:8px;font-size:18px;font-weight:700;color:var(--fps-navy);}
.fps-ty__step p{margin:0;color:var(--fps-muted);font-size:15px;line-height:1.55;}
.fps-ty__btns{justify-content:center;margin-top:34px;}
.fps-ty__help{margin-top:22px;color:#718091;font-size:14px;}
.fps-ty__help a{color:var(--fps-blue);font-weight:600;}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-rqgrid{grid-template-columns:1fr;}
  .fps-trustrow{grid-template-columns:1fr;}
  .fps-ty__steps{grid-template-columns:1fr;}
  .fps-ty__step,.fps-ty__step:first-child,.fps-ty__step:last-child{
    padding:20px 0;border-right:0;border-bottom:1px solid #dfe6ee;
  }
  .fps-ty__step:last-child{border-bottom:0;}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-formcard{padding:22px 20px;}
  .fps-formcard__head h2{font-size:24px;}
  .fps-form__grid{grid-template-columns:1fr;}
  .fps-field--full{grid-column:auto;}
  .fps-submitrow .wpcf7-submit{width:100%;}
  .fps-submitnote{max-width:none;}
  .fps-trustrow{padding:20px;}
  .fps-sidecard{padding:22px 20px;}
  .fps-ty{min-height:0;padding:56px 0 64px;}
  .fps-ty__box{padding:24px 20px;}
  .fps-ty__text{font-size:16px;}
}

/* =====================================================
   Страница бренда (single-fps_brand.php)
   ===================================================== */

.fps-brandhero{display:grid;grid-template-columns:200px 1fr;gap:44px;align-items:start;}
.fps-logobox{
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:1/1;padding:22px;
  border:1px solid var(--fps-border);border-radius:16px;background:var(--fps-white);
  box-shadow:0 14px 34px rgba(31,48,69,.07);
}
.fps-logobox img{max-width:100%;max-height:100%;object-fit:contain;}
.fps-logobox__mark{
  font-family:'Archivo',sans-serif;font-size:22px;font-weight:800;
  line-height:1.2;text-align:center;letter-spacing:-.02em;color:var(--fps-navy);
}

/* ---------- Зона обслуживания: текст слева, кнопка справа ---------- */
.fps-arearow{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;}
.fps-arearow__title{font-size:34px;font-weight:700;line-height:1.18;margin-bottom:14px;}

/* ---------- Плитки других брендов ----------
   Четыре в ряд: при лимите 7 карточка «View All Brands» закрывает второй ряд. */
.fps-brandgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fps-brandtile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:132px;padding:22px 18px;
  border:1px solid var(--fps-border);border-radius:14px;background:var(--fps-white);
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.fps-brandtile:hover{border-color:var(--fps-blue);transform:translateY(-2px);box-shadow:0 12px 28px rgba(24,59,91,.07);}
.fps-brandtile__symbol{
  max-width:100%;
  font-family:'Archivo',sans-serif;font-size:19px;font-weight:800;
  letter-spacing:-.02em;color:var(--fps-navy);text-align:center;
}
.fps-brandtile__symbol img{max-height:100px;max-width:100%;object-fit:contain;}
.fps-brandtile__name{color:var(--fps-muted);font-size:13.5px;font-weight:600;}

.fps-viewall{display:grid;grid-template-columns:repeat(3,6px);gap:4px;}
.fps-viewall i{width:6px;height:6px;border-radius:2px;background:var(--fps-blue);}

/* =========== ПЛАНШЕТ =========== */
@media (max-width:1024px){
  .fps-brandhero{grid-template-columns:150px 1fr;gap:28px;}
  .fps-arearow{grid-template-columns:1fr;gap:24px;}
  .fps-brandgrid{grid-template-columns:repeat(3,1fr);}
}

/* =========== МОБИЛЬНАЯ =========== */
@media (max-width:760px){
  .fps-brandhero{grid-template-columns:1fr;gap:24px;}
  .fps-logobox{width:150px;aspect-ratio:1/1;}
  .fps-arearow__title{font-size:26px;}
  .fps-brandgrid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .fps-brandtile{min-height:112px;padding:18px 14px;}
}
