
/*

|--------------------------------------------------------------------------

| ePuP Marketplace Actions

|--------------------------------------------------------------------------

| Final authority for advert-card favourites and listing-detail social share.

| Loaded after the historic marketplace/mobile styles so older heart rules

| cannot enlarge or replace the current ePuP favourite control.

|--------------------------------------------------------------------------

*/

/* ============================================================

   ADVERT CARD HEART — FINAL AUTHORITY

   ============================================================ */

html body .epup-card-content-heart {

    position: absolute !important;

    top: 12px !important;

    right: 12px !important;

    width: 30px !important;

    height: 30px !important;

    min-width: 30px !important;

    min-height: 30px !important;

    max-width: 30px !important;

    max-height: 30px !important;

    display: grid !important;

    place-items: center !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 999px !important;

    background: rgba(255,255,255,.96) !important;

    box-shadow: 0 3px 12px rgba(23,50,77,.14) !important;

    overflow: hidden !important;

    line-height: 1 !important;

    z-index: 8 !important;

}

html body .epup-card-content-heart form,

html body .epup-card-content-heart .favourite-form {

    position: static !important;

    width: 30px !important;

    height: 30px !important;

    min-width: 30px !important;

    min-height: 30px !important;

    max-width: 30px !important;

    max-height: 30px !important;

    margin: 0 !important;

    padding: 0 !important;

    display: grid !important;

    place-items: center !important;

    border: 0 !important;

    background: transparent !important;

}

html body .epup-card-content-heart .favourite-button,

html body a.epup-card-content-heart {

    position: static !important;

    width: 30px !important;

    height: 30px !important;

    min-width: 30px !important;

    min-height: 30px !important;

    max-width: 30px !important;

    max-height: 30px !important;

    display: grid !important;

    place-items: center !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 999px !important;

    background: transparent !important;

    color: transparent !important;

    font-size: 0 !important;

    line-height: 0 !important;

    box-shadow: none !important;

    transform: none !important;

    appearance: none !important;

    -webkit-appearance: none !important;

    cursor: pointer !important;

    overflow: hidden !important;

}

/*

 * Kill EVERY historic text / emoji heart pseudo-element.

 */

html body .epup-card-content-heart .favourite-button::before,

html body .epup-card-content-heart .favourite-button::after,

html body a.epup-card-content-heart::before,

html body a.epup-card-content-heart::after {

    content: "" !important;

    display: block !important;

    width: 18px !important;

    height: 17px !important;

    min-width: 18px !important;

    min-height: 17px !important;

    max-width: 18px !important;

    max-height: 17px !important;

    margin: 0 !important;

    padding: 0 !important;

    position: static !important;

    border: 0 !important;

    border-radius: 0 !important;

    background-color: transparent !important;

    background-repeat: no-repeat !important;

    background-position: center !important;

    background-size: 18px 17px !important;

    box-shadow: none !important;

    transform: none !important;

    opacity: 1 !important;

}

/* Unsaved outline heart. */

html body .epup-card-content-heart .favourite-button::before,

html body a.epup-card-content-heart::before {

    background-image:

        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e24b67' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.6s-6.8-4.3-9.2-8.3c-1.5-2.6-1-5.8 1.4-7.4 2-1.4 4.8-1 6.8 1.1 2-2.1 4.8-2.5 6.8-1.1 2.4 1.6 2.9 4.8 1.4 7.4-2.4 4-9.2 8.3-9.2 8.3Z'/%3E%3C/svg%3E")

        !important;

}

/* Never allow ::after to render a second heart. */

html body .epup-card-content-heart .favourite-button::after,

html body a.epup-card-content-heart::after {

    display: none !important;

    background: none !important;

}

/* Saved filled heart. */

html body .epup-card-content-heart[data-saved="true"] .favourite-button::before,

html body .epup-card-content-heart .favourite-button.is-saved::before,

html body a.epup-card-content-heart.is-saved::before,

html body a.epup-card-content-heart[data-saved="true"]::before {

    background-image:

        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e24b67' stroke='%23e24b67' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.6s-6.8-4.3-9.2-8.3c-1.5-2.6-1-5.8 1.4-7.4 2-1.4 4.8-1 6.8 1.1 2-2.1 4.8-2.5 6.8-1.1 2.4 1.6 2.9 4.8 1.4 7.4-2.4 4-9.2 8.3-9.2 8.3Z'/%3E%3C/svg%3E")

        !important;

}

/* ============================================================

   LISTING DETAIL — SOCIAL SHARE STRIP

   ============================================================ */

