/* Slider */
.kcst-slider{position:relative;overflow:hidden;width:100%}
.kcst-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease;display:flex;align-items:center;justify-content:center;text-align:center}
.kcst-slide.is-active{opacity:1;z-index:1}
.kcst-slide-overlay{position:absolute;inset:0;mix-blend-mode:overlay}
.kcst-slide-inner{position:relative;padding:0 24px;color:#fff;text-shadow:0 0 10px rgba(0,0,0,.35)}
.kcst-slide-heading{font-size:clamp(26px,4vw,35px);font-weight:700;line-height:1.2;text-transform:capitalize}
.kcst-slide-description{margin-top:12px;font-size:clamp(15px,2vw,17px)}
.kcst-slider-dots{position:absolute;left:0;right:0;bottom:14px;z-index:2;display:flex;justify-content:center;gap:8px}
.kcst-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}
.kcst-dot.is-active{background:#fff}

/* Post cards */
.kcst-cards{display:grid;grid-template-columns:repeat(var(--kcst-cols,3),minmax(0,1fr));gap:30px}
.kcst-card{display:flex;flex-direction:column;background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 0 10px rgba(0,0,0,.15);transition:box-shadow .3s}
.kcst-card:hover{box-shadow:0 0 30px rgba(0,0,0,.15)}
.kcst-card-thumb{display:block;position:relative;padding-bottom:var(--kcst-ratio,66%);overflow:hidden}
.kcst-card-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kcst-card-body{padding:24px 30px 0;flex:1}
.kcst-card-title{margin:0 0 12px;font-size:21px;line-height:1.3}
.kcst-card-title a{color:inherit;text-decoration:none}
.kcst-card-excerpt{margin:0 0 16px;font-size:14px;line-height:1.6;color:#777}
.kcst-card-more{display:inline-block;margin-bottom:20px;font-size:12px;font-weight:700;text-transform:uppercase;text-decoration:none}
.kcst-card-meta{padding:14px 30px;border-top:1px solid #eaeaea;font-size:12px;color:#adadad}
.kcst-empty{text-align:center}

/* Portfolio */
.kcst-portfolio-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;margin:0 0 20px;padding:0;list-style:none}
.kcst-portfolio-filter button{padding:6px 2px;border:0;background:none;color:#555;font:inherit;cursor:pointer}
.kcst-portfolio-filter button.is-active,.kcst-portfolio-filter button:hover{color:var(--kcst-overlay)}
.kcst-portfolio-grid{display:grid;grid-template-columns:repeat(var(--kcst-cols,3),minmax(0,1fr));column-gap:var(--kcst-gap,13px);row-gap:var(--kcst-row-gap,10px)}
.kcst-portfolio-item{position:relative;display:block;padding-bottom:66%;overflow:hidden;border-radius:var(--kcst-radius,9px)}
.kcst-portfolio-item[hidden]{display:none}
.kcst-portfolio-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.kcst-portfolio-item:hover img{transform:scale(1.08)}
.kcst-portfolio-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--kcst-overlay);opacity:0;transition:opacity .4s;text-align:center}
.kcst-portfolio-item:hover .kcst-portfolio-overlay,.kcst-portfolio-item:focus .kcst-portfolio-overlay{opacity:.92}
.kcst-portfolio-title{color:#fff;font-size:17px;font-weight:600}

/* Menu */
.kcst-menu-list{display:flex;flex-wrap:wrap;justify-content:center;gap:0 6px;margin:0;padding:0;list-style:none}
.kcst-menu-list a{display:block;padding:10px 14px;font-family:Roboto,sans-serif;font-size:13px;font-weight:300;color:inherit;text-decoration:none;transition:color .3s}
.kcst-menu-list a:hover,.kcst-menu-list .current-menu-item>a{color:#E88E98}

@media (max-width:1024px){.kcst-cards,.kcst-portfolio-grid{grid-template-columns:repeat(min(var(--kcst-cols,3),2),minmax(0,1fr))}}
@media (max-width:767px){.kcst-cards,.kcst-portfolio-grid{grid-template-columns:1fr}}

/* Contact form */
.kcst-contact label{display:block;font-weight:600;font-size:14px}
.kcst-contact label span{color:#d63638}
.kcst-contact input,.kcst-contact textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #ccc;border-radius:3px;font:inherit;font-weight:400}
.kcst-contact button{padding:12px 28px;border:0;border-radius:3px;background:#E88E98;color:#fff;font-weight:700;letter-spacing:.5px;cursor:pointer}
.kcst-contact button:hover{background:#d67a85}
.kcst-hp{position:absolute!important;left:-9999px!important}
.kcst-contact-msg{padding:12px 16px;border-radius:3px;margin-bottom:16px}
.kcst-contact-msg p{margin:0}
.kcst-contact-msg.is-success{background:#e7f6ec;color:#1e6b38}
.kcst-contact-msg.is-error{background:#fcebec;color:#a1232f}
