:root{
  --vk2-bordo:#6b1e1e;
  --vk2-bordo-dark:#4a1414;
  --vk2-bordo-soft:#8a3030;
  --vk2-cream:#f5f0e8;
  --vk2-cream-soft:#fbf7f0;
  --vk2-graphite:#2b2b2b;
  --vk2-graphite-soft:#555;
  --vk2-gold:#c9a449;
  --vk2-gold-light:#e0c074;
  --vk2-line:#d8cdb8;
  --vk2-line-dark:#9f9377;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--vk2-cream);color:var(--vk2-graphite);
  font-family:'PT Serif',Georgia,serif;line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--vk2-bordo);text-decoration:none;border-bottom:1px solid rgba(107,30,30,.2)}
a:hover{color:var(--vk2-bordo-dark);border-bottom-color:var(--vk2-bordo)}
h1,h2,h3,h4{font-family:'Old Standard TT','Cormorant Infant',Georgia,serif;
  font-weight:700;color:var(--vk2-graphite);line-height:1.2;margin:.6em 0 .4em}
h1{font-size:2.4rem;color:var(--vk2-bordo);letter-spacing:.3px}
h2{font-size:1.85rem;border-bottom:1px solid var(--vk2-line);padding-bottom:.3em}
h3{font-size:1.35rem}

.vk2-wrap{max-width:1180px;margin:0 auto;padding:0 22px}

/* Декор-орнамент в виде SVG-полоски */
.vk2-orn{display:block;height:18px;background:
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='18' viewBox='0 0 60 18'><path d='M0 9 L10 9 M50 9 L60 9 M15 9 L30 4 L45 9 L30 14 Z' stroke='%23c9a449' stroke-width='1.2' fill='none'/><circle cx='30' cy='9' r='2' fill='%23c9a449'/></svg>")
  repeat-x center;margin:18px auto;max-width:280px;opacity:.7}

/* Top bar */
.vk2-top{background:var(--vk2-graphite);color:var(--vk2-cream);font-size:.9rem;padding:8px 0}
.vk2-top a{color:var(--vk2-gold-light);border:none}
.vk2-top-grid{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}

/* Header */
.vk2-header{background:var(--vk2-cream-soft);border-bottom:2px solid var(--vk2-line);padding:18px 0}
.vk2-logo{display:flex;align-items:center;gap:14px;border:none}
.vk2-logo-mark{width:54px;height:54px;background:var(--vk2-bordo);color:var(--vk2-gold-light);
  display:flex;align-items:center;justify-content:center;
  font-family:'Old Standard TT','Cormorant Infant',serif;font-weight:700;font-size:1.6rem;
  letter-spacing:.5px;border-radius:50%}
.vk2-logo-text{display:flex;flex-direction:column}
.vk2-logo-name{font-family:'Old Standard TT',serif;font-weight:700;font-size:1.45rem;
  color:var(--vk2-bordo);letter-spacing:.5px}
