/*!
 * site-fixes.css
 * Corrections layered on top of Porto 13.0.0 + the site's own stylesheets.
 * Loaded LAST so it wins the cascade. Every rule below documents the defect
 * it repairs so it can be folded back into the source project and deleted.
 */

/* ------------------------------------------------------------------ *
 * 1. bg-color-dark-scale-2 does not exist in Porto 13.
 *    It is used 264 times. Bootstrap's .card white background therefore
 *    won, and the cards' white text rendered white-on-white — the
 *    "empty cards" on the homepage guide grid and the article-page
 *    related-topics grid. Define the class Porto never shipped.
 * ------------------------------------------------------------------ */
.bg-color-dark-scale-2 {
  background-color: #101d2e !important;
}

.card.bg-color-dark-scale-2 {
  --bs-card-bg: #101d2e;
  background-color: #101d2e !important;
  color: #fff;
}

/* Lift the card off the section behind it and give the whole tile
   an affordance, since it is wrapped in a link. */
.card.bg-color-dark-scale-2 {
  border: 1px solid rgba(173, 146, 99, 0.16) !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

a:hover > .card.bg-color-dark-scale-2,
.card.bg-color-dark-scale-2:hover {
  background-color: #15263c !important;
  border-color: rgba(173, 146, 99, 0.45) !important;
  transform: translateY(-3px);
}

/* The copyright strip uses the same undefined class. Keep it darker
   than the footer body rather than inheriting Porto's default. */
.footer-copyright.bg-color-dark-scale-2 {
  background-color: #030912 !important;
}

/* ------------------------------------------------------------------ *
 * 1b. Desktop header nav overflow.
 *     The brand block reserves min-width:310px, which leaves the nav
 *     <ul> only 750px. With seven top-level items the last one
 *     ("კონტაქტი") wrapped onto a second row that falls outside the
 *     header box and ghosted over the hero. Let the row stay on one
 *     line and give it the space the brand was hoarding.
 * ------------------------------------------------------------------ */
@media (min-width: 992px) {
  .porto-ge-header .porto-brand {
    min-width: 0;
    flex: 0 0 auto;
  }

  .porto-ge-header .header-nav-main nav > ul {
    flex-wrap: nowrap;
  }

  .porto-ge-header .header-nav-main nav > ul > li > a {
    white-space: nowrap;
    padding-left: 0.6rem !important;
    padding-right: 0.6rem !important;
  }
}

@media (min-width: 992px) and (max-width: 1299px) {
  .porto-ge-header .header-nav-main nav > ul > li > a {
    font-size: 11px !important;
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
  }
}

/* ------------------------------------------------------------------ *
 * 1c. Gutter overflow on small screens.
 *     A .row.g-5 sets --bs-gutter-x:3rem, giving the row -24px side
 *     margins, but its .container parent keeps only 12px of padding.
 *     The row therefore ran 24px wider than the viewport and the page
 *     scrolled sideways (seen on /advokatebi/ at 390px). Cap the gutter
 *     below the container's own padding on phones.
 * ------------------------------------------------------------------ */
@media (max-width: 767.98px) {
  .porto-law-firm-ge .row.g-5,
  .porto-law-firm-ge .row.g-4 {
    --bs-gutter-x: 1.5rem;
  }
}

/* ------------------------------------------------------------------ *
 * 2. Inner-page hero: the eyebrow <span> is display:inline and Porto's
 *    .page-header-modern h1 is display:inline-block, so the two ran
 *    together on a single line and collided.
 * ------------------------------------------------------------------ */
.page-header .alternative-font-4,
.porto-inner-hero .alternative-font-4 {
  display: block;
}

.page-header h1 {
  display: block;
}

/* ------------------------------------------------------------------ *
 * 3. Georgian typography. Porto's tight Latin heading leading
 *    (line-height-1 == 1.0) clips Mkhedruli ascenders and descenders
 *    (ღ, ჟ, ყ, ც, ძ). Loosen headings site-wide without touching
 *    Porto's spacing rhythm.
 * ------------------------------------------------------------------ */
.porto-law-firm-ge h1,
.porto-law-firm-ge h2,
.porto-law-firm-ge h3,
.porto-law-firm-ge h4 {
  line-height: 1.28;
}

.porto-law-firm-ge h1.line-height-1,
.porto-law-firm-ge h2.line-height-1,
.porto-law-firm-ge h3.line-height-1,
.porto-law-firm-ge .line-height-1 h1 {
  line-height: 1.22 !important;
}

/* Breadcrumb was rendering at 10px — below comfortable reading size
   for Georgian, which has no capitals to aid legibility at small sizes. */
.porto-law-firm-ge .page-header .breadcrumb,
.porto-law-firm-ge .page-header .breadcrumb li,
.porto-law-firm-ge .page-header .breadcrumb a {
  font-size: 12px;
  letter-spacing: 0.02em;
}

/* ------------------------------------------------------------------ *
 * 4. Hero readability. The homepage hero sat under a 90% dark overlay,
 *    which hid the Tbilisi photograph almost entirely and made the
 *    section read as a black void while the animated text was still
 *    at opacity 0. Ease the overlay so the image is actually visible.
 * ------------------------------------------------------------------ */
.porto-hero .overlay.overlay-show.overlay-op-9:before {
  opacity: 0.72;
}

/* ------------------------------------------------------------------ *
 * 5. Failsafe for Porto's appear-animation. These elements start at
 *    opacity:0 and are revealed by theme.js. If the script stack fails
 *    for any reason (blocked CDN, JS error, no-JS client), the hero
 *    headline must still be readable rather than invisible.
 * ------------------------------------------------------------------ */
.appear-animation {
  animation-fill-mode: both;
}

html.no-js .appear-animation,
.porto-js-failed .appear-animation {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (prefers-reduced-motion: reduce) {
  .appear-animation {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

/* ------------------------------------------------------------------ *
 * 6. The homepage intro image was Porto's blank 494x336 demo
 *    placeholder, stretched to 510x480. Constrain it to a sane ratio
 *    so the replacement image is not distorted.
 * ------------------------------------------------------------------ */
.porto-intro img,
.porto-master-content .topic-figure img {
  object-fit: cover;
}

/* ------------------------------------------------------------------ *
 * 7. Official Siskhlissamartali.ge logo.
 *    Use the supplied artwork as one intact brand mark. Keeping the
 *    legacy text/SVG nodes in the DOM preserves the existing anchor and
 *    hydration structure; CSS hides them visually and paints the logo.
 * ------------------------------------------------------------------ */
.porto-ge-header .porto-brand,
.porto-footer .porto-brand {
  display: block !important;
  flex: 0 0 auto;
  width: 270px;
  height: 70px;
  min-width: 270px;
  background-image: url('/images/logo-siskhlissamartali.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
}

.porto-ge-header .porto-brand > *,
.porto-footer .porto-brand > * {
  display: none !important;
}

.porto-footer .porto-brand {
  width: 300px;
  height: 84px;
  min-width: 300px;
  background-image: url('/images/logo-siskhlissamartali-light.png');
}

@media (min-width: 1200px) {
  .porto-ge-header .porto-brand {
    width: 285px;
    min-width: 285px;
  }
}

@media (max-width: 1199.98px) {
  .porto-ge-header .porto-brand {
    width: 225px;
    height: 62px;
    min-width: 225px;
  }
}

@media (max-width: 991.98px) {
  .porto-ge-header .porto-brand {
    width: 220px;
    height: 58px;
    min-width: 220px;
  }
}

@media (max-width: 575.98px) {
  .porto-ge-header .porto-brand {
    width: 190px;
    height: 54px;
    min-width: 190px;
  }
  .porto-footer .porto-brand {
    width: 255px;
    height: 72px;
    min-width: 255px;
  }
}


/* 8. Brand/logo + editorial content refinements — 2026-09-01 */
.porto-ge-header .header-container { min-height: 84px; }
.porto-ge-header .header-logo { display:flex; align-items:center; }
.porto-ge-header .porto-brand { background-size: contain !important; background-position:left center !important; }
.porto-ge-header .header-row { align-items:center; }

.porto-seo-depth { background:#fff; }
.porto-seo-depth .seo-kicker { color:#ad9263; text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; font-weight:700; }
.porto-seo-depth h2, .porto-seo-depth h3 { color:#0b1a2d; }
.porto-seo-depth p, .porto-seo-depth li { color:#3d4652; line-height:1.85; }
.porto-seo-depth .seo-panel { background:#f7f6f3; border-left:3px solid #ad9263; padding:1.5rem 1.75rem; height:100%; }
.porto-seo-depth .seo-checklist { margin:0; padding-left:1.2rem; }
.porto-seo-depth .seo-checklist li { margin-bottom:.55rem; }
.porto-seo-depth a { color:#8e713f; font-weight:600; }
.porto-seo-depth .legal-note { font-size:.9rem; color:#68717c; border-top:1px solid #e7e3dc; padding-top:1rem; margin-top:1.5rem; }
.porto-home .porto-seo-depth { border-top:1px solid #eee9df; border-bottom:1px solid #eee9df; }

@media (max-width: 1199.98px) {
  .porto-ge-header .header-container { min-height: 74px; }
}
@media (max-width: 991.98px) {
  .porto-ge-header .header-container { min-height: 68px; }
  .porto-ge-header .porto-brand { background-size: contain !important; }
}
@media (max-width: 575.98px) {
  .porto-ge-header .porto-brand { width: 178px !important; min-width:178px !important; height:50px !important; }
}

/* ------------------------------------------------------------------ *
 * 9. v10 — keep the entire desktop primary navigation on one line.
 *    Georgian labels such as "ჩვენ შესახებ" must never wrap inside
 *    a top-level menu item. The row and each item are explicitly made
 *    non-shrinking, while spacing/logo width are tightened only in the
 *    narrower desktop range so the visual scale remains unchanged on
 *    large screens. Mobile navigation is intentionally untouched.
 * ------------------------------------------------------------------ */
@media (min-width: 992px) {
  .porto-ge-header .header-container > .header-row {
    flex-wrap: nowrap !important;
  }

  .porto-ge-header .header-container > .header-row > .header-column:first-child {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .porto-ge-header .header-container > .header-row > .header-column.justify-content-end {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .porto-ge-header .header-nav,
  .porto-ge-header .header-nav-main {
    min-width: 0 !important;
  }

  .porto-ge-header #mainNav {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .porto-ge-header #mainNav > li {
    flex: 0 0 auto !important;
    width: auto !important;
  }

  .porto-ge-header #mainNav > li > a {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    font-size: 11px !important;
    padding-left: 0.40rem !important;
    padding-right: 0.40rem !important;
  }
}

/* The screenshot width sits in this range. Recover horizontal room from
   the logo and phone gutter instead of making the Georgian menu tiny. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .porto-ge-header .porto-brand {
    width: 250px !important;
    min-width: 250px !important;
  }

  .porto-ge-header #mainNav > li > a {
    font-size: 10.5px !important;
    padding-left: 0.32rem !important;
    padding-right: 0.32rem !important;
  }

  .porto-ge-header .porto-header-phone {
    width: 38px;
    height: 38px;
    margin-left: 8px;
  }
}

@media (min-width: 1400px) {
  .porto-ge-header #mainNav > li > a {
    font-size: 11.5px !important;
    padding-left: 0.52rem !important;
    padding-right: 0.52rem !important;
  }
}


/* v11 mobile hardening carried into v12 */
@media (max-width: 991.98px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .porto-ge-header .header-container { min-height: 72px; }
  .porto-ge-header .header-logo { min-width: 0; }
  .porto-ge-header .porto-brand {
    width: min(245px, calc(100vw - 92px)) !important;
    min-width: 0 !important;
    max-width: 245px !important;
  }
  .porto-ge-header .porto-brand-copy { min-width: 0; }
  .porto-ge-header .porto-brand-copy strong,
  .porto-ge-header .porto-brand-copy small {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .porto-ge-header .header-btn-collapse-nav {
    position: relative;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0 !important;
    margin-left: 8px;
  }
  .porto-ge-header .header-btn-collapse-nav > i { display: none !important; }
  .porto-ge-header .header-btn-collapse-nav::before {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 20px; height: 2px;
    margin-left: -10px; margin-top: -1px;
    background: currentColor;
    box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
  }
  .porto-page h1, .porto-page h2, .porto-page h3,
  .subpage-hero h1, .porto-inner-hero h1 {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .page-header .breadcrumb,
  .subpage-hero .breadcrumbs,
  .subpage-hero .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .45rem;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .elfsight-app-bc3f03b3-713b-455c-b908-7f9d48e9c54f,
  .elfsight-app-bc3f03b3-713b-455c-b908-7f9d48e9c54f iframe {
    max-width: calc(100vw - 16px) !important;
  }
  body { padding-bottom: env(safe-area-inset-bottom); }
}
@supports (padding: max(0px)) {
  @media (max-width: 991.98px) {
    .porto-ge-header .header-container {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
  }
}

/* v12 long-form legal content readability */
.porto-seo-depth .v12-checklist { margin: 0; padding-left: 1.15rem; }
.porto-seo-depth .v12-checklist li { margin-bottom: .65rem; line-height: 1.65; }
.porto-seo-depth .v12-law-card { border-left: 4px solid var(--primary, #b89a63); }
.porto-seo-depth .v12-law-card a { font-weight: 600; }
.porto-seo-depth .v12-faq h3 { margin-top: 1.1rem; }


/* v18 trust, team and conversion */
.v18-profile-name-link{color:inherit;text-decoration:none}.v18-profile-name-link:hover{color:var(--primary,#b89a63)}
.v18-trust-section,.v18-team-verification,.v18-about-trust,.v18-profile-verification{position:relative}
.v18-trust-card,.v18-verify-card,.v18-contact-card,.v18-step,.v18-standard-box{background:#fff;border:1px solid rgba(21,33,51,.10);padding:28px;height:100%;box-shadow:0 10px 34px rgba(18,29,45,.055)}
.v18-trust-card h3,.v18-verify-card h3,.v18-contact-card h3,.v18-step h3,.v18-standard-box h3{font-size:1.05rem;line-height:1.4;font-weight:700;margin:0 0 12px;color:#152133}
.v18-trust-card p,.v18-verify-card p,.v18-contact-card p,.v18-step p,.v18-standard-box p{line-height:1.75;margin-bottom:0}
.v18-trust-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(184,154,99,.45);color:var(--primary,#b89a63);margin-bottom:18px}
.v18-text-link{font-weight:700;text-decoration:none}.v18-text-link:hover{text-decoration:underline}
.v18-engagement{background:#f7f7f6!important}.v18-step>span{display:block;color:var(--primary,#b89a63);font-size:.8rem;font-weight:800;letter-spacing:.08em;margin-bottom:12px}
.v18-small-note{font-size:.92rem;line-height:1.7;color:#5e6570;border-left:3px solid var(--primary,#b89a63);padding-left:16px}
.v18-clean-list{padding-left:1.15rem;margin:0}.v18-clean-list li{margin-bottom:.75rem;line-height:1.7}.v18-clean-list li:last-child{margin-bottom:0}
.v18-profile-box{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid rgba(21,33,51,.12);border-bottom:1px solid rgba(21,33,51,.12);padding:32px 0}.v18-profile-box>div:first-child{max-width:760px}
@media(max-width:991.98px){.v18-profile-box{display:block}.v18-trust-card,.v18-verify-card,.v18-contact-card,.v18-step,.v18-standard-box{padding:22px}}


/* v19 mobile submenu UX */
@media (max-width: 991.98px) {
  /* The whole parent row toggles its second level; the first submenu item remains
     the link to the landing page. This is much easier to use than Porto's tiny icon. */
  .porto-ge-header #mainNav > li.dropdown > a.dropdown-toggle {
    position: relative;
    padding-right: 48px !important;
    cursor: pointer;
  }

  /* Hide Porto's dynamically injected icon and draw one stable, larger touch cue. */
  .porto-ge-header #mainNav > li.dropdown > a.dropdown-toggle > .fa-chevron-down {
    display: none !important;
  }

  .porto-ge-header #mainNav > li.dropdown > a.dropdown-toggle::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    right: 17px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin: -6px 0 0 0 !important;
    border: 0 !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    transform: rotate(45deg);
    transform-origin: 65% 65%;
    transition: transform .18s ease;
    opacity: .72;
  }

  .porto-ge-header #mainNav > li.dropdown.open > a.dropdown-toggle::after {
    transform: rotate(225deg);
  }

  .porto-ge-header #mainNav > li.dropdown.open > .dropdown-menu {
    display: block !important;
    margin-left: 14px !important;
    margin-bottom: 8px !important;
    border-left: 2px solid rgba(173,146,99,.28) !important;
  }

  .porto-ge-header #mainNav > li.dropdown > .dropdown-menu > li > a {
    padding: 9px 12px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .porto-ge-header .header-nav-main nav {
    max-height: min(72vh, calc(100dvh - 120px));
    overscroll-behavior: contain;
  }
}
