/*
 * CosmeticeSiHaine.ro
 * CMS Global Safe Flow
 *
 * Protejează layout-ul magazinului de HTML și CSS introduse
 * în paginile administrate prin modulul Pagini.
 */

.cms-public-page {
    position: relative !important;
    z-index: 0 !important;
    display: flow-root !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    isolation: isolate !important;
}

.cms-public-page__container {
    position: relative !important;
    z-index: 0 !important;
    display: flow-root !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.cms-public-page__safe-flow {
    position: relative !important;
    z-index: 0 !important;
    display: flow-root !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    isolation: isolate !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.cms-public-page__safe-flow::before,
.cms-public-page__safe-flow::after {
    content: "";
    display: table;
    clear: both;
}

/*
 * Elementele-rădăcină ale conținutului CMS trebuie să rămână
 * în fluxul normal al paginii.
 *
 * Elementele absolute din interiorul componentelor sunt permise.
 */
.cms-public-page__safe-flow
    > :not(style):not(script):not(link):not(meta):
        not(template):not(noscript) {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
    translate: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/*
 * Primul element nu poate urca peste headerul standard CMS.
 */
.cms-public-page__safe-flow
    > :first-child:not(style):not(script):not(link):not(meta) {
    margin-top: 0 !important;
}

/*
 * Ultimul element nu poate trage footerul în sus.
 */
.cms-public-page__safe-flow
    > :last-child:not(style):not(script):not(link):not(meta) {
    margin-bottom: 0 !important;
}

/*
 * Protecție pentru toate elementele interne.
 */
.cms-public-page__safe-flow *,
.cms-public-page__safe-flow *::before,
.cms-public-page__safe-flow *::after {
    box-sizing: border-box;
    min-width: 0;
}

.cms-public-page__safe-flow img,
.cms-public-page__safe-flow picture,
.cms-public-page__safe-flow video,
.cms-public-page__safe-flow canvas,
.cms-public-page__safe-flow svg {
    max-width: 100% !important;
    height: auto;
}

.cms-public-page__safe-flow iframe,
.cms-public-page__safe-flow embed,
.cms-public-page__safe-flow object {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
}

.cms-public-page__safe-flow pre,
.cms-public-page__safe-flow code {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.cms-public-page__safe-flow pre {
    overflow-x: auto;
}

.cms-public-page__safe-flow table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    border-collapse: collapse;
}

.cms-public-page__safe-flow form,
.cms-public-page__safe-flow fieldset,
.cms-public-page__safe-flow input,
.cms-public-page__safe-flow select,
.cms-public-page__safe-flow textarea,
.cms-public-page__safe-flow button {
    max-width: 100%;
}

.cms-public-page__safe-flow p,
.cms-public-page__safe-flow li,
.cms-public-page__safe-flow td,
.cms-public-page__safe-flow th,
.cms-public-page__safe-flow a,
.cms-public-page__safe-flow span {
    overflow-wrap: anywhere;
}

/*
 * Clasă adăugată și verificată de JavaScript.
 */
.cms-public-page__safe-flow > .cms-safe-flow-root {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
    translate: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/*
 * Footerul trebuie să înceapă numai după încheierea paginii CMS.
 */
.cms-public-page ~ footer,
.cms-public-page + footer,
body > footer {
    clear: both;
}

html.csh-has-cms-safe-flow,
html.csh-has-cms-safe-flow body {
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 700px) {
    .cms-public-page__safe-flow {
        overflow-x: clip !important;
    }

    .cms-public-page__safe-flow table {
        -webkit-overflow-scrolling: touch;
    }
}
