/* INTELLECTA FLOW — Stage 74 Public UX/UI & Responsive Hardening */

.if-public{
    --if-focus:rgba(124,58,237,.34);
    --if-soft-border:rgba(93,62,121,.14);
    --if-soft-shadow:0 16px 44px rgba(55,30,76,.07);
}
.if-public :where(a,button,input,select,textarea):focus-visible{
    outline:3px solid var(--if-focus);
    outline-offset:3px;
}
.if-public :where(button,.if-btn){
    min-height:44px;
}
.if-public h1,
.if-public h2{
    text-wrap:balance;
}
.if-public p{
    text-wrap:pretty;
}

/* Header/mobile nav polish */
.if-header{
    box-shadow:0 8px 28px rgba(42,24,59,.025);
}
.if-nav-links a{
    position:relative;
}
@media(hover:hover){
    .if-nav-links a:after{
        content:"";
        position:absolute;
        left:0;
        right:100%;
        bottom:-7px;
        height:2px;
        border-radius:2px;
        background:#8b5cf6;
        transition:right .18s ease;
    }
    .if-nav-links a:hover:after{right:0}
}

/* Catalog and public cards */
.if-catalog-filters,
.if-teacher-filter-form{
    box-shadow:var(--if-soft-shadow);
}
.if-catalog-card,
.if-teacher-card,
.if-experience-session-card{
    border-color:var(--if-soft-border)!important;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
@media(hover:hover){
    .if-catalog-card:hover,
    .if-teacher-card:hover,
    .if-experience-session-card:hover{
        transform:translateY(-3px);
        border-color:rgba(124,58,237,.28)!important;
        box-shadow:0 20px 50px rgba(55,30,76,.10)!important;
    }
}

/* Teacher directory/profile */
.if-teacher-premium-surface .if-kicker{
    line-height:1.4;
}
.if-td-directory{
    scroll-margin-top:90px;
}
.if-td-card,
.if-tp-card{
    min-width:0;
}
.if-tp-profile-nav{
    scrollbar-width:thin;
    scrollbar-color:#d7c9e8 transparent;
}
.if-tp-profile-nav a{
    white-space:nowrap;
}
.if-tp-experience-card{
    min-height:170px;
}

/* Experience detail */
.if-experience-content{
    min-width:0;
}
.if-experience-booking{
    align-self:start;
}
.if-experience-teacher-card{
    min-width:0;
}
.if-experience-teacher-card .if-btn,
.if-experience-teacher-card a{
    max-width:100%;
}

/* Footer separation and CTA breathing room */
.if-public .if-footer{
    margin-top:0;
}
.if-public section:last-of-type:not(.if-footer){
    scroll-margin-bottom:30px;
}

/* Tablet */
@media(max-width:980px){
    .if-container{
        width:min(100% - 34px,1180px);
    }
    .if-experience-hero-grid,
    .if-experience-layout,
    .if-tp-hero-grid,
    .if-td-hero-grid{
        gap:34px!important;
    }
    .if-experience-booking{
        position:static!important;
    }
}

/* Mobile */
@media(max-width:720px){
    .if-container{
        width:min(100% - 26px,1180px);
    }
    .if-header{
        backdrop-filter:blur(16px);
    }
    .if-nav{
        min-height:66px;
    }
    .if-hero-grid{
        padding-block:58px!important;
    }
    .if-hero h1{
        font-size:clamp(42px,13vw,58px)!important;
        line-height:1.01!important;
    }
    .if-hero-copy>p{
        font-size:17px!important;
        line-height:1.6!important;
    }
    .if-hero-actions,
    .if-cta-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    .if-hero-actions .if-btn,
    .if-cta-actions .if-btn{
        width:100%;
    }

    .if-catalog-filters,
    .if-teacher-filter-form{
        border-radius:18px!important;
    }
    .if-catalog-filters label,
    .if-teacher-filter-form label{
        min-width:0;
    }

    .if-td-hero,
    .if-tp-hero,
    .if-experience-hero{
        padding-top:44px!important;
        padding-bottom:48px!important;
    }
    .if-td-hero h1,
    .if-tp-hero h1,
    .if-experience-hero h1{
        font-size:clamp(38px,11vw,54px)!important;
        line-height:1.02!important;
    }
    .if-tp-profile-nav{
        overflow-x:auto!important;
        display:flex!important;
        flex-wrap:nowrap!important;
        padding-bottom:7px;
    }
    .if-tp-profile-nav a{
        flex:0 0 auto;
    }

    .if-experience-facts{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

/* Small phones */
@media(max-width:430px){
    .if-container{
        width:min(100% - 20px,1180px);
    }
    .if-experience-facts{
        grid-template-columns:1fr!important;
    }
    .if-btn{
        padding-inline:15px!important;
    }
}

/* Motion safety */
@media(prefers-reduced-motion:reduce){
    .if-public *,
    .if-public *::before,
    .if-public *::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}
