/*
=====================================================
PHOTO D'ADRESSE
Styles du rendu public
=====================================================
Chargés automatiquement par le plugin sur tout le site.
Pour les désactiver, décochez "Charger les fichiers du
rendu public" dans Réglages > Photo d'adresse.
=====================================================
*/

.photo-adresse{
    --pa-bord: #e2e5ea;
    --pa-doux: #5a636e;
    --pa-rayon: 14px;

    margin: 0 0 18px;
}

.photo-adresse.pa-vide{
    display: none;
}

.photo-adresse .pa-cadre{
    margin: 0;
    padding: 0;
    border: 1px solid var(--pa-bord);
    border-radius: var(--pa-rayon);
    overflow: hidden;
    background: #f2f3f5;
}

.photo-adresse .pa-source-lien{
    display: block;
    color: inherit;
    text-decoration: none;
}

.photo-adresse .pa-source-lien:focus-visible{
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

.photo-adresse .pa-cadre img{
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center;
}

.photo-adresse figcaption,
.photo-adresse .pa-aide{
    margin: 0;
    padding: 7px 12px;
    background: #fff;
    border-top: 1px solid var(--pa-bord);
    font-size: .78em;
    line-height: 1.4;
    color: var(--pa-doux);
}

.photo-adresse figcaption a,
.photo-adresse .pa-aide a{
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.photo-adresse .pa-attente{
    aspect-ratio: 16 / 10;
    border: 1px dashed var(--pa-bord);
    border-radius: var(--pa-rayon);
    background: #f7f8f9;
}

/* ---------- Vue 360 ---------- */

.photo-adresse .pa-360{
    background: #111;
}

.photo-adresse pnx-photo-viewer{
    display: block;
    width: 100%;
    height: 100%;
}

/* ---------- Repli sans image ---------- */

.photo-adresse .pa-lien-rue{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    border: 1px solid #111;
    border-radius: 999px;
    font-size: .9em;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    color: #111;
}

.photo-adresse .pa-lien-rue:hover,
.photo-adresse .pa-lien-rue:focus-visible{
    background: #111;
    color: #fff;
}

/* ---------- Format compact, pour une carte d'annuaire ---------- */

.photo-adresse.pa-compact{
    margin: 0;
}

.photo-adresse.pa-compact .pa-cadre img,
.photo-adresse.pa-compact .pa-attente{
    aspect-ratio: 4 / 3;
}

.photo-adresse.pa-compact figcaption,
.photo-adresse.pa-compact .pa-aide{
    padding: 5px 9px;
    font-size: .72em;
}


/* =====================================================
   PLAN IGN LOCAL
   ===================================================== */

.plan-adresse{
    --pa-bord: #e2e5ea;
    --pa-doux: #5a636e;
    --pa-rayon: 14px;
    margin: 0;
}

.plan-adresse.pa-vide{
    display: none;
}

.plan-adresse .pa-plan-cadre,
.pa-plan-cadre{
    margin: 0;
}

.plan-adresse .pa-plan-cadre img,
.pa-plan-cadre img{
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 1px solid var(--pa-bord, #e2e5ea);
    border-radius: var(--pa-rayon, 14px);
    box-shadow: 0 0 0 5px rgba(255,255,255,.55), 0 4px 16px rgba(0,0,0,.12);
}

.plan-adresse .pa-plan-cadre img[data-grand],
.pa-plan-cadre img[data-grand]{
    cursor: zoom-in;
}

.plan-adresse .pa-plan-cadre figcaption,
.pa-plan-cadre figcaption{
    margin: 3px 2px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: .68em;
    line-height: 1.3;
    text-align: right;
    color: var(--pa-doux, #5a636e);
}

.plan-adresse .pa-plan-attente{
    width: 100%;
    aspect-ratio: 3 / 2;
    border: 1px dashed var(--pa-bord);
    border-radius: var(--pa-rayon);
    background: #f7f8f9;
}

.pa-plan-zoom{
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    background: rgba(0,0,0,.82);
    cursor: zoom-out;
}

.pa-plan-zoom img{
    max-width: min(1400px, 96vw);
    max-height: 86vh;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0,0,0,.5);
}

.pa-plan-zoom p{
    margin: 0;
    color: #fff;
    font-size: .85em;
}

/* ---------- Interactions des photos fixes ---------- */

.photo-adresse img.pa-zoom-image[data-grand],
img.pa-zoom-image[data-grand]{
    cursor: zoom-in;
}

.photo-adresse .pa-source-lien{
    display: block;
    color: inherit;
    text-decoration: none;
}
