/* Геопластика ЗУМ — страница «Готовые концепции» (дополняет styles.css) */

/* ---------- Первый экран ---------- */
.cx-hero{position:relative;background:var(--dark);color:#fff;overflow:hidden;padding:calc(var(--header-h) + clamp(2.5rem,2rem + 3vw,5rem)) 0 clamp(3rem,2rem + 4vw,6rem)}
.cx-hero__topo{position:absolute;inset:0;background:rgba(255,255,255,.07);-webkit-mask:url(img/topo.svg) center/cover no-repeat;mask:url(img/topo.svg) center/cover no-repeat;pointer-events:none}
.cx-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.cx-hero h1{font-family:var(--font-display);font-size:clamp(2.1rem,1.2rem + 3.6vw,4.4rem);font-weight:700;letter-spacing:-.035em;line-height:1.02;margin-bottom:1.5rem}
.cx-hero h1 em{font-style:normal;color:var(--yellow)}
.cx-hero__lead{font-size:var(--text-lg);color:rgba(255,255,255,.82);max-width:44ch;margin-bottom:2rem}
.cx-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.cx-hero__stats{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,3vw,3rem);margin:2.5rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.16)}
.cx-hero__stats dt{font-family:var(--font-display);font-size:clamp(1.5rem,1.1rem + 1.2vw,2.2rem);font-weight:600;letter-spacing:-.02em}
.cx-hero__stats dd{margin:.2rem 0 0;font-size:var(--text-xs);color:rgba(255,255,255,.65);max-width:18ch}
.cx-mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:5/4}
.cx-mosaic figure{margin:0;border-radius:var(--radius);overflow:hidden;position:relative}
.cx-mosaic figure:first-child{grid-row:1/3}
.cx-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cx-mosaic figure:hover img{transform:scale(1.05)}
.cx-mosaic figcaption{position:absolute;left:10px;bottom:10px;font-size:var(--text-xs);font-weight:700;background:rgba(20,33,27,.72);backdrop-filter:blur(6px);padding:.3rem .7rem;border-radius:999px}