.vk2-logo-tag{font-size:.85rem;color:var(--vk2-graphite-soft);font-style:italic}
.vk2-header-grid{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.vk2-header-contacts{text-align:right;font-size:.95rem}
.vk2-header-phone{font-family:'Old Standard TT',serif;font-size:1.55rem;font-weight:700;
  color:var(--vk2-bordo);display:block;border:none}

/* Nav */
.vk2-nav{background:var(--vk2-bordo);color:var(--vk2-cream)}
.vk2-nav-list{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.vk2-nav-list a{color:var(--vk2-cream);display:block;padding:13px 18px;border:none;
  font-family:'Old Standard TT',serif;font-size:1.07rem;letter-spacing:.4px;
  border-right:1px solid rgba(255,255,255,.1)}
.vk2-nav-list a:hover{background:var(--vk2-bordo-dark);color:var(--vk2-gold-light)}

/* Hero */
.vk2-hero{background:linear-gradient(135deg,#fbf7f0 0%,#efe6d4 100%);
  padding:55px 0 65px;border-bottom:3px solid var(--vk2-gold);position:relative}
.vk2-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.vk2-hero h1{font-size:3rem;margin-top:0;color:var(--vk2-bordo);line-height:1.15}
.vk2-hero-lead{font-size:1.2rem;color:var(--vk2-graphite-soft);margin-bottom:6px}
.vk2-hero-sub{font-size:1.02rem;color:var(--vk2-graphite-soft);margin:14px 0 22px}
.vk2-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.vk2-hero-img{border-radius:6px;border:3px solid var(--vk2-gold);box-shadow:0 8px 30px rgba(0,0,0,.18)}

.vk2-btn{background:var(--vk2-bordo);color:var(--vk2-cream);padding:15px 30px;
  font-family:'Old Standard TT',serif;font-size:1.15rem;font-weight:700;
  letter-spacing:.5px;border:none;border-radius:2px;cursor:pointer;display:inline-block;text-align:center}
.vk2-btn:hover{background:var(--vk2-bordo-dark);color:var(--vk2-gold-light)}
.vk2-btn-ghost{background:transparent;color:var(--vk2-bordo);border:2px solid var(--vk2-bordo)}
.vk2-btn-ghost:hover{background:var(--vk2-bordo);color:var(--vk2-cream)}

/* Category grid (home) */
.vk2-cats{padding:55px 0}
.vk2-cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.vk2-cat{background:#fff;border:1px solid var(--vk2-line);padding:0;text-align:left;
  display:flex;flex-direction:column;border-radius:4px;overflow:hidden;
  transition:transform .15s,box-shadow .15s;border-bottom:3px solid transparent}
.vk2-cat:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(43,43,43,.13);
  border-bottom-color:var(--vk2-gold)}
.vk2-cat-img{height:240px;background:var(--vk2-cream);display:flex;align-items:center;
  justify-content:center;overflow:hidden}
.vk2-cat-img img{max-height:100%;object-fit:cover;width:100%;height:100%}
.vk2-cat-body{padding:20px 22px 24px}
.vk2-cat-name{font-family:'Old Standard TT',serif;font-size:1.4rem;color:var(--vk2-bordo);
  margin:0 0 8px;font-weight:700}
.vk2-cat-desc{color:var(--vk2-graphite-soft);font-size:.95rem;margin-bottom:14px;line-height:1.5}
.vk2-cat-link{color:var(--vk2-bordo);font-style:italic;border:none}
.vk2-cat-price{font-size:.92rem;color:var(--vk2-graphite-soft);font-style:italic;margin-bottom:8px}

/* Product grid */
.vk2-products{padding:30px 0 50px}
.vk2-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:24px}
.vk2-product{background:#fff;border:1px solid var(--vk2-line);border-radius:4px;
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s}
.vk2-product:hover{box-shadow:0 6px 16px rgba(43,43,43,.12)}
.vk2-product-img{height:280px;background:var(--vk2-cream-soft);display:flex;
  align-items:center;justify-content:center;overflow:hidden}
.vk2-product-img img{max-height:100%;object-fit:cover;width:100%;height:100%}
.vk2-product-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.vk2-product-name{font-family:'Old Standard TT',serif;font-size:1.18rem;
  color:var(--vk2-graphite);margin:0 0 6px;font-weight:700;line-height:1.3;flex:1}
.vk2-product-name a{color:var(--vk2-graphite);border:none}
.vk2-product-name a:hover{color:var(--vk2-bordo)}
.vk2-product-meta{display:flex;justify-content:space-between;align-items:center;
  border-top:1px dashed var(--vk2-line);padding-top:12px;margin-top:10px}
.vk2-product-price{font-family:'Old Standard TT',serif;font-size:1.4rem;
  font-weight:700;color:var(--vk2-bordo)}
.vk2-product-cta{font-size:.9rem;color:var(--vk2-graphite-soft);font-style:italic}

/* Product page */
.vk2-prod-page{padding:30px 0 50px}
.vk2-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}
.vk2-prod-main-img{background:#fff;border:1px solid var(--vk2-line);padding:12px;border-radius:4px;
  display:flex;align-items:center;justify-content:center;min-height:520px}
