
/* =========================================================
 GGSEC-INFINITE-2026 V1
 Страница со списком материалов раздела uCoz.
 Карточки материалов НЕ меняем.
 Компактная шапка + сортировка по цене + автоподгрузка.
 На мобиле: без поиска, 3 кнопки в одну строку.
========================================================= */

.ggsec2026-page,
.ggsec2026-page * {
 box-sizing: border-box;
}

.ggsec2026-page {
 --gg-green: #6b8f6b;
 --gg-green-dark: #557855;
 --gg-green-soft: #f4f8f1;
 --gg-text: #1f2430;
 --gg-muted: #667066;
 --gg-border: #e2ded6;
 --gg-shadow: 0 12px 30px rgba(40,50,40,.065);
 color: var(--gg-text);
}

/* ===== ОБЩАЯ СЕТКА ===== */

#middle.ggsec2026-page {
 display: block !important;
}

.ggsec2026-layout {
 display: grid !important;
 grid-template-columns: minmax(0, 1fr) 300px !important;
 gap: 28px !important;
 align-items: start !important;
 width: 100% !important;
 max-width: 1180px !important;
 margin: 0 auto !important;
 padding: 0 15px !important;
}

.ggsec2026-page #content,
.ggsec2026-page #sidebar {
 float: none !important;
 margin: 0 !important;
}

.ggsec2026-page #content {
 width: auto !important;
 max-width: none !important;
 min-width: 0 !important;
}

.ggsec2026-page #sidebar {
 width: 300px !important;
 max-width: 300px !important;
 min-width: 0 !important;
}

.ggsec2026-content,
.ggsec2026-sidebar {
 min-width: 0;
}

/* ===== КОМПАКТНАЯ ШАПКА РАЗДЕЛА ===== */

.ggsec2026-hero {
 --ggsec2026-hero-bg: url("https://granitgabbro.ru/menu/chatgpt_image_2_ijun-2026_g-00_16_21.png");

 position: relative;
 overflow: hidden;
 min-height: 168px;
 margin: 0 0 16px;
 padding: 22px 30px 22px;
 border-radius: 20px;
 border: 1px solid rgba(219,214,204,.88);
 background:
 linear-gradient(
 90deg,
 rgba(255,255,255,.95) 0%,
 rgba(255,255,255,.90) 43%,
 rgba(255,255,255,.56) 72%,
 rgba(255,255,255,.24) 100%
 ),
 var(--ggsec2026-hero-bg) center right/cover no-repeat;
 box-shadow: var(--gg-shadow);
 isolation: isolate;
}

.ggsec2026-hero:before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -2;
 background:
 radial-gradient(circle at 13% 18%, rgba(107,143,107,.18) 0%, rgba(107,143,107,0) 34%),
 linear-gradient(135deg, rgba(248,251,246,.48), rgba(255,255,255,.08));
 pointer-events: none;
}

.ggsec2026-hero:after {
 content: "";
 position: absolute;
 left: 0;
 top: 0;
 bottom: 0;
 width: 70%;
 z-index: -1;
 background:
 linear-gradient(
 90deg,
 rgba(255,255,255,.74) 0%,
 rgba(255,255,255,.50) 62%,
 rgba(255,255,255,0) 100%
 );
 pointer-events: none;
}

.ggsec2026-kicker {
 position: relative;
 display: inline-flex;
 align-items: center;
 gap: 8px;
 max-width: 100%;
 margin: 0 0 11px;
 padding: 7px 12px;
 border-radius: 999px;
 background: rgba(255,255,255,.82);
 border: 1px solid rgba(107,143,107,.22);
 color: #556055;
 font-size: 12px;
 line-height: 1.2;
 box-shadow: 0 6px 18px rgba(40,50,40,.035);
}

.ggsec2026-kicker i {
 color: var(--gg-green);
}

.ggsec2026-hero h1 {
 position: relative;
 max-width: 760px;
 margin: 0 0 9px;
 color: var(--gg-text);
 font-size: 25px;
 line-height: 1.16;
 font-weight: 900;
 letter-spacing: .35px;
 text-transform: uppercase;
}

