﻿:root{
    --p:#B5143A;--p-dark:#e63535;--p-mid:#C41E3A;
    --p-soft:#FDEAEE;--p-softer:#FEF5F7;--p-border:#F5C6CE;
    --gold:#C9963A;--gold-light:#FDF5E6;
    --text-h:#1C1A1B;--text-b:#3D3640;--text-m:#7A6E72;--text-l:#ADA3A7;
    --bg-white:#FFFFFF;--bg-section:#FAFAFA;
    --radius:14px;--radius-sm:8px;--radius-lg:22px;
    --shadow:0 2px 16px rgba(181,20,58,.07);
    --shadow-md:0 6px 28px rgba(181,20,58,.13);
    --trans:.22s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--text-b);background:var(--bg-white)}
a{text-decoration:none;color:inherit}

/* â”€â”€ CONTAINER â”€â”€ */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
@media(min-width:640px){.container{padding:0 36px}}
@media(min-width:1024px){.container{padding:0 48px}}

/* â”€â”€ FADE-UP â”€â”€ */
.fu{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.fu.in{opacity:1;transform:none}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HERO
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.ss-hero{
    background: linear-gradient(135deg, #c41e3a 0%, #8C1428 45%, #c41e3a 100%);
    padding:76px 0 64px;color:#fff;text-align:center;
    position:relative;overflow:hidden;
}
.ss-hero::before{
    content:'';position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none;
}
.ss-hero .container{position:relative;z-index:1}
.hero-badge{
    display:inline-flex;align-items:center;gap:6px;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);
    border-radius:50px;padding:5px 16px;font-size:.73rem;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.9);
    margin-bottom:18px;
}
.ss-hero h1{
    font-family:'Poppins',sans-serif;
    font-size:clamp(1.9rem,4.8vw,3rem);font-weight:800;
    line-height:1.18;letter-spacing:-.02em;margin-bottom:16px;
}
.ss-hero p{
    font-size:1.05rem;color:rgba(255,255,255,.8);
    max-width:560px;margin:0 auto 24px;line-height:1.72;
}
.breadcrumb{
    display:flex;align-items:center;justify-content:center;
    gap:8px;font-size:.82rem;color:rgba(255,255,255,.6);
}
.breadcrumb a{color:rgba(255,255,255,.8);transition:color var(--trans)}
.breadcrumb a:hover{color:#fff}
.breadcrumb svg{opacity:.45}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   STATS STRIP
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.stats-strip{
    background:var(--bg-section);
    border-bottom:1px solid var(--p-border);
    padding:36px 0;
}
.stats-grid{
    display:grid;grid-template-columns:repeat(2,1fr);
    gap:24px;
}
@media(min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat-item{
    background:var(--bg-white);
    border:1.5px solid var(--p-border);
    border-radius:var(--radius);
    padding:22px 16px;text-align:center;
    transition:box-shadow var(--trans),transform var(--trans),border-color var(--trans);
}
.stat-item:hover{
    box-shadow:var(--shadow-md);transform:translateY(-3px);
    border-color:var(--p-mid);
}
.stat-num{
    font-family:'Poppins',sans-serif;
    font-size:1.85rem;font-weight:900;
    color:var(--p);line-height:1;margin-bottom:6px;
}
.stat-label{
    font-size:.8rem;font-weight:600;
    color:var(--text-m);letter-spacing:.03em;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   STORIES SECTION
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.stories-section{padding:64px 0 80px;background:var(--bg-white)}
.section-intro{text-align:center;margin-bottom:52px}
.section-eyebrow{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--p-soft);color:var(--p-dark);
    border-radius:50px;padding:5px 16px;
    font-size:.73rem;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;
    margin-bottom:14px;
}
.section-title{
    font-family:'Poppins',sans-serif;
    font-size:clamp(1.65rem,3.2vw,2.4rem);
    font-weight:800;color:var(--text-h);
    line-height:1.2;letter-spacing:-.02em;margin-bottom:12px;
}
.section-sub{
    font-size:1rem;color:var(--text-m);
    max-width:540px;margin:0 auto;line-height:1.7;
}

/* â”€â”€ STORIES GRID â”€â”€ */
.stories-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
@media(max-width:1023px){.stories-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:639px){.stories-grid{grid-template-columns:1fr}}

/* â”€â”€ STORY CARD â”€â”€ */
.story-card{
    background:var(--bg-white);
    border:1.5px solid var(--p-border);
    border-radius:var(--radius-lg);
    overflow:hidden;
    display:flex;flex-direction:column;
    transition:transform var(--trans),box-shadow var(--trans),border-color var(--trans);
}
.story-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-md);
    border-color:var(--p);
}