/* ---------- Сетка концепций ---------- */
.cx-list{background:var(--bg)}
.cx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,22px)}
.cx-card{display:flex;flex-direction:column;text-align:left;padding:0;border:0;background:var(--surface);border-radius:var(--radius);overflow:hidden;cursor:pointer;color:inherit;font:inherit;box-shadow:0 1px 0 var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cx-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(20,33,27,.14)}
.cx-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.cx-card__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.cx-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s var(--ease),transform 1s var(--ease)}
.cx-card__alt{opacity:0}
.cx-card:hover .cx-card__alt{opacity:1}
.cx-card:hover .cx-card__media img{transform:scale(1.04)}
.cx-card__count{position:absolute;top:12px;left:12px;font-size:var(--text-xs);font-weight:700;color:#fff;background:rgba(20,33,27,.72);backdrop-filter:blur(6px);padding:.3rem .7rem;border-radius:999px}
.cx-card__body{display:flex;flex-direction:column;gap:.45rem;padding:1.15rem 1.25rem 1.3rem;flex:1}
.cx-card__tag{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.cx-card__title{font-family:var(--font-display);font-size:clamp(1.2rem,1rem + .6vw,1.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.cx-card__lead{font-size:var(--text-sm);color:var(--ink-2)}
.cx-card__go{margin-top:auto;padding-top:.6rem;display:inline-flex;align-items:center;gap:.45rem;font-size:var(--text-sm);font-weight:800;color:var(--ink)}
.cx-card:hover .cx-card__go{color:var(--accent)}
.cx-card--feat{grid-column:span 3;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.cx-card--feat .cx-card__media{aspect-ratio:auto;min-height:clamp(280px,32vw,460px)}
.cx-card--feat .cx-card__body{padding:clamp(1.5rem,1rem + 2vw,2.75rem);justify-content:center}
.cx-card--feat .cx-card__title{font-size:clamp(1.6rem,1.1rem + 1.6vw,2.6rem)}
.cx-card--feat .cx-card__lead{font-size:var(--text-base)}
.cx-card--feat .cx-card__go{margin-top:1rem}
.cx-card--feat:nth-of-type(2){grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.cx-card--feat:nth-of-type(2) .cx-card__media{order:2}

/* ---------- Как это работает ---------- */
.cx-how{background:var(--surface-2)}
.cx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);margin:0;padding:0;list-style:none;counter-reset:s}
.cx-steps li{background:var(--surface);border-radius:var(--radius);padding:clamp(1.4rem,1rem + 1.5vw,2.2rem);counter-increment:s}
.cx-steps li::before{content:"0" counter(s);display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--accent);margin-bottom:.8rem}
.cx-steps h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;margin-bottom:.5rem}
.cx-steps p{margin:0;color:var(--ink-2);font-size:var(--text-sm)}

/* ---------- Окно концепции ---------- */
.cx-modal{border:0;padding:0;border-radius:var(--radius-lg);width:min(1180px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);background:var(--surface);color:var(--ink);overflow:hidden}
.cx-modal[open]{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);animation:pop .35s var(--ease)}
.cx-modal::backdrop{background:rgba(10,16,13,.84);backdrop-filter:blur(4px)}
.cx-modal__gal{display:flex;flex-direction:column;justify-content:center;background:#0e1713;min-width:0}
.cx-modal__stage{position:relative;aspect-ratio:16/9;flex:none}
.cx-modal__stage img{width:100%;height:100%;object-fit:cover;display:block}
.cx-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.cx-nav--prev{left:12px}.cx-nav--next{right:12px}
.cx-count{position:absolute;bottom:12px;left:12px;font-size:var(--text-xs);font-weight:700;color:#fff;background:rgba(0,0,0,.55);padding:.25rem .6rem;border-radius:999px}
.cx-thumbs{display:flex;gap:8px;padding:10px;overflow-x:auto;scrollbar-width:thin}
.cx-thumbs button{flex:none;width:96px;aspect-ratio:16/10;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:none;opacity:.55;transition:opacity .2s,border-color .2s}
.cx-thumbs button.is-on,.cx-thumbs button:hover{opacity:1}
.cx-thumbs button.is-on{border-color:var(--accent)}
.cx-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.cx-modal__body{padding:clamp(1.5rem,1rem + 2vw,2.5rem);overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start}
.cx-modal__body h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;margin-bottom:1rem}
.cx-modal__body p{color:var(--ink-2)}
.cx-els{display:flex;flex-wrap:wrap;gap:6px;margin:.5rem 0 1.75rem;padding:0;list-style:none}
.cx-els li{font-size:var(--text-xs);font-weight:700;padding:.35rem .75rem;border-radius:999px;background:var(--bg)}
.cx-modal__note{font-size:var(--text-xs);color:var(--muted);margin:1rem 0 0}
.cx-modal__close{position:absolute;top:12px;right:12px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2)}

/* форма: выбор концепции */
.field select{font:inherit;font-size:var(--text-base);color:var(--ink);background:var(--bg);border:1.5px solid transparent;border-radius:12px;padding:.85rem 1rem;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314211b' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.6rem}
.field select:focus{outline:none;border-color:var(--ink);background-color:#fff}

/* ---------- Адаптив ---------- */
@media (max-width:1020px){
  .cx-hero__grid{grid-template-columns:1fr}
  .cx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx-card--feat,.cx-card--feat:nth-of-type(2){grid-column:span 2;grid-template-columns:1fr}
  .cx-card--feat .cx-card__media,.cx-card--feat:nth-of-type(2) .cx-card__media{order:0;aspect-ratio:16/9;min-height:0}
  .cx-modal[open]{grid-template-columns:1fr;overflow-y:auto}
  .cx-modal__body{overflow:visible}
}
@media (max-width:640px){
  .cx-grid{grid-template-columns:1fr}
  .cx-card--feat,.cx-card--feat:nth-of-type(2){grid-column:auto}
  .cx-steps{grid-template-columns:1fr}
  .cx-mosaic{aspect-ratio:4/3.4}
  .cx-modal{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0}
  .cx-thumbs button{width:72px}
  .cx-nav{width:40px;height:40px}
}
@media (hover:none){.cx-card__alt{display:none}}
