:root {
    --te1-paper: #ffffff;
    --te1-outside: #e7e7e7;
    --te1-link: #0645ad;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

body.te1-site {
    background: var(--te1-outside);
    color: #111;
    font-family: Arial, Helvetica, sans-serif;
}

.te1-main {
    min-height: 100vh;
    padding: 18px 12px 28px;
}

/* Same compact audio treatment as the reference theme, without multi-page navigation. */
.te1-audio-panel {
    position: sticky;
    top: 0;
    z-index: 100;
    width: min(100%, 1050px);
    margin: 0 auto 14px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1px solid #d6dbe3;
    border-radius: 6px;
    box-shadow: 0 7px 22px rgba(0,0,0,.08);
}

body.admin-bar .te1-audio-panel { top: 32px; }

.te1-audio-panel span {
    flex: 0 0 auto;
    color: var(--te1-link);
    font: 700 11px/1.2 Arial, Helvetica, sans-serif;
    letter-spacing: .02em;
}

.te1-audio-panel audio {
    display: block;
    width: 100%;
    min-width: 0;
    height: 34px;
}

.te1-audio-panel.is-active {
    box-shadow: 0 0 0 3px rgba(6,69,173,.18), 0 7px 22px rgba(0,0,0,.08);
}

.te1-document {
    position: relative;
    width: min(100%, 1050px);
    margin: 0 auto;
    overflow: hidden;
    background: var(--te1-paper);
    box-shadow: 0 2px 16px rgba(0,0,0,.13);
}

.te1-document__image {
    display: block;
    width: 100%;
    height: auto;
}

/* Transparent click areas aligned to the supplied one-page artwork. */
.te1-hotspot {
    position: absolute;
    z-index: 3;
    display: block;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.te1-hotspot:focus-visible {
    outline: 3px solid var(--te1-link);
    outline-offset: 2px;
}

.te1-hotspot--audio {
    left: 59.5%;
    top: 23.1%;
    width: 21.5%;
    height: 15.7%;
}

.te1-hotspot--email {
    left: 43.4%;
    top: 52.5%;
    width: 28.3%;
    height: 2.5%;
}

.te1-fallback {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
}

@media (max-width: 782px) {
    .te1-main { padding: 0 0 18px; }
    body.admin-bar .te1-audio-panel { top: 46px; }

    .te1-audio-panel {
        width: 100%;
        margin-bottom: 0;
        padding: 8px 10px;
        border-radius: 0;
        border-right: 0;
        border-left: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
        box-shadow: 0 2px 12px rgba(0,0,0,.08);
    }

    .te1-audio-panel span { text-align: center; }
    .te1-document { width: 100%; box-shadow: none; }
}

@media print {
    body.te1-site { background: #fff; }
    .te1-main { padding: 0; }
    .te1-audio-panel { display: none; }
    .te1-document { width: 100%; box-shadow: none; }
}
