/**
 * Site-wide image slot constraints for non-Paynext themes.
 * Works with .pn-img-slot wrappers and theme-specific image classes.
 */

.pn-img-slot--hero-slide {
    display: block;
    width: 100%;
    max-height: 420px;
    aspect-ratio: 16 / 7;
}

.pn-img-slot--hero-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pn-img-slot--service-card {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.pn-img-slot--service-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pn-img-slot--banner {
    display: block;
    width: 100%;
    max-height: 320px;
    overflow: hidden;
}

.pn-img-slot--banner > img {
    width: 100%;
    height: 100%;
    max-height: 320px;
    object-fit: cover;
}

.pn-img-slot--why-choose {
    display: block;
    width: 100%;
    max-height: 360px;
    overflow: hidden;
}

.pn-img-slot--why-choose > img {
    width: 100%;
    height: 100%;
    max-height: 360px;
    object-fit: cover;
}

.pn-img-slot--appointment {
    display: block;
    width: 100%;
    max-width: 420px;
    max-height: 320px;
    overflow: hidden;
}

.pn-img-slot--appointment > img {
    width: 100%;
    height: 100%;
    max-height: 320px;
    object-fit: cover;
}

.pn-img-slot--gallery-item {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    overflow: hidden;
}

.pn-img-slot--gallery-item > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pn-img-slot--about-side {
    width: 162px;
    max-height: 505px;
}

.pn-img-slot--about-side > img {
    width: 100%;
    height: auto;
    max-height: 505px;
    object-fit: contain;
}

body.theme-amella .service-item .thumb,
body.theme-amella .pricing-table .thumb {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

body.theme-amella .service-item .thumb img,
body.theme-amella .pricing-table .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.theme-amella .team .thumb,
body.theme-amella .blog-item .thumb {
    aspect-ratio: 1;
    overflow: hidden;
}

body.theme-amella .team .thumb img,
body.theme-amella .blog-item .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.theme-amella .img-block img,
body.theme-amella .about-img img {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
}

body.theme-amella .navbar .navbar-brand .pn-img-slot--header-logo {
    max-width: 180px;
    max-height: 52px;
}

.theme-locksmith .custom-logo,
.theme-locksmith .elementor-widget-image img.attachment-full {
    width: 100%;
    max-width: 380px;
    height: auto;
    object-fit: cover;
}

.theme-locksmith .growmatic-document-image-slot {
    display: block;
    width: 100%;
    max-width: 100%;
}

.theme-locksmith .growmatic-document-image-slot.pn-img-slot--service-card {
    max-width: 380px;
    aspect-ratio: 380 / 480;
}

.theme-locksmith .growmatic-document-image-slot.pn-img-slot--about-side {
    width: auto;
    max-width: min(100%, 495px);
    max-height: 505px;
}

.theme-locksmith .growmatic-document-image-slot.pn-img-slot--banner {
    width: 100%;
    max-height: 480px;
    aspect-ratio: 2000 / 879;
}

.theme-locksmith .growmatic-document-image-slot.pn-img-slot--avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

.theme-locksmith .growmatic-document-image-slot > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-locksmith .growmatic-document-image-slot.pn-img-slot--about-side > img {
    object-fit: contain;
}

.theme-locksmith .elementor-widget-image img.attachment-full[width][height] {
    aspect-ratio: 380 / 480;
    max-height: 480px;
}

.theme-locksmith img[width="100"][height="100"] {
    width: 100px !important;
    height: 100px !important;
    object-fit: cover;
    border-radius: 50%;
}

.theme-locksmith img[width="162"][height="505"],
.theme-locksmith img[width="495"][height="990"] {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 505px;
    object-fit: contain;
}

.theme-festava .about-image,
.theme-festava .artists-image {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
}

.theme-festava .pn-img-slot--team,
.theme-festava .pn-img-slot--content-card {
    display: block;
    width: 100%;
    max-height: 420px;
    overflow: hidden;
}

.theme-festava .pn-img-slot--team > img,
.theme-festava .pn-img-slot--content-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-boax .nav-logo-img,
.theme-boax .nav-logo .pn-img-slot--header-logo {
    max-height: 48px;
    width: auto;
    max-width: 160px;
}

.theme-boax .tab-img,
.theme-boax .engineering-card-image,
.theme-boax .slider-card-img,
.theme-boax .engineered-card-img,
.theme-boax .cta-image {
    width: 100%;
    object-fit: cover;
}

.theme-boax .tab-img { max-height: 320px; }
.theme-boax .engineering-card-image,
.theme-boax .engineered-card-img { max-height: 280px; }
.theme-boax .slider-card-img { max-height: 360px; }

.theme-blake .bk-logo,
.theme-blake .bk-hero-image,
.theme-blake .bk-image,
.theme-ariahaus .ah-logo,
.theme-ariahaus .ah-hero-image,
.theme-ariahaus .ah-image,
.theme-ariahaus .ah-image-main,
.theme-ariahaus .ah-image-side,
.theme-ariahaus .ah-flat-image {
    object-fit: cover;
}

.theme-blake .bk-logo,
.theme-ariahaus .ah-logo {
    max-height: 48px;
    width: auto;
}

.theme-blake .bk-hero-image,
.theme-ariahaus .ah-hero-image {
    width: 100%;
    min-height: 280px;
    max-height: 520px;
}

.theme-blake .bk-image,
.theme-ariahaus .ah-image,
.theme-ariahaus .ah-image-main {
    width: 100%;
    min-height: 240px;
    max-height: 420px;
}

.theme-ariahaus .ah-image-side {
    max-height: 320px;
}

.theme-ariahaus .ah-flat-image {
    width: 100%;
    max-height: 280px;
}

img[src*="/storage/site/"] {
    max-width: 100%;
}

.theme-festava img[src*="/storage/site/"].about-image,
.theme-festava img[src*="/storage/site/"].artists-image {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
}

.theme-boax img[src*="/storage/site/"].tab-img {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
}

.theme-boax img[src*="/storage/site/"].engineering-card-image,
.theme-boax img[src*="/storage/site/"].engineered-card-img {
    width: 100%;
    max-height: 280px;
    object-fit: cover;
}

.theme-boax img[src*="/storage/site/"].slider-card-img {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
}

.growmatic-document-image-slot {
    display: block;
    max-width: 100%;
    overflow: hidden;
}

.growmatic-document-image-slot > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Shared slot image scaling (all themes) */
.pn-img-slot--team > img,
.pn-img-slot--gallery-item > img,
.pn-img-slot--service-card > img,
.pn-img-slot--why-choose > img,
.pn-img-slot--appointment > img,
.pn-img-slot--banner > img,
.pn-img-slot--hero-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pn-img-slot--avatar {
    width: 62px;
    height: 62px;
    border-radius: 50%;
}

.pn-img-slot--avatar > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.pn-img-slot--blog-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.pn-img-slot--blog-thumb > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.theme-amella .author_thumb .pn-img-slot--avatar {
    width: 62px;
    height: 62px;
}

body.theme-amella .gallery-item .pn-img-slot--gallery-item {
    display: block;
    width: 100%;
}

body.theme-amella .news-thumb {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

body.theme-amella .news-thumb .pn-img-slot,
body.theme-amella .news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.theme-amella .appoinment-img .pn-img-slot--appointment {
    display: inline-block;
    margin-left: auto;
}

body.theme-blake .bk-logo-link .pn-img-slot--header-logo,
body.theme-ariahaus .ah-logo-link .pn-img-slot--header-logo {
    max-width: 180px;
    max-height: 52px;
}

.theme-locksmith .custom-logo-link .pn-img-slot--header-logo {
    max-width: 200px;
    max-height: 56px;
}