.ggsec2026-hero h1:after {
 content: "";
 display: block;
 width: 66px;
 height: 3px;
 margin-top: 10px;
 border-radius: 999px;
 background: var(--gg-green);
}

.ggsec2026-intro-text {
 position: relative;
 max-width: 760px;
 margin: 0;
 color: #303830;
 font-size: 14px;
 line-height: 1.6;

 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

.ggsec2026-intro-text p {
 margin: 0;
}

.ggsec2026-intro-text p + p {
 display: none;
}

/* ===== ПАНЕЛЬ ПОДБОРА ===== */

.ggsec2026-panel {
 width: 100%;
 max-width: 100%;
 overflow: hidden;
 margin: 0 0 22px;
 padding: 17px;
 border: 1px solid var(--gg-border);
 border-radius: 20px;
 background: #fff;
 box-shadow: 0 14px 32px rgba(40,50,40,.07);
}

.ggsec2026-panel-top {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 14px;
 margin: 0 0 14px;
}

.ggsec2026-panel-title {
 display: flex;
 align-items: center;
 gap: 10px;
 margin: 0;
 font-size: 17px;
 line-height: 1.2;
 font-weight: 900;
 color: var(--gg-text);
 text-transform: uppercase;
}

.ggsec2026-panel-title:before {
 content: "";
 width: 8px;
 height: 8px;
 flex: 0 0 8px;
 border-radius: 999px;
 background: var(--gg-green);
 box-shadow: 0 0 0 5px rgba(107,143,107,.13);
}

.ggsec2026-result-count {
 font-size: 13px;
 color: var(--gg-muted);
 white-space: nowrap;
}

.ggsec2026-controls {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 align-items: center;
 width: 100%;
 max-width: 100%;
}

.ggsec2026-search {
 position: relative;
 flex: 1 1 240px;
 min-width: 220px;
 max-width: 100%;
}

.ggsec2026-search i {
 position: absolute;
 left: 14px;
 top: 50%;
 transform: translateY(-50%);
 color: #8a9189;
 font-size: 14px;
 pointer-events: none;
}

.ggsec2026-input {
 display: block;
 width: 100%;
 height: 46px;
 padding: 0 15px 0 40px;
 border: 1px solid #dedbd4;
 border-radius: 14px;
 background: #fff;
 color: var(--gg-text);
 font-size: 14px;
 outline: none;
 transition: .2s ease;
}

.ggsec2026-input:focus {
 border-color: var(--gg-green);
 box-shadow: 0 0 0 4px rgba(107,143,107,.13);
}

.ggsec2026-sort-buttons {
 display: flex;
 flex: 0 1 auto;
 gap: 8px;
 min-width: 0;
}

.ggsec2026-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 height: 46px;
 padding: 0 15px;
 border: 1px solid #dedbd4;
 border-radius: 14px;
 background: #fff;
 color: #263026;
 font-size: 13px;
 font-weight: 900;
 cursor: pointer;
 transition: .2s ease;
 white-space: nowrap;
 text-decoration: none;
}

.ggsec2026-btn:hover {
 border-color: var(--gg-green);
 background: var(--gg-green-soft);
 color: var(--gg-green-dark);
}

.ggsec2026-btn.is-active {
 border-color: var(--gg-green);
 background: var(--gg-green);
 color: #fff;
 box-shadow: 0 10px 22px rgba(107,143,107,.22);
}

.ggsec2026-btn-reset {
 border-color: rgba(107,143,107,.35);
 background: var(--gg-green-soft);
 color: #425941;
}

.ggsec2026-mobile-word {
 display: none;
}

/* ===== BODY ===== */

.ggsec2026-body {
 position: relative;
 width: 100%;
 min-width: 0;
 margin: 0 0 28px;
}

.ggsec2026-hidden {
 display: none !important;
}

.ggsec2026-loading {
 position: absolute;
 inset: 0;
 z-index: 15;
 display: none;
 align-items: flex-start;
 justify-content: center;
 padding-top: 48px;
 background: rgba(255,255,255,.75);
 backdrop-filter: blur(2px);
 border-radius: 18px;
}