html body .epup-social-share {

    margin-top: 20px;

    padding-top: 17px;

    border-top: 1px solid #e7eef3;

}

html body .epup-social-share__heading {

    margin: 0 0 10px;

    color: #17324d;

    font-family: "Nunito", sans-serif;

    font-size: 13px;

    font-weight: 900;

    line-height: 1.3;

}

html body .epup-social-share__buttons {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 8px;

}

html body .epup-social-share__button {

    min-height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    padding: 7px 12px;

    border: 1px solid #d6e4ec;

    border-radius: 11px;

    background: #ffffff;

    color: #17324d;

    text-decoration: none;

    font-family: "Nunito", sans-serif;

    font-size: 12px;

    font-weight: 900;

    line-height: 1;

    box-shadow: 0 3px 10px rgba(23,50,77,.06);

    cursor: pointer;

    transition:

        transform .16s ease,

        box-shadow .16s ease,

        border-color .16s ease,

        background .16s ease;

}

html body .epup-social-share__button:hover {

    transform: translateY(-1px);

    border-color: #9fcfe4;

    background: #f7fcff;

    box-shadow: 0 5px 14px rgba(23,50,77,.10);

    color: #075f91;

    text-decoration: none;

}

html body .epup-social-share__button:focus-visible {

    outline: 3px solid rgba(8,120,174,.20);

    outline-offset: 2px;

}

html body .epup-social-share__button svg {

    display: block;

    width: 16px !important;

    height: 16px !important;

    min-width: 16px !important;

    flex: 0 0 16px;

    fill: currentColor;

}

html body .epup-social-share__button--facebook {

    color: #0866ff;

}

html body .epup-social-share__button--x {

    color: #111111;

}

html body .epup-social-share__button--tiktok {

    color: #111111;

}

html body .epup-social-share__status {

    margin: 8px 0 0;

    color: #607489;

    font-size: 11px;

    font-weight: 700;

    line-height: 1.45;

}

@media (max-width: 600px) {

    html body .epup-card-content-heart {

        top: 10px !important;

        right: 10px !important;

        width: 28px !important;

        height: 28px !important;

        min-width: 28px !important;

        min-height: 28px !important;

        max-width: 28px !important;

        max-height: 28px !important;

    }

    html body .epup-card-content-heart form,

    html body .epup-card-content-heart .favourite-form,

    html body .epup-card-content-heart .favourite-button,

    html body a.epup-card-content-heart {

        width: 28px !important;

        height: 28px !important;

        min-width: 28px !important;

        min-height: 28px !important;

        max-width: 28px !important;

        max-height: 28px !important;

    }

    html body .epup-card-content-heart .favourite-button::before,

    html body a.epup-card-content-heart::before {

        width: 17px !important;

        height: 16px !important;

        min-width: 17px !important;

        min-height: 16px !important;

        max-width: 17px !important;

        max-height: 16px !important;

        background-size: 17px 16px !important;

    }

    html body .epup-social-share__buttons {

        gap: 7px;

    }

    html body .epup-social-share__button {

        min-height: 35px;

        padding: 7px 10px;

        border-radius: 10px;

    }

}


/* EPUP_R47R_UI_R12_SOCIAL_SHARE_FIX_START */

/*

|--------------------------------------------------------------------------

| ePuP advert social share — compact final authority

|--------------------------------------------------------------------------

| Prevent global SVG / anchor / button rules from enlarging the

| Facebook, X and TikTok controls inside the Description card.

|--------------------------------------------------------------------------

*/

html body .epup-social-share {

    display: block !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 18px 0 4px !important;

    padding: 0 !important;

    overflow: visible !important;

}

html body .epup-social-share__heading {

    display: block !important;

    margin: 0 0 10px !important;

    padding: 0 !important;

    font-size: 14px !important;

    font-weight: 800 !important;

    line-height: 1.35 !important;

    color: #17324d !important;

}

html body .epup-social-share__buttons {

    display: flex !important;

    align-items: center !important;

    justify-content: flex-start !important;

    flex-wrap: wrap !important;

    gap: 8px !important;

    width: 100% !important;

    max-width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

}

html body .epup-social-share__button,

html body a.epup-social-share__button,

html body button.epup-social-share__button {

    position: static !important;

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    flex: 0 0 auto !important;

    width: auto !important;

    height: 38px !important;

    min-width: 0 !important;

    min-height: 38px !important;

    max-width: none !important;

    max-height: 38px !important;

    margin: 0 !important;

    padding: 0 13px !important;

    gap: 7px !important;

    border: 1px solid rgba(23, 50, 77, .13) !important;

    border-radius: 11px !important;

    background: #ffffff !important;

    box-shadow: 0 2px 7px rgba(23, 50, 77, .06) !important;

    color: #17324d !important;

    font-family: inherit !important;

    font-size: 13px !important;

    font-weight: 800 !important;

    line-height: 1 !important;

    text-decoration: none !important;

    text-indent: 0 !important;

    overflow: hidden !important;

    -webkit-appearance: none !important;

    appearance: none !important;

}

