/*
Theme Name: EasyPayments RU Theme
Theme URI: https://easypayments.online/
Author: OpenAI
Author URI: https://openai.com/
Description: Легковесная SEO-оптимизированная тема WordPress для сайта EasyPayments на русском языке.
Version: 1.0.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: easypayments-ru
*/

:root{
  --ept-bg:#f5f9fc;
  --ept-surface:#ffffff;
  --ept-surface-2:#eef6fb;
  --ept-text:#10233b;
  --ept-muted:#5f7084;
  --ept-line:#dce8f2;
  --ept-primary:#1f7ae0;
  --ept-primary-2:#13b5c8;
  --ept-primary-dark:#0c5fc0;
  --ept-accent:#15c39a;
  --ept-danger:#e14e5c;
  --ept-shadow:0 20px 60px rgba(13, 40, 74, .10);
  --ept-shadow-sm:0 10px 30px rgba(13, 40, 74, .08);
  --ept-radius:18px;
  --ept-radius-sm:12px;
  --ept-container:1220px;
  --ept-header-h:84px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ept-text);
  background:linear-gradient(180deg,#f8fbfd 0%, #eef6fb 100%);
  font-size:16px;
  line-height:1.65;
  min-width:320px;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:var(--ept-primary);
  text-decoration:none;
  transition:.2s ease;
}

a:hover{
  color:var(--ept-primary-dark);
}

button,
input,
textarea{
  font:inherit;
}

body.admin-bar .ept-site-header{
  top:32px;
}

.ept-container{
  width:min(var(--ept-container), calc(100% - 32px));
  margin:0 auto;
}

.ept-section{
  padding:24px 0;
}

.ept-section--tight{
  padding:24px 0;
}

.ept-section--soft{
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(8px);
}

.ept-page-main{
  min-height:60vh;
  padding-top:var(--ept-header-h);
}

.ept-card{
  background:var(--ept-surface);
  border:1px solid rgba(220,232,242,.95);
  border-radius:var(--ept-radius);
  box-shadow:var(--ept-shadow-sm);
}

.ept-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(31,122,224,.10);
  color:var(--ept-primary-dark);
  font-size:14px;
  font-weight:700;
}

.ept-kicker{
  display:inline-block;
  margin-bottom:14px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ept-primary);
}

.ept-title{
  margin:0 0 18px;
  font-size:clamp(30px,4vw,54px);
  line-height:1.08;
  letter-spacing:-.03em;
}

.ept-subtitle{
  margin:0 0 18px;
  font-size:clamp(26px,3vw,40px);
  line-height:1.15;
  letter-spacing:-.02em;
}

.ept-lead{
  font-size:18px;
  color:var(--ept-muted);
}

.ept-text-muted{
  color:var(--ept-muted);
}

.ept-btns{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.ept-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  cursor:pointer;
}

.ept-btn:hover{
  transform:translateY(-1px);
}

.ept-btn--primary{
  color:#fff;
  background:linear-gradient(135deg,var(--ept-primary),var(--ept-primary-2));
  box-shadow:0 16px 30px rgba(31,122,224,.25);
}

.ept-btn--primary:hover{
  color:#fff;
}

.ept-btn--secondary{
  color:var(--ept-text);
  background:#fff;
  border-color:var(--ept-line);
}

.ept-btn--ghost{
  background:transparent;
  border-color:rgba(255,255,255,.35);
  color:#fff;
}

.ept-grid{
  display:grid;
  gap:24px;
}

.ept-grid--2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ept-grid--3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.ept-grid--4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

/* Header */
.ept-site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:999;
  background:rgba(248,251,253,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(220,232,242,.85);
}

.ept-header-row{
  min-height:var(--ept-header-h);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
}

.ept-logo{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ept-text);
  font-weight:800;
  font-size:20px;
  letter-spacing:-.02em;
}

.ept-logo-mark{
  width:40px;
  height:40px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--ept-primary),var(--ept-primary-2));
  position:relative;
  box-shadow:0 12px 24px rgba(31,122,224,.22);
  flex:0 0 auto;
}

