/*
Theme Name: Flux Vent
Theme URI: https://fluxvent.ee
Author: Flux Vent OÜ
Author URI: https://fluxvent.ee
Description: Flux Vent OÜ kodulehe plokiteema – ventilatsiooni puhastus Harjumaal ja üle Eesti. Kõik tekstid ja pildid on muudetavad WordPressi plokiredaktoris; SEO (meta, Open Graph, Schema.org), kontaktivorm ja brändi värvid on teemas sees.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fluxvent
*/

/* ---------- Üldine ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[id] { scroll-margin-top: 16px; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--sinine);
	outline-offset: 3px;
}
img { height: auto; max-width: 100%; }

/* Täislaiuses sektsioonid käivad üksteise vastu, ilma vahedeta */
.wp-site-blocks > main,
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* ---------- Dekoratiivsed ribad (grupi stiilid) ---------- */
.is-style-flux-laine,
.is-style-flux-triibud,
.is-style-flux-triibud-nurk,
.is-style-flux-triibud-tume { position: relative; overflow: hidden; }
.is-style-flux-laine > *,
.is-style-flux-triibud > *,
.is-style-flux-triibud-nurk > *,
.is-style-flux-triibud-tume > * { position: relative; z-index: 1; }

.is-style-flux-laine::after,
.is-style-flux-triibud::after,
.is-style-flux-triibud-nurk::after,
.is-style-flux-triibud-tume::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
	background-repeat: no-repeat;
}
.is-style-flux-laine::after {
	left: 0; right: 0; bottom: -1px;
	height: clamp(64px, 10.5vw, 150px);
	background-image: url(assets/img/laine.svg);
	background-size: 100% 100%;
}
.is-style-flux-triibud::after {
	left: 0; right: 0; bottom: 0;
	height: clamp(56px, 10vw, 150px);
	background-image: url(assets/img/triibud.svg);
	background-size: 100% 100%;
}
.is-style-flux-triibud-nurk::after {
	right: 0; top: 40px;
	width: 380px; height: 170px;
	background-image: url(assets/img/triibud-nurk.svg);
	background-size: contain;
	background-position: right top;
}
.is-style-flux-triibud-tume::after {
	left: 0; right: 0; bottom: 0;
	height: clamp(60px, 12vw, 200px);
	background-image: url(assets/img/triibud-tume.svg);
	background-size: 100% 100%;
}
@media (max-width: 781px) {
	.is-style-flux-triibud-nurk::after { display: none; }
}

/* ---------- Tekstistiilid ---------- */
.is-style-flux-silt {
	font-size: 14px !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.5;
}
.is-style-flux-silt:not(.has-text-color) { color: var(--wp--preset--color--tekstisinine); }

.is-style-flux-kiip {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid rgba(161, 215, 253, 0.35);
	border-radius: 999px;
	font-size: 14px !important;
	line-height: 1.6;
}
.is-style-flux-kiip:not(.has-text-color) { color: var(--wp--preset--color--hele-tekst); }

.is-style-flux-samm {
	padding: 0 !important;
	width: 64px; height: 64px;
	flex: 0 0 64px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 20px !important;
	font-weight: 600;
	margin: 0 !important;
}
.is-style-flux-samm:not(.has-background) { background: var(--wp--preset--color--meresinine); }
.is-style-flux-samm:not(.has-text-color) { color: var(--wp--preset--color--ohusinine); }

.is-style-flux-marge {
	display: inline-block;
	padding: 4px 10px !important;
	border-radius: 999px;
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.5;
}
.is-style-flux-marge:not(.has-background) { background: var(--wp--preset--color--meresinine); }
.is-style-flux-marge:not(.has-text-color) { color: var(--wp--preset--color--valge); }

/* Kontaktiread ikooniga
   (ikoon on absoluutselt paigutatud, et iPhone'i Safari ei murraks teksti kitsaks) */
.is-style-flux-tel,
.is-style-flux-post,
.is-style-flux-asukoht {
	position: relative;
	display: block;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 11px 0 11px 64px;
	font-size: 18px;
	line-height: 1.45;
	overflow-wrap: normal;
	word-break: normal;
}
.is-style-flux-tel::before,
.is-style-flux-post::before,
.is-style-flux-asukoht::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	background: no-repeat center / 48px 48px;
}
.is-style-flux-tel::before { background-image: url(assets/img/kontakt-tel.svg); }
.is-style-flux-post::before { background-image: url(assets/img/kontakt-post.svg); }
.is-style-flux-asukoht::before { background-image: url(assets/img/kontakt-asukoht.svg); }
.is-style-flux-tel a,
.is-style-flux-post a { color: inherit; text-decoration: none; white-space: nowrap; }
.is-style-flux-tel a:hover,
.is-style-flux-post a:hover { text-decoration: underline; }
/* Kontaktiplokk venib veeru laiuseks */
.wp-block-group.is-vertical:has(> .is-style-flux-tel) { align-items: stretch; }