/*

|--------------------------------------------------------------------------

| CRITICAL SVG LOCK

|--------------------------------------------------------------------------

*/

html body .epup-social-share__button svg,

html body a.epup-social-share__button svg,

html body button.epup-social-share__button svg {

    display: block !important;

    flex: 0 0 18px !important;

    width: 18px !important;

    height: 18px !important;

    min-width: 18px !important;

    min-height: 18px !important;

    max-width: 18px !important;

    max-height: 18px !important;

    margin: 0 !important;

    padding: 0 !important;

    position: static !important;

    transform: none !important;

    overflow: visible !important;

}

html body .epup-social-share__button svg path {

    fill: currentColor !important;

}

/* Facebook */

html body .epup-social-share__button--facebook {

    color: #1877f2 !important;

}

/* X */

html body .epup-social-share__button--x {

    color: #111111 !important;

}

/* TikTok */

html body .epup-social-share__button--tiktok {

    color: #111111 !important;

}

/* Text must also remain normal sized */

html body .epup-social-share__button span {

    display: inline !important;

    width: auto !important;

    height: auto !important;

    min-width: 0 !important;

    min-height: 0 !important;

    max-width: none !important;

    max-height: none !important;

    margin: 0 !important;

    padding: 0 !important;

    font-size: 13px !important;

    font-weight: 800 !important;

    line-height: 1 !important;

    color: currentColor !important;

}

/* Prevent pseudo-elements from older global button styles */

html body .epup-social-share__button::before,

html body .epup-social-share__button::after {

    content: none !important;

    display: none !important;

}

/* Status text */

html body .epup-social-share__status {

    margin: 8px 0 0 !important;

    padding: 0 !important;

    font-size: 12px !important;

    line-height: 1.4 !important;

    color: #60778b !important;

}

/*

|--------------------------------------------------------------------------

| Mobile

|--------------------------------------------------------------------------

*/

@media (max-width: 600px) {

    html body .epup-social-share {

        margin-top: 16px !important;

    }

    html body .epup-social-share__buttons {

        display: grid !important;

        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

        gap: 7px !important;

    }

    html body .epup-social-share__button,

    html body a.epup-social-share__button,

    html body button.epup-social-share__button {

        width: 100% !important;

        max-width: 100% !important;

        height: 38px !important;

        min-height: 38px !important;

        max-height: 38px !important;

        padding: 0 8px !important;

        gap: 5px !important;

        border-radius: 10px !important;

        font-size: 12px !important;

    }

    html body .epup-social-share__button span {

        font-size: 12px !important;

    }

    html body .epup-social-share__button svg {

        flex-basis: 16px !important;

        width: 16px !important;

        height: 16px !important;

        min-width: 16px !important;

        min-height: 16px !important;

        max-width: 16px !important;

        max-height: 16px !important;

    }

}

/* EPUP_R47R_UI_R12_SOCIAL_SHARE_FIX_END */


/* EPUP_R47R_UI_R13_SOCIAL_SHARE_COMPACT_START */

/*

|--------------------------------------------------------------------------

| ePuP advert social-share final authority

|--------------------------------------------------------------------------

| Prevent generic/global SVG rules from enlarging Facebook/X/TikTok icons.

| Keep the three share controls compact and on one row.

*/

html body .epup-social-share {

    margin-top: 18px !important;

    width: 100% !important;

    max-width: 100% !important;

}

html body .epup-social-share__heading {

    margin: 0 0 10px !important;

    font-size: 14px !important;

    line-height: 1.3 !important;

    font-weight: 800 !important;

}

html body .epup-social-share__buttons {

    display: flex !important;

    flex-direction: row !important;

    flex-wrap: nowrap !important;

    align-items: center !important;

    gap: 8px !important;

    width: 100% !important;

}

html body .epup-social-share__button {

    display: inline-flex !important;

    flex: 0 1 auto !important;

    align-items: center !important;

    justify-content: center !important;

    gap: 6px !important;

    width: auto !important;

    min-width: 0 !important;

    max-width: none !important;

    height: 38px !important;

    min-height: 38px !important;

    max-height: 38px !important;

    padding: 0 12px !important;

    margin: 0 !important;

    border-radius: 10px !important;

    font-size: 13px !important;

    line-height: 1 !important;

    white-space: nowrap !important;

    text-decoration: none !important;

}

