/* ==========================================================
   LICENSES PAGE
   ========================================================== */

.licenses-page {
    max-width:1200px;
    margin:0 auto;
}

.licenses-intro {
    max-width:860px;
    margin:0 auto 3rem;
}

.licenses-section {
    margin-bottom:4rem;
}


/* ==========================================================
   MEDICAL LICENSE
   ========================================================== */

.license-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:2.5rem;

    padding:2rem;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius-lg);

    background:var(--villa-surface);
    box-shadow:var(--villa-shadow);
}

.license-card__main {
    min-width:0;
}

.license-card__title {
    margin:.35rem 0 1.5rem;

    color:var(--villa-green-dark);

    font-size:1.55rem;
    line-height:1.35;
}


/* Facts */

.license-facts,
.accreditation-facts {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));

    overflow:hidden;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius);
}

.license-fact {
    min-width:0;

    padding:1rem 1.1rem;

    background:rgba(255,255,255,.65);

    border-right:1px solid var(--villa-border);
    border-bottom:1px solid var(--villa-border);
}

.license-fact:nth-child(2n) {
    border-right:0;
}

.license-facts .license-fact:nth-last-child(-n+2) {
    border-bottom:0;
}

.license-fact__label {
    display:block;

    margin-bottom:.25rem;

    color:var(--villa-muted);

    font-size:.72rem;
    line-height:1.3;

    text-transform:uppercase;
    letter-spacing:.035em;
}

.license-fact__value {
    display:block;

    color:var(--villa-text);

    font-size:.94rem;
    font-weight:500;
    line-height:1.5;

    overflow-wrap:anywhere;
}


/* Address */

.license-address {
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:.85rem;
    align-items:center;

    margin-top:1.25rem;
    padding:1rem 1.1rem;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius-sm);

    background:var(--villa-surface-green);
}

.license-address__icon {
    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    color:var(--villa-green);

    font-size:1rem;
}

.license-address__label {
    margin-bottom:.2rem;

    color:var(--villa-muted);

    font-size:.78rem;
}

.license-address__value {
    color:var(--villa-text);

    font-size:.95rem;
    font-weight:500;
    line-height:1.5;
}


/* Actions */

.license-card__actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.75rem;

    margin-top:1.4rem;
}


/* QR */

.license-card__verify {
    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
}

.license-qr {
    width:210px;
    max-width:100%;
    padding:.65rem;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius);

    background:var(--villa-surface-solid);
}

.license-qr img {
    display:block;

    width:100%;
    height:auto;
}

.license-card__verify-title {
    margin-top:.8rem;

    color:var(--villa-green-dark);

    font-size:.9rem;
}

.license-card__verify-text {
    max-width:210px;

    margin:.25rem 0 0;

    color:var(--villa-muted);

    font-size:.76rem;
    line-height:1.5;
}


/* ==========================================================
   LICENSED SERVICES
   ========================================================== */

.licensed-services {
    padding:1.4rem 1.5rem;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius);

    background:var(--villa-surface-soft);
}

.licensed-services__list {
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
}

.licensed-service {
    display:inline-flex;
    align-items:center;

    padding:.5rem .75rem;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius-sm);

    background:rgba(255,255,255,.72);

    color:var(--villa-text-soft);

    font-size:.84rem;
    line-height:1.35;
}


/* ==========================================================
   ACCREDITATION
   ========================================================== */

.accreditation-card {
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:1.3rem;

    padding:1.6rem;

    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius-lg);

    background:var(--villa-surface);
    box-shadow:var(--villa-shadow);
}

.accreditation-card__icon {
    display:flex;
    align-items:center;
    justify-content:center;

    width:58px;
    height:58px;

    border-radius:var(--villa-radius);

    background:var(--villa-surface-green);

    color:var(--villa-green);

    font-size:1.35rem;
}

.accreditation-card__content {
    min-width:0;
}

.accreditation-card__head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1.5rem;

    margin-bottom:1.25rem;
}

.accreditation-card__title {
    margin:.25rem 0 0;

    color:var(--villa-green-dark);

    font-size:1.2rem;
}

.accreditation-status {
    display:inline-flex;
    align-items:center;

    flex:0 0 auto;

    padding:.45rem .7rem;

    border:1px solid rgba(var(--bs-villa-gr-rgb),.18);
    border-radius:var(--villa-radius-sm);

    background:var(--villa-surface-green);

    color:var(--villa-green-dark);

    font-size:.78rem;
    font-weight:500;

    white-space:nowrap;
}


