/* ========================================================================== 
   APD 30.0 · capa final basada en el video completo de 73 segundos
   ========================================================================== */

:root {
    --apd30-content: 1370px;
    --apd30-blue: #0f6fe8;
    --apd30-ink: #222222;
    --apd30-muted: #717171;
    --apd30-line: #e7e7e7;
}

body.apd-marketplace-ui [hidden],
body.apd-marketplace-ui .apd5-search-panel[hidden],
body.apd-marketplace-ui .apd5-search-backdrop[hidden],
body.apd-marketplace-ui .apd10-fee-sheet[hidden],
body.apd-marketplace-ui .apd10-fee-toast[hidden] {
    display: none !important;
}

/* La primera colección termina con la misma tarjeta de acceso general. */
body.home.apd-marketplace-ui .apd30-show-all-card {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    color: var(--apd30-ink) !important;
    text-decoration: none !important;
    scroll-snap-align: start !important;
}

body.home.apd-marketplace-ui .apd30-show-all-collage {
    position: relative !important;
    aspect-ratio: 1.05 / 1 !important;
    display: grid !important;
    grid-template-columns: 1.18fr .82fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 4px !important;
    overflow: hidden !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 15px !important;
    background: #f7f7f7 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05) !important;
}

body.home.apd-marketplace-ui .apd30-show-all-collage img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform .22s ease !important;
}

body.home.apd-marketplace-ui .apd30-show-all-collage img:first-child {
    grid-row: 1 / 3 !important;
}

body.home.apd-marketplace-ui .apd30-show-all-card:hover img {
    transform: scale(1.025) !important;
}

body.home.apd-marketplace-ui .apd30-show-all-card > strong {
    margin-top: 9px !important;
    color: var(--apd30-ink) !important;
    text-align: center !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}

