/* CollegeClasses Semester Community
 * Visual system matched to CollegeClasses: Poppins + #FFCC05 yellow + #18181A black.
 */

.ccsc-app,
.ccsc-app *,
.ccsc-login-intro,
.ccsc-login-intro *{
    box-sizing:border-box;
}

.ccsc-app{
    --cc-yellow:#FFCC05;
    --cc-yellow-soft:#FFF7CF;
    --cc-black:#18181A;
    --cc-text:#242426;
    --cc-grey:#68686D;
    --cc-border:#E9E9E9;
    --cc-white:#FFFFFF;
    --cc-green:#14804A;
    --cc-soft:#FAFAFA;
    width:100%;
    max-width:none;
    margin:0;
    color:var(--cc-text);
    font-family:'Poppins',sans-serif !important;
    font-size:14px;
    line-height:1.6;
}

.ccsc-app a,
.ccsc-app button,
.ccsc-app input,
.ccsc-app textarea{
    font-family:'Poppins',sans-serif !important;
}

.ccsc-app button{
    appearance:none;
    -webkit-appearance:none;
    text-transform:none !important;
    letter-spacing:normal !important;
    box-shadow:none !important;
}

/* =========================================================
   WOOCOMMERCE MY ACCOUNT SHELL
========================================================= */
.woocommerce-account .woocommerce{
    font-family:'Poppins',sans-serif !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
    width:25% !important;
    padding:8px !important;
    background:#FFFFFF;
    border:1px solid #E9E9E9;
    border-radius:18px;
    box-shadow:0 16px 50px rgba(24,24,26,.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
    margin:3px 0 !important;
    padding:0 !important;
    border:0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a{
    position:relative;
    display:flex !important;
    align-items:center;
    min-height:45px;
    padding:10px 13px 10px 16px !important;
    border-radius:11px;
    color:#4E4E53 !important;
    background:transparent !important;
    text-decoration:none !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:600 !important;
    transition:.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
    background:#FFF7CF !important;
    color:#18181A !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--student-community.is-active a{
    background:#18181A !important;
    color:#FFFFFF !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--student-community a:after{
    content:'NEW';
    margin-left:auto;
    padding:3px 6px;
    border-radius:20px;
    background:#FFCC05;
    color:#18181A;
    font-size:7px;
    line-height:1;
    font-weight:800;
    letter-spacing:.5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--student-community.is-active a:after{
    background:#FFCC05;
    color:#18181A;
}

.woocommerce-account .woocommerce-MyAccount-content{
    width:72% !important;
    color:#242426;
}

/* =========================================================
   LOGIN / REGISTER PAGE
========================================================= */
.ccsc-login-intro{
    --cc-yellow:#FFCC05;
    --cc-black:#18181A;
    --cc-grey:#68686D;
    display:flex;
    align-items:center;
    gap:20px;
    margin:0 0 24px;
    padding:24px 26px;
    border:1px solid #E9E9E9;
    border-radius:18px;
    background:
        radial-gradient(circle at 88% 15%, rgba(255,204,5,.22), transparent 26%),
        linear-gradient(180deg,#FFFFFF 0%,#FFFDF5 100%);
    box-shadow:0 18px 55px rgba(24,24,26,.06);
    font-family:'Poppins',sans-serif !important;
}

.ccsc-login-intro__mark{
    width:58px;
    height:58px;
    flex:0 0 58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:17px;
    background:#FFCC05;
    transform:rotate(-4deg);
}

.ccsc-login-intro__mark span{
    width:20px;
    height:20px;
    border:6px solid #18181A;
    border-radius:50%;
}

.ccsc-login-intro__eyebrow{
    margin-bottom:3px;
    color:#18181A;
    font-size:9px;
    font-weight:800;
    letter-spacing:1.5px;
}

.ccsc-login-intro h2{
    margin:0 0 5px !important;
    color:#18181A !important;
    font-family:'Poppins',sans-serif !important;
    font-size:24px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    letter-spacing:-.6px;
}

.ccsc-login-intro p{
    max-width:760px;
    margin:0 !important;
    color:#68686D !important;
    font-size:11.5px !important;
    line-height:1.7 !important;
}

.woocommerce-account:not(.logged-in) #customer_login{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.woocommerce-account:not(.logged-in) #customer_login .u-column1,
.woocommerce-account:not(.logged-in) #customer_login .u-column2{
    width:100% !important;
    float:none !important;
    padding:26px !important;
    border:1px solid #E9E9E9;
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 16px 45px rgba(24,24,26,.05);
}

.woocommerce-account:not(.logged-in) #customer_login h2{
    margin:0 0 18px !important;
    color:#18181A !important;
    font-family:'Poppins',sans-serif !important;
    font-size:22px !important;
    font-weight:700 !important;
}

.woocommerce-account:not(.logged-in) #customer_login label{
    color:#242426 !important;
    font-size:11px !important;
    font-weight:600 !important;
}

.woocommerce-account:not(.logged-in) #customer_login input.input-text{
    min-height:46px !important;
    padding:10px 13px !important;
    border:1px solid #E2E2E2 !important;
    border-radius:10px !important;
    background:#FFFFFF !important;
    box-shadow:none !important;
    color:#18181A !important;
    font-family:'Poppins',sans-serif !important;
    font-size:12px !important;
}

