/* Primex Wood LLC — additions and fixes. Loaded after style-starter.css. */

/* --- logo (light and dark versions) --- */
#site-header h1 { margin: 0; line-height: 1; }
.navbar-brand img { height: 44px; width: auto; max-width: 70vw; display: block; }
.navbar-brand .logo-dark { display: none; }
[data-theme="dark"] .navbar-brand .logo-light { display: none; }
[data-theme="dark"] .navbar-brand .logo-dark { display: block; }
@media (max-width: 480px) { .navbar-brand img { height: 36px; } }

/* --- product cards (home + category pages) --- */
.gd-innf > a:first-child { display: block; }
.gd-innf img { width: 100%; height: auto; aspect-ratio: 64 / 70; object-fit: cover; border-radius: 8px; display: block; background: var(--bg-grey); box-shadow: 0 10px 28px 0 var(--box-shadow-color); }
.gd-innf h3 { font-size: 22px; line-height: 30px; font-weight: 600; margin: 20px 0 6px; }
.link-text { color: var(--heading-color); }
.link-text:hover, .link-text:focus { color: var(--primary-color); text-decoration: none; }
.blog-btn { display: inline-block; padding: 7px 24px; border: 2px solid var(--primary-color); border-radius: 30px; color: var(--primary-color); font-size: 14px; font-weight: 600; text-transform: uppercase; background: transparent; transition: background .25s, color .25s; }
.blog-btn:hover, .blog-btn:focus { background: var(--primary-color); color: #fff; text-decoration: none; }
.cat-blurb { font-size: 18px; line-height: 30px; color: var(--font-color); }

/* --- home page blocks that had no styles in the archived CSS --- */
.section-heading .title-style { margin-bottom: 0; }
.about-right-faq p { line-height: 28px; }
.left-wthree-img img { border-radius: 8px; }

/* --- inner pages: breadcrumbs spacing and sticky header offset --- */
.inner-banner { padding-top: 60px; }
.breadcrumbs-custom-path a { color: var(--heading-color); font-weight: 600; }
.breadcrumbs-custom-path a:hover { color: var(--primary-color); text-decoration: none; }

/* --- product detail page --- */
.product-photo { width: 100%; height: auto; border-radius: 8px; box-shadow: 0 15px 38px 0 var(--box-shadow-color); background: var(--bg-grey); }
.detail-lead { font-size: 17px; line-height: 30px; color: var(--font-color); margin-bottom: 28px; }
.detail-h { font-size: 20px; font-weight: 600; color: var(--heading-color); margin-bottom: 16px; }
.spec-table { width: 100%; border-collapse: collapse; margin-bottom: 10px; }
.spec-table th, .spec-table td { padding: 12px 16px; border-bottom: 1px solid var(--border-color-light); text-align: left; vertical-align: top; font-size: 15px; line-height: 24px; }
.spec-table th { width: 38%; color: var(--heading-color); font-weight: 600; background: var(--bg-grey); }
.spec-table td { color: var(--font-color); }
.spec-table tr:first-child th, .spec-table tr:first-child td { border-top: 1px solid var(--border-color-light); }
.spec-note { font-size: 13px; line-height: 22px; color: var(--font-color); opacity: .85; margin: 12px 0 0; }
.check-list { list-style: none; margin: 0; padding: 0; }
.check-list li { position: relative; padding-left: 30px; margin-bottom: 12px; line-height: 26px; color: var(--font-color); }
.check-list li:before { content: "\f00c"; font-family: FontAwesome; position: absolute; left: 0; top: 0; color: var(--primary-color); }
.btn-outline-style { padding: 12px 28px; font-weight: 600; font-size: 16px; text-transform: uppercase; color: var(--primary-color); border: 2px solid var(--primary-color); border-radius: 30px; background: transparent; transition: background .25s, color .25s; }
.btn-outline-style:hover, .btn-outline-style:focus { background: var(--primary-color); color: #fff; text-decoration: none; }
.related-products { border-top: 1px solid var(--border-color-light); padding-top: 3rem; }

/* --- contact page --- */
.contact-block input[type="tel"] { width: 100%; color: var(--heading-color); background: var(--bg-grey); font-size: 15px; padding: 14px; border: 1px solid var(--border-color-light); outline: none; margin-bottom: 16px; border-radius: 8px; }
.contact-block input[type="tel"]:focus { color: #111; background: #fff; border: 1px solid var(--primary-color); }
.contact-block input { display: block; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cont-details a { color: inherit; }
.cont-details a:hover { color: var(--primary-color); text-decoration: none; }
.form-status { padding: 14px 18px; border-radius: 8px; margin-bottom: 20px; font-size: 15px; line-height: 24px; }
.form-status.ok { background: #e7f6ea; color: #1e5b2b; border: 1px solid #b9e2c1; }
.form-status.err { background: #fdecec; color: #8a1f1f; border: 1px solid #f3c1c1; }
[data-theme="dark"] .form-status.ok { background: #14301b; color: #a9e3b6; border-color: #24502f; }
[data-theme="dark"] .form-status.err { background: #3a1818; color: #f1b2b2; border-color: #5b2a2a; }
.map-iframe iframe { width: 100%; }

/* --- keyboard focus --- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* --- hero / inner banner backgrounds (renamed files, bypass cached 404s) --- */
:root { --banner-image: url(../images/px-banner.png) no-repeat bottom; --inner-banner: url(../images/px-banner.png) no-repeat; }
[data-theme="dark"] { --banner-image: url(../images/px-banner-dark.png) no-repeat bottom; --inner-banner: url(../images/px-banner-dark.png) no-repeat; }

/* --- language switch (UA / EN) --- */
.lang-item { display: flex; align-items: center; margin-left: 10px; font-weight: 700; font-size: 14px; white-space: nowrap; }
.lang-item a, .lang-item .lang-cur { padding: 4px 3px; text-transform: uppercase; }
.lang-item a { color: var(--font-color); }
.lang-item a:hover { color: var(--primary-color); text-decoration: none; }
.lang-item .lang-cur { color: var(--primary-color); }
.lang-item .lang-sep { color: var(--border-color-light); padding: 0 1px; }
@media (max-width: 991px) { .lang-item { margin: 8px 0 0; } }

/* --- Ukrainian: Lato has no Cyrillic, so Cyrillic glyphs come from Source Sans 3 --- */
html[lang="uk"] body, html[lang="uk"] h1, html[lang="uk"] h2, html[lang="uk"] h3, html[lang="uk"] h4, html[lang="uk"] h5, html[lang="uk"] h6,
html[lang="uk"] p, html[lang="uk"] a, html[lang="uk"] li, html[lang="uk"] td, html[lang="uk"] th, html[lang="uk"] label,
html[lang="uk"] input, html[lang="uk"] textarea, html[lang="uk"] button, html[lang="uk"] span:not(.fa) {
  font-family: 'Lato', 'Source Sans 3', 'Segoe UI', Roboto, Arial, sans-serif;
}
/* menu: keep every label on one line */
@media (min-width: 992px) {
  #site-header .navbar-nav .nav-link { white-space: nowrap; padding-left: .6rem; padding-right: .6rem; font-size: 15px; }
}
@media (min-width: 992px) and (max-width: 1399px) {
  #site-header .navbar-nav .nav-link { padding-left: .4rem; padding-right: .4rem; font-size: 14px; }
  .navbar-brand img { height: 38px; }
  .lang-item { margin-left: 4px; }
}
@media (min-width: 992px) and (max-width: 1130px) {
  #site-header .navbar-nav .nav-link { padding-left: .3rem; padding-right: .3rem; font-size: 13px; }
  .navbar-brand img { height: 34px; }
}

/* Ukrainian hero headline is longer than the English one: slightly smaller */
@media (min-width: 901px) { html[lang="uk"] .w3l-banner h3 { font-size: 44px; line-height: 54px; } }

/* footer: copyright only (no social icons) */
.w3l-copyright .copy-footer-29 { margin-bottom: 0; }

/* long email addresses must wrap inside their column */
.cont-details .cont-right { min-width: 0; }
.cont-details .cont-right p { overflow-wrap: anywhere; word-break: break-word; }
.cont-details h6 { line-height: 1.35; margin-bottom: 4px; }
