/*
=========================================================
FILE: reviews.css
VERSION: 4
PURPOSE: Reviews page styling
=========================================================
*/

.jd_reviews_page
{
padding:0;
background:#ffffff;
}

/* =========================================================
   BANDS
========================================================= */

.jd_reviews_band
{
position:relative;
overflow:hidden;
padding:clamp(2.2rem, 3.8vw, 3.8rem) 0;
}

.jd_reviews_band_intro
{
background:linear-gradient(180deg, #dcdcdc 0%, #ececec 35%, #f5f5f5 100%);
border-top:1px solid rgba(0,0,0,0.05);
border-bottom:1px solid rgba(0,0,0,0.06);
}

.jd_reviews_band_featured
{
background:linear-gradient(180deg, #cfe6d3 0%, #ddefe0 35%, #edf7ef 100%);
border-top:1px solid rgba(77,117,81,0.10);
border-bottom:1px solid rgba(77,117,81,0.12);
}

.jd_reviews_band_archive
{
background:linear-gradient(180deg, #f2dd58 0%, #f7e97f 35%, #fff6bf 100%);
border-top:1px solid rgba(122,98,28,0.12);
padding-bottom:clamp(4.6rem, 7vw, 6rem);
}

.jd_reviews_band::before,
.jd_reviews_band::after
{
content:"";
position:absolute;
border-radius:50%;
pointer-events:none;
opacity:0.65;
}

.jd_reviews_band_intro::before
{
width:360px;
height:360px;
top:-140px;
right:-120px;
background:radial-gradient(circle, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.10) 48%, rgba(255,255,255,0) 74%);
}

.jd_reviews_band_intro::after
{
width:280px;
height:280px;
bottom:-120px;
left:-90px;
background:radial-gradient(circle, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0.08) 48%, rgba(255,255,255,0) 74%);
}

.jd_reviews_band_featured::before
{
width:340px;
height:340px;
top:-120px;
left:-120px;
background:radial-gradient(circle, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.08) 48%, rgba(255,255,255,0) 74%);
}

.jd_reviews_band_featured::after
{
width:320px;
height:320px;
bottom:-140px;
right:-110px;
background:radial-gradient(circle, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0.08) 48%, rgba(255,255,255,0) 74%);
}

.jd_reviews_band_archive::before
{
width:320px;
height:320px;
top:-120px;
right:-110px;
background:radial-gradient(circle, rgba(255,255,255,0.30) 0%, rgba(255,255,255,0.10) 48%, rgba(255,255,255,0) 74%);
}

.jd_reviews_band_archive::after
{
width:290px;
height:290px;
bottom:-115px;
left:-95px;
background:radial-gradient(circle, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.08) 48%, rgba(255,255,255,0) 74%);
}

/* =========================================================
   INTRO
========================================================= */

.jd_reviews_intro_wrap
{
position:relative;
z-index:2;
display:grid;
gap:1.2rem;
align-items:stretch;
}

.jd_reviews_intro_panel,
.jd_reviews_trust_panel,
.jd_review_card,
.jd_archive_card_inner
{
position:relative;
z-index:2;
border-radius:1.45rem;
box-shadow:0 22px 42px rgba(17,17,17,0.12);
}

.jd_reviews_intro_panel
{
display:flex;
flex-direction:column;
padding:1.5rem;
background:linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
border:1px solid rgba(0,0,0,0.08);
}

