/* ==========================================================
   Layanan Publik Sekolah — Frontend Styles
   Dikembangkan oleh Baturetno Studio
   ========================================================== */

.lynpub-wrap {
    --lynpub-primary: #2271b1;
    --lynpub-primary-soft: rgba(34, 113, 177, .08);
    --lynpub-border: #e3e8ee;
    --lynpub-text: #23282d;

    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 1.25rem 4rem;
    box-sizing: border-box;
}
.lynpub-wrap *, .lynpub-wrap *::before, .lynpub-wrap *::after { box-sizing: border-box; }

.lynpub-section-title { text-align: center; margin-bottom: 1.5rem; }
.lynpub-tag {
    display: inline-block;
    background: var(--lynpub-primary-soft);
    color: var(--lynpub-primary);
    font-weight: 700;
    font-size: .8rem;
    padding: .35rem 1rem;
    border-radius: 50px;
    margin-bottom: .6rem;
}
.lynpub-section-title h2 { margin: 0; font-size: 1.5rem; color: var(--lynpub-text); }

/* ===== STANDAR PELAYANAN ===== */
.lynpub-standar-section { margin-bottom: 2.5rem; text-align: center; }
.lynpub-standar-card,
.lynpub-standar-pdf-wrap {
    max-width: 480px;
    margin: 0 auto;
}
.lynpub-standar-card {
    border: 1.5px solid var(--lynpub-border);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
}
.lynpub-standar-card img { display: block; width: 100%; height: auto; }

/* ===== 2 KOLOM ===== */
.lynpub-columns {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 2rem;
    align-items: start;
    margin-bottom: 2rem;
}
@media (max-width: 782px) {
    .lynpub-columns { grid-template-columns: 1fr; }
}
.lynpub-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }

/* ===== ACCORDION ===== */
.lynpub-accordion {
    border: 1.5px solid var(--lynpub-border);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,.05);
}
.lynpub-acc-item { border-bottom: 1.5px solid var(--lynpub-border); }
.lynpub-acc-item:last-child { border-bottom: none; }

