/* Public site styles for likemail.com. Bootstrap 5.3 supplies the reset and grid. */

:root {
    --lm-primary: #9400bd;
    --lm-grad: radial-gradient(circle, rgb(148, 0, 189) 0%, rgb(123, 0, 164) 30%, rgb(98, 0, 139) 100%);
    --lm-counter: #03a9f4;
    --lm-secondary: #ff4d12;
    --lm-text: #212121;
    --lm-muted: #91a0b1;
    --lm-bg: #f9f9f9;
    --lm-footer: #192132;
    --lm-lavender: #f4f1fd;
    --lm-title: #373737;
    --lm-radius: 8px;
    --bs-body-font-family: 'Mulish', sans-serif;
    --bs-body-bg: var(--lm-bg);
    --bs-body-color: var(--lm-text);
}

body {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: var(--lm-text);
    background: var(--lm-bg);
}

a { color: var(--lm-primary); }
img { max-width: 100%; }

/* ---------- Hero header ---------- */

.lm-hero {
    position: relative;
    overflow: hidden;
    padding: 135px 0 85px;
    background: var(--lm-grad);
    color: #fff;
    text-align: center;
}
.lm-hero--inner { padding-bottom: 90px; }
.lm-hero .container { position: relative; z-index: 2; }
.lm-hero h1 {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 50px;
    line-height: 60px;
    font-weight: 900;
    text-transform: capitalize;
    overflow-wrap: anywhere;
}
.lm-lead {
    max-width: 1000px;
    margin: 20px auto 25px;
    font-size: 20px;
    line-height: 30px;
    font-weight: 300;
}
.lm-lead-2 { margin: 0 auto 24px; }

.lm-wave {
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 85px;
    z-index: 1;
    fill: var(--lm-bg);
    display: block;
}

/* star dots: one pixel each, spread with box-shadow (see partials/stars) */
.lm-stars { position: absolute; top: 0; left: 0; border-radius: 50%; background: transparent; z-index: 0; }
/* Three layers drifting up at different speeds, as on the old site. Each field is
   2000px tall; ::after repeats it 2000px lower so the loop has no seam. */
.lm-stars-1 { width: 1px; height: 1px; animation: lm-drift 50s linear infinite; }
.lm-stars-2 { width: 2px; height: 2px; animation: lm-drift 100s linear infinite; }
.lm-stars-3 { width: 3px; height: 3px; animation: lm-drift 150s linear infinite; }
.lm-stars::after { content: ""; position: absolute; top: 2000px; left: 0; width: inherit; height: inherit; border-radius: inherit; box-shadow: inherit; }
.lm-glow {
    position: absolute;
    top: 38%;
    left: 50%;
    width: 520px;
    height: 520px;
    margin-left: -260px;
    background: radial-gradient(circle, rgba(190, 70, 230, 0.35), rgba(190, 70, 230, 0) 65%);
    z-index: 0;
    pointer-events: none;
}
@keyframes lm-drift { from { transform: translateY(0); } to { transform: translateY(-2000px); } }
@media (prefers-reduced-motion: reduce) { .lm-stars { animation: none; } }

/* ---------- Navbar ---------- */

.lm-nav {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    z-index: 30;
    height: 70px;
}
.lm-nav-bar { display: flex; align-items: center; justify-content: space-between; height: 70px; }
.lm-logo { display: block; flex: none; }
.lm-logo img { display: block; width: 182px; height: 40px; }
.lm-logo-dark { display: none !important; }
.lm-toggle { display: none; background: none; border: 0; color: #fff; font-size: 24px; padding: 4px 6px; line-height: 1; }

.lm-menu-wrap { display: flex !important; align-items: center; gap: 10px; }
.lm-menu { display: flex; gap: 30px; margin: 0 20px 0 0; padding: 0; list-style: none; }
.lm-menu a {
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}
.lm-menu a i { margin-right: 2px; }
.lm-menu a:hover { opacity: 0.8; }
.lm-auth { display: flex; gap: 10px; }

.lm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 26px;
    border: 2px solid transparent;
    border-radius: var(--lm-radius);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}
