/*
 * Elementor bridge for the original Signature Album 0.1.x theme.
 * This file does not replace the theme or ERP public stylesheet. It only
 * removes Elementor wrapper defaults and preserves the original class-based
 * layout after normal content is converted to standard Elementor widgets.
 */
.sa-home.e-con,
.sa-home .e-con,
.sa-home .elementor-widget {
    --padding-top: 0;
    --padding-right: 0;
    --padding-bottom: 0;
    --padding-left: 0;
    --margin-top: 0;
    --margin-right: 0;
    --margin-bottom: 0;
    --margin-left: 0;
}

.sa-home,
.sa-home .elementor-widget,
.sa-home .elementor-widget-container {
    min-width: 0;
}

.sa-home .elementor-widget-heading .elementor-heading-title,
.sa-home .elementor-widget-text-editor p {
    margin-top: 0;
}

.sa-topline .elementor-widget,
.sa-topline .elementor-widget-container,
.sa-topline p {
    margin: 0;
}

.sa-shell.e-con {
    width: min(1160px, calc(100% - 32px));
    max-width: none;
    margin-right: auto;
    margin-left: auto;
}

.sa-hero-grid.e-con,
.sa-section-head.e-con,
.sa-service-grid.e-con,
.sa-price-row.e-con,
.sa-ready.e-con,
.sa-thumb-grid.e-con,
.sa-process-grid.e-con,
.sa-why.e-con {
    display: grid;
}

.sa-hero-copy.e-con,
.sa-album-art.e-con,
.sa-actions.e-con,
.sa-elementor-card.e-con,
.sa-elementor-portfolio-card.e-con,
.sa-price-name.e-con,
.sa-price-detail.e-con,
.sa-ready-copy.e-con,
.sa-ready-aside.e-con,
.sa-why-heading.e-con {
    display: block;
}

.sa-actions.e-con {
    display: flex;
    flex-direction: row;
}

.sa-actions .elementor-button-wrapper {
    text-align: left;
}

.sa-actions .sa-button .elementor-button {
    padding: 14px 22px;
    border-radius: 4px;
    color: #fff;
    background: #81162d;
}

.sa-actions .sa-portfolio-link .elementor-button {
    padding: 0 0 5px;
    color: #681c2f;
    background: transparent;
}

.sa-home-title .elementor-heading-title,
.sa-section-title .elementor-heading-title,
.sa-card-title .elementor-heading-title,
.sa-price-title .elementor-heading-title,
.sa-why-title .elementor-heading-title,
.sa-enquiry-title .elementor-heading-title {
    font-family: Baskerville, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    color: #7b172c;
}

.sa-service-grid > article,
.sa-process-grid > article {
    display: block;
}

.sa-service-grid .elementor-widget,
.sa-process-grid .elementor-widget {
    margin: 0;
}

.sa-service-grid .sa-card-title h3,
.sa-process-grid .sa-card-title h3 {
    margin: 46px 0 8px;
}

.sa-card-arrow {
    position: absolute;
    right: 18px;
    bottom: 12px;
}

.sa-card-arrow .elementor-button {
    min-width: 44px;
    padding: 10px;
    color: #b2223d;
    background: transparent;
}

.sa-price-row > .elementor-element {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 150px;
    padding: 22px;
    border-right: 1px solid #e4cdc4;
}

.sa-price-copy small,
.sa-price-copy strong {
    display: block;
}

.sa-price-copy small {
    margin-bottom: 12px;
    font-size: 9px;
    letter-spacing: .16em;
}

.sa-price-enquiry {
    align-items: center;
    justify-content: center;
    background: #8a1429;
}

.sa-price-enquiry .elementor-button {
    color: #fff;
    background: transparent;
}

.sa-ready-list ol,
.sa-why-list ol {
    margin: 42px 0 0;
    padding: 0;
    list-style: none;
}

.sa-ready-list li {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 12px;
    padding: 18px 0;
    border-top: 1px solid #e8d4cc;
}

.sa-ready-list li span {
    display: grid;
    gap: 6px;
    font-size: 12px;
}

.sa-thumb-grid > article {
    display: block;
}

.sa-thumb.e-con {
    display: block;
    width: 100%;
}

.sa-faq-item .elementor-widget-container > details {
    border-top: 1px solid #dccbc1;
}

.sa-faq-item:last-child .elementor-widget-container > details {
    border-bottom: 1px solid #dccbc1;
}

.sa-faq-item summary {
    padding: 25px 3px;
    list-style: none;
    cursor: pointer;
    font-weight: 700;
    color: #741429;
}

.sa-faq-item details p {
    max-width: 760px;
    margin: 0;
    padding: 0 3px 24px;
}

.sa-elementor-enquiry > .sa-enquiry-intro,
.sa-elementor-enquiry > .sa-elementor-enquiry-form {
    min-width: 0;
}

.sa-elementor-enquiry .sa-enquiry-shortcode > .elementor-widget-container > .sa-enquiry {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
}

.sa-elementor-enquiry .sa-enquiry-shortcode .sa-enquiry > .sa-shell {
    position: static !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

.sa-elementor-enquiry .sa-enquiry-shortcode .sa-enquiry > .sa-shell > .sa-kicker,
.sa-elementor-enquiry .sa-enquiry-shortcode .sa-enquiry > .sa-shell > h2 {
    display: none !important;
}

@media (max-width: 800px) {
    .sa-actions.e-con {
        flex-wrap: wrap;
    }

    .sa-price-row > .elementor-element {
        border-right: 0;
        border-bottom: 1px solid #e4d1c7;
    }
}

/* Materials and service pages keep their original production class names. */
.mat-page.e-con,
.mat-page .e-con,
.sa-service-page.e-con,
.sa-service-page .e-con {
    --padding-top: 0;
    --padding-right: 0;
    --padding-bottom: 0;
    --padding-left: 0;
    --margin-top: 0;
    --margin-right: 0;
    --margin-bottom: 0;
    --margin-left: 0;
}

.mat-shell.e-con,
.sa-service-shell.e-con {
    max-width: none;
    margin-right: auto;
    margin-left: auto;
}

.mat-section-head.e-con,
.mat-grid.e-con,
.mat-cta .mat-shell.e-con,
.sa-service-grid.e-con,
.sa-service-highlights .sa-service-shell.e-con,
.sa-service-chips.e-con,
.sa-album-gallery-head.e-con,
.sa-album-spreads.e-con {
    display: grid;
}

.mat-card.e-con,
.sa-service-copy.e-con,
.sa-service-art.e-con,
.sa-service-card.e-con,
.sa-album-spread.e-con {
    display: block;
}

.mat-swatch.e-con {
    display: block;
    width: 100%;
}

.mat-card .elementor-widget,
.sa-service-page .elementor-widget {
    margin: 0;
}

.sa-service-actions.e-con {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.sa-service-btn .elementor-button {
    min-height: 54px;
    padding: 18px 26px;
    border-radius: 12px;
    color: #fff;
    background: #681c2f;
}

.sa-service-btn.alt .elementor-button {
    color: #681c2f;
    border: 1px solid rgba(104, 28, 47, .28);
    background: transparent;
}

.sa-album-spread-image img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 800px) {
    .sa-service-actions.e-con {
        flex-direction: column;
        align-items: flex-start;
    }
}