.ept-logo-mark::before,
.ept-logo-mark::after{
  content:"";
  position:absolute;
  border-radius:999px;
  background:#fff;
}

.ept-logo-mark::before{
  width:18px;
  height:4px;
  top:12px;
  left:11px;
}

.ept-logo-mark::after{
  width:12px;
  height:4px;
  top:20px;
  left:11px;
}

.ept-nav-wrap{
  display:flex;
  justify-content:center;
}

.ept-nav-menu,
.ept-nav-menu ul{
  list-style:none;
  margin:0;
  padding:0;
}

.ept-nav-menu{
  display:flex;
  align-items:center;
  gap:4px;
}

.ept-nav-menu > li{
  position:relative;
}

.ept-nav-menu > li > a{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 14px;
  color:var(--ept-text);
  font-size:15px;
  font-weight:600;
  border-radius:12px;
}

.ept-nav-menu > li:hover > a,
.ept-nav-menu > li.current-menu-item > a,
.ept-nav-menu > li.current_page_item > a,
.ept-nav-menu > li.current-menu-ancestor > a{
  background:rgba(31,122,224,.08);
  color:var(--ept-primary-dark);
}

.ept-nav-menu .menu-item-has-children > a::after{
  content:"";
  width:8px;
  height:8px;
  margin-left:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
}

.ept-nav-menu .sub-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:280px;
  padding:10px;
  background:#fff;
  border:1px solid var(--ept-line);
  border-radius:16px;
  box-shadow:var(--ept-shadow);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.22s ease;
}

.ept-nav-menu li:hover > .sub-menu,
.ept-nav-menu li:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.ept-nav-menu .sub-menu li a{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  color:var(--ept-text);
  font-weight:600;
}

.ept-nav-menu .sub-menu li a:hover{
  background:var(--ept-surface-2);
  color:var(--ept-primary-dark);
}

.ept-header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.ept-burger{
  display:none;
  width:48px;
  height:48px;
  border:1px solid var(--ept-line);
  border-radius:14px;
  background:#fff;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.ept-burger span{
  width:20px;
  height:2px;
  background:var(--ept-text);
  display:block;
  position:relative;
}

.ept-burger span::before,
.ept-burger span::after{
  content:"";
  position:absolute;
  left:0;
  width:20px;
  height:2px;
  background:var(--ept-text);
}

.ept-burger span::before{ top:-6px; }
.ept-burger span::after{ top:6px; }

.ept-mobile-panel{
  display:none;
}

/* Hero */
.ept-hero{
  position:relative;
  overflow:hidden;
  padding:30px 0;
}

.ept-hero::before{
  content:"";
  position:absolute;
  inset:auto auto -100px -100px;
  width:280px;
  height:280px;
  background:radial-gradient(circle, rgba(19,181,200,.16), rgba(19,181,200,0));
  pointer-events:none;
}

.ept-hero::after{
  content:"";
  position:absolute;
  top:-120px;
  right:-80px;
  width:360px;
  height:360px;
  background:radial-gradient(circle, rgba(31,122,224,.15), rgba(31,122,224,0));
  pointer-events:none;
}

.ept-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:42px;
  align-items:center;
}

.ept-hero-copy p{
  margin:0 0 18px;
}

.ept-hero-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:26px 0 32px;
}

.ept-hero-point{
  padding:18px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(220,232,242,.95);
  box-shadow:var(--ept-shadow-sm);
}

.ept-hero-point strong{
  display:block;
  font-size:24px;
  line-height:1;
  margin-bottom:8px;
}

.ept-hero-visual{
	max-width: 450px;
  position:relative;
	margin: 0 auto;
}

.ept-dashboard{
  padding:24px;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%, #f6fbff 100%);
  border:1px solid rgba(220,232,242,.95);
  box-shadow:var(--ept-shadow);
}

.ept-dashboard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px;
}

.ept-dashboard-title{
  font-size:18px;
  font-weight:800;
}

.ept-dots{
  display:flex;
  gap:8px;
}

.ept-dots i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d6e4ef;
  display:block;
}

.ept-service-stack{
  display:grid;
  gap:14px;
}

.ept-service-tile{
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--ept-line);
}

