.lara-opening {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin: 0;
    padding: 11px 16px;
    border: 1px solid #b9dfca;
    border-radius: 999px;
    background: #edf8f2;
    color: #0d633b;
    font-weight: 750;
}

.lara-opening svg { display: block; flex: 0 0 auto; }
.lara-opening time { color: #001d40; font-weight: 850; }
.lara-schedule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.lara-benefit-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: #edf8f2;
    color: #0d633b;
}

.lara-location-details {
    margin: 24px 0;
    padding: 20px;
    border: 1px solid var(--gym-border);
    border-top: 3px solid var(--gym-accent);
    border-radius: 16px;
    background: #fff;
}

.lara-facility-card {
    --lara-facility-padding: clamp(24px, 4vw, 40px);
    overflow: hidden;
    padding: var(--lara-facility-padding);
    border: 1px solid var(--gym-border);
    border-top: 3px solid var(--gym-accent);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(0, 29, 64, .07);
}

.lara-facility-card > .gym-icon { margin-bottom: 18px; }
.lara-facility-content { padding-top: 4px; }
.lara-facility-card h3 { margin: 0 0 6px; color: var(--gym-navy); font-size: 1.35rem; }
.lara-facility-content > p { margin: 0 0 22px; color: var(--gym-muted); }

.lara-facility-image {
    display: block;
    width: calc(100% + var(--lara-facility-padding) + var(--lara-facility-padding));
    max-width: none;
    height: auto;
    margin: calc(0px - var(--lara-facility-padding)) calc(0px - var(--lara-facility-padding)) 26px;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.lara-trial-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 18px;
    margin-top: 20px;
}

.lara-trial-list li { display: flex; align-items: flex-start; gap: 8px; color: #31475f; font-size: .91rem; }
.lara-trial-list svg { flex: 0 0 auto; color: #15834f; }
.lara-coach-credential { margin: 10px 0 0; color: var(--gym-muted); font-size: .86rem; line-height: 1.5; }

.lara-trial-layout:has(.lara-trial-media) {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(260px, .55fr);
    gap: 18px;
}

.lara-trial-layout:has(.lara-trial-media) .gym-trial-card { grid-template-columns: 1fr; }
.lara-trial-layout:has(.lara-trial-media) .gym-trial-card .btn { width: fit-content; }
.lara-trial-media { min-height: 100%; margin: 0; overflow: hidden; border-radius: 22px; }
.lara-trial-media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.lara-price-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .65fr);
    align-items: center;
    gap: clamp(28px, 6vw, 70px);
}

.lara-price-layout h2 { margin-bottom: 14px; color: var(--gym-navy); font-size: clamp(1.8rem, 4vw, 2.75rem); }
.lara-price-layout > div > p:last-child { max-width: 680px; color: var(--gym-muted); line-height: 1.7; }

.lara-price-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--gym-border);
    border-top: 3px solid var(--gym-accent);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(0, 29, 64, .07);
}

.lara-price-card div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; }
.lara-price-card div + div { border-top: 1px solid var(--gym-border); }
.lara-price-card dt { display: grid; gap: 4px; color: var(--gym-muted); font-weight: 700; }
.lara-price-card dt small { color: #8695a4; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.lara-price-card dd { display: grid; gap: 2px; margin: 0; color: #176d43; font-size: 1.15rem; font-weight: 850; text-align: right; }
.lara-price-card dd span { color: #52705f; font-size: .9rem; font-weight: 750; }
.lara-final-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }

@media (max-width: 850px) {
    .lara-price-layout { grid-template-columns: 1fr; }
    .lara-trial-layout:has(.lara-trial-media) { grid-template-columns: 1fr; }
    .lara-trial-media { max-height: 420px; aspect-ratio: 3 / 2; }
}

@media (max-width: 680px) {
    .lara-schedule-grid { grid-template-columns: 1fr; }
    .lara-opening { align-items: flex-start; border-radius: 15px; line-height: 1.45; }
    .lara-final-actions { align-items: stretch; flex-direction: column; }
    .lara-final-actions .btn { width: 100%; }
    .lara-trial-list { grid-template-columns: 1fr; }
    .lara-trial-layout:has(.lara-trial-media) .gym-trial-card .btn { width: 100%; }
}
