/*
Theme Name: coupons-theme
Version: 1.0.3
*/

/* ===== Переменные ===== */
:root {
    --primary:#144e83;
    --primary-dark:#003d16;
    --accent:#1780f0;
    --gray:#f7f7f7;
    --dark:#111827;
}

/* ===== Базовое ===== */
html,body {height:100%;}
body {margin:0;display:flex;flex-direction:column;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--dark);background:#fff;}
.site-main {flex:1 0 auto;}
.site-footer {flex-shrink:0;}

a {color:var(--primary);text-decoration-thickness:.08em;text-underline-offset:.15em;}
a:hover {color:var(--primary-dark);}

/* ===== Кнопки ===== */
.btn-primary {background:var(--primary);border-color:var(--primary);}
.btn-primary:hover {background:var(--primary-dark);border-color:var(--primary-dark);}
.btn-outline-primary {color:var(--primary);border-color:var(--primary);}
.btn-outline-primary:hover {background:var(--primary);border-color:var(--primary);color:#fff;}

.custom-burger{width:40px;height:32px;position:relative;border:none;background:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0;margin-left:auto;}
.custom-burger .burger-line{display:block;height:2px;background:#fff;border-radius:3px;transition:.3s;}
.custom-burger .top-line{width:28px;margin-bottom:6px;}
.custom-burger .bottom-line{width:20px;}

.custom-burger:focus{outline:none;box-shadow:none;}
.custom-burger[aria-expanded="true"] .top-line{transform:translateY(4px) rotate(45deg);width:28px;}
.custom-burger[aria-expanded="true"] .bottom-line{transform:translateY(-4px) rotate(-45deg);width:28px;}

/* ===== Шапка и футер ===== */
.site-header { }
.site-header .topmenu {background: linear-gradient(to bottom right, #2384c9, #236da2);}
.site-logo a {font-weight:700;font-size:1.3rem;text-decoration:none;letter-spacing:.02em;color:#fff;}
.site-logo img{  width: 130px; height: 45px}
.site-footer {border-top:1px solid var(--gray);background:#fafafa;font-size:.9rem;color:#555;}
.site-footer a {color:#555;}
.site-footer a:hover {color:var(--primary);}


.menu-header li a{ margin: 0 0 0 10px; padding-bottom: 2px; font-size:13px; color: #fff; border-bottom:1px solid #cddcff; text-decoration: none;}
.menu-header li a:hover{  text-decoration: none; border-bottom: none}
.menu-footer li a{ margin: 0 0 0 10px}




/* ===== Хлебные крошки ===== */
.breadcrumb {font-size:.875rem;}
.breadcrumb-item+.breadcrumb-item::before {content:"›";}

/* ===== Карточки ===== */
.company-card {margin-bottom:1.5rem;}
.company-card .card {border-radius:.9rem;border:1px solid var(--gray);box-shadow:0 4px 12px rgba(0,0,0,.05);transition:.15s;background:#fff;}
.company-card .card:hover {transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.12);}
.company-card .card-img-top {max-height:220px;object-fit:cover;border-radius:.9rem .9rem 0 0;}
.company-card .card-title a {color:var(--dark);text-decoration:none;}
.company-card .card-title a:hover {color:var(--primary);}
.company-card .card-text {font-size:.95rem;color:#555;}
.company-card .btn {font-size:.85rem;padding:.45rem 1rem;border-radius:999px;}

@media(max-width:575.98px){
    .company-card {padding:0 .35rem;}
}

/* ===== Категории на главной ===== */
.category-list-title {border-bottom:2px solid var(--primary);padding-bottom:.25rem;margin-bottom:.75rem;font-weight:600;}
.category-list-title a {color:var(--dark);text-decoration:none;}
.category-list-title a:hover {color:var(--primary);}
.subcategory-list {list-style:none;padding:0;margin:0 0 1.5rem;font-size:.9rem;}
.subcategory-list a {color:#555;text-decoration:none;}
.subcategory-list a:hover {color:var(--primary);text-decoration:underline;}

/* ===== МЕГА-МЕНЮ ===== */
.mega-bar {border-top:1px solid #39a1f7;}

.mega-nav {overflow:visible;-webkit-overflow-scrolling:touch;}
.mega-menu {list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
@media(max-width:575.98px){.mega-nav{overflow-x:auto; padding: 10px 0}.mega-menu{flex-wrap:nowrap;white-space:nowrap;}}


.mega-menu {list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
@media(max-width:575.98px){.mega-menu {flex-wrap:nowrap;white-space:nowrap;}}

/* Верхний уровень */
/*.mega-menu>li.menu-item>a {display:inline-flex;align-items:center;gap:.25rem;padding:.55rem .9rem;border-radius:7px;background-color:#eee;color:#333;font-size:.9rem;border:1px solid transparent;text-decoration:none;transition:.15s;}
.mega-menu>li.menu-item>a:hover {background:#fff;color:#111;border-color:#ddd;}
*/

.mega-menu li.menu-item a:first-child { background-color: #111}
.mega-menu>li.menu-item>a {background-image: linear-gradient(to right, #035caf 0%, #006cd0 51%, #0687ff 100%);; margin-top: 10px}
.mega-menu>li.menu-item>a {display:inline-flex;align-items:center;gap:.25rem;padding:.55rem .7rem;font-size:.8rem;text-decoration:none;
text-align: center; text-transform: uppercase; transition: 0.5s; background-size: 200% auto; color: #fff;box-shadow: 0 0 20px #eee;border-radius: 10px;display: block;}
.mega-menu>li.menu-item>a:hover {background-position: right center; color: #fff;text-decoration: none;}
         

/* Активный */
.mega-menu>li.menu-item.current-menu-item>a {background:var(--primary);color:#fff;border-color:var(--primary);}

/* Жёлтый (accent) */
.mega-menu>li.menu-item.mega-pill-yellow>a {background:var(--accent);border-color:var(--accent);color:#000;}
.mega-menu>li.menu-item.mega-pill-yellow>a:hover {background:var(--accent);opacity:.85;}

/* ===== Submenu (упрощённый) ===== */
/* ===== Submenu (overlay) ===== */
.mega-menu>li{position:relative;}
.mega-menu li.menu-item-has-children>a::after{content:"▾";margin:0;padding:0;font-size:inherit;opacity:.9;}
.mega-submenu{position:absolute;left:0;top:100%;margin-top:.05rem;list-style:none;padding:.35rem 0;min-width:220px;background:#fff;border:1px solid var(--gray);border-radius:.5rem;box-shadow:0 12px 30px rgba(0,0,0,.18);display:none;z-index:999;}
.mega-menu li.menu-item-has-children:hover>.mega-submenu{display:block;}
.mega-submenu li a{display:block;padding:.3rem .9rem;font-size:.9rem;color:var(--dark);text-decoration:none;white-space:nowrap;}
.mega-submenu li a:hover{background:#f5f5f5;color:var(--primary);}


.mobile-subcats{margin:0 0 0 0; padding: 15px 0; border-top: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6 }
.mobile-subcats-title{font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:#555;}
.mobile-subcats-list{display:flex;flex-wrap:wrap;gap:.35rem;}
.mobile-subcats-list a{display:inline-block;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--gray);font-size:.85rem;color:var(--dark);text-decoration:none; background-color: #f7f7f7}
.mobile-subcats-list a:hover{background:#f5f5f5;color:var(--primary);}

/* если хочешь — на десктопе можно сделать более строгим видом */
@media(min-width:992px){
    .mobile-subcats-list{gap:.25rem;}
}



/* ===== Mega bar layout ===== */
.mega-bar-inner{display:flex;align-items:center;gap:.5rem;}
.mega-search-toggle{border:none;background:#3a7bd5;border-radius:10px;width:52px !important;height:39px !important;display:none;align-items:center;justify-content:center;font-size:1.4rem;padding:0 10px; margin-top:10px; cursor:pointer;border:1px solid #e6e6e6}
.mega-search-toggle:hover{background:#fff; border:1px solid #e6e6e6}
.mega-search-toggle i { color: #fff}
.mega-search-toggle:hover i { color: #3a7bd5}
.mega-search-toggle:focus{outline:2px solid var(--primary);}



/* desktop: иконку не показываем */
@media(min-width:576px){.mega-search-toggle{display:none;}}

/* mobile: иконка + скролл категорий */
@media(max-width:575.98px){
    .mega-search-toggle{display:inline-flex}
    .mega-nav{overflow-x:auto;}
    .mega-menu .active > a,
.mega-submenu .active > a,
.mega-fullscreen-parent.active,
.mega-fullscreen-children a.active {
color: #fff; background-color: #3a7bd5 !important; padding: 3px 10px; border-radius: 10px
}
}


.mega-fullscreen-parent.active:hover,
.mega-fullscreen-children a.active:hover { color: #fff; background-color: #333 !important; }


.header-social i, .header-social-mobile i {vertical-align: middle;}
.header-social{display:flex;align-items:center;gap:12px;}

.header-social-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f3f4f6;text-decoration:none;line-height:0}


.header-social-link:hover{background:#222;}
.header-social-mobile .header-social-link{margin:0 6px;}
.header-social-mobile{margin-top:20px !important;padding-top:12px !important;border-top:1px solid #ddd;}
.header-social-mobile-inner{display:flex;justify-content:center;gap:10px;border-bottom:1px solid #ddd;margin-bottom:4px;}
@media(max-width:992px){
#top-menu { margin-top:10px;padding: 10px 0;border-top:1px solid #ddd;}
}
.header-social-link.header-social-whatsapp{background:#25D366;color:#fff;}
.header-social-link.header-social-whatsapp i{color:#fff}
.header-social-link.header-social-telegram{background:#0088cc;color:#fff;}
.header-social-link.header-social-telegram i{color:#fff}
.header-social-link.header-social-vk{background:#2787F5;color:#fff;}
.header-social-link.header-social-vk svg{width:18px;height:18px;color:#fff !important;display:block}

/* вместо старой строки */
.header-social-link i{font-size:18px;line-height:1;color:#111827;}
.header-social-link.header-social-vk svg{
    width:18px;height:18px;color:#fff !important;display:block;transform:translateY(1px);
}



/* ===== Fullscreen menu (только mobile) ===== */
.mega-fullscreen{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;z-index:9999;}
.mega-fullscreen-inner{position:absolute;inset:0;background:#fff;padding:1rem;overflow-y:auto;; padding-top: 20px}
.mega-fullscreen.is-open{display:block;}

.mega-fullscreen-close{border:none;background:transparent;font-size:1.8rem;line-height:1;color:var(--dark);position:absolute;top:.5rem;right:.75rem;cursor:pointer;}
.mega-fullscreen-title{font-size:1.5rem;margin:0 0 1.95rem 0;font-weight:600; color:var(--primary) }

.mega-fullscreen-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;}
.mega-fullscreen-group{border-bottom:1px solid var(--gray);padding-bottom:.5rem;}
.mega-fullscreen-parent{display:inline-block;font-weight:600;color:var(--dark);text-decoration:none;margin-bottom:.25rem;}
.mega-fullscreen-parent:hover{color:var(--primary);}
.mega-fullscreen-children{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem;}
.mega-fullscreen-children a{display:inline-block;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--gray);font-size:.85rem;color:var(--dark);text-decoration:none;}
.mega-fullscreen-children a:hover{background:#f5f5f5;color:var(--primary);}

/* На десктопе fullscreen-меню не нужно */
@media(min-width:576px){.mega-fullscreen{display:none!important;}}

/* Кружки */
.mega-menu .menu-item > a{position:relative;display:inline-flex;align-items:center;padding-right:26px;}
.mega-badge{position:absolute;top:-8px;right:-6px;min-width:22px;height:22px;padding:0 4px;border-radius:999px;background:#00d2ff; border:1px solid #fff; color:#111;font-size:10px;line-height:19px;text-align:center;}
.mega-badge-sm{min-width:16px;height:16px;font-size:10px;line-height:16px;top:3px;right:3px;}
.mega-submenu .menu-item > a{position:relative;padding-right:24px; background: none !important;}


.section-company .company-map { width: 100%; height: 260px; border-radius: 8px; overflow: hidden;}
.section-company .card { background: var(--gray); box-shadow: 0px 0px 2px #aaa; border:1px solid #fff }
.section-company .card h2{ font-size: 16px; text-transform: uppercase; color: var(--primary); font-weight: 700; border-bottom: 1px solid #ddd; padding: 0 0 10px 0 }
.section-company .card .card-body strong i{ font-size: 13px; font-weight: 700;color:var(--primary); }
.section-company .card .card-body a{ text-decoration: none; color: var(--accent) }
.info-category { background: var(--gray); display: inline; padding: 10px; border-radius: 4px }
.info-category a{ color: #777;}
.info-category a:hover{ color: #222; text-decoration: none}


/* Галерея компании (Swiper) */
.company-gallery { width:100%; overflow:hidden; position:relative; }
.company-gallery .swiper-wrapper { align-items:stretch; }
.company-gallery .swiper-slide { box-sizing:border-box; }
.company-gallery .swiper-slide img { width:100%; height:auto; display:block; border-radius:8px; }

.company-lightbox { position:fixed; inset:0; z-index:1050; display:none; }
.company-lightbox.is-open { display:block; }
.company-lightbox-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.85); }
.company-lightbox-inner { position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:16px; box-sizing:border-box; }
.company-lightbox-swiper { width:100%; max-width:960px; }
.company-lightbox-img-wrap { position:relative; }
.company-lightbox-img-wrap img { width:100%; height:auto; display:block; }
.company-lightbox-watermark { position:absolute; right:12px; bottom:12px; max-width:30%; width:140px; opacity:.35; pointer-events:none; }

.company-lightbox-close { position:absolute; top:16px; right:20px; background:transparent; border:0; color:#fff; font-size:28px; line-height:1; cursor:pointer; z-index:10; }
.company-lightbox .swiper-button-prev,
.company-lightbox .swiper-button-next { color:#fff; }


.to-top-btn{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;background:#3a7bd5;color:#fff;font-size:22px;cursor:pointer;display:none;justify-content:center;align-items:center;z-index:9999;transition:opacity .25s;}
.to-top-btn:hover{background:#236da2;}
.to-top-btn.show{display:flex;opacity:1;}
.to-top-btn.hide{opacity:0;}


/* ===== Страница контактов ===== */
.contacts-page{margin-bottom:3rem}
.contacts-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.contacts-title{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}
.contacts-item{margin-bottom:1rem}
.contacts-item-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:.15rem}
.contacts-item-value a{text-decoration:none;color:var(--primary)}
.contacts-item-value a:hover{color:var(--accent)}
.contacts-form-wrapper{height:100%}
.contacts-form-title{font-size:1.4rem;font-weight:600;margin-bottom:1.25rem}
.contacts-form-wrapper form input[type=text],
.contacts-form-wrapper form input[type=email],
.contacts-form-wrapper form input[type=tel],
.contacts-form-wrapper form textarea{width:100%;border-radius:.5rem;border:1px solid #d1d5db;padding:.65rem .9rem;font-size:.95rem}
.contacts-form-wrapper form input[type=submit],
.contacts-form-wrapper form button{margin-top:.75rem}
@media (max-width:767.98px){
  .contacts-card{padding:1.5rem}
  .contacts-title{font-size:1.5rem}
}
.contacts-item-label{display:flex;align-items:center;gap:6px;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:.15rem}
.contacts-item-label i{font-size:1rem;color:var(--primary);}

.contacts-form-wrapper .wpcf7-response-output{margin:0 0 1rem !important;padding:.75rem 1rem !important;border-radius:.5rem;font-size:.9rem;background-color: #b9ffbf}
.contacts-form-wrapper .wpcf7-mail-sent-ok{background:#ecfdf3 !important;border:1px solid #22c55e;color:#166534}
.contacts-form-wrapper .wpcf7-validation-errors,
.contacts-form-wrapper .wpcf7-acceptance-missing{background:#fef2f2;border:1px solid #f97373;color:#991b1b}

.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;margin:.75rem 0 0}
.checkbox__input{position:absolute;opacity:0;pointer-events:none}
.checkbox__mark{flex:0 0 16px;height:16px;border-radius:4px;border:1px solid #d1d5db;box-sizing:border-box;margin-top:2px;position:relative}
.checkbox__mark::after{content:"";position:absolute;inset:2px;background:transparent;border-radius:2px;transition:.15s}
.checkbox__input:checked+.checkbox__mark{background:var(--primary);border-color:var(--primary)}
.checkbox__input:checked+.checkbox__mark::after{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M6.173 12.414L2.05 8.293l1.414-1.414 2.709 2.708 6.364-6.364 1.414 1.414z'/%3E%3C/svg%3E") center/12px 12px no-repeat}
.checkbox a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}
.checkbox a:hover{color:var(--primary)}
.contacts-form-wrapper input[type=submit]:disabled{opacity:.5;cursor:not-allowed}




.cookie-banner{position:fixed;left:20px;bottom:20px;z-index:9999;max-width:360px;background:#222;color:#fff;font-size:14px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.2);}
.cookie-banner-inner{position:relative;padding:12px 36px 12px 12px;}
.cookie-banner-text a{color:#ffd95a;text-decoration:underline;}
.cookie-banner-text a:hover{text-decoration:none;}
.cookie-banner-close{position:absolute;top:6px;right:8px;border:none;background:transparent;color:#fff;font-size:18px;line-height:1;cursor:pointer;padding:0;}
@media (max-width:575.98px){.cookie-banner{left:10px;right:10px;bottom:10px;max-width:none;font-size:13px;}}
