/* Structural shortcode layout; colors inherit the clinic's existing tokens. */
.ph-people {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ph-card-gap, clamp(25px, 4vw, 68px));
    row-gap: var(--ph-card-row-gap, clamp(45px, 4vw, 68px));
}
.ph-people.layout-enkel { gap: var(--ph-simple-card-gap, 13px); }
.ph-people .psykolog { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.ph-people .ph-profile-link { display: flex; flex-direction: column; min-width: 0; color: inherit; border-radius: inherit; overflow-wrap: anywhere; }
.ph-people .psykolog .ph-profile-link { font: inherit; }
.ph-people .ph-profile-link img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.ph-people.layout-enkel .ph-profile-link { flex: initial; }
.ph-people .ph-profile-summary { min-width: 0; overflow-wrap: anywhere; }
.ph-people .ph-profile-summary h3 { margin-top: 2px; }
.ph-people .person-titel { font-weight: 600; margin-top: -5px; }
.ph-people .person-kort-beskrivelse { margin-bottom: 23px; }
.ph-people .ph-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: auto; }
.ph-people .ph-card-actions > a { max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
.ph-people .laes-mere { display: inline-block; }
.ph-people .ph-profile-link:hover { background-color: var(--ph-card-hover, rgba(127,127,127,.06)); }
.ph-people .ph-profile-link:focus-visible,
.ph-people .laes-mere:focus-visible,
.ph-people .ph-booking-link:focus-visible,
.ph-floating :where(button, a):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.ph-people :where(.ph-booking-link) {
    display: inline-flex; align-self: flex-start; justify-content: center; align-items: center;
    min-height: 44px; max-width: 100%; box-sizing: border-box;
    padding: 9px 24px; border-radius: 30px; text-decoration: none;
    background: transparent; border: 1px solid currentColor;
    color: var(--color-darkgreen, var(--gcid-primary-color, #3f544d));
    font: inherit; line-height: 1.4; overflow-wrap: anywhere;
}
.ph-people .ph-booking-link:hover { text-decoration: underline; }
.ph-people.layout-enkel .ph-booking-link { align-self: stretch; }
.et_pb_text_inner h3:has(+ .psykolog-tilknyttet-wrapper) { margin-bottom: 20px; }
@media (max-width: 768px) {
    .ph-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 428px) {
    .ph-people.layout-default { grid-template-columns: minmax(0, 1fr); }
}

.ph-floating {
    --ph-contact-bg: rgba(255,255,255,.96);
    --ph-contact-text: var(--gcid-primary-color, #3f544d);
    position: fixed; right: 16px; bottom: 16px; z-index: 9999;
    display: grid; gap: 12px; max-width: calc(100vw - 32px);
    transition: opacity .2s ease; opacity: 1;
}
.ph-floating.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.ph-floating .fb-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 12px 18px; min-height: 44px; box-sizing: border-box;
    border-radius: 999px; background: var(--ph-contact-bg); color: var(--ph-contact-text);
    text-decoration: none; font: inherit; font-weight: 600; line-height: 1.2;
    border: 0; cursor: pointer; max-width: 100%; overflow-wrap: anywhere;
    box-shadow: 0 8px 24px rgba(0,0,0,.14);
}
.ph-floating .fb-btn:hover { box-shadow: 0 8px 24px rgba(0,0,0,.24); }
.ph-floating svg { width: 18px; height: 18px; flex: 0 0 18px; }
.ph-floating .fb-book { background: var(--color-lightgreen, var(--gcid-secondary-color, #e3efcb)); color: var(--color-darkgreen, var(--gcid-primary-color, #3f544d)); }
.ph-floating .fb-popover {
    position: absolute; right: 0; bottom: calc(100% + 12px); width: max-content;
    max-width: calc(100vw - 40px); box-sizing: border-box; overflow-wrap: anywhere;
    max-height: var(--ph-contact-available, calc(100dvh - 160px)); overflow-y: auto;
    background: var(--ph-contact-bg); color: var(--ph-contact-text);
    border-radius: 18px; padding: 16px 20px; box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.ph-floating .fb-popover[hidden] { display: none; }
.ph-floating .fb-popover span { display: block; }
.ph-floating .fb-heading { font-weight: 600; padding-right: 32px; margin-bottom: 12px; }
.ph-floating .fb-contact-link { display: block; color: inherit; text-decoration: none; padding: 8px 0; min-height: 44px; }
.ph-floating .fb-contact-link:hover { text-decoration: underline; }
.ph-floating .fb-close { position: absolute; top: 6px; right: 6px; width: 36px; height: 36px; border: 0; background: transparent; color: inherit; font: inherit; font-size: 24px; cursor: pointer; }
.ph-floating .fb-title { font-size: 12px; text-transform: uppercase; }
.ph-floating .fb-number { font-weight: 700; font-size: 18px; }
.ph-floating .fb-hint { font-size: 13px; margin-top: 10px; }
.et-fb .ph-floating { display: none; }
@media (max-width: 768px) {
    .ph-floating { right: 12px; bottom: 12px; gap: 10px; }
}
