/* ГороДверей — home page composition. Static content data and markup are separated in layouts/home; dynamic product/interior slots remain Joomla modules. */
.gd-page--home .gd-main{background:var(--gd-bg)}
.gd-home{display:flex;flex-direction:column;gap:0}
.gd-home__slot{padding-block:18px}
.gd-home__slot--hero{padding:0}
.gd-home__slot--first{padding-top:34px}
.gd-home__slot--last{padding-bottom:54px}
.gd-home__content{padding-block:20px 70px}
.gd-home__content:empty{display:none}
.gd-home__content .blog-featured,.gd-home__content .com-content-article{max-width:var(--gd-layout-reading);margin-inline:auto;padding:30px 34px;border:1px solid var(--gd-line);border-radius:var(--gd-radius-lg);background:var(--gd-surface);box-shadow:var(--gd-shadow-sm)}
.gd-home__content .page-header h1,.gd-home__content .page-header h2,.gd-home__content .item-title{margin:0 0 18px;font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.035em}
.gd-home__content p{color:var(--gd-muted);font-size:14px;line-height:1.72}
.gd-home__content figure{margin:0 0 24px}
.gd-home__content figure img{display:block;width:100%;max-height:440px;object-fit:cover;border-radius:14px}

/* Hero module */
.gd-home-hero{position:relative;min-height:clamp(560px,72vh,760px);overflow:hidden;background:#0c0b0a;color:#f5f0e9;border-bottom:1px solid rgba(255,255,255,.08)}
.gd-home-hero__media,.gd-home-hero__overlay{position:absolute;inset:0}
.gd-home-hero__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.gd-home-hero__overlay{background:linear-gradient(90deg,rgba(7,6,6,.96) 0%,rgba(7,6,6,.82) 34%,rgba(7,6,6,.24) 68%,rgba(7,6,6,.08) 100%)}
.gd-home-hero__inner{position:relative;z-index:1;min-height:inherit;display:flex;align-items:center}
.gd-home-hero__copy{width:min(730px,58%);padding-block:70px}
.gd-home-hero__copy h1{margin:12px 0 0;max-width:700px;color:#f7f2ec;font-size:clamp(52px,6vw,86px);font-weight:700;line-height:.94;letter-spacing:-.058em}
.gd-home-hero__copy>p{max-width:650px;margin:22px 0 0;color:#bfb7af;font-size:16px;line-height:1.62}
.gd-home-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.gd-home-hero__button{min-height:50px;padding:0 20px;border:1px solid rgba(255,255,255,.20);border-radius:9px;background:rgba(255,255,255,.04);color:#f6f1eb;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;font-weight:800}
.gd-home-hero__button--primary{border-color:var(--gd-gold);background:linear-gradient(135deg,var(--gd-gold),var(--gd-gold-bright));color:#24190a}
.gd-home-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.gd-home-hero__chips span{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.035);color:#d7d0c9;font-size:10px;font-weight:700}

/* Main directions module */
.gd-home-categories{padding:30px 32px;border:1px solid var(--gd-line);border-radius:var(--gd-radius-lg);background:var(--gd-surface);box-shadow:var(--gd-shadow-sm)}
.gd-home-categories__head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(300px,.55fr);gap:30px;align-items:end;margin-bottom:22px}
.gd-home-categories__head h2{margin:6px 0 0;font-size:clamp(30px,3.2vw,46px);line-height:1;letter-spacing:-.04em}
.gd-home-categories__head p{margin:0;color:var(--gd-muted);font-size:13px;line-height:1.6}
.gd-home-categories__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gd-home-category{position:relative;min-height:330px;overflow:hidden;border:1px solid var(--gd-line);border-radius:14px;background:var(--gd-surface-soft);text-decoration:none}
.gd-home-category__media{position:absolute;inset:0}
.gd-home-category__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.gd-home-category::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(8,7,7,.88) 100%)}
.gd-home-category__copy{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:20px;color:#f6f1eb}
.gd-home-category__copy small{display:block;margin-bottom:6px;color:#d7a347;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gd-home-category__copy strong{display:block;font-size:20px;line-height:1.08;letter-spacing:-.02em}
.gd-home-category__copy span{display:inline-block;margin-top:11px;color:#d7d0c9;font-size:10px;font-weight:700}
.gd-home-category:hover .gd-home-category__media img{transform:scale(1.025)}

@media(max-width:1100px){
  .gd-home-hero__copy{width:min(760px,72%)}
  .gd-home-categories__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gd-home-category{min-height:300px}
}
@media(max-width:760px){
  .gd-home__slot{padding-block:9px}
  .gd-home__slot--first{padding-top:18px}
  .gd-home__content{padding-block:10px 46px}
  .gd-home__content .blog-featured,.gd-home__content .com-content-article{padding:24px 18px;border-radius:14px}
  .gd-home-hero{min-height:660px}
  .gd-home-hero__media img{object-position:58% center}
  .gd-home-hero__overlay{background:linear-gradient(180deg,rgba(7,6,6,.20) 0%,rgba(7,6,6,.52) 38%,rgba(7,6,6,.96) 75%,#0c0b0a 100%)}
  .gd-home-hero__inner{align-items:flex-end}
  .gd-home-hero__copy{width:100%;padding:280px 0 42px}
  .gd-home-hero__copy h1{font-size:clamp(46px,14vw,62px)}
  .gd-home-hero__copy>p{font-size:14px}
  .gd-home-hero__actions{display:grid;grid-template-columns:1fr;width:100%}
  .gd-home-hero__button{min-height:54px;font-size:13px}
  .gd-home-categories{padding:24px 18px;border-radius:14px}
  .gd-home-categories__head{grid-template-columns:1fr;gap:12px}
  .gd-home-categories__grid{grid-template-columns:1fr}
  .gd-home-category{min-height:260px}
}
