/*!
Theme Name: one_poz
Theme URI: http://underscores.me/
Author: verstace
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: one_poz
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

one_poz is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* OP: SEO-текст на страницах услуг */
.op-seo-text .policy-body{max-width:960px}
.op-seo-text .policy-body h2{font-size:clamp(24px,3vw,36px);line-height:1.2;font-weight:700;color:#1B2A3A;margin:40px 0 16px}
.op-seo-text .policy-body h2:first-child{margin-top:0}
.op-seo-text .policy-body h3{font-size:clamp(19px,2vw,24px);line-height:1.3;font-weight:600;color:#1B2A3A;margin:28px 0 12px}
.op-seo-text .policy-body p{font-size:16px;line-height:1.65;color:#1B2A3A;margin:0 0 14px}
.op-seo-text .policy-body ul,.op-seo-text .policy-body ol{margin:0 0 18px;padding-left:22px}
.op-seo-text .policy-body ul{list-style:disc}
.op-seo-text .policy-body ol{list-style:decimal}
.op-seo-text .policy-body li{font-size:16px;line-height:1.6;color:#1B2A3A;margin-bottom:8px}
.op-seo-text .policy-body li::marker{color:#047AD0}
.op-seo-text .policy-body strong{font-weight:600}
@media (max-width:768px){.op-seo-text .policy-body p,.op-seo-text .policy-body li{font-size:15px}}

/* OP: картинки кейсов целиком внутри карточки */
.project-item img.project-item__img{display:block;width:100% !important;max-width:100% !important;height:auto !important;margin:auto 0 0 0 !important;aspect-ratio:16/9 !important;object-fit:cover !important;object-position:top center !important;border-radius:12px}
.project-item .project-item-header{margin-bottom:24px}

/* OP: формы Contact Form 7 в стиле сайта */
.op-cf7 .wpcf7-form-control-wrap{display:block;width:100%}
.op-cf7 .input-wrapper input{width:100%}
.op-cf7 .op-accept{font-size:13px;line-height:1.45}
.op-cf7 .op-accept .wpcf7-list-item{margin:0;display:block}
.op-cf7 .op-accept label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.op-cf7 .op-accept input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin:0;border:2px solid #8D949C;border-radius:6px;appearance:none;-webkit-appearance:none;background:transparent;position:relative;cursor:pointer;transition:background .2s,border-color .2s}
.op-cf7 .op-accept input[type=checkbox]:checked{background:#047AD0;border-color:#047AD0}
.op-cf7 .op-accept input[type=checkbox]:checked::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
.op-cf7 .op-accept a{color:inherit;text-decoration:underline}
.feedback .op-cf7 .op-accept{color:#fff}
.op-cf7 .wpcf7-not-valid-tip{font-size:12px;color:#E5484D;margin-top:4px}
.op-cf7 .wpcf7-response-output{margin:12px 0 0 !important;padding:10px 14px !important;border-radius:10px;font-size:14px}
.feedback .op-cf7 .wpcf7-response-output{color:#fff}
.op-cf7 .wpcf7-spinner{position:absolute;margin:12px}
.op-cf7 input[type=submit]{cursor:pointer;border:none}
.op-cf7 .dropdown select{width:100%}
.op-cf7 .gift-modal__bottom{position:relative}

/* OP: окно выбора города */
.op-city-trigger{cursor:pointer;user-select:none}
.op-city-trigger:hover strong,.op-city-trigger:hover span{color:#047AD0}
.op-city-modal{max-width:520px}
.op-city-search-wrap{margin:4px 0 16px}
.op-city-search{width:100%;padding:12px 0;border:none;border-bottom:1.5px solid #8D949C;background:transparent;font-size:16px;color:#1B2A3A;outline:none}
.op-city-search:focus{border-bottom-color:#047AD0}
.op-city-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(50vh,360px);overflow-y:auto}
.op-city-item{padding:12px 16px;border-radius:12px;background:#F4F8FB;color:#1B2A3A;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s,color .2s;list-style:none}
.op-city-item:hover,.op-city-item:focus-visible{background:#047AD0;color:#fff;outline:none}
.op-city-item.is-active{background:#047AD0;color:#fff}
.op-city-item.is-loading{opacity:.6;pointer-events:none}
.op-city-empty{margin-top:12px;color:#8D949C}
@media (max-width:480px){.op-city-list{grid-template-columns:1fr}}

/* OP: аватар отзыва с инициалами */
.op-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:#E6F1FA;color:#047AD0;font-weight:600;font-size:20px;line-height:1;letter-spacing:.5px}

/* OP: логотип файлом вместо встроенного SVG */
.logo .op-logo-icon{flex-shrink:0;width:56px;height:auto;display:block}
.site-header__logo-icon{display:block;object-fit:contain}
@media screen and (max-width:767px){.logo .op-logo-icon{width:45px}}


/* OP: mobile menu */
.site-header__menu-contacts{display:none}
@media screen and (max-width:1023px){
  body.header-menu-open .promo-window,body.header-menu-open .cookie-window,body.header-menu-open .cookie{display:none !important}
  body.admin-bar.header-menu-open #wpadminbar{display:none}
  body.admin-bar .site-header__panel{top:54px}
  body.admin-bar .site-header{padding-top:124px}
  body.admin-bar.header-menu-open .site-header__panel{top:8px}
  .site-header__menu-contacts{display:flex;flex-direction:column;gap:12px;margin-top:20px;padding:20px 0 8px;border-top:1px solid #E3EAF1}
  .op-menu-city{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:#1B2A3A;font:inherit;font-size:15px;cursor:pointer}
  .op-menu-city svg{color:#047AD0}
  .op-menu-phone{color:#1B2A3A;font-size:20px;font-weight:700;text-decoration:none}
  .op-menu-callback{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:12px;background:#047AD0;color:#fff !important;font-weight:600;text-decoration:none}
}
@media screen and (min-width:1024px){.site-header__menu-contacts{display:none !important}}

/* OP: language switcher */
.op-lang{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #E3EAF1;border-radius:10px;background:#fff;flex-shrink:0}
.op-lang__item{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 6px;border-radius:7px;color:#1B2A3A;font-size:13px;font-weight:600;text-decoration:none;line-height:1}
.op-lang__item:hover{color:#047AD0}
.op-lang__item.is-active{background:#047AD0;color:#fff}
@media screen and (max-width:1023px){.op-lang__item{min-width:30px;height:28px;font-size:12px}}
@media screen and (max-width:420px){.op-lang__item{min-width:26px;padding:0 4px}}

/* OP: language switcher placement */
.op-lang--mobile{display:none}
.op-lang--desktop{display:inline-flex;width:auto;flex:0 0 auto;align-self:center;margin-left:8px}
@media screen and (max-width:1023px){.op-lang--desktop{display:none !important}.op-lang--mobile{display:flex;width:auto;flex:0 0 auto}}

/* OP: карточки кейсов — одинаковая высота картинок, слайдер без пина */
.project-item{display:flex;flex-direction:column;height:auto}
.project-item .project-item__img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top center;margin-top:auto}
.project-items.swiper{overflow:hidden;transform:none!important}
.project-items.swiper .swiper-wrapper{align-items:stretch}
.project-items.swiper .swiper-slide{height:auto}
/* OP: промо-окно — аккуратный низ */
.promo-window__telegram::before{display:none!important}
.promo-window__bottom{flex-direction:row!important;align-items:center!important;flex-wrap:nowrap}
@media (max-width:767px){.promo-window__telegram{width:44px;height:44px;flex:0 0 44px}.promo-window__button{padding:0 16px}}
/* OP: согласие в формах */
.op-accept__txt a{text-decoration:underline}
/* OP: HTML-карта сайта */
.op-sitemap{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.op-sitemap__title{font-size:22px;font-weight:700;margin:0 0 12px;color:#1B2A3A}
.op-sitemap__list{list-style:none;margin:0;padding:0}
.op-sitemap__list li{margin:0 0 8px;line-height:1.35}
.op-sitemap__list a{color:#047AD0;text-decoration:none}
.op-sitemap__list a:hover{text-decoration:underline}

.project-item .project-item__img{aspect-ratio:16/9!important;height:auto!important;object-fit:cover!important;object-position:top center!important}
/* OP: обложка в открытом кейсе — без обрезки */
.project-open-block{align-items:flex-start}
.project-open-block .project-open__img{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;align-self:flex-start;border-radius:16px}

/* OP: закреплённое меню на ПК при прокрутке */
@media (min-width:1024px){
  .site-header__container{min-height:48px}
  body.admin-bar .site-header__panel{top:44px}
  .site-header.is-scrolled .site-header__menu{position:fixed;top:102px;left:50%;transform:translateX(-50%);width:1500px;max-width:calc(100% - 20px);z-index:69;background:#fff;border:1px solid #EDF1F3;border-radius:14px;box-shadow:0 16px 45px rgba(27,42,58,.07);padding:4px 20px;box-sizing:border-box;animation:opNavIn .2s ease}
  body.admin-bar .site-header.is-scrolled .site-header__menu{top:134px}
}
@keyframes opNavIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}

/* OP: реквизиты на странице контактов */
.op-requisites{margin-top:32px;padding:24px;border:1px solid #EDF1F3;border-radius:14px;background:#F7F9FA}
.op-requisites__title{margin:0 0 12px}
.op-requisites__body p{margin:0 0 6px}

/* OP: EEAT-страницы */
.policy-body .op-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0 32px}
.policy-body .op-card{padding:24px;border:1px solid #EDF1F3;border-radius:16px;background:#F7FAFC}
.policy-body .op-card h3{margin:0 0 10px;font-size:20px;color:#1B2A3A}
.policy-body .op-card p{margin:0}
.policy-body .op-steps{counter-reset:opstep;list-style:none;padding:0;margin:24px 0}
.policy-body .op-steps li{counter-increment:opstep;position:relative;padding:0 0 22px 64px;min-height:48px}
.policy-body .op-steps li::before{content:counter(opstep);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:#047AD0;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.policy-body .op-steps li strong{display:block;font-size:18px;margin-bottom:4px;color:#1B2A3A}
.policy-body .op-cta{margin-top:32px;padding:28px;border-radius:16px;background:#1B2A3A;color:#fff}
.policy-body .op-cta a{color:#fff;text-decoration:underline}
.op-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin:24px 0 32px}
.op-team-card{padding:24px 16px;border-radius:16px;background:#F7FAFC;text-align:center}
.op-team-card img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 14px;display:block}
.op-team-card__name{font-weight:600;font-size:17px;margin:0 0 4px;color:#1B2A3A}
.op-team-card__job{font-size:14px;margin:0;color:#5A6B7B}
.op-team-card__link{display:inline-block;margin-top:8px;font-size:14px;color:#047AD0}

/* op-cards 3 col */
@media (min-width:1024px){.policy-body .op-cards{grid-template-columns:repeat(3,1fr)}}
