/*
Theme Name: HausHof V11 Responsive Fix
Theme URI: https://haushof.ru/
Author: HausHof
Author URI: https://haushof.ru/
Description: Полностью адаптивная WordPress-тема HausHof: шапка, hero, карточки и футер перестраиваются под desktop/tablet/mobile без наложений. Текст редактируемый, изображения отдельными файлами.
Version: 11.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: haushof-v11-responsive
Tags: custom-home-page, landing-page, construction, responsive, editable
*/

:root{
  --orange:#ff4b16;
  --orange-dark:#e5410f;
  --blue:#168de2;
  --text:#151a22;
  --muted:#667085;
  --line:#e7ebf0;
  --soft:#fff4ec;
  --dark:#111c27;
  --dark2:#1c2a36;
  --container:1360px;
  --radius:16px;
  --shadow:0 14px 42px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0!important;background:#fff;color:var(--text);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.45;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.hh-container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.hh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 26px;border-radius:8px;background:var(--orange);border:1px solid var(--orange);color:#fff!important;font-weight:800;font-size:15px;box-shadow:0 10px 22px rgba(255,75,22,.2);transition:.2s}
.hh-btn:hover{background:var(--orange-dark);border-color:var(--orange-dark);transform:translateY(-1px)}
.hh-btn--outline{background:#fff;color:#1f2937!important;border-color:var(--orange);box-shadow:none}
.hh-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hh-accent{color:var(--orange)}
.hh-site{background:#fff}

/* Top bar: fully responsive, no overlap */
.hh-topbar{background:#fff;border-bottom:1px solid var(--line)}
.hh-topbar__inner{min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.hh-phone{display:flex;align-items:center;gap:12px;font-size:clamp(18px,2vw,25px);font-weight:900;white-space:nowrap}
.hh-phone img{width:40px;height:40px;flex:0 0 auto}
.hh-telegram{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:#fff!important;border-radius:6px;padding:12px 24px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.hh-telegram img{width:22px;height:22px;flex:0 0 auto}
.hh-topbar__cta{justify-self:end;white-space:nowrap}

/* Main nav */
.hh-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hh-header__inner{min-height:68px;display:flex;align-items:center;gap:42px}
.hh-logo-link{flex:0 0 160px;display:flex;align-items:center}
.hh-logo-img{width:142px;height:auto;max-height:58px;object-fit:contain}
.hh-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3.5vw,58px);font-size:14px;font-weight:800;white-space:nowrap}
.hh-nav a:hover{color:var(--orange)}

/* Hero: image is design element, not clickable, and never overlaps text */
.hh-hero{position:relative;background:#fff;overflow:hidden}
.hh-hero__wrap{display:grid;grid-template-columns:minmax(390px,.88fr) minmax(520px,1.12fr);gap:clamp(36px,5vw,84px);align-items:center;padding:34px 0 18px}
.hh-hero__content{min-width:0;max-width:630px;position:relative;z-index:2}
.hh-hero h1{font-size:clamp(36px,4vw,58px);line-height:1.1;letter-spacing:-1.4px;margin:0 0 18px;font-weight:900}
.hh-hero p{font-size:17px;color:#5d6878;max-width:580px;margin:0 0 26px}
.hh-hero__actions{display:flex;gap:18px;flex-wrap:wrap}
.hh-hero__media{position:relative;min-width:0;height:clamp(320px,30vw,430px);border-radius:0 0 0 54px;overflow:hidden;pointer-events:none;user-select:none;background:#f3f4f6}
.hh-hero__media:before{content:"";position:absolute;left:0;top:0;bottom:0;width:28%;z-index:2;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.88) 52%,rgba(255,255,255,0) 100%)}
.hh-hero__media:after{content:"";position:absolute;left:0;right:0;bottom:0;height:92px;z-index:3;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.hh-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}

/* trust */
.hh-trust{padding:18px 0;border-bottom:1px solid #f2d9ce}
.hh-trust__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.hh-trust__item{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:800;color:#344054;min-width:0}
.hh-trust__item img{width:36px;height:36px;flex:0 0 auto}
.hh-trust__item small{display:block;color:#667085;font-weight:600}

/* founder */
.hh-founder{padding:22px 0 54px}
.hh-founder__card{display:grid;grid-template-columns:minmax(280px,385px) 1fr;overflow:hidden}
.hh-founder__photo{position:relative;min-height:300px;background:#f2f4f7}
.hh-founder__photo img{width:100%;height:100%;object-fit:cover}
.hh-founder__label{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:10px;padding:16px 18px;font-size:14px;font-weight:900;box-shadow:0 12px 30px rgba(16,24,40,.16)}
.hh-founder__label small{display:block;margin-top:4px;color:#667085;font-weight:600;line-height:1.25}
.hh-founder__content{padding:34px 38px;min-width:0}
.hh-founder__content h2{font-size:clamp(24px,2.2vw,30px);margin:0 0 12px;line-height:1.2}
.hh-founder__content p{margin:0 0 28px;color:#475467}
.hh-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.hh-proof{display:flex;gap:12px;min-width:0}
.hh-proof img{width:40px;height:40px;flex:0 0 auto}
.hh-proof b{display:block;font-size:14px;margin-bottom:4px}
.hh-proof span{font-size:13px;color:#667085}

/* packages */
.hh-section{padding:52px 0}
.hh-title{text-align:center;margin:0 0 8px;font-size:clamp(30px,3vw,40px);line-height:1.1;letter-spacing:-.8px}
.hh-subtitle{text-align:center;color:#667085;margin:0 0 28px}
.hh-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.hh-package{overflow:hidden;display:flex;flex-direction:column;min-width:0}
.hh-package__image{display:block;overflow:hidden;background:#f3f4f6}
.hh-package__image img{width:100%;height:250px;object-fit:cover;transition:.25s}
.hh-package__image:hover img{transform:scale(1.035)}
.hh-package__body{padding:22px 22px 8px;flex:1}
.hh-package h3{font-size:25px;margin:0 0 8px}
.hh-package__lead{color:#475467;margin:0 0 16px}
.hh-price{color:var(--orange);font-weight:900}
.hh-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px;font-size:13px}
.hh-list li{position:relative;padding-left:20px}
.hh-list li:before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.hh-note{font-weight:900;font-size:13px;margin:18px 0 0}
.hh-package .hh-btn{margin:22px}

/* projects */
.hh-projects{padding-top:12px}
.hh-projects__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:20px}
.hh-projects h2{font-size:28px;margin:0}
.hh-more{color:var(--orange);font-weight:900}
.hh-project-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.hh-project{position:relative;min-height:170px;border-radius:14px;overflow:hidden;background:#f3f4f6;box-shadow:var(--shadow)}
.hh-project img{width:100%;height:100%;object-fit:cover;transition:.25s}
.hh-project:hover img{transform:scale(1.04)}
.hh-project__label{position:absolute;left:12px;bottom:10px;background:#fff;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.hh-project__label small{display:block;color:#667085;font-weight:600}

/* calc */
.hh-calc{padding:20px 0}
.hh-calc__box{background:linear-gradient(135deg,#121d28,#26323e);border-radius:16px;color:#fff;padding:28px 34px;box-shadow:var(--shadow)}
.hh-calc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}
.hh-calc h2{font-size:28px;margin:0 0 4px}
.hh-calc p{margin:0;color:#cbd5e1}
.hh-calc__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 180px;gap:24px;align-items:center}
.hh-calc-step b{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--orange);margin-bottom:12px}
.hh-calc-step span{display:block;font-weight:900;margin-bottom:4px}
.hh-calc-step small{color:#cbd5e1}
.hh-safe{display:flex;align-items:center;gap:10px;color:#cbd5e1;font-size:14px}
.hh-safe img{width:34px;height:34px}

/* stages/faq/cta */
.hh-stages{padding:28px 0}
.hh-stages h2{text-align:center;margin:0 0 22px;font-size:28px}
.hh-stages__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.hh-stage{display:flex;align-items:center;gap:16px;padding:18px}
.hh-stage img{width:46px;height:46px;flex:0 0 auto}
.hh-stage b{display:block;font-size:14px}
.hh-stage span{font-size:13px;color:#667085}
.hh-faq{padding:12px 0 34px}
.hh-faq__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.hh-faq h2{font-size:27px;margin:0}
.hh-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.hh-faq details{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px 16px}
.hh-faq summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between;gap:16px}
.hh-faq summary:after{content:"⌄";color:#667085}
.hh-faq details[open] summary:after{content:"⌃"}
.hh-faq details p{margin:12px 0 0;color:#667085}
.hh-final-cta{padding:0 0 30px}
.hh-final-cta__box{display:grid;grid-template-columns:170px 1fr auto;gap:26px;align-items:center;background:var(--soft);border:1px solid #f4d6c8;border-radius:14px;padding:20px 28px}
.hh-final-cta img{width:150px;height:70px;border-radius:12px;object-fit:cover}
.hh-final-cta h2{font-size:24px;margin:0 0 5px}
.hh-final-cta p{margin:0;color:#667085}

/* footer */
.hh-footer{background:linear-gradient(135deg,#101a24,#1d2a36);color:#fff;padding:40px 0 50px}
.hh-footer__grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:42px}
.hh-footer .hh-logo-img{width:135px;margin-bottom:18px}
.hh-footer p{color:#d2d9e3;margin:0;line-height:1.65}
.hh-footer h3{font-size:16px;margin:0 0 14px}
.hh-footer__telegram{display:inline-flex;align-items:center;gap:10px;margin-top:18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 16px;font-size:12px;font-weight:900}
.hh-footer__telegram img{width:20px;height:20px}

/* Tablet */
@media (max-width:1180px){
  .hh-topbar__inner{grid-template-columns:1fr auto;row-gap:12px;padding-block:12px}
  .hh-topbar__cta{grid-column:1 / -1;justify-self:stretch}
  .hh-header__inner{gap:24px}
  .hh-nav{gap:18px;font-size:13px}
  .hh-hero__wrap{grid-template-columns:1fr;gap:24px;padding-top:24px}
  .hh-hero__content{max-width:800px}
  .hh-hero__media{order:-1;height:360px;border-radius:0 0 40px 40px}
  .hh-hero__media:before{display:none}
  .hh-trust__grid,.hh-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hh-founder__card{grid-template-columns:360px 1fr}
  .hh-packages{grid-template-columns:1fr}
  .hh-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hh-calc__steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hh-stages__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hh-footer__grid{grid-template-columns:1fr 1fr}
}

/* Mobile */
@media (max-width:760px){
  .hh-container{width:min(100% - 28px,var(--container))}
  .hh-topbar__inner{grid-template-columns:1fr;justify-items:start}
  .hh-phone{font-size:20px}
  .hh-telegram,.hh-topbar__cta{width:100%;justify-content:center}
  .hh-header__inner{min-height:74px;justify-content:center}
  .hh-logo-link{flex:0 0 auto}
  .hh-logo-img{width:132px}
  .hh-nav{display:none}
  .hh-hero h1{font-size:34px}
  .hh-hero p{font-size:16px}
  .hh-hero__actions .hh-btn{width:100%}
  .hh-hero__media{height:260px}
  .hh-trust__grid,.hh-proof-grid,.hh-founder__card,.hh-project-grid,.hh-calc__steps,.hh-stages__grid,.hh-faq__grid,.hh-final-cta__box,.hh-footer__grid{grid-template-columns:1fr}
  .hh-founder__content{padding:24px}
  .hh-founder__photo{min-height:330px}
  .hh-project{min-height:220px}
  .hh-calc__top{display:block}
  .hh-calc__box{padding:24px 18px}
  .hh-final-cta img{display:none}
  .hh-projects__head,.hh-faq__head{display:block}
  .hh-more{display:inline-block;margin-top:10px}
}


/* V11 header and calculator alignment fixes */
.hh-header__inner {
  min-height: 86px;
  gap: 54px;
}

.hh-logo-link {
  flex: 0 0 210px;
  min-width: 210px;
}

.hh-logo-img {
  width: 188px;
  max-height: 72px;
  object-fit: contain;
}

.hh-nav {
  justify-content: space-between;
  gap: clamp(30px, 4.2vw, 70px);
  font-size: 16px;
  line-height: 1;
}

.hh-calc__steps {
  align-items: start;
}

.hh-calc-step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 116px;
}

.hh-calc-step b {
  flex: 0 0 34px;
  margin-bottom: 12px;
}

.hh-safe {
  align-self: start;
  min-height: 116px;
  padding-top: 46px;
}

@media (max-width:1180px) {
  .hh-header__inner {
    min-height: 82px;
    gap: 28px;
  }

  .hh-logo-link {
    flex: 0 0 190px;
    min-width: 190px;
  }

  .hh-logo-img {
    width: 170px;
    max-height: 68px;
  }

  .hh-nav {
    justify-content: center;
    gap: 20px;
    font-size: 14px;
  }

  .hh-safe {
    padding-top: 0;
    min-height: auto;
  }
}

@media (max-width:760px) {
  .hh-header__inner {
    min-height: 82px;
    justify-content: center;
  }

  .hh-logo-link {
    flex: 0 0 auto;
    min-width: 0;
  }

  .hh-logo-img {
    width: 165px;
    max-height: 70px;
  }

  .hh-calc-step {
    min-height: auto;
  }
}
