/*
Theme Name: MetterRU
Theme URI: https://pokazania24.ru
Description: Передача показаний счётчиков — вся Россия. Справочник организаций ЖКХ по всем субъектам РФ.
Version: 1.0.0
Author: MetterRU
Author URI: https://pokazania24.ru
Text Domain: metterru
License: GPL-2.0-or-later
Requires at least: 6.0
Requires PHP: 8.0
*/

/* ========== DESIGN TOKENS ========== */
:root {
  --font: 'Inter', system-ui, -apple-system, sans-serif;
  --clr-primary: #0e4a3e;
  --clr-primary-light: #1a6b56;
  --clr-accent: #ff6f00;
  --clr-accent-hover: #e65100;
  --clr-bg: #f0f5f3;
  --clr-white: #ffffff;
  --clr-text: #1e293b;
  --clr-muted: #64748b;
  --clr-border: #d1e0db;
  --clr-card: #ffffff;
  --clr-elec: #f59e0b;
  --clr-gas: #3b82f6;
  --clr-water: #06b6d4;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 14px rgba(0,0,0,.04);
  --shadow-lg: 0 4px 24px rgba(0,0,0,.1);
  --transition: .25s cubic-bezier(.4,0,.2,1);
}

/* ========== RESET ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:16px;line-height:1.6;color:var(--clr-text);background:var(--clr-bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{line-height:1.25;font-weight:700}
ul,ol{list-style:none}

/* ========== LAYOUT ========== */
.mru-container{max-width:1140px;margin:0 auto;padding:0 20px}
.mru-section{padding:48px 0}

