@import url("https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400;0,500;0,700;1,400&family=Alegreya+Sans:wght@500;700&display=swap");

body { font-family: "Alegreya", Georgia, serif; font-size: 18px; color: #1F2A20; background: #F9F9F9; }
h1, h2, h3, h4, h5, h6, .navbar, .btn { font-family: "Alegreya Sans", Calibri, sans-serif; }
h1 { font-size: 40px; font-weight: 700; color: #388E3C; }
h2 { font-size: 30px; font-weight: 700; color: #2A692D; }
h3 { font-size: 22px; font-weight: 500; color: #1F2A20; }
a { color: #2A692D; }
a:hover { color: #388E3C; }
.btn.btn-primary, .navbar .btn.active, .navbar a.active { background: #388E3C; border-color: #388E3C; color: #FFFFFF; }
.btn.btn-primary:hover { background: #2A692D; border-color: #2A692D; }
h2::before { background: #388E3C; }
#header .navbar { height: auto; min-height: 96px; }

.lm-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 24px 0 12px; }
@media (max-width: 900px) { .lm-plans { grid-template-columns: 1fr; } }
.lm-plan { border-radius: 16px; padding: 24px 22px; display: flex; flex-direction: column; color: #FFFFFF; font-size: 16px; line-height: 1.4; }
.lm-plan.t1 { background: #E7F9E8; color: #1F2A20; border: 2px solid #388E3C; }
.lm-plan.t2 { background: linear-gradient(160deg, #388E3C, #2A692D); }
.lm-plan.t3 { background: linear-gradient(160deg, #2A692D, #1F2A20); }
.lm-top { min-height: 30px; }
.lm-badge { display: inline-block; background: #E0A82E; color: #1F2A20; font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 13px; border-radius: 999px; padding: 2px 10px; }
.lm-name { font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.1; }
.lm-for { margin-top: 4px; min-height: 44px; }
.lm-price { font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 40px; line-height: 1; margin-top: 14px; }
.lm-price small { font-size: 16px; font-weight: 500; margin-right: 6px; }
.lm-per { font-size: 14px; margin-top: 4px; min-height: 36px; }
.lm-lead { font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; margin-top: 12px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.4); }
.lm-plan.t1 .lm-lead { border-top-color: #388E3C; }
.lm-plan ul { list-style: none; margin: 10px 0 18px; padding: 0; flex: 1; }
.lm-plan li { padding-left: 22px; position: relative; margin: 0 0 8px; }
.lm-plan li::before { content: "\2713"; position: absolute; left: 0; font-weight: 700; }
.lm-btn { display: block; text-align: center; background: #FFFFFF; color: #2A692D; font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; border-radius: 8px; padding: 10px; }
.lm-plan.t1 .lm-btn { background: #388E3C; color: #FFFFFF; }
.lm-scroll { overflow-x: auto; margin: 16px 0 24px; }
.lm-compare { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px; }
.lm-compare th, .lm-compare td { padding: 10px 8px; text-align: center; border: 0; border-bottom: 1px solid #D5DDD6; background: transparent; }
.lm-compare th:first-child, .lm-compare td:first-child { text-align: left; }
.lm-compare th { font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 18px; color: #1F2A20; border-bottom: 2px solid #1F2A20; }
.lm-compare th.c1 { border-top: 6px solid #46B34B; }
.lm-compare th.c2 { border-top: 6px solid #388E3C; }
.lm-compare th.c3 { border-top: 6px solid #2A692D; }
.lm-compare tr.grp td { text-align: left; padding-top: 22px; font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.02em; text-transform: uppercase; color: #388E3C; }
.lm-compare td.y::before, .lm-compare td.n::before { display: inline-block; width: 24px; height: 24px; line-height: 20px; border-radius: 50%; border: 2px solid; font-weight: 700; font-size: 15px; }
.lm-compare td.y::before { content: "\2713"; color: #388E3C; border-color: #388E3C; }
.lm-compare td.n::before { content: "\2013"; color: #B8C2B9; border-color: #B8C2B9; }

.lm-plan li { list-style: none; color: inherit; }
.lm-plan li::marker { content: ""; }
.lm-plan.t2, .lm-plan.t2 li { color: #FFFFFF; }
.lm-plan.t3 { background: linear-gradient(160deg, #E0A82E, #C9951F); color: #1F2A20; }
.lm-plan.t3 li { color: #1F2A20; }
.lm-plan.t3 .lm-lead { border-top-color: rgba(31, 42, 32, 0.35); }
.lm-plan.t3 .lm-btn { background: #1F2A20; color: #FFFFFF; }
.lm-badge { background: #E7F9E8; color: #2A692D; }
.lm-compare th.c3 { border-top-color: #E0A82E; }

.lm-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; margin: 24px 0; }
@media (max-width: 800px) { .lm-board { grid-template-columns: 1fr; } }
.lm-col { background: #EEF3EE; border-radius: 12px; padding: 12px; }
.lm-col-head { display: flex; align-items: center; gap: 8px; font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; color: #1F2A20; margin: 2px 4px 12px; }
.lm-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.lm-dot.d1 { background: #388E3C; }
.lm-dot.d2 { background: #2A692D; }
.lm-dot.d3 { background: #E0A82E; }
.lm-count { margin-left: auto; background: #D5DDD6; border-radius: 999px; padding: 0 8px; font-size: 13px; }
.lm-ticket { background: #FFFFFF; border-radius: 6px; padding: 12px 14px; margin-bottom: 10px; box-shadow: 0 1px 1px rgba(31, 42, 32, 0.2), 0 0 1px rgba(31, 42, 32, 0.3); transition: box-shadow 0.15s, transform 0.15s; }
.lm-ticket:hover { box-shadow: 0 4px 10px rgba(31, 42, 32, 0.2); transform: translateY(-1px); }
.lm-t-title { font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 500; font-size: 18px; line-height: 1.25; color: #1F2A20; margin-bottom: 6px; }
.lm-ticket p { margin: 0 0 10px; font-size: 15px; line-height: 1.45; color: #1F2A20; }
.lm-t-foot { display: flex; align-items: center; justify-content: space-between; }
.lm-chip { background: #E7F9E8; color: #2A692D; font-family: "Alegreya Sans", Calibri, sans-serif; font-weight: 700; font-size: 12px; border-radius: 3px; padding: 1px 6px; text-transform: uppercase; letter-spacing: 0.04em; }
.lm-key { font-size: 13px; color: #5A665B; }
.lm-idea { border: 2px dashed #B8C2B9; border-radius: 6px; padding: 12px 14px; font-size: 15px; color: #5A665B; text-align: center; }

body:has(.lm-board) .container { max-width: 1400px !important; width: 100%; }
body:has(.lm-board) .content-item { max-width: none; }