.lynpub-acc-header {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 1.05rem 1.3rem;
    background: #fff;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1rem;
    font-weight: 700;
    color: var(--lynpub-text);
    transition: background .2s;
}
.lynpub-acc-header:hover { background: var(--lynpub-primary-soft); }
.lynpub-acc-item.open > .lynpub-acc-header {
    background: var(--lynpub-primary-soft);
    color: var(--lynpub-primary);
}
.lynpub-acc-icon {
    flex-shrink: 0;
    width: 28px; height: 28px;
    background: var(--lynpub-primary-soft);
    color: var(--lynpub-primary);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1;
    transition: transform .3s ease, background .2s;
    user-select: none;
}
.lynpub-acc-item.open > .lynpub-acc-header .lynpub-acc-icon {
    background: var(--lynpub-primary);
    color: #fff;
    transform: rotate(45deg);
}
.lynpub-acc-title { flex: 1; }
.lynpub-acc-body { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.lynpub-acc-content {
    padding: 1rem 1.3rem 1.4rem 3.7rem;
    font-size: .93rem;
    color: #444;
    line-height: 1.75;
    border-top: 1px solid var(--lynpub-border);
}
.lynpub-acc-content p { margin: 0 0 .6rem; }
.lynpub-acc-content p:last-child { margin-bottom: 0; }
.lynpub-acc-content ul { list-style: disc; padding-left: 1.2rem; }

/* ===== KARTU DOKUMEN ===== */
.lynpub-doc-card {
    background: #fff;
    border: 1.5px solid var(--lynpub-border);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,.05);
}
.lynpub-doc-card-img { aspect-ratio: 3 / 4; overflow: hidden; background: #f7f9fb; }
.lynpub-doc-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lynpub-doc-card-title {
    padding: .85rem 1rem;
    font-weight: 700;
    font-size: .93rem;
    color: var(--lynpub-primary);
    text-align: center;
    border-top: 1px solid var(--lynpub-border);
    line-height: 1.3;
}
.lynpub-doc-placeholder {
    border: 2px dashed var(--lynpub-border);
    border-radius: 14px;
    padding: 1.4rem 1.1rem;
    text-align: center;
    color: #888;
    font-size: .82rem;
    line-height: 1.6;
    background: #fafbfc;
}

/* ===== PDF ===== */
.lynpub-doc-pdf-embed { border: 1.5px solid var(--lynpub-border); border-radius: 14px; overflow: hidden; background: #fff; }
.lynpub-doc-pdf-embed-title {
    padding: .85rem 1.1rem;
    font-weight: 700;
    font-size: .95rem;
    color: var(--lynpub-primary);
    text-align: center;
    border-bottom: 1.5px solid var(--lynpub-border);
    background: var(--lynpub-primary-soft);
}
.lynpub-doc-pdf-embed-frame { padding: .7rem; }
.lynpub-doc-pdf-embed-frame iframe { max-width: 100% !important; }

.lynpub-doc-pdf {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 2rem 1.1rem; text-align: center; background: #fff;
    border: 1.5px solid var(--lynpub-border); border-radius: 14px;
}
.lynpub-doc-pdf-icon { font-size: 2.6rem; margin-bottom: .5rem; }
.lynpub-doc-pdf-title { font-weight: 700; font-size: .98rem; color: var(--lynpub-text); margin-bottom: 1rem; }
.lynpub-doc-pdf-btn {
    display: inline-block;
    background: var(--lynpub-primary);
    color: #fff !important;
    font-weight: 700;
    font-size: .85rem;
    padding: 10px 22px;
    border-radius: 50px;
    text-decoration: none !important;
    transition: opacity .2s, transform .2s;
}
.lynpub-doc-pdf-btn:hover { opacity: .88; transform: translateY(-2px); }

/* ===== CARIYANLIK (full width, di bawah accordion) ===== */
.lynpub-cariyanlik-box {
    background: linear-gradient(135deg,#fff5f7,#ffe4ea);
    border: 1.5px solid #f8c0cc;
    border-radius: 20px;
    padding: 2.5rem 2rem;
    text-align: center;
    box-shadow: 0 4px 20px rgba(233,30,99,.08);
    margin-bottom: 2rem;
}
.lynpub-cyk-logo {
    display: flex; align-items: center; justify-content: center;
    gap: 10px; margin-bottom: 1rem;
}
.lynpub-cyk-brand { font-size: 1.4rem; font-weight: 900; }
.lynpub-cyk-title { font-size: 1.8rem; font-weight: 800; color: #2D1010; margin: 0 0 .75rem; }
.lynpub-cyk-desc { font-size: .95rem; color: #7A3030; line-height: 1.7; max-width: 520px; margin: 0 auto 1.8rem; }
.lynpub-cyk-btn {
    display: inline-block;
    background: #E91E63; color: #fff !important;
    font-weight: 800; font-size: 1rem;
    padding: 14px 40px; border-radius: 50px;
    text-decoration: none !important;
    box-shadow: 0 6px 24px rgba(233,30,99,.3);
    transition: background .2s, transform .2s, box-shadow .2s;
}
.lynpub-cyk-btn:hover { background: #C2185B; transform: translateY(-2px); box-shadow: 0 10px 30px rgba(233,30,99,.35); }
@media (max-width: 640px) {
    .lynpub-cariyanlik-box { padding: 2rem 1.2rem; }
    .lynpub-cyk-btn { padding: 12px 28px; }
}

/* ===== KONTAK ===== */
.lynpub-kontak-section { margin-top: 1rem; }
.lynpub-kontak-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.2rem;
    max-width: 800px;
    margin: 0 auto;
}
.lynpub-kontak-row {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    background: #fff;
    border: 1.5px solid var(--lynpub-border);
    border-radius: 12px;
    padding: 1rem;
}
.lynpub-k-icon { font-size: 1.3rem; line-height: 1; }
.lynpub-kontak-row strong { display: block; font-size: .85rem; color: var(--lynpub-text); margin-bottom: .2rem; }
.lynpub-kontak-row p { margin: 0; font-size: .85rem; color: #666; line-height: 1.5; }