@media (min-width: 1180px) {
    body.home.apd-marketplace-ui .apd5-header.is-discovery-context .apd5-header-row,
    body.home.apd-marketplace-ui .apd29-video-home,
    body.home.apd-marketplace-ui .apd5-footer-grid,
    body.home.apd-marketplace-ui .apd24-footer-bottom {
        width: min(calc(100vw - 96px), var(--apd30-content)) !important;
        max-width: var(--apd30-content) !important;
    }

    body.home.apd-marketplace-ui .apd5-header.is-discovery-context .apd5-header-row {
        grid-template-columns: 180px minmax(610px, 1fr) 250px !important;
    }

    body.home.apd-marketplace-ui .apd5-header.is-discovery-context .apd5-logo,
    body.home.apd-marketplace-ui .apd5-header.is-discovery-context .apd5-logo img {
        width: 94px !important;
        min-width: 94px !important;
        height: 38px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    body.home.apd-marketplace-ui .apd5-header.is-discovery-context:not(.is-compact) .apd5-search,
    body.home.apd-marketplace-ui .apd5-header.is-discovery-context.is-compact.is-search-expanded .apd5-search {
        width: 640px !important;
        max-width: 640px !important;
        min-height: 50px !important;
    }

    body.home.apd-marketplace-ui .apd5-header.is-discovery-context:not(.is-compact) .apd5-search-field > button {
        padding-inline: 18px !important;
    }

    body.home.apd-marketplace-ui .apd5-header.is-discovery-context:not(.is-compact) .apd5-search-field strong {
        font-size: 10.5px !important;
    }

    body.home.apd-marketplace-ui .apd29-video-home .apd5-card-rail {
        grid-auto-columns: calc((100% - 72px) / 7) !important;
        gap: 12px !important;
    }

    body.home.apd-marketplace-ui .apd29-video-home > .apd5-rail,
    body.home.apd-marketplace-ui .apd29-topic-section {
        margin-top: 32px !important;
    }

    body.home.apd-marketplace-ui .apd29-video-home .apd5-section-head {
        margin-bottom: 11px !important;
    }

    body.home.apd-marketplace-ui .apd29-video-home .apd5-card-media,
    body.home.apd-marketplace-ui .apd30-show-all-collage {
        border-radius: 14px !important;
    }

    body.apd-marketplace-ui .apd5-search-panel:not([hidden]) {
        animation: apd30-popover-in .16s cubic-bezier(.2, .75, .25, 1) both !important;
        transform-origin: 50% 0 !important;
    }
}

@keyframes apd30-popover-in {
    from { opacity: 0; translate: 0 -5px; scale: .985; }
    to { opacity: 1; translate: 0 0; scale: 1; }
}

/* Resultados: mitad lista, mitad mapa, como en la transición del video. */
@media (min-width: 1180px) {
    body.apd5-search-results-page .apd5-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1600 !important;
        height: 72px !important;
        min-height: 72px !important;
        border-bottom: 1px solid #e5e5e5 !important;
        background: rgba(255, 255, 255, .99) !important;
    }

    body.apd5-search-results-page .apd5-header-row {
        width: min(calc(100vw - 52px), 1860px) !important;
        max-width: 1860px !important;
        height: 72px !important;
        min-height: 72px !important;
        grid-template-columns: 180px minmax(610px, 1fr) 260px !important;
    }

    body.apd5-search-results-page .apd5-logo,
    body.apd5-search-results-page .apd5-logo img {
        width: 92px !important;
        min-width: 92px !important;
        height: 36px !important;
    }

    body.apd5-search-results-page .apd5-header-search-row {
        top: 0 !important;
        width: 520px !important;
        height: 72px !important;
        min-height: 72px !important;
        padding: 12px 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    body.apd5-search-results-page .apd5-search {
        width: 520px !important;
        min-width: 520px !important;
        max-width: 520px !important;
        height: 48px !important;
        min-height: 48px !important;
        grid-template-columns: 1.2fr 1px 1.08fr 1px .88fr 44px !important;
        box-shadow: 0 2px 11px rgba(0, 0, 0, .12) !important;
    }

    body.apd5-search-results-page .apd5-search-field > button {
        height: 46px !important;
        min-height: 46px !important;
        padding-inline: 14px !important;
    }

    body.apd5-search-results-page .apd5-search-submit {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin-right: 6px !important;
    }

    body.apd5-search-results-page .apd53-filter-strip {
        top: 72px !important;
        height: 54px !important;
        z-index: 900 !important;
        box-shadow: none !important;
    }

    body.apd5-search-results-page .apd53-filter-inner {
        padding-inline: 18px !important;
        gap: 7px !important;
    }

    body.apd5-search-results-page .apd53-filter-inner > a,
    body.apd5-search-results-page .apd53-filter-master {
        min-height: 32px !important;
        padding-inline: 12px !important;
        font-size: 10px !important;
        font-weight: 600 !important;
    }

    body.apd5-search-results-page .apd53-results-layout {
        height: calc(100vh - 126px) !important;
        min-height: 560px !important;
        grid-template-columns: minmax(0, 50%) minmax(0, 50%) !important;
    }

    body.apd5-search-results-page .apd53-results-pane {
        padding: 22px 18px 38px !important;
    }

    body.apd5-search-results-page .apd53-results-heading {
        margin-bottom: 17px !important;
    }

    body.apd5-search-results-page .apd53-results-heading p {
        font-size: 10px !important;
    }

    body.apd5-search-results-page .apd53-results-heading h1 {
        font-size: 17px !important;
        letter-spacing: -.02em !important;
    }

    body.apd5-search-results-page .apd53-results-heading > span {
        padding: 7px 10px !important;
        font-size: 9px !important;
    }

    body.apd5-search-results-page .apd53-results-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 24px 11px !important;
    }

    body.apd5-search-results-page .apd53-result-image {
        aspect-ratio: 1.08 / 1 !important;
        border-radius: 13px !important;
    }

    body.apd5-search-results-page .apd53-result-image > span {
        top: 7px !important;
        left: 7px !important;
        padding: 5px 8px !important;
        font-size: 8px !important;
    }

    body.apd5-search-results-page .apd53-result-body {
        padding-top: 7px !important;
    }

    body.apd5-search-results-page .apd53-result-title > a {
        font-size: 10.5px !important;
        font-weight: 650 !important;
    }

    body.apd5-search-results-page .apd53-result-body p,
    body.apd5-search-results-page .apd53-result-title > span {
        font-size: 8.5px !important;
    }

    body.apd5-search-results-page .apd53-result-body > strong {
        margin-top: 4px !important;
        font-size: 10px !important;
    }

    body.apd5-search-results-page .apd53-map-pane,
    body.apd5-search-results-page .apd53-results-map {
        min-height: 560px !important;
        background: #e8eee3 !important;
    }

    body.apd5-search-results-page .apd53-price-marker {
        min-width: 62px !important;
        height: 30px !important;
        padding-inline: 9px !important;
        color: #222 !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, .18) !important;
    }
}

