/* Matex Document Manager - public styles. Mobile first. */
.mdm-page, .mdm-doc, .mdm-list { --mdm-accent: #0b5fff; --mdm-ink: #14181f; --mdm-muted: #5b6573; --mdm-line: #dfe3ea; --mdm-bg: #fff; --mdm-soft: #f5f7fa; }
.mdm-page { padding: 32px 16px 56px; }
.mdm-container { max-width: 980px; margin: 0 auto; }
.mdm-brand-inline img { max-height: 48px; width: auto; }
.mdm-doc { color: var(--mdm-ink); font-size: 16px; line-height: 1.6; }
.mdm-doc *, .mdm-list * { box-sizing: border-box; }

.mdm-hero { display: grid; gap: 20px; grid-template-columns: 1fr; margin-bottom: 24px; }
.mdm-thumb { background: var(--mdm-soft); border: 1px solid var(--mdm-line); border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 160px; }
.mdm-thumb-img { display: block; width: 100%; height: auto; }
.mdm-ext { font-weight: 700; letter-spacing: .08em; font-size: 28px; color: var(--mdm-accent); padding: 12px 20px; border: 2px solid var(--mdm-accent); border-radius: 10px; }
.mdm-cat { margin: 0 0 6px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--mdm-accent); }
.mdm-title { margin: 0 0 12px; font-size: clamp(1.6rem, 4vw, 2.2rem); line-height: 1.2; }
.mdm-desc > :first-child { margin-top: 0; }
.mdm-desc { color: var(--mdm-muted); }