/* ========== HEADER ========== */
.mru-header{background:linear-gradient(135deg,var(--clr-primary) 0%,#072a22 100%);color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.15);transition:var(--transition)}
.mru-header__inner{display:flex;align-items:center;padding:5px 0;gap:6px}
.mru-logo{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}
.mru-logo span{font-size:1.2rem}
.mru-header-nav{display:flex;gap:4px;align-items:center;margin-left:auto}
.mru-header-nav a{padding:6px 12px;border-radius:50px;font-size:.85rem;font-weight:500;transition:var(--transition);color:rgba(255,255,255,.85)}
.mru-header-nav a:hover,.mru-header-nav a.active{background:rgba(255,255,255,.15);color:#fff}
.mru-burger{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;padding:6px}

/* ========== HEADER WEATHER WIDGET ========== */
.mru-header-weather{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:6px 12px;min-width:0;flex-shrink:1;backdrop-filter:blur(8px);transition:var(--transition)}
.mru-header-weather:hover{background:rgba(255,255,255,.16)}
.mru-hw__loading{font-size:.78rem;opacity:.7;white-space:nowrap}
.mru-hw__main{display:flex;align-items:center;gap:5px;flex-shrink:0}
.mru-hw__icon{font-size:1.2rem;line-height:1}
.mru-hw__temp{font-size:.95rem;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.mru-hw__info{display:flex;flex-direction:column;min-width:0}
.mru-hw__city{font-size:.7rem;font-weight:600;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mru-hw__desc{font-size:.65rem;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mru-hw__mini{font-size:.8rem;opacity:.7;white-space:nowrap}

/* ========== HEADER HOROSCOPE WIDGET ========== */
.mru-header-horoscope{position:relative;flex-shrink:0}
.mru-horo-toggle{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:6px 12px;color:#fff;cursor:pointer;font-family:var(--font);font-size:.82rem;font-weight:600;transition:var(--transition);backdrop-filter:blur(8px);white-space:nowrap}
.mru-horo-toggle:hover{background:rgba(255,255,255,.18)}
.mru-horo-toggle__icon{font-size:1.1rem;line-height:1}
.mru-horo-toggle__text{font-size:.78rem}

/* Horoscope dropdown */
.mru-horo-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;width:320px;background:var(--clr-white);border-radius:var(--radius);box-shadow:0 8px 40px rgba(0,0,0,.18);border:1px solid var(--clr-border);z-index:1001;overflow:hidden;animation:mru-horo-in .2s ease}
.mru-horo-dropdown.open{display:block}
@keyframes mru-horo-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mru-horo-dropdown__header{padding:14px 16px 10px;font-size:.82rem;font-weight:700;color:var(--clr-primary);border-bottom:1px solid var(--clr-border);text-align:center}

/* Zodiac signs grid */
.mru-horo-signs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:12px}
.mru-horo-sign{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:1.5rem;transition:var(--transition);font-family:var(--font)}
.mru-horo-sign:hover{background:#e6f5f0;transform:scale(1.08)}
.mru-horo-sign::after{content:attr(data-name);font-size:.6rem;color:var(--clr-muted);margin-top:2px;font-weight:500}

/* Horoscope result */
.mru-horo-result{padding:16px}
.mru-horo-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--clr-primary);font-size:.78rem;font-weight:600;cursor:pointer;padding:4px 0;margin-bottom:10px;font-family:var(--font);transition:var(--transition)}
.mru-horo-back:hover{opacity:.7}
.mru-horo-result__sign{font-size:2.5rem;text-align:center;margin-bottom:4px}
.mru-horo-result__name{font-size:1rem;font-weight:700;text-align:center;color:var(--clr-primary)}
.mru-horo-result__dates{font-size:.75rem;text-align:center;color:var(--clr-muted);margin-bottom:12px}
.mru-horo-result__text{font-size:.82rem;line-height:1.55;color:var(--clr-text);background:#f8faf9;border-radius:var(--radius-sm);padding:12px;border:1px solid var(--clr-border)}

@media(max-width:768px){
  .mru-header__inner{flex-wrap:wrap}
  .mru-header-weather{order:3;flex-basis:auto}
  .mru-header-horoscope{order:4}
  .mru-header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--clr-primary);flex-direction:column;padding:16px;gap:4px;box-shadow:var(--shadow-lg);order:10}
  .mru-header-nav.open{display:flex}
  .mru-header-nav a{padding:12px 16px;border-radius:var(--radius-sm)}
  .mru-burger{display:block;margin-left:auto;order:5}
  .mru-horo-dropdown{right:-40px;width:290px}
  .mru-hw__desc{display:none} /* Hide long weather description on mobile */
}

@media(max-width:420px){
  .mru-header-weather{padding:4px 8px}
  .mru-hw__info{display:flex} /* Ensure info container (city) is visible */
  .mru-hw__city{font-size:.65rem;font-weight:600} /* Small letters for city name */
  .mru-horo-toggle__text{display:none}
  .mru-horo-dropdown{right:-80px;width:280px}
}

/* ========== HERO ========== */
.mru-hero{background:linear-gradient(135deg,var(--clr-primary) 0%,#051e18 50%,#0e4a3e 100%);color:#fff;padding:64px 0 56px;text-align:center;position:relative;overflow:hidden}
.mru-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.mru-hero h1{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:12px;position:relative}
.mru-hero__sub{font-size:clamp(.9rem,2vw,1.1rem);color:rgba(255,255,255,.75);max-width:600px;margin:0 auto 28px}

/* ========== SERVICE BADGES ========== */
.mru-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:32px 0}
.mru-badge{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:50px;font-weight:600;font-size:.92rem;transition:var(--transition);cursor:pointer;border:2px solid var(--clr-border);background:var(--clr-white)}
.mru-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mru-badge--elec{border-color:var(--clr-elec);color:#92400e}
.mru-badge--elec:hover{background:#fffbeb}
.mru-badge--gas{border-color:var(--clr-gas);color:#1e40af}
.mru-badge--gas:hover{background:#eff6ff}
.mru-badge--water{border-color:var(--clr-water);color:#155e75}
.mru-badge--water:hover{background:#ecfeff}

/* ========== LETTER INDEX ========== */
.mru-letter-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px;justify-content:center}
.mru-letter-nav a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:.85rem;background:var(--clr-white);border:1px solid var(--clr-border);transition:var(--transition);color:var(--clr-primary)}
.mru-letter-nav a:hover{background:var(--clr-primary);color:#fff;transform:scale(1.1)}

/* ========== CITY/REGION ROWS ========== */
.mru-city-group{margin-bottom:20px;scroll-margin-top:80px}
.mru-city-group__letter{font-size:1.4rem;font-weight:800;color:var(--clr-primary);width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e6f5f0,#ccebe3);border-radius:var(--radius-sm);height:40px}
.mru-city-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mru-city-link{padding:8px 18px;border-radius:50px;font-size:.9rem;font-weight:500;background:var(--clr-white);border:1px solid var(--clr-border);transition:var(--transition);white-space:nowrap}
.mru-city-link:hover{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary);transform:translateY(-1px);box-shadow:var(--shadow)}

/* ========== REGION CARDS ========== */
.mru-region-card{background:var(--clr-card);border:1px solid var(--clr-border);border-radius:var(--radius);padding:20px;transition:var(--transition);display:flex;align-items:center;gap:12px}
.mru-region-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--clr-primary)}
.mru-region-card__icon{font-size:1.5rem}
.mru-region-card__name{font-weight:600;font-size:1rem}
.mru-region-card__count{font-size:.82rem;color:var(--clr-muted);margin-left:auto}

/* ========== SERVICE TABS ========== */
.mru-tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.mru-tab{padding:10px 24px;border-radius:50px;font-size:.92rem;font-weight:600;border:2px solid var(--clr-border);background:var(--clr-white);cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;gap:6px}
.mru-tab:hover{border-color:var(--clr-primary);color:var(--clr-primary)}
.mru-tab.active{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary)}
.mru-tab-panel{display:none}
.mru-tab-panel.active{display:block}

/* ========== COMPANY CARDS ========== */
.mru-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.mru-card{background:var(--clr-card);border-radius:var(--radius);border:1px solid var(--clr-border);padding:24px;transition:var(--transition);position:relative;overflow:hidden}
.mru-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--clr-primary),var(--clr-accent));opacity:0;transition:var(--transition)}
.mru-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.mru-card:hover::before{opacity:1}
.mru-card__badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:50px;font-size:.75rem;font-weight:600;margin-bottom:12px}
.mru-card__badge--elec{background:#fef3c7;color:#92400e}
.mru-card__badge--gas{background:#dbeafe;color:#1e40af}
.mru-card__badge--water{background:#cffafe;color:#155e75}
.mru-card__name{font-size:1.05rem;font-weight:700;margin-bottom:6px;color:var(--clr-text)}
.mru-card__desc{font-size:.87rem;color:var(--clr-muted);margin-bottom:12px;line-height:1.5}
.mru-card__phone{font-size:.85rem;color:var(--clr-muted);margin-bottom:14px}
.mru-card__phone a{color:var(--clr-primary);font-weight:500}

/* ========== BUTTONS ========== */
.mru-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 24px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:var(--transition);font-family:var(--font);text-align:center}
.mru-btn--primary{background:linear-gradient(135deg,var(--clr-accent),#e65100);color:#fff;box-shadow:0 2px 8px rgba(255,111,0,.3)}
.mru-btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,111,0,.4)}
.mru-btn--full{width:100%}
.mru-btn--outline{background:transparent;border:2px solid var(--clr-border);color:var(--clr-text)}
.mru-btn--outline:hover{border-color:var(--clr-primary);color:var(--clr-primary)}

/* ========== BREADCRUMBS ========== */
.mru-breadcrumbs{font-size:.84rem;color:rgba(255,255,255,.65);margin-bottom:16px}
.mru-breadcrumbs a{color:rgba(255,255,255,.8);transition:var(--transition)}
.mru-breadcrumbs a:hover{color:#fff}
.mru-breadcrumbs .sep{margin:0 8px;opacity:.5}

/* ========== CITY HERO ========== */
.mru-city-hero{background:linear-gradient(135deg,var(--clr-primary),#051e18);color:#fff;padding:40px 0 36px}
.mru-city-hero h1{font-size:clamp(1.3rem,3.5vw,2rem)}

/* ========== EMPTY STATE ========== */
.mru-empty{text-align:center;padding:48px 20px;color:var(--clr-muted)}
.mru-empty__icon{font-size:3rem;margin-bottom:12px}

/* ========== FOOTER ========== */
.mru-footer{background:#0a2e25;color:rgba(255,255,255,.7);padding:40px 0 24px;margin-top:auto}
.mru-footer__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.mru-footer__copy{font-size:.85rem}
.mru-footer__links{display:flex;gap:20px}
.mru-footer__links a{font-size:.85rem;transition:var(--transition)}
.mru-footer__links a:hover{color:#fff}

/* ========== HOW-IT-WORKS ========== */
.mru-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:20px}
.mru-step{text-align:center;padding:28px 18px;background:var(--clr-white);border-radius:var(--radius);border:1px solid var(--clr-border);transition:var(--transition)}
.mru-step:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.mru-step__icon{font-size:2.2rem;margin-bottom:10px}
.mru-step__num{font-size:.7rem;font-weight:700;color:var(--clr-accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.mru-step__title{font-size:1rem;font-weight:700;margin-bottom:6px;color:var(--clr-primary)}
.mru-step__desc{font-size:.87rem;color:var(--clr-muted)}

/* ========== SECTION TITLES ========== */
.mru-section-title{font-size:clamp(1.2rem,3vw,1.6rem);color:var(--clr-primary);text-align:center;margin-bottom:8px}
.mru-section-sub{text-align:center;color:var(--clr-muted);font-size:.95rem;margin-bottom:24px}
.mru-divider{width:60px;height:3px;background:linear-gradient(90deg,var(--clr-accent),var(--clr-primary));margin:0 auto 28px;border-radius:4px}

/* ========== INFO BANNER ========== */
.mru-info{background:#e6f5f0;border:1px solid #a7d7c5;border-radius:var(--radius);padding:16px 20px;display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:#0e4a3e;margin:32px 0}

/* ========== BACK TO TOP ========== */
.mru-btt{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;background:var(--clr-primary);color:#fff;border:none;font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px);transition:var(--transition);z-index:999;display:flex;align-items:center;justify-content:center}
.mru-btt.visible{opacity:1;transform:translateY(0)}
.mru-btt:hover{background:var(--clr-accent)}

/* ========== RESPONSIVE ========== */
@media(max-width:600px){
  .mru-grid{grid-template-columns:1fr}
  .mru-hero{padding:40px 0 36px}
  .mru-section{padding:32px 0}
  .mru-tabs{gap:6px}
  .mru-tab{padding:8px 16px;font-size:.84rem}
}

/* ========== INSTRUCTION PAGES ========== */
.mru-instruction-content h2 {
  font-size: 1.4rem;
  color: var(--clr-primary);
  margin: 32px 0 16px;
  border-bottom: 2px solid var(--clr-border);
  padding-bottom: 8px;
}
.mru-instruction-content h3 {
  font-size: 1.15rem;
  color: var(--clr-text);
  margin: 24px 0 12px;
}
.mru-instruction-content p {
  margin-bottom: 16px;
  line-height: 1.8;
}
.mru-instruction-content ol {
  list-style: none;
  counter-reset: mru-step-counter;
  margin: 20px 0;
  padding-left: 0;
}
.mru-instruction-content ol > li {
  counter-increment: mru-step-counter;
  position: relative;
  padding-left: 48px;
  margin-bottom: 20px;
  line-height: 1.7;
}
.mru-instruction-content ol > li::before {
  content: counter(mru-step-counter);
  position: absolute;
  left: 0;
  top: 2px;
  width: 32px;
  height: 32px;
  background: var(--clr-primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.9rem;
}
.mru-instruction-content ul {
  list-style: none;
  margin: 16px 0;
  padding-left: 0;
}
.mru-instruction-content ul > li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
}
.mru-instruction-content ul > li::before {
  content: "•";
  position: absolute;
  left: 8px;
  color: var(--clr-accent);
  font-weight: bold;
  font-size: 1.2rem;
  top: -2px;
}
.mru-instruction-content .mru-info {
  margin: 24px 0;
}
.mru-instruction-content .mru-btn {
  margin-top: 12px;
  margin-bottom: 16px;
}