/* Card visual header */
.card-visual{
    position:relative;
    background:linear-gradient(160deg,var(--p-dark) 0%,#8B1524 50%,var(--p) 100%);
    padding:36px 24px 32px;
    display:flex;flex-direction:column;align-items:center;
    overflow:hidden;
}
.card-visual-bg{
    position:absolute;inset:0;opacity:.12;
    display:flex;align-items:center;justify-content:center;
    pointer-events:none;
}
.card-visual-bg svg{width:120px;height:120px;color:#fff}
/* Date badge */
.card-date-badge{
    position:absolute;top:12px;right:14px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.25);
    border-radius:50px;
    padding:3px 11px;
    font-size:.69rem;font-weight:700;
    color:rgba(255,255,255,.9);
    letter-spacing:.04em;
}
/* Initials circles */
.initials-row{
    display:flex;align-items:center;gap:0;
    position:relative;z-index:1;
    margin-bottom:12px;
}
.initial-circle{
    width:56px;height:56px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Poppins',sans-serif;
    font-size:1.25rem;font-weight:800;
    border:3px solid rgba(255,255,255,.55);
    flex-shrink:0;
}
.initial-circle.groom{
    background:rgba(255,255,255,.22);
    color:#fff;
    margin-right:-10px;
    z-index:2;
}
.initial-circle.bride{
    background:rgba(255,255,255,.13);
    color:rgba(255,255,255,.9);
    margin-left:-10px;
    z-index:1;
}
.initials-connector{
    z-index:3;
    background:rgba(255,255,255,.9);
    border-radius:50%;
    width:22px;height:22px;
    display:flex;align-items:center;justify-content:center;
    font-size:.65rem;
    color:var(--p-dark);
    position:relative;
    flex-shrink:0;
}
.card-couple-names{
    font-size:.8rem;font-weight:600;
    color:rgba(255,255,255,.75);
    letter-spacing:.03em;
    position:relative;z-index:1;
}

/* Card body */
.card-body{
    padding:22px 22px 24px;
    flex:1;display:flex;flex-direction:column;gap:12px;
}
.card-title{
    font-family:'Poppins',sans-serif;
    font-size:1rem;font-weight:700;
    color:var(--text-h);line-height:1.4;
    transition:color var(--trans);
}
.story-card:hover .card-title{color:var(--p)}
.card-quote-wrap{
    position:relative;
    padding:14px 16px 14px 22px;
    background:var(--p-softer);
    border-left:3px solid var(--p);
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
    flex:1;
}
.card-quote-mark{
    position:absolute;top:-4px;left:8px;
    font-family:'Georgia',serif;
    font-size:2.8rem;line-height:1;
    color:var(--p);opacity:.25;
    pointer-events:none;
    user-select:none;
}
.card-quote-text{
    font-style:italic;
    font-size:.85rem;
    color:var(--text-b);
    line-height:1.65;
    position:relative;z-index:1;
}
.card-footer-names{
    display:flex;align-items:center;gap:8px;
    padding-top:10px;
    border-top:1px solid var(--p-border);
}
.names-dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--p);flex-shrink:0;
}
.names-text{
    font-size:.82rem;font-weight:700;color:var(--text-h);
    letter-spacing:.01em;
}

/* â”€â”€ EMPTY STATE â”€â”€ */
.empty-state{
    grid-column:1/-1;
    text-align:center;
    padding:80px 24px;
}
.empty-icon{
    width:96px;height:96px;
    background:var(--p-soft);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 24px;
}
.empty-icon svg{color:var(--p);opacity:.55}
.empty-title{
    font-family:'Poppins',sans-serif;
    font-size:1.35rem;font-weight:700;
    color:var(--text-h);margin-bottom:10px;
}
.empty-text{
    font-size:.95rem;color:var(--text-m);
    max-width:400px;margin:0 auto 28px;line-height:1.7;
}
.empty-cta{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--p);color:#fff;
    border-radius:50px;padding:11px 28px;
    font-size:.88rem;font-weight:700;
    transition:background var(--trans),transform var(--trans);
}
.empty-cta:hover{background:var(--p-dark);transform:translateY(-2px)}

/* â”€â”€ PAGINATION â”€â”€ */
.pagination-wrap{
    margin-top:52px;
    display:flex;justify-content:center;
}
/* Override Laravel default pagination to match brand */
.pagination-wrap nav{display:flex;justify-content:center}
.pagination-wrap .pagination{display:flex;align-items:center;gap:5px;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.pagination-wrap .page-item .page-link{
    display:flex;align-items:center;justify-content:center;
    min-width:38px;height:38px;padding:0 10px;
    border-radius:var(--radius-sm);
    border:1.5px solid var(--p-border);background:var(--bg-white);
    color:var(--text-m);font-size:.85rem;font-weight:600;
    transition:all var(--trans);
    text-decoration:none;
}
.pagination-wrap .page-item .page-link:hover{
    background:var(--p-soft);border-color:var(--p);color:var(--p);
}
.pagination-wrap .page-item.active .page-link{
    background:var(--p);border-color:var(--p);color:#fff;
}
.pagination-wrap .page-item.disabled .page-link{
    opacity:.45;cursor:not-allowed;pointer-events:none;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BOTTOM CTA BANNER
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.cta-banner{
    background:linear-gradient(135deg,var(--p-dark) 0%,#8B1524 60%,var(--p) 100%);
    padding:64px 0;text-align:center;position:relative;overflow:hidden;
}
.cta-banner::before{
    content:'';position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none;
}
.cta-banner .container{position:relative;z-index:1}
.cta-eyebrow{
    display:inline-block;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.24);
    border-radius:50px;padding:4px 14px;
    font-size:.7rem;font-weight:700;
    letter-spacing:.08em;text-transform:uppercase;
    color:rgba(255,255,255,.85);
    margin-bottom:16px;
}
.cta-banner h2{
    font-family:'Poppins',sans-serif;
    font-size:clamp(1.6rem,3.5vw,2.4rem);
    font-weight:800;color:#fff;
    line-height:1.22;letter-spacing:-.02em;
    margin-bottom:10px;
}
.cta-banner p{
    font-size:1.02rem;color:rgba(255,255,255,.72);
    max-width:460px;margin:0 auto 32px;line-height:1.7;
}
.cta-btn{
    display:inline-flex;align-items:center;gap:9px;
    background:#fff;color:var(--p-dark);
    border-radius:50px;padding:14px 36px;
    font-size:.95rem;font-weight:800;
    transition:transform var(--trans),box-shadow var(--trans);
    box-shadow:0 4px 20px rgba(0,0,0,.2);
}
.cta-btn:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.28)}
.cta-btn svg{transition:transform var(--trans)}
.cta-btn:hover svg{transform:translateX(4px)}




