/* NID R250 — cardurile de servicii si cardul designerului, pe pagina principala
   si pe paginile de oras.

   Asezarea, raportul imaginii si acoperirea raman scrise pe elemente in sablon,
   ca blocul sa fie corect si daca acest fisier nu se incarca. Aici sta restul.

   Cardul designerului nu mai este banda lata separata: intra in aceeasi grila,
   ca al noualea card. Noua carduri pe trei coloane inseamna exact trei randuri,
   iar portretul nu mai este strivit intr-o fasie 21:9. */

.nid-r250-services,
.nid-r250-author {
    box-sizing: border-box;
}

.nid-r250-title {
    font-size: clamp(20px, 2.4vw, 27px);
    line-height: 1.25;
    margin: 0 0 22px;
    text-align: center;
    letter-spacing: .2px;
}

.nid-r250-card {
    margin: 0;
}

.nid-r250-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.nid-r250-media {
    background: #f2f0ed;
    border-radius: 3px;
}

.nid-r250-media img {
    transition: transform .45s ease;
}

.nid-r250-card-link:hover .nid-r250-media img {
    transform: scale(1.03);
}

.nid-r250-card-title {
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.3;
    margin: 12px 0 5px;
    font-weight: 600;
}

.nid-r250-card-link:hover .nid-r250-card-title {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.nid-r250-card-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    opacity: .78;
}

/* Cardul designerului: acelasi tipar ca serviciile, cu un accent discret. */
.nid-r250-card-home-author .nid-r250-card-title {
    letter-spacing: .2px;
}

.nid-r250-card-home-author .nid-r250-media {
    border: 1px solid rgba(201, 168, 102, .55);
}

@media (max-width: 799px) {
    .nid-r250-services {
        margin-top: 20px !important;
        margin-bottom: 24px !important;
    }

    .nid-r250-author {
        margin-bottom: 26px !important;
    }

    .nid-r250-grid {
        gap: 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nid-r250-media img {
        transition: none;
    }

    .nid-r250-card-link:hover .nid-r250-media img {
        transform: none;
    }
}

/* NID CITY R283 STABLE CARD LAYOUT
   Single source of truth for city service + author cards.
   Prevents a lone last card from growing to full desktop width. */
[data-nid-r250-city-services] .nid-r250-grid{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:24px!important;
}

[data-nid-r250-city-services] .nid-r250-grid > .nid-r250-card{
    box-sizing:border-box!important;
    flex:0 0 calc((100% - 48px)/3)!important;
    width:calc((100% - 48px)/3)!important;
    max-width:calc((100% - 48px)/3)!important;
    min-width:0!important;
    margin:0!important;
}

/* Unique-class fallback: still correct even if future markup moves the author outside the grid. */
.nid-r250-card-city-author{
    box-sizing:border-box!important;
    flex:0 0 calc((100% - 48px)/3)!important;
    width:calc((100% - 48px)/3)!important;
    max-width:calc((100% - 48px)/3)!important;
    min-width:0!important;
    margin:0!important;
}

.nid-r250-card-city-author .nid-r250-media{
    width:100%!important;
    max-width:100%!important;
}

@media (min-width:768px) and (max-width:1199px){
    [data-nid-r250-city-services] .nid-r250-grid > .nid-r250-card,
    .nid-r250-card-city-author{
        flex-basis:calc((100% - 24px)/2)!important;
        width:calc((100% - 24px)/2)!important;
        max-width:calc((100% - 24px)/2)!important;
    }
}

@media (max-width:767px){
    [data-nid-r250-city-services] .nid-r250-grid > .nid-r250-card,
    .nid-r250-card-city-author{
        flex-basis:100%!important;
        width:100%!important;
        max-width:100%!important;
    }
}