.woocommerce-account:not(.logged-in) #customer_login input.input-text:focus{
    outline:none !important;
    border-color:#FFCC05 !important;
    box-shadow:0 0 0 3px rgba(255,204,5,.16) !important;
}

.woocommerce-account:not(.logged-in) #customer_login button.button{
    min-height:44px !important;
    padding:0 18px !important;
    border:0 !important;
    border-radius:10px !important;
    background:#18181A !important;
    color:#FFFFFF !important;
    font-family:'Poppins',sans-serif !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.5px !important;
    text-transform:uppercase !important;
}

.woocommerce-account:not(.logged-in) #customer_login button.button:hover{
    background:#FFCC05 !important;
    color:#18181A !important;
}

/* =========================================================
   COMMUNITY HERO
========================================================= */
.ccsc-head{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    min-height:190px;
    padding:30px 32px;
    border:1px solid var(--cc-border);
    border-radius:22px;
    background:
        radial-gradient(circle at 91% 20%, rgba(255,204,5,.33), transparent 28%),
        linear-gradient(180deg,#FFFFFF 0%,#FFFDF5 100%);
    box-shadow:0 20px 60px rgba(24,24,26,.06);
}

.ccsc-head:after{
    content:'';
    position:absolute;
    z-index:-1;
    right:-52px;
    bottom:-76px;
    width:235px;
    height:235px;
    border-radius:45% 55% 54% 46% / 52% 40% 60% 48%;
    background:var(--cc-yellow);
    transform:rotate(-8deg);
    opacity:.88;
}

.ccsc-head-copy{
    max-width:620px;
}

.ccsc-kicker{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:7px;
    color:var(--cc-black) !important;
    font-size:9px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:1.5px !important;
}

.ccsc-kicker span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--cc-yellow);
    box-shadow:0 0 0 4px rgba(255,204,5,.22);
}

.ccsc-head h2{
    margin:0 !important;
    padding:0 !important;
    color:var(--cc-black) !important;
    font-family:'Poppins',sans-serif !important;
    font-size:34px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
    letter-spacing:-1.2px !important;
}

.ccsc-head p{
    margin:9px 0 0 !important;
    color:var(--cc-grey) !important;
    font-size:12px !important;
    line-height:1.7 !important;
}

.ccsc-head-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}

.ccsc-head-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:30px;
    padding:6px 10px;
    border:1px solid rgba(24,24,26,.08);
    border-radius:999px;
    background:rgba(255,255,255,.84);
    color:#5B5B60;
    font-size:9px;
    font-weight:600;
}

.ccsc-head-meta strong{
    color:var(--cc-black);
}

.ccsc-avatar{
    position:relative;
    z-index:2;
    padding:13px;
    border-radius:26px;
    background:rgba(255,255,255,.78);
    box-shadow:0 16px 38px rgba(24,24,26,.12);
}

.ccsc-avatar-ring{
    width:76px;
    height:76px;
    padding:3px;
    border:2px solid var(--cc-yellow);
    border-radius:50%;
    background:#FFFFFF;
    overflow:hidden;
}

.ccsc-avatar img{
    display:block;
    width:100% !important;
    height:100% !important;
    border-radius:50% !important;
    object-fit:cover;
}

/* =========================================================
   TABS - hard reset prevents theme blending
========================================================= */
.ccsc-tabs{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin:18px 0 20px;
    padding:5px !important;
    border:1px solid var(--cc-border);
    border-radius:14px;
    background:#FFFFFF;
    scrollbar-width:none;
}

.ccsc-tabs::-webkit-scrollbar{display:none}

.ccsc-tab,
.ccsc-app .ccsc-tab{
    flex:0 0 auto;
    min-height:39px !important;
    margin:0 !important;
    padding:8px 13px !important;
    border:1px solid transparent !important;
    border-radius:9px !important;
    outline:0 !important;
    background:#FFFFFF !important;
    color:#5B5B60 !important;
    font-family:'Poppins',sans-serif !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
    text-decoration:none !important;
    text-shadow:none !important;
    cursor:pointer !important;
    transition:.18s ease;
}

.ccsc-tab:hover,
.ccsc-app .ccsc-tab:hover{
    border-color:#EFE3A6 !important;
    background:var(--cc-yellow-soft) !important;
    color:var(--cc-black) !important;
}

.ccsc-tab.is-active,
.ccsc-app .ccsc-tab.is-active,
.ccsc-tab.is-active:hover{
    border-color:var(--cc-black) !important;
    background:var(--cc-black) !important;
    color:#FFFFFF !important;
    box-shadow:0 8px 20px rgba(24,24,26,.12) !important;
}

/* =========================================================
   PANELS / HEADINGS
========================================================= */
.ccsc-pane{display:none}
.ccsc-pane.is-active{display:block}

.ccsc-panel-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
    margin:4px 0 14px;
}

.ccsc-panel-heading-spaced{margin-top:30px}

.ccsc-mini-label{
    display:block;
    margin-bottom:3px;
    color:#8A8A8E;
    font-size:8px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:1.2px;
}

.ccsc-panel-heading h3{
    margin:0 !important;
    color:var(--cc-black) !important;
    font-family:'Poppins',sans-serif !important;
    font-size:20px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    letter-spacing:-.4px;
}