/* Linnukestega loend */
ul.is-style-flux-linnukesed { list-style: none; padding-left: 0; margin-left: 0; margin-right: 0; }
ul.is-style-flux-linnukesed li {
	position: relative;
	padding-left: 48px;
	min-height: 32px;
	font-size: 18px;
	line-height: 1.55;
	padding-top: 2px;
}
ul.is-style-flux-linnukesed li + li { margin-top: 20px; }
ul.is-style-flux-linnukesed li::before {
	content: "";
	position: absolute; left: 0; top: 0;
	width: 32px; height: 32px;
	background: url(assets/img/linnuke.svg) no-repeat center / 32px 32px;
}
ul.is-style-flux-linnukesed strong { font-weight: 600; }

/* Sammude vaheline joon */
.wp-block-separator.is-style-flux-joon {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 16px;
	border: 0 !important;
	height: 3px !important;
	border-radius: 3px;
	margin: 0 !important;
	background-color: var(--wp--preset--color--sinine) !important;
	opacity: 0.45;
}

/* ---------- Nupud tumedal taustal ---------- */
.has-meresinine-background-color .wp-block-button.is-style-outline > .wp-block-button__link:not(:hover) {
	border-color: rgba(255, 255, 255, 0.4);
	background: transparent;
}
.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 2px; }

/* ---------- KKK (Detailid) ---------- */
.wp-block-details summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	flex: 0 0 22px;
	height: 22px;
	background: no-repeat center / 22px 22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F6BAA' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.wp-block-details[open] summary::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F6BAA' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}
.wp-block-details > :not(summary) { margin-top: 12px; color: var(--wp--preset--color--hall); max-width: 640px; }
.flux-kkk > .wp-block-details:last-child { border-bottom: 1px solid var(--wp--preset--color--piir); }
.flux-kkk > .wp-block-details { margin-block-start: 0; }

/* ---------- Avavaade ---------- */
@media (max-width: 781px) {
	.flux-hero-kunst { order: -1; }
	.flux-hero-kunst img { max-width: 280px !important; margin-inline: auto; display: block; }
}

/* ---------- Päis ---------- */
@media (max-width: 781px) {
	.flux-peida-mobiilis { display: none !important; }
}
.wp-block-navigation a:where(:not(.wp-element-button)) { text-decoration: none; }
.wp-block-navigation a:where(:not(.wp-element-button)):hover { text-decoration: underline; text-underline-offset: 6px; }

/* ---------- Kontaktivorm ---------- */
.flux-vorm { display: grid; gap: 18px; }
.flux-vorm__rida { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 600px) { .flux-vorm__rida { grid-template-columns: 1fr; } }
.flux-vorm label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 500; color: var(--wp--preset--color--meresinine); }
.flux-vorm label .flux-vorm__kohustuslik { color: var(--wp--preset--color--tekstisinine); }
.flux-vorm input,
.flux-vorm select,
.flux-vorm textarea {
	font: inherit;
	font-size: 16px;
	color: var(--wp--preset--color--meresinine);
	background: #fff;
	border: 1.5px solid #C9D8E6;
	border-radius: 12px;
	padding: 0 16px;
	height: 52px;
	width: 100%;
	box-sizing: border-box;
}
.flux-vorm textarea { height: 120px; padding: 14px 16px; resize: vertical; }
.flux-vorm input:focus,
.flux-vorm select:focus,
.flux-vorm textarea:focus { border-color: var(--wp--preset--color--sinine); outline: 2px solid rgba(49, 140, 210, 0.25); outline-offset: 0; }
.flux-vorm__nupp {
	font: inherit;
	height: 58px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--meresinine);
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	cursor: pointer;
}
.flux-vorm__nupp:hover { background: var(--wp--preset--color--tekstisinine); }
.flux-vorm__nousolek { font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--hall); margin: 0; }
.flux-vorm__mesipott { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.flux-vorm__teade { border-radius: 12px; padding: 14px 16px; font-size: 15px; line-height: 1.5; margin: 0; }
.flux-vorm__teade--ok { background: #E3F4EA; color: #14532D; }
.flux-vorm__teade--viga { background: #FDECEC; color: #7F1D1D; }

/* ---------- Jalus mobiilis ---------- */
@media (max-width: 600px) {
	footer .has-text-align-right { text-align: left; }
	footer .is-content-justification-right { align-items: flex-start !important; }
}

/* ---------- Tavalised tekstilehed (privaatsuspoliitika jms) ---------- */
.flux-sisuleht .wp-block-post-content h2 { font-size: clamp(24px, 3vw, 30px); margin-top: 1.6em; }
.flux-sisuleht .wp-block-post-content h3 { font-size: 20px; margin-top: 1.4em; }

/* ---------- Mobiilimenüü ---------- */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	padding-top: 24px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	gap: 20px;
	font-size: 22px;
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 24px clamp(20px, 6vw, 40px); }
@media (min-width: 782px) {
	.flux-menyy-kontakt { display: none !important; }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left;
}
