/**
 * Softech Addons for Elementor - Frontend Global Styles
 * 
 * @package Softech_Addons_for_Elementor
 * @since 1.0.0
 */

/* Reset for SITS widgets */
.sitsel-widget,
[class*="sitsel-"] {
    box-sizing: border-box;
}

.sitsel-widget *,
[class*="sitsel-"] * {
    box-sizing: border-box;
}

/* Common utility classes */
.sitsel-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.sitsel-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.sitsel-col {
    padding: 0 15px;
}

/* Text alignment utilities */
.sitsel-text-left {
    text-align: left;
}

.sitsel-text-center {
    text-align: center;
}

.sitsel-text-right {
    text-align: right;
}

/* Spacing utilities */
.sitsel-mb-0 { margin-bottom: 0; }
.sitsel-mb-10 { margin-bottom: 10px; }
.sitsel-mb-20 { margin-bottom: 20px; }
.sitsel-mb-30 { margin-bottom: 30px; }
.sitsel-mb-40 { margin-bottom: 40px; }

.sitsel-mt-0 { margin-top: 0; }
.sitsel-mt-10 { margin-top: 10px; }
.sitsel-mt-20 { margin-top: 20px; }
.sitsel-mt-30 { margin-top: 30px; }
.sitsel-mt-40 { margin-top: 40px; }

/* Common button styles */
.sitsel-button {
    display: inline-block;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    outline: none;
}

.sitsel-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.sitsel-button:active {
    transform: translateY(0);
}

/* Loading state */
.sitsel-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.6;
}

.sitsel-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #3498db;
    border-radius: 50%;
    animation: sitsel-spin 1s linear infinite;
}

@keyframes sitsel-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Hide elements */
.sitsel-hidden {
    display: none !important;
}

/* Clearfix */
.sitsel-clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Responsive images */
.sitsel-img-responsive {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Overlay styles */
.sitsel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
}

/* Fade animations */
.sitsel-fade-in {
    animation: sitselFadeIn 0.5s ease-in;
}

@keyframes sitselFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.sitsel-fade-out {
    animation: sitselFadeOut 0.5s ease-out;
}

@keyframes sitselFadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/* Slide animations */
.sitsel-slide-up {
    animation: sitselSlideUp 0.5s ease-out;
}

@keyframes sitselSlideUp {
    from {
        transform: translateY(20px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Accessibility */
.sitsel-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus styles */
.sitsel-button:focus,
.sitsel-link:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* Responsive breakpoints */
@media (max-width: 1024px) {
    .sitsel-container {
        max-width: 960px;
    }
}

@media (max-width: 768px) {
    .sitsel-container {
        max-width: 720px;
    }
    
    .sitsel-row {
        margin: 0 -10px;
    }
    
    .sitsel-col {
        padding: 0 10px;
    }
}

@media (max-width: 576px) {
    .sitsel-container {
        max-width: 100%;
    }
    
    .sitsel-button {
        padding: 10px 20px;
        font-size: 14px;
    }
}

/* Hide GSAP elements before JS initializes — prevents flash */
/* Hide GSAP entrance animation elements before JS runs */
.sits-gsap-hidden {
  visibility: hidden !important;
}

/* Hide split text targets before JS splits them */
/* AFTER — add :not() to exclude hover elements */
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) .elementor-heading-title,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) .elementor-text-editor,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) .sitsel-title,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) h1,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) h2,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) h3,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) h4,
[data-gsap-split-standalone="yes"]:not([data-gsap-split-trigger="hover"]) p {
  visibility: hidden;
}
/* ADD at end of file */

/* When global split is off, never hide these via the PHP inline style */
.sits-gsap-split-disabled .global-split-text h1,
.sits-gsap-split-disabled .global-split-text h2,
.sits-gsap-split-disabled .global-split-text h3,
.sits-gsap-split-disabled .global-split-text h4,
.sits-gsap-split-disabled .global-split-text h5,
.sits-gsap-split-disabled .global-split-text h6,
.sits-gsap-split-disabled .global-split-text p {
    visibility: visible !important;
}

