/* Petdori service archive v1 — scoped to .pdsa-archive */
.pdsa-archive{width:100%;max-width:480px;margin:0 auto;padding:0 0 100px;background:#fff;color:#17212f;box-sizing:border-box}
.pdsa-archive *{box-sizing:border-box}


/* =========================
   Service Kind Tabs
========================= */

.pdsa-kind-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin: 2px 2px 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.pdsa-kind-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;
    min-width: 62px;
    min-height: 32px;
    padding: 4px 8px;

    border: 0;
    border-radius: 999px;

    background: #F0F4FA;
    color: #1C2227;

    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.3px;
    line-height: 1.4;

    text-decoration: none;
    white-space: nowrap;

    -webkit-tap-highlight-color: transparent;
}

.pdsa-kind-tabs a[aria-current="page"] {
    background: #1C2227;
    color: #ffffff;
    font-weight: 700;
}

.pdsa-kind-tabs a:focus-visible {
    outline: 1px solid var(--petdori-primary);
    outline-offset: 2px;
}

/* =========================
   Small Mobile
========================= */

@media (max-width: 375px) {
    .pdsa-kind-tabs {
        gap: 8px;
        margin-left: 12px;
        margin-right: 12px;
    }

    .pdsa-kind-tabs a {
        min-height: 38px;
        padding: 8px 16px;
        font-size: 13px;
    }
}

/* =========================
   Personalized Pet Card
========================= */

.pdsa-pet-card {
    margin: 16px 16px 4px;
    padding: 17px 18px 18px;

    border: 1px solid #e2efff;
    border-radius: 18px;

    background: linear-gradient(
        120deg,
        #e8f2ff 0%,
        #f3f8ff 58%,
        #ffffff 100%
    );

    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.035);
}