.ccsc-panel-heading p{
    margin:0 !important;
    max-width:360px;
    color:var(--cc-grey) !important;
    font-size:10px !important;
    line-height:1.6 !important;
    text-align:right;
}

.ccsc-subheading{
    display:flex;
    align-items:center;
    gap:8px;
    margin:20px 0 10px;
}

.ccsc-subheading span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--cc-yellow);
}

.ccsc-subheading h4{
    margin:0 !important;
    color:var(--cc-black) !important;
    font-size:12px !important;
    font-weight:700 !important;
}

/* =========================================================
   CARDS
========================================================= */
.ccsc-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
    gap:12px;
}

.ccsc-card,
.ccsc-list-card,
.ccsc-member,
.ccsc-chat-layout,
.ccsc-login-card{
    border:1px solid var(--cc-border) !important;
    background:#FFFFFF !important;
    box-shadow:none !important;
}

.ccsc-card{
    position:relative;
    overflow:hidden;
    min-height:170px;
    padding:19px !important;
    border-radius:16px !important;
    transition:.2s ease;
}

.ccsc-card:hover{
    transform:translateY(-2px);
    border-color:#E0D486 !important;
    box-shadow:0 14px 32px rgba(24,24,26,.06) !important;
}

.ccsc-access-card:after{
    content:'';
    position:absolute;
    right:-32px;
    bottom:-48px;
    width:112px;
    height:112px;
    border-radius:50%;
    background:var(--cc-yellow-soft);
}

.ccsc-card-top{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.ccsc-card-dot{
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--cc-yellow);
    box-shadow:0 0 0 5px rgba(255,204,5,.16);
}

.ccsc-card h3{
    position:relative;
    z-index:1;
    margin:16px 0 6px !important;
    color:var(--cc-black) !important;
    font-family:'Poppins',sans-serif !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
}

.ccsc-card p{
    position:relative;
    z-index:1;
    margin:0 !important;
    color:var(--cc-grey) !important;
    font-size:9.5px !important;
    line-height:1.65 !important;
}

.ccsc-card-footer{
    position:absolute;
    z-index:2;
    left:19px;
    right:19px;
    bottom:16px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding-top:11px;
    border-top:1px solid #EFEFEF;
    font-size:8.5px;
    color:#77777B;
}

.ccsc-card-footer strong{color:var(--cc-black)}

.ccsc-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:23px;
    padding:4px 8px;
    border-radius:999px;
    background:#EAF8F0 !important;
    color:#16633B !important;
    font-size:8px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.5px;
}

.ccsc-pass-card{
    min-height:230px;
}

.ccsc-pass-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:var(--cc-yellow);
    color:var(--cc-black);
    font-size:11px;
    font-weight:800;
}

.ccsc-pass-card h3{margin-top:13px !important}

.ccsc-price{
    display:flex;
    align-items:flex-start;
    margin:13px 0 14px;
    color:var(--cc-black);
    font-size:27px;
    line-height:1;
    font-weight:700;
    letter-spacing:-1px;
}

.ccsc-price small{
    margin:3px 2px 0 0;
    font-size:12px;
    line-height:1;
    font-weight:700;
}

.ccsc-success{
    display:inline-flex;
    align-items:center;
    margin-top:5px;
    color:var(--cc-green) !important;
    font-size:9.5px;
    font-weight:700;
}

.ccsc-card-wide{
    grid-column:1/-1;
    min-height:auto;
    display:flex;
    align-items:center;
    gap:14px;
}

.ccsc-empty-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--cc-yellow-soft);
    color:var(--cc-black);
    font-size:22px;
    font-weight:500;
}

/* =========================================================
   BUTTONS
========================================================= */
.ccsc-btn,
.ccsc-app .ccsc-btn,
.ccsc-btn-alt,
.ccsc-app .ccsc-btn-alt{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:39px !important;
    margin:0 !important;
    padding:8px 13px !important;
    border:1px solid var(--cc-black) !important;
    border-radius:9px !important;
    outline:0 !important;
    background:var(--cc-black) !important;
    color:#FFFFFF !important;
    font-family:'Poppins',sans-serif !important;
    font-size:9px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.3px !important;
    text-decoration:none !important;
    text-shadow:none !important;
    box-shadow:none !important;
    cursor:pointer !important;
    transition:.18s ease;
}

.ccsc-btn:hover,
.ccsc-app .ccsc-btn:hover{
    border-color:var(--cc-yellow) !important;
    background:var(--cc-yellow) !important;
    color:var(--cc-black) !important;
    transform:translateY(-1px);
}

.ccsc-btn-alt,
.ccsc-app .ccsc-btn-alt{
    border-color:#E5E5E5 !important;
    background:#F7F7F7 !important;
    color:var(--cc-black) !important;
}

.ccsc-btn-alt:hover,
.ccsc-app .ccsc-btn-alt:hover{
    border-color:var(--cc-yellow) !important;
    background:var(--cc-yellow-soft) !important;
}

.ccsc-btn-small,
.ccsc-app .ccsc-btn-small{
    min-height:34px !important;
    padding:7px 10px !important;
    font-size:8.5px !important;
}

