/*
Theme Name: CoreDigify Verus
Theme URI: https://verus.lv
Template: coredigify-base
Author: CoreDigify
Author URI: https://my.coredigify.com
Description: CDDS design for Verus.lv (SIA "Fascino" — juridiskie pakalpojumi, nekustamā īpašuma tiesības un mediācija). The firm's existing Divi look rebuilt 1:1 without a page builder: teal top-bar + header, centered dark hero with the white divider + red CTA, the icon contact strip, Buenard serif copy, the white bio card over the dark photo band, the notary-photo form section and the office card overlapping the grayscale map. Child of coredigify-base; adds header/footer parts + full design CSS.
Version: 0.1.4
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coredigify-verus
*/

/* Fonts are enqueued in functions.php (parallel load + preconnect) instead of a
   render-blocking @import chain here — an @import only starts downloading after
   this stylesheet itself has arrived, which delayed first paint (FCP). */

/* ==========================================================================
   Tokens — Verus palette + type, lifted 1:1 from the Divi build
   ========================================================================== */
:root {
  --v-head: 'Oswald', 'Helvetica Neue', Arial, sans-serif;
  --v-body: 'Rubik', 'Helvetica Neue', Arial, sans-serif;
  --v-serif: 'Buenard', Georgia, 'Times New Roman', serif;
  --v-bebas: 'Bebas Neue', var(--v-head), sans-serif;
  --v-teal: #045057;       /* primary — top-bar/header/headings accents */
  --v-red: #ef3b24;        /* CTA / accent */
  --v-red-dark: #d32c17;
  --v-ink: #333333;        /* headings on light */
  --v-body-color: #666666; /* body copy */
  --v-grey-blue: #aebcc3;  /* contact-strip blurb titles */
  --v-form-bg: #f5f9fa;    /* form card */
  --v-line: #dee9ee;       /* hairlines / office card border */
  --v-shadow: 0 40px 60px -10px rgba(0, 0, 0, .24);
  --v-ring: rgba(4, 80, 87, .45);
  --v-wrap: 1180px;
}

