/* =====================================================================
 * Tiger Advanced Section — base styles
 *
 * Layout, typography rhythm, and behavior that are common across every
 * design preset live here. Visual tone (colors, shadows, hover effects,
 * radii) is defined in the per-preset files under tg-as-presets/. The
 * widget enqueues exactly one preset file per page via get_style_depends().
 * ===================================================================== */

.tg-as-cont {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    transition: all 0.4s ease;
}
.tg-as-column { flex: 1; min-width: 300px; position: relative; }

.tg-as-content-side       { display: flex; flex-direction: column; overflow: hidden; }
.tg-as-content-inner { display: flex; flex-direction: column; padding: 40px; }

.tg-as-heading     { margin: 0 0 10px 0; line-height: 1.2; font-weight: 700; }
.tg-as-subheading  { margin: 0 0 20px 0; opacity: 0.8;   font-weight: 500; }
.tg-as-desc { margin: 0 0 30px 0; line-height: 1.6; }
.tg-as-divider     { width: 50px; height: 4px; border-radius: 2px; margin-bottom: 20px; }

.tg-as-btn {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    text-decoration: none;
    align-self: flex-start;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.tg-as-btn::after  { content: '→'; margin-left: 10px; transition: 0.3s; }
.tg-as-btn:hover::after { transform: translateX(5px); }

.tg-as-img-wrap     { position: relative; overflow: hidden; }
.tg-as-img-wrap img { width: 100%; height: auto; display: block; transition: transform 0.7s ease; }
.tg-as-img-wrap:hover img { transform: scale(1.08); }

.tg-as-video-icon {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 80px; height: 80px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #ff9900;
    z-index: 2;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: tg-as-pulse 2s infinite;
}

@keyframes tg-as-pulse {
    0%   { box-shadow: 0 0 0 0    rgba(255, 255, 255, 0.7); }
    70%  { box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);   }
    100% { box-shadow: 0 0 0 0    rgba(255, 255, 255, 0);   }
}

@media (max-width: 767px) {
    .tg-as-column     { flex-basis: 100% !important; max-width: 100% !important; }
    .tg-as-cont  { flex-direction: column !important; }
    .tg-as-img-wrap   { margin: 10px; }
}