/* =========================================================
   LISTS / NOTES / ANNOUNCEMENTS
========================================================= */
.ccsc-list-card{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:9px;
    padding:13px 14px !important;
    border-radius:13px !important;
}

.ccsc-list-icon{
    width:39px;
    height:39px;
    flex:0 0 39px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#FFF7CF;
    color:#18181A;
    font-size:8px;
    font-weight:800;
    letter-spacing:.4px;
}

.ccsc-list-copy{
    flex:1;
    min-width:0;
}

.ccsc-list-card h4{
    margin:0 0 3px !important;
    color:var(--cc-black) !important;
    font-family:'Poppins',sans-serif !important;
    font-size:11.5px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
}

.ccsc-note-copy p,
.ccsc-ann p{
    margin:3px 0 0 !important;
    color:var(--cc-grey) !important;
    font-size:9px !important;
    line-height:1.55 !important;
}

.ccsc-ann{align-items:flex-start}

.ccsc-ann small{
    display:block;
    margin-bottom:3px;
    color:#8B7A18 !important;
    font-size:7.5px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.ccsc-ann-dot{
    width:10px;
    height:10px;
    flex:0 0 10px;
    margin-top:4px;
    border-radius:50%;
    background:var(--cc-yellow);
    box-shadow:0 0 0 4px rgba(255,204,5,.16);
}

/* =========================================================
   MEMBERS
========================================================= */
.ccsc-members{
    display:grid;
    gap:9px;
}

.ccsc-member{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:12px 14px !important;
    border-radius:13px !important;
    transition:.18s ease;
}

.ccsc-member:hover{
    border-color:#E0D486 !important;
    background:#FFFDF7 !important;
}

.ccsc-member-main{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}

.ccsc-member-avatar{
    width:48px;
    height:48px;
    flex:0 0 48px;
    padding:2px;
    border:1px solid #E7E7E7;
    border-radius:50%;
    background:#FFFFFF;
    overflow:hidden;
}

.ccsc-member-avatar img{
    display:block;
    width:100% !important;
    height:100% !important;
    border-radius:50% !important;
    object-fit:cover;
}

.ccsc-member-main strong{
    display:block;
    overflow:hidden;
    color:var(--cc-black) !important;
    font-size:10.5px !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ccsc-member-main small{
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:4px;
    color:var(--cc-grey) !important;
    font-size:8px !important;
    line-height:1.2 !important;
}

.ccsc-member-main small span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#33B76A;
}

.ccsc-member-actions{
    display:flex;
    align-items:center;
    gap:6px;
}

.ccsc-muted{
    color:var(--cc-grey) !important;
    font-size:8.5px !important;
    font-weight:600;
}

/* =========================================================
   CHAT
========================================================= */
.ccsc-chat-layout{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:470px;
    overflow:hidden;
    border-radius:16px !important;
}

.ccsc-chat-list{
    padding:11px !important;
    border-right:1px solid var(--cc-border);
    background:#FFFFFF;
}

.ccsc-chat-list-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:3px 3px 10px;
    color:var(--cc-black);
    font-size:10px;
    font-weight:700;
}

.ccsc-chat-list-title small{
    min-width:23px;
    padding:3px 6px;
    border-radius:99px;
    background:var(--cc-yellow-soft);
    color:var(--cc-black);
    font-size:7px;
    text-align:center;
}

.ccsc-chat-person,
.ccsc-app .ccsc-chat-person{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    min-height:43px !important;
    margin:2px 0 !important;
    padding:7px 8px !important;
    border:0 !important;
    border-radius:9px !important;
    outline:0 !important;
    background:transparent !important;
    color:var(--cc-black) !important;
    font-size:9px !important;
    line-height:1.3 !important;
    font-weight:600 !important;
    text-align:left !important;
    cursor:pointer !important;
}

.ccsc-chat-person:hover,
.ccsc-app .ccsc-chat-person:hover{
    background:var(--cc-yellow-soft) !important;
}

.ccsc-chat-avatar{
    width:34px;
    height:34px;
    flex:0 0 34px;
    overflow:hidden;
    border-radius:50%;
}

.ccsc-chat-avatar img{
    display:block;
    width:100% !important;
    height:100% !important;
    border-radius:50% !important;
    object-fit:cover;
}

.ccsc-chat-box{
    display:flex;
    min-width:0;
    flex-direction:column;
    background:#FFFFFF;
}

.ccsc-chat-title{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:49px;
    padding:12px 15px !important;
    border-bottom:1px solid var(--cc-border);
    color:var(--cc-black);
    font-size:9.5px;
    font-weight:700;
}

.ccsc-chat-status{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#33B76A;
}

.ccsc-chat-thread{
    flex:1;
    max-height:390px;
    overflow:auto;
    padding:16px !important;
    background:
        radial-gradient(circle at 85% 15%, rgba(255,204,5,.10), transparent 24%),
        #FAFAFA;
}

.ccsc-msg{
    max-width:74%;
    margin:7px 0;
}

.ccsc-msg>div{
    padding:8px 11px !important;
    border:1px solid var(--cc-border);
    border-radius:12px 12px 12px 3px;
    background:#FFFFFF;
    color:var(--cc-text);
    font-size:9px;
    line-height:1.55;
    white-space:pre-wrap;
}