.mdm-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 8px 0 20px; }
.mdm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; border-radius: 10px; border: 2px solid var(--mdm-accent); font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; transition: filter .15s, background .15s; }
.mdm-btn-primary { background: var(--mdm-accent); color: #fff; }
.mdm-btn-secondary { background: transparent; color: var(--mdm-accent); }
.mdm-btn:hover { filter: brightness(.93); }
.mdm-btn:focus-visible, .mdm-field input:focus-visible, .mdm-close:focus-visible { outline: 3px solid color-mix(in srgb, var(--mdm-accent) 45%, transparent); outline-offset: 2px; }
.mdm-btn[disabled] { opacity: .7; cursor: progress; }

.mdm-alert { border-radius: 10px; padding: 14px 18px; margin: 0 0 20px; border: 1px solid; }
.mdm-alert-expired { background: #fff4f2; border-color: #f0b8ae; color: #7a1d10; }
.mdm-alert-info { background: #eef5ff; border-color: #b9d2fb; color: #12376e; }
.mdm-note, .mdm-admin-note { color: var(--mdm-muted); font-size: 14px; margin: 0; }


/* Modal */
html.mdm-modal-open { overflow: hidden; }
.mdm-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-end; justify-content: center; }
.mdm-modal[hidden] { display: none; }
.mdm-modal-backdrop { position: absolute; inset: 0; background: rgba(10, 14, 22, .6); }
.mdm-dialog { position: relative; background: #fff; color: var(--mdm-ink); width: 100%; max-width: 520px; max-height: 92vh; overflow: auto; padding: 28px 22px 24px; border-radius: 16px 16px 0 0; }
.mdm-dialog h2 { margin: 0 0 6px; font-size: 1.4rem; }
.mdm-modal-sub { margin: 0 0 18px; color: var(--mdm-muted); font-size: 15px; }
.mdm-close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: var(--mdm-muted); }
.mdm-field { margin-bottom: 14px; }
.mdm-field label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 15px; }
.mdm-field input[type=text], .mdm-field input[type=email], .mdm-field input[type=tel] { width: 100%; min-height: 46px; padding: 8px 12px; font: inherit; border: 1px solid #aab2bf; border-radius: 8px; background: #fff; color: var(--mdm-ink); }
.mdm-field.has-error input { border-color: #c0341d; }
.mdm-req { color: #c0341d; }
.mdm-consent label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.mdm-consent input { margin-top: 5px; width: 18px; height: 18px; flex: none; }
.mdm-error { display: block; min-height: 0; color: #b02a16; font-size: 13px; margin-top: 3px; }
.mdm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mdm-status { min-height: 1px; margin: 4px 0 10px; font-size: 15px; }
.mdm-status.is-error { color: #b02a16; }
.mdm-status.is-success { color: #1a6b36; font-weight: 600; }
.mdm-submit { width: 100%; }
.mdm-spinner { display: none; width: 18px; height: 18px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: mdm-spin .7s linear infinite; }
.mdm-submit.is-loading .mdm-spinner { display: inline-block; }
.mdm-success-link { margin: 12px 0 0; text-align: center; }
@keyframes mdm-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .mdm-spinner { animation-duration: 2s; } }

/* Standalone layout */
.mdm-site-header { padding: 14px 16px; border-bottom: 1px solid #dfe3ea; background: #fff; }
.mdm-brand { display: inline-flex; align-items: center; text-decoration: none; color: #14181f; font-weight: 700; font-size: 20px; }
.mdm-brand img { max-height: 44px; width: auto; display: block; }
.mdm-site-footer { text-align: center; padding: 24px 16px; color: #5b6573; font-size: 14px; }
.mdm-landing.mdm-standalone-body { margin: 0; }

/* Listing */
.mdm-list-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.mdm-list-filter input[type=search], .mdm-list-filter select { flex: 1 1 180px; min-height: 44px; padding: 6px 12px; border: 1px solid #aab2bf; border-radius: 8px; font: inherit; }
.mdm-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: 1fr; }
.mdm-card { border: 1px solid var(--mdm-line); border-radius: 12px; overflow: hidden; background: #fff; transition: box-shadow .15s; }
.mdm-card:hover { box-shadow: 0 6px 20px rgba(20, 24, 31, .1); }
.mdm-card-link { display: block; color: inherit; text-decoration: none; height: 100%; }
.mdm-card-thumb { display: flex; align-items: center; justify-content: center; aspect-ratio: 16/10; background: var(--mdm-soft); overflow: hidden; }
.mdm-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.mdm-card-body { display: block; padding: 14px 16px 18px; }
.mdm-card-title { display: block; font-weight: 700; font-size: 1.05rem; margin-bottom: 4px; }
.mdm-card-excerpt { display: block; color: var(--mdm-muted); font-size: 14px; }
.mdm-pager { margin-top: 22px; display: flex; gap: 6px; flex-wrap: wrap; }
.mdm-pager .page-numbers { padding: 6px 12px; border: 1px solid var(--mdm-line); border-radius: 6px; text-decoration: none; }
.mdm-pager .current { background: var(--mdm-accent); color: #fff; border-color: var(--mdm-accent); }

@media (min-width: 640px) {
	.mdm-grid.mdm-cols-2, .mdm-grid.mdm-cols-3, .mdm-grid.mdm-cols-4 { grid-template-columns: repeat(2, 1fr); }
	.mdm-modal { align-items: center; }
	.mdm-dialog { border-radius: 16px; }
}
@media (min-width: 860px) {
	.mdm-hero { grid-template-columns: 340px 1fr; align-items: start; }
	.mdm-grid.mdm-cols-3 { grid-template-columns: repeat(3, 1fr); }
	.mdm-grid.mdm-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Contact Form 7 inside the modal */
.mdm-cf7 .wpcf7-form p { margin: 0 0 14px; }
.mdm-cf7 .wpcf7-form label { display: block; font-weight: 600; font-size: 15px; }
.mdm-cf7 .wpcf7-form input[type=text], .mdm-cf7 .wpcf7-form input[type=email], .mdm-cf7 .wpcf7-form input[type=tel], .mdm-cf7 .wpcf7-form input[type=url], .mdm-cf7 .wpcf7-form select, .mdm-cf7 .wpcf7-form textarea { width: 100%; min-height: 46px; padding: 8px 12px; font: inherit; border: 1px solid #aab2bf; border-radius: 8px; background: #fff; color: var(--mdm-ink); box-sizing: border-box; }
.mdm-cf7 .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.mdm-cf7 .wpcf7-submit { min-height: 46px; padding: 0 22px; border-radius: 10px; border: 2px solid var(--mdm-accent); background: var(--mdm-accent); color: #fff; font: inherit; font-weight: 600; cursor: pointer; width: 100%; }
.mdm-cf7 .wpcf7-not-valid-tip { font-size: 13px; color: #b02a16; }
.mdm-cf7 .wpcf7-response-output { margin: 12px 0 0 !important; border-radius: 8px; }

/* ---- Split landing page ---- */
.mdm-container-wide { max-width: 1160px; }
.mdm-split { --mdm-ink: #14181f; --mdm-muted: #4a5565; display: grid; gap: 20px; grid-template-columns: 1fr; color: var(--mdm-ink); font-size: 16px; line-height: 1.55; }
.mdm-split *, .mdm-split *::before, .mdm-split *::after { box-sizing: border-box; }
.mdm-split-media { position: relative; display: flex; flex-direction: column; background: #eaf1fb; border-radius: 14px; overflow: hidden; min-height: 460px; }
.mdm-split-top { padding: 22px 24px 14px; position: relative; z-index: 1; }
.mdm-split-brand { margin-bottom: 18px; font-weight: 700; font-size: 20px; }
.mdm-split-brand img { display: block; max-height: 34px; width: auto; }
.mdm-split-title { margin: 0; font-size: clamp(1.35rem, 3.2vw, 1.7rem); line-height: 1.28; font-weight: 700; color: var(--mdm-ink); }
.mdm-hl { color: var(--mdm-accent); }
.mdm-split-image { flex: 1; position: relative; min-height: 260px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.mdm-split-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }

.mdm-split-panel { background: #f6f8fb; border-radius: 14px; padding: 28px 24px 30px; }
.mdm-split-heading { margin: 0 0 10px; font-size: clamp(1.35rem, 3vw, 1.6rem); font-weight: 600; line-height: 1.25; }
.mdm-split-panel .mdm-desc { color: var(--mdm-muted); font-size: 17px; margin-bottom: 26px; }
.mdm-split-panel .mdm-desc > :last-child { margin-bottom: 0; }
.mdm-split-form .mdm-field label, .mdm-split-form .wpcf7-form label { display: block; font-weight: 600; font-size: 14px; margin: 0 0 8px; }
.mdm-split-form .mdm-field { margin-bottom: 18px; }
.mdm-split-form input[type=text], .mdm-split-form input[type=email], .mdm-split-form input[type=tel], .mdm-split-form input[type=url], .mdm-split-form select, .mdm-split-form textarea { width: 100%; min-height: 46px; padding: 10px 14px; font: inherit; font-size: 15px; border: 1px solid transparent; border-radius: 8px; background: #eaf1fb; color: var(--mdm-ink); box-sizing: border-box; }
.mdm-split-form input::placeholder { color: #8a94a6; }
.mdm-split-form input:focus { outline: 2px solid var(--mdm-accent); background: #fff; }
.mdm-split-form .wpcf7-form p { margin: 0 0 18px; }
.mdm-split-form .wpcf7-submit, .mdm-split-form .mdm-submit, .mdm-split-panel > .mdm-btn { width: 100%; min-height: 48px; border-radius: 8px; border: 0; background: var(--mdm-accent); color: #fff; font: inherit; font-weight: 600; font-size: 16px; cursor: pointer; }
.mdm-split-form .wpcf7-submit:hover, .mdm-split-form .mdm-submit:hover { filter: brightness(.92); }
.mdm-split-form .wpcf7-spinner { display: block; margin: 8px auto 0; }
.mdm-split-form .wpcf7-response-output { margin: 12px 0 0 !important; border-radius: 8px; }
.mdm-split-form .wpcf7-not-valid-tip { font-size: 13px; color: #b02a16; }
.mdm-split-form .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.mdm-split-panel .mdm-actions-split { margin: 14px 0 0; }
.mdm-split-panel .mdm-actions-split:empty { display: none; }
.mdm-split-panel .mdm-success-link { margin: 14px 0 0; }

@media (min-width: 900px) {
	/* Both cards share one row and stretch to the same height. */
	.mdm-split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; gap: 24px; }
	.mdm-split-media, .mdm-split-panel { height: 100%; min-height: 560px; }
	.mdm-split-panel { padding: 36px 32px 40px; }
}

/* Desktop: render the split page at 80% scale (same look as 80% browser zoom). */
@media (min-width: 900px) {
	.mdm-container-wide { max-width: 930px; }
	.mdm-split { zoom: 0.8; }
}

/* Left card = the full image only (no logo/title block). */
.mdm-split-media { background: #eaf1fb; }
.mdm-split-image { background: #eaf1fb; }
.mdm-split-img { object-fit: contain; object-position: center; }

/* No background behind the left-card image. */
.mdm-split-media, .mdm-split-image, .mdm-split-img { background: transparent; }

/* Thank-you state: replaces the form inside the right card. */
.mdm-split-form[hidden] { display: none; }
.mdm-thanks { margin-top: 28px; }
.mdm-thanks[hidden] { display: none; }
.mdm-thanks-text { margin: 0; font-size: 18px; line-height: 1.55; color: #6b7280; }
.mdm-thanks-link { margin: 14px 0 0; font-size: 14px; }
.mdm-thanks-link a { color: var(--mdm-accent); }
