/* zakrest.ru — ЗаКрест · Stone & Faith
   Палитра: эспрессо / православное золото / пергамент. Префикс .zk-* */

@font-face { font-family:'PT Sans';  src:url('/assets/fonts/ptsans-regular.woff2')  format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'PT Sans';  src:url('/assets/fonts/ptsans-bold.woff2')     format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'PT Serif'; src:url('/assets/fonts/ptserif-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'PT Serif'; src:url('/assets/fonts/ptserif-bold.woff2')    format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'PT Serif'; src:url('/assets/fonts/ptserif-bold-italic.woff2') format('woff2'); font-weight:700; font-style:italic; font-display:swap; }

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

:root{
    --zk-espresso: #211309;
    --zk-espresso2:#2f1d0f;
    --zk-bark:     #4a3220;
    --zk-gold:     #c69a3c;
    --zk-gold-l:   #e0bd64;
    --zk-gold-d:   #9a7327;
    --zk-cream:    #f8f4ea;
    --zk-parch:    #efe7d4;
    --zk-parch2:   #e7dcc4;
    --zk-paper:    #ffffff;
    --zk-ink:      #2c2014;
    --zk-muted:    #786650;
    --zk-line:     #ddd0b8;
    --zk-line2:    rgba(198,154,60,.34);
    --zk-shadow-m: 0 14px 34px -14px rgba(33,19,9,.30);
    --zk-shadow-l: 0 34px 66px -26px rgba(33,19,9,.46);
    --zk-r:        7px;
    --zk-r-l:      12px;
    --zk-ease:     cubic-bezier(.22,.61,.36,1);
    --zk-maxw:     1180px;
}

html{ scroll-behavior:smooth; }
body{
    font-family:'PT Sans',Arial,sans-serif;
    font-size:17px; line-height:1.76; color:var(--zk-ink); background:var(--zk-cream);
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden;
}
a{ color:var(--zk-gold-d); text-decoration:none; transition:color .2s; }
a:hover{ color:var(--zk-espresso); }
img{ max-width:100%; display:block; }
::selection{ background:var(--zk-gold); color:var(--zk-espresso); }

.zk-grain::after{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* === КОНТЕЙНЕР / СЕКЦИИ === */
.zk-container{ max-width:var(--zk-maxw); margin:0 auto; padding:0 28px; }
.zk-section{ padding:100px 0; position:relative; }
.zk-section--paper{ background:var(--zk-paper); }
.zk-section--parch{ background:var(--zk-parch); }
.zk-section--dark{ background:var(--zk-espresso); color:#fff; }
.zk-eyebrow{
    font-family:'PT Sans',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:2.8px; text-transform:uppercase;
    color:var(--zk-gold-d); display:inline-flex; align-items:center; gap:11px; margin-bottom:18px;
}
.zk-eyebrow svg{ width:16px; height:16px; color:var(--zk-gold); }
.zk-section--dark .zk-eyebrow{ color:var(--zk-gold-l); }
.zk-h2{ font-family:'PT Serif',Georgia,serif; font-weight:700; font-size:clamp(28px,3.6vw,44px); line-height:1.15; letter-spacing:-.3px; color:var(--zk-espresso); }
.zk-section--dark .zk-h2{ color:#fff; }
.zk-h2 em{ font-style:italic; color:var(--zk-gold-d); }
.zk-section--dark .zk-h2 em{ color:var(--zk-gold-l); }
.zk-lead{ color:var(--zk-muted); font-size:18px; max-width:580px; margin-top:14px; }
.zk-section--dark .zk-lead{ color:rgba(255,255,255,.7); }
.zk-head{ margin-bottom:54px; max-width:640px; }
.zk-head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.zk-head--center .zk-eyebrow{ justify-content:center; }
.zk-rule{ width:54px; height:3px; background:linear-gradient(90deg,var(--zk-gold),transparent); border-radius:2px; margin-top:18px; }
.zk-head--center .zk-rule{ margin-left:auto; margin-right:auto; background:var(--zk-gold); width:60px; }

/* === ШАПКА === */
.zk-header{ position:fixed; top:0; left:0; right:0; z-index:90; transition:background .3s var(--zk-ease), box-shadow .3s; }
.zk-header-inner{
    max-width:var(--zk-maxw); margin:0 auto; padding:0 28px;
    display:flex; align-items:center; gap:28px; height:80px; transition:height .3s var(--zk-ease);
    border-bottom:1px solid transparent;
}
.zk-header.zk-scrolled{ background:rgba(33,19,9,.97); backdrop-filter:blur(10px); box-shadow:0 1px 0 var(--zk-line2),0 16px 32px -22px rgba(0,0,0,.7); }
.zk-header.zk-scrolled .zk-header-inner{ height:62px; }
.zk-logo{ display:flex; align-items:center; gap:13px; margin-right:auto; }
.zk-logo-cross{ width:34px; height:34px; color:var(--zk-gold); flex-shrink:0; transition:transform .4s var(--zk-ease); }
.zk-logo:hover .zk-logo-cross{ transform:scale(1.08); }
.zk-logo-name{ font-family:'PT Serif',Georgia,serif; font-size:23px; font-weight:700; color:#fff; letter-spacing:.4px; line-height:1; }
.zk-logo-tag{ font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--zk-gold-l); display:block; margin-top:3px; }
.zk-nav{ display:flex; align-items:center; gap:3px; }
.zk-nav a{ color:rgba(255,255,255,.8); font-size:14.5px; padding:9px 14px; border-radius:var(--zk-r); position:relative; transition:color .2s; }
.zk-nav a::after{ content:''; position:absolute; left:14px; right:14px; bottom:5px; height:1px; background:var(--zk-gold); transform:scaleX(0); transform-origin:left; transition:transform .28s var(--zk-ease); }
.zk-nav a:hover, .zk-nav a.zk-nav-active{ color:#fff; }
.zk-nav a:hover::after, .zk-nav a.zk-nav-active::after{ transform:scaleX(1); }
.zk-header-tel{
    display:inline-flex; align-items:center; gap:8px; margin-left:14px; color:var(--zk-gold-l); font-weight:700; font-size:14.5px; white-space:nowrap;
    padding:9px 16px; border:1px solid var(--zk-line2); border-radius:var(--zk-r); transition:all .25s var(--zk-ease);
}
.zk-header-tel svg{ width:15px; height:15px; }
.zk-header-tel:hover{ background:var(--zk-gold); color:var(--zk-espresso); border-color:var(--zk-gold); }
.zk-burger{ display:none; width:44px; height:44px; border:1px solid var(--zk-line2); border-radius:var(--zk-r); background:transparent; cursor:pointer; position:relative; }
.zk-burger span{ position:absolute; left:11px; right:11px; height:1.6px; background:var(--zk-gold-l); transition:.3s var(--zk-ease); }
.zk-burger span:nth-child(1){ top:15px; } .zk-burger span:nth-child(2){ top:21px; } .zk-burger span:nth-child(3){ top:27px; }
body.zk-menu-open .zk-burger span:nth-child(1){ top:21px; transform:rotate(45deg); }
body.zk-menu-open .zk-burger span:nth-child(2){ opacity:0; }
body.zk-menu-open .zk-burger span:nth-child(3){ top:21px; transform:rotate(-45deg); }

/* === HERO === */
.zk-hero{ position:relative; min-height:90vh; display:flex; align-items:center; color:#fff; overflow:hidden; padding:130px 0 80px; }
.zk-hero-bg{ position:absolute; inset:0; z-index:0; }
.zk-hero-bg img{ width:100%; height:100%; object-fit:cover; transform:scale(1.07); animation:zkKen 20s ease-out forwards; }
@keyframes zkKen{ to{ transform:scale(1); } }
.zk-hero-bg::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(95deg, rgba(28,16,7,.86) 0%, rgba(28,16,7,.55) 42%, rgba(28,16,7,.15) 72%, transparent 100%),
              linear-gradient(0deg, rgba(28,16,7,.5), transparent 40%);
}
.zk-hero-inner{ position:relative; z-index:2; max-width:var(--zk-maxw); margin:0 auto; padding:0 28px; width:100%; }
.zk-hero-content{ max-width:660px; border-left:2px solid var(--zk-gold); padding-left:34px; }
.zk-hero-eyebrow{
    font-size:12.5px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--zk-gold-l);
    display:inline-flex; align-items:center; gap:12px; margin-bottom:24px; opacity:0; animation:zkUp .9s var(--zk-ease) .15s forwards;
}
.zk-hero-eyebrow svg{ width:18px; height:18px; color:var(--zk-gold); }
.zk-hero h1{
    font-family:'PT Serif',Georgia,serif; font-weight:700; letter-spacing:-.4px; font-size:clamp(36px,5.6vw,64px); line-height:1.1;
    margin-bottom:22px; text-shadow:0 2px 28px rgba(0,0,0,.45); opacity:0; animation:zkUp 1s var(--zk-ease) .3s forwards;
}
.zk-hero h1 em{ font-style:italic; color:var(--zk-gold-l); }
.zk-hero-sub{ font-size:19px; line-height:1.72; color:rgba(255,255,255,.84); max-width:520px; margin-bottom:38px; opacity:0; animation:zkUp 1s var(--zk-ease) .45s forwards; }
.zk-hero-actions{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; opacity:0; animation:zkUp 1s var(--zk-ease) .6s forwards; }
@keyframes zkUp{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:translateY(0); } }
.zk-btn{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:16px; padding:15px 30px; border-radius:var(--zk-r); transition:all .28s var(--zk-ease); cursor:pointer; border:1.5px solid transparent; }
.zk-btn svg{ width:18px; height:18px; }
.zk-btn--gold{ background:var(--zk-gold); color:var(--zk-espresso); box-shadow:0 14px 30px -12px rgba(198,154,60,.6); }
.zk-btn--gold:hover{ background:var(--zk-gold-l); color:var(--zk-espresso); transform:translateY(-2px); }
.zk-btn--ghost{ background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.34); backdrop-filter:blur(4px); }
.zk-btn--ghost:hover{ background:rgba(255,255,255,.14); border-color:var(--zk-gold-l); color:#fff; }
.zk-btn--dark{ background:var(--zk-espresso); color:#fff; }
.zk-btn--dark:hover{ background:var(--zk-bark); color:#fff; transform:translateY(-2px); }

/* === ВИДЫ КРЕСТОВ (с фото) === */
.zk-crosses{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.zk-cross{
    background:var(--zk-paper); border:1px solid var(--zk-line); border-radius:var(--zk-r-l); overflow:hidden;
    transition:transform .4s var(--zk-ease), box-shadow .4s var(--zk-ease), border-color .4s; display:flex; flex-direction:column;
}
.zk-cross:hover{ transform:translateY(-7px); box-shadow:var(--zk-shadow-l); border-color:var(--zk-line2); }
.zk-cross-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--zk-parch); }
.zk-cross-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--zk-ease); }
.zk-cross:hover .zk-cross-photo img{ transform:scale(1.07); }
.zk-cross-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(33,19,9,.28), transparent 50%); }
.zk-cross-tag{ position:absolute; left:14px; top:14px; z-index:2; background:rgba(33,19,9,.78); backdrop-filter:blur(4px); color:var(--zk-gold-l); font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; padding:5px 12px; border-radius:30px; border:1px solid var(--zk-line2); }
.zk-cross-body{ padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
.zk-cross-name{ font-family:'PT Serif',serif; font-size:22px; font-weight:700; color:var(--zk-espresso); margin-bottom:6px; }
.zk-cross-sub{ font-size:13px; letter-spacing:.4px; text-transform:uppercase; color:var(--zk-gold-d); font-weight:700; margin-bottom:14px; }
.zk-cross-desc{ font-size:14.5px; color:var(--zk-muted); line-height:1.7; margin-bottom:18px; flex:1; }
.zk-cross-mats{ display:flex; gap:7px; flex-wrap:wrap; }
.zk-mat-tag{ font-size:12px; background:var(--zk-parch); color:var(--zk-bark); padding:4px 11px; border-radius:30px; font-weight:600; border:1px solid var(--zk-line); }

/* === ТРАДИЦИИ (нумерованные, пергамент) === */
.zk-trads{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.zk-trad{ position:relative; background:var(--zk-paper); border-radius:var(--zk-r-l); padding:30px 32px 30px 84px; box-shadow:var(--zk-shadow-m); border:1px solid var(--zk-line); transition:transform .3s var(--zk-ease); }
.zk-trad:hover{ transform:translateY(-4px); }
.zk-trad-n{ position:absolute; left:28px; top:28px; width:40px; height:40px; border-radius:50%; border:1px solid var(--zk-gold); color:var(--zk-gold-d); font-family:'PT Serif',serif; font-size:18px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.zk-trad-title{ font-family:'PT Serif',serif; font-weight:700; font-size:18px; color:var(--zk-espresso); margin-bottom:8px; }
.zk-trad-text{ font-size:14.5px; color:var(--zk-muted); line-height:1.7; }

/* === ГРАНИТ split === */
.zk-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.zk-split-media{ position:relative; border-radius:var(--zk-r-l); overflow:hidden; box-shadow:var(--zk-shadow-l); aspect-ratio:4/3; }
.zk-split-media img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--zk-ease); }
.zk-split-media:hover img{ transform:scale(1.05); }
.zk-mtable{ width:100%; border-collapse:collapse; font-size:14.5px; background:var(--zk-paper); border-radius:var(--zk-r-l); overflow:hidden; box-shadow:var(--zk-shadow-m); margin-top:22px; }
.zk-mtable th{ background:var(--zk-espresso); color:var(--zk-gold-l); padding:13px 18px; text-align:left; font-size:13px; letter-spacing:.4px; font-weight:700; }
.zk-mtable td{ padding:13px 18px; border-bottom:1px solid var(--zk-parch); }
.zk-mtable tr:last-child td{ border-bottom:none; }
.zk-mtable tr:nth-child(even) td{ background:var(--zk-cream); }
.zk-mtable td:first-child{ font-weight:700; color:var(--zk-espresso); }
.zk-glist{ list-style:none; margin:8px 0 0; }
.zk-glist li{ display:flex; gap:14px; padding:13px 0; border-bottom:1px solid var(--zk-line); }
.zk-glist li:last-child{ border-bottom:none; }
.zk-glist svg{ width:20px; height:20px; color:var(--zk-gold); flex-shrink:0; margin-top:3px; }
.zk-glist b{ color:var(--zk-espresso); }

/* === FAQ accordion === */
.zk-faq{ display:flex; flex-direction:column; gap:12px; max-width:840px; margin:0 auto; }
.zk-faq-item{ background:var(--zk-paper); border:1px solid var(--zk-line); border-radius:var(--zk-r-l); overflow:hidden; transition:border-color .3s, box-shadow .3s; }
.zk-faq-item.zk-open{ border-color:var(--zk-line2); box-shadow:var(--zk-shadow-m); }
.zk-faq-q{ width:100%; text-align:left; padding:22px 26px; font-weight:700; font-size:16px; color:var(--zk-espresso); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; background:none; border:none; font-family:inherit; }
.zk-faq-q::after{ content:''; width:11px; height:11px; border-right:2px solid var(--zk-gold-d); border-bottom:2px solid var(--zk-gold-d); transform:rotate(45deg); transition:transform .3s var(--zk-ease); flex-shrink:0; margin-top:-4px; }
.zk-faq-item.zk-open .zk-faq-q::after{ transform:rotate(-135deg); margin-top:4px; }
.zk-faq-a-inner{ padding:0 26px 22px; font-size:15px; color:var(--zk-muted); line-height:1.75; }
/* аккордеон — только когда явно .zk-faq--acc (главная) */
.zk-faq--acc .zk-faq-a{ max-height:0; overflow:hidden; transition:max-height .4s var(--zk-ease); }
/* статичный FAQ внутренних страниц (старая структура: div + текст напрямую) */
.zk-faq:not(.zk-faq--acc) .zk-faq-q{ cursor:default; }
.zk-faq:not(.zk-faq--acc) .zk-faq-q::after{ display:none; }
.zk-faq:not(.zk-faq--acc) .zk-faq-a{ padding:0 26px 22px; font-size:15px; color:var(--zk-muted); line-height:1.75; }

/* === CTA === */
.zk-cta{ position:relative; overflow:hidden; background:var(--zk-espresso); color:#fff; padding:90px 0; text-align:center; }
.zk-cta-bg{ position:absolute; inset:0; z-index:0; opacity:.2; }
.zk-cta-bg img{ width:100%; height:100%; object-fit:cover; }
.zk-cta::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 35%, rgba(198,154,60,.2), transparent 62%); z-index:1; }
.zk-cta-inner{ position:relative; z-index:2; max-width:680px; margin:0 auto; padding:0 28px; }
.zk-cta h2{ font-family:'PT Serif',serif; font-size:clamp(26px,4vw,42px); line-height:1.16; margin-bottom:16px; }
.zk-cta h2 em{ font-style:italic; color:var(--zk-gold-l); }
.zk-cta p{ font-size:18px; color:rgba(255,255,255,.74); margin-bottom:34px; }
.zk-cta-phone{ display:block; font-family:'PT Serif',serif; font-size:clamp(28px,5vw,44px); font-weight:700; color:var(--zk-gold-l); margin-bottom:28px; }
.zk-cta-phone:hover{ color:#fff; }

/* === ПОДВАЛ === */
.zk-footer{ background:#1a0f06; color:rgba(255,255,255,.56); padding:74px 0 28px; position:relative; }
.zk-footer::before{ content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--zk-gold),transparent); opacity:.45; }
.zk-footer-inner{ max-width:var(--zk-maxw); margin:0 auto; padding:0 28px; display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:46px; margin-bottom:46px; }
.zk-footer-brand-name{ font-family:'PT Serif',serif; font-size:22px; color:#fff; margin-bottom:12px; }
.zk-footer-about{ font-size:14.5px; line-height:1.7; max-width:280px; }
.zk-footer-heading{ font-family:'PT Serif',serif; font-size:16px; font-weight:700; color:#fff; margin-bottom:16px; }
.zk-footer-list{ list-style:none; }
.zk-footer-list li{ margin-bottom:11px; }
.zk-footer-list a{ color:rgba(255,255,255,.56); font-size:14.5px; }
.zk-footer-list a:hover{ color:var(--zk-gold-l); padding-left:4px; }
.zk-footer-contact{ font-size:14.5px; line-height:1.9; }
.zk-footer-contact a{ color:var(--zk-gold-l); }
.zk-footer-bottom{ max-width:var(--zk-maxw); margin:0 auto; padding:24px 28px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:13px; color:rgba(255,255,255,.4); }

/* === SCROLL REVEAL === */
.zk-reveal{ opacity:0; transform:translateY(34px); transition:opacity .8s var(--zk-ease), transform .8s var(--zk-ease); }
.zk-reveal.zk-in{ opacity:1; transform:none; }
.zk-reveal[data-d="1"]{ transition-delay:.08s; } .zk-reveal[data-d="2"]{ transition-delay:.18s; } .zk-reveal[data-d="3"]{ transition-delay:.28s; } .zk-reveal[data-d="4"]{ transition-delay:.38s; }

/* === МОБ. CALL BAR === */
.zk-callbar{ position:fixed; left:0; right:0; bottom:0; z-index:80; display:none; background:rgba(33,19,9,.98); backdrop-filter:blur(10px); border-top:1px solid var(--zk-line2); padding:10px 16px; gap:10px; }
.zk-callbar a{ flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:13px; border-radius:var(--zk-r); font-weight:700; font-size:15px; }
.zk-callbar svg{ width:17px; height:17px; }
.zk-callbar-call{ background:var(--zk-gold); color:var(--zk-espresso); }
.zk-callbar-page{ background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.2); }

/* === ВНУТРЕННИЕ СТРАНИЦЫ + COMPAT === */
.zk-page-top, .zk-pagehero{ position:relative; background:var(--zk-espresso); color:#fff; padding:140px 0 56px; overflow:hidden; border-bottom:3px solid var(--zk-gold); }
.zk-page-top::before, .zk-pagehero::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 82% 0%, rgba(198,154,60,.16), transparent 56%); }
.zk-page-top > *, .zk-pagehero > *{ position:relative; max-width:var(--zk-maxw); margin-left:auto; margin-right:auto; padding-left:28px; padding-right:28px; }
.zk-page-top h1, .zk-pagehero h1{ font-family:'PT Serif',Georgia,serif; font-size:clamp(28px,4.4vw,46px); max-width:840px; line-height:1.16; letter-spacing:-.3px; }
.zk-page-top p, .zk-pagehero p{ color:rgba(255,255,255,.74); margin-top:14px; max-width:660px; font-size:18px; }

.zk-breadcrumb{ display:flex; gap:9px; align-items:center; padding:0; font-size:13px; color:var(--zk-gold-l); margin-bottom:20px; }
.zk-breadcrumb a{ color:rgba(255,255,255,.6); } .zk-breadcrumb a:hover{ color:#fff; }
.zk-breadcrumb span::before{ content:'›'; opacity:.5; }

.zk-article{ max-width:880px; margin:0 auto; padding:64px 28px; }
.zk-article h2{ font-family:'PT Serif',serif; font-size:27px; color:var(--zk-espresso); margin:40px 0 16px; padding-bottom:10px; border-bottom:1px solid var(--zk-parch2); letter-spacing:-.2px; }
.zk-article h3{ font-family:'PT Serif',serif; font-size:20px; color:var(--zk-espresso); margin:26px 0 12px; }
.zk-article p{ margin-bottom:18px; }
.zk-article ul,.zk-article ol{ padding-left:22px; margin-bottom:18px; }
.zk-article li{ margin-bottom:10px; }
.zk-article strong{ color:var(--zk-espresso); }
.zk-article a{ border-bottom:1px solid var(--zk-line2); }
.zk-article a:hover{ border-color:var(--zk-gold); }
.zk-material-table{ width:100%; border-collapse:collapse; font-size:14.5px; background:var(--zk-paper); border-radius:var(--zk-r-l); overflow:hidden; box-shadow:var(--zk-shadow-m); margin:8px 0 20px; }
.zk-material-table th{ background:var(--zk-espresso); color:var(--zk-gold-l); padding:13px 18px; text-align:left; font-size:13px; letter-spacing:.4px; }
.zk-material-table td{ padding:13px 18px; border-bottom:1px solid var(--zk-parch); vertical-align:top; }
.zk-material-table tr:last-child td{ border-bottom:none; }
.zk-material-table tr:nth-child(even) td{ background:var(--zk-cream); }

/* старые классы внутренних страниц → новый стиль */
.zk-section-head{ margin-bottom:48px; }
.zk-section-head h2{ font-family:'PT Serif',serif; font-size:clamp(22px,3.5vw,34px); color:var(--zk-espresso); margin-bottom:8px; }
.zk-section-head p{ color:var(--zk-muted); font-size:16px; max-width:580px; }
.zk-section-head .zk-ruled{ width:54px; height:3px; background:var(--zk-gold); border-radius:2px; margin-top:14px; }
.zk-section-white{ background:var(--zk-paper); }
.zk-section-paper{ background:var(--zk-parch); }

/* старые карточки крестов (vidy-krestov.php) */
.zk-crosses-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:26px; }
.zk-cross-card{ background:var(--zk-paper); border:1px solid var(--zk-line); border-radius:var(--zk-r-l); overflow:hidden; transition:transform .4s var(--zk-ease),box-shadow .4s var(--zk-ease),border-color .4s; }
.zk-cross-card:hover{ transform:translateY(-7px); box-shadow:var(--zk-shadow-l); border-color:var(--zk-line2); }
.zk-cross-card-head{ background:linear-gradient(135deg,var(--zk-espresso) 0%,var(--zk-bark) 100%); padding:26px; display:flex; align-items:center; gap:16px; position:relative; }
.zk-cross-card-head::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,var(--zk-gold),transparent); }
.zk-cross-emblem{ width:44px; height:44px; color:var(--zk-gold-l); flex-shrink:0; }
.zk-cross-card-name{ color:#fff; font-family:'PT Serif',serif; font-weight:700; font-size:19px; line-height:1.2; }
.zk-cross-card-sub{ color:var(--zk-gold-l); font-size:12px; letter-spacing:.5px; text-transform:uppercase; font-weight:700; margin-top:2px; }
.zk-cross-card-body{ padding:24px 26px 26px; }
.zk-cross-card-desc{ font-size:14.5px; color:var(--zk-muted); line-height:1.72; margin-bottom:16px; }

/* старые традиции (traditsii.php) */
.zk-tradition-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.zk-tradition-item{ background:var(--zk-paper); border-radius:var(--zk-r-l); padding:28px 30px; border-left:4px solid var(--zk-gold); box-shadow:var(--zk-shadow-m); transition:transform .3s var(--zk-ease); }
.zk-tradition-item:hover{ transform:translateY(-4px); }
.zk-tradition-title{ font-family:'PT Serif',serif; font-weight:700; font-size:18px; color:var(--zk-espresso); margin-bottom:8px; }
.zk-tradition-text{ font-size:14.5px; color:var(--zk-muted); line-height:1.72; }
@media (max-width:800px){ .zk-tradition-list{ grid-template-columns:1fr; } }

/* === АДАПТИВ === */
@media (max-width:1000px){
    .zk-crosses{ grid-template-columns:repeat(2,1fr); }
    .zk-crosses .zk-cross:nth-child(3){ grid-column:1 / -1; }
    .zk-crosses .zk-cross:nth-child(3) .zk-cross-photo{ aspect-ratio:16/7; }
    .zk-split{ grid-template-columns:1fr; gap:40px; }
    .zk-split-media{ order:-1; }
    .zk-footer-inner{ grid-template-columns:1fr 1fr; gap:36px; }
}
@media (max-width:820px){
    .zk-nav, .zk-header-tel{ display:none; }
    .zk-burger{ display:block; }
    .zk-nav.zk-nav-open{ display:flex; flex-direction:column; position:fixed; top:0; right:0; bottom:0; width:min(82vw,340px); background:var(--zk-espresso); padding:94px 28px 28px; gap:6px; z-index:95; box-shadow:-20px 0 60px rgba(0,0,0,.5); }
    .zk-nav.zk-nav-open a{ font-size:18px; padding:14px 12px; border-bottom:1px solid rgba(255,255,255,.07); }
    .zk-trads{ grid-template-columns:1fr; }
    .zk-callbar{ display:flex; }
    body{ padding-bottom:66px; }
    .zk-section{ padding:74px 0; }
    .zk-hero{ min-height:84vh; }
    .zk-hero-content{ padding-left:24px; }
}
@media (max-width:560px){
    .zk-container,.zk-hero-inner,.zk-footer-inner,.zk-footer-bottom{ padding-left:20px; padding-right:20px; }
    .zk-crosses{ grid-template-columns:1fr; }
    .zk-crosses .zk-cross:nth-child(3) .zk-cross-photo{ aspect-ratio:4/3; }
    .zk-footer-inner{ grid-template-columns:1fr; }
    .zk-hero-actions{ flex-direction:column; align-items:stretch; }
    .zk-btn{ justify-content:center; }
}
@media (prefers-reduced-motion:reduce){
    *{ animation:none !important; transition:none !important; }
    .zk-reveal{ opacity:1; transform:none; }
    .zk-hero-bg img{ transform:none; }
}