.pdsa-pet-card-profile {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.pdsa-pet-card-emoji {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;
    flex: 0 0 43px;

    border-radius: 13px;
    background: rgba(255, 255, 255, 0.85);

    font-size: 24px;
    line-height: 1;
}

.pdsa-pet-card-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.pdsa-pet-card-info strong {
    color: #1e3a5f;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.pdsa-pet-card-info span {
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}

.pdsa-pet-card-message {
    margin: 13px 0 0;
    color: #1e3a5f;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.3px;
}

@media (max-width: 375px) {
    .pdsa-pet-card {
        margin-left: 12px;
        margin-right: 12px;
        padding: 15px;
    }

    .pdsa-pet-card-message {
        font-size: 13px;
    }
}


.pdsa-intro{padding:8px 16px 14px}
.pdsa-intro h1{font-size:19px;line-height:1.45;letter-spacing:-.4px;margin:0 0 7px;font-weight:750}
.pdsa-intro p{color:#64748b;font-size:12px;line-height:1.5;margin:0}

/* =========================
   Species Menu - Single Card
========================= */

.pdsa-archive {
    background: #fff;
}

/* 동물 아이콘 전체를 감싸는 카드 */
.pdsa-species {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 4px;

    margin: 14px 16px 24px;
    padding: 18px 8px 16px;

    background: #fff;
    border: 0;
    border-radius: 20px;

    box-shadow:
        0 3px 12px rgba(15, 23, 42, 0.035),
        0 10px 28px rgba(15, 23, 42, 0.045);
}

/* 각 동물 메뉴 */
.pdsa-species-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-width: 0;
    text-decoration: none;
    color: #334155;
}

/* 개별 아이콘 박스 제거 */
.pdsa-species-picture {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: none;
    height: 42px;
    aspect-ratio: auto;

    border: 0;
    border-radius: 0;
    background: transparent;

    box-shadow: none;

    font-size: 29px;
    line-height: 1;
}

/* 아이콘 이름 */
.pdsa-species-name {
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
    white-space: nowrap;
    color: #334155;
}

/* 선택 시 아이콘에 별도 박스를 만들지 않음 */
.pdsa-species-item.is-active .pdsa-species-picture {
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* 선택된 동물만 글자 강조 */
.pdsa-species-item.is-active .pdsa-species-name {
    color: #2563eb;
    font-weight: 800;
}

.pdsa-species-item:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 4px;
    border-radius: 8px;
}

@media (max-width: 375px) {
    .pdsa-species {
        gap: 2px;
        margin-left: 12px;
        margin-right: 12px;
        padding: 16px 5px 14px;
    }

    .pdsa-species-picture {
        height: 38px;
        font-size: 26px;
    }

    .pdsa-species-name {
        font-size: 9px;
    }
}

.pdsa-species-item.is-active .pdsa-species-name{color:#2563eb;font-weight:700}
.pdsa-species-hint{font-size:11px;color:#64748b;margin:0 16px 8px}
.pdsa-search-form{padding:0 16px 14px}
.pdsa-search-row{display:flex;align-items:center;min-height:46px;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;background:#fff}
.pdsa-search-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.pdsa-search-row input{flex:1;min-width:0;padding:12px;border:none;background:transparent;color:#0f172a;font-size:14px;box-shadow:none;outline:0}
.pdsa-search-row input:focus{box-shadow:none}
.pdsa-search-row:focus-within{outline:2px solid #93c5fd;outline-offset:1px}
.pdsa-search-submit{flex:0 0 43px;height:42px;border:0;background:#fff;color:#2563eb;font-size:28px;cursor:pointer}
.pdsa-result-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:20px 0 12px}
.pdsa-result-heading p{margin:0;min-width:0;font-size:13px;line-height:1.4}
.pdsa-result-heading strong{font-weight:700}
.pdsa-result-heading p>span{color:#64748b;font-weight:500}
.pdsa-map-coming{white-space:nowrap;font-size:12px;color:#94a3b8}
.pdsa-map-coming small{font-size:10px}
.pdsa-filter-toolbar{display:flex;align-items:center;gap:6px;min-width:0;position:relative}
.pdsa-filter-toolbar>button{min-width:0;max-width:130px;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #dbe3ec;border-radius:16px;color:#334155;padding:8px 10px;font-size:11px;cursor:pointer}
.pdsa-filter-details{margin-left:auto;position:static;flex:0 0 auto}
.pdsa-filter-details>summary{list-style:none;cursor:pointer;background:#eff6ff;color:#2563eb;padding:8px 9px;border-radius:8px;font-size:11px;font-weight:700;white-space:nowrap}
.pdsa-filter-details>summary::-webkit-details-marker{display:none}
.pdsa-filter-body{position:relative;margin-top:12px;padding:15px 0 3px;border-top:1px solid #e2e8f0}
.pdsa-filter-details[open] .pdsa-filter-body{position:absolute;left:0;right:0;top:100%;background:#fff;padding:16px;z-index:25;border:1px solid #dbe3ec;box-shadow:0 8px 22px rgba(15,23,42,.13);border-radius:12px;max-height:min(70vh,560px);overflow-y:auto}
.pdsa-filter-fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}
.pdsa-filter-fieldset legend,.pdsa-filter-legend{display:block;font-size:13px;font-weight:700;margin:0 0 10px;color:#1e293b}
.pdsa-filter-fieldset legend small{font-weight:400;color:#64748b}
.pdsa-region-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.pdsa-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pdsa-region-grid label,.pdsa-feature-grid label{min-width:0;position:relative;display:block;cursor:pointer}
.pdsa-region-grid input,.pdsa-feature-grid input{position:absolute;width:1px;height:1px;opacity:0}
.pdsa-region-grid span,.pdsa-feature-grid span{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;min-height:37px;padding:5px 2px;border:1px solid #dbe3ec;border-radius:7px;font-size:11px;line-height:1.25;color:#334155;background:#fff}
.pdsa-region-grid input:checked+span,.pdsa-feature-grid input:checked+span{background:#eff6ff;color:#2563eb;border-color:#2563eb;font-weight:700}
.pdsa-region-grid input:focus-visible+span,.pdsa-feature-grid input:focus-visible+span{outline:2px solid #2563eb;outline-offset:2px}
.pdsa-filter-fieldset select{width:100%;min-height:42px;padding:9px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#334155;font-size:13px}
.pdsa-filter-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}
.pdsa-filter-actions a,.pdsa-filter-actions button{display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:9px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.pdsa-filter-actions a{border:1px solid #cbd5e1;color:#475569;background:#fff}
.pdsa-filter-actions button{border:1px solid #2563eb;background:#2563eb;color:#fff}
.pdsa-card-list{border-top:7px solid #f1f5f9}
.pdsa-card{border-bottom:1px solid #edf2f7}
.pdsa-card-link{display:flex;gap:12px;align-items:center;min-width:0;padding:17px 16px;text-decoration:none;color:inherit;background:#fff}
.pdsa-card-link:active{background:#f8fafc}
.pdsa-card-main{flex:1;min-width:0}
.pdsa-card-main h2{font-size:15px;line-height:1.4;font-weight:700;margin:0 0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdsa-card-status{display:flex;gap:7px;align-items:center;min-width:0;margin:0 0 7px;color:#64748b;font-size:11px;line-height:1.4}
.pdsa-card-status>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdsa-state{flex:0 0 auto;display:inline-flex;align-items:center;padding:3px 6px;border-radius:5px;font-size:11px;font-weight:700;background:#f1f5f9;color:#64748b}
.pdsa-state--open{background:#eaf6ef;color:#168348}
.pdsa-state--break{background:#fff4e5;color:#9a6200}
.pdsa-card-address,.pdsa-card-tags{margin:0 0 6px;color:#64748b;font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdsa-card-tags{margin-bottom:0;color:#475569;font-size:11px}
.pdsa-card-image{flex:0 0 90px;width:90px;height:90px;overflow:hidden;border-radius:10px;background:#edf2f7;display:flex;align-items:center;justify-content:center}
.pdsa-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.pdsa-card-image span{font-size:28px;color:#94a3b8}
.pdsa-more-wrap{padding:18px 16px 24px}
.pdsa-more{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:43px;text-decoration:none;color:#334155;font-size:13px;font-weight:700;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.pdsa-more.is-loading{opacity:.5;pointer-events:none}
.pdsa-empty{padding:38px 16px;text-align:center;color:#475569}
.pdsa-empty strong{font-size:15px}.pdsa-empty p{font-size:12px;margin:10px 0 15px}.pdsa-empty a{font-size:13px;color:#2563eb}
@media(max-width:375px){.pdsa-species{gap:3px;padding-left:10px;padding-right:10px}.pdsa-species-picture{font-size:23px;border-radius:9px}.pdsa-species-name{font-size:9px}.pdsa-filter-toolbar>button{padding:7px 6px;font-size:10px}.pdsa-map-coming small{display:none}.pdsa-card-image{flex-basis:82px;width:82px;height:82px}}
@media(prefers-reduced-motion:reduce){.pdsa-archive *{scroll-behavior:auto!important}}
