/* =========================================================
   CEYLON SCENE — REACTIONS & COMMENTS
========================================================= */

.cs-interactions{
    --gold:#d7a33a;
    --gold-light:#efb843;
    --cream:#f4efe6;

    position:relative;

    padding:70px 0;

    border-top:1px solid rgba(215,163,58,.18);

    background:
        radial-gradient(
            circle at 85% 0%,
            rgba(215,163,58,.065),
            transparent 30%
        ),
        #060606;
}


.cs-interactions__shell{
    width:min(
        1240px,
        calc(100% - 44px)
    );

    margin:0 auto;
}


.cs-interactions__header{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:30px;

    margin-bottom:25px;
}


.cs-interactions__eyebrow{
    display:block;

    margin-bottom:8px;

    color:var(--gold-light);

    font-size:8px;
    font-weight:900;

    letter-spacing:.18em;

    text-transform:uppercase;
}


.cs-interactions__header h2{
    margin:0;

    color:var(--cream);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            4vw,
            52px
        );

    font-weight:500;

    line-height:.95;

    letter-spacing:-.035em;
}


.cs-interactions__comment-total{
    color:rgba(255,255,255,.45);

    font-size:9px;

    letter-spacing:.08em;

    text-transform:uppercase;
}


.cs-interactions__comment-total strong{
    margin-right:5px;

    color:var(--gold);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:20px;
}


/* =========================================================
   REACTIONS
========================================================= */

.cs-reactions{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    margin-bottom:38px;

    overflow:hidden;

    border:1px solid
        rgba(215,163,58,.27);

    border-radius:7px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.02),
            rgba(255,255,255,.005)
        ),
        #0a0a0a;
}


.cs-reaction-btn{
    min-height:68px;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    padding:10px 16px;

    border:0;
    border-right:1px solid
        rgba(255,255,255,.08);

    background:transparent;

    color:rgba(255,255,255,.64);

    cursor:pointer;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}


.cs-reaction-btn:last-child{
    border-right:0;
}


.cs-reaction-btn:hover{
    background:
        rgba(215,163,58,.06);

    color:#fff;
}


.cs-reaction-btn.active{
    background:
        linear-gradient(
            135deg,
            rgba(215,163,58,.16),
            rgba(215,163,58,.035)
        );

    color:var(--gold-light);
}


.cs-reaction-btn__icon{
    font-size:20px;
}


.cs-reaction-btn__label{
    font-size:9px;

    font-weight:800;

    letter-spacing:.08em;

    text-transform:uppercase;
}


.cs-reaction-btn strong{
    color:var(--gold);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:18px;

    font-weight:500;
}


/* =========================================================
   GRID
========================================================= */

.cs-interactions__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(340px,.75fr);

    gap:55px;

    align-items:start;
}


/* =========================================================
   COMMENTS
========================================================= */

.cs-comments__title{
    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:8px;

    color:#eee9e0;

    font-size:9px;
    font-weight:900;

    letter-spacing:.18em;
}


.cs-comments__title b{
    flex:1;

    height:1px;

    background:
        linear-gradient(
            to right,
            rgba(215,163,58,.40),
            transparent
        );
}


.cs-comment{
    display:grid;

    grid-template-columns:
        42px
        minmax(0,1fr);

    gap:15px;

    padding:22px 0;

    border-bottom:1px solid
        rgba(255,255,255,.08);
}


.cs-comment__avatar{
    width:42px;
    height:42px;

    display:grid;

    place-items:center;

    border:1px solid
        rgba(215,163,58,.32);

    border-radius:50%;

    background:#0c0c0c;

    color:var(--gold);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:18px;
}


.cs-comment__meta{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:18px;

    margin-bottom:7px;
}


.cs-comment__meta strong{
    color:#eee9e1;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:16px;

    font-weight:600;
}


.cs-comment__meta time{
    color:rgba(255,255,255,.30);

    font-size:8px;
}