/* Blur animation support */
.sits-st-unit {
    will-change: opacity, transform, filter;
}

/* Single Post Widget Base Styles
 * These rules prevent the "default style first, custom style second" flash
 * by loading the structural layout for single post widgets from the shared
 * frontend stylesheet.
 */
.sitsel-post-title-wrapper{display:block;transition:box-shadow .25s ease,filter .25s ease;overflow:hidden}
.sitsel-post-title-wrapper h1,.sitsel-post-title-wrapper h2,.sitsel-post-title-wrapper h3,.sitsel-post-title-wrapper h4,.sitsel-post-title-wrapper h5,.sitsel-post-title-wrapper h6,.sitsel-post-title{margin:0;color:inherit;font-size:inherit;line-height:1.1;word-break:break-word}
.sitsel-post-title-wrapper .sitsel-post-title{transition:color .25s ease}

.sitsel-post-meta-box{display:block}
.sitsel-post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.elementor-element.sitsel-post-meta-align-left .sitsel-post-meta,
.sitsel-post-meta-align-left .sitsel-post-meta{justify-content:flex-start}
.elementor-element.sitsel-post-meta-align-center .sitsel-post-meta,
.sitsel-post-meta-align-center .sitsel-post-meta{justify-content:center}
.elementor-element.sitsel-post-meta-align-right .sitsel-post-meta,
.sitsel-post-meta-align-right .sitsel-post-meta{justify-content:flex-end}
.elementor-element.sitsel-post-meta-align-left .sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta,
.sitsel-post-meta-align-left .sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta{align-items:flex-start;text-align:left}
.elementor-element.sitsel-post-meta-align-center .sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta,
.sitsel-post-meta-align-center .sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta{align-items:center;text-align:center}
.elementor-element.sitsel-post-meta-align-right .sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta,
.sitsel-post-meta-align-right .sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta{align-items:flex-end;text-align:right}
.elementor-element.sitsel-post-meta-align-left .sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta,
.sitsel-post-meta-align-left .sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta{justify-items:start;text-align:left}
.elementor-element.sitsel-post-meta-align-center .sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta,
.sitsel-post-meta-align-center .sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta{justify-items:center;text-align:center}
.elementor-element.sitsel-post-meta-align-right .sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta,
.sitsel-post-meta-align-right .sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta{justify-items:end;text-align:right}
.sitsel-post-meta-wrapper.layout-stacked .sitsel-post-meta{flex-direction:column;align-items:flex-start;gap:.45rem}
.sitsel-post-meta-wrapper.layout-grid .sitsel-post-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem 1rem}
.sitsel-post-meta-item{display:inline-flex;align-items:center;gap:.45rem;line-height:1.5}
.sitsel-post-meta-icon{--sitsel-post-meta-icon-size:1rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--sitsel-post-meta-icon-size);min-width:var(--sitsel-post-meta-icon-size);height:var(--sitsel-post-meta-icon-size);min-height:var(--sitsel-post-meta-icon-size);line-height:1;font-size:var(--sitsel-post-meta-icon-size);overflow:hidden}
.sitsel-post-meta-icon .elementor-icon,.sitsel-post-meta-icon i,.sitsel-post-meta-icon svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;font-size:inherit;line-height:1}
.sitsel-post-meta-icon .elementor-icon{flex:0 0 auto}
.sitsel-post-meta-icon svg{display:block}
.sitsel-post-meta-avatar img{display:inline-block;border-radius:999px;vertical-align:middle}
.sitsel-post-meta-item a{text-decoration:none}
.sitsel-post-meta-categories a{color:inherit}
.sitsel-post-meta-categories a:hover,
.sitsel-post-meta-categories a:focus-visible{color:inherit}
.sitsel-post-meta-separator{opacity:.65}