body {
  font-family: var(--v-body);
  color: var(--v-body-color);
  background: #fff;
  line-height: 1.75;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
.v-wrap { width: min(var(--v-wrap), 92vw); margin-inline: auto; }

h1, h2, h3, h4 { font-family: var(--v-head); font-weight: 300; color: var(--v-ink); margin: 0; line-height: 1.5; }
p { margin: 0 0 1.1em; }
a { color: var(--v-teal); text-decoration: none; }

/* wpautop neutralizer — the_content wraps grid children in <p> / injects empty
   <p> + <br>; dissolve those so grids/flex keep their real children. */
.v-contact-strip > p, .v-blurb > p, .v-bio-cols > p, .v-form-grid > p,
.v-form-info-grid > p, .v-info-block > p, .v-office-in > p, .v-hero-in > p,
.v-office-card > p { display: contents; }
.v-contact-strip > br, .v-bio-cols > br, .v-form-grid > br,
.v-form-info-grid > br, .v-office-in > br { display: none; }

/* ==========================================================================
   Buttons — Divi: red bg, Rubik 500 uppercase, ls 2px, 16/32 padding, red glow
   ========================================================================== */
.v-btn {
  display: inline-block; font-family: var(--v-body); font-weight: 500;
  font-size: 15px; letter-spacing: 2px; text-transform: uppercase;
  background: var(--v-red); color: #fff; padding: 16px 32px; border: 0;
  box-shadow: 0 12px 18px -6px rgba(239, 59, 36, .24);
  transition: background .2s, transform .2s;
}
.v-btn:hover { background: var(--v-red-dark); color: #fff; transform: translateY(-2px); }
.v-btn:focus-visible { outline: 3px solid var(--v-ring); outline-offset: 4px; }
/* text-only red button with arrow (VERUS birojs) */
.v-btn-text {
  display: inline-block; font-family: var(--v-body); font-weight: 500;
  font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--v-red); background: transparent; padding: 8px 0;
}
.v-btn-text::after { content: " →"; transition: transform .18s; display: inline-block; }
.v-btn-text:hover { color: var(--v-red-dark); }
.v-btn-text:hover::after { transform: translateX(4px); }

/* ==========================================================================
   Top bar + header — layered teal, white logo, animated underline menu,
   refined dropdown + header CTA
   ========================================================================== */
.v-topbar { background: #02343a; color: #fff; }
.v-topbar-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 7px 0; font-size: .82rem; }
.v-topbar a { color: rgba(255, 255, 255, .85); display: inline-flex; align-items: center; gap: 8px; letter-spacing: .06em; transition: color .18s; }
.v-topbar a:hover { color: #fff; }
.v-topbar svg { width: 14px; height: 14px; color: var(--v-red); }
.v-topbar-social { display: flex; gap: 10px; align-items: center; }
.v-topbar-social a { width: 27px; height: 27px; border-radius: 50%; background: rgba(255, 255, 255, .1); display: grid; place-items: center; transition: background .18s, transform .18s; }
.v-topbar-social a:hover { background: var(--v-red); transform: translateY(-1px); }
.v-topbar-social svg { width: 13px; height: 13px; color: #fff; }

.v-header {
  background: linear-gradient(180deg, rgba(5, 92, 100, .99), rgba(4, 80, 87, .97));
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6);
}
.v-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; }
.v-brand { display: inline-flex; align-items: center; }
.v-brand img { height: 56px; width: auto; display: block; transition: transform .2s; }
.v-brand:hover img { transform: scale(1.03); }

.v-menu { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.v-menu li { position: relative; }
.v-menu a {
  position: relative; font-family: var(--v-body); font-weight: 500; font-size: .82rem;
  letter-spacing: 1.6px; text-transform: uppercase; color: rgba(255, 255, 255, .92);
  display: inline-block; padding: 10px 14px; transition: color .18s;
}
.v-menu > li > a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px;
  background: var(--v-red); border-radius: 2px;
  transform: scaleX(0); transform-origin: left center; transition: transform .22s ease;
}
.v-menu > li > a:hover { color: #fff; }
.v-menu > li > a:hover::after,
.v-menu .current-menu-item > a::after,
.v-menu .current-menu-ancestor > a::after,
.v-menu .current_page_item > a::after { transform: scaleX(1); }
.v-menu .current-menu-item > a, .v-menu .current-menu-ancestor > a,
.v-menu .current_page_item > a { color: #fff; }
.v-menu a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 4px; }
.v-menu .menu-item-has-children > a::before {
  content: "▾"; position: absolute; right: -2px; top: 50%; translate: 0 -50%;
  font-size: .7em; opacity: .65; transition: rotate .2s, opacity .2s;
}
.v-menu .menu-item-has-children:hover > a::before { rotate: 180deg; opacity: 1; }
.v-menu .menu-item-has-children > a { padding-right: 22px; }
.v-menu .sub-menu {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 300px;
  background: #fff; border-radius: 10px;
  border-top: 3px solid var(--v-red);
  box-shadow: 0 24px 48px -18px rgba(2, 44, 48, .45);
  padding: 8px; margin: 0; list-style: none;
  opacity: 0; pointer-events: none; transform: translateY(10px);
  /* delay on CLOSE so crossing the gap (or a brief mouse-out) never slams it shut */
  transition: opacity .18s ease .25s, transform .18s ease .25s; z-index: 51;
}
/* invisible hover bridge across the 6px gap (needs overflow visible above) */
.v-menu .sub-menu::before { content: ""; position: absolute; top: -12px; left: -8px; right: -8px; height: 12px; }
.v-menu li:hover > .sub-menu, .v-menu li:focus-within > .sub-menu {
  opacity: 1; pointer-events: auto; transform: translateY(0); transition-delay: 0s;
}
.v-menu .sub-menu li + li { border-top: 1px solid #f2f6f8; }
.v-menu .sub-menu a {
  color: var(--v-ink); text-transform: none; font-weight: 400; font-size: .92rem;
  padding: 11px 14px; display: block; letter-spacing: 0; border-radius: 7px;
  transition: background .16s, color .16s, padding-left .16s;
}
.v-menu .sub-menu a:hover { color: var(--v-red); background: var(--v-form-bg); padding-left: 20px; }
.v-menu .sub-menu a::after, .v-menu .sub-menu a::before { content: none; }

/* Header CTA button */
.v-nav-cta {
  flex: 0 0 auto; display: inline-block; font-family: var(--v-body); font-weight: 500;
  font-size: .74rem; letter-spacing: 1.8px; text-transform: uppercase;
  color: #fff; background: var(--v-red); padding: 11px 20px; border-radius: 3px;
  box-shadow: 0 10px 20px -8px rgba(239, 59, 36, .5);
  transition: background .2s, transform .2s, box-shadow .2s; white-space: nowrap;
}
.v-nav-cta:hover { background: var(--v-red-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 14px 24px -8px rgba(239, 59, 36, .55); }

/* ==========================================================================
   Hero — Divi: office photo + gradient #000 0% → rgba(0,0,0,.56) 20%,
   10vw padding, centered 700px column, white 140×4 divider, red CTA
   ========================================================================== */
.v-hero {
  position: relative; color: #fff; text-align: center;
  background:
    linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .56) 20%),
    url("assets/hero.webp") center/cover no-repeat;
  padding: 10vw 16px;
}
.v-hero-in { max-width: 700px; margin-inline: auto; }
.v-hero h3 { color: #fff; font-family: var(--v-head); font-weight: 500; font-size: clamp(1.4rem, 2.6vw, 1.875rem); margin: 0 0 4px; }
.v-hero h1 { color: #fff; font-family: var(--v-head); font-weight: 300; text-transform: uppercase; font-size: clamp(1.6rem, 3.4vw, 2.375rem); line-height: 1.5; letter-spacing: .02em; margin: 0; }
.v-hero-divider { display: block; width: 140px; height: 4px; background: #fff; border: 0; margin: 28px auto; }
.v-hero p { color: rgba(255, 255, 255, .92); font-size: 1rem; line-height: 2em; margin: 0 0 30px; }

/* ==========================================================================
   Contact strip — white row, 4 blurbs: PNG icon left 80px,
   title Rubik 500 uppercase #aebcc3 ls2, body #000 600
   ========================================================================== */
.v-contact-strip {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;
  max-width: 1280px; margin-inline: auto; padding: 60px 40px; background: #fff;
}
.v-blurb { display: flex; gap: 18px; align-items: flex-start; }
.v-blurb img { width: 80px; height: auto; flex: 0 0 auto; }
.v-blurb h4 {
  font-family: var(--v-body); font-weight: 500; font-size: 16px; letter-spacing: 2px;
  line-height: 2em; text-transform: uppercase; color: var(--v-grey-blue); margin: 0;
}
.v-blurb p, .v-blurb a { font-family: var(--v-body); font-weight: 600; font-size: 16px; color: #000; margin: 0; display: block; }
.v-blurb a:hover { color: var(--v-teal); }

/* ==========================================================================
   Section: Nekustamais Īpašums — H2 44px light uppercase (max 500px),
   body Buenard serif 15px / 2em, single column
   ========================================================================== */
.v-section { padding: 4vw 0; }
.v-h2 {
  font-family: var(--v-head); font-weight: 300; text-transform: uppercase;
  font-size: clamp(22px, 3.4vw, 44px); line-height: 1.5; color: var(--v-ink);
  max-width: 500px; margin: 0 0 24px;
}
.v-serif p { font-family: var(--v-serif); font-size: 15px; line-height: 2em; color: var(--v-body-color); }

/* ==========================================================================
   Bio band — dark notary-07.jpg + gradient rgba(0,0,0,.8)→0; white card
   max 900px pad 100px; H2 42px uppercase teal + 8px red underline
   ========================================================================== */
.v-bio-band {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, 0) 100%),
    url("assets/notary-07.webp") center/cover no-repeat;
  margin: 40px 0; padding: 0 16px;
}
.v-bio-card { max-width: 900px; margin-inline: auto; background: #fff; padding: clamp(30px, 8vw, 100px); }
.v-bio-card .v-bio-title {
  font-family: var(--v-head); font-weight: 300; text-transform: uppercase;
  font-size: clamp(22px, 3.2vw, 42px); line-height: 1.5; color: var(--v-teal);
  border-bottom: 8px solid var(--v-red); padding-bottom: 10px; margin: 0 0 40px;
}
.v-bio-cols { display: grid; grid-template-columns: 2fr 3fr; gap: 34px; align-items: start; }
.v-bio-cols img { width: 100%; display: block; }
.v-bio-cols .v-serif p:last-child { margin-bottom: 0; }

/* ==========================================================================
   Page-title band (subpages) — dark notary-07.jpg band + white card with a
   centered teal H2 + red underline (Divi "Feature" header rows)
   ========================================================================== */
.v-page-band {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, 0) 100%),
    url("assets/notary-07.webp") center/cover no-repeat;
  margin: 25px 0; padding: 0 16px;
}
.v-page-band .v-page-title-card { max-width: 1000px; margin-inline: auto; background: #fff; padding: 50px; }
.v-page-title {
  font-family: var(--v-head); font-weight: 300; text-transform: uppercase; text-align: center;
  font-size: clamp(22px, 3.2vw, 42px); line-height: 1.5; color: var(--v-teal);
  border-bottom: 8px solid var(--v-red); padding-bottom: 10px; margin: 0;
}

/* Content card (subpage body) — white 900px column like the Divi custom rows */
.v-content-900 { max-width: 900px; margin-inline: auto; padding: 0 16px; }
.v-h2-teal {
  font-family: var(--v-head); font-weight: 300; text-transform: uppercase;
  font-size: clamp(22px, 3.2vw, 42px); line-height: 1.5; color: var(--v-teal);
  border-bottom: 8px solid var(--v-red); padding-bottom: 10px; margin: 0 0 30px;
}
.v-justify p { text-align: justify; }
.v-serif-lg p { font-family: var(--v-serif); font-size: 20px; line-height: 1.9; color: #000; }
.v-serif-md p { font-family: var(--v-serif); font-size: 16px; line-height: 2em; color: var(--v-body-color); }
.v-h3-bebas { font-family: var(--v-bebas); font-weight: 400; font-size: 25px; letter-spacing: .04em; line-height: 1.5; color: var(--v-ink); margin: 0 0 8px; }

/* CTA card — white, 2px #eff5f7 border, Bebas Neue teal H3, Buenard body */
.v-cta-card {
  background: #fff; border: 2px solid #eff5f7; padding: 36px;
  box-shadow: 0 30px 50px -20px rgba(0, 0, 0, .08); margin: 30px 0;
}
.v-cta-card h3 { font-family: var(--v-bebas); font-weight: 400; font-size: clamp(24px, 2.8vw, 35px); letter-spacing: .04em; line-height: 1.5; color: var(--v-teal); margin: 0 0 12px; }
.v-cta-card .v-serif-lg p, .v-cta-card p { font-family: var(--v-serif); font-size: 20px; line-height: 1.9; color: #000; text-align: justify; }

/* Playfair Display info-block variant (Par mums form section) */
.v-info-block.is-playfair h4 { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 20px; letter-spacing: 0; text-transform: none; line-height: 1.5; }

/* Simple list styling for service pages */
.v-list ul { margin: 0 0 1.2em; padding-left: 1.3em; }
.v-list li { font-family: var(--v-serif); font-size: 16px; line-height: 2em; color: var(--v-body-color); }

/* ==========================================================================
   Form section — notary-03.jpg + gradient #000 0% → rgba(0,0,0,.6) 100%,
   pad 90px; left: white H3 kicker + H2, Bebas Neue info blocks;
   right: #f5f9fa form card, red submit
   ========================================================================== */
.v-form-section {
  background:
    linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .6) 100%),
    url("assets/notary-03.webp") center/cover no-repeat;
  color: #fff; padding: 90px 0;
}
.v-form-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 50px; align-items: start; }
.v-form-lead h3 { color: #fff; font-family: var(--v-body); font-weight: 500; font-size: 14px; letter-spacing: 2px; line-height: 2em; text-transform: uppercase; margin: 0; }
.v-form-lead h2 { color: #fff; font-family: var(--v-head); font-weight: 300; text-transform: uppercase; font-size: clamp(22px, 3.2vw, 42px); line-height: 1.5; max-width: 500px; margin: 0 0 36px; }
.v-form-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; }
.v-info-block h4 { color: #fff; font-family: var(--v-bebas); font-weight: 700; font-size: 22px; letter-spacing: 3px; line-height: 1.5; margin: 0 0 2px; }
.v-info-block p, .v-info-block a { color: rgba(255, 255, 255, .7); font-size: clamp(16px, 1.4vw, 20px); line-height: 2em; margin: 0 0 14px; }
.v-info-block a { display: inline-flex; gap: 10px; align-items: center; }
.v-info-block a:hover { color: #fff; }
.v-info-block svg { width: 18px; height: 18px; flex: 0 0 auto; color: rgba(255, 255, 255, .7); }

.v-form { background: var(--v-form-bg); padding: 60px 40px; }
.v-form .v-field { margin: 0 0 16px; }
.v-form input, .v-form textarea {
  width: 100%; font-family: var(--v-body); font-size: 14px; color: var(--v-ink);
  padding: 16px; border: 0; background: #fff; border-radius: 0;
  transition: box-shadow .18s;
}
.v-form textarea { min-height: 150px; resize: vertical; }
.v-form input:focus, .v-form textarea:focus { outline: none; box-shadow: 0 0 0 2px var(--v-teal); }
.v-form input::placeholder, .v-form textarea::placeholder { color: #999; }
.v-form .v-btn { cursor: pointer; }

/* ==========================================================================
   Office band — white card (3px #dee9ee border, shadow) overlapping the
   grayscale Google map on the right
   ========================================================================== */
.v-office { padding: 54px 0 74px; }
.v-office-in { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); align-items: center; }
.v-office-map { grid-column: 4 / 13; grid-row: 1; min-height: 440px; }
.v-office-map iframe { display: block; width: 100%; height: 100%; min-height: 440px; border: 0; filter: grayscale(1); }
.v-office-card {
  grid-column: 1 / 6; grid-row: 1; z-index: 2;
  background: #fff; border: 3px solid var(--v-line); padding: 40px;
  box-shadow: 0 40px 60px -10px rgba(0, 0, 0, .18);
}
.v-office-card h4 { color: var(--v-teal); font-family: var(--v-body); font-weight: 500; font-size: 14px; letter-spacing: 2px; line-height: 2em; text-transform: uppercase; margin: 0; }
.v-office-card h3 { color: var(--v-teal); font-family: var(--v-head); font-weight: 300; text-transform: uppercase; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.5; margin: 0 0 8px; max-width: 500px; }
.v-office-card p { font-size: 15px; line-height: 2em; margin: 0 0 14px; }

/* ==========================================================================
   Footer — teal, FB icon + credit line
   ========================================================================== */
.v-footer { background: var(--v-teal); color: rgba(255, 255, 255, .8); padding: 34px 0; text-align: center; }
.v-footer-in { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.v-footer-social { display: flex; gap: 12px; justify-content: center; }
.v-footer-social a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; display: grid; place-items: center; transition: .18s; }
.v-footer-social a:hover { background: var(--v-red); transform: translateY(-2px); }
.v-footer-social svg { width: 18px; height: 18px; }
.v-footer-credit { font-size: .9rem; }
.v-footer-credit a { color: #fff; }
.v-footer-credit a:hover { color: #ffd7cf; }

/* ==========================================================================
   Mobile menu toggle (checkbox hack, script-free) + responsive
   ========================================================================== */
.v-menu-toggle { display: none; }
.v-burger { display: none; }

@media (max-width: 980px) {
  .v-contact-strip { grid-template-columns: 1fr 1fr; padding: 44px 24px; }
  .v-form-grid { grid-template-columns: 1fr; }
  .v-bio-cols { grid-template-columns: 1fr; }
  .v-bio-cols img { max-width: 360px; }
  .v-office-in { display: block; }
  .v-office-card { margin: 0 0 -60px; max-width: 560px; position: relative; }
  .v-office-map { min-height: 360px; padding-top: 0; }
  .v-office-map iframe { min-height: 360px; }

  .v-burger { display: inline-flex; flex-direction: column; gap: 5px; cursor: pointer; padding: 10px; order: 3; }
  .v-burger span { width: 26px; height: 2px; background: #fff; display: block; border-radius: 2px; transition: transform .2s, opacity .2s; }
  .v-menu-toggle:checked ~ .v-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .v-menu-toggle:checked ~ .v-burger span:nth-child(2) { opacity: 0; }
  .v-menu-toggle:checked ~ .v-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .v-nav-cta { order: 2; margin-left: auto; font-size: .68rem; padding: 10px 14px; }
  .v-menu {
    position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch;
    gap: 0; background: var(--v-teal); padding: 0; box-shadow: var(--v-shadow);
    max-height: 0; overflow: hidden; transition: max-height .3s ease;
  }
  .v-menu-toggle:checked ~ .v-menu { max-height: 680px; overflow: auto; padding: 8px 0 16px; }
  .v-menu > li { border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .v-menu > li:last-child { border-bottom: 0; }
  .v-menu > li > a { padding: 13px 6vw; width: 100%; }
  .v-menu > li > a::after { content: none; }
  .v-menu .menu-item-has-children > a::before { right: 6vw; }
  .v-menu .sub-menu { position: static; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; background: rgba(255, 255, 255, .06); border-top: 0; border-radius: 0; padding: 0; min-width: 0; }
  .v-menu .sub-menu li + li { border-top: 1px solid rgba(255, 255, 255, .06); }
  .v-menu .sub-menu a { color: rgba(255, 255, 255, .85); padding: 11px 9vw; white-space: normal; border-radius: 0; }
  .v-menu .sub-menu a:hover { background: rgba(255, 255, 255, .08); color: #fff; padding-left: 9vw; }
}
@media (max-width: 560px) {
  .v-contact-strip { grid-template-columns: 1fr; gap: 22px; }
  .v-blurb img { width: 60px; }
  .v-hero { padding: 70px 16px; }
  .v-brand img { height: 44px; }
  .v-form { padding: 34px 20px; }
  .v-form-info-grid { grid-template-columns: 1fr; }
  .v-office-card { padding: 26px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .v-btn, .v-btn-text, .v-menu a, .v-footer-social a, .v-menu .sub-menu { transition: none !important; }
}

/* ==========================================================================
   Subpage patterns (merged from per-page conversions)
   ========================================================================== */
/* Equal 2-col grid: CTA card + image (Divi 1_2,1_2 rows on service pages) */
.v-cols-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.v-cols-2 > p { display: contents; } /* wpautop neutralizer, same as core grids */
.v-cols-2 > br { display: none; }
.v-cols-2 img { width: 100%; height: auto; display: block; }
.v-cols-2 .v-cta-card { margin: 0; }

@media (max-width: 980px) {
  .v-cols-2 { grid-template-columns: 1fr; }
}

/* Mirrors the Divi title's inline <span style="font-size: xx-large"> on the
   second H2 line (header_2_font_size=42px, span forced to xx-large/32px). */
.v-page-title .v-title-sub { font-size: xx-large; }

/* Two equal card columns (Mēs nodrošinām) */
.v-cards-2col {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px;
  align-items: start; max-width: 1080px; margin-inline: auto; padding: 0 16px;
}
/* wpautop neutralizer — same pattern as the grids in style.css */
.v-cards-2col > p, .v-cards-col > p { display: contents; }
.v-cards-2col > br, .v-cards-col > br { display: none; }

@media (max-width: 980px) {
  .v-cards-2col { grid-template-columns: 1fr; }
}

/* Split card+image grid + 1080px row (Juridiskie pakalpojumi) */
.v-split-2col {
  display: grid; grid-template-columns: 1fr 1fr; gap: 30px;
  align-items: start; max-width: 1080px; margin-inline: auto; padding: 0 16px;
}
.v-split-img img { width: 100%; height: auto; display: block; }
.v-row-1080 { max-width: 1080px; margin-inline: auto; padding: 0 16px; }
/* wpautop neutralizer — same pattern as the grids in style.css */
.v-split-2col > p, .v-split-img > p, .v-row-1080 > p { display: contents; }
.v-split-2col > br { display: none; }

@media (max-width: 980px) {
  .v-split-2col { grid-template-columns: 1fr; }
}

/* CTA card with the notary illustration bottom-right (Īres līgums) */
.v-cta-illustrated {
  background-color: #fff;
  background-image: url("https://verus.lv/wp-content/uploads/2023/07/notary-blurb-illustration-1.png");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: auto;
}

/* ---- Lander page (357) ---- */
/* page 357 (lander-lapa) — extra CSS.
   Mirrors the standalone wp:html lander's inline <style>: Inter-style modern
   landing (hero grid 1.5fr/1fr, teal stats bar, services, testimonial 3-col,
   about grid, FAQ accordion, centered contact form). Original used the Inter
   webfont + JS (tab switcher / accordion / custom dropdown); rebuilt with the
   site font stack (var(--v-body)), native <details> and native <select>.
   Original tokens: --teal #045057 (= var(--v-teal)), --teal-dark #145047,
   --text #1c1c1c, --muted #555, --bg #f9f9f7, radius 6-8px. */

.v-lander-sec { padding: clamp(80px, 10vh, 160px) 0; }
.v-lander-hero-sec { padding: clamp(30px, 5vh, 70px) 0 clamp(50px, 7vh, 90px); background: #fff; }
.v-lander-services-sec { background: #f9f9f7; }
.v-lander-testimonials-sec { background: #fff; }
.v-lander-about-sec { background: #f9f9f7; }
.v-lander-faq-sec { background: #fff; }
.v-lander-contact-sec { background: #f9f9f7; }

/* section H2 — original: clamp(1.8rem,2.5vw,3.2rem), weight 800, #1c1c1c */
.v-lander-h2 {
  font-family: var(--v-body); font-weight: 700; color: #1c1c1c;
  font-size: clamp(1.8rem, 2.5vw, 3.2rem); line-height: 1.3;
  text-transform: none; margin: 0 0 clamp(18px, 2vh, 36px);
}

/* teal solid button — original .btn: teal bg, radius 8px, weight 600 */
.v-btn-lander {
  display: inline-block; background: var(--v-teal); color: #fff;
  padding: clamp(10px, 1vh, 16px) clamp(20px, 2vw, 36px); border-radius: 8px;
  font-family: var(--v-body); font-size: clamp(0.95rem, 1.15vw, 1.15rem);
  font-weight: 600; border: 0; cursor: pointer;
  transition: background .2s, transform .15s;
}
.v-btn-lander:hover { background: #145047; color: #fff; transform: translateY(-1px); }
.v-btn-lander:focus-visible { outline: 3px solid var(--v-ring); outline-offset: 4px; }

/* rounded image blocks — original .img-placeholder: radius 24px, cover/top */
.v-lander-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 24px; display: block; }

/* HERO — original #hero .inner: grid 1.5fr 1fr */
.v-lander-hero { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(32px, 4vw, 64px); align-items: center; }
.v-lander-hero-copy h1 {
  font-family: var(--v-body); font-weight: 700; color: #1c1c1c;
  font-size: clamp(2.5rem, 4vw, 5.2rem); line-height: 1.18;
  margin: 0 0 clamp(14px, 1.5vh, 24px);
}
.v-lander-hero-copy p {
  color: #555; font-size: clamp(1.1rem, 1.25vw, 1.4rem); line-height: 1.6;
  margin: 0 0 clamp(22px, 2.5vh, 36px); padding-right: clamp(10px, 2vw, 30px);
}
.v-lander-hero .v-lander-img { height: clamp(350px, 45vh, 550px); }

/* STATS — original #stats: teal band, flex space-around, 800-weight numbers */
.v-stats { background: var(--v-teal); padding: clamp(36px, 5vh, 72px) 0; }
.v-stats-in { display: flex; justify-content: space-around; gap: clamp(16px, 3vw, 48px); flex-wrap: wrap; }
.v-stat { text-align: center; color: #fff; }
.v-stat-number { font-family: var(--v-body); font-weight: 700; font-size: clamp(2.5rem, 4vw, 5.2rem); display: block; line-height: 1.2; }
.v-stat-label { font-size: clamp(0.9rem, 1vw, 1.15rem); opacity: .8; margin-top: 4px; display: block; }

/* SERVICES — original was tab nav + one desc + image; rendered as all 6 blocks + image */
.v-lander-services { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(24px, 4vw, 60px); align-items: start; }
.v-service-item { margin: 0 0 clamp(18px, 2.5vh, 32px); }
.v-service-item h3 {
  font-family: var(--v-body); font-weight: 700; color: var(--v-teal);
  font-size: clamp(1.05rem, 1.15vw, 1.25rem); margin: 0 0 6px;
}
.v-service-item p { color: #1c1c1c; font-size: clamp(1.05rem, 1.2vw, 1.35rem); line-height: 1.7; margin: 0; }
.v-services-img { height: clamp(300px, 45vh, 500px); position: sticky; top: 110px; }

/* TESTIMONIALS — original .testimonial-grid: 3 cols; mobile horizontal snap */
.v-testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 60px); margin-top: clamp(16px, 2vh, 32px); }
.v-testimonial-card { position: relative; }
.v-testimonial-card p {
  font-size: clamp(1.15rem, 1.25vw, 1.4rem); color: #1c1c1c; font-weight: 500;
  line-height: 1.6; margin: 0 0 clamp(16px, 2vh, 32px);
}
.v-testimonial-author { font-size: clamp(0.95rem, 1.05vw, 1.15rem); font-weight: 700; color: #555; }

/* ABOUT — original #about .inner: grid 1fr 1.4fr, square image */
.v-lander-about { display: grid; grid-template-columns: 1fr 1.4fr; gap: clamp(32px, 5vw, 100px); align-items: center; }
.v-about-img { aspect-ratio: 1 / 1; }
.v-lander-about-copy p { color: #555; font-size: clamp(1.05rem, 1.2vw, 1.35rem); line-height: 1.8; margin: 0; }

/* FAQ — original #faq .inner: grid 1fr/1.6fr + JS accordion → native <details> */
.v-lander-faq { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(40px, 6vw, 120px); align-items: start; }
.v-lander-faq .v-lander-h2 { margin-bottom: 0; }
.v-faq-list { display: flex; flex-direction: column; gap: clamp(8px, 1vh, 16px); }
.v-faq-item { border-radius: 16px; transition: background .3s; }
.v-faq-item[open] { background: #f4f4f4; }
.v-faq-item summary {
  list-style: none; cursor: pointer;
  padding: clamp(16px, 2vh, 24px) clamp(20px, 2.5vw, 32px);
  font-family: var(--v-body); font-size: clamp(1.2rem, 1.3vw, 1.4rem); font-weight: 700; color: #1c1c1c;
}
.v-faq-item summary::-webkit-details-marker { display: none; }
.v-faq-item summary:focus-visible { outline: 3px solid var(--v-ring); outline-offset: 2px; border-radius: 16px; }
.v-faq-answer {
  font-size: clamp(1.05rem, 1.15vw, 1.2rem); color: #555; line-height: 1.7;
  padding: 0 clamp(20px, 2.5vw, 32px) clamp(20px, 2.5vh, 32px);
}

/* CONTACT — original #contact: centered heading + 800px transparent form */
.v-lander-contact { display: flex; flex-direction: column; align-items: center; gap: clamp(24px, 3vh, 48px); }
.v-lander-contact .v-lander-h2 { margin-bottom: 0; text-align: center; }
.v-contact-subtitle {
  margin: -24px 0 8px; font-size: clamp(1rem, 1.1vw, 1.2rem);
  color: #555; text-align: center; font-weight: 500;
}
.v-form-lander { width: 100%; max-width: 800px; background: transparent; padding: 0; }
.v-form-lander input, .v-form-lander textarea, .v-form-lander select {
  width: 100%; border: 0; border-radius: 8px; background: #fff;
  font-family: var(--v-body); font-size: clamp(1.05rem, 1.15vw, 1.2rem); color: #1c1c1c;
  padding: clamp(14px, 1.8vh, 20px) clamp(16px, 1.5vw, 24px);
  transition: box-shadow .18s; appearance: none;
}
.v-form-lander select {
  /* replaces the JS custom dropdown; teal chevron like the original .dropdown-arrow */
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23045057%22%20d%3D%22M287%2069.4a17.6%2017.6%2017.6%200%200-24.9%200l-116%20116-116-116a17.6%2017.6%2017.6%200%200-24.9%2024.9l128.5%20128.5c6.9%206.9%2018%206.9%2024.9%200l128.5-128.5c6.9-6.9%206.9-18.1%200-24.9z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat; background-position: right clamp(16px, 1.5vw, 24px) center; background-size: 12px 12px;
  cursor: pointer; color: #1c1c1c; font-weight: 500;
}
/* placeholder state — select is required, so :invalid = still on the "" option
   (original JS blocked submit with 'Lūdzu, izvēlieties pakalpojumu.') */
.v-form-lander select:invalid { color: #777; font-weight: 600; }
.v-form-lander input:focus, .v-form-lander textarea:focus, .v-form-lander select:focus { outline: none; box-shadow: 0 0 0 2px var(--v-teal); }
.v-form-lander input::placeholder, .v-form-lander textarea::placeholder { color: #777; font-weight: 600; opacity: 1; }
.v-form-lander textarea { resize: vertical; min-height: clamp(100px, 15vh, 180px); }
.v-form-lander .v-field { margin: 0 0 clamp(12px, 1.5vh, 20px); }
.v-form-lander .v-form-submit { text-align: center; margin-top: 16px; }

/* wpautop neutralizers for the new grid/flex containers */
.v-lander-hero > p, .v-stats-in > p, .v-lander-services > p,
.v-testimonial-grid > p, .v-lander-about > p, .v-lander-faq > p,
.v-faq-list > p, .v-lander-contact > p:empty { display: contents; }
.v-lander-hero > br, .v-stats-in > br, .v-lander-services > br,
.v-testimonial-grid > br, .v-lander-about > br, .v-lander-faq > br,
.v-faq-list > br { display: none; }

/* RESPONSIVE — mirrors the original 768px breakpoint */
@media (max-width: 768px) {
  .v-lander-hero, .v-lander-services, .v-lander-about, .v-lander-faq { grid-template-columns: 1fr; }
  .v-lander-hero-copy h1 { font-size: 1.8rem; }
  .v-lander-hero .v-lander-img { display: none; }
  .v-services-img { position: static; }
  .v-testimonial-grid {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    gap: 24px; padding-bottom: 24px; -webkit-overflow-scrolling: touch;
  }
  .v-testimonial-card { flex: 0 0 85%; scroll-snap-align: center; }
}
