/**
 * LVCE aviation template - utilities.
 * Small single-purpose classes that administrators can use in the editor.
 */

/* Screen-reader text (Joomla core uses .visually-hidden too) */
.visually-hidden,
.sr-only,
.element-invisible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

/* Image focal points: add to an <img> (or to the hero module class) */
.lvce-focus-top,
.lvce-focus-top img,
.lvce-focus-top .lvce-hero__image {
    object-position: center top;
}

.lvce-focus-bottom,
.lvce-focus-bottom img,
.lvce-focus-bottom .lvce-hero__image {
    object-position: center bottom;
}

.lvce-focus-left,
.lvce-focus-left img,
.lvce-focus-left .lvce-hero__image {
    object-position: left center;
}

.lvce-focus-right,
.lvce-focus-right img,
.lvce-focus-right .lvce-hero__image {
    object-position: right center;
}

.lvce-focus-center,
.lvce-focus-center img {
    object-position: center;
}

/* Aspect ratios for images and media blocks */
.lvce-ratio-16x9 {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}

.lvce-ratio-3x2 {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    width: 100%;
}

.lvce-ratio-4x3 {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    width: 100%;
}

.lvce-ratio-1x1 {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}

.lvce-ratio-3x4 {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    width: 100%;
}

.lvce-rounded {
    border-radius: var(--lvce-radius-medium);
}

.lvce-rounded-large {
    border-radius: var(--lvce-radius-large);
}

.lvce-shadow {
    box-shadow: var(--lvce-shadow);
}

/* Text helpers */
.lvce-center,
.text-center {
    text-align: center;
}

.text-end {
    text-align: end;
}

.lvce-nowrap {
    white-space: nowrap;
}

.lvce-text-accent {
    color: var(--lvce-red);
}

.lvce-text-primary {
    color: var(--lvce-blue);
}

.lvce-mt-0 {
    margin-top: 0 !important;
}

.lvce-mb-0 {
    margin-bottom: 0 !important;
}

.lvce-mt-6 {
    margin-top: var(--lvce-space-6) !important;
}

.lvce-mb-6 {
    margin-bottom: var(--lvce-space-6) !important;
}

/* Joomla core helper classes used in core output */
.float-start {
    float: inline-start;
}

.float-end {
    float: inline-end;
}

.float-none {
    float: none;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

.d-none {
    display: none !important;
}

.d-block {
    display: block !important;
}

.d-flex {
    display: flex !important;
}

.list-unstyled {
    padding-inline-start: 0;
    list-style: none;
}

.badge {
    display: inline-block;
    padding: 0.25em 0.6em;
    border-radius: 999px;
    background: var(--lvce-blue-light);
    color: var(--lvce-blue-dark);
    font-size: var(--lvce-text-xs);
    font-weight: 700;
}

.bg-warning {
    background: #fff1d6 !important;
    color: #6b4100 !important;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

/* Embedded media keep their ratio */
.lvce-embed,
.ratio {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.lvce-embed iframe,
.ratio > iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