.ept-service-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--ept-primary),var(--ept-primary-2));
  box-shadow:0 14px 24px rgba(31,122,224,.18);
}

.ept-service-tile h3{
  margin:0 0 4px;
  font-size:17px;
}

.ept-service-tile p{
  margin:0;
  color:var(--ept-muted);
  font-size:14px;
}

.ept-service-badge{
  padding:8px 12px;
  border-radius:999px;
  background:rgba(21,195,154,.12);
  color:#0a7b61;
  font-size:13px;
  font-weight:700;
}

.ept-floating-note{
  position:absolute;
  right:-12px;
  bottom:22px;
  max-width:240px;
  padding:16px 18px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--ept-primary-dark),var(--ept-primary));
  color:#fff;
  box-shadow:0 18px 36px rgba(17,74,144,.24);
}

/* Common blocks */
.ept-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.ept-stat{
  padding:24px;
}

.ept-stat strong{
  display:block;
  font-size:34px;
  line-height:1;
  margin-bottom:10px;
}

.ept-services-card,
.ept-feature-card,
.ept-step-card,
.ept-faq-item,
.ept-contact-card,
.ept-text-card,
.ept-pricing-card{
  padding:28px;
}

.ept-services-card h3,
.ept-feature-card h3,
.ept-step-card h3,
.ept-contact-card h3,
.ept-text-card h3,
.ept-pricing-card h3{
  margin:0 0 12px;
  font-size:22px;
  line-height:1.2;
}

.ept-services-card p,
.ept-feature-card p,
.ept-step-card p,
.ept-contact-card p,
.ept-text-card p,
.ept-pricing-card p{
  margin:0 0 12px;
  color:var(--ept-muted);
}

.ept-icon-box{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(31,122,224,.14), rgba(19,181,200,.16));
  color:var(--ept-primary-dark);
  font-size:24px;
  font-weight:900;
}

.ept-list{
  margin:18px 0 0;
  padding:0;
  list-style:none;
}

.ept-list li{
  position:relative;
  padding-left:28px;
  margin-bottom:10px;
}

.ept-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--ept-primary),var(--ept-primary-2));
}

.ept-page-hero{
  padding:24px 0;
}

.ept-page-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);
  gap:24px;
  align-items:center;
}

.ept-page-badge-card{
  padding:24px;
}

.ept-page-badge-card ul{
  margin:0;
  padding-left:18px;
  color:var(--ept-muted);
}

.ept-content{
  display:grid;
  gap:24px;
}

.ept-content p{
  margin:0 0 16px;
}

.ept-faq{
  display:grid;
  gap:16px;
}

.ept-faq-item{
  background:#fff;
}

.ept-faq-question{
  width:100%;
  padding:0;
  background:none;
  border:0;
  text-align:left;
  cursor:pointer;
  color:var(--ept-text);
  font-size:20px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.ept-faq-question span:last-child{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--ept-surface-2);
  display:grid;
  place-items:center;
  font-size:20px;
  line-height:1;
}

.ept-faq-answer{
  display:none;
  padding-top:18px;
  color:var(--ept-muted);
}

.ept-faq-item.is-open .ept-faq-answer{
  display:block;
}

.ept-cta{
  color:#fff;
  background:linear-gradient(135deg,#0f5db8 0%, #118db3 100%);
  position:relative;
  overflow:hidden;
}

.ept-cta::before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  top:-90px;
  right:-60px;
  background:rgba(255,255,255,.08);
}

.ept-cta .ept-text-muted{
  color:rgba(255,255,255,.82);
}

.ept-breadcrumbs{
  margin-bottom:18px;
  font-size:14px;
  color:var(--ept-muted);
}

.ept-breadcrumbs a{
  color:var(--ept-muted);
}

.ept-breadcrumbs span{
  color:var(--ept-text);
}

.ept-footer{
  padding:64px 0 28px;
  background:#0f2034;
  color:#dfe9f3;
}

.ept-footer a{
  color:#dfe9f3;
}

.ept-footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr 1fr;
  gap:28px;
}

.ept-footer-title{
  margin:0 0 14px;
  font-size:17px;
  color:#fff;
}