.lm-btn-register { background: var(--lm-secondary); border-color: var(--lm-secondary); color: #fff; }
.lm-btn-register:hover { background: #e64410; border-color: #e64410; color: #fff; }
.lm-btn-login { border-color: #fff; color: #fff; }
.lm-btn-login:hover { background: #fff; color: var(--lm-primary); }
.lm-btn-lg { height: 59px; padding: 0 26px; font-size: 17px; }

/* sticky: white bar, dark logo, orange progress line */
.lm-nav.is-stuck {
    position: fixed;
    top: 0;
    height: 70px;
    background: #fff;
    box-shadow: 0 2px 18px rgba(0, 0, 0, 0.1);
    animation: lm-drop 0.3s ease;
}
.lm-nav.is-stuck .lm-logo-light { display: none !important; }
.lm-nav.is-stuck .lm-logo-dark { display: block !important; }
.lm-nav.is-stuck .lm-menu a { color: var(--lm-text); }
.lm-nav.is-stuck .lm-toggle { color: var(--lm-text); }
.lm-nav.is-stuck .lm-btn-login { border-color: var(--lm-primary); color: var(--lm-primary); }
.lm-nav.is-stuck .lm-btn-login:hover { background: var(--lm-primary); color: #fff; }
@keyframes lm-drop { from { transform: translateY(-100%); } to { transform: none; } }
.lm-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0;
    background: var(--lm-secondary);
    z-index: 60;
    opacity: 0;
}
.lm-progress.is-on { opacity: 1; }

@media (max-width: 991.98px) {
    .lm-logo img { width: 137px; height: 30px; }
    .lm-toggle { display: block; }
    .lm-menu-wrap {
        display: none !important;
        position: absolute;
        top: 62px;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 20px;
        background: rgba(25, 33, 50, 0.97);
        border-radius: var(--lm-radius);
    }
    .lm-menu-wrap.show, .lm-menu-wrap.collapsing { display: flex !important; }
    .lm-nav.is-stuck .lm-menu-wrap { top: 70px; border-radius: 0 0 var(--lm-radius) var(--lm-radius); }
    .lm-nav.is-stuck .lm-menu-wrap .lm-menu a { color: #fff; }
    .lm-menu { flex-direction: column; gap: 14px; margin: 0; }
    .lm-menu a { font-size: 16px; }
    .lm-auth { gap: 10px; }
    .lm-auth .lm-btn { flex: 1; }
    .lm-nav.is-stuck .lm-btn-login { border-color: #fff; color: #fff; }
}

/* ---------- Address box (home) ---------- */

.lm-address {
    max-width: 750px;
    margin: 0 auto 40px;
    padding: 41px 31px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: var(--lm-radius);
}
.lm-address-field { position: relative; }
.lm-address-input {
    display: block;
    width: 100%;
    height: 70px;
    padding: 10px 80px 10px 20px;
    border: 0;
    border-radius: var(--lm-radius);
    background: #f8f9fa;
    color: #000;
    font: 500 18px/27px 'Mulish', sans-serif;
    text-align: left;
}
.lm-address-input:focus { outline: 2px solid rgba(255, 255, 255, 0.7); outline-offset: 2px; }
.lm-address-copy {
    position: absolute;
    top: 7px;
    right: 8px;
    width: 60px;
    height: 56px;
    border: 0;
    border-radius: var(--lm-radius);
    background: var(--lm-secondary);
    color: #fff;
    font-size: 18px;
}
.lm-address-actions { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 25px; }
.lm-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 51px;
    padding: 12px 8px;
    border: 0;
    border-radius: var(--lm-radius);
    background: #f8f9fa;
    color: var(--lm-text);
    font-size: 15px;
    font-weight: 500;
}
.lm-action:disabled { opacity: 0.6; cursor: not-allowed; }
.lm-action:not(:disabled):hover { background: #fff; }

.lm-ad { text-align: center; max-width: 100%; overflow: hidden; }
.lm-ad--header { margin: -24px auto 24px; max-width: 720px; }
.lm-ad--mailbox { margin: -5px auto 24px; max-width: 720px; }
.lm-ad--below { margin: 16px auto 0; max-width: 720px; }
.lm-ad--post { margin: 0 0 24px; }

/* ---------- Counters ---------- */

.lm-counters { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 750px; margin: 0 auto; }
.lm-counter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 119px;
    padding: 20px;
    border-radius: var(--lm-radius);
    background: var(--lm-counter);
    color: #fff;
    text-align: left;
}
.lm-counter-num { font-size: 30px; line-height: 45px; }
.lm-counter-label { font-size: 19px; line-height: 28.5px; text-transform: uppercase; }
.lm-counter i { font-size: 48px; }

/* ---------- Sections ---------- */

.lm-section { padding: 55px 0 0; }
.lm-heading { margin: 0 auto 40px; text-align: center; }
.lm-heading p { max-width: 740px; margin: 0 auto; font-size: 20px; line-height: 30px; font-weight: 300; }
.lm-pill {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 12px;
    border-radius: 6px;
    background: var(--lm-primary);
    color: #fff;
    font-size: 14px;
    line-height: 18px;
    text-transform: uppercase;
}
.lm-section-title {
    margin: 0 0 17px;
    font-size: calc(1.325rem + 0.9vw);
    line-height: 1.2;
    font-weight: 900;
    color: var(--lm-title);
}
@media (min-width: 1200px) { .lm-section-title { font-size: 40px; line-height: 48px; } }

.lm-mailbox .lm-heading { margin-bottom: 40px; }

.lm-inbox { background: #fff; border-radius: 16px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.07); overflow: hidden; min-height: 494px; }
.lm-inbox-head, .lm-inbox-row { display: grid; grid-template-columns: 20% 60% 20%; align-items: center; }
.lm-inbox-head { height: 68px; padding: 0 16px; background: var(--lm-primary); color: #fff; text-transform: uppercase; }
.lm-inbox-time { text-align: center; }
.lm-inbox-body { min-height: 426px; display: flex; flex-direction: column; justify-content: center; }
.lm-inbox-empty { text-align: center; padding: 30px 16px; }
.lm-inbox-empty h2 { margin: 26px 0 8px; font-size: 36px; line-height: 44px; font-weight: 400; }
.lm-inbox-empty p { margin: 0; color: #555; font-size: 15px; }
.lm-login-bar {
    margin-top: 24px;
    padding: 20px 16px;
    border-radius: var(--lm-radius);
    background: var(--lm-secondary);
    color: #fff;
    text-align: center;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}
.lm-login-bar a { color: var(--lm-text); text-decoration: none; }

/* plans */
.lm-plans-section { padding-top: 120px; }
.lm-toggle-wrap { text-align: center; margin-bottom: 80px; }
.lm-billing { display: inline-flex; padding: 5px; border: 1px solid var(--lm-primary); border-radius: 6px; background: #fff; }
.lm-billing button { padding: 8px 15px; border: 0; border-radius: 5px; background: transparent; color: var(--lm-text); font-size: 16px; font-weight: 500; }
.lm-billing button.is-active { background: var(--lm-primary); color: #fff; }

.lm-plans-band { background: linear-gradient(to bottom, transparent calc(100% - 500px), var(--lm-primary) calc(100% - 500px)); padding-bottom: 60px; }
.lm-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.lm-plans[data-mode='month'] [data-billing='year'], .lm-plans[data-mode='year'] [data-billing='month'] { display: none; }
.lm-plan {
    display: flex;
    flex-direction: column;
    padding: 42px 30px 38px;
    border-radius: var(--lm-radius);
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.lm-plan-name { margin: 0 0 12px; font-size: 20px; line-height: 30px; font-weight: 400; }
.lm-plan-price { display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; }
.lm-plan-amount { font-size: 56px; line-height: 70px; font-weight: 800; }
.lm-plan-per { font-size: 16px; font-weight: 700; }
.lm-plan-text { margin: 0 0 30px; font-size: 19px; line-height: 30px; color: #333; flex: 0 0 auto; }
.lm-plan-btn {
    display: block;
    padding: 20px 10px;
    margin-bottom: 18px;
    border: 1px solid var(--lm-primary);
    border-radius: 4px;
    color: var(--lm-primary);
    text-align: center;
    text-decoration: none;
    font-size: 17px;
    line-height: 25px;
    font-weight: 500;
}
.lm-plan-btn:hover { background: var(--lm-primary); color: #fff; }
.lm-plan-list { margin: auto 0 0; padding: 0; list-style: none; font-size: 17px; }
.lm-plan-list li { display: flex; align-items: center; gap: 10px; height: 43px; }
.lm-plan-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
}
.lm-plan-list .is-on { background: var(--lm-primary); }
.lm-plan-list .is-off { background: var(--lm-secondary); }
/* Stepped cards on wide screens: Free, then the two plans for the chosen period. */
@media (min-width: 992px) {
    .lm-plans > .lm-plan:nth-child(1) { margin-top: 60px; }
    .lm-plans[data-mode='month'] > .lm-plan:nth-child(2), .lm-plans[data-mode='year'] > .lm-plan:nth-child(4) { margin-top: 30px; }
}

/* features */
.lm-features { margin-top: 0; padding: 60px 0 60px; background: var(--lm-lavender); }
.lm-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px 24px; }
.lm-feature {
    padding: 51px 40px 51px;
    border: 1px solid #ece8f5;
    border-radius: var(--lm-radius);
    background: #fff;
}
.lm-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: var(--lm-radius);
    background: var(--lm-primary);
    color: #fff;
    font-size: 28px;
}
.lm-feature h3 { margin: 30px 0 15px; font-size: 28px; line-height: 34px; font-weight: 500; }
.lm-feature p { margin: 0; font-size: 18px; line-height: 30px; color: #666; }

/* faqs */
.lm-faqs { padding: 60px 0 61px; }
.lm-accordion { max-width: 796px; margin: 0 auto; }
.lm-faq { margin-bottom: 18px; border: 1px solid #eee; border-radius: var(--lm-radius); background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04); }
.lm-faq h3 { margin: 0; }
.lm-faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: 20px;
    border: 0;
    background: transparent;
    color: var(--lm-primary);
    text-align: left;
    font-size: 18px;
    line-height: 21.6px;
    font-weight: 600;
}
.lm-faq-q.collapsed { color: var(--lm-text); }
.lm-faq-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 30px;
    height: 30px;
    border: 1px solid #ddd;
    border-radius: 50%;
    color: #888;
    font-size: 12px;
    transform: rotate(180deg);
    transition: transform 0.2s;
}
.lm-faq-q.collapsed .lm-faq-chevron { transform: none; }
.lm-faq-a { padding: 0 20px 20px; font-size: 15px; line-height: 24px; }

/* latest posts (home) */
.lm-latest { padding: 60px 0; background: var(--lm-lavender); }
.lm-latest-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.lm-latest-card {
    display: block;
    padding: 30px 40px 28px;
    border-radius: var(--lm-radius);
    background: #fff;
    box-shadow: 0 10px 30px rgba(80, 60, 130, 0.08);
    color: var(--lm-text);
    text-decoration: none;
}
.lm-latest-card h3 { margin: 0 0 8px; font-size: 28px; line-height: 33.6px; font-weight: 500; }
.lm-latest-card p { margin: 0 0 16px; font-size: 18px; line-height: 30px; color: #444; }
.lm-latest-card time { font-size: 13px; color: #555; }

/* call to action */
.lm-cta-section { padding: 108px 0 60px; }
.lm-cta { padding: 60px 20px; border-radius: var(--lm-radius); background: var(--lm-grad); color: #fff; text-align: center; }
.lm-cta h2 { margin: 0 0 12px; font-size: 40px; line-height: 48px; font-weight: 900; }
.lm-cta p { max-width: 900px; margin: 0 auto 28px; font-size: 18px; line-height: 27px; }

/* ---------- Footer ---------- */

.lm-footer { padding: 33px 0; background: var(--lm-footer); color: #fff; }
.lm-footer-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 33px; border-bottom: 1px solid #4d4d4d; }
.lm-footer-row img { display: block; width: 182px; height: 40px; }
.lm-footer-menu { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.lm-footer-menu a { color: #fff; text-decoration: none; font-size: 16px; font-weight: 500; }
.lm-footer-menu a:hover { text-decoration: underline; }
.lm-copy { margin: 0; padding-top: 31px; text-align: center; font-size: 18px; line-height: 27px; }

.lm-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 40;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: var(--lm-primary);
    color: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s;
}
.lm-top.is-on { opacity: 1; visibility: visible; }

/* ---------- Inner pages ---------- */

.lm-main { padding: 55px 0 60px; }
.lm-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.lm-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--lm-radius);
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    color: var(--lm-text);
    text-decoration: none;
}
.lm-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.lm-card-body { padding: 30px 40px 35px; }
.lm-card h2 { margin: 0 0 12px; font-size: 28px; line-height: 33.6px; font-weight: 500; }
.lm-card p { margin: 0 0 20px; font-size: 18px; line-height: 30px; color: #444; }
.lm-card time { font-size: 13px; color: #555; }
.lm-empty, .lm-search-note { font-size: 18px; }

.lm-pagination { margin-top: 24px; }
.lm-pagination ul { display: inline-flex; margin: 0; padding: 0; list-style: none; border: 1px solid #dee2e6; border-radius: 4px; overflow: hidden; background: #fff; }
.lm-pagination li { border-left: 1px solid #dee2e6; }
.lm-pagination li:first-child { border-left: 0; }
.lm-pagination a, .lm-pagination span {
    display: block;
    min-width: 34px;
    padding: 9px 11px;
    text-align: center;
    color: var(--lm-primary);
    text-decoration: none;
    font-size: 14px;
    line-height: 18px;
}
.lm-pagination .is-active span { background: var(--lm-primary); color: #fff; }
.lm-pagination .is-disabled span { background: #f1f1f1; color: #999; }

.lm-widget { margin-bottom: 24px; padding: 24px; border-radius: var(--lm-radius); background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
.lm-widget-search { padding: 48px 40px; }
.lm-widget-ad { padding: 24px; }
.lm-widget-title { margin: 0 0 20px; font-size: 20px; line-height: 30px; font-weight: 400; }
.lm-search { display: flex; }
.lm-search input {
    flex: 1;
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #dee2e6;
    border-right: 0;
    border-radius: 4px 0 0 4px;
    font: 400 14px 'Mulish', sans-serif;
}
.lm-search button { width: 71px; border: 0; border-radius: 0 4px 4px 0; background: var(--lm-primary); color: #fff; }
.lm-popular { margin: 0; padding: 0; list-style: none; }
.lm-popular li { display: flex; gap: 10px; align-items: center; height: 76px; }
.lm-popular-thumb { flex: none; }
.lm-popular-thumb img { display: block; width: 60px; height: 60px; border-radius: 4px; object-fit: cover; }
.lm-popular > li > div { min-width: 0; }
.lm-popular-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; line-height: 24px; font-weight: 500; text-decoration: none; }
.lm-popular time { display: block; color: #888; font-size: 14px; line-height: 21px; }
.lm-chips { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.lm-chips a { padding: 6px 10px; border-radius: 4px; background: var(--lm-secondary); color: #fff; text-decoration: none; font-size: 15px; font-weight: 500; }

/* post */
.lm-article-card { overflow: hidden; border-radius: var(--lm-radius); background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
.lm-article-img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.lm-article-body { padding: 30px 40px 40px; }
.lm-article-title { margin: 0 0 20px; font-size: 30px; line-height: 33px; font-weight: 400; }
.lm-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.lm-meta span, .lm-meta a { padding: 5px 12px; border-radius: 6px; background: var(--lm-primary); color: #fff; font-size: 14px; line-height: 23px; text-decoration: none; }
.lm-meta i { margin-right: 4px; }
.lm-article { overflow-wrap: anywhere; }
.lm-article p { margin: 0 0 16px; }
.lm-article h1 { font-size: 40px; line-height: 48px; font-weight: 400; margin: 0 0 12px; }
.lm-article h2 { margin: 12px 0 8px; font-size: 40px; line-height: 48px; font-weight: 400; }
.lm-article h3 { margin: 12px 0 8px; font-size: 28px; line-height: 34px; font-weight: 400; }
.lm-article h4 { font-size: 22px; font-weight: 500; }
.lm-article img { height: auto; border-radius: var(--lm-radius); }
.lm-article ul, .lm-article ol { margin: 0 0 16px; }
.lm-article table { display: block; width: 100%; max-width: 100%; overflow-x: auto; margin-bottom: 16px; border-collapse: collapse; }
.lm-article th { background: var(--lm-footer); color: #fff; }
.lm-article th, .lm-article td { padding: 8px 12px; border: 1px solid #dee2e6; }
.lm-share-title { margin: 24px 0 10px; font-size: 20px; line-height: 30px; font-weight: 400; }
.lm-tags { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.lm-tags span { padding: 3px 11px; border-radius: 6px; background: var(--lm-primary); color: #fff; font-size: 14px; font-weight: 600; text-transform: capitalize; }
.lm-share { display: flex; flex-wrap: wrap; gap: 8px; }
.lm-share a { padding: 9px 14px; border-radius: 6px; color: #fff; text-decoration: none; font-size: 15px; font-weight: 600; }
.lm-share .is-facebook { background: #3b5998; }
.lm-share .is-twitter { background: #1da1f2; }
.lm-share .is-linkedin { background: #0077b5; }
.lm-share .is-whatsapp { background: #25d366; }
.lm-share .is-email { background: #ea4335; }
.lm-page-card { padding: 30px; border-radius: var(--lm-radius); background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
.lm-page-card h1 { font-size: 32px; line-height: 40px; font-weight: 500; }
.lm-page-card h2 { font-size: 28px; line-height: 34px; font-weight: 500; }

/* contact */
.lm-contact { padding-top: 55px; padding-bottom: 120px; }
.lm-contact .lm-heading { margin-bottom: 70px; }
.lm-contact .lm-heading p { font-size: 18px; line-height: 27px; font-weight: 400; }
.lm-form-card { max-width: 850px; margin: 0 auto; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
.lm-form-head { padding: 12px 16px; background: var(--lm-primary); color: #fff; font-size: 16px; font-weight: 500; }
.lm-form { padding: 24px 16px 16px; }
.lm-form label { display: block; margin-bottom: 6px; font-size: 14px; line-height: 20px; font-weight: 500; }
.lm-form input[type='text'], .lm-form input[type='email'], .lm-form textarea {
    display: block;
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    background: #fff;
    font: 400 16px/24px 'Mulish', sans-serif;
}
.lm-form input[type='text'], .lm-form input[type='email'] { height: 48px; }
.lm-form textarea { min-height: 190px; resize: vertical; }
.lm-form input:focus, .lm-form textarea:focus { outline: 0; border-color: var(--lm-primary); box-shadow: 0 0 0 3px rgba(148, 0, 189, 0.15); }
.lm-form .is-invalid { border-color: #d93025; }
.lm-field-error { margin-top: 4px; color: #d93025; font-size: 14px; }
.lm-submit { display: block; width: 100%; height: 48px; border: 0; border-radius: 6px; background: var(--lm-primary); color: #fff; font-size: 15px; font-weight: 500; }
.lm-submit:hover { background: #7b00a4; }
.lm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lm-alert { margin-bottom: 16px; padding: 12px 16px; border-radius: 6px; font-size: 15px; }
.lm-alert-ok { background: #e6f6ec; color: #14683a; }
.lm-alert-error { background: #fdeceb; color: #a1261c; }

/* 404 */
.lm-404 { display: flex; min-height: 100vh; align-items: center; justify-content: center; margin: 0; background: #fff; font-family: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; text-align: center; }
.lm-404-box { padding: 24px; }
.lm-404-code { font-size: 120px; line-height: 1; font-weight: 800; color: #f44336; letter-spacing: 4px; }
.lm-404 h1 { margin: 24px 0 8px; font-size: 36px; font-weight: 500; color: #212121; }
.lm-404 p { margin: 0 0 24px; color: #555; }
.lm-404-btn { display: inline-block; padding: 12px 28px; border-radius: 6px; background: #f44336; color: #fff; text-decoration: none; }

/* ---------- Small screens ---------- */

@media (max-width: 991.98px) {
    .lm-plans { grid-template-columns: 1fr; }
    .lm-plans-band { background: linear-gradient(to bottom, transparent 120px, var(--lm-primary) 120px); }
    .lm-feature-grid, .lm-latest-grid { grid-template-columns: 1fr 1fr; }
    .lm-footer-row { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 767.98px) {
    .lm-hero { padding-top: 135px; }
    .lm-lead-2 { margin-bottom: 24px; }
    .lm-address { padding: 41px 31px 42px; margin-bottom: 30px; }
    .lm-address-actions { margin-top: 15px; }
    .lm-address-input { height: 55px; }
    .lm-address-copy { top: 5px; right: 6px; height: 44px; }
    .lm-action { height: 36px; padding: 7px 5px; font-size: 12px; }
    .lm-action span { display: none; }
    .lm-counters { grid-template-columns: 1fr; }
    .lm-feature-grid, .lm-latest-grid, .lm-cards { grid-template-columns: 1fr; }
    .lm-cta h2 { font-size: 28px; line-height: 34px; }
    .lm-footer-row { align-items: center; }
    .lm-footer-menu { justify-content: center; }
    .lm-article-body { padding: 24px 20px 30px; }
    .lm-article h1, .lm-article h2 { font-size: 30px; line-height: 38px; }
    .lm-article h3 { font-size: 24px; line-height: 30px; }
    .lm-card-body, .lm-latest-card { padding-left: 24px; padding-right: 24px; }
    .lm-widget-search { padding: 32px 24px; }
    .lm-inbox-head { padding: 0 8px; }
    .lm-inbox-empty h2 { font-size: 28px; line-height: 34px; }
    .lm-form input, .lm-form textarea, .lm-search input, .lm-address-input { font-size: 16px; }
    .lm-page-card { padding: 20px 16px; }
}

/* ---------- Inbox: timer, rows, codes ---------- */
.lm-timer { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px; margin-top: 16px; color: #fff; font-size: 15px; }
.lm-timer-text strong { font-variant-numeric: tabular-nums; font-weight: 700; }
.lm-timer-btn { height: 32px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, 0.9); border-radius: var(--lm-radius); background: transparent; color: #fff; font-size: 14px; font-weight: 600; }
.lm-timer-btn:not(:disabled):hover { background: #fff; color: var(--lm-primary); }
.lm-timer-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.lm-timer.lm-expired .lm-timer-text strong { color: #ffd6c7; }
.lm-expired-note { order: -1; width: 100%; text-align: center; }
.lm-timer-link { padding: 0; border: 0; background: none; color: #fff; font-weight: 700; text-decoration: underline; }

.lm-inbox-body { position: relative; }
.lm-rows:empty { display: none; }
.lm-rows { align-self: stretch; }
.lm-row { display: grid; grid-template-columns: 20% 60% 20%; align-items: start; padding: 16px; border-bottom: 1px solid #eee; }
.lm-rows:not(:empty) + .lm-inbox-empty { display: none; }
.lm-inbox-body:has(.lm-rows:not(:empty)) { justify-content: flex-start; }
.lm-col { min-width: 0; padding-right: 10px; }
.lm-from-name { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-from-email { display: block; color: var(--lm-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-subject-link { color: var(--lm-text); font-weight: 600; text-decoration: none; word-break: break-word; }
.lm-subject-link:hover { color: var(--lm-primary); text-decoration: underline; }
.lm-unread .lm-subject-link { color: var(--lm-primary); }
.lm-new { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 4px; background: var(--lm-secondary); color: #fff; font-size: 12px; font-weight: 600; vertical-align: 2px; }
.lm-clip::before { content: "\f0c6"; font: var(--fa-font-solid); margin-left: 8px; color: var(--lm-muted); font-size: 13px; }
.lm-preview { display: block; margin-top: 2px; color: #666; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm-time { text-align: center; color: #555; font-size: 14px; }
.lm-code-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.lm-code-label { color: #555; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.lm-code { padding: 3px 10px; border: 1px dashed var(--lm-primary); border-radius: 6px; background: #faf2fd; color: var(--lm-primary); font: 700 16px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: 0.08em; cursor: copy; }
.lm-code:hover { background: #f3e2fa; }
.lm-code-link { font-size: 14px; font-weight: 600; }
.lm-notify-btn { margin-top: 18px; padding: 6px 14px; border: 1px solid var(--lm-primary); border-radius: var(--lm-radius); background: #fff; color: var(--lm-primary); font-size: 14px; font-weight: 600; }
.lm-notify-btn:hover { background: var(--lm-primary); color: #fff; }

/* ---------- Dialogs ---------- */
.lm-modal .modal-content { border: 0; border-radius: var(--lm-radius); }
.lm-modal .modal-title { font-weight: 800; }
.lm-modal-sub { color: #666; font-size: 14px; }
.lm-modal .form-control, .lm-modal .form-select { font-size: 16px; }
.lm-qr { display: flex; justify-content: center; margin: 16px 0 20px; min-height: 160px; }
.lm-btn-primary { background: var(--lm-primary); border-color: var(--lm-primary); color: #fff; }
.lm-btn-primary:hover { background: #7b00a4; border-color: #7b00a4; color: #fff; }
.lm-btn-danger { background: #f44336; border-color: #f44336; color: #fff; }
.lm-btn-danger:hover { background: #d9362b; color: #fff; }
.lm-btn-outline { border-color: var(--lm-primary); background: #fff; color: var(--lm-primary); }
.lm-btn-outline:hover { background: var(--lm-primary); color: #fff; }
.lm-btn-sm { height: 34px; padding: 0 12px; font-size: 14px; }
.lm-modal .input-group .lm-btn { border-radius: 0 var(--lm-radius) var(--lm-radius) 0; }
.lm-history-tools { display: flex; gap: 8px; margin-bottom: 12px; }
.lm-history-list { max-height: 320px; overflow-y: auto; }
.lm-history-row { display: flex; align-items: center; gap: 10px; padding: 10px 4px; border-bottom: 1px solid #eee; cursor: pointer; }
.lm-history-time { color: #666; font-size: 13px; white-space: nowrap; }
.lm-history-address { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.lm-history-current { color: var(--lm-primary); font-size: 13px; font-weight: 700; }
.lm-history-open { border: 1px solid var(--lm-primary); color: var(--lm-primary); }
.lm-history-open:hover { background: var(--lm-primary); color: #fff; }
.lm-history-empty { margin: 12px 0 0; color: #666; text-align: center; }
.lm-history-foot { justify-content: center; background: #f4f4f4; color: #555; font-size: 14px; }
.lm-form-error { margin: 10px 0 0; color: #d9362b; font-size: 14px; }
.lm-toast { position: fixed; left: 50%; bottom: 24px; z-index: 2000; padding: 10px 18px; border-radius: var(--lm-radius); background: #192132; color: #fff; font-size: 15px; opacity: 0; transform: translate(-50%, 20px); transition: opacity 0.2s, transform 0.2s; pointer-events: none; }
.lm-toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Message page ---------- */
.lm-message-h1 { overflow-wrap: anywhere; }
.lm-viewbox { max-width: 960px; margin: 0 auto; background: #fff; border-radius: 16px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.07); overflow: hidden; }
.lm-viewbox-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 20px; border-bottom: 1px solid #eee; }
.lm-viewbox-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lm-round-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #e3e7ed; border-radius: 50%; background: #f8f9fa; color: var(--lm-text); text-decoration: none; }
.lm-round-btn:hover { background: var(--lm-primary); border-color: var(--lm-primary); color: #fff; }
.lm-round-btn--danger:hover { background: #f44336; border-color: #f44336; }
.lm-view-toggle { height: 34px; padding: 0 12px; border: 1px solid #e3e7ed; border-radius: var(--lm-radius); background: #fff; color: var(--lm-text); font-size: 14px; font-weight: 600; }
.lm-view-toggle.is-active { background: var(--lm-primary); border-color: var(--lm-primary); color: #fff; }
.lm-view-toggle:disabled { opacity: 0.4; }
.lm-viewbox-head { padding: 20px; border-bottom: 1px solid #eee; }
.lm-viewbox-from strong { font-size: 17px; }
.lm-viewbox-from span { margin-left: 6px; color: #666; word-break: break-all; }
.lm-viewbox-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 4px; color: #666; font-size: 14px; }
.lm-viewbox-subject { margin: 12px 0 0; font-size: 22px; font-weight: 800; overflow-wrap: anywhere; }
.lm-code-panel { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px 20px; background: #faf2fd; border-bottom: 1px solid #eee; }
.lm-code--big { font-size: 22px; padding: 4px 14px; }
.lm-attachments { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 20px; border-bottom: 1px solid #eee; }
.lm-attachment { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e3e7ed; border-radius: var(--lm-radius); max-width: 100%; }
.lm-attachment > i { font-size: 24px; color: var(--lm-primary); }
.lm-attachment-info { display: flex; flex-direction: column; min-width: 0; }
.lm-attachment-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
.lm-attachment-size { color: #666; font-size: 13px; }
.lm-attachment-btn { font-size: 14px; font-weight: 600; }
.lm-images-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 20px; background: #fff8e6; border-bottom: 1px solid #f1e3b8; color: #5c4a12; font-size: 14px; }
.lm-viewbox-frame { display: block; width: 100%; min-height: 200px; border: 0; overflow: hidden; }

@media (max-width: 767.98px) {
    .lm-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 12px; }
    .lm-time { text-align: left; font-size: 13px; }
    .lm-timer { font-size: 14px; }
    .lm-viewbox-bar, .lm-viewbox-head, .lm-code-panel, .lm-attachments, .lm-images-bar { padding-left: 14px; padding-right: 14px; }
    .lm-history-tools input, .lm-modal input { font-size: 16px; }
}
.lm-open-card { max-width: 560px; margin: 0 auto; text-align: center; }
.lm-open-address { margin: 12px 0; font-size: 20px; font-weight: 800; word-break: break-all; }
.lm-open-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 16px; }
.lm-hero.lm-menu-open { overflow: visible; z-index: 50; }