.ggsec2026-loading.is-show {
 display: flex;
}

.ggsec2026-loader {
 width: 42px;
 height: 42px;
 border: 4px solid #e7ebe5;
 border-top-color: var(--gg-green);
 border-radius: 999px;
 animation: ggsecSpin .8s linear infinite;
}

@keyframes ggsecSpin {
 to { transform: rotate(360deg); }
}

.ggsec2026-empty-result {
 display: none;
 margin: 24px 0;
 padding: 34px 24px;
 border: 1px dashed rgba(107,143,107,.48);
 border-radius: 20px;
 background: #fbfcfa;
 text-align: center;
}

.ggsec2026-empty-result.is-show {
 display: block;
}

.ggsec2026-empty-title {
 margin: 0 0 8px;
 font-size: 20px;
 font-weight: 900;
 color: var(--gg-text);
}

.ggsec2026-empty-text {
 margin: 0 0 18px;
 font-size: 14px;
 line-height: 1.65;
 color: var(--gg-muted);
}

.ggsec2026-empty {
 margin: 20px 0 0;
 padding: 20px 22px;
 border-radius: 16px;
 background:
 radial-gradient(circle at 12% 12%, rgba(107,143,107,.12) 0%, rgba(107,143,107,0) 35%),
 linear-gradient(135deg, #f8faf6 0%, #f1f4ee 100%);
 border: 1px solid #e2ded6;
 color: #555f55;
 font-size: 15px;
 line-height: 1.65;
}

/* ===== INFINITE LOAD ===== */

.ggsec2026-hidden-pager { display:block !important; margin:24px 0; }

.ggsec2026-loadmore {
 width: 100%;
 margin: 28px 0 34px;
 padding: 22px 18px;
 border: 1px solid var(--gg-border);
 border-radius: 22px;
 background:
 radial-gradient(circle at 12% 12%, rgba(107,143,107,.11), transparent 34%),
 linear-gradient(135deg, #ffffff 0%, #f6f8f3 100%);
 box-shadow: 0 14px 32px rgba(40,50,40,.055);
 text-align: center;
}

.ggsec2026-loadmore.is-hidden {
 display: none !important;
}

.ggsec2026-loadmore-count {
 margin: 0 0 12px;
 color: var(--gg-muted);
 font-size: 14px;
 line-height: 1.35;
 font-weight: 700;
}

.ggsec2026-loadmore-count b {
 color: var(--gg-text);
 font-weight: 900;
}

.ggsec2026-loadmore-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 9px;
 min-height: 46px;
 padding: 0 22px;
 border: 1px solid var(--gg-green);
 border-radius: 14px;
 background: var(--gg-green);
 color: #fff;
 font-size: 14px;
 font-weight: 900;
 cursor: pointer;
 transition: .2s ease;
 box-shadow: 0 12px 26px rgba(107,143,107,.22);
}

.ggsec2026-loadmore-btn:hover {
 background: var(--gg-green-dark);
 border-color: var(--gg-green-dark);
 transform: translateY(-1px);
}

.ggsec2026-loadmore-btn[disabled] {
 opacity: .72;
 cursor: wait;
 transform: none;
}

.ggsec2026-loadmore-note {
 margin: 11px 0 0;
 color: #7b827d;
 font-size: 12px;
 line-height: 1.45;
}

.ggsec2026-loadmore-spinner {
 display: none;
 width: 18px;
 height: 18px;
 border: 3px solid rgba(255,255,255,.45);
 border-top-color: #fff;
 border-radius: 999px;
 animation: ggsecSpin .8s linear infinite;
}

.ggsec2026-loadmore.is-loading .ggsec2026-loadmore-spinner {
 display: inline-block;
}

.ggsec2026-loadmore.is-loading .ggsec2026-loadmore-icon {
 display: none;
}

/* ===== BOTTOM SEO ===== */

.ggsec2026-bottom {
 position: relative;
 overflow: hidden;
 margin: 34px 0 0;
 padding: 30px 32px 28px;
 border-radius: 20px;
 background:
 radial-gradient(circle at 12% 12%, rgba(107,143,107,.15) 0%, rgba(107,143,107,0) 35%),
 linear-gradient(135deg, #f7f8f5 0%, #f0f4ed 100%);
 border: 1px solid #e2ded6;
 box-shadow: 0 16px 38px rgba(40,50,40,.07);
}

.ggsec2026-bottom-kicker {
 display: flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 10px;
 color: var(--gg-green);
 font-size: 12px;
 font-weight: 800;
 letter-spacing: 3px;
 text-transform: uppercase;
}

.ggsec2026-bottom-kicker:before,
.ggsec2026-bottom-kicker:after {
 content: "";
 width: 42px;
 height: 1px;
 background: var(--gg-green);
}

.ggsec2026-bottom h2 {
 margin: 0 0 14px;
 color: var(--gg-text);
 font-size: 23px;
 line-height: 1.25;
 font-weight: 900;
 text-transform: uppercase;
}

.ggsec2026-seo-collapse {
 position: relative;
 max-height: 235px;
 overflow: hidden;
 transition: max-height .42s ease;
}

.ggsec2026-seo-collapse:after {
 content: "";
 position: absolute;
 left: 0;
 right: 0;
 bottom: 0;
 height: 110px;
 background: linear-gradient(180deg, rgba(247,248,245,0), #f7f8f5 82%);
 pointer-events: none;
 transition: opacity .25s ease;
}

.ggsec2026-seo-collapse.is-open {
 max-height: 1800px;
}

.ggsec2026-seo-collapse.is-open:after {
 opacity: 0;
}

.ggsec2026-bottom p {
 margin: 0 0 13px;
 color: #555f55;
 font-size: 15px;
 line-height: 1.75;
}

.ggsec2026-bottom a {
 color: #2f4a36;
 text-decoration: none;
 border-bottom: 1px solid rgba(47,74,54,.2);
}

.ggsec2026-bottom a:hover {
 border-bottom-color: rgba(47,74,54,.55);
}

.ggsec2026-toggle-wrap {
 margin-top: 16px;
 text-align: center;
}

.ggsec2026-toggle {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 9px;
 min-height: 44px;
 padding: 12px 20px;
 border: 0;
 border-radius: 12px;
 background: var(--gg-green);
 color: #fff;
 font-size: 14px;
 font-weight: 900;
 cursor: pointer;
 transition: .2s ease;
}

.ggsec2026-toggle:hover {
 background: var(--gg-green-dark);
 transform: translateY(-1px);
}

.ggsec2026-toggle i {
 transition: transform .25s ease;
}

.ggsec2026-toggle.is-open i {
 transform: rotate(180deg);
}

/* ===== CLEARFIX ===== */

.ggsec2026-page:after,
.ggsec2026-content:after,
.ggsec2026-body:after {
 content: "";
 display: table;
 clear: both;
}

/* ===== MOBILE ===== */

@media(max-width: 1180px) {
 .ggsec2026-layout {
 grid-template-columns: 1fr !important;
 }

 .ggsec2026-page #sidebar {
 display: none !important;
 }
}

@media(max-width: 767px) {
 .ggsec2026-layout {
 padding: 0 10px !important;
 }

 .ggsec2026-hero {
 min-height: 0;
 margin: 0 0 12px;
 padding: 14px 16px 13px;
 border-radius: 18px;
 background:
 linear-gradient(
 180deg,
 rgba(255,255,255,.94) 0%,
 rgba(255,255,255,.86) 58%,
 rgba(255,255,255,.70) 100%
 ),
 var(--ggsec2026-hero-bg) center/cover no-repeat;
 }

 .ggsec2026-hero:after {
 width: 100%;
 background:
 linear-gradient(
 180deg,
 rgba(255,255,255,.72) 0%,
 rgba(255,255,255,.28) 100%
 );
 }

 .ggsec2026-kicker {
 max-width: 100%;
 margin: 0 0 9px;
 padding: 6px 10px;
 font-size: 12px;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 }

 .ggsec2026-hero h1 {
 margin: 0 0 7px;
 font-size: 20px;
 line-height: 1.16;
 letter-spacing: .12px;
 }

 .ggsec2026-hero h1:after {
 width: 52px;
 height: 3px;
 margin-top: 8px;
 }

 .ggsec2026-intro-text {
 font-size: 13px;
 line-height: 1.42;
 -webkit-line-clamp: 2;
 }

 .ggsec2026-panel {
 margin: 0 0 18px;
 padding: 12px;
 border-radius: 18px;
 }

 .ggsec2026-panel-top {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 8px;
 margin: 0 0 10px;
 }

 .ggsec2026-panel-title {
 font-size: 15px;
 letter-spacing: .1px;
 }

 .ggsec2026-panel-title:before {
 width: 7px;
 height: 7px;
 flex-basis: 7px;
 box-shadow: 0 0 0 4px rgba(107,143,107,.13);
 }

 .ggsec2026-result-count {
 display: block;
 font-size: 12px;
 }

 .ggsec2026-search {
 display: block !important;
 grid-column: 1 / -1;
 min-width: 0;
 }

 .ggsec2026-controls {
 display: grid;
 grid-template-columns: 1fr 1fr 1fr;
 gap: 6px;
 }

 .ggsec2026-sort-buttons {
 display: contents;
 }

 .ggsec2026-btn {
 width: 100%;
 height: 40px;
 min-width: 0;
 padding: 0 6px;
 gap: 4px;
 border-radius: 13px;
 font-size: 11px;
 line-height: 1;
 }

 .ggsec2026-btn .fa {
 font-size: 12px;
 }

 .ggsec2026-desktop-word {
 display: none;
 }

 .ggsec2026-mobile-word {
 display: inline;
 }

 .ggsec2026-loadmore {
 margin: 22px 0 28px;
 padding: 18px 14px;
 border-radius: 20px;
 }

 .ggsec2026-loadmore-btn {
 width: 100%;
 min-height: 46px;
 }

 .ggsec2026-bottom {
 padding: 22px 18px;
 border-radius: 16px;
 }

 .ggsec2026-bottom-kicker {
 justify-content: center;
 gap: 8px;
 font-size: 11px;
 letter-spacing: 2px;
 }

 .ggsec2026-bottom-kicker:before,
 .ggsec2026-bottom-kicker:after {
 width: 26px;
 }

 .ggsec2026-bottom h2 {
 font-size: 20px;
 }

 .ggsec2026-bottom p {
 font-size: 14px;
 }

 .ggsec2026-seo-collapse {
 max-height: 245px;
 }

 .ggsec2026-toggle {
 width: 100%;
 }
}

/* Controls are enhanced by the shared catalogue script. */
.ggsec2026-panel, .ggsec2026-loadmore { display:none; }
.ggcat-ready .ggsec2026-panel, .ggcat-ready .ggsec2026-loadmore { display:block; }
.ggcat-ready .ggsec2026-loadmore.is-hidden { display:none !important; }
.ggsec2026-hidden-pager .pagesBlockuz2 { display:flex; flex-wrap:wrap; gap:8px; }
.ggsec2026-hidden-pager a, .ggsec2026-hidden-pager b { display:inline-flex; padding:9px 12px; border:1px solid #e2ded6; border-radius:9px; background:#fff; text-decoration:none; }
.ggsec2026-hidden-pager b { background:#6D8A67; color:#fff; }
.ggsec2026-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; font-size:12px; line-height:1.5; color:#667066; }
.ggsec2026-breadcrumbs a { color:#425941; text-decoration:none; }
.ggsec2026-breadcrumbs a:hover { text-decoration:underline; }
.ggsec2026-intro-text { display:block; overflow:visible; -webkit-line-clamp:unset; }
.ggsec2026-intro-text p + p { display:block; margin-top:8px; }
.ggsec2026-status { margin:12px 0 0; color:#667066; font-size:13px; line-height:1.5; }
.ggsec2026-status:empty { display:none; }
.ggsec2026-panel-top { flex-wrap:wrap; }
.ggsec2026-bottom-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin:16px 0 0; padding:0; list-style:none; }
@media (prefers-reduced-motion:reduce) { .ggsec2026-page * { animation:none !important; transition:none !important; } }
