/* ============================================================
   site.css — MODX integration glue for the v2 template.
   Loaded AFTER style.css. Holds only what the concept CSS lacks:
   a mobile menu, CMS-content typography, and small fixes.
   Keep the concept style.css pristine; put additions here.
   ============================================================ */

/* ---- Mobile burger + off-canvas nav (concept had none) ---- */
.hdr-burger{
  display:none; width:42px; height:42px; border:0; cursor:pointer;
  background:transparent; padding:9px; border-radius:9px;
}
.hdr-burger span{ display:block; height:2px; background:#fff; border-radius:2px; margin:4px 0; transition:.25s; }
.mnav-scrim{
  position:fixed; inset:0; background:rgba(6,20,10,.55); backdrop-filter:blur(2px);
  opacity:0; visibility:hidden; transition:.25s; z-index:1200;
}
.mnav-scrim.on{ opacity:1; visibility:visible; }
.mnav{
  position:fixed; top:0; right:0; width:min(84vw,340px); height:100%;
  background:var(--deep,#0f2318); color:#e8f0ea; z-index:1210;
  transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex; flex-direction:column; padding:22px 20px; overflow-y:auto;
}
.mnav.on{ transform:translateX(0); }
.mnav-close{ align-self:flex-end; background:transparent; border:0; color:#8fae99; font-size:26px; line-height:1; cursor:pointer; }
.mnav a{ color:#e8f0ea; text-decoration:none; padding:13px 6px; border-bottom:1px solid rgba(255,255,255,.08); font-size:16px; font-weight:600; display:block; }
.mnav a:active,.mnav a:hover{ color:var(--green-l,#3ecf8e); }
.mnav ul{ list-style:none; margin:0; padding:0; }
.mnav ul ul a{ padding-left:18px; font-weight:500; font-size:14px; color:#a9c2b1; }
.mnav-foot{ margin-top:auto; padding-top:18px; font-family:var(--mono,monospace); font-size:12px; color:#8fae99; }
.mnav-foot a{ border:0; padding:4px 0; }
@media (max-width:768px){ .hdr-burger{ display:block; } }

/* ---- CMS content pages (about/contact/services/news/…) ---- */
.content-wrap{ padding:44px 0 64px; min-height:40vh; }
.content-wrap .page-h1{
  font-size:clamp(28px,4vw,42px); font-weight:800; letter-spacing:-.02em;
  color:#132a1b; margin-bottom:8px; line-height:1.12;
}
.content-body{ font-size:16px; line-height:1.75; color:#2b3f2e; max-width:860px; }
.content-body h2{ font-size:26px; font-weight:800; margin:34px 0 14px; color:#16301f; letter-spacing:-.01em; }
.content-body h3{ font-size:20px; font-weight:700; margin:26px 0 10px; color:#1c3826; }
.content-body p{ margin:0 0 16px; }
.content-body a{ color:var(--green,#1a7a47); text-decoration:underline; text-underline-offset:2px; }
.content-body ul,.content-body ol{ margin:0 0 18px 22px; }
.content-body li{ margin:6px 0; }
.content-body img{ max-width:100%; height:auto; border-radius:12px; margin:12px 0; }
.content-body table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14px; }
.content-body table td,.content-body table th{ border:1px solid #dbe6de; padding:9px 12px; text-align:left; }
.content-body table th{ background:#f1f6f2; font-weight:700; }
.content-body blockquote{ border-left:3px solid var(--green,#1a7a47); padding:6px 0 6px 18px; margin:16px 0; color:#3a4e3c; background:#f3f8f4; border-radius:0 10px 10px 0; }
.content-layout{ display:grid; grid-template-columns:270px 1fr; gap:36px; align-items:start; }
.content-aside{ position:sticky; top:90px; }
.content-aside ul{ list-style:none; margin:0; padding:0; }
.content-aside > ul { background:#fff; border:1px solid #e2e8e4; border-radius:14px; padding:10px; }
.content-aside a{ display:block; padding:9px 12px; border-radius:8px; color:#2b3f2e; text-decoration:none; font-size:14px; font-weight:500; }
.content-aside a:hover{ background:#f1f6f2; color:var(--green,#1a7a47); }
.content-aside li.active > a, .content-aside li#activeUl888 > a{ background:var(--green,#1a7a47); color:#fff; }
@media (max-width:900px){ .content-layout{ grid-template-columns:1fr; } .content-aside{ position:static; } }

/* ---- Breadcrumb tweaks for light content pages ---- */
.breadcrumb.plain{ padding:14px 0; font-size:13px; color:#6b7f70; display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.breadcrumb.plain a{ color:#6b7f70; text-decoration:none; }
.breadcrumb.plain a:hover{ color:var(--green,#1a7a47); }
.breadcrumb.plain ul{ list-style:none; display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:0; padding:0; }
.breadcrumb.plain li{ display:flex; gap:6px; align-items:center; }
.breadcrumb.plain .sep{ color:#b9c6bd; }

/* ---- miniShop2 cart quantity controls inside .pcard ---- */
.pcard .ms-cart-row{ display:flex; align-items:center; gap:8px; margin-top:10px; }
.pcard .ms-qty{ display:flex; align-items:center; border:1px solid #d8e2db; border-radius:8px; overflow:hidden; }
.pcard .ms-qty span{ width:30px; height:34px; display:flex; align-items:center; justify-content:center; cursor:pointer; user-select:none; color:#5a7062; font-size:17px; }
.pcard .ms-qty input{ width:38px; height:34px; border:0; text-align:center; font-weight:700; font-size:14px; -moz-appearance:textfield; }
.pcard .ms-qty input::-webkit-outer-spin-button,.pcard .ms-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* price "on request" state */
.pcard-price.request{ color:#5a7062; font-size:16px; }

/* keep long product titles tidy in grid */
.pcard-name{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Fenom/MODX empty-state helper */
.v2-empty{ padding:40px; text-align:center; color:#6b7f70; font-size:15px; }

/* ---- v2 product tile as link (Stage 2) ---- */
a.pcard{ color:inherit; text-decoration:none; }
.pcard-old-price{ font-size:12px; color:#9aa8a0; text-decoration:line-through; margin-bottom:2px; font-weight:600; }
.catalog-pagination{ margin-top:34px; }
.catalog-pagination:empty{ display:none; }
/* subcat card is an <a> — needs block so width/height apply */
a.subcat-card{ display:block; text-decoration:none; }

/* ---- v2 product gallery uses <img> (Stage 3) ---- */
.product-split-left .gallery-main-dark{ min-height:440px; display:flex; align-items:center; justify-content:center; background:#0d1f14; }
.product-split-left .gallery-main-dark img{ max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; }
.gallery-thumbs-dark .gthumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (max-width:860px){ .product-split{ grid-template-columns:1fr; } .product-split-left{ position:static; height:auto; } .product-split-left .gallery-main-dark{ min-height:340px; } }

/* ---- Content-page hero band (Stage 4) ---- */
.page-hero{ background:linear-gradient(135deg,var(--deep,#0f2318) 0%,#12301e 100%); padding:30px 0 38px; color:#fff; position:relative; overflow:hidden; }
.page-hero::after{ content:''; position:absolute; right:-60px; top:-40px; width:280px; height:280px; border:1px solid rgba(74,222,128,.12); border-radius:50%; }
.page-hero .breadcrumb.light{ margin-bottom:14px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:13px; }
.page-hero h1{ font-size:clamp(26px,3.6vw,40px); font-weight:800; letter-spacing:-.02em; color:#fff; line-height:1.12; position:relative; z-index:2; margin:0; }
.page-hero .page-hero-sub{ color:#a9c2b1; margin-top:10px; font-size:15px; max-width:720px; position:relative; z-index:2; }
.content-aside .v2-side-title{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#6b7f70; padding:4px 12px 10px; }

/* ---- Content variants (Stage 4) ---- */
.v2-contacts{ display:grid; grid-template-columns:320px 1fr; gap:28px; align-items:start; }
.v2-contact-card{ background:#fff; border:1px solid #e2e8e4; border-radius:16px; padding:24px; box-shadow:0 6px 24px rgba(16,48,30,.05); }
.v2-contact-row{ display:flex; flex-direction:column; gap:2px; padding:12px 0; border-bottom:1px solid #eef3ef; }
.v2-contact-row:last-of-type{ border-bottom:0; }
.v2-contact-row span{ font-size:12px; color:#6b7f70; font-family:var(--mono,monospace); letter-spacing:.04em; }
.v2-contact-row strong{ font-size:17px; color:#16301f; font-weight:800; }
.v2-contact-row strong a{ color:var(--green,#1a7a47); }
.v2-contact-row em{ font-size:11px; color:#9aa8a0; font-style:normal; }
.v2-contact-body iframe,.v2-contact-body img{ max-width:100%; border-radius:12px; }
@media (max-width:760px){ .v2-contacts{ grid-template-columns:1fr; } }

.v2-news-list{ display:flex; flex-direction:column; gap:14px; }
.v2-news-item{ display:block; text-decoration:none; background:#fff; border:1px solid #e2e8e4; border-radius:14px; padding:20px 22px; transition:border-color .18s, box-shadow .18s, transform .18s; }
.v2-news-item:hover{ border-color:var(--green,#1a7a47); box-shadow:0 8px 26px rgba(16,48,30,.07); transform:translateY(-2px); }
.v2-news-date{ font-family:var(--mono,monospace); font-size:11px; color:var(--green,#1a7a47); letter-spacing:.06em; margin-bottom:6px; }
.v2-news-title{ font-size:18px; font-weight:800; color:#16301f; margin-bottom:6px; }
.v2-news-intro{ font-size:14px; color:#5a7062; line-height:1.6; }

.v2-reviews{ margin-top:4px; }
.v2-cert-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; }
.v2-cert-gallery img{ width:100%; height:auto; border-radius:10px; border:1px solid #e2e8e4; }

/* ============ Cart + Order + Search (v2) ============ */
.v2-cart-block{ margin-bottom:40px; }
.v2-cart-items{ display:flex; flex-direction:column; border:1px solid #e2e8e4; border-radius:14px; overflow:hidden; background:#fff; }
.v2-cart-item{ display:grid; grid-template-columns:84px 1fr auto auto auto; gap:18px; align-items:center; padding:16px 18px; border-bottom:1px solid #eef3ef; }
.v2-cart-item:last-child{ border-bottom:0; }
.v2-cart-thumb{ width:84px; height:64px; display:flex; align-items:center; justify-content:center; background:#f4f8f5; border-radius:8px; overflow:hidden; }
.v2-cart-thumb img{ max-width:100%; max-height:100%; object-fit:contain; }
.v2-cart-name{ font-weight:700; color:#16301f; text-decoration:none; font-size:15px; }
.v2-cart-name:hover{ color:var(--green,#1a7a47); }
.v2-cart-opts{ font-size:12px; color:#6b7f70; margin-top:3px; }
.v2-cart-price{ font-weight:800; color:var(--green,#1a7a47); white-space:nowrap; font-size:16px; }
.ms-qty{ display:flex; align-items:center; border:1px solid #d8e2db; border-radius:8px; overflow:hidden; }
.ms-qty .count-minus,.ms-qty .count-plus{ width:32px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; user-select:none; color:#5a7062; font-size:18px; background:#f4f8f5; }
.ms-qty .count-minus:hover,.ms-qty .count-plus:hover{ background:#e6efe9; color:var(--green,#1a7a47); }
.ms-qty input.count{ width:44px; height:36px; border:0; text-align:center; font-weight:700; font-size:14px; }
.v2-cart-del{ width:34px; height:34px; border:1px solid #e2d3d3; background:#fff; color:#b06a6a; border-radius:8px; cursor:pointer; font-size:20px; line-height:1; }
.v2-cart-del:hover{ background:#b06a6a; color:#fff; border-color:#b06a6a; }
.v2-cart-foot{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; margin-top:18px; }
.v2-cart-total{ font-size:15px; color:#3a4e3c; }
.v2-cart-total strong{ color:#16301f; font-size:18px; }
@media (max-width:640px){ .v2-cart-item{ grid-template-columns:64px 1fr auto; } .v2-cart-thumb{ width:64px; } .v2-cart-qty{ grid-column:2/4; } .v2-cart-remove{ grid-column:3; } }

.v2-order-wrap{ background:#fff; border:1px solid #e2e8e4; border-radius:16px; padding:28px; }
.v2-order-h{ font-size:22px; font-weight:800; color:#16301f; margin-bottom:6px; }
.v2-order-note{ color:#5a7062; font-size:14px; margin-bottom:22px; }
.v2-order-note a{ color:var(--green,#1a7a47); font-weight:700; }
.v2-order h4{ font-size:14px; font-weight:800; color:#16301f; margin:14px 0 12px; text-transform:none; }
.v2-order .form-group{ margin-bottom:14px; }
.v2-order .form-control{ width:100%; padding:12px 14px; border:1px solid #d8e2db; border-radius:9px; font-size:14px; font-family:inherit; background:#fbfdfb; transition:border-color .18s; }
.v2-order .form-control:focus{ outline:none; border-color:var(--green,#1a7a47); background:#fff; }
.v2-order textarea.form-control{ min-height:90px; resize:vertical; }
.v2-order .form-control.error{ border-color:#c9645f; background:#fdf5f4; }
.v2-order .row{ display:block; }
.v2-order .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.v2-order .checkbox{ margin-bottom:8px; }
.v2-order button[type="submit"]{ background:var(--green,#1a7a47); color:#fff; border:0; padding:14px 30px; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; transition:background .18s; }
.v2-order button[type="submit"]:hover{ background:var(--green-d,#136036); }
.v2-order .required-star{ color:#c9645f; }

.v2-search-form{ display:flex; gap:12px; margin-bottom:28px; max-width:720px; }
.v2-search-form input{ flex:1; padding:15px 18px; border:1.5px solid #d8e2db; border-radius:11px; font-size:16px; font-family:inherit; background:#fff; }
.v2-search-form input:focus{ outline:none; border-color:var(--green,#1a7a47); }
.v2-search-form .btn{ padding:0 28px; }
.v2-search-results{ display:flex; flex-direction:column; gap:12px; }
.v2-search-item,.mse2-row{ display:block; text-decoration:none; background:#fff; border:1px solid #e2e8e4; border-radius:12px; padding:18px 20px; transition:border-color .18s, box-shadow .18s; }
.v2-search-item:hover,.mse2-row:hover{ border-color:var(--green,#1a7a47); box-shadow:0 6px 20px rgba(16,48,30,.06); }
.v2-search-title{ font-size:17px; font-weight:800; color:#16301f; margin-bottom:5px; }
.v2-search-intro{ font-size:14px; color:#5a7062; line-height:1.6; }
.mse2_pagination,.pagination-wrap{ margin-top:24px; }

/* ---- Catalog index (section cards) ---- */
.catindex-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; }
.catindex-card{ position:relative; display:block; height:160px; border-radius:15px; overflow:hidden; text-decoration:none; background:linear-gradient(135deg,#12301e 0%,#0f2318 100%); border:1px solid var(--border,#1e3a28); }
.catindex-card-bg{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:.5; transition:opacity .4s, transform .4s; }
.catindex-card-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(7,16,10,.92) 0%, rgba(7,16,10,.35) 70%, rgba(7,16,10,.15) 100%); }
.catindex-card-body{ position:absolute; left:20px; right:20px; bottom:18px; z-index:2; }
.catindex-card-name{ color:#fff; font-size:19px; font-weight:800; line-height:1.2; margin-bottom:8px; }
.catindex-card-link{ color:var(--green-l,#3ecf8e); font-size:12px; font-family:var(--mono,monospace); letter-spacing:.06em; display:inline-flex; align-items:center; gap:6px; }
.catindex-card-arrow{ transition:transform .25s; }
.catindex-card:hover{ border-color:var(--green,#1a7a47); }
.catindex-card:hover .catindex-card-bg{ opacity:.72; transform:scale(1.05); }
.catindex-card:hover .catindex-card-arrow{ transform:translateX(4px); }

/* ============ Reviews (Tickets Comments) restyle — scoped to .v2-reviews ============ */
.v2-reviews .comments{ margin:0; }
.v2-reviews .comments-subscribe{ display:none; }             /* subscribe checkbox — hide */
.v2-reviews .comment-list,
.v2-reviews ol.comments-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.v2-reviews ol.comments-list{ margin-top:14px; margin-left:26px; }   /* nested replies indent */
.v2-reviews .ticket-comment{ margin:0; }
.v2-reviews .ticket-comment-body{ background:#fff; border:1px solid #e2e8e4; border-radius:14px; padding:20px 22px; box-shadow:0 4px 18px rgba(16,48,30,.04); }
.v2-reviews .ticket-comment-body.bad{ opacity:.6; }
.v2-reviews .ticket-comment-header{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.v2-reviews .ticket-comment-author{ font-weight:800; color:#16301f; font-size:15px; }
.v2-reviews .ticket-comment-author::before{ content:''; display:inline-block; width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,var(--green,#1a7a47),#12301e); vertical-align:middle; margin-right:9px; }
.v2-reviews .ticket-comment-createdon{ font-size:12px; color:#8fa397; font-family:var(--mono,monospace); }
.v2-reviews .ticket-comment-createdon::before{ content:'· '; }
.v2-reviews .ticket-comment-rating,
.v2-reviews .ticket-comment-down,
.v2-reviews .ticket-comment-link{ display:none; }             /* voting/anchor UI needs glyphicons+JS — hide */
.v2-reviews .ticket-comment-text{ color:#3a4e3c; font-size:14px; line-height:1.7; }
.v2-reviews .ticket-comment-text p:last-child{ margin-bottom:0; }

/* review form */
.v2-reviews #comment-form-placeholder{ margin-top:36px; }
.v2-reviews #comment-form-placeholder h2{ font-size:22px; font-weight:800; color:#16301f; margin-bottom:16px; }
.v2-reviews #comment-form,
.v2-reviews form.well{ background:#fff; border:1px solid #e2e8e4; border-radius:16px; padding:24px; box-shadow:0 6px 24px rgba(16,48,30,.05); }
.v2-reviews .form-group{ margin-bottom:14px; }
.v2-reviews .row{ display:block; }
.v2-reviews .form-control{ width:100%; padding:12px 14px; border:1px solid #d8e2db; border-radius:9px; font-size:14px; font-family:inherit; background:#fbfdfb; transition:border-color .18s; }
.v2-reviews .form-control:focus{ outline:none; border-color:var(--green,#1a7a47); background:#fff; }
.v2-reviews textarea.form-control{ min-height:120px; resize:vertical; }
.v2-reviews .form-actions{ margin-top:6px; }
.v2-reviews .btn.form-button,
.v2-reviews input[type="submit"]{ background:var(--green,#1a7a47); color:#fff; border:0; padding:13px 34px; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; transition:background .18s; }
.v2-reviews .btn.form-button:hover,
.v2-reviews input[type="submit"]:hover{ background:var(--green-d,#136036); }
.v2-reviews #comment-preview-placeholder:not(:empty){ border:1px solid #e2e8e4; border-radius:10px; padding:14px; margin-bottom:14px; background:#f7faf8; }
/* name+email side by side on wide screens */
@media (min-width:620px){
  .v2-reviews #comment-form .row .row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
}

/* ---- Contacts page: offices + map (rebuild) ---- */
.v2-contact-top{ display:grid; grid-template-columns:360px 1fr; gap:24px; align-items:stretch; margin-bottom:44px; }
.v2-contact-map{ border-radius:16px; overflow:hidden; min-height:380px; border:1px solid #e2e8e4; background:#eef3ef; }
.v2-contact-map iframe{ display:block; width:100%; height:100%; min-height:380px; border:0; }
.v2-offices-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin:14px 0 30px; }
.v2-office{ background:#fff; border:1px solid #e2e8e4; border-radius:14px; padding:18px 20px; transition:border-color .18s, box-shadow .18s; }
.v2-office:hover{ border-color:var(--green,#1a7a47); box-shadow:0 6px 20px rgba(16,48,30,.06); }
.v2-office--main{ border-left:3px solid var(--green,#1a7a47); }
.v2-office-tag{ font-family:var(--mono,monospace); font-size:10px; color:var(--green,#1a7a47); letter-spacing:.08em; text-transform:uppercase; font-weight:700; margin-bottom:9px; display:flex; align-items:center; gap:6px; }
.v2-office-tag::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--green,#1a7a47); }
.v2-office-addr{ font-size:15px; color:#16301f; font-weight:600; line-height:1.5; }
@media (max-width:820px){ .v2-contact-top{ grid-template-columns:1fr; } .v2-contact-map{ min-height:300px; } }

/* ---- Photo galleries (v2) ---- */
.v2-gallery-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.v2-gallery-item{ display:block; aspect-ratio:4/3; border-radius:12px; overflow:hidden; border:1px solid #e2e8e4; background:#f4f8f5; }
.v2-gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.v2-gallery-item:hover img{ transform:scale(1.06); }
/* Gallery component sometimes wraps in owl-carousel — neutralize so grid shows all */
.v2-reviews .owl-carousel, .content-body .owl-carousel{ display:block; }

/* ---- Sidebar nested section menu (Stage: fix) ---- */
.content-aside .v2-side-menu{ background:#fff; border:1px solid #e2e8e4; border-radius:14px; padding:10px; list-style:none; margin:0; }
.content-aside .v2-side-menu li{ list-style:none; }
.content-aside .v2-side-sub{ list-style:none; margin:3px 0 6px 10px; padding-left:9px; border-left:1px solid #e6efe9; }
.content-aside .v2-side-sub a{ font-size:13px; font-weight:500; color:#5a7062; padding:7px 10px; }
.content-aside .v2-side-sub a:hover{ background:#f1f6f2; color:var(--green,#1a7a47); }
.content-aside .active-branch > a{ color:var(--green,#1a7a47); font-weight:700; }
.content-aside li.active > a{ background:var(--green,#1a7a47); color:#fff !important; }

/* ---- About page: counters + photos ---- */
.v2-about-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:14px; margin-bottom:24px; }
.v2-about-stat{ background:#fff; border:1px solid #e2e8e4; border-radius:14px; padding:20px; box-shadow:0 4px 16px rgba(16,48,30,.04); }
.v2-about-stat .aboutcount{ display:block; font-size:34px; font-weight:900; color:var(--green,#1a7a47); line-height:1; letter-spacing:-1px; }
.v2-about-stat .aboutcounts{ display:block; font-size:14px; font-weight:800; color:#16301f; margin:7px 0 4px; }
.v2-about-stat .aboutdecr{ display:block; font-size:12.5px; color:#5a7062; line-height:1.5; }
.v2-about-photos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:30px; }
.v2-about-photos img{ width:100%; height:170px; object-fit:cover; border-radius:12px; border:1px solid #e2e8e4; }

/* ---- Lead-form consent checkboxes ---- */
.lf-consents{ display:flex; flex-direction:column; gap:9px; margin:8px 0 4px; }
.lf-consent{ display:flex; align-items:flex-start; gap:9px; cursor:pointer; font-size:12.5px; line-height:1.4; color:#5a7062; }
.lf-consent input[type="checkbox"]{ width:17px; height:17px; margin:1px 0 0; accent-color:var(--green,#1a7a47); flex-shrink:0; cursor:pointer; }
.lf-consent span{ user-select:none; }
.lf-consent a{ color:var(--green,#1a7a47); text-decoration:underline; }
