/*
Theme Name: Zmed Multvideo
Theme URI: https://zmed.com.br
Author: Zmed Multvideo
Description: Tema institucional da ZMED Multvídeo — manutenção de sistemas de endoscopia multimarcas, locação e intermediação de vendas de equipamentos. Segue o Manual de Identidade Visual ZMED (rev. 2026.01).
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.0
Version: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zmed
*/

/* Cores do manual: Vinho #903B3B · Vinho profundo #6F2D2D · Cinza #919190 · Grafite #2A2422 · Linho #F4F1ED */

/* ---------- Base ---------- */
:root { --zmed-campo-borda: #D2CEC9; --zmed-cabecalho-fundo: rgba(255, 255, 255, .92); --zmed-rodape-fundo: #2A2422; --zmed-cta-fundo: #903B3B; color-scheme: light; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
a { text-underline-offset: .18em; }
:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; border-radius: 4px; }
::selection { background: rgba(144, 59, 59, .15); }

/* ---------- Cabeçalho ---------- */
.zmed-header {
	position: sticky; top: 0; z-index: 50;
	background: var(--zmed-cabecalho-fundo);
	backdrop-filter: saturate(1.2) blur(10px);
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .zmed-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .zmed-header { top: 46px; } }
.zmed-brand a { text-decoration: none; }
.zmed-header .wp-block-navigation a { text-decoration: none; }
.zmed-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); }

/* Logotipo em texto: ZMED (Z vinho, MED cinza) + MULTVÍDEO LTDA */
.zmed-wordmark {
	margin: 0 !important; line-height: 1;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; letter-spacing: -.02em;
	color: var(--wp--preset--color--gray);
}
.zmed-wordmark a { color: inherit; text-decoration: none; }
.zmed-wordmark .z { color: var(--wp--preset--color--primary); }
.zmed-wordmark-sub {
	margin: .3rem 0 0 !important; line-height: 1;
	font-family: var(--wp--preset--font-family--mono); font-size: .6rem; letter-spacing: .32em; text-transform: uppercase;
	color: var(--wp--preset--color--gray);
}