.vk2-prod-main-img img{max-width:100%;height:auto}
.vk2-prod-info h1{margin-top:0}
.vk2-prod-price-big{font-family:'Old Standard TT',serif;font-size:2.4rem;
  color:var(--vk2-bordo);font-weight:700;margin:18px 0 4px}
.vk2-prod-price-note{color:var(--vk2-graphite-soft);font-size:.95rem;font-style:italic}
.vk2-prod-features{margin:25px 0;padding:18px 22px;background:#fff;border-left:3px solid var(--vk2-gold);
  border-radius:0 4px 4px 0}
.vk2-prod-features ul{margin:0;padding-left:20px}
.vk2-prod-features li{margin:6px 0}
.vk2-prod-features li strong{color:var(--vk2-bordo)}

/* Form */
.vk2-form{background:#fff;border:1px solid var(--vk2-line);padding:28px 30px;border-radius:4px;
  margin-top:30px}
.vk2-form h3{margin-top:0}
.vk2-form input,.vk2-form select,.vk2-form textarea{width:100%;padding:11px 14px;
  border:1px solid var(--vk2-line);margin-bottom:12px;font-family:inherit;font-size:1rem;
  background:var(--vk2-cream-soft);border-radius:2px}
.vk2-form input:focus,.vk2-form textarea:focus,.vk2-form select:focus{outline:none;border-color:var(--vk2-bordo)}

/* Sections */
.vk2-section{padding:45px 0}
.vk2-section h2{margin-top:0}
.vk2-features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}
.vk2-feature{padding:24px 20px;text-align:center;background:#fff;border:1px solid var(--vk2-line);
  border-radius:4px}
.vk2-feature-icon{font-family:'Old Standard TT',serif;font-size:2.5rem;color:var(--vk2-gold);
  margin-bottom:8px;display:block;font-weight:700}
.vk2-feature h3{margin:0 0 8px;font-size:1.18rem;color:var(--vk2-bordo)}
.vk2-feature p{margin:0;font-size:.93rem;color:var(--vk2-graphite-soft);line-height:1.5}

.vk2-bread{padding:14px 0;background:var(--vk2-cream-soft);font-size:.92rem;
  border-bottom:1px solid var(--vk2-line);color:var(--vk2-graphite-soft)}
.vk2-bread a{border:none;color:var(--vk2-bordo)}
.vk2-bread span:last-child{color:var(--vk2-graphite)}

/* FAQ */
.vk2-faq details{background:#fff;border:1px solid var(--vk2-line);padding:14px 22px;
  margin-bottom:10px;border-radius:4px}
.vk2-faq summary{cursor:pointer;font-family:'Old Standard TT',serif;font-size:1.18rem;
  font-weight:700;color:var(--vk2-bordo);padding-right:20px}
.vk2-faq[open] summary{margin-bottom:10px;border-bottom:1px dashed var(--vk2-line);padding-bottom:10px}

