.ee-global-header,
.ee-global-footer { position: relative; z-index: 30; }

.ee-template-header,
.ee-template-footer,
.ee-template-popup-content,
.ee-frontend { width: 100%; display: flex; flex-direction: column; }

.ee-frontend .ee-block,
.ee-template-header .ee-block,
.ee-template-footer .ee-block,
.ee-template-popup-content .ee-block {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.ee-global-popup {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 99999;
}

.ee-global-popup.is-open {
    display: block;
}

.ee-global-popup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 11, 22, 0.62);
}

.ee-global-popup-panel {
    position: relative;
    width: min(860px, calc(100vw - 30px));
    max-height: calc(100vh - 60px);
    margin: 30px auto;
    overflow: auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.35);
    padding: 18px;
}

.ee-global-popup-close {
    position: sticky;
    top: 0;
    float: right;
    border: 1px solid #d0d8e2;
    background: #fff;
    border-radius: 999px;
    width: 32px;
    height: 32px;
    cursor: pointer;
}

.ee-theme-layout {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.ee-component-error {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #9f1239;
    padding: 12px;
}

.ee-core-heading { margin: 0; }
.ee-core-text { line-height: 1.6; }
.ee-core-button { display: inline-block; background: #2563eb; color: #fff; text-decoration: none; padding: 10px 16px; border-radius: 8px; }
.ee-core-image, .ee-core-video { max-width: 100%; height: auto; display: block; }
.ee-core-divider { border: 0; border-top: 2px solid #d1d5db; margin: 12px 0; }
.ee-core-divider-dashed { border-top-style: dashed; }
.ee-core-divider-dotted { border-top-style: dotted; }
.ee-core-placeholder { border: 1px dashed #94a3b8; color: #64748b; padding: 12px; border-radius: 8px; }
.ee-core-columns { display: grid; gap: 16px; }
.ee-core-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ee-core-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ee-core-column { border: 1px dashed #cbd5e1; padding: 12px; border-radius: 8px; min-height: 80px; }
@media (max-width: 768px) {
    .ee-core-columns-2,
    .ee-core-columns-3 { grid-template-columns: 1fr; }
}
