/* ═══════════════════════════════════════════════════════════
   00-RESET.CSS  —  Premium Modern CSS Reset
   Loaded FIRST in cascade. Normalizes every browser default
   so no element ever appears unstyled.
   ─────────────────────────────────────────────────────────── */

/* 1. Universal box-sizing + reset */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-tap-highlight-color: transparent;
}

/* 2. Root */
:root {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern" 1, "liga" 1;
	tab-size: 4;
	-moz-tab-size: 4;
	hyphens: auto;
	color-scheme: dark light;
}

html {
	line-height: 1.5;
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	min-height: 100dvh;
	line-height: 1.6;
	font-family: inherit;
	color: inherit;
}

/* 3. Typography baseline (all text inherits) */
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.2;
	text-wrap: balance;
	overflow-wrap: break-word;
}

p, li, dt, dd, blockquote, figcaption {
	text-wrap: pretty;
	overflow-wrap: break-word;
}

/* 4. Lists */
ol, ul, menu {
	list-style: none;
}

/* 5. Media — responsive by default */
img, picture, video, canvas, svg, iframe, embed, object {
	display: block;
	max-width: 100%;
	height: auto;
}

img, video {
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}

svg {
	fill: currentColor;
	flex-shrink: 0;
}

/* 6. Form elements — inherit everything */
input, button, textarea, select, optgroup {
	font: inherit;
	color: inherit;
	background: transparent;
	letter-spacing: inherit;
	word-spacing: inherit;
}

textarea {
	resize: vertical;
	min-height: 4em;
}

button,
[role="button"] {
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	background: none;
	border: none;
	appearance: none;
	-webkit-appearance: none;
}

button:disabled,
[role="button"][aria-disabled="true"] {
	cursor: not-allowed;
}

input,
textarea {
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
}

/* select-ს ვუტოვებთ native arrow-ს, რომ search-ფორმის dropdown-ები არ დაიფაროს */
select {
	border-radius: 0;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

/* Autofill — kill the browser yellow */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px transparent inset !important;
	-webkit-text-fill-color: inherit !important;
	transition: background-color 9999s ease-in-out 0s;
	caret-color: inherit;
}

input::placeholder,
textarea::placeholder {
	color: inherit;
	opacity: 0.55;
}

/* 7. Links */
a {
	color: inherit;
	text-decoration: none;
	background-color: transparent;
}

a:focus,
a:hover {
	outline: none;
}

/* 8. Tables */
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

th, td {
	text-align: left;
	vertical-align: top;
	padding: 0;
}

/* 9. Headings, code, semantics */
hr {
	height: 1px;
	background: currentColor;
	opacity: 0.15;
	border: 0;
}

abbr[title] {
	text-decoration: underline dotted;
	cursor: help;
}

b, strong { font-weight: 700; }
i, em, cite { font-style: italic; }
small { font-size: 0.85em; }
sub, sup { font-size: 0.75em; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }

code, kbd, samp, pre {
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	font-size: 0.92em;
}

pre {
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}

blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
}

/* 10. Details/Summary */
details {
	display: block;
}
summary {
	display: block;
	cursor: pointer;
}
summary::-webkit-details-marker {
	display: none;
}

/* 11. Hidden / dialog */
[hidden] {
	display: none !important;
}

dialog {
	background: transparent;
	border: 0;
	padding: 0;
	max-width: 100%;
	max-height: 100%;
}

dialog::backdrop {
	background: rgba(0, 0, 0, 0.5);
}

/* 12. Selection */
::selection {
	background: rgba(96, 165, 250, 0.4);
	color: #fff;
	text-shadow: none;
}

/* 13. Scrollbars (modern, themed in 01-base) */
* {
	scrollbar-width: thin;
}

/* 14. Focus — accessible, never invisible */
:focus {
	outline: none;
}
:focus-visible {
	outline: 2px solid rgba(96, 165, 250, 0.85);
	outline-offset: 2px;
	border-radius: 4px;
}

/* 15. Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* 16. Print */
@media print {
	* { background: transparent !important; color: #000 !important; box-shadow: none !important; }
	a, a:visited { text-decoration: underline; }
	img { page-break-inside: avoid; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
}

/* 17. Fieldset / legend */
fieldset {
	min-width: 0;
}
legend {
	padding: 0;
}

/* 18. Address */
address {
	font-style: normal;
}

/* 19. Iframe */
iframe {
	border: 0;
}

/* 20. Misc */
[contenteditable]:focus { outline: none; }
[draggable="true"] { -webkit-user-drag: element; }