/* ---------- Botões ---------- */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.is-style-outline > .wp-block-button__link {
	border: 1.5px solid var(--zmed-campo-borda); color: var(--wp--preset--color--ink); background: transparent;
}
.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); background: transparent; }
.zmed-on-dark .is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.5); }
.zmed-on-dark .is-style-outline > .wp-block-button__link:hover { border-color: #fff; color: #fff; }
.zmed-on-dark .wp-block-button:not(.is-style-outline):not(.is-style-whatsapp) > .wp-block-button__link { background: #fff; color: var(--wp--preset--color--primary); }
.zmed-on-dark .wp-block-button:not(.is-style-outline):not(.is-style-whatsapp) > .wp-block-button__link:hover { background: #F4F1ED; }

/* ---------- Rótulo (estilo do manual: traço + texto mono) ---------- */
.zmed-eyebrow {
	display: inline-flex; align-items: center; gap: .7rem;
	font-family: var(--wp--preset--font-family--mono); font-size: .75rem; font-weight: 500;
	letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--primary);
}
.zmed-eyebrow::before { content: ""; width: 1.75rem; height: 1px; background: currentColor; }
.zmed-on-dark .zmed-eyebrow { color: #fff; }

/* ---------- Hero ---------- */
.zmed-hero {
	position: relative; overflow: hidden;
	background: linear-gradient(180deg, var(--wp--preset--color--base) 0%, var(--wp--preset--color--soft) 100%);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.zmed-hero h1 { color: var(--wp--preset--color--ink); }
.zmed-hero h1 em { font-style: normal; color: var(--wp--preset--color--primary); }
.zmed-stats { border-top: 1px solid var(--wp--preset--color--line); }
.zmed-stats .zmed-stat-number { font-family: var(--wp--preset--font-family--heading); font-weight: 600; line-height: 1; color: var(--wp--preset--color--primary); }

/* ---------- Faixa de marcas ---------- */
.zmed-brands { display: flex; flex-wrap: wrap; gap: .5rem 2.25rem; justify-content: center; }
.zmed-brands p {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.15rem;
	color: var(--wp--preset--color--gray);
}

/* ---------- Cartões ---------- */
.zmed-card {
	height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.zmed-card:hover { border-color: var(--zmed-campo-borda); box-shadow: 0 18px 40px -30px rgba(42, 36, 34, .35); }
.zmed-card .wp-block-image img { border-radius: 8px; }
.zmed-icon {
	width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
	border: 1.5px solid rgba(144, 59, 59, .35); background: var(--wp--preset--color--surface);
}
.zmed-icon img { width: 24px; height: 24px; }
.zmed-badge {
	display: inline-block; padding: .15rem .55rem; border-radius: 4px;
	background: var(--wp--preset--color--primary); color: #fff;
	font-family: var(--wp--preset--font-family--mono); font-size: .68rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
}
.zmed-card .zmed-more a { font-weight: 600; text-decoration: none; }
.zmed-card .zmed-more a::after { content: " →"; }

/* Lista com marcadores em check */
.zmed-checks { list-style: none; padding-left: 0; }
.zmed-checks li { position: relative; padding-left: 1.75rem; margin-bottom: .65rem; }
.zmed-checks li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.05rem; height: 1.05rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23903B3B' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.zmed-on-dark .zmed-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }

/* Equipamentos */
.zmed-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
.zmed-chips p {
	margin: 0 !important; padding: .95rem 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-weight: 500; display: flex; align-items: center; gap: .75rem;
}
.zmed-chips p::before { content: ""; flex: none; width: .45rem; height: .45rem; border-radius: 50%; background: var(--wp--preset--color--primary); }
@media (max-width: 520px) { .zmed-chips { grid-template-columns: 1fr; } }

/* Processo */
.zmed-steps { counter-reset: zmed-step; }
.zmed-step { counter-increment: zmed-step; position: relative; border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; }
.zmed-step .zmed-step-n::before {
	content: counter(zmed-step, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--mono); font-weight: 500; font-size: .9rem; letter-spacing: .12em;
	color: var(--wp--preset--color--primary);
}

/* Linha do tempo (Sobre) */
.zmed-timeline { border-left: 1.5px solid var(--wp--preset--color--line); padding-left: 1.5rem !important; }
.zmed-timeline > .wp-block-group { position: relative; }
.zmed-timeline > .wp-block-group::before {
	content: ""; position: absolute; left: calc(-1.5rem - 6px); top: .4rem; width: 10px; height: 10px; border-radius: 50%;
	background: var(--wp--preset--color--base); border: 2px solid var(--wp--preset--color--primary);
}

/* Cabeçalho das páginas internas */
.zmed-page-hero {
	background: var(--wp--preset--color--soft);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.zmed-page-hero h1 { color: var(--wp--preset--color--ink); }

/* Chamada final (bordô) */
.zmed-cta { border-radius: 12px; background: var(--zmed-cta-fundo); }
.zmed-cta .zmed-muted { color: rgba(255, 255, 255, .82); }

/* Formulário (Contact Form 7) */
.wpcf7 form { display: grid; gap: 1rem; }
.wpcf7 label { display: block; font-weight: 500; font-size: .95rem; }
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7 select, .wpcf7 textarea {
	width: 100%; margin-top: .35rem; padding: .75rem .85rem; font: inherit;
	border: 1px solid var(--zmed-campo-borda); border-radius: 8px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink);
}
.wpcf7 textarea { min-height: 140px; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px rgba(144, 59, 59, .12); }
.wpcf7 input[type=submit] {
	justify-self: start; cursor: pointer; border: 0; border-radius: 8px; padding: .85rem 1.5rem;
	background: var(--wp--preset--color--primary); color: #fff; font: inherit; font-weight: 600;
}
.wpcf7 input[type=submit]:hover { background: var(--wp--preset--color--primary-dark); }
.zmed-form-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .zmed-form-grid { grid-template-columns: 1fr; } }

/* Rodapé (grafite) */
.zmed-footer { color: #BDB9B4; background-color: var(--zmed-rodape-fundo) !important; }
.zmed-footer h3 { color: #fff; font-family: var(--wp--preset--font-family--mono) !important; font-weight: 500 !important; }
.zmed-footer a { color: inherit; text-decoration: none; }
.zmed-footer a:hover { color: #fff; text-decoration: underline; }
.zmed-footer .zmed-footer-list p { margin: .35rem 0 !important; }
.zmed-footer .zmed-wordmark { color: #BDB9B4; }
.zmed-footer .zmed-wordmark .z { color: #fff; }
.zmed-footer .zmed-muted { color: #8F8986; }

/* Botão flutuante de WhatsApp */
.zmed-wa-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 60;
	display: inline-flex; align-items: center; gap: .55rem;
	padding: .75rem 1.05rem .75rem .85rem; border-radius: 999px;
	background: #1FAF54; color: #fff !important; text-decoration: none; font-weight: 600; font-size: .95rem;
	box-shadow: 0 10px 24px -10px rgba(31, 175, 84, .6);
	transition: transform .15s ease;
}
.zmed-wa-float:hover { transform: translateY(-2px); }
.zmed-wa-float svg { width: 22px; height: 22px; flex: none; }
@media (max-width: 600px) { .zmed-wa-float span { display: none; } .zmed-wa-float { padding: .85rem; } }

/* Utilidades */
.zmed-muted { color: var(--wp--preset--color--muted); }
.zmed-on-dark { color: #fff; }
.zmed-on-dark h1, .zmed-on-dark h2, .zmed-on-dark h3 { color: #fff; }
.zmed-on-dark .zmed-muted { color: rgba(255, 255, 255, .82); }
.zmed-rounded img { border-radius: 12px; }
@media (max-width: 781px) { .zmed-hide-mobile { display: none !important; } }

/* ---------- Ações do cabeçalho: tema e Portal do Cliente ---------- */
.zmed-acoes { display: flex; align-items: center; gap: .5rem; }
.zmed-theme-toggle {
	display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; cursor: pointer;
	border: 1.5px solid var(--zmed-campo-borda); border-radius: 8px; background: transparent; color: var(--wp--preset--color--ink);
}
.zmed-theme-toggle:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
.zmed-theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.zmed-theme-toggle .zmed-ico-sol { display: none; }
.zmed-portal-link {
	display: inline-flex; align-items: center; gap: .45rem; height: 38px; padding: 0 .9rem;
	border: 1.5px solid var(--zmed-campo-borda); border-radius: 8px;
	color: var(--wp--preset--color--ink); text-decoration: none; font-size: .92rem; font-weight: 600; white-space: nowrap;
}
.zmed-portal-link:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }
.zmed-portal-link svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
@media (max-width: 600px) {
	.zmed-portal-link { width: 38px; padding: 0; justify-content: center; }
	.zmed-portal-link span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.zmed-wordmark-sub { display: none; }
}
.wp-block-navigation__responsive-container.is-menu-open { background-color: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--ink) !important; }

/* ---------- Tema escuro ----------
   Segue a preferência do aparelho; o botão do cabeçalho permite trocar (fica salvo no navegador). */
:root[data-theme="dark"] {
	--wp--preset--color--base: #1B1716;
	--wp--preset--color--surface: #24201E;
	--wp--preset--color--soft: #211C1B;
	--wp--preset--color--line: #3A3331;
	--wp--preset--color--ink: #EFEAE6;
	--wp--preset--color--muted: #B3ABA7;
	--wp--preset--color--gray: #A9A6A3;
	--wp--preset--color--primary: #D06A6A;
	--wp--preset--color--primary-dark: #E08787;
	--wp--preset--color--accent: #D06A6A;
	--zmed-campo-borda: #4A413E;
	--zmed-cabecalho-fundo: rgba(27, 23, 22, .9);
	--zmed-rodape-fundo: #141110;
	--zmed-cta-fundo: #7A3232;
	color-scheme: dark;
}
:root[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background-color: #A84646; color: #fff; }
:root[data-theme="dark"] .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background-color: #B95454; }
:root[data-theme="dark"] .zmed-on-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff; color: #7A3232; }
:root[data-theme="dark"] .zmed-badge { background: #A84646; }
:root[data-theme="dark"] .wpcf7 input[type=submit] { background: #A84646; }
:root[data-theme="dark"] .zmed-icon img, :root[data-theme="dark"] .zmed-brand img { filter: brightness(1.55) saturate(.85); }
:root[data-theme="dark"] .zmed-hero-visual img { filter: brightness(1.08); }
:root[data-theme="dark"] .zmed-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D06A6A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
:root[data-theme="dark"] .zmed-on-dark .zmed-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
:root[data-theme="dark"] ::selection { background: rgba(208, 106, 106, .3); }
:root[data-theme="dark"] .zmed-theme-toggle .zmed-ico-sol { display: block; }
:root[data-theme="dark"] .zmed-theme-toggle .zmed-ico-lua { display: none; }
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
	--wp--preset--color--base: #1B1716;
	--wp--preset--color--surface: #24201E;
	--wp--preset--color--soft: #211C1B;
	--wp--preset--color--line: #3A3331;
	--wp--preset--color--ink: #EFEAE6;
	--wp--preset--color--muted: #B3ABA7;
	--wp--preset--color--gray: #A9A6A3;
	--wp--preset--color--primary: #D06A6A;
	--wp--preset--color--primary-dark: #E08787;
	--wp--preset--color--accent: #D06A6A;
	--zmed-campo-borda: #4A413E;
	--zmed-cabecalho-fundo: rgba(27, 23, 22, .9);
	--zmed-rodape-fundo: #141110;
	--zmed-cta-fundo: #7A3232;
	color-scheme: dark;
}
:root:not([data-theme="light"]) .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background-color: #A84646; color: #fff; }
:root:not([data-theme="light"]) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background-color: #B95454; }
:root:not([data-theme="light"]) .zmed-on-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: #fff; color: #7A3232; }
:root:not([data-theme="light"]) .zmed-badge { background: #A84646; }
:root:not([data-theme="light"]) .wpcf7 input[type=submit] { background: #A84646; }
:root:not([data-theme="light"]) .zmed-icon img, :root:not([data-theme="light"]) .zmed-brand img { filter: brightness(1.55) saturate(.85); }
:root:not([data-theme="light"]) .zmed-hero-visual img { filter: brightness(1.08); }
:root:not([data-theme="light"]) .zmed-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D06A6A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
:root:not([data-theme="light"]) .zmed-on-dark .zmed-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
:root:not([data-theme="light"]) ::selection { background: rgba(208, 106, 106, .3); }
:root:not([data-theme="light"]) .zmed-theme-toggle .zmed-ico-sol { display: block; }
:root:not([data-theme="light"]) .zmed-theme-toggle .zmed-ico-lua { display: none; }
}

/* ---------- Selos Ziontech / ZIONGROUP ---------- */
.zmed-selos { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; margin-top: var(--wp--preset--spacing--30) !important; color: var(--wp--preset--color--muted); }
.zmed-selos span { display: inline-flex; align-items: center; gap: .5rem; }
.zmed-selos span::before {
	content: ""; width: 1rem; height: 1rem; flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23903B3B' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5.5c0 4.5-3 7.6-7 9-4-1.4-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.zmed-selos strong { color: var(--wp--preset--color--ink); font-weight: 600; }
.zmed-oficial { border-left: 3px solid var(--wp--preset--color--primary) !important; }
:root[data-theme="dark"] .zmed-selos span::before { filter: brightness(1.6); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .zmed-selos span::before { filter: brightness(1.6); } }
