.evp-projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.evp-project-card{border:1px solid #e5e7eb;background:#fff;border-radius:8px;overflow:hidden;min-width:0;display:flex;flex-direction:column}.evp-project-card__image{display:block;overflow:hidden;background:#f3f4f6;line-height:0}.evp-project-card__image img{display:block;width:100%;height:240px;object-fit:cover;transition:transform .35s ease}.evp-project-card__image:hover img{transform:scale(1.03)}.evp-project-card__placeholder{height:240px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px}.evp-project-card__body{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1}.evp-project-card__id{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b7280}.evp-project-card__title{margin:0;font-size:21px;line-height:1.35}.evp-project-card__title a{color:inherit;text-decoration:none}.evp-project-card__meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:#6b7280}.evp-project-card__badge{display:inline-flex;padding:5px 10px;border-radius:30px;background:#e8f5e9;color:#216e39;font-size:12px;font-weight:600}.evp-project-card__scope{font-size:14px;line-height:1.65;color:#4b5563}.evp-project-card__button{display:inline-block;margin-top:auto;padding:10px 16px;background:#111827;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;font-weight:600}.evp-project-card__button:hover{opacity:.86;color:#fff}.evp-columns-1{grid-template-columns:1fr}.evp-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.evp-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.evp-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.evp-empty{padding:18px;border:1px dashed #d1d5db}@media(max-width:1024px){.evp-columns-4,.evp-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.evp-projects-grid,.evp-columns-1,.evp-columns-2,.evp-columns-3,.evp-columns-4{grid-template-columns:1fr}.evp-project-card__image img,.evp-project-card__placeholder{height:220px}}
/* Carousel mode */
.evp-projects-widget{width:100%;min-width:0}
.evp-carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin:0 0 18px}
.evp-carousel-controls button{width:42px;height:42px;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.evp-carousel-controls button:hover{background:#111827;color:#fff;border-color:#111827}
.evp-mode-carousel .evp-projects-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 1px 12px;scrollbar-width:thin}
.evp-mode-carousel .evp-project-card{flex:0 0 calc((100% - (var(--evp-columns, 3) - 1)*24px)/var(--evp-columns, 3));scroll-snap-align:start}
.evp-mode-carousel .evp-project-card__image img{width:100%}
.evp-mode-carousel .evp-project-card__body{height:100%;box-sizing:border-box}
.evp-mode-carousel .evp-project-card__button{align-self:flex-start}
@media(max-width:1024px){.evp-mode-carousel .evp-project-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:640px){.evp-mode-carousel .evp-project-card{flex-basis:88%}.evp-carousel-controls button{width:38px;height:38px}}
/* Single project detail page */
.evp-single-project{padding:48px 20px 80px;background:#fff;color:#1f2937}
.evp-single-project__container{max-width:1200px;margin:0 auto}
.evp-single-project__breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:#6b7280;font-size:13px;margin:0 0 28px}
.evp-single-project__breadcrumbs a{color:inherit;text-decoration:none}
.evp-single-project__breadcrumbs a:hover{color:#1e40af}
.evp-single-project__header{margin-bottom:30px}
.evp-single-project__eyebrow{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#1e40af;margin-bottom:10px}
.evp-single-project__title{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 10px;color:#1e3a8a}
.evp-single-project__location{margin:0;color:#6b7280;font-size:16px}
.evp-single-project__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}
.evp-single-project__visual{position:relative;min-width:0}
.evp-single-project__image{display:block;width:100%;height:auto;max-height:680px;object-fit:cover;border-radius:10px}
.evp-single-project__image-placeholder{min-height:360px;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#6b7280}
.evp-single-project__content h2{font-size:25px;line-height:1.3;margin:0 0 16px;color:#111827}
.evp-single-project__content h3{font-size:18px;margin:24px 0 10px;color:#111827}
.evp-single-project__description{font-size:15px;line-height:1.8;color:#4b5563}
.evp-single-project__description p{margin:0 0 14px}
.evp-single-project__scope{margin:24px 0}
.evp-single-project__scope p{font-size:15px;line-height:1.8;margin:0;color:#4b5563}
.evp-single-project__details{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-top:24px}
.evp-single-project__detail{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border-bottom:1px solid #e5e7eb;min-width:0}
.evp-single-project__detail:nth-child(odd){border-right:1px solid #e5e7eb}
.evp-single-project__detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;font-weight:700}
.evp-single-project__detail-value{font-size:14px;line-height:1.55;color:#111827;overflow-wrap:anywhere}
.evp-single-project__additional{margin-top:32px;padding:20px;background:#f9fafb;border-radius:8px;font-size:14px;line-height:1.7;color:#4b5563}
.evp-single-project__additional p:last-child{margin-bottom:0}
@media(max-width:767px){.evp-single-project{padding:28px 16px 48px}.evp-single-project__layout{grid-template-columns:1fr;gap:26px}.evp-single-project__details{grid-template-columns:1fr}.evp-single-project__detail:nth-child(odd){border-right:0}.evp-single-project__image-placeholder{min-height:240px}}

.evp-mode-carousel .evp-columns-1 .evp-project-card{flex-basis:100%}
.evp-mode-carousel .evp-columns-2 .evp-project-card{flex-basis:calc((100% - 24px)/2)}
.evp-mode-carousel .evp-columns-3 .evp-project-card{flex-basis:calc((100% - 48px)/3)}
.evp-mode-carousel .evp-columns-4 .evp-project-card{flex-basis:calc((100% - 72px)/4)}
@media(max-width:1024px){.evp-mode-carousel .evp-columns-4 .evp-project-card,.evp-mode-carousel .evp-columns-3 .evp-project-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:640px){.evp-mode-carousel .evp-columns-1 .evp-project-card,.evp-mode-carousel .evp-columns-2 .evp-project-card,.evp-mode-carousel .evp-columns-3 .evp-project-card,.evp-mode-carousel .evp-columns-4 .evp-project-card{flex-basis:88%}}

/* Elementor single project detail widget */
.evpd-detail{width:100%;box-sizing:border-box;padding:0;background:transparent;color:#1f2937}
.evpd-detail__layout{display:grid;grid-template-columns:minmax(0,var(--evpd-image-width,48%)) minmax(0,1fr);gap:var(--evpd-gap,44px);align-items:start}
.evpd-detail__visual{min-width:0}
.evpd-detail__image{display:block;width:100%;height:var(--evpd-image-height,480px);object-fit:var(--evpd-image-fit,cover);border-radius:8px}
.evpd-detail__placeholder{min-height:300px;background:#f3f4f6;border:1px dashed #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#64748b}
.evpd-detail__content{min-width:0;box-sizing:border-box}
.evpd-detail__breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:12px;line-height:1.5;color:#6b7280;margin:0 0 20px}
.evpd-detail__breadcrumbs a{color:inherit;text-decoration:none}
.evpd-detail__breadcrumbs a:hover{color:#1e40af}
.evpd-detail__title{font-size:clamp(26px,3vw,42px);line-height:1.2;color:#1e3a8a;margin:0 0 12px}
.evpd-detail__location{margin:0 0 22px;color:#64748b;font-size:15px}
.evpd-detail__heading{font-size:24px;line-height:1.35;color:#111827;border-bottom:1px solid #e5e7eb;padding-bottom:16px;margin:0 0 18px}
.evpd-detail__description,.evpd-detail__scope{font-size:15px;line-height:1.8;color:#4b5563;overflow-wrap:anywhere}
.evpd-detail__description p,.evpd-detail__scope p{margin:0 0 12px}
.evpd-detail__scope{margin-top:22px}
.evpd-detail__scope h3{font-size:18px;line-height:1.4;color:#111827;margin:0 0 10px}
.evpd-detail__details{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}
.evpd-detail__item{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px 14px;border-bottom:1px solid #e5e7eb}
.evpd-detail__item:nth-child(odd){border-right:1px solid #e5e7eb}
.evpd-detail__label{font-size:11px;line-height:1.4;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.evpd-detail__value{font-size:14px;line-height:1.6;color:#111827;overflow-wrap:anywhere}
.evpd-detail__notes{margin-top:22px;padding:16px;background:#f8fafc;border-radius:6px;color:#4b5563;font-size:14px;line-height:1.7}
@media(max-width:767px){.evpd-detail__layout{grid-template-columns:1fr;gap:24px}.evpd-detail__image{height:auto;max-height:420px;min-height:220px}.evpd-detail__details{grid-template-columns:1fr}.evpd-detail__item:nth-child(odd){border-right:0}}

/* v1.0.4: single project details as one clean two-column card */
.evpd-detail{width:100%;box-sizing:border-box;background:transparent;color:#1f2937}
.evpd-detail__card{display:grid;grid-template-columns:minmax(0,var(--evpd-image-width,48%)) minmax(0,1fr);gap:var(--evpd-gap,44px);align-items:stretch;box-sizing:border-box;width:100%;padding:clamp(18px,3vw,36px);background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 10px 35px rgba(15,23,42,.07);overflow:hidden}
.evpd-detail__layout{display:contents}
.evpd-detail__visual{min-width:0;align-self:stretch}
.evpd-detail__image{display:block;width:100%;height:var(--evpd-image-height,480px);object-fit:var(--evpd-image-fit,cover);border-radius:10px;background:#f3f4f6}
.evpd-detail__placeholder{min-height:300px;height:100%;box-sizing:border-box;background:#f3f4f6;border:1px dashed #cbd5e1;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#64748b}
.evpd-detail__content{min-width:0;box-sizing:border-box;align-self:center}
.evpd-detail__breadcrumbs{margin:0 0 18px}
.evpd-detail__title{margin:0 0 12px}
.evpd-detail__heading{margin-top:18px}
.evpd-detail__details{margin-top:22px}
@media(max-width:767px){
  .evpd-detail__card{grid-template-columns:minmax(0,1fr);gap:22px;padding:18px}
  .evpd-detail__layout{display:contents}
  .evpd-detail__image{height:auto;min-height:220px;max-height:420px}
  .evpd-detail__placeholder{min-height:220px}
  .evpd-detail__content{align-self:auto}
}

/* v1.0.5: multiple project detail cards */
.evpd-detail-list{display:flex;flex-direction:column;gap:28px;width:100%;min-width:0}
.evpd-detail-list .evpd-detail{width:100%;min-width:0}
.evpd-detail-list .evpd-detail__card{width:100%}

/* v1.0.7: numbered pagination for multiple project detail cards */
.evpd-pagination{width:100%;margin:34px 0 8px;display:flex;justify-content:center;clear:both}
.evpd-pagination .page-numbers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;list-style:none;margin:0;padding:0}
.evpd-pagination .page-numbers li{list-style:none;margin:0;padding:0}
.evpd-pagination .page-numbers a,.evpd-pagination .page-numbers span{display:flex;min-width:42px;height:42px;box-sizing:border-box;padding:0 12px;align-items:center;justify-content:center;border:1px solid #dbe1ea;border-radius:6px;background:#fff;color:#1e3a8a;text-decoration:none;font-size:14px;line-height:1;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.evpd-pagination .page-numbers a:hover{background:#1e3a8a;color:#fff;border-color:#1e3a8a}
.evpd-pagination .page-numbers .current{background:#1e3a8a;color:#fff;border-color:#1e3a8a}
.evpd-pagination .page-numbers .dots{border-color:transparent;background:transparent;color:#64748b}
@media(max-width:767px){.evpd-pagination{margin-top:24px}.evpd-pagination .page-numbers{gap:5px}.evpd-pagination .page-numbers a,.evpd-pagination .page-numbers span{min-width:36px;height:38px;padding:0 9px}}

/* v1.0.8: category navigation tabs for the project detail widget */
.evpd-category-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 28px;padding:0 0 16px;border-bottom:1px solid #e5e7eb;width:100%;box-sizing:border-box}
.evpd-category-tab{display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;min-height:40px;border:1px solid #dbe1ea;border-radius:6px;background:#fff;color:#1e3a8a;text-decoration:none;font-size:14px;line-height:1.35;font-weight:600;transition:background .2s,color .2s,border-color .2s}
.evpd-category-tab:hover,.evpd-category-tab:focus{background:#eef2ff;border-color:#1e3a8a;color:#1e3a8a}
.evpd-category-tab.is-active{background:#1e3a8a;border-color:#1e3a8a;color:#fff}
@media(max-width:767px){.evpd-category-tabs{gap:7px;margin-bottom:20px;padding-bottom:12px}.evpd-category-tab{padding:8px 12px;font-size:13px;min-height:36px}}

/* v1.0.10: force perfectly circular carousel navigation buttons, overriding theme/Elementor button styles */
.evp-projects-widget .evp-carousel-controls button,
.evp-projects-widget .evp-carousel-controls button.evp-carousel-prev,
.evp-projects-widget .evp-carousel-controls button.evp-carousel-next {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
.evp-projects-widget .evp-carousel-controls button::before,
.evp-projects-widget .evp-carousel-controls button::after {
    content: none !important;
    display: none !important;
}
@media (max-width: 640px) {
    .evp-projects-widget .evp-carousel-controls button,
    .evp-projects-widget .evp-carousel-controls button.evp-carousel-prev,
    .evp-projects-widget .evp-carousel-controls button.evp-carousel-next {
        flex-basis: 40px !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }
}
