/*
Theme Name: Insurance
Author: Айхал
Version: 1.1
*/

:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#1f2a37;
  --muted:#6b7280;
  --primary:#ff7a1a;
  --primary-600:#e66810;
  --accent:#0f172a;
  --border:#e5e7eb;
  --shadow:0 10px 30px rgba(15,23,42,.08);
  --radius:16px;
}
*{box-sizing:border-box;}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  margin:0; padding:0; background:var(--bg); color:var(--text);
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto;}

.container{max-width:1120px; margin:0 auto; padding:24px;}

/* Header */
.site-header{position:sticky; top:0; z-index:10; background:#fff; border-bottom:1px solid var(--border);}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; font-size:20px; color:var(--accent);}
.brand-logo{width:44px; height:44px; border-radius:10px; display:block;}
.brand .dot{display:none;}
.menu-toggle{display:none; border:1px solid var(--border); background:#fff; border-radius:10px; width:38px; height:38px; font-size:20px; line-height:1; cursor:pointer;}
.nav ul{list-style:none; display:flex; gap:16px; padding:0; margin:0; flex-wrap:wrap;}
.nav a{color:#111827; font-weight:600;}
.nav a:hover{color:var(--primary);} 
.mobile-consult{display:none;}
.header-cta{display:flex; gap:10px; align-items:center;}
.consult-cta{padding:6px 10px; border:1px solid var(--border); border-radius:14px; background:#fff; box-shadow:var(--shadow); margin-left:8px;}
.consult-cta .consult-text{font-weight:600; color:#0f172a; font-size:14px;}
.consult-cta .social-icon{width:34px; height:34px; border:1px solid var(--border); border-radius:10px; background:#fff; display:inline-flex; align-items:center; justify-content:center;}
.consult-cta .social-icon img{display:block;}

/* Hero */
.hero{padding:56px 0 24px;}
.single-insurance_service .hero,
.page .hero{padding-top:12px;}
.hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:center;}
.hero-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow);}
.hero h1,.hero h2{margin:0 0 12px; font-size:36px; line-height:1.15;}
.hero p{color:var(--muted); font-size:17px; margin:0 0 16px;}
.hero-actions{margin-top:16px; display:flex; gap:12px; flex-wrap:wrap;}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; background:var(--primary); color:#fff; border-radius:12px; text-decoration:none; font-weight:700; border:1px solid var(--primary);} 
.btn:hover{background:var(--primary-600); border-color:var(--primary-600);} 
.btn-outline{background:#fff; color:var(--primary); border:1px solid var(--primary);} 
.btn-sm{padding:8px 12px; border-radius:10px; font-size:14px;}

/* Cards & grids */
.card{border:1px solid var(--border); padding:20px; border-radius:var(--radius); background:var(--card); box-shadow:var(--shadow);} 
.grid{display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.blog-grid{max-width:100%; margin:0; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}

.section-title{display:flex; align-items:center; justify-content:space-between; gap:12px; margin:32px 0 14px;}
.section-title h2{margin:0; font-size:26px;}
.section-title p{margin:0; color:var(--muted);} 
.muted{color:var(--muted);} 

.badges{display:flex; gap:10px; flex-wrap:wrap;}
.badge{background:#fef3c7; color:#92400e; padding:6px 10px; border-radius:999px; font-size:13px; font-weight:600; border:1px solid #fde68a;}

.steps{counter-reset:step; display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.step{background:#fff; border:1px dashed var(--border); border-radius:14px; padding:16px;}
.step h4{margin:8px 0;}
.step:before{counter-increment:step; content:counter(step); display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; background:#111827; color:#fff; border-radius:50%; font-weight:700; font-size:14px;}

.trust-row{display:flex; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:14px;}

.footer{background:#0f172a; color:#fff; margin-top:32px;}
.footer a{color:#fff;}
.footer .btn{background:#1f2937; border-color:#334155; color:#fff;}
.footer .btn:hover{background:#334155; border-color:#475569;}
.footer .btn.btn-outline{background:transparent; border-color:#64748b; color:#e2e8f0;}
.footer .btn.btn-outline:hover{background:#1e293b; color:#fff; border-color:#94a3b8;}

.pagination{margin:24px 0; display:flex; justify-content:center; gap:8px; flex-wrap:wrap;}
.pagination .page-numbers{padding:8px 12px; border:1px solid var(--border); border-radius:10px; background:#fff; text-decoration:none;}
.pagination .current{background:var(--primary); color:#fff; border-color:var(--primary);} 

/* Приводим узкие инлайн-обертки контента к общей ширине сайта */
main[style*="max-width:900px"]{
  max-width:1120px !important;
  margin:0 auto !important;
  padding:24px !important;
}

/* FAQ accordion */
.faq-list{display:flex; flex-direction:column; gap:10px;}
.faq-item{border:1px solid var(--border); border-radius:var(--radius); background:var(--card); box-shadow:var(--shadow); overflow:hidden;}
.faq-item summary{padding:16px 20px; font-weight:700; font-size:16px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq-item summary::after{content:'+'; font-size:22px; color:var(--primary); font-weight:700; transition:transform .2s;}
.faq-item[open] summary::after{content:'−';}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item p{padding:0 20px 16px; margin:0; color:var(--muted); line-height:1.6;}
.faq-item a{color:var(--primary); text-decoration:underline;}

/* Services grid on mobile: 2 cols */
@media(max-width:600px){
  .grid[style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(2,1fr) !important;}
}

@media(max-width:900px){
  .site-header .wrap{flex-wrap:nowrap; gap:10px;}
  .brand{font-size:17px; order:1; margin-right:auto;}
  .menu-toggle{display:inline-flex; align-items:center; justify-content:center; order:3;}

  .header-cta{display:none;}

  .nav{display:none; position:absolute; left:12px; right:12px; top:70px; z-index:30; background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow); padding:12px;}
  .nav.is-open{display:block;}
  .nav ul{display:flex; flex-direction:column; gap:8px; white-space:normal; overflow:visible; padding:0;}
  .nav li{flex:none;}
  .nav a{display:block; padding:8px 10px; border-radius:10px;}
  .nav a:hover{background:#f3f4f6;}

  .mobile-consult{display:flex; align-items:center; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--border); flex-wrap:wrap;}
  .mobile-consult .consult-text{font-size:13px; font-weight:600; color:#0f172a; width:100%;}
  .mobile-consult .social-icon{height:38px; padding:0 12px; border:1px solid var(--border); border-radius:10px; background:#fff; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:600;}
  .mobile-consult .social-icon img{width:20px; height:20px;}

  .hero-grid{grid-template-columns:1fr;}
  .hero h1,.hero h2{font-size:30px;}

  /* Центровка верхнего виджета на главной в мобильной версии */
  .hero-card{padding:14px;}
  .hero-card > div{display:flex !important; justify-content:center !important;}
  .hero-card iframe{display:block; margin:0 auto; height:500px;}

  /* Отступ снизу чтобы sticky CTA не перекрывал контент */
  body{padding-bottom:70px;}
}

/* Sticky CTA на мобилке */
.sticky-cta{display:none;}
@media(max-width:900px){
  .sticky-cta{
    display:flex;
    position:fixed;
    bottom:0; left:0; right:0;
    z-index:100;
    background:#fff;
    border-top:1px solid var(--border);
    padding:10px 16px;
    gap:10px;
    box-shadow:0 -4px 16px rgba(15,23,42,.1);
  }
  .sticky-cta a{flex:1; text-align:center; font-size:15px; padding:12px 8px;}
}