.ccsc-msg.mine{margin-left:auto}

.ccsc-msg.mine>div{
    border-color:var(--cc-black);
    border-radius:12px 12px 3px 12px;
    background:var(--cc-black);
    color:#FFFFFF;
}

.ccsc-msg small{
    display:block;
    margin-top:3px;
    color:#939397 !important;
    font-size:7px !important;
}

.ccsc-msg.mine small{text-align:right}

.ccsc-chat-form{
    display:flex;
    align-items:flex-end;
    gap:8px;
    padding:10px !important;
    border-top:1px solid var(--cc-border);
    background:#FFFFFF;
}

.ccsc-chat-form textarea{
    flex:1;
    min-height:42px !important;
    max-height:105px;
    resize:vertical;
    margin:0 !important;
    padding:9px 11px !important;
    border:1px solid #E2E2E2 !important;
    border-radius:9px !important;
    outline:0 !important;
    background:#FFFFFF !important;
    color:var(--cc-black) !important;
    font-size:9px !important;
    line-height:1.5 !important;
    box-shadow:none !important;
}

.ccsc-chat-form textarea:focus{
    border-color:var(--cc-yellow) !important;
    box-shadow:0 0 0 3px rgba(255,204,5,.14) !important;
}

/* =========================================================
   EMPTY / LOGIN CARD / TOAST
========================================================= */
.ccsc-empty{
    padding:22px !important;
    color:var(--cc-grey) !important;
    font-size:9px !important;
    line-height:1.6 !important;
    text-align:center !important;
}

.ccsc-empty-block{
    border:1px dashed #DFDFDF;
    border-radius:13px;
    background:#FCFCFC;
}

.ccsc-login-card{
    position:relative;
    overflow:hidden;
    padding:30px !important;
    border-radius:18px !important;
    text-align:center;
}

.ccsc-login-card h2{
    margin:5px 0 7px !important;
    color:var(--cc-black) !important;
    font-size:23px !important;
    font-weight:700 !important;
}

.ccsc-login-card p{
    margin:0 0 17px !important;
    color:var(--cc-grey) !important;
    font-size:10px !important;
}

.ccsc-card-accent{
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:4px;
    background:var(--cc-yellow);
}

.ccsc-toast{
    position:fixed;
    z-index:99999;
    right:20px;
    bottom:20px;
    padding:10px 13px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    background:#18181A;
    color:#FFFFFF;
    font-family:'Poppins',sans-serif;
    font-size:9px;
    font-weight:600;
    box-shadow:0 16px 40px rgba(0,0,0,.22);
    opacity:0;
    transform:translateY(10px);
    transition:.2s;
}

