/*
Theme Name: TRUSTED
Description: 1:1 custom theme reproducing the original trustedvac.ru static design, wired to editable WP pages.
Author: TRUSTED
Version: 1.0
*/

:root{
  --blue:#0a5c8f;
  --blue-dark:#083f63;
  --blue-light:#eef5fa;
  --border:#d7dde3;
  --text:#1c1c1c;
  --muted:#5c6670;
  --bg:#ffffff;
}
*{box-sizing:border-box;}
.copyable{
  cursor:pointer;border-bottom:1px dashed currentColor;position:relative;
  transition:background 0.15s, color 0.15s;
}
.copyable:hover{opacity:0.85;}
.copyable.copied{
  background:var(--blue-light);color:var(--blue-dark);border-bottom-color:transparent;
  border-radius:3px;padding:1px 5px;margin:-1px -5px;
}
.copyable.copied::after{
  content:"Скопировано";position:absolute;left:0;bottom:calc(100% + 6px);
  background:var(--blue-dark);color:#fff;font-size:11px;line-height:1;
  padding:4px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;
}
.copyable::selection,.copyable *::selection{background:var(--blue);color:#fff;}
.logo-gear{animation:logo-gear-spin 8s linear infinite;transform-origin:50% 50%;}
@keyframes logo-gear-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){.logo-gear{animation:none;}}
body{
  margin:0;
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* top bar */
.topbar{
  background:var(--blue-dark);
  color:#dbeaf3;
  font-size:12.5px;
}
.topbar-inner{
  max-width:1180px;margin:0 auto;padding:6px 20px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;
}

/* header */
header{
  border-bottom:1px solid var(--border);
  position:sticky;top:0;background:#fff;z-index:10;
}
.header-inner{
  max-width:1180px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.logo{
  font-size:22px;font-weight:800;color:var(--blue);letter-spacing:0.5px;
  display:flex;align-items:center;gap:10px;
  flex:1 1 auto;min-width:0;
}
.logo-text{min-width:0;overflow-wrap:break-word;}
.logo span{color:var(--text);font-weight:400;font-size:12px;display:block;letter-spacing:0.2px;white-space:normal;overflow-wrap:break-word;}
nav ul{
  list-style:none;display:flex;gap:22px;margin:0;padding:0;flex-wrap:wrap;
}
nav a{font-size:14px;font-weight:600;color:var(--text);}
nav a:hover{color:var(--blue);}
nav a.active,nav .current-menu-item>a,nav .current_page_item>a,nav .current-menu-ancestor>a{color:var(--blue);}
.btn{
  display:inline-block;background:var(--blue);color:#fff;padding:10px 20px;
  border-radius:4px;font-weight:600;font-size:13.5px;
}
.btn:hover{background:var(--blue-dark);}
.btn-outline{
  display:inline-block;border:1.5px solid var(--blue);color:var(--blue);
  padding:8.5px 18px;border-radius:4px;font-weight:600;font-size:13.5px;
}

/* mobile menu toggle (gear button) */
.menu-toggle{
  display:none;background:none;border:none;padding:0;cursor:pointer;
  width:38px;height:38px;flex:0 0 auto;-webkit-tap-highlight-color:transparent;
}
.menu-toggle img{width:100%;height:100%;display:block;transition:transform 0.35s ease;}
.menu-toggle[aria-expanded="true"] img{transform:rotate(75deg);}

@media (max-width:780px){
  .header-inner{gap:12px;}
  .logo{gap:8px;font-size:17px;}
  .logo span{font-size:10.5px;line-height:1.3;}
  .menu-toggle{display:flex;align-items:center;justify-content:center;}
  .header-inner > a.btn{display:none;}
  nav{flex-basis:100%;order:10;max-height:0;overflow:hidden;transition:max-height 0.35s ease;}
  nav.open{max-height:340px;}
  nav ul{flex-direction:column;gap:0;padding:8px 0 14px;}
  nav ul li{width:100%;}
  nav ul li a{display:block;padding:12px 2px;border-top:1px solid var(--border);font-size:15px;}
  nav ul li:first-child a{border-top:none;}
}

/* hero */
.hero{
  background:linear-gradient(120deg,var(--blue-dark),var(--blue));
  color:#fff;
}
.hero-inner{
  max-width:1180px;margin:0 auto;padding:60px 20px;
  display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}
.hero-text{flex:1 1 420px;}
.hero-text h1{font-size:32px;margin:0 0 14px 0;line-height:1.25;}
.hero-text p{font-size:15px;color:#dbeaf3;max-width:520px;}
.hero-cta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;}
.hero-img{flex:1 1 380px;}
.hero-img img{border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,0.25);}
.hero-lead{max-width:520px;color:#dbeaf3;font-size:14px;margin-top:10px;}
.hero-lead p{margin:0 0 8px;}

/* usp bar */
.usp{
  background:var(--blue-light);border-bottom:1px solid var(--border);
}
.usp-inner{
  max-width:1180px;margin:0 auto;padding:22px 20px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.usp-item{font-size:13px;color:var(--blue-dark);}
.usp-item b{display:block;font-size:15px;color:var(--blue);margin-bottom:2px;}

section{max-width:1180px;margin:0 auto;padding:54px 20px;}
.section-head{margin-bottom:28px;}
.section-head h2{font-size:24px;color:var(--blue-dark);margin:0 0 8px 0;}
.section-head p{color:var(--muted);font-size:14px;margin:0;max-width:640px;}

/* catalog categories */
.categories{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
.cat-card{
  border:1px solid var(--border);border-radius:8px;overflow:hidden;
  transition:box-shadow .15s;background:#fff;
}
.cat-card:hover{box-shadow:0 6px 18px rgba(10,92,143,0.15);}
.cat-card img{width:100%;height:150px;object-fit:cover;background:#f2f5f7;}
.cat-card-body{padding:12px 14px;}
.cat-card-body h3{font-size:14px;margin:0 0 4px 0;color:var(--text);}
.cat-card-body span{font-size:12px;color:var(--muted);}

/* products */
.products{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.product-card{
  border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;
}
.product-card img{width:100%;height:190px;object-fit:cover;background:#f2f5f7;}
.product-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.product-body h3{font-size:14.5px;margin:0;color:var(--text);min-height:40px;}
.product-tags{display:flex;gap:6px;flex-wrap:wrap;}
.tag{
  background:var(--blue-light);color:var(--blue-dark);font-size:11px;
  padding:3px 8px;border-radius:12px;
}
.product-actions{display:flex;gap:8px;margin-top:auto;padding-top:8px;}
.product-actions .btn, .product-actions .btn-outline{font-size:12px;padding:8px 12px;flex:1;text-align:center;}

/* industries */
.industries{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.industry-card{
  background:var(--blue-light);border-radius:8px;padding:20px;text-align:center;
}
.industry-card .ico{font-size:26px;margin-bottom:8px;}
.industry-card h4{font-size:14px;margin:0;color:var(--blue-dark);}

/* about */
.about{
  background:var(--blue-light);
}
.about-inner{
  max-width:1180px;margin:0 auto;padding:54px 20px;
  display:flex;gap:40px;align-items:center;flex-wrap:wrap;
}
.about-text{flex:1 1 460px;}
.about-text h2{font-size:24px;color:var(--blue-dark);margin:0 0 12px 0;}
.about-text p{color:#3a4550;font-size:14px;}
.about-stats{flex:1 1 380px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.stat{background:#fff;border-radius:8px;padding:18px;text-align:center;border:1px solid var(--border);}
.stat b{display:block;font-size:26px;color:var(--blue);}
.stat span{font-size:12px;color:var(--muted);}

/* services */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.service-card{border:1px solid var(--border);border-radius:8px;padding:22px;}
.service-card h3{font-size:15px;color:var(--blue-dark);margin:0 0 8px 0;}
.service-card p{font-size:13px;color:var(--muted);margin:0;}

/* contact */
.contact{background:var(--blue-dark);color:#fff;}
.contact-inner{
  max-width:1180px;margin:0 auto;padding:54px 20px;
  display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.contact-info h2{font-size:22px;margin:0 0 12px 0;}
.contact-info p{color:#cfe2ee;font-size:13.5px;margin:4px 0;}
.contact-form{
  flex:1 1 320px;max-width:380px;background:#fff;border-radius:8px;padding:22px;color:var(--text);
}
.contact-form h3{margin:0 0 12px 0;font-size:15px;color:var(--blue-dark);}
.contact-form input, .contact-form textarea{
  width:100%;border:1px solid var(--border);border-radius:4px;padding:9px 10px;margin-bottom:10px;font-size:13px;font-family:inherit;
}
.contact-form button{
  width:100%;background:var(--blue);color:#fff;border:none;padding:11px;border-radius:4px;
  font-weight:600;font-size:13.5px;cursor:pointer;
}

footer{
  background:#062c46;color:#9fb9c9;font-size:12px;text-align:center;padding:16px 20px;
}

.badge-demo{
  position:fixed;bottom:14px;right:14px;background:#c0392b;color:#fff;
  font-size:11px;padding:6px 10px;border-radius:4px;opacity:0.85;z-index:50;
}

/* category pages */
.breadcrumb{max-width:1180px;margin:0 auto;padding:14px 20px 0;font-size:13px;color:var(--muted);}
.breadcrumb a{color:var(--blue);}
.cat-hero{max-width:1180px;margin:0 auto;padding:20px 20px 6px;}
.cat-hero h1{font-size:26px;margin:0 0 8px;color:var(--blue-dark);}
.cat-hero p{color:var(--muted);max-width:640px;}
.cat-note{
  max-width:1180px;margin:14px 20px 0;padding:12px 16px;background:var(--blue-light);
  border-radius:6px;font-size:13px;color:var(--text);
}
@media (min-width:1220px){.cat-note{margin:14px auto 0;}}

/* editable lead paragraph injected via the_content() on structured pages */
.page-lead{max-width:1180px;margin:0 auto;padding:20px 20px 0;color:var(--muted);font-size:14px;}
.page-lead p{margin:0 0 10px;}

@media (max-width:900px){
  .categories,.industries{grid-template-columns:repeat(2,1fr);}
  .products,.services{grid-template-columns:repeat(1,1fr);}
  .usp-inner{grid-template-columns:repeat(2,1fr);}
  .about-stats{grid-template-columns:repeat(2,1fr);}
}

/* Contact Form 7 — match original .contact-form field styling */
.contact-form .wpcf7-form-control-wrap{display:block;}
.contact-form input[type=submit].wpcf7-form-control{
  width:100%;background:var(--blue);color:#fff;border:none;padding:11px;border-radius:4px;
  font-weight:600;font-size:13.5px;cursor:pointer;margin-top:2px;
}
.contact-form input[type=submit].wpcf7-form-control:hover{background:var(--blue-dark);}
.contact-form .wpcf7-not-valid-tip{display:block;font-size:11px;color:#e74c3c;margin:-6px 0 10px;}
.contact-form .wpcf7-response-output{font-size:12px;margin-top:12px;padding:10px;border-radius:4px;border:1px solid var(--border);}
.contact-form .wpcf7-mail-sent-ok{border-color:#2e7d32;color:#2e7d32;}
.contact-form .wpcf7-validation-errors,.contact-form .wpcf7-mail-sent-ng{border-color:#e74c3c;color:#e74c3c;}
.contact-form .wpcf7-spinner{margin-left:8px;}
