/* Lapland trip cost calculator (2026-09-28). Same editorial skin as the
   newsletter box (cream, gold rule, navy text) so it reads as part of the
   guide and not as one of the affiliate boxes. Scoped to .entry-content like
   the other post-body components; Kadence's own table rules stay untouched. */
.entry-content .ltp-calc {
    background: #faf8f5;
    border: 1px solid #e8e6e3;
    border-top: 3px solid var(--ltp-amber, #d4a847);
    border-radius: 6px;
    padding: 1.4rem 1.5rem 1.2rem;
    margin: 2rem 0 2.5rem;
}
.entry-content .ltp-calc > h2 {
    margin: 0 0 0.3rem;
    font-size: 1.5rem;
}
.entry-content .ltp-calc__intro {
    margin: 0 0 1rem;
    color: #2c3e50;
}
.entry-content .ltp-calc__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.6rem 0.8rem;
    margin: 0 0 0.9rem;
}
.entry-content .ltp-calc__grid label,
.entry-content .ltp-calc__inline {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #2c3e50;
}
.entry-content .ltp-calc select {
    width: 100%;
    padding: 0.5rem 0.6rem;
    font-size: 0.95rem;
    font-weight: 400;
    background: #fff;
    border: 1px solid #d9d5cf;
    border-radius: 4px;
    color: #2c3e50;
}
.entry-content .ltp-calc select:focus,
.entry-content .ltp-calc input[type="email"]:focus {
    outline: none;
    border-color: #2c3e50;
    box-shadow: 0 0 0 3px rgba(44, 62, 80, 0.12);
}
.entry-content .ltp-calc__acts {
    border: 1px solid #e8e6e3;
    border-radius: 6px;
    padding: 0.6rem 0.9rem 0.8rem;
    margin: 0 0 1rem;
    background: #fff;
}
.entry-content .ltp-calc__acts legend {
    padding: 0 0.4rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #2c3e50;
}
.entry-content .ltp-calc__check {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.6rem;
    align-items: baseline;
    padding: 0.2rem 0;
    font-size: 0.95rem;
    line-height: 1.4;
}
.entry-content .ltp-calc__check[hidden] { display: none; }
.entry-content .ltp-calc__check label {
    display: flex;
    gap: 0.5rem;
    align-items: baseline;
    cursor: pointer;
    font-weight: 400;
}
.entry-content .ltp-calc__check input { margin: 0; flex: 0 0 auto; position: relative; top: 2px; }
.entry-content .ltp-calc select.ltp-calc__days {
    width: auto;
    padding: 0.2rem 0.4rem;
    font-size: 0.85rem;
    margin-left: 1.6rem;
}
.entry-content .ltp-calc select.ltp-calc__days:disabled { opacity: 0.45; }
.entry-content .ltp-calc__check em {
    font-style: normal;
    color: #5b6b7c;
    white-space: nowrap;
}
.entry-content .ltp-calc__subopts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.5rem;
    align-items: center;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed #e8e6e3;
}
.entry-content .ltp-calc__inline { flex-direction: row; align-items: center; gap: 0.5rem; }
.entry-content .ltp-calc__inline select { width: auto; }

/* Result table. The theme's .table-wrap gives horizontal scroll on narrow
   screens; the table itself stays three columns so it never stacks. */
.entry-content .ltp-calc__table { width: 100%; border-collapse: collapse; font-size: 0.93rem; }
.entry-content .ltp-calc__table th,
.entry-content .ltp-calc__table td {
    padding: 0.45rem 0.5rem;
    border-bottom: 1px solid #e8e6e3;
    vertical-align: top;
    text-align: left;
}
.entry-content .ltp-calc__table thead th {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5b6b7c;
    border-bottom: 2px solid #d9d5cf;
}
.entry-content .ltp-calc__table tfoot th,
.entry-content .ltp-calc__table tfoot td { border-bottom: 0; }
.entry-content .ltp-calc__table tfoot tr:first-child th {
    border-top: 2px solid #2c3e50;
    font-size: 1rem;
    padding-top: 0.6rem;
}
.entry-content .ltp-calc__table .ltp-calc__num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.entry-content .ltp-calc__table small { display: block; color: #5b6b7c; font-size: 0.82rem; }
.entry-content .ltp-calc__link {
    display: inline-block;
    margin-top: 0.15rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #2c3e50;
    text-decoration: underline;
    text-decoration-color: var(--ltp-amber, #d4a847);
    text-underline-offset: 2px;
}
.entry-content .ltp-calc__band { margin: 0.8rem 0 0; color: #2c3e50; }
.entry-content .ltp-calc__band--muted { color: #5b6b7c; font-size: 0.9rem; margin-top: 0.4rem; }

/* Copy / email row */
.entry-content .ltp-calc__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin: 1.1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid #e8e6e3;
}
.entry-content .ltp-calc__email { display: flex; flex: 1 1 280px; gap: 0.5rem; margin: 0; }
.entry-content .ltp-calc__email input[type="email"] {
    flex: 1 1 160px;
    min-width: 0;
    padding: 0.55rem 0.8rem;
    font-size: 0.95rem;
    background: #fff;
    border: 1px solid #d9d5cf;
    border-radius: 4px;
}
.entry-content .ltp-calc__btn {
    flex: 0 0 auto;
    padding: 0.55rem 1.1rem;
    border: none;
    border-radius: 4px;
    background: #2c3e50;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
}
.entry-content .ltp-calc__btn:hover { background: #1a2744; }
.entry-content .ltp-calc__btn:disabled { opacity: 0.6; cursor: default; }
.entry-content .ltp-calc__btn--ghost {
    background: #fff;
    color: #2c3e50;
    border: 1px solid #2c3e50;
}
.entry-content .ltp-calc__btn--ghost:hover { background: #f1f3f5; }
.entry-content .ltp-calc__msg { flex: 1 1 100%; margin: 0; font-size: 0.9rem; }
.entry-content .ltp-calc__msg:empty { display: none; }
.entry-content .ltp-calc__msg.is-ok { color: #2f9a87; font-weight: 600; }
.entry-content .ltp-calc__msg.is-error { color: #b23a3a; }
.entry-content .ltp-calc__fine { flex: 1 1 100%; margin: 0; font-size: 0.8rem; color: #5b6b7c; }
.entry-content .ltp-calc__how { margin-top: 1rem; font-size: 0.9rem; color: #2c3e50; }
.entry-content .ltp-calc__how summary { cursor: pointer; font-weight: 700; }
.entry-content .ltp-calc__how ul { margin: 0.5rem 0 0.5rem 1.2rem; }
.entry-content .ltp-calc__noscript { margin: 0; color: #5b6b7c; }

@media (max-width: 480px) {
    .entry-content .ltp-calc { padding: 1.1rem 0.9rem 1rem; }
    .entry-content .ltp-calc__grid { grid-template-columns: 1fr 1fr; }
    .entry-content .ltp-calc__table { font-size: 0.86rem; }
    .entry-content .ltp-calc__table th, .entry-content .ltp-calc__table td { padding: 0.4rem 0.3rem; }
}
