/* =========================================================
   detail.css — shared template for service detail pages
   (Cartography · Land Survey · Research · software development)
   Each page only sets its accent colours.
   ========================================================= */

.detail-page{
    --accent-2:var(--accent);   /* heading rule + back-button hover */
    line-height:1.5;
}

.page-section{
    max-width:900px;
    margin:auto;
    padding:45px 18px;
}

.page-section h1{
    text-align:center;
    color:#fff;
    font-size:1.8rem;
    line-height:1.3;
    margin-bottom:8px;
}

.page-section h1::after{
    content:"";
    display:block;
    width:55px;
    height:2px;
    background:var(--accent-2);
    margin:8px auto;
}

.page-intro{
    color:#fff;
    text-align:center;
    max-width:650px;
    margin:0 auto 20px;
    font-size:.85rem;
}

.page-section h2{
    color:#fff;
    text-align:center;
    font-size:1.2rem;
    margin:20px 0 12px;
}

.page-section h3{
    font-size:.95rem;
    margin:12px 0 5px;
}

.page-section h3:first-child{
    margin-top:0;
}

.detail-page .floating-back-btn:hover{
    background:var(--accent-2);
}

/* ---------- Cards ---------- */

.page-card{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    padding:15px;
    margin-bottom:15px;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.page-card p{
    color:#444;
    font-size:.85rem;
    margin-bottom:10px;
}

.page-card ul{
    padding-left:18px;
}

.page-card li{
    color:#444;
    font-size:.85rem;
    margin-bottom:4px;
}

.page-card li::marker{
    color:var(--accent);
}

/* ---------- Accordions ---------- */

.accordion-section{
    margin-bottom:12px;
}

.accordion-section summary{
    list-style:none;
    cursor:pointer;
    padding:11px 40px 11px 15px;
    background:rgba(255,255,255,.9);
    border-radius:var(--radius-ui);
    color:var(--accent-ink,var(--accent));
    font-size:.85rem;
    font-weight:600;
    position:relative;
    transition:background .25s ease, color .25s ease;
}

.accordion-section summary::-webkit-details-marker{
    display:none;
}

.accordion-section summary::after{
    content:"+";
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    font-size:18px;
    line-height:1;
}

.accordion-section[open] summary::after{
    content:"−";
}

.accordion-section[open] summary{
    background:var(--accent-ink,var(--accent));
    color:#fff;
    border-radius:var(--radius-ui) var(--radius-ui) 0 0;
}

.accordion-section > .page-card,
.accordion-section > .project-viewer{
    margin:0;
    border-radius:0 0 var(--radius-ui) var(--radius-ui);
    animation:accordionOpen .3s ease;
}

@keyframes accordionOpen{
    from{ opacity:0; transform:translateY(-6px); }
    to{ opacity:1; transform:translateY(0); }
}

@media (max-width:768px){

    .page-section{
        padding:65px 12px 45px;
    }

    .page-section h1{
        font-size:1.45rem;
    }

    .page-section h2{
        font-size:1.05rem;
    }

    .page-card{
        padding:12px;
    }

    .page-card p,
    .page-card li{
        font-size:.8rem;
    }
}

@media (max-width:480px){

    .page-section h1{
        font-size:1.3rem;
    }

    .page-card li{
        font-size:.78rem;
    }
}