html body .epup-social-share__button svg {

    display: block !important;

    width: 17px !important;

    height: 17px !important;

    min-width: 17px !important;

    min-height: 17px !important;

    max-width: 17px !important;

    max-height: 17px !important;

    flex: 0 0 17px !important;

    margin: 0 !important;

    padding: 0 !important;

    transform: none !important;

}

html body .epup-social-share__button svg path {

    transform: none !important;

}

html body .epup-social-share__button span {

    display: inline !important;

    width: auto !important;

    height: auto !important;

    margin: 0 !important;

    padding: 0 !important;

    font-size: 13px !important;

    line-height: 1 !important;

}

/* Prevent link/button inheritance from stretching the controls. */

html body a.epup-social-share__button,

html body button.epup-social-share__button {

    position: static !important;

    inset: auto !important;

    overflow: hidden !important;

}

/* Mobile: compact three-button row */

@media (max-width: 600px) {

    html body .epup-social-share {

        margin-top: 16px !important;

    }

    html body .epup-social-share__buttons {

        gap: 7px !important;

    }

    html body .epup-social-share__button {

        flex: 1 1 0 !important;

        width: 0 !important;

        height: 36px !important;

        min-height: 36px !important;

        max-height: 36px !important;

        padding: 0 7px !important;

        font-size: 12px !important;

        border-radius: 9px !important;

    }

    html body .epup-social-share__button svg {

        width: 16px !important;

        height: 16px !important;

        min-width: 16px !important;

        min-height: 16px !important;

        max-width: 16px !important;

        max-height: 16px !important;

        flex-basis: 16px !important;

    }

    html body .epup-social-share__button span {

        font-size: 12px !important;

    }

}

/* EPUP_R47R_UI_R13_SOCIAL_SHARE_COMPACT_END */


/* EPUP_R47R_UI_R19_SHARE_ROW_START */

@media (max-width: 600px) {

    html body .epup-social-share {

        width: 100% !important;

        max-width: 100% !important;

        overflow: hidden !important;

    }

    html body .epup-social-share__buttons {

        display: grid !important;

        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

        gap: 7px !important;

        width: 100% !important;

        max-width: 100% !important;

        overflow: visible !important;

    }

    html body .epup-social-share__button,

    html body a.epup-social-share__button,

    html body button.epup-social-share__button {

        box-sizing: border-box !important;

        display: inline-flex !important;

        align-items: center !important;

        justify-content: center !important;

        gap: 5px !important;

        width: 100% !important;

        min-width: 0 !important;

        max-width: 100% !important;

        height: 38px !important;

        min-height: 38px !important;

        max-height: 38px !important;

        padding: 0 6px !important;

        margin: 0 !important;

        overflow: hidden !important;

        white-space: nowrap !important;

    }

    html body .epup-social-share__button svg,

    html body a.epup-social-share__button svg,

    html body button.epup-social-share__button svg {

        display: block !important;

        width: 15px !important;

        height: 15px !important;

        min-width: 15px !important;

        min-height: 15px !important;

        max-width: 15px !important;

        max-height: 15px !important;

        flex: 0 0 15px !important;

    }

    html body .epup-social-share__button span {

        display: inline-block !important;

        width: auto !important;

        max-width: calc(100% - 20px) !important;

        overflow: hidden !important;

        text-overflow: ellipsis !important;

        font-size: 11px !important;

        line-height: 1 !important;

    }

}

/* EPUP_R47R_UI_R19_SHARE_ROW_END */

/* EPUP_R47R_UI_R20_SHARE_ROW_HARD_LOCK_START */
@media (max-width:600px){
html body .epup-social-share{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
html body .epup-social-share__buttons{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
html body .epup-social-share__buttons > .epup-social-share__button,
html body .epup-social-share__buttons > a.epup-social-share__button,
html body .epup-social-share__buttons > button.epup-social-share__button{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative!important;inset:auto!important;float:none!important;flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0 5px!important;gap:4px!important;overflow:hidden!important}
html body .epup-social-share__buttons > .epup-social-share__button svg{display:block!important;position:static!important;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;max-width:15px!important;max-height:15px!important;flex:0 0 15px!important;margin:0!important;padding:0!important}
html body .epup-social-share__buttons > .epup-social-share__button span{display:block!important;width:auto!important;min-width:0!important;max-width:calc(100% - 19px)!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
/* EPUP_R47R_UI_R20_SHARE_ROW_HARD_LOCK_END */