.jd_reviews_trust_panel
{
display:flex;
flex-direction:column;
padding:1.45rem;
background:linear-gradient(180deg, #ffffff 0%, #f9f9f9 100%);
border:1px solid rgba(0,0,0,0.08);
}

.jd_reviews_kicker
{
display:flex;
align-items:center;
justify-content:center;
width:100%;
padding:0.78rem 1rem;
margin:0 0 1rem;
border-radius:0.95rem;
background:#8b8b8b;
border:2px solid #454545;
color:#ffffff;
font-size:0.9rem;
font-weight:700;
letter-spacing:0.03em;
line-height:1.2;
text-align:center;
box-shadow:0 10px 20px rgba(0,0,0,0.16);
}

.jd_reviews_lead
{
margin:0 0 0.95rem;
font-size:1.08rem;
line-height:1.72;
color:#111111;
max-width:60ch;
}

.jd_reviews_wysiwyg
{
flex:1 1 auto;
}

.jd_reviews_wysiwyg p:last-child
{
margin-bottom:0;
}

.jd_reviews_intro_actions
{
display:flex;
justify-content:center;
padding-top:1rem;
}

.jd_reviews_trust_panel h2
{
margin:0 0 0.85rem;
font-size:1.4rem;
line-height:1.22;
color:#111111;
text-align:center;
}

.jd_reviews_trust_text
{
margin:0 0 1rem;
font-size:1rem;
line-height:1.72;
color:#222222;
text-align:center;
}

.jd_reviews_trust_list
{
margin:0 0 1.15rem;
padding:0;
list-style:none;
}

.jd_reviews_trust_list li
{
position:relative;
padding-left:1.7rem;
margin-bottom:0.72rem;
line-height:1.64;
color:#111111;
}

.jd_reviews_trust_list li:last-child
{
margin-bottom:0;
}

.jd_reviews_trust_list li::before
{
content:"✓";
position:absolute;
left:0;
top:0.02rem;
font-weight:700;
color:#2f5f36;
}

.jd_reviews_stats
{
display:grid;
gap:0.85rem;
margin-top:auto;
}

.jd_reviews_stat
{
padding:1rem 1rem 0.95rem;
border-radius:1rem;
background:linear-gradient(180deg, #f3f3f3 0%, #ffffff 100%);
border:2px solid #7b7b7b;
text-align:center;
box-shadow:inset 0 1px 0 rgba(255,255,255,0.55);
}

.jd_reviews_stat strong
{
display:block;
margin-bottom:0.22rem;
font-size:1.02rem;
line-height:1.35;
color:#111111;
text-align:center;
}

.jd_reviews_stat span
{
display:block;
font-size:0.93rem;
line-height:1.55;
color:#4f4f4f;
text-align:center;
}

/* =========================================================
   SECTION HEADINGS
========================================================= */

.jd_reviews_section
{
position:relative;
z-index:2;
}

.jd_reviews_section_heading
{
max-width:64ch;
margin:0 auto 1.5rem;
text-align:center;
}

.jd_reviews_section_heading h2
{
margin:0 0 0.45rem;
font-size:clamp(1.75rem, 2.8vw, 2.3rem);
line-height:1.18;
color:#111111;
}

.jd_reviews_section_heading p
{
margin:0;
font-size:1rem;
line-height:1.7;
color:#333333;
}

/* =========================================================
   FEATURED GRID
========================================================= */

.jd_reviews_featured_grid
{
display:grid;
gap:1.1rem;
}

.jd_review_card
{
display:flex;
flex-direction:column;
padding:1.25rem 1.15rem 1.1rem;
min-height:100%;
border:2px solid #5f7f64;
}

.jd_review_card_mint
{
background:#e9f3df;
}

.jd_review_card_sage
{
background:#dceccf;
}

.jd_review_card_tea
{
background:#f1f6d8;
}

.jd_review_quote_mark
{
margin:0 0 0.5rem;
font-size:2.2rem;
line-height:1;
font-weight:700;
color:#2f5f36;
opacity:0.28;
text-align:center;
}

.jd_review_text
{
margin:0 0 1rem;
font-size:0.97rem;
line-height:1.74;
color:#111111;
flex:1 1 auto;
text-align:center;
}

.jd_review_meta
{
padding-top:0.8rem;
border-top:1px solid rgba(0,0,0,0.10);
text-align:center;
}

.jd_review_name
{
display:block;
font-size:1rem;
line-height:1.4;
color:#111111;
text-align:center;
}

.jd_review_sub
{
display:block;
margin-top:0.22rem;
font-size:0.9rem;
line-height:1.55;
color:#4f4f4f;
text-align:center;
}

/* =========================================================
   ARCHIVE GRID
========================================================= */

.jd_reviews_archive_grid
{
display:grid;
grid-template-columns:1fr;
gap:1rem;
max-width:980px;
margin:0 auto;
}

.jd_archive_card_inner
{
padding:1.2rem 1.35rem 1.1rem;
background:linear-gradient(180deg, #fffdf4 0%, #ffffff 100%);
border:1px solid rgba(122,98,28,0.18);
}

.jd_archive_text
{
margin:0 0 0.85rem;
font-size:0.96rem;
line-height:1.78;
color:#111111;
text-align:center;
}

.jd_archive_meta
{
padding-top:0.72rem;
border-top:1px solid rgba(0,0,0,0.08);
text-align:center;
}

.jd_archive_name
{
display:block;
font-size:0.98rem;
line-height:1.4;
color:#111111;
text-align:center;
}

.jd_archive_sub
{
display:block;
margin-top:0.2rem;
font-size:0.89rem;
line-height:1.55;
color:#5a5a5a;
text-align:center;
}

/* =========================================================
   BUTTONS
========================================================= */

.jd_reviews_button
{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:54px;
padding:0.95rem 1.5rem;
border-radius:999px;
font-size:0.97rem;
font-weight:700;
line-height:1.2;
text-decoration:none;
transition:all 0.2s ease;
box-shadow:0 16px 26px rgba(17,17,17,0.14);
}

.jd_reviews_button:hover
{
transform:translateY(-2px);
text-decoration:none;
}

.jd_reviews_button_primary
{
background:linear-gradient(180deg, #b88b22 0%, #8e6b17 100%);
border:1px solid #7a5c14;
color:#ffffff;
min-width:260px;
}

.jd_reviews_button_primary:hover
{
background:linear-gradient(180deg, #c59524 0%, #9a7318 100%);
color:#ffffff;
}

.jd_reviews_button_secondary
{
background:linear-gradient(180deg, #222222 0%, #111111 100%);
border:1px solid #000000;
color:#ffffff;
min-width:240px;
}

.jd_reviews_button_secondary:hover
{
background:linear-gradient(180deg, #333333 0%, #1b1b1b 100%);
color:#ffffff;
}

/* =========================================================
   EMPTY / LOAD MORE
========================================================= */

.jd_reviews_empty
{
padding:1.35rem 1.2rem;
border-radius:1.2rem;
background:linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
border:1px solid rgba(0,0,0,0.08);
text-align:center;
box-shadow:0 18px 34px rgba(17,17,17,0.08);
}

.jd_reviews_empty p
{
margin:0;
line-height:1.65;
}

.jd_reviews_more_wrap
{
display:flex;
justify-content:center;
padding-top:1.35rem;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media screen and (min-width: 768px)
{
    .jd_reviews_intro_wrap
    {
        grid-template-columns:minmax(0, 1.2fr) minmax(320px, 0.95fr);
    }

    .jd_reviews_featured_grid
    {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 1100px)
{
    .jd_reviews_featured_grid
    {
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px)
{
    .jd_reviews_band
    {
        padding:1.9rem 0;
    }

    .jd_reviews_intro_panel,
    .jd_reviews_trust_panel,
    .jd_review_card,
    .jd_archive_card_inner
    {
        border-radius:1.2rem;
    }

    .jd_reviews_button
    {
        width:100%;
        min-width:0;
    }

    .jd_archive_card_inner
    {
        padding:1rem 1rem 0.95rem;
    }
}