/* Transiciones inmediatas mientras el navegador cambia de documento. */
.apd30-transition-skeleton {
    position: fixed !important;
    inset: 72px 0 0 !important;
    z-index: 8800 !important;
    display: grid !important;
    background: #fff !important;
    pointer-events: all !important;
}

.apd30-transition-skeleton.is-results {
    grid-template-columns: 1fr 1fr !important;
}

.apd30-transition-skeleton .apd30-skeleton-list {
    padding: 72px 18px 28px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-content: start !important;
    gap: 26px 12px !important;
    border-right: 1px solid #e8e8e8 !important;
}

.apd30-transition-skeleton .apd30-skeleton-card {
    min-width: 0 !important;
}

.apd30-transition-skeleton .apd30-skeleton-card::before {
    content: "" !important;
    aspect-ratio: 1.08 / 1 !important;
    display: block !important;
    border-radius: 13px !important;
    background: linear-gradient(100deg, #f0f0f0 22%, #f8f8f8 40%, #f0f0f0 58%) !important;
    background-size: 230% 100% !important;
    animation: apd30-loading 1.05s linear infinite !important;
}

.apd30-transition-skeleton .apd30-skeleton-card::after {
    content: "" !important;
    width: 72% !important;
    height: 27px !important;
    margin-top: 8px !important;
    display: block !important;
    border-radius: 5px !important;
    background: linear-gradient(#eeeeee 0 7px, transparent 7px 12px, #f2f2f2 12px 18px, transparent 18px 22px, #f2f2f2 22px 27px) !important;
}

.apd30-transition-skeleton .apd30-skeleton-map {
    background: #e7e5df !important;
}

.apd30-transition-skeleton.is-detail {
    inset: 72px 0 0 !important;
    padding: 34px 48px !important;
    display: block !important;
    overflow: hidden !important;
}

.apd30-transition-skeleton .apd30-detail-shell {
    width: min(1120px, 100%) !important;
    margin: 0 auto !important;
}

.apd30-transition-skeleton .apd30-detail-title {
    width: 38% !important;
    height: 18px !important;
    margin-bottom: 16px !important;
    border-radius: 6px !important;
    background: #eeeeee !important;
}

.apd30-transition-skeleton .apd30-detail-gallery {
    aspect-ratio: 2 / .82 !important;
    display: grid !important;
    grid-template-columns: 1.7fr 1fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 8px !important;
}

.apd30-transition-skeleton .apd30-detail-gallery span {
    border-radius: 10px !important;
    background: linear-gradient(100deg, #eeeeee, #f7f7f7, #eeeeee) !important;
    background-size: 230% 100% !important;
    animation: apd30-loading 1.05s linear infinite !important;
}

.apd30-transition-skeleton .apd30-detail-gallery span:first-child {
    grid-row: 1 / 3 !important;
}

.apd30-transition-skeleton .apd30-detail-copy {
    width: 58% !important;
    height: 110px !important;
    margin-top: 24px !important;
    border-radius: 8px !important;
    background: repeating-linear-gradient(to bottom, #f0f0f0 0 9px, transparent 9px 22px) !important;
}

@keyframes apd30-loading {
    to { background-position-x: -230%; }
}

/* Centro de ayuda visto en la parte media del recorrido. */
body.apd30-help-page {
    color: var(--apd30-ink) !important;
    background: #fff !important;
}

body.apd30-help-page .apd5-header {
    position: relative !important;
    min-height: 72px !important;
    height: 72px !important;
    border-bottom: 1px solid #ececec !important;
    box-shadow: none !important;
}

body.apd30-help-page .apd5-header-row {
    width: min(calc(100vw - 96px), 1370px) !important;
    height: 72px !important;
    min-height: 72px !important;
    grid-template-columns: 200px 1fr 270px !important;
}

body.apd30-help-page .apd5-main-nav {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.apd30-help-page .apd5-logo,
body.apd30-help-page .apd5-logo img {
    width: 94px !important;
    min-width: 94px !important;
    height: 38px !important;
}

.apd30-help-main {
    width: min(calc(100% - 64px), 1120px) !important;
    margin: 0 auto !important;
    padding: 52px 0 76px !important;
    color: var(--apd30-ink) !important;
}

.apd30-help-hero {
    text-align: center !important;
}

.apd30-help-kicker {
    margin: 0 0 10px !important;
    color: var(--apd30-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.apd30-help-hero h1 {
    margin: 0 !important;
    font-size: clamp(28px, 2.3vw, 42px) !important;
    line-height: 1.12 !important;
    font-weight: 650 !important;
    letter-spacing: -.035em !important;
}

.apd30-help-search {
    width: min(610px, 100%) !important;
    height: 56px !important;
    margin: 25px auto 0 !important;
    padding: 0 7px 0 18px !important;
    display: grid !important;
    grid-template-columns: 22px 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #b7b7b7 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .07) !important;
}

.apd30-help-search .apd5-icon {
    width: 19px !important;
    height: 19px !important;
}

.apd30-help-search input {
    width: 100% !important;
    height: 52px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    color: #222 !important;
    background: transparent !important;
    font-size: 14px !important;
}

.apd30-help-search button {
    min-width: 78px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: var(--apd30-blue) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

.apd30-help-tabs {
    margin-top: 54px !important;
    display: flex !important;
    gap: 28px !important;
    border-bottom: 1px solid #dedede !important;
}

.apd30-help-tabs a {
    position: relative !important;
    padding: 0 2px 15px !important;
    color: #717171 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 550 !important;
}

.apd30-help-tabs a.is-active {
    color: #222 !important;
}

.apd30-help-tabs a.is-active::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: -1px !important;
    left: 0 !important;
    height: 2px !important;
    background: #222 !important;
}

.apd30-help-section {
    padding-top: 44px !important;
}

.apd30-help-heading {
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.apd30-help-heading h2,
.apd30-help-more h2 {
    margin: 0 !important;
    font-size: 23px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
    letter-spacing: -.025em !important;
}

.apd30-help-heading > a {
    color: #222 !important;
    font-size: 12px !important;
    text-decoration: underline !important;
}

.apd30-help-recommendations {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.apd30-help-recommendations > a {
    min-height: 112px !important;
    padding: 18px !important;
    display: grid !important;
    grid-template-columns: 38px 1fr 18px !important;
    align-items: start !important;
    gap: 13px !important;
    border: 1px solid #dedede !important;
    border-radius: 13px !important;
    color: #222 !important;
    text-decoration: none !important;
    transition: border-color .16s ease, box-shadow .16s ease !important;
}

.apd30-help-recommendations > a:hover {
    border-color: #b8b8b8 !important;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .07) !important;
}

.apd30-help-doc-icon {
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 9px !important;
    color: #0d2b6c !important;
    background: #edf4ff !important;
    font-size: 20px !important;
}

.apd30-help-recommendations strong {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
}

.apd30-help-recommendations p {
    margin: 7px 0 0 !important;
    color: #717171 !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.apd30-help-recommendations b {
    color: #717171 !important;
    font-size: 22px !important;
    font-weight: 400 !important;
}

.apd30-help-guides {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.apd30-help-guides a {
    color: #222 !important;
    text-decoration: none !important;
}

.apd30-help-guides img {
    width: 100% !important;
    aspect-ratio: 1.9 / 1 !important;
    display: block !important;
    border-radius: 13px !important;
    object-fit: cover !important;
}

.apd30-help-guides strong,
.apd30-help-guides span {
    display: block !important;
}

.apd30-help-guides strong {
    margin-top: 10px !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

.apd30-help-guides span {
    margin-top: 4px !important;
    color: #717171 !important;
    font-size: 11px !important;
}

.apd30-help-more {
    margin-top: 52px !important;
    padding: 34px !important;
    display: grid !important;
    grid-template-columns: minmax(230px, .8fr) 1.2fr !important;
    gap: 34px !important;
    border-radius: 18px !important;
    background: #f7f7f7 !important;
}

.apd30-help-more p {
    color: #717171 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.apd30-help-more-cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

.apd30-help-more-cards a {
    overflow: hidden !important;
    border-radius: 12px !important;
    color: #222 !important;
    background: #fff !important;
    text-decoration: none !important;
}

.apd30-help-more-cards img {
    width: 100% !important;
    aspect-ratio: 1.8 / 1 !important;
    display: block !important;
    object-fit: cover !important;
}

.apd30-help-more-cards strong {
    padding: 10px 12px 12px !important;
    display: block !important;
    font-size: 12px !important;
}

.apd30-help-empty {
    min-height: 120px !important;
    padding: 24px !important;
    display: grid !important;
    place-content: center !important;
    gap: 6px !important;
    border-radius: 13px !important;
    text-align: center !important;
    background: #f7f7f7 !important;
}

.apd30-help-empty span {
    color: #717171 !important;
    font-size: 12px !important;
}

.apd30-help-article {
    width: min(760px, 100%) !important;
    margin: 0 auto !important;
}

.apd30-help-back {
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.apd30-help-article h1 {
    margin: 28px 0 14px !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
}

.apd30-help-article > p {
    margin: 18px 0 0 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.apd30-help-article .apd30-help-lead {
    color: #717171 !important;
    font-size: 17px !important;
}

.apd30-help-contact {
    margin-top: 38px !important;
    padding: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    border: 1px solid #dedede !important;
    border-radius: 14px !important;
}

.apd30-help-contact strong,
.apd30-help-contact span {
    display: block !important;
}

.apd30-help-contact span {
    margin-top: 4px !important;
    color: #717171 !important;
    font-size: 12px !important;
}

.apd30-help-contact a {
    min-height: 42px !important;
    padding: 0 17px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 9px !important;
    color: #fff !important;
    background: #222 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 650 !important;
}

@media (max-width: 1179px) {
    .apd30-transition-skeleton {
        inset: 124px 0 0 !important;
    }

    .apd30-transition-skeleton.is-results {
        display: block !important;
    }

    .apd30-transition-skeleton .apd30-skeleton-map {
        display: none !important;
    }

    .apd30-transition-skeleton .apd30-skeleton-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.home.apd-marketplace-ui .apd30-show-all-card {
        width: 78vw !important;
    }

    .apd30-transition-skeleton .apd30-skeleton-list {
        padding: 24px 12px 90px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .apd30-transition-skeleton.is-detail {
        padding: 18px 12px !important;
    }

    .apd30-transition-skeleton .apd30-detail-gallery {
        aspect-ratio: 1.2 / 1 !important;
    }

    .apd30-help-main {
        width: calc(100% - 32px) !important;
        padding: 34px 0 96px !important;
    }

    .apd30-help-hero h1 {
        font-size: 30px !important;
    }

    .apd30-help-search {
        grid-template-columns: 20px 1fr !important;
        padding-right: 16px !important;
    }

    .apd30-help-search button {
        display: none !important;
    }

    .apd30-help-tabs {
        margin-top: 38px !important;
        gap: 20px !important;
        overflow-x: auto !important;
    }

    .apd30-help-tabs a {
        flex: 0 0 auto !important;
    }

    .apd30-help-recommendations,
    .apd30-help-guides,
    .apd30-help-more,
    .apd30-help-more-cards {
        grid-template-columns: 1fr !important;
    }

    .apd30-help-more {
        padding: 22px !important;
    }

    .apd30-help-contact {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.apd-marketplace-ui .apd5-search-panel:not([hidden]),
    .apd30-transition-skeleton *,
    .apd30-show-all-card img {
        animation: none !important;
        transition: none !important;
    }
}