.ccsc-toast.show{opacity:1;transform:none}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:900px){
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content{
        width:100% !important;
        float:none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation{
        margin-bottom:18px;
        overflow-x:auto;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul{
        display:flex;
        gap:5px;
        min-width:max-content;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li a{
        min-height:40px;
        white-space:nowrap;
    }

    .ccsc-head{min-height:170px;padding:25px}
    .ccsc-head h2{font-size:29px !important}
    .ccsc-chat-layout{grid-template-columns:195px minmax(0,1fr)}
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:680px){
    .ccsc-login-intro{align-items:flex-start;padding:20px}
    .ccsc-login-intro__mark{width:48px;height:48px;flex-basis:48px;border-radius:14px}
    .ccsc-login-intro h2{font-size:20px !important}

    .woocommerce-account:not(.logged-in) #customer_login{grid-template-columns:1fr}

    .ccsc-head{
        align-items:flex-start;
        min-height:0;
        padding:22px 20px;
        border-radius:18px;
    }

    .ccsc-head h2{font-size:25px !important;letter-spacing:-.8px !important}
    .ccsc-head p{font-size:10.5px !important}
    .ccsc-avatar{display:none}
    .ccsc-head:after{width:150px;height:150px;right:-55px;bottom:-75px;opacity:.45}

    .ccsc-tabs{margin:14px 0 18px;border-radius:12px}
    .ccsc-tab,.ccsc-app .ccsc-tab{min-height:36px !important;font-size:9px !important}

    .ccsc-panel-heading{align-items:flex-start;flex-direction:column;gap:4px}
    .ccsc-panel-heading p{text-align:left}

    .ccsc-grid{grid-template-columns:1fr}
    .ccsc-pass-card{min-height:215px}
    .ccsc-card-wide{grid-column:auto}

    .ccsc-member{align-items:flex-start;flex-direction:column}
    .ccsc-member-actions{width:100%}

    .ccsc-list-card{align-items:flex-start;flex-wrap:wrap}
    .ccsc-list-card .ccsc-btn{margin-left:52px !important}

    .ccsc-chat-layout{grid-template-columns:1fr;min-height:0}
    .ccsc-chat-list{max-height:170px;overflow:auto;border-right:0;border-bottom:1px solid var(--cc-border)}
    .ccsc-chat-thread{min-height:270px;max-height:360px}
}

@media(max-width:420px){
    .ccsc-login-intro{gap:12px;padding:17px}
    .ccsc-login-intro__mark{display:none}
    .ccsc-head{padding:19px 17px}
    .ccsc-head h2{font-size:22px !important}
    .ccsc-head-meta{gap:5px}
    .ccsc-head-meta span{font-size:8px}
    .ccsc-card{padding:16px !important}
    .ccsc-card-footer{left:16px;right:16px}
    .ccsc-chat-form{align-items:stretch;flex-direction:column}
    .ccsc-chat-form .ccsc-btn{width:100% !important}
}

/* =========================================================
   V1.2 PREMIUM ACCOUNT + COMMUNITY POLISH
========================================================= */

/* Cleaner WooCommerce account content */
body.ccsc-account-ui.woocommerce-account .woocommerce-MyAccount-content{
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.ccsc-account-ui.woocommerce-account .woocommerce-MyAccount-navigation{
    align-self:flex-start;
}

/* Address endpoint: remove generic WooCommerce intro and force a clean 2-card grid */
body.ccsc-account-addresses .woocommerce-MyAccount-content > p:first-child{
    display:none !important;
}

body.ccsc-account-addresses .woocommerce-Addresses,
body.ccsc-account-addresses .woocommerce-MyAccount-content .woocommerce-Addresses{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

body.ccsc-account-addresses .woocommerce-Addresses .woocommerce-Address,
body.ccsc-account-addresses .woocommerce-Addresses .u-column1,
body.ccsc-account-addresses .woocommerce-Addresses .u-column2,
body.ccsc-account-addresses .woocommerce-MyAccount-content .woocommerce-Address{
    float:none !important;
    clear:none !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid #E9E9E9 !important;
    border-radius:18px !important;
    background:#FFFFFF !important;
    box-shadow:0 16px 45px rgba(24,24,26,.045) !important;
}

body.ccsc-account-addresses .woocommerce-Address-title,
body.ccsc-account-addresses .woocommerce-MyAccount-content .woocommerce-Address-title{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    min-height:68px !important;
    margin:0 !important;
    padding:18px 20px !important;
    border:0 !important;
    border-bottom:1px solid #EFEFEF !important;
    background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF5 100%) !important;
}

body.ccsc-account-addresses .woocommerce-Address-title h2{
    float:none !important;
    margin:0 !important;
    padding:0 !important;
    color:#18181A !important;
    font-family:'Poppins',sans-serif !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    letter-spacing:-.35px !important;
}

body.ccsc-account-addresses .woocommerce-Address-title .edit{
    position:static !important;
    float:none !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    margin:0 !important;
    padding:7px 11px !important;
    border:1px solid #FFCC05 !important;
    border-radius:9px !important;
    background:#FFCC05 !important;
    color:#18181A !important;
    font-family:'Poppins',sans-serif !important;
    font-size:8px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    box-shadow:none !important;
}

body.ccsc-account-addresses .woocommerce-Address-title .edit:hover{
    border-color:#18181A !important;
    background:#18181A !important;
    color:#FFFFFF !important;
}

body.ccsc-account-addresses .woocommerce-Address address{
    min-height:88px !important;
    margin:0 !important;
    padding:20px !important;
    color:#6B6B70 !important;
    font-family:'Poppins',sans-serif !important;
    font-size:10px !important;
    line-height:1.75 !important;
    font-style:normal !important;
}

/* Cleaner community shell */
.ccsc-app{
    font-size:13px;
}

.ccsc-head{
    min-height:172px;
    padding:27px 30px;
    border-radius:20px;
    box-shadow:0 18px 50px rgba(24,24,26,.045);
}

.ccsc-head h2{
    font-size:32px !important;
}

.ccsc-head p{
    max-width:520px;
    font-size:10.5px !important;
}

.ccsc-head-meta{
    margin-top:13px;
}

.ccsc-head-meta span{
    min-height:28px;
    padding:5px 9px;
    font-size:8px;
}

.ccsc-panel-heading{
    align-items:center;
    min-height:42px;
    margin:2px 0 12px;
}

.ccsc-panel-heading-spaced{
    margin-top:27px;
}

.ccsc-panel-heading h3{
    font-size:18px !important;
}

.ccsc-panel-heading p{
    display:none !important;
}

.ccsc-card-wide{
    min-height:84px;
}

.ccsc-pass-card{
    min-height:215px;
}

/* =========================================================
   V1.2 PREMIUM CHAT
========================================================= */
.ccsc-chat-layout{
    grid-template-columns:230px minmax(0,1fr);
    min-height:545px;
    border:1px solid #E9E9E9 !important;
    border-radius:18px !important;
    background:#FFFFFF !important;
    box-shadow:0 20px 55px rgba(24,24,26,.045) !important;
}

.ccsc-chat-list{
    padding:12px !important;
    background:#FCFCFC;
}

.ccsc-chat-list-title{
    min-height:38px;
    margin:0 2px 10px;
    padding:0 4px;
    font-size:11px;
}

.ccsc-chat-list-title small{
    min-width:25px;
    padding:4px 7px;
    background:#FFCC05;
    font-size:7px;
    font-weight:800;
}

.ccsc-chat-list-empty{
    margin-top:8px;
    padding:18px 10px;
    color:#85858A;
    font-size:8.5px;
    line-height:1.65;
    text-align:center;
}

.ccsc-chat-person,
.ccsc-app .ccsc-chat-person{
    position:relative;
    min-height:58px !important;
    margin:4px 0 !important;
    padding:7px 8px !important;
    border:1px solid transparent !important;
    border-radius:12px !important;
}

.ccsc-chat-person:hover,
.ccsc-app .ccsc-chat-person:hover{
    border-color:#EFE2A1 !important;
    background:#FFF9DE !important;
}

.ccsc-chat-person.is-active,
.ccsc-app .ccsc-chat-person.is-active{
    border-color:#E6D36B !important;
    background:#FFF7CF !important;
}

.ccsc-chat-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    padding:2px;
    border:1px solid #E8E8E8;
    background:#FFFFFF;
}

.ccsc-chat-person-copy{
    min-width:0;
    display:flex;
    flex:1;
    flex-direction:column;
    gap:2px;
}

.ccsc-chat-person-copy strong{
    overflow:hidden;
    color:#18181A;
    font-size:9.5px;
    line-height:1.3;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ccsc-chat-person-copy small{
    color:#8B8B90;
    font-size:7.5px;
    line-height:1.2;
    font-weight:500;
}

.ccsc-unread{
    min-width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 5px;
    border-radius:999px;
    background:#18181A;
    color:#FFFFFF;
    font-size:7px;
    font-weight:800;
}

.ccsc-chat-box{
    min-height:545px;
    background:#FFFFFF;
}

.ccsc-chat-title{
    min-height:64px;
    padding:10px 16px !important;
    background:#FFFFFF;
}

.ccsc-chat-header-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:none;
    overflow:hidden;
    border:1px solid #E8E8E8;
    border-radius:50%;
    background:#F5F5F5;
}

.ccsc-chat-header-avatar.has-avatar{
    display:block;
}

.ccsc-chat-header-avatar img{
    display:block;
    width:100% !important;
    height:100% !important;
    object-fit:cover;
    border-radius:50% !important;
}

.ccsc-chat-title-copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
}

.ccsc-chat-title-copy strong{
    overflow:hidden;
    color:#18181A;
    font-size:11px;
    line-height:1.25;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ccsc-chat-title-copy small{
    color:#8A8A8F;
    font-size:7.5px;
    line-height:1.2;
    font-weight:500;
}

.ccsc-chat-thread{
    min-height:410px;
    max-height:410px;
    padding:22px 20px !important;
    background:
        radial-gradient(circle at 90% 10%, rgba(255,204,5,.10), transparent 24%),
        linear-gradient(180deg,#FAFAFA 0%,#F7F7F7 100%);
}

.ccsc-chat-empty{
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    padding:28px;
    color:#838388;
    text-align:center;
}

.ccsc-chat-empty-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:5px;
    border-radius:14px;
    background:#FFCC05;
    color:#18181A;
    font-size:17px;
    box-shadow:0 8px 22px rgba(255,204,5,.22);
}

.ccsc-chat-empty strong{
    color:#18181A;
    font-size:10px;
    font-weight:700;
}

.ccsc-chat-empty span{
    color:#8B8B90;
    font-size:8px;
}

.ccsc-chat-loading{
    min-height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
}

.ccsc-chat-loading span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#FFCC05;
    animation:ccscPulse .9s infinite alternate;
}

.ccsc-chat-loading span:nth-child(2){animation-delay:.15s}
.ccsc-chat-loading span:nth-child(3){animation-delay:.30s}

@keyframes ccscPulse{
    from{opacity:.3;transform:translateY(0)}
    to{opacity:1;transform:translateY(-4px)}
}

.ccsc-msg{
    position:relative;
    max-width:76%;
    margin:10px 0;
}

.ccsc-msg-bubble,
.ccsc-msg>div.ccsc-msg-bubble{
    padding:10px 13px !important;
    border:1px solid #E6E6E6 !important;
    border-radius:15px 15px 15px 5px !important;
    background:#FFFFFF !important;
    color:#242426 !important;
    font-size:9.5px !important;
    line-height:1.6 !important;
    white-space:pre-wrap;
    word-break:break-word;
    box-shadow:0 5px 14px rgba(24,24,26,.035) !important;
}

.ccsc-msg.mine{
    margin-left:auto;
}

.ccsc-msg.mine .ccsc-msg-bubble,
.ccsc-msg.mine>div.ccsc-msg-bubble{
    border-color:#18181A !important;
    border-radius:15px 15px 5px 15px !important;
    background:#18181A !important;
    color:#FFFFFF !important;
    box-shadow:0 7px 18px rgba(24,24,26,.12) !important;
}

.ccsc-msg-meta{
    display:flex;
    align-items:center;
    gap:6px;
    min-height:20px;
    margin-top:3px;
}

.ccsc-msg.mine .ccsc-msg-meta{
    justify-content:flex-end;
}

.ccsc-msg-meta small,
.ccsc-msg small{
    margin:0 !important;
    color:#99999D !important;
    font-size:6.8px !important;
    line-height:1.2 !important;
}

.ccsc-react-wrap{
    position:relative;
}

.ccsc-react-toggle,
.ccsc-app .ccsc-react-toggle{
    width:24px !important;
    height:24px !important;
    min-height:24px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #E5E5E5 !important;
    border-radius:50% !important;
    background:#FFFFFF !important;
    color:#7B7B80 !important;
    font-size:11px !important;
    line-height:1 !important;
    cursor:pointer !important;
    opacity:.35;
    transition:.18s ease;
}

.ccsc-msg:hover .ccsc-react-toggle,
.ccsc-react-wrap.is-open .ccsc-react-toggle{
    opacity:1;
}

.ccsc-react-toggle:hover,
.ccsc-app .ccsc-react-toggle:hover{
    border-color:#FFCC05 !important;
    background:#FFF7CF !important;
    color:#18181A !important;
}

.ccsc-react-menu{
    position:absolute;
    z-index:20;
    left:0;
    bottom:31px;
    display:none;
    align-items:center;
    gap:2px;
    padding:5px;
    border:1px solid #E7E7E7;
    border-radius:999px;
    background:#FFFFFF;
    box-shadow:0 10px 28px rgba(24,24,26,.12);
}

.ccsc-msg.mine .ccsc-react-menu{
    right:0;
    left:auto;
}

.ccsc-react-wrap.is-open .ccsc-react-menu{
    display:flex;
}

.ccsc-react-menu button,
.ccsc-app .ccsc-react-menu button{
    width:30px !important;
    height:30px !important;
    min-height:30px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:transparent !important;
    font-size:15px !important;
    line-height:1 !important;
    cursor:pointer !important;
    transition:.15s ease;
}

.ccsc-react-menu button:hover,
.ccsc-app .ccsc-react-menu button:hover,
.ccsc-react-menu button.is-selected{
    background:#FFF7CF !important;
    transform:translateY(-2px);
}

.ccsc-reaction-summary{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    margin-top:4px;
}

.ccsc-msg.mine .ccsc-reaction-summary{
    justify-content:flex-end;
}

.ccsc-reaction-chip,
.ccsc-app .ccsc-reaction-chip{
    display:inline-flex !important;
    align-items:center !important;
    gap:3px !important;
    min-height:24px !important;
    margin:0 !important;
    padding:3px 7px !important;
    border:1px solid #E5E5E5 !important;
    border-radius:999px !important;
    background:#FFFFFF !important;
    color:#5F5F64 !important;
    font-size:10px !important;
    line-height:1 !important;
    cursor:pointer !important;
}

.ccsc-reaction-chip b{
    color:#77777C;
    font-size:7px;
    font-weight:700;
}

.ccsc-reaction-chip.is-mine{
    border-color:#E4C92E !important;
    background:#FFF7CF !important;
}

.ccsc-chat-form{
    min-height:70px;
    align-items:center;
    padding:11px 13px !important;
    background:#FFFFFF;
}

.ccsc-chat-form textarea{
    min-height:45px !important;
    max-height:120px !important;
    resize:none !important;
    padding:11px 13px !important;
    border:1px solid #E3E3E3 !important;
    border-radius:13px !important;
    background:#FAFAFA !important;
    color:#18181A !important;
    font-size:9.5px !important;
    line-height:1.5 !important;
}

.ccsc-chat-form textarea:focus{
    border-color:#FFCC05 !important;
    background:#FFFFFF !important;
}

.ccsc-chat-send,
.ccsc-app .ccsc-chat-send{
    width:45px !important;
    height:45px !important;
    min-height:45px !important;
    flex:0 0 45px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #18181A !important;
    border-radius:13px !important;
    background:#18181A !important;
    color:#FFFFFF !important;
    cursor:pointer !important;
    transition:.18s ease;
}

.ccsc-chat-send svg{
    width:19px;
    height:19px;
}

.ccsc-chat-send:hover,
.ccsc-app .ccsc-chat-send:hover{
    border-color:#FFCC05 !important;
    background:#FFCC05 !important;
    color:#18181A !important;
    transform:translateY(-1px);
}

.ccsc-chat-send:disabled{
    opacity:.55;
    cursor:not-allowed !important;
    transform:none !important;
}

@media(max-width:900px){
    body.ccsc-account-addresses .woocommerce-Addresses,
    body.ccsc-account-addresses .woocommerce-MyAccount-content .woocommerce-Addresses{
        grid-template-columns:1fr !important;
    }

    .ccsc-chat-layout{
        grid-template-columns:205px minmax(0,1fr);
    }
}

@media(max-width:680px){
    .ccsc-chat-layout{
        grid-template-columns:1fr;
        min-height:0;
    }

    .ccsc-chat-list{
        max-height:190px;
        overflow:auto;
        border-right:0;
        border-bottom:1px solid #E9E9E9;
    }

    .ccsc-chat-box{
        min-height:470px;
    }

    .ccsc-chat-thread{
        min-height:330px;
        max-height:330px;
        padding:16px 12px !important;
    }

    .ccsc-msg{
        max-width:86%;
    }

    .ccsc-react-toggle{
        opacity:.8;
    }
}

@media(max-width:420px){
    .ccsc-chat-form{
        flex-direction:row;
        align-items:center;
    }

    .ccsc-chat-send,
    .ccsc-app .ccsc-chat-send{
        width:43px !important;
        min-width:43px !important;
        flex-basis:43px !important;
    }
}

/* Student Community is a permanent account section; no temporary badge. */
.woocommerce-account .woocommerce-MyAccount-navigation-link--student-community a:after{
    display:none !important;
    content:none !important;
}