.ept-footer-list{
  list-style:none;
  padding:0;
  margin:0;
}

.ept-footer-list li{
  margin-bottom:10px;
}

.ept-footer-bottom{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:14px;
  color:#acc0d2;
}

.ept-form{
  display:grid;
  gap:14px;
}

.ept-form input,
.ept-form textarea{
  width:100%;
  padding:15px 16px;
  border-radius:14px;
  border:1px solid var(--ept-line);
  background:#fff;
  color:var(--ept-text);
  outline:none;
}

.ept-form textarea{
  min-height:140px;
  resize:vertical;
}

.ept-placeholder-visual{
  min-height:280px;
  border-radius:24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(31,122,224,.18), transparent 35%),
    radial-gradient(circle at 80% 30%, rgba(19,181,200,.18), transparent 32%),
    linear-gradient(180deg,#ffffff 0%, #f1f8fd 100%);
  border:1px solid var(--ept-line);
  box-shadow:var(--ept-shadow-sm);
}

.ept-center{
  text-align:center;
}

.ept-mb-0{ margin-bottom:0 !important; }
.ept-mt-0{ margin-top:0 !important; }

/* WordPress */
.wp-caption,
.gallery-caption{
  max-width:100%;
}

.sticky{}
.bypostauthor{}
.screen-reader-text{
  position:absolute;
  left:-9999px;
}

/* Responsive */
@media (max-width: 1100px){
  .ept-hero-grid,
  .ept-page-hero__inner{
    grid-template-columns:1fr;
  }

  .ept-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ept-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ept-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
	.ept-hero-visual {
		display:none;
	}
}

@media (max-width: 1060px){
  .ept-nav-wrap {
    display:none;
  }

  .ept-burger{
    display:flex;
  }

  .ept-header-row{
    display: flex;
        justify-content: space-between;
  }

  .ept-mobile-panel{
    display:block;
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }

  .ept-mobile-panel.is-open{
    max-height:1000px;
  }

  .ept-mobile-panel__inner{
    padding:0 0 18px;
  }

  .ept-mobile-menu,
  .ept-mobile-menu ul{
    list-style:none;
    padding:0;
    margin:0;
  }

  .ept-mobile-menu > li{
    margin-bottom:8px;
  }

  .ept-mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 16px;
    border-radius:14px;
    background:#fff;
    border:1px solid var(--ept-line);
    color:var(--ept-text);
    font-weight:700;
  }

  .ept-mobile-menu .sub-menu{
    display:none;
    padding-top:8px;
    padding-left:12px;
  }

  .ept-mobile-menu .menu-item-has-children.is-open > .sub-menu{
    display:block;
  }

  .ept-mobile-menu .sub-menu a{
    font-weight:600;
    background:#f7fbff;
  }

  .ept-mobile-cta{
    margin-top:14px;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
  }

  .ept-hero{
    padding-top:132px;
  }

  .ept-hero-points,
  .ept-grid--3,
  .ept-grid--2{
    grid-template-columns:1fr;
  }

  .ept-floating-note{
    position:static;
    margin-top:18px;
  }
}

@media (max-width: 700px){
  body{
    font-size:15px;
  }

  .ept-container{
    width:min(var(--ept-container), calc(100% - 20px));
  }

  .ept-section{
    padding:24px 0;
  }

  .ept-page-main{
    padding-top:78px;
  }

  :root{
    --ept-header-h:74px;
  }

  .ept-stats,
  .ept-grid--4{
    grid-template-columns:1fr;
  }

  .ept-footer-grid{
    grid-template-columns:1fr;
  }

  .ept-services-card,
  .ept-feature-card,
  .ept-step-card,
  .ept-faq-item,
  .ept-contact-card,
  .ept-text-card,
  .ept-pricing-card,
  .ept-stat{
    padding:22px;
  }

  .ept-hero-point strong{
    font-size:22px;
  }
}
@media (max-width: 400px){
	.ept-logo span {
		display:none;}
	.ept-services-card, .ept-feature-card, .ept-step-card, .ept-faq-item, .ept-contact-card, .ept-text-card, .ept-pricing-card, .ept-stat {
        padding: 12px;
	}
