/*
Theme Name: MAPVT
Theme URI: https://mapwt.ru/
Author: MAPVT
Description: Межрегиональная ассоциация производителей весоизмерительной техники.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mapvt
Tags: business, custom-logo, custom-menu, featured-images
*/

:root{
  --primary:#1A3A5C; --secondary:#2B6B93; --accent:#D32F2F;
  --light:#F0F4F8; --dark:#0F1E2E; --gray:#6B7280;
  --metal-gradient:linear-gradient(135deg,#e0e7ef,#b0c4d9);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;color:var(--dark);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px;margin-bottom: 82px;}
.btn{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:600;transition:.3s;cursor:pointer;border:none;font-size:16px}
.btn-primary{background:linear-gradient(135deg,#2563EB,#1A3A5C);color:#fff;box-shadow:0 4px 10px rgba(37,99,235,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(37,99,235,.4)}
.btn-outline{background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.6);color:#fff;backdrop-filter:blur(4px)}
.btn-outline:hover{background:rgba(255,255,255,.25)}

header.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.header-top{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;flex-wrap:wrap;gap:10px}
.logo{display:flex;align-items:center;gap:10px}
.custom-logo-link img{max-height:57px;width:auto}
.logo-icon{background:url('img/logo.gif') no-repeat center/contain;width:356px;height:57px}
.header-widget a{display:block;font-weight:600;color:var(--primary)}
.header-widget{font-size:14px;line-height:1.4}
.header-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.nav{display:flex;padding:0 20px;background:#fff}
.nav .container{display:flex;justify-content:space-between;width:100%}
.nav ul.menu{display:flex;gap:5px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav ul.menu a{display:block;padding:15px 20px;font-size:14px;font-weight:600;color:var(--primary);text-transform:uppercase;border-bottom:3px solid transparent;transition:.3s;white-space:nowrap}
.nav ul.menu a:hover,.nav ul.menu .current-menu-item>a{color:var(--accent);border-bottom-color:var(--accent)}

.hero{position:relative;background:#1A3A5C;color:#fff;padding:54px 0 40px;text-align:center;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:var(--hero-bg,url('img/back01.jpg')) no-repeat center/cover;opacity:.55;z-index:0}
.hero .container{position:relative;z-index:1}
.hero h1{font-size:3rem;font-weight:700;margin-bottom:20px;max-width:900px;margin-inline:auto;text-shadow:0 2px 15px rgba(0,0,0,.6)}
.hero h2{font-size:1.5rem;font-weight:400;margin-bottom:40px;text-shadow:0 2px 10px rgba(0,0,0,.6);border: none;}
.hero p{max-width:800px;margin:0 auto 20px;font-size:1.1rem;opacity:.95;text-shadow:0 2px 8px rgba(0,0,0,.7);padding:10px}
.hero-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:20px}

.stats{background:var(--primary);color:#fff;padding:40px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat-number{font-size:2.5rem;font-weight:700}
.stat-label{font-size:.9rem;opacity:.8}

.section{padding:80px 0}
.page-content{padding:60px 0}
.section-title{text-align:center;font-size:2.5rem;color:var(--primary);margin-bottom:50px;position:relative}
.section-title::after{content:'';width:60px;height:3px;background:var(--accent);position:absolute;bottom:-15px;left:50%;transform:translateX(-50%)}
.bg-light{background:var(--light)}

.gr-item,.activity-card,.participant-card,.advantage-item,.customer-col,.event-card{background:var(--metal-gradient);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 15px rgba(0,0,0,.08)}
.gr-item h3,.activity-card h3,.participant-card h3,.advantage-item h3,.customer-col h3{color:var(--primary)}

.gr-items{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gr-item{padding:20px;border-radius:10px;transition:transform .3s;text-align:center}
.gr-item:hover{transform:translateY(-5px)}
.gr-item img{margin:0 auto 15px;max-width:60px;border-radius:10px;mix-blend-mode:darken}
.gr-item p{font-size:.95rem;color:var(--gray)}

.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.activity-card{padding:30px;border-radius:10px;border-left:4px solid var(--accent)}

.timeline{position:relative;max-width:800px;margin:0 auto;padding:20px 0}
.timeline::before{content:'';position:absolute;left:50%;width:2px;background:#ccc;top:0;bottom:0;transform:translateX(-50%)}
.timeline-item{padding:20px;position:relative;width:50%}
.timeline-item:nth-child(odd){left:0;text-align:right}
.timeline-item:nth-child(even){left:50%;text-align:left}
.timeline-item .content{background:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.05)}
.timeline-item::after{content:'';width:12px;height:12px;background:var(--accent);border-radius:50%;position:absolute;top:30px;right:-6px}
.timeline-item:nth-child(even)::after{left:-6px}

.participants-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.participant-card{padding:20px;text-align:center;border-radius:10px;transition:transform .3s}
.participant-card:hover{transform:translateY(-5px)}
.participant-card img{width:80px;height:80px;object-fit:contain;margin:0 auto 15px}
.participant-card h3{font-size:1rem;margin-bottom:5px}
.participant-card p{font-size:.9rem;color:var(--gray);margin-bottom:5px}
.participant-card .more{display:inline-block;margin-top:10px;font-weight:600;color:var(--accent)}

.membership-table{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:0 auto 50px}
.membership-col{padding:30px;border-radius:10px}
.membership-col.without{background:#e2e8f0}
.membership-col.with{background:#fff;border:2px solid var(--accent);box-shadow:0 10px 30px rgba(0,0,0,.1)}
.membership-col h3{margin-bottom:20px;font-size:1.5rem;color:var(--primary)}
.membership-col li{padding:10px 0;border-bottom:1px solid #ddd}

.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.event-card {
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
.event-card img{width:100%;height:180px;object-fit:cover}
.event-content{padding:20px;background:#fff}
.event-date{font-size:.9rem;color:var(--accent);font-weight:600;margin-bottom:10px}
.event-content h3{font-size:1.2rem;margin-bottom:10px;color:var(--primary)}
.event-content p{font-size:.9rem;color:var(--gray);    margin: 0;}
.event-content a{font-weight:600;color:var(--secondary)}

.quote-section{background:var(--dark);color:#fff;padding:80px 0;text-align:center}
.quote-section blockquote{font-size:1.8rem;font-style:italic;max-width:900px;margin:0 auto 30px}
.quote-author{font-size:1rem;font-weight:600}

.advantages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.advantage-item{padding:25px;border-radius:10px;text-align:center}
.advantage-item .icon{font-size:2.5rem;margin-bottom:15px;display:block}

.customers-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.customer-col{padding:30px;border-radius:10px}
.customer-col h3{font-size:1.5rem;margin-bottom:20px}
.customer-col ul{list-style:disc;padding-left:20px}
.customer-col li{margin-bottom:12px;line-height:1.5}

.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:#fff;margin-bottom:10px;border-radius:5px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.faq-question{padding:20px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--primary)}
.faq-question::after{content:'+';font-size:1.5rem;color:var(--accent)}
.faq-item.active .faq-question::after{content:'−'}
.faq-answer{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.active .faq-answer{max-height:500px;padding-bottom:20px}
.faq-answer ul{list-style:disc;padding-left:23px}

.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.doc-card{display:block;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.08);transition:.3s}
.doc-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.15)}
.doc-preview{position:relative;height:220px;overflow:hidden;background:#e9eef4}
.doc-preview img,.doc-preview iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.doc-overlay{position:absolute;inset:0;background:rgba(15,30,46,.55);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:.3s;font-weight:600}
.doc-card:hover .doc-overlay{opacity:1}
.doc-overlay-icon{font-size:1.8rem}
.doc-info{display:flex;gap:12px;padding:15px;align-items:center}
.doc-icon{font-size:1.4rem}
.doc-title{font-weight:600;color:var(--primary);font-size:.95rem}

footer.site-footer{background:var(--dark);color:#ccc;padding:60px 0 20px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 2fr;gap:40px}
.footer-widget h4,.footer-col h4{color:#fff;margin-bottom:20px;font-size:1.2rem}
.footer-menu{list-style:none;padding:0}
.footer-menu li{margin-bottom:10px}
.footer-col a:hover{color:#fff}
.footer-bottom{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid #555;font-size:.9rem}

.single-thumb{margin:0 0 30px;border-radius:10px;overflow:hidden}
.single-meta .tag{display:inline-block;background:var(--light);padding:3px 10px;border-radius:20px;font-size:13px;margin-right:6px;color:var(--primary)}
.cat-description{text-align:center;max-width:800px;margin:0 auto 40px;color:var(--gray)}
.simple-list{list-style:disc;padding-left:24px}
.simple-list li{margin-bottom:8px}
.pagination{text-align:center;margin-top:40px}

/* ---------- Поиск ---------- */
.search-form{display:flex;gap:10px;max-width:600px;margin:0 auto;width:100%}
.search-form .search-field{flex:1;padding:12px 18px;border:2px solid #d6dde6;border-radius:6px;font-size:16px;font-family:inherit;color:var(--dark);outline:none;transition:.3s}
.search-form .search-field:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(43,107,147,.15)}
.search-toggle{background:none;border:none;cursor:pointer;padding:8px;color:var(--primary);font-size:20px;line-height:1;transition:.3s}
.search-toggle:hover{color:var(--accent)}
.search-overlay{position:fixed;inset:0;background:rgba(15,30,46,.85);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:80px 20px;backdrop-filter:blur(4px)}
.search-overlay.active{display:flex}
.search-overlay .search-form{max-width:700px}
.search-overlay .search-field{padding:18px 24px;font-size:18px;border:none;background:#fff}
.search-overlay .search-close{position:absolute;top:30px;right:40px;background:none;border:none;color:#fff;font-size:36px;cursor:pointer;line-height:1}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

@media (max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .gr-items,.activity-grid,.participants-grid,.events-grid,.advantages-grid,.customers-grid{grid-template-columns:repeat(2,1fr)}
  .membership-table{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .docs-grid{grid-template-columns:repeat(2,1fr)}
  .timeline::before{left:20px}
  .timeline-item{width:100%;padding-left:40px}
  .timeline-item:nth-child(odd){text-align:left;left:0}
  .timeline-item:nth-child(even){left:0}
  .timeline-item::after{left:20px}
}
@media (max-width:600px){
   .header-top{
        margin: 0 0 !important;
        position: absolute;
        background: #fff    
        
   }
    main.site-main {
        padding-top: 89px;
    }   
  .hero h1{font-size:2rem}
  .hero h2{font-size:1.2rem;margin-bottom:30px; border: none !important; }
  .gr-items,.activity-grid,.participants-grid,.events-grid,.advantages-grid,.customers-grid{grid-template-columns:1fr}
  .docs-grid{grid-template-columns:1fr}
  .nav{padding:0}
  .header-cta{display:flex;width:100%;justify-content:space-between}
  .logo-icon{width:200px;height:40px}
}
.header-top{

}
h2,p {
    max-width: 1200px;
    display: table;
    margin: 0 auto;
}

h2 {
    font-size: 2em;
    margin-bottom: 2em;
    padding-top: 1em;
    border-bottom: 3px solid #dd2e44;
}

 footer.site-footer h2 {margin: 0 !important;font-size: 1.5em;}

 p.has-text-align-center.wp-block-paragraph {
    max-width: 804px;
    margin-bottom: 123px;
    font-style: italic;
    font-family: trebuchet ms;
    font-size: 24px;
    color: #595959;
    font-weight: 600;
    margin-top: 116px;
    line-height: 30px;
} 

.nav .container {
    margin-bottom: 0;
}


input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background: linear-gradient(135deg, #2563EB, #1A3A5C);
    padding: 12px 21px;
    color: #fff;
    font-size: 16px;
    border-radius: 10px;
    float: right;
    width: 100%;
}

/* ================= Кнопка-гамбургер ================= */
.menu-toggle{
  display:none;            /* видна только на мобильных */
  position:relative;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  background:transparent;
  border-radius:8px;
  cursor:pointer;
  order:2;
  -webkit-tap-highlight-color:transparent;
}
.menu-toggle:hover,
.menu-toggle:focus-visible{ background:var(--light); outline:none; }

.menu-toggle .hamburger,
.menu-toggle .hamburger::before,
.menu-toggle .hamburger::after{
  content:"";
  position:absolute;
  left:0;
  width:24px;
  height:3px;
  background:var(--primary);
  border-radius:2px;
  transition:transform .3s ease, top .3s ease, opacity .2s ease, background .2s ease;
}
.menu-toggle .hamburger{
  top:50%;
  left:50%;
  margin-top:-1.5px;
  margin-left:-12px;
}
.menu-toggle .hamburger::before{ top:-8px; }
.menu-toggle .hamburger::after { top: 8px; }

/* Состояние «открыто» — крестик */
.nav.open .menu-toggle .hamburger{ background:transparent; }
.nav.open .menu-toggle .hamburger::before{ top:0; transform:rotate(45deg); }
.nav.open .menu-toggle .hamburger::after { top:0; transform:rotate(-45deg); }

/* ================= Мобильное меню ================= */
@media (max-width:900px){

  .nav .container{
    flex-wrap:wrap;
    align-items:center;
    padding-right:8px;
  }

  .menu-toggle{ display:block; margin-left:auto; }

  /* список превращается в выпадающую панель */
  .nav ul.menu{
    order:3;
    flex:0 0 100%;
    width:100%;
    flex-direction:column;
    gap:0;
    max-height:0;
    overflow:hidden;
    background:#fff;
    transition:max-height .35s ease;
  }

  .nav.open ul.menu{
    max-height:calc(100vh - 70px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    border-top:1px solid #eee;
    box-shadow:0 12px 20px rgba(0,0,0,.08);
  }

  .nav ul.menu li{
    width:100%;
    border-bottom:1px solid #f0f0f0;
  }
  .nav ul.menu li:last-child{ border-bottom:0; }

  .nav ul.menu a{
    padding:14px 20px;
    border-bottom:0;
    border-left:3px solid transparent;
    white-space:normal;      /* отменяем nowrap с десктопа */
    text-transform:none;
    font-size:15px;
  }

  .nav ul.menu a:hover,
  .nav ul.menu .current-menu-item > a{
    border-bottom-color:transparent;
    border-left-color:var(--accent);
    background:var(--light);
    color:var(--accent);
  }
}

/* Блокируем прокрутку body, пока меню открыто (опционально) */
body.menu-open{ overflow:hidden; }


/* ---------- Чекбокс согласия ---------- */
.mapvt-consent{
  display:flex;align-items:flex-start;gap:10px;
  font-size:13px;line-height:1.5;color:var(--gray);
  margin:12px 0;text-align:left;
}
.mapvt-consent input[type="checkbox"]{
  flex-shrink:0;width:18px;height:18px;margin-top:2px;
  accent-color:var(--accent);cursor:pointer;
}
.mapvt-consent a{color:var(--secondary);text-decoration:underline}
.mapvt-consent a:hover{color:var(--accent)}

form input,form textarea {
    font-size: 19px;
    padding: 3px;
    border-radius: 13px;
}

main.site-main form a {
    color: #d32f2f;
    text-decoration: underline;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    margin-top: 20px;
}

.wpcf7 {
    margin-top: 35px;
}
/* ---------- Формы CF7 ---------- */
.wpcf7-form{max-width:600px;margin:0 auto}
.mapvt-form-row{margin-bottom:14px}
.mapvt-form-row label{display:block;font-weight:600;color:var(--primary);font-size:14px}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea{
  width:100%;padding:12px 16px;border:2px solid #d6dde6;border-radius:6px;
  font-size:16px;font-family:inherit;color:var(--dark);
  outline:none;transition:.3s;background:#fff;
}
.wpcf7-form input:focus,
.wpcf7-form textarea:focus{
  border-color:var(--secondary);box-shadow:0 0 0 3px rgba(43,107,147,.15);
}
.wpcf7-form textarea{min-height:110px;resize:vertical}
.wpcf7-form input[type="submit"]{
  display:inline-block;padding:12px 32px;border-radius:6px;font-weight:600;
  background:linear-gradient(135deg,#2563EB,#1A3A5C);color:#fff;
  box-shadow:0 4px 10px rgba(37,99,235,.3);
  border:none;cursor:pointer;font-size:16px;transition:.3s;
}
.wpcf7-form input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(37,99,235,.4)}
.wpcf7-not-valid-tip{color:var(--accent);font-size:13px;margin-top:4px}
.wpcf7-response-output{
  margin-top:20px;padding:12px 20px;border-radius:6px;font-size:14px;
}
.wpcf7-mail-sent-ok{background:#e6f4ea;border:1px solid #34a853;color:#1e7e34}
.wpcf7-validation-errors{background:#fdecea;border:1px solid var(--accent);color:var(--accent)}
.wpcf7-spinner{margin-top:8px}

/* Чекбокс согласия CF7 */
.wpcf7-acceptance{display:flex;align-items:flex-start;gap:10px;}
.wpcf7-acceptance input[type="checkbox"]{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--accent);cursor:pointer}
.wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7-acceptance label{font-weight:400;font-size:13px;color:var(--gray);line-height:1.5}
.wpcf7-acceptance a{color:var(--secondary);text-decoration:underline}
.wpcf7-acceptance a:hover{color:var(--accent)}
form p {
    width: 100%;
}


/* =========================================================
   Кнопка «Обратная связь» + модальное окно
   ========================================================= */
.mapvt-feedback-btn{
  position:fixed;right:24px;bottom:24px;z-index:150;
  padding:14px 22px;border-radius:50px;border:none;cursor:pointer;
  background:linear-gradient(135deg,#2563EB,#1A3A5C);
  color:#fff;font-weight:600;font-size:15px;font-family:inherit;
  box-shadow:0 8px 25px rgba(37,99,235,.35);
  transition:transform .25s,box-shadow .25s;
}
.mapvt-feedback-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(37,99,235,.5);
}
.mapvt-feedback-btn:active{transform:translateY(-1px)}

/* Оверлей */
.mapvt-modal{
  position:fixed;inset:0;z-index:300;
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;
  transition:opacity .25s,visibility .25s;
}
.mapvt-modal.is-open{opacity:1;visibility:visible}
.mapvt-modal[hidden]{display:none}
.mapvt-modal.is-open[hidden]{display:flex}

.mapvt-modal-backdrop{
  position:absolute;inset:0;background:rgba(15,30,46,.75);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  cursor:pointer;
}

/* Панель */
.mapvt-modal-panel{
  position:relative;z-index:1;
  background:#fff;border-radius:14px;
  width:100%;max-width:560px;max-height:90vh;overflow-y:auto;
  padding:36px 32px 32px;
  box-shadow:0 25px 60px rgba(0,0,0,.35);
  transform:translateY(20px) scale(.98);
  transition:transform .3s cubic-bezier(.2,.8,.3,1.1);
}
.mapvt-modal.is-open .mapvt-modal-panel{transform:translateY(0) scale(1)}

.mapvt-modal-close{
  position:absolute;top:12px;right:14px;
  width:36px;height:36px;padding:0;border:none;border-radius:50%;
  background:transparent;color:var(--gray);font-size:26px;line-height:1;
  cursor:pointer;transition:.2s;
}
.mapvt-modal-close:hover{background:var(--light);color:var(--accent)}

.mapvt-modal-panel h3{
  color:var(--primary);font-size:1.5rem;margin:0 0 8px;
}
.mapvt-modal-sub{
  color:var(--gray);font-size:.95rem;margin:0 0 22px;
}

/* Форма внутри попапа — светлая */
.mapvt-modal-panel .wpcf7-form{max-width:100%}
.mapvt-modal-panel .wpcf7-form input[type="submit"]{width:100%}

/* На мобильном */
@media (max-width:600px){
  .mapvt-feedback-btn{
    right:14px;bottom:14px;padding:12px 18px;font-size:14px;
  }
  .mapvt-modal-panel{
    padding:28px 20px 24px;border-radius:12px;
  }
  .mapvt-modal-panel h3{font-size:1.25rem}
}

/* Блокируем скролл body, когда попап открыт */
body.mapvt-modal-open{overflow:hidden}

/* =========================================================
   ПОПАП — ПОЛНЫЕ СТИЛИ ФОРМЫ CF7
   ========================================================= */

/* Обёртка формы */
.mapvt-modal-panel .wpcf7{
  margin:0;
}
.mapvt-modal-panel .wpcf7-form{
  max-width:100%;
  margin:0;
}

/* Скрытые поля */
.mapvt-modal-panel .hidden-fields-container{
  display:none;
}

/* Ряд поля */
.mapvt-modal-panel .mapvt-form-row{
  margin-bottom:16px;
}

/* Лейбл */
.mapvt-modal-panel .mapvt-form-row label{
  display:block;
  font-weight:600;
  color:var(--primary);
  font-size:14px;
  line-height:1.4;
  margin:0;
}

/* Убираем <p>, которые вставляет CF7 */
.mapvt-modal-panel .mapvt-form-row p{
  margin:0;
}
.mapvt-modal-panel .mapvt-form-row label p{
  margin:0;
}

/* Обёртка поля */
.mapvt-modal-panel .wpcf7-form-control-wrap{
  display:block;
  margin-top:6px;
}

/* Поля ввода */
.mapvt-modal-panel .wpcf7-form input[type="text"],
.mapvt-modal-panel .wpcf7-form input[type="tel"],
.mapvt-modal-panel .wpcf7-form input[type="email"],
.mapvt-modal-panel .wpcf7-form input[type="url"],
.mapvt-modal-panel .wpcf7-form input[type="number"],
.mapvt-modal-panel .wpcf7-form textarea,
.mapvt-modal-panel .wpcf7-form select{
  width:100% !important;
  padding:12px 16px;
  border:2px solid #d6dde6;
  border-radius:8px;
  font-size:15px;
  font-family:inherit;
  color:var(--dark);
  background:#fff;
  outline:none;
  transition:border-color .2s, box-shadow .2s;
  box-sizing:border-box;
  line-height:1.4;
}
.mapvt-modal-panel .wpcf7-form input::placeholder,
.mapvt-modal-panel .wpcf7-form textarea::placeholder{
  color:#9aa6b2;
}
.mapvt-modal-panel .wpcf7-form input:focus,
.mapvt-modal-panel .wpcf7-form textarea:focus,
.mapvt-modal-panel .wpcf7-form select:focus{
  border-color:var(--secondary);
  box-shadow:0 0 0 3px rgba(43,107,147,.15);
}

/* Textarea */
.mapvt-modal-panel .wpcf7-form textarea{
  min-height:100px;
  resize:vertical;
}

/* Ошибка валидации поля */
.mapvt-modal-panel .wpcf7-not-valid{
  border-color:var(--accent) !important;
  box-shadow:0 0 0 3px rgba(211,47,47,.12) !important;
}
.mapvt-modal-panel .wpcf7-not-valid-tip{
  display:block;
  color:var(--accent);
  font-size:13px;
  margin-top:4px;
  font-weight:500;
}

/* Чекбокс согласия */
.mapvt-consent-wrap{
  margin:20px 0;
  padding:14px 16px;
  background:var(--light);
  border-radius:8px;
  border:1px solid #dde5ec;
}
.mapvt-modal-panel .mapvt-consent-wrap p{
  margin:0;
}

.mapvt-modal-panel .wpcf7-acceptance{
  display:block;
  margin:0;
}
.mapvt-modal-panel .wpcf7-acceptance .wpcf7-list-item{
  margin:0;
  display:block;
}
.mapvt-modal-panel .wpcf7-acceptance label{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  font-weight:400 !important;
  font-size:13px !important;
  color:#4a5568 !important;
  line-height:1.5;
  cursor:pointer;
  text-transform:none;
}
.mapvt-modal-panel .wpcf7-acceptance input[type="checkbox"]{
  flex-shrink:0;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--accent);
  cursor:pointer;
  width:18px !important;
  padding:0 !important;
  border:2px solid #b0bcc8 !important;
  border-radius:4px;
  appearance:auto;
  -webkit-appearance:checkbox;
}
.mapvt-modal-panel .wpcf7-acceptance input[type="checkbox"]:checked{
  border-color:var(--accent) !important;
}
.mapvt-modal-panel .wpcf7-acceptance a{
  color:var(--secondary);
  text-decoration:underline;
  font-weight:600;
}
.mapvt-modal-panel .wpcf7-acceptance a:hover{
  color:var(--accent);
}

/* Кнопка «Отправить» */
.mapvt-modal-panel .wpcf7-submit{
  display:block !important;
  width:100% !important;
  padding:14px 24px !important;
  border:none !important;
  border-radius:8px !important;
  background:linear-gradient(135deg,#2563EB,#1A3A5C) !important;
  color:#fff !important;
  font-weight:600 !important;
  font-size:16px !important;
  font-family:inherit !important;
  cursor:pointer;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 6px 18px rgba(37,99,235,.35);
  margin-top:8px;
  line-height:1.2;
}
.mapvt-modal-panel .wpcf7-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(37,99,235,.5);
}
.mapvt-modal-panel .wpcf7-submit:active{
  transform:translateY(0);
}
.mapvt-modal-panel .wpcf7-submit:disabled{
  opacity:.6;
  cursor:not-allowed;
  transform:none;
}

/* Спиннер рядом с кнопкой */
.mapvt-modal-panel .wpcf7-spinner{
  display:inline-block;
  vertical-align:middle;
  margin:8px auto 0;
}

/* Сообщения об отправке / ошибке */
.mapvt-modal-panel .wpcf7-response-output{
  margin:16px 0 0 !important;
  padding:12px 18px !important;
  border-radius:8px !important;
  font-size:14px;
  text-align:center;
  border-width:1px !important;
  border-style:solid !important;
  line-height:1.4;
}
.mapvt-modal-panel form.sent .wpcf7-response-output,
.mapvt-modal-panel .wpcf7-mail-sent-ok{
  background:#e6f4ea !important;
  border-color:#34a853 !important;
  color:#1e7e34 !important;
}
.mapvt-modal-panel form.invalid .wpcf7-response-output,
.mapvt-modal-panel form.failed .wpcf7-response-output,
.mapvt-modal-panel .wpcf7-validation-errors,
.mapvt-modal-panel .wpcf7-acceptance-missing{
  background:#fdecea !important;
  border-color:var(--accent) !important;
  color:var(--accent) !important;
}
.mapvt-modal-panel .wpcf7-spam-blocked{
  background:#fff8e1 !important;
  border-color:#f9a825 !important;
  color:#8a6800 !important;
}

/* Скрыть пустой вывод после успеха */
.mapvt-modal-panel .wpcf7-response-output[aria-hidden="true"]{
  display:none;
}

/* =========================================================
   КНОПКА ПЛАВАЮЩАЯ — на случай если CSS не подхватился
   ========================================================= */
.mapvt-feedback-btn{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:150;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 22px;
  border:none;
  border-radius:50px;
  background:linear-gradient(135deg,#2563EB,#1A3A5C);
  color:#fff;
  font-weight:600;
  font-size:15px;
  font-family:inherit;
  cursor:pointer;
  box-shadow:0 8px 25px rgba(37,99,235,.35);
  transition:transform .25s, box-shadow .25s;
}
.mapvt-feedback-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 30px rgba(37,99,235,.5);
}

/* =========================================================
   АДАПТИВ для попапа
   ========================================================= */
@media (max-width:600px){
  .mapvt-modal{
    padding:0;
    align-items:flex-end;
  }
  .mapvt-modal-panel{
    max-width:100%;
    max-height:92vh;
    border-radius:16px 16px 0 0;
    padding:28px 20px 24px;
  }
  .mapvt-modal-panel h3{font-size:1.3rem}
  .mapvt-modal-panel .mapvt-form-row{margin-bottom:12px}
  .mapvt-modal-panel .wpcf7-form input,
  .mapvt-modal-panel .wpcf7-form textarea{
    font-size:16px !important; /* чтобы iOS не зумил */
  }
}

p.wp-block-paragraph {
    margin: 0;
    padding-bottom: 25px;
}