/* Blog */
.vk2-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.vk2-blog-card{background:#fff;border:1px solid var(--vk2-line);padding:22px 24px;border-radius:4px}
.vk2-blog-card h3{margin-top:0}
.vk2-blog-card h3 a{color:var(--vk2-graphite);border:none}
.vk2-blog-card h3 a:hover{color:var(--vk2-bordo)}
.vk2-blog-meta{font-size:.85rem;color:var(--vk2-graphite-soft);margin-bottom:10px;font-style:italic}
.vk2-blog-article{background:#fff;border:1px solid var(--vk2-line);padding:32px 40px;border-radius:4px}
.vk2-blog-article h2{font-size:1.5rem;color:var(--vk2-bordo);margin-top:1.8em}
.vk2-blog-article p{font-size:1.07rem}

/* Portfolio */
.vk2-portfolio{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}
.vk2-portfolio-item{background:#fff;border:1px solid var(--vk2-line);border-radius:4px;
  overflow:hidden;transition:transform .15s}
.vk2-portfolio-item:hover{transform:scale(1.03)}
.vk2-portfolio-item img{width:100%;aspect-ratio:1/1;object-fit:cover}
.vk2-portfolio-caption{padding:10px 14px;font-size:.85rem;color:var(--vk2-graphite-soft)}

/* Povod-grid */
.vk2-povod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.vk2-povod{background:#fff;border:1px solid var(--vk2-line);padding:18px 20px;border-radius:4px;
  text-align:center;display:block;border-bottom:3px solid transparent;transition:all .15s}
.vk2-povod:hover{border-bottom-color:var(--vk2-gold);box-shadow:0 4px 12px rgba(43,43,43,.08)}
.vk2-povod h3{margin:0 0 6px;font-size:1.15rem;color:var(--vk2-bordo);border:none}
.vk2-povod p{margin:0;font-size:.88rem;color:var(--vk2-graphite-soft);line-height:1.45}

/* Price table */
.vk2-price-table{width:100%;border-collapse:collapse;margin:20px 0;background:#fff;
  border:1px solid var(--vk2-line)}
.vk2-price-table th,.vk2-price-table td{padding:12px 16px;text-align:left;
  border-bottom:1px solid var(--vk2-line)}
.vk2-price-table th{background:var(--vk2-cream-soft);font-family:'Old Standard TT',serif;
  color:var(--vk2-bordo);font-weight:700}
.vk2-price-table td:last-child{font-weight:700;color:var(--vk2-bordo)}

/* Footer */
.vk2-footer{background:var(--vk2-graphite);color:var(--vk2-cream);padding:45px 0 24px;margin-top:60px}
.vk2-footer a{color:var(--vk2-gold-light);border:none}
.vk2-footer a:hover{color:#fff}
.vk2-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;margin-bottom:30px}
.vk2-footer h4{color:var(--vk2-gold-light);margin-top:0;font-size:1.2rem;
  font-family:'Old Standard TT',serif;border-bottom:1px solid rgba(201,164,73,.3);padding-bottom:8px}
.vk2-footer ul{list-style:none;padding:0;margin:0}
.vk2-footer li{margin:5px 0;font-size:.94rem}
.vk2-footer-bottom{border-top:1px solid rgba(245,240,232,.18);padding-top:18px;
  font-size:.84rem;color:rgba(245,240,232,.6);display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:10px}
.vk2-footer-partner{color:rgba(245,240,232,.4)!important;font-size:.78rem}

@media (max-width:900px){
  .vk2-hero-grid,.vk2-prod-grid{grid-template-columns:1fr}
  .vk2-cats-grid{grid-template-columns:repeat(2,1fr)}
  .vk2-products-grid,.vk2-blog-grid{grid-template-columns:repeat(2,1fr)}
  .vk2-features,.vk2-footer-grid{grid-template-columns:repeat(2,1fr)}
  .vk2-portfolio,.vk2-povod-grid{grid-template-columns:repeat(2,1fr)}
  .vk2-top-grid,.vk2-header-grid{justify-content:center;text-align:center}
  .vk2-header-contacts{text-align:center}
  h1{font-size:1.9rem}
  .vk2-hero h1{font-size:2.2rem}
}
@media (max-width:560px){
  .vk2-cats-grid,.vk2-products-grid,.vk2-blog-grid{grid-template-columns:1fr}
  .vk2-features,.vk2-footer-grid{grid-template-columns:1fr}
  .vk2-portfolio,.vk2-povod-grid{grid-template-columns:repeat(2,1fr)}
  .vk2-nav-list{flex-direction:column}
  .vk2-nav-list a{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .vk2-blog-article{padding:22px 22px}
}