.sitsel-post-content-wrapper{display:block}
.sitsel-post-content-box{position:relative}
.sitsel-post-content-toc{margin:0 0 1.25rem;padding:1rem;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.75)}
.sitsel-post-content-toc-title{font-weight:700;margin-bottom:.5rem}
.sitsel-post-content-toc-list{display:grid;gap:.35rem}
.sitsel-post-content-body{line-height:1.8}
.sitsel-post-content-body p,
.sitsel-post-content-body li,
.sitsel-post-content-body blockquote,
.sitsel-post-content-body figcaption,
.sitsel-post-content-body td,
.sitsel-post-content-body th,
.sitsel-post-content-body dd,
.sitsel-post-content-body dt,
.sitsel-post-content-body pre,
.sitsel-post-content-body code{
  font-family: inherit;
  font-weight: inherit;
}
.sitsel-post-content-body > :first-child{margin-top:0}
.sitsel-post-content-body > :last-child{margin-bottom:0}
.sitsel-post-content-body h1,.sitsel-post-content-body h2,.sitsel-post-content-body h3,.sitsel-post-content-body h4,.sitsel-post-content-body h5,.sitsel-post-content-body h6{margin:1em 0 .5em;font-size:inherit;line-height:1.25}
.sitsel-post-content-body.has-drop-cap > p:first-of-type:first-letter{float:left;font-size:3.8em;line-height:.9;padding-right:.15em;font-weight:700}
.sitsel-post-content-read-more-wrap{margin-top:1rem}
.sitsel-post-content-read-more{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;transition:transform .2s ease,opacity .2s ease}
.sitsel-post-content-read-more:hover,.sitsel-post-content-read-more:focus-visible{transform:translateY(-1px)}

