/**
 * Gutenberg Blocks Styles
 * 
 * @package Premium_Estate
 */

/* ==========================================================================
   COVER BLOCK
   ========================================================================== */

.wp-block-cover {
    position: relative; /* REQUIRED for .wp-block-cover__background (position: absolute) */
    background-size: cover;
    background-position: center center;
    min-height: 430px;
    width: 100vw; /* Full viewport width */
    max-width: 100vw;
    margin-left: calc(50% - 50vw); /* Break out of container */
    margin-right: calc(50% - 50vw);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    box-sizing: border-box;
}

.wp-block-cover__inner-container {
    width: 100%;
    z-index: 1;
    color: #fff;
}

.wp-block-cover__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
}

.wp-block-cover.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Cover Block - Full Width by default on Homepage */
body.home .wp-block-cover,
body.page-template-default .wp-block-cover {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3,
.wp-block-cover h4,
.wp-block-cover h5,
.wp-block-cover h6 {
    color: inherit;
    margin-top: 0;
}

.wp-block-cover p {
    color: inherit;
}

.wp-block-cover .wp-block-button {
    margin-top: 1em;
}

/* ==========================================================================
   BUTTONS BLOCK
   ========================================================================== */

.wp-block-button__link {
    background-color: #5046e5;
    color: #fff;
    padding: 12px 30px;
    text-decoration: none;
    border-radius: 4px;
    display: inline-block;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.wp-block-button__link:hover {
    background-color: #7c3aed;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(80, 70, 229, 0.3);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;
    border: 2px solid currentColor;
}

/* ==========================================================================
   COLUMNS BLOCK
   ========================================================================== */

.wp-block-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    margin-bottom: 1.5em;
}

.wp-block-column {
    flex: 1;
    min-width: 0;
}

@media (max-width: 781px) {
    .wp-block-columns {
        flex-direction: column;
    }
}

/* ==========================================================================
   SPACER BLOCK
   ========================================================================== */

.wp-block-spacer {
    clear: both;
}

/* ==========================================================================
   HEADING BLOCKS
   ========================================================================== */

.wp-block-heading {
    margin-top: 1em;
    margin-bottom: 0.5em;
}

.has-text-align-center {
    text-align: center;
}

.has-text-align-left {
    text-align: left;
}

.has-text-align-right {
    text-align: right;
}

/* ==========================================================================
   PARAGRAPH BLOCK
   ========================================================================== */

.wp-block-paragraph.has-text-align-center {
    text-align: center;
}

/* ==========================================================================
   GROUP BLOCK
   ========================================================================== */

.wp-block-group {
    margin-bottom: 1.5em;
}

.wp-block-group__inner-container {
    padding: 0;
}

/* ==========================================================================
   FULL WIDTH SUPPORT
   ========================================================================== */

.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.alignwide {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   CONTAINER FOR CONTENT BLOCKS
   ========================================================================== */

.container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Apply container to specific blocks when not full-width */
.wp-block-heading:not(.alignfull):not(.alignwide),
.wp-block-paragraph:not(.alignfull):not(.alignwide),
.wp-block-columns:not(.alignfull):not(.alignwide),
.wp-block-group:not(.alignfull):not(.alignwide) {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Cover block should always be full-width */
.wp-block-cover {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