/* Accreditation fact layout */

.accreditation-facts .accreditation-fact--wide {
    grid-column:1 / -1;

    border-right:0;
    border-bottom:0;
}

.accreditation-facts .license-fact:nth-child(2) {
    border-right:0;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width:991.98px) {

    .license-card {
        grid-template-columns:minmax(0,1fr) 185px;
        gap:1.5rem;
    }

    .license-qr {
        width:175px;
    }

}

@media (max-width:767.98px) {

    .licenses-section {
        margin-bottom:3rem;
    }

    .license-card {
        grid-template-columns:1fr;

        padding:1.25rem;
    }

    .license-facts,
    .accreditation-facts {
        grid-template-columns:1fr;
    }

    .license-fact,
    .license-fact:nth-child(2n),
    .license-facts .license-fact:nth-last-child(-n+2) {
        border-right:0;
        border-bottom:1px solid var(--villa-border);
    }

    .license-facts .license-fact:last-child,
    .accreditation-facts .license-fact:last-child {
        border-bottom:0;
    }

    .license-card__verify {
        padding-top:.25rem;
    }

    .license-qr {
        width:190px;
    }

    .license-card__actions {
        align-items:stretch;
    }

    .license-card__actions > .btn,
    .license-card__actions > .uni-button {
        width:100%;
    }

    .accreditation-card {
        grid-template-columns:46px minmax(0,1fr);

        gap:1rem;

        padding:1.2rem;
    }

    .accreditation-card__icon {
        width:46px;
        height:46px;

        font-size:1.1rem;
    }

    .accreditation-card__head {
        flex-direction:column;

        gap:.75rem;
    }

    .accreditation-status {
        white-space:normal;
    }

    .accreditation-facts .accreditation-fact--wide {
        grid-column:auto;
    }

}














.awards-masonry {
    columns:3;
    column-gap:1.25rem;
}

.award-item {
    display:inline-block;
    width:100%;
    margin:0 0 1.25rem;

    color:inherit;
    text-decoration:none;

    background:var(--villa-surface-solid);
    border:1px solid var(--villa-border);
    border-radius:var(--villa-radius);
    overflow:hidden;

    break-inside:avoid;
    -webkit-column-break-inside:avoid;

    box-shadow:var(--villa-shadow);

    transition:
        transform var(--villa-transition),
        box-shadow var(--villa-transition),
        border-color var(--villa-transition);
}

.award-item:hover {
    color:inherit;

    transform:translateY(-2px);

    border-color:rgba(var(--bs-villa-gr-rgb),.18);

    box-shadow:var(--villa-shadow-hover);
}

.award-image-wrap {
    position:relative;
    overflow:hidden;
}

.award-image-wrap img {
    display:block;

    width:100%;
    height:auto;

    transition:transform .35s ease;
}

.award-item:hover .award-image-wrap img {
    transform:scale(1.025);
}

.award-zoom {
    position:absolute;
    right:.75rem;
    bottom:.75rem;

    display:flex;
    align-items:center;
    justify-content:center;

    width:36px;
    height:36px;

    border-radius:50%;

    background:rgba(255,255,255,.88);
    color:var(--villa-green-dark);

    box-shadow:0 3px 10px rgba(0,0,0,.12);

    opacity:0;
    transform:translateY(4px);

    transition:
        opacity var(--villa-transition),
        transform var(--villa-transition);
}

.award-item:hover .award-zoom {
    opacity:1;
    transform:translateY(0);
}

.award-caption {
    padding:.9rem 1rem 1rem;
}

.award-caption strong {
    display:block;

    color:var(--villa-green-dark);

    font-size:.95rem;
    font-weight:600;
    line-height:1.4;
}

.award-caption span {
    display:block;

    margin-top:.25rem;

    color:var(--villa-muted);

    font-size:.78rem;
    line-height:1.45;
}

@media (max-width:991.98px) {
    .awards-masonry {
        columns:2;
    }
}

@media (max-width:575.98px) {
    .awards-masonry {
        columns:1;
    }

    .award-item {
        margin-bottom:1rem;
    }
}

@media (prefers-reduced-motion:reduce) {
    .award-item,
    .award-image-wrap img,
    .award-zoom {
        transition:none!important;
    }

    .award-item:hover,
    .award-item:hover .award-image-wrap img,
    .award-item:hover .award-zoom {
        transform:none!important;
    }
}