.cs-comment p{
    margin:0;

    color:rgba(244,239,230,.64);

    font-size:12px;

    line-height:1.75;
}


.cs-comments__empty{
    padding:28px 0;

    color:rgba(255,255,255,.35);

    font-size:11px;
}


/* =========================================================
   COMMENT FORM
========================================================= */

.cs-comment-form-card{
    padding:28px;

    border:1px solid
        rgba(215,163,58,.33);

    border-radius:8px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(215,163,58,.07),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #11100d,
            #090909
        );

    box-shadow:
        0 25px 65px
        rgba(0,0,0,.35);
}


.cs-comment-form-card h3{
    margin:0;

    color:var(--cream);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:27px;

    font-weight:500;
}


.cs-comment-form-card > p{
    margin:8px 0 23px;

    color:rgba(255,255,255,.43);

    font-size:10px;

    line-height:1.6;
}


.cs-comment-form__row{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:12px;
}


.cs-comment-form label{
    display:block;

    margin-bottom:14px;
}


.cs-comment-form label > span{
    display:block;

    margin-bottom:7px;

    color:rgba(255,255,255,.58);

    font-size:8px;
    font-weight:800;

    letter-spacing:.10em;

    text-transform:uppercase;
}


.cs-comment-form input,
.cs-comment-form textarea{
    width:100%;

    border:1px solid
        rgba(255,255,255,.12);

    border-radius:3px;

    outline:none;

    background:#080808;

    color:#eee9e1;

    font:inherit;

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}


.cs-comment-form input{
    height:43px;

    padding:0 12px;
}


.cs-comment-form textarea{
    min-height:130px;

    padding:12px;

    resize:vertical;
}


.cs-comment-form input:focus,
.cs-comment-form textarea:focus{
    border-color:
        rgba(215,163,58,.72);

    box-shadow:
        0 0 0 3px
        rgba(215,163,58,.07);
}


.cs-honeypot{
    position:absolute !important;

    width:1px !important;
    height:1px !important;

    overflow:hidden !important;

    clip:rect(
        0,
        0,
        0,
        0
    ) !important;

    white-space:nowrap !important;
}


.cs-comment-submit{
    width:100%;
    height:47px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    padding:0 16px;

    border:1px solid var(--gold);

    background:
        linear-gradient(
            135deg,
            #efb843,
            #d79e2e
        );

    color:#080808;

    cursor:pointer;

    font-size:8px;
    font-weight:900;

    letter-spacing:.12em;

    text-transform:uppercase;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        opacity .25s ease;
}


.cs-comment-submit:hover{
    transform:translateY(-2px);

    box-shadow:
        0 12px 30px
        rgba(215,163,58,.17);
}


.cs-comment-submit:disabled{
    opacity:.55;

    cursor:wait;

    transform:none;
}


.cs-comment-message{
    min-height:18px;

    margin-top:12px;

    color:#57b77d;

    font-size:9px;

    line-height:1.5;
}


.cs-comment-message.error{
    color:#e57878;
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:820px){

    .cs-interactions{
        padding:50px 0;
    }

    .cs-interactions__shell{
        width:calc(100% - 30px);
    }

    .cs-interactions__header{
        display:block;
    }

    .cs-interactions__comment-total{
        display:block;

        margin-top:14px;
    }

    .cs-reactions{
        grid-template-columns:
            1fr 1fr;
    }

    .cs-reaction-btn:nth-child(2){
        border-right:0;
    }

    .cs-reaction-btn:nth-child(-n+2){
        border-bottom:1px solid
            rgba(255,255,255,.08);
    }

    .cs-interactions__grid{
        grid-template-columns:1fr;

        gap:35px;
    }

}


@media(max-width:520px){

    .cs-comment-form__row{
        grid-template-columns:1fr;
    }

    .cs-reaction-btn{
        min-height:62px;

        padding:8px 10px;
    }

    .cs-reaction-btn__label{
        font-size:7px;
    }

    .cs-comment-form-card{
        padding:21px 17px;
    }

}
