/* Starter defaults stay scoped so advanced layouts retain their own styling. */
.builder-homepage .builder-section.site-starter-section[data-builder-id] > .wrap {
    width: min(1140px, calc(100% - 64px));
    max-width: 1140px;
}
.site-starter-section .builder-heading {
    font-size: inherit;
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.site-starter-hero .builder-heading { line-height: 1.12; }
.site-starter-hero .builder-text p { font-size: inherit; line-height: 1.7; }
.site-starter-portrait .builder-media img {
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 8px 28px rgb(15 23 42 / 10%);
}
.site-starter-section .site-card-carousel {
    width: 100%;
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
}
.site-starter-section .site-card-carousel-swiper {
    padding: 8px 4px 20px;
    margin-inline: -4px;
    width: calc(100% + 8px);
}
.site-starter-section .site-card-vertical.news-card { min-height: 0; }
/* Give both catalogues the same content slots, including optional ratings.
   Rows can still grow when translated badges need more room. */
.site-starter-section .site-card-vertical-body {
    display: grid;
    grid-template-rows: auto auto minmax(24px, auto) minmax(62px, auto);
    gap: 10px;
}
.site-starter-section .site-card-vertical-title {
    grid-row: 1;
    min-height: 2.7em;
    margin: 0;
}
.site-starter-section .site-card-vertical-description {
    grid-row: 2;
    min-height: 3.1em;
    margin: 0 !important;
    -webkit-line-clamp: 2;
}
.site-starter-section .site-card-rating {
    grid-row: 3;
    align-self: start;
    margin: 0 !important;
}
.site-starter-section .site-card-tags {
    grid-row: 4;
    align-content: start;
    align-items: start;
    gap: 6px;
    margin: 0 !important;
    padding: 0;
}
.site-starter-section .site-card-carousel-prev { left: -24px !important; }
.site-starter-section .site-card-carousel-next { right: -24px !important; }
@media (max-width: 767px) {
    .site-starter-section .site-card-carousel-swiper { overflow: hidden !important; }
    .site-starter-section .site-card-carousel .swiper-slide {
        width: 100% !important;
        min-width: 100% !important;
    }
    .site-starter-section .site-card-carousel-prev { left: -16px !important; }
    .site-starter-section .site-card-carousel-next { right: -16px !important; }
}
@media (min-width: 768px) {
    .site-starter-section .site-card-carousel .swiper-slide {
        width: calc((100% - 20px) / 2) !important;
        min-width: calc((100% - 20px) / 2) !important;
    }
}
@media (min-width: 1024px) {
    .site-starter-section .site-card-carousel .swiper-slide {
        width: calc((100% - 40px) / 3) !important;
        min-width: calc((100% - 40px) / 3) !important;
    }
}
@media (min-width: 1280px) {
    .site-starter-section .site-card-carousel .swiper-slide {
        width: calc((100% - 48px) / 3) !important;
        min-width: calc((100% - 48px) / 3) !important;
    }
}
.site-starter-section .builder-about-lector .ip-hero-gradient {
    padding: 48px;
    border-radius: 28px;
}
.site-starter-section .builder-about-lector .ip-lektor-main-info {
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
    gap: 56px;
}
.site-starter-section .builder-about-lector .ip-lektor-name { font-size: 32px; }
.site-starter-section .builder-about-lector .ip-lektor-title { font-size: 18px; }
/* A text-only profile should not reserve space for a placeholder portrait. */
.site-starter-section .builder-about-lector .ip-lektor-main-info:not(:has(.ip-lektor-avatar-img)) { grid-template-columns: 1fr; }
.site-starter-section .builder-about-lector .ip-lektor-avatar:not(:has(img)) { display: none; }
body[data-draft-preview="1"] .site-starter-section .is-builder-hidden { display: none !important; }
@media (max-width: 700px) {
    .builder-homepage .builder-section.site-starter-section[data-builder-id] > .wrap { width: calc(100% - 40px); }
    .site-starter-section .builder-about-lector .ip-hero-gradient { padding: 32px 24px; border-radius: 20px; }
    .site-starter-section .builder-about-lector .ip-lektor-main-info { grid-template-columns: 1fr; gap: 32px; }
    .site-starter-section .builder-about-lector .ip-lektor-avatar { width: 160px; }
    .site-starter-section .builder-about-lector .ip-lektor-name { font-size: 26px; }
}