.sitsel-author-box{display:block;border-radius:20px;overflow:hidden}
.sitsel-author-box-inner{display:flex;width:100%;gap:1rem;align-items:center}
.sitsel-author-box.layout-horizontal .sitsel-author-box-inner{flex-direction:row}
.sitsel-author-box.layout-horizontal.avatar-pos-right .sitsel-author-box-inner{flex-direction:row-reverse}
.sitsel-author-box.layout-vertical .sitsel-author-box-inner,
.sitsel-author-box.layout-card .sitsel-author-box-inner{flex-direction:column}
.sitsel-author-box.layout-horizontal.content-align-left .sitsel-author-box-inner{justify-content:flex-start;text-align:left}
.sitsel-author-box.layout-horizontal.content-align-center .sitsel-author-box-inner{justify-content:center;text-align:center}
.sitsel-author-box.layout-horizontal.content-align-right .sitsel-author-box-inner{justify-content:flex-end;text-align:right}
.sitsel-author-box.layout-horizontal.avatar-pos-right.content-align-left .sitsel-author-box-inner{justify-content:flex-end}
.sitsel-author-box.layout-horizontal.avatar-pos-right.content-align-center .sitsel-author-box-inner{justify-content:center}
.sitsel-author-box.layout-horizontal.avatar-pos-right.content-align-right .sitsel-author-box-inner{justify-content:flex-start}
.sitsel-author-box.layout-vertical.content-align-left .sitsel-author-box-inner,
.sitsel-author-box.layout-card.content-align-left .sitsel-author-box-inner{align-items:flex-start;text-align:left}
.sitsel-author-box.layout-vertical.content-align-center .sitsel-author-box-inner,
.sitsel-author-box.layout-card.content-align-center .sitsel-author-box-inner{align-items:center;text-align:center}
.sitsel-author-box.layout-vertical.content-align-right .sitsel-author-box-inner,
.sitsel-author-box.layout-card.content-align-right .sitsel-author-box-inner{align-items:flex-end;text-align:right}
.sitsel-author-box.layout-horizontal.content-align-left .sitsel-author-box-content,
.sitsel-author-box.layout-vertical.content-align-left .sitsel-author-box-content,
.sitsel-author-box.layout-card.content-align-left .sitsel-author-box-content{text-align:left;align-items:flex-start}
.sitsel-author-box.layout-horizontal.content-align-center .sitsel-author-box-content,
.sitsel-author-box.layout-vertical.content-align-center .sitsel-author-box-content,
.sitsel-author-box.layout-card.content-align-center .sitsel-author-box-content{text-align:center;align-items:center}
.sitsel-author-box.layout-horizontal.content-align-right .sitsel-author-box-content,
.sitsel-author-box.layout-vertical.content-align-right .sitsel-author-box-content,
.sitsel-author-box.layout-card.content-align-right .sitsel-author-box-content{text-align:right;align-items:flex-end}
.sitsel-author-box-avatar{flex:0 0 auto;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e5e7eb,#f9fafb);color:#94a3b8}
.sitsel-author-box-avatar a{display:block;width:100%;height:100%}
.sitsel-author-box-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.sitsel-author-box-avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.sitsel-author-box-avatar-placeholder svg{display:block;width:58%;height:58%}
.sitsel-author-box-content{display:grid;gap:.65rem;min-width:0}
.sitsel-author-box-name{margin:0;line-height:1.2;font-size:inherit}
.sitsel-author-box-name a,
.sitsel-author-box-website,
.sitsel-author-box-email{
  color:inherit;
}
.sitsel-author-box-bio{line-height:1.7}
.sitsel-author-box-social{display:flex;flex-wrap:wrap;gap:.5rem}
.sitsel-author-social-link{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;text-decoration:none;background:rgba(0,0,0,.05);transition:transform .2s ease,opacity .2s ease}
.sitsel-author-social-link:hover,.sitsel-author-social-link:focus-visible{transform:translateY(-1px)}
.sitsel-author-box-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:.75rem 1.05rem;border-radius:999px;text-decoration:none;transition:transform .2s ease,opacity .2s ease}
.sitsel-author-box-button:hover,.sitsel-author-box-button:focus-visible{transform:translateY(-1px)}
.sitsel-author-box.social-style-custom .sitsel-author-social-link{background:transparent}
.sitsel-author-box.social-style-mono .sitsel-author-social-link{background:rgba(0,0,0,.08);color:inherit}
.sitsel-author-box.social-style-official .network-facebook{background:#1877f2;color:#fff}
.sitsel-author-box.social-style-official .network-twitter,.sitsel-author-box.social-style-official .network-x{background:#111827;color:#fff}
.sitsel-author-box.social-style-official .network-instagram{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af);color:#fff}
.sitsel-author-box.social-style-official .network-linkedin{background:#0a66c2;color:#fff}
.sitsel-author-box.social-style-official .network-youtube{background:#ff0000;color:#fff}
.sitsel-author-box.social-style-official .network-website{background:#374151;color:#fff}

.sitsel-post-thumbnail-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin:0;max-width:100%}
.sitsel-post-thumbnail-frame{position:relative;display:block;overflow:hidden;width:100%;background:#f3f4f6;aspect-ratio:var(--sitsel-post-thumbnail-aspect-ratio,auto);transition:transform .25s ease,box-shadow .25s ease}
.sitsel-post-thumbnail-image{display:block;width:100%;height:100%;max-width:100%;transition:transform .35s ease,filter .25s ease;object-position:center center;object-fit:cover}
.sitsel-post-thumbnail-wrapper.has-hover-zoom .sitsel-post-thumbnail-frame:hover .sitsel-post-thumbnail-image{transform:scale(1.06)}
.sitsel-post-thumbnail-placeholder{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;text-align:center;background:linear-gradient(135deg,#e5e7eb,#f9fafb);color:#6b7280;font-weight:600}
.sitsel-post-thumbnail-placeholder-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;background:rgba(255,255,255,.75);color:#6b7280;font-size:1.35rem;line-height:1}
.sitsel-post-thumbnail-placeholder-text{font-size:.95rem;line-height:1.5}
.sitsel-post-thumbnail-caption{font-size:.95rem;line-height:1.5;color:#6b7280}
.sitsel-post-thumbnail-link{display:block;width:100%}
