/** style.css **/
/*
Theme Name: DVA COM TWO
Author: Volodymyr Diachenko
Description: Base styles, reset, fonts and typography.
Version: 26.10.12
*/

/* ======== RESET ======== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; border: 0; outline: 0; background: transparent; }
html, body { margin:0; padding:0; }
img, picture, svg, video, canvas { display: block; max-inline-size: 100%; block-size: auto; }
input, button, textarea, select { appearance: none; font: inherit; color: inherit; }
button { cursor: pointer; }
p, h1, h2, h3, h4, h5, h6, ul, ol { overflow-wrap: break-word; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
table { width: 100%; border-collapse: collapse; }


/* ======== TYPOGRAPHY & ELEMENTS ======== */
h1, h2, h3 { line-height: 1.25; font-family: "Oswald", sans-serif; font-optical-sizing: auto; font-weight: 700; font-style: normal; text-wrap: pretty; overflow-wrap: anywhere; }
p { overflow-wrap: anywhere; }
blockquote { padding-inline-start: 1rem; border-inline-start: 0.25rem solid #ccc; font-style: italic; color: #444; overflow-wrap: anywhere; }
li { line-height: 1.4; overflow-wrap: anywhere; }
a { color: #0056b3; text-decoration-line: underline; text-underline-offset: 0.15rem; text-decoration-thickness: 0.1rem; text-decoration-color: #0056b3; transition: color 0.2s ease, text-decoration-color 0.2s ease; }
a:hover { color: #00f; text-decoration-color: transparent; }
ul { list-style-type: square; margin-inline-start: 1.75rem; padding: 0; }
ol { list-style-type: decimal; margin-inline-start: 1.75rem; padding: 0; }
li + li { margin-block-start: 0.5rem; }
ul li::marker { font-weight: 700; color: #900; }
ol li::marker { font-weight: 700; color: #900; }
cite { display: block; margin-block-start: 0.5rem; font-size: 0.875rem; font-style: normal; opacity: 0.85; }
a:focus-visible { outline: 0.125rem solid #0056b3; outline-offset: 0.125rem; }
button:focus-visible { outline: 0.125rem solid #0056b3; outline-offset: 0.125rem; }
input:focus-visible { outline: 0.125rem solid #0056b3; outline-offset: 0.125rem; }
textarea:focus-visible { outline: 0.125rem solid #0056b3; outline-offset: 0.125rem; }
select:focus-visible { outline: 0.125rem solid #0056b3; outline-offset: 0.125rem; }
button { display: block; margin: .25rem auto; padding: .75rem 1.5rem; border: none; border-radius: 2rem; background: linear-gradient(135deg, #f60, #06f); box-shadow: 0 10px 25px rgba(0, 204, 255, 0.6); transition: all 0.5s ease; cursor: pointer; letter-spacing: 1px; font-family: inherit; font-size: 1rem; font-weight: 400; color: white; text-transform: uppercase; text-decoration: none; }
button:hover { background: linear-gradient(135deg, #06f, #f60); box-shadow: 0 15px 30px rgba(0, 204, 255, 0.8); transform: translateY(-5px) scale(1.03); }
button.is-submitting { opacity: 0.5; pointer-events: none; filter: grayscale(100%); transition: all 0.3s ease; }
small { font-size: 0.75rem; }
strong, b  { font-weight: 700; }
em { font-style: italic; }


/* ======== LAYOUT & SPACING ======== */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; } }
body { background: silver; font-family: 'Inter', system-ui, sans-serif; font-optical-sizing: auto; line-height: 1.5; font-size: 1rem; font-weight: 400; color: #222; }
.page { display: grid; min-block-size: 100dvh; grid-template-rows: auto 1fr auto; gap: 1.5rem; max-inline-size: 65ch; margin-inline: auto; margin-block: 0; padding-inline: clamp(0.5rem, -0.071rem + 2.86vw, 1rem); padding-block: 0; border-block: .25rem solid lime; background: #fffafa; }


/* ======== HEADER ======== */
.page-header { padding-block: 0.75rem; border-bottom: 0.1rem solid lime; }
.page-wrap { }
.page-header-headline { font-size: 1.25rem; font-weight: 900; }
.page-header-description { line-height: 1.25; font-size: .95rem; font-weight: 600; font-style: italic; }
.page-header-description span { white-space: nowrap; }


/* ======== MAIN ======== */
.page-main,article,section { display: grid; align-content: start; gap: 1.0rem; }
.page-main-time { display: block; font-size: 0.9rem; font-style: italic; }


/* ======== FOOTER ======== */
.page-footer { padding-block: 1rem; border-top: 0.1rem solid lime; font-size: 0.875rem; }
.page-footer a { color: #222; text-decoration: none; }
.page-footer a:hover { color: #06c; text-decoration: undetline; }


/* ======== SWITCHER LANG ======== */
.page { position: relative; }
.language-switcher { position: absolute; top: 0; right: 0; z-index: 10; }
.lang-link { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border: 0.15rem solid lime; border-top: 0; color: #909; font-family: inherit; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; text-decoration: none; filter: invert(0%); transition: filter 1s ease; }
.lang-link:hover { filter: invert(100%); }
