/* Elova eSign - every selector is prefixed with .els- to avoid theme/plugin conflicts */
.els-wrap, .els-wrap *, .els-modal, .els-modal * { box-sizing: border-box; }
.els-wrap [hidden], .els-modal[hidden], .els-modal [hidden] { display: none !important; }
.els-wrap { --els-accent: #0b7bbf; margin: 40px 0 0; position: relative; }
.els-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.els-fields { display: flex; flex-direction: column; gap: 14px; max-width: 320px; margin-bottom: 30px; }
.els-wrap input.els-name, .els-wrap input.els-email {
	width: 100%; height: 46px; padding: 0 14px; font-size: 16px; line-height: 1.2;
	border: 1px solid #cfd4da; border-radius: 0; background: #fff; color: #222; box-shadow: none; margin: 0;
}
.els-wrap input.els-name:focus, .els-wrap input.els-email:focus { outline: 2px solid var(--els-accent); outline-offset: -1px; border-color: var(--els-accent); }

.els-sigrow { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; padding-top: 10px; }
@media (max-width: 640px) { .els-sigrow { grid-template-columns: 1fr; gap: 28px; } }
.els-sigcol { min-width: 0; }

/* Both signature lines share the same fixed-height area so they sit on the same baseline */
.els-sigarea { position: relative; display: flex; align-items: flex-end; height: 96px; border-bottom: 2px dashed #c4c4c4; padding: 0 0 6px 4px; }
.els-wrap button.els-signhere {
	position: relative; display: flex; align-items: flex-end; width: 100%; height: 100%; padding: 0; margin: 0;
	background: transparent; border: 0; border-radius: 0; cursor: pointer; text-align: left; box-shadow: none; color: #222;
}
.els-arrow { position: absolute; left: -90px; top: 22px; width: 70px; height: 34px; background: #00aeef; clip-path: polygon(0 28%, 60% 28%, 60% 0, 100% 50%, 60% 100%, 60% 72%, 0 72%); animation: els-pulse 1.4s ease-in-out infinite; }
.els-signhere.is-signed .els-arrow { display: none; }
@keyframes els-pulse { 0%,100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
@media (max-width: 900px) { .els-arrow { display: none; } }
.els-x { font: 700 18px/1 Arial, sans-serif; color: #999; margin-right: 8px; flex: 0 0 auto; padding-bottom: 4px; }
.els-signhere .els-x { color: #222; }
.els-placeholder { font-family: "Caveat", "Brush Script MT", cursive; font-size: 40px; line-height: 1; color: #c4c4c4; padding-bottom: 2px; }
.els-signhere.is-signed .els-placeholder { display: none; }
.els-sigimg { max-width: 100%; max-height: 84px; width: auto; height: auto; display: block; }

.els-csig .els-cursive, .els-csig img { display: block; }
.els-csig { padding-left: 4px; }
.els-cursive { font-family: "Caveat", "Brush Script MT", cursive; font-size: 44px; line-height: 1; color: #222; padding-bottom: 2px; }
.els-meta { font-size: 14px; line-height: 1.6; color: #444; margin-top: 10px; min-height: 3.2em; padding-left: 4px; }

.els-error, .els-merror { color: #b32d2e; font-size: 14px; min-height: 20px; margin: 14px 0 0; }
.els-preview-note { background: #fff8e5; border-left: 4px solid #dba617; padding: 10px 14px; font-size: 14px; }

.els-bar {
	position: sticky; bottom: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 20px;
	background: #23282f; color: #fff; padding: 16px 24px; margin-top: 30px;
}
.els-bar-text { margin: 0; font-size: 15px; color: #fff; }
.els-bar-text a { color: #4cb8f5; }
.els-wrap button.els-submit {
	flex: 0 0 auto; min-width: 180px; padding: 14px 26px; font-size: 17px; font-weight: 700; border: 0; border-radius: 3px;
	background: var(--els-accent); color: #fff; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0;
}
.els-wrap button.els-submit:disabled { background: #7b7f85; color: #c3c6ca; cursor: not-allowed; }
@media (max-width: 640px) { .els-bar { flex-direction: column; align-items: stretch; } }

.els-done { margin-top: 30px; padding: 22px 24px; background: #edf8ee; border: 1px solid #b7dfba; color: #1d5c25; font-size: 17px; }
.els-done-msg { margin: 0; }
.els-wrap a.els-dl { display: inline-block; margin-top: 16px; padding: 13px 26px; background: var(--els-accent); color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; border-radius: 3px; }
.els-wrap a.els-dl:hover { filter: brightness(.92); }
.els-wrap a.els-dl[hidden] { display: none !important; }

/* Popup */
html.els-lock { overflow: hidden; }
.els-modal { position: fixed; inset: 0; z-index: 2147483000; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; padding: 16px; font-family: inherit; }
.els-dialog { position: relative; width: 100%; max-width: 620px; max-height: 94vh; overflow: auto; background: #fff; border-radius: 6px; padding: 26px 28px 28px; color: #444; box-shadow: 0 10px 40px rgba(0,0,0,.35); }
.els-modal button.els-close { position: absolute; top: 10px; right: 14px; width: 32px; height: 32px; padding: 0; background: transparent; border: 0; font-size: 28px; line-height: 1; color: #00608f; cursor: pointer; box-shadow: none; }
.els-lbl { display: block; font-size: 15px; margin: 4px 0 8px; color: #444; }
.els-modal input.els-mname, .els-modal input.els-typein { width: 100%; max-width: 100%; height: 42px; padding: 0 12px; font-size: 16px; border: 1px solid #dcdfe3; border-radius: 3px; background: #fff; color: #222; box-shadow: none; margin: 0 0 18px; }
.els-modal input.els-mname { max-width: 300px; }
.els-tabs { display: flex; border-bottom: 1px solid #ccc; margin-bottom: 18px; }
.els-modal button.els-tab { flex: 1; padding: 12px 6px; background: transparent; border: 0; border-bottom: 3px solid transparent; font-size: 16px; color: #1f8bb8; cursor: pointer; border-radius: 0; box-shadow: none; margin-bottom: -1px; }
.els-modal button.els-tab.is-active { color: #f0a03a; border-bottom-color: #f0a03a; }
.els-pane-head { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; margin-bottom: 8px; }
.els-modal button.els-clear { background: transparent; border: 0; color: #1f8bb8; font-weight: 700; cursor: pointer; padding: 0; box-shadow: none; }
.els-canvas-wrap { position: relative; height: 150px; border-bottom: 2px dashed #ccc; background: #fff; }
.els-canvas-wrap .els-x { position: absolute; left: 4px; bottom: 6px; color: #bbb; pointer-events: none; }
.els-canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
.els-typeprev { display: flex; align-items: flex-end; min-height: 110px; border-bottom: 2px dashed #ccc; padding-bottom: 4px; }
.els-typeprev .els-x { color: #bbb; }
.els-typetext { font-family: "Caveat", "Brush Script MT", cursive; font-size: 54px; line-height: 1.1; color: #222; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 100%; }
.els-legal { font-size: 15px; line-height: 1.9; margin: 18px 0 6px; color: #555; }
.els-legalname { font-weight: 600; }
.els-modal button.els-insert { display: block; margin: 10px 0 0 auto; padding: 14px 26px; background: #0a82c8; color: #fff; border: 0; border-radius: 2px; font-size: 17px; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; }
.els-modal button.els-insert:hover { background: #0870ac; }

/* Standalone agreement page (no theme header/footer) */
html.els-lock { overflow: hidden; }
body.els-page { margin: 0; background: #eef0f4; color: #1f2430; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.7; }
.els-sheet { max-width: 880px; margin: 0 auto; padding: 0 56px; background: #fff; min-height: 100vh; box-shadow: 0 0 0 1px #e2e5ea, 0 12px 40px rgba(20,24,40,.06); }
.els-head { padding: 44px 0 6px; text-align: center; }
.els-logo { margin: 0 auto 26px; }
.els-logo img { display: inline-block; max-width: 300px; width: 100%; height: auto; border-radius: 10px; }
h1.els-title { margin: 0; font-size: 34px; line-height: 1.2; font-weight: 800; letter-spacing: .02em; color: #1f2430; text-transform: uppercase; }
.els-title-rule { width: 84px; height: 4px; margin: 16px auto 0; border-radius: 4px; background: linear-gradient(90deg, #8b5cf6, #22b8f0); }

.els-doc { padding-top: 22px; }
.els-doc .els-subtitle { text-align: center; font-size: 20px; font-weight: 600; color: #4c3bd6; margin: 0 0 28px; }
.els-doc h3 { font-size: 20px; line-height: 1.35; margin: 34px 0 14px; padding-bottom: 8px; color: #1f2430; border-bottom: 2px solid #e8eaf0; }
.els-doc h4 { font-size: 17px; margin: 0 0 10px; color: #4c3bd6; }
.els-doc p { margin: 0 0 14px; }
.els-doc ul, .els-doc ol { margin: 0 0 16px; padding-left: 24px; }
.els-doc li { margin-bottom: 6px; }
.els-doc ul.els-checks { list-style: none; padding-left: 0; }
.els-doc ul.els-checks li:before { content: "\2713"; color: #4c3bd6; font-weight: 700; margin-right: 10px; }
.els-doc ol.els-terms li { padding-left: 4px; margin-bottom: 10px; }
.els-doc .els-pillar { border-left: 4px solid #8b5cf6; background: #f8f7ff; padding: 12px 18px 2px; margin: 0 0 12px; border-radius: 0 6px 6px 0; }
.els-doc .els-callout { background: #f1f8ff; border: 1px solid #cfe5fb; border-radius: 8px; padding: 16px 20px 4px; margin: 20px 0 6px; }
.els-doc .els-card { border: 1px solid #e3e6ee; border-radius: 8px; background: #fafbfd; padding: 16px 20px 8px; margin: 0 0 14px; }
.els-doc table.els-table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 15px; }
.els-doc table.els-table th, .els-doc table.els-table td { padding: 11px 14px; border: 1px solid #e3e6ee; text-align: left; vertical-align: top; }
.els-doc table.els-table th { background: #f4f5fa; font-weight: 700; width: 32%; }
.els-doc table.els-price th { width: auto; }
.els-doc .els-right { text-align: right !important; white-space: nowrap; }
.els-doc tr.els-total td { font-weight: 700; background: #f4f5fa; }

.els-sheet .els-wrap { margin-top: 48px; }
.els-sheet .els-bar { margin-left: -56px; margin-right: -56px; }
@media (max-width: 640px) {
	.els-sheet { padding: 0 20px; }
	.els-head { padding-top: 28px; }
	h1.els-title { font-size: 26px; }
	.els-sheet .els-bar { margin-left: -20px; margin-right: -20px; }
	.els-doc table.els-table th { width: auto; }
}
