/**
 * EXT:iblocation – frontend styles
 * Detail view styles migrated from the former sitepackage custom.css.
 */

/* Location colour scheme */
.single-layout-1 { --iblocation-color: rgb(242,142,0); }
.single-layout-2 { --iblocation-color: rgb(98,153,33); }
.single-layout-3 { --iblocation-color: rgb(154,76,5); }
.single-layout-4 { --iblocation-color: rgb(122,41,133); }
.single-layout-5 { --iblocation-color: rgb(60,186,197); }
.single-layout-6 {
  --iblocation-color: rgb(180,180,180);
  background-color: #fff;
}


/* Location header: responsive carousel, own breadcrumb and category divider */
.tx-iblocation .location-carousel,
.tx-iblocation .location-carousel .carousel-inner,
.tx-iblocation .location-carousel .carousel-item {
    width: 100%;
}

.tx-iblocation .location-carousel .location-carousel-image {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    object-fit: contain;
}

.tx-iblocation .location-breadcrumb {
    background: #fff;
    font-size: 14px;
}

.tx-iblocation .location-breadcrumb .breadcrumb {
    margin-bottom: 0;
    font-size: 14px;
}

.tx-iblocation .location-category-divider {
    width: 100%;
    height: 1.25rem;
    background-color: var(--iblocation-color);
}

@media (max-width: 767.98px) {
    .tx-iblocation .location-category-divider {
        height: 1rem;
    }
}

/* Detail view */
.single-layout-1 h1, .single-layout-1 h2, .single-layout-1 h4,
.single-layout-2 h1, .single-layout-2 h2, .single-layout-2 h4,
.single-layout-3 h1, .single-layout-3 h2, .single-layout-3 h4,
.single-layout-4 h1, .single-layout-4 h2, .single-layout-4 h4,
.single-layout-5 h1, .single-layout-5 h2, .single-layout-5 h4,
.single-layout-6 h1, .single-layout-6 h2, .single-layout-6 h4 {
    color: var(--iblocation-color);
}

.tx-iblocation .card-ap {
    border: 5px solid var(--iblocation-color);
    padding: 0 1rem;
}

.tx-iblocation .card-ap .card-title,
.tx-iblocation .card-ap h5 {
    color: var(--iblocation-color);
    font-family: 'Rokkitt', serif;
}

.tx-iblocation .card-ap .card-title {
    font-size: 2rem;
}

.tx-iblocation .container-anfahrt .row {
    border: 5px solid var(--iblocation-color);
    padding: 0 0 0 1rem;
    margin-left: 0;
    margin-right: 0;
}

.tx-iblocation .container-anfahrt .row > div {
    padding-right: 0;
}

.tx-iblocation section > .container {
    margin-top: 2rem;
}

/* Collapsibles – visual appearance of the former detail view, Bootstrap 5 behaviour */
.tx-iblocation .collapsible-accordion .accordion-item {
    margin-top: 5px;
    border: 0;
    border-radius: 0;
}

.tx-iblocation .collapsible-accordion .accordion-button {
    border: 0;
    border-radius: 0 !important;
    box-shadow: none;
    background-color: var(--iblocation-color);
    color: #fff;
    font-family: 'Rokkitt', serif;
    font-size: 20px;
    font-weight: 600;
}

.tx-iblocation .collapsible-accordion .accordion-button:not(.collapsed) {
    background-color: var(--iblocation-color);
    color: #fff;
    box-shadow: none;
}

/* Replace Bootstrap's default accordion icon with the old right-facing chevron. */
.tx-iblocation .collapsible-accordion .accordion-button::after {
    width: .75rem;
    height: .75rem;
    margin-left: auto;
    background-image: none;
    border-right: .18rem solid #fff;
    border-bottom: .18rem solid #fff;
    transform: rotate(-45deg);
    transition: transform .2s ease-in-out;
    flex-shrink: 0;
}

.tx-iblocation .collapsible-accordion .accordion-button:not(.collapsed)::after {
    transform: rotate(45deg);
}

.tx-iblocation .collapsible-accordion .accordion-body a {
    color: #0056b3;
    text-decoration: underline;
    text-decoration-style: dotted;
}

.tx-iblocation .location-gallery img {
    border-radius: 5px;
}

@media (min-width: 768px) {
    .tx-iblocation .collapsible-accordion .accordion-button {
        font-size: 30px;
    }
    .tx-iblocation .collapsible-accordion .accordion-button::after {
        width: 1rem;
        height: 1rem;
        border-width: 0 .22rem .22rem 0;
    }
}

@media (min-width: 992px) {
    .tx-iblocation .collapsible-accordion .accordion-button {
        font-size: 40px;
    }
    .tx-iblocation .collapsible-accordion .accordion-button::after {
        width: 1.25rem;
        height: 1.25rem;
        border-width: 0 .25rem .25rem 0;
    }
}

/* Google Maps consent placeholder */
#map-canvas.map-consent-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    padding: 2rem;
    text-align: center;
}

.map-consent-placeholder__content {
    width: 100%;
    max-width: 36rem;
}

.map-consent-placeholder__content h3 {
    margin-bottom: 1rem;
}

.map-consent-placeholder__content p:last-of-type {
    margin-bottom: 1.5rem;
}

/* listbycategory: cards are linked as a whole; do not underline their text. */
.tx-iblocation .listbycategory .col > a,
.tx-iblocation .listbycategory .col > a:hover,
.tx-iblocation .listbycategory .col > a:focus {
    text-decoration: none;
}
