.ed-block-section{padding-top:calc(var(--s-space) * 2);padding-bottom:calc(var(--s-space) * 2);width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--s-container-w,1200px);padding-left:24px;padding-right:24px}.ed-block-section.alignfull,.wp-block-ed-starter-post-feature.alignfull,.wp-block-ed-starter-feature-cards.alignfull,.efc-wrap.alignfull,.esf-wrap.alignfull,.wp-block-expensive-design-split-feature.alignfull,.etm-wrap.alignfull,.wp-block-expensive-design-testimonials.alignfull,.wp-block-ed-starter-contact.alignfull{margin-left:0!important;margin-right:0!important;max-width:100%!important;width:100%!important}
.ed-block-section.alignwide,.wp-block-ed-starter-post-feature.alignwide,.wp-block-ed-starter-feature-cards.alignwide,.efc-wrap.alignwide,.esf-wrap.alignwide,.wp-block-expensive-design-split-feature.alignwide,.etm-wrap.alignwide,.wp-block-expensive-design-testimonials.alignwide,.wp-block-ed-starter-contact.alignwide{margin-left:auto!important;margin-right:auto!important;max-width:var(--s-container-w,1200px)!important;width:100%!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box!important}.ed-block-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:var(--s-space);padding-bottom:12px;border-bottom:1px solid var(--s-line);flex-wrap:wrap}.ed-block-section__title{font-family:var(--s-heading);font-weight:var(--s-heading-weight);font-size:1.375rem;line-height:1.2;color:var(--s-text);margin:0}.ed-block-section__link{font-family:var(--s-heading);font-size:0.875rem;color:var(--s-accent);text-decoration:none;white-space:nowrap;transition:color 0.2s}.ed-block-section__link:hover{color:var(--s-accent-hover);text-decoration:underline}.ed-block-empty{padding:calc(var(--s-space) * 2);text-align:center;color:var(--s-text-light,#888);font-style:italic;opacity:0.7}.ed-hero-section{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;box-sizing:border-box;min-height:75vh}.ed-hero-section__inner{position:relative;z-index:2;width:100%;padding:calc(var(--s-space) * 5) 0;box-sizing:border-box}.ed-hero-section__heading{font-family:var(--s-heading);font-weight:600;font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.1;margin:0 0 1.25rem;color:inherit}.ed-hero-section__sub{font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.65;margin:0 0 calc(var(--s-space) * 1.5);color:inherit;opacity:0.9}.ed-hero-section__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:calc(var(--s-space) * 1.5)}.ed-hero-section[style*="text-align:center"] .ed-hero-section__cta,.ed-hero-section[style*="text-align: center"] .ed-hero-section__cta{justify-content:center}.ed-hero-section[style*="text-align:right"] .ed-hero-section__cta,.ed-hero-section[style*="text-align: right"] .ed-hero-section__cta{justify-content:flex-end}.ed-hero-btn{min-height:52px;padding:14px 36px;font-size:1.0625rem;font-weight:600;letter-spacing:0.01em}.ed-hero-btn--secondary{background-color:transparent;border:2px solid currentColor}.ed-hero-bg,.ed-hero-overlay{pointer-events:none}.wp-block-ed-starter-post-grid .s-grid{margin-bottom:0}.wp-block-ed-starter-product-grid .products{margin-bottom:0;list-style:none;padding:0}.wp-block-ed-starter-product-grid .products li.product{margin:0!important;display:flex;flex-direction:column}.wp-block-ed-starter-feature-cards,.efc-wrap{padding-top:calc(var(--s-space) * 2);padding-bottom:calc(var(--s-space) * 2);width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--s-container-w,1200px);padding-left:24px;padding-right:24px}.efc-grid{display:grid;gap:var(--s-space);grid-template-columns:1fr}@media (min-width:640px){.efc-grid{grid-template-columns:repeat(min(2,var(--efc-columns,3)),minmax(0,1fr))}}@media (min-width:992px){.efc-grid{grid-template-columns:repeat(var(--efc-columns,3),minmax(0,1fr))}}.efc-card{background-color:var(--efc-card-bg,#1d3557);border-radius:var(--th-radius);padding:28px 24px 32px;box-sizing:border-box;display:flex;flex-direction:column;transition:box-shadow 0.25s ease,transform 0.25s ease}.efc-card:hover{box-shadow:0 6px 24px rgba(0,0,0,0.1);transform:translateY(-3px)}.efc-icon{font-size:2.25rem;line-height:1;margin-bottom:14px;display:block}.efc-title{font-family:var(--s-heading);font-weight:600;font-size:1.125rem;line-height:1.3;color:var(--efc-title-color,#ffffff);margin:0 0 10px}.efc-text{font-size:1.125rem;line-height:1.65;color:var(--efc-text-color,#ffffff);margin:0;flex:1}.efc-card[style*="background:#1a"],.efc-card[style*="background: #1a"],.efc-card[style*="background:#2d"],.efc-card[style*="background: #2d"]{--efc-title-color:#fff;--efc-text-color:rgba(255,255,255,0.85)}.ed-cta,.wp-block-ed-starter-cta{padding-top:calc(var(--s-space) * 2);padding-bottom:calc(var(--s-space) * 2);width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--s-container-w,1200px);padding-left:24px;padding-right:24px}.ed-cta.alignfull,.wp-block-ed-starter-cta.alignfull{margin-left:0!important;margin-right:0!important;max-width:100%!important;width:100%!important}
.ed-cta.alignwide,.wp-block-ed-starter-cta.alignwide{margin-left:auto!important;margin-right:auto!important;max-width:var(--s-container-w,1200px)!important;width:100%!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box!important}.ed-cta__card{background-color:var(--efc-cta-bg,#1d3557);border-radius:var(--th-radius);padding:40px 44px;box-sizing:border-box;box-shadow:0 0 0 3px var(--efc-cta-ring,#2f5a76),0 4px 24px rgba(0,0,0,0.06);position:relative}.ed-cta__card.ed-cta--split,.ed-cta--split .ed-cta__card{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--s-space) * 2);flex-wrap:wrap}.ed-cta__card.ed-cta--center,.ed-cta--center .ed-cta__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-space);height:auto}.ed-cta--center .ed-cta__actions{justify-content:center;flex-shrink:0}.ed-cta--split .ed-cta__text{flex:1 1 280px}.ed-cta--center .ed-cta__text{flex:0 0 auto;width:100%}.ed-cta__heading{font-family:var(--s-heading);font-weight:600;font-size:clamp(1.25rem,2.5vw,1.75rem);line-height:1.3;color:#ffffff;margin:0 0 8px}.ed-cta__sub{font-size:1.125rem;line-height:1.6;color:#ffffff;opacity:1;margin:0}.ed-cta__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;flex-shrink:0}.ed-cta__btn{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:10px 24px;border-radius:var(--th-radius);font-family:var(--s-heading);font-weight:var(--s-heading-weight);font-size:1rem;line-height:1;text-decoration:none;cursor:pointer;transition:background-color 0.2s ease,color 0.2s ease,transform 0.15s ease;white-space:nowrap}.ed-cta__btn:hover{transform:translateY(-2px);text-decoration:none}.ed-cta__btn--primary{background-color:var(--cta-btn1-bg,#ffffff);color:var(--cta-btn1-color,#1d3557)}.ed-cta__btn--primary:hover{filter:brightness(1.15)}.ed-cta__btn--ghost{background-color:transparent;border:2px solid var(--cta-btn2-color,var(--cta-btn1-bg,#ffffff));color:var(--cta-btn2-color,var(--cta-btn1-bg,#ffffff))}.ed-cta__btn--ghost:hover{background-color:var(--cta-btn2-color,var(--cta-btn1-bg,var(--s-text)));color:var(--cta-btn1-color,var(--s-bg))}@media (max-width:639px){.ed-cta--split .ed-cta__card{flex-direction:column;align-items:flex-start}.ed-cta__card{padding:28px 24px}}.ed-cta-editor-wrap .ed-cta__card{pointer-events:none}.ed-product-card{background-color:var(--s-woo-card,#ffffff);border-radius:var(--s-woo-border-radius,var(--th-radius));box-shadow:var(--s-woo-shadow,0 2px 8px rgba(0,0,0,0.07));list-style:none;display:flex;flex-direction:column;position:relative;overflow:visible;transition:box-shadow 0.2s ease}.ed-product-card:hover{box-shadow:0 6px 20px rgba(0,0,0,0.12)}.ed-product-card__badge{position:absolute;top:12px;left:12px;z-index:2;background-color:var(--s-accent,#457b9d);color:var(--s-bg,#ffffff);font-family:var(--s-heading);font-size:12px;font-weight:var(--s-heading-weight);line-height:1;padding:5px 10px 6px;border-radius:999px}.ed-product-card__img-wrap{display:block;background-color:var(--s-woo-bg,#ffffff);overflow:hidden;aspect-ratio:1 / 1;border-radius:var(--s-woo-border-radius,var(--th-radius)) var(--s-woo-border-radius,var(--th-radius)) 0 0}.ed-product-card__img{width:100%!important;height:100%!important;object-fit:cover!important;padding:0;box-sizing:border-box;display:block;transition:transform 0.3s ease}.ed-product-card:hover .ed-product-card__img{transform:scale(1.04)}.ed-product-card__title-link{text-decoration:none;color:inherit;flex:1;display:block}.ed-product-card__title{font-family:var(--s-heading);font-weight:var(--s-heading-weight);font-size:1rem;line-height:1.4;color:var(--s-text);margin:18px 20px 8px;white-space:normal}.ed-product-card__title-link:hover .ed-product-card__title{color:var(--s-accent)}.ed-product-card__footer{display:flex!important;align-items:flex-end!important;justify-content:space-between;gap:8px;padding:12px 20px 22px;flex-shrink:0}
.ed-product-card__footer>.ed-product-card__price{align-self:flex-end!important}
.ed-product-card__action{align-self:flex-end!important;display:flex!important;align-items:flex-end!important;min-height:40px}
.ed-product-card__footer>.ed-product-card__action{align-self:flex-end!important}.ed-product-card__price{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-height:40px}
.ed-price-regular{order:1;font-size:0.8rem;color:var(--s-text-light,#475154);opacity:1;line-height:1.2;text-decoration:line-through}
.ed-product-card__price .edsc-original-price{order:2;display:block;font-size:0.8rem;color:var(--s-text-light,#475154);text-decoration:line-through;line-height:1.2;margin:0}
.ed-price-sale{order:3;font-size:1rem;font-weight:600;color:var(--s-text);line-height:1.3}
.ed-price-sale .woocommerce-Price-amount{font-weight:600}.ed-product-card .ed-product-card__action .button.add_to_cart_button{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;padding:8px 16px!important;border-radius:var(--s-woo-border-radius,var(--th-radius))!important;background-color:var(--s-text)!important;color:var(--s-bg)!important;font-family:var(--s-heading);font-size:0.875rem;font-weight:var(--s-heading-weight);line-height:1;text-decoration:none!important;white-space:nowrap;border:none!important;cursor:pointer;transition:background-color 0.2s ease,transform 0.15s ease,box-shadow 0.2s ease!important;opacity:1!important;will-change:transform;margin-top:14px!important}.ed-product-card .ed-product-card__action .button.add_to_cart_button:hover,.ed-product-card .ed-product-card__action .button.add_to_cart_button:focus{background-color:var(--s-accent-hover,#D4D4D8)!important;color:var(--s-bg,#0B0B0C)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px rgba(0,0,0,0.25)!important;text-decoration:none!important}.ed-product-card .ed-product-card__action .button.add_to_cart_button:active{transform:translateY(0)!important;box-shadow:none!important}.ed-product-card .ed-product-card__action .button.added{background-color:var(--s-accent)!important}@media (max-width:480px){.ed-product-card .ed-product-card__action .button.add_to_cart_button{padding:8px 10px;font-size:0.8125rem}}@media (max-width:767px){.ed-product-card__title{text-align:left}.ed-product-card__footer{flex-direction:column;align-items:stretch;gap:10px}.ed-product-card__action{width:100%}.ed-product-card .ed-product-card__action .button.add_to_cart_button{display:flex!important;width:100%;justify-content:center;padding:10px 12px!important;font-size:0.875rem;margin-top:0!important}}.etm-wrap{margin:0}.etm-grid{display:grid;grid-template-columns:repeat(var(--etm-columns,3),1fr);gap:20px}.etm-card{background:var(--etm-card-bg,#1d3557);border-radius:var(--th-radius);padding:32px 28px 28px;display:flex;flex-direction:column;position:relative}.etm-mark{display:block;font-family:Georgia,serif;font-size:5rem;line-height:0.7;color:var(--etm-accent,#ffffff);opacity:0.25;margin-bottom:16px;user-select:none}.etm-quote{color:var(--etm-quote-color,#ffffff);font-size:1.125rem;line-height:1.75;margin:0 0 24px;flex:1}.etm-author{display:flex;flex-direction:column;gap:3px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.15);opacity:0.85}.etm-name{color:var(--etm-name-color,#ffffff);font-size:0.9375rem;font-weight:600}.etm-role{color:var(--etm-role-color,#ffffff);font-size:0.8125rem;opacity:0.7}@media (max-width:639px){.etm-grid{grid-template-columns:1fr}}@media (min-width:640px) and (max-width:991px){.etm-grid{grid-template-columns:repeat(min(var(--etm-columns,3),2),1fr)}}.esf-wrap{display:flex;flex-direction:column;gap:32px}.esf-row{display:grid;grid-template-columns:var(--esf-img-w,50%) var(--esf-text-w,50%);align-items:stretch;min-height:360px}.esf-row--flipped{direction:rtl}.esf-row--flipped>*{direction:ltr}.esf-image{overflow:hidden;border-radius:var(--th-radius) 0 0 var(--th-radius)}.esf-row--flipped .esf-image{border-radius:0 var(--th-radius) var(--th-radius) 0}.esf-image img{width:100%;height:100%;object-fit:cover;display:block}.esf-image__placeholder{width:100%;height:100%;min-height:260px;background:#18181B;display:flex;align-items:center;justify-content:center}.esf-content{padding:40px 48px;display:flex;flex-direction:column;justify-content:center;background:var(--esf-card-bg,#1d3557);border-radius:0 var(--th-radius) var(--th-radius) 0}.esf-row--flipped .esf-content{border-radius:var(--th-radius) 0 0 var(--th-radius)}.esf-eyebrow{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--esf-eyebrow-color,#ffffff);margin:0 0 16px}.esf-eyebrow::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--esf-accent,#ffffff);flex-shrink:0}.esf-heading{font-weight:600;font-size:2.5rem;line-height:1.1;color:var(--esf-heading-color,#ffffff);margin:0 0 20px}.esf-text{font-size:1.125rem;line-height:1.7;color:var(--esf-text-color,#ffffff);margin:0 0 20px}.esf-items{margin:0;padding:0;border-top:1px solid var(--esf-divider,rgba(255,255,255,0.15))}.esf-item{border-bottom:1px solid var(--esf-divider,rgba(255,255,255,0.15))}.esf-item__label{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:1rem;font-weight:600;color:var(--esf-heading-color,#ffffff);margin:0}.esf-item__arrow{color:var(--esf-accent,#ffffff);transition:transform 0.2s ease;display:inline-block}.esf-item--open .esf-item__arrow{transform:rotate(90deg)}.esf-item__desc{font-size:1.125rem;line-height:1.7;color:var(--esf-text-color,#ffffff);padding:0 0 14px;margin:0;display:none}.esf-item--open .esf-item__desc{display:block}.esf-btn{display:inline-flex;align-items:center;gap:6px;margin-top:24px;padding:12px 28px;border-radius:var(--th-radius);background:var(--esf-btn-bg,#ffffff);color:var(--esf-btn-color,#1d3557);font-weight:600;font-size:1rem;text-decoration:none;align-self:flex-start}.esf-btn:hover{opacity:0.85;text-decoration:none}@media (max-width:767px){.esf-row{grid-template-columns:1fr;min-height:auto}.esf-row--flipped{direction:ltr}.esf-image{border-radius:var(--th-radius) var(--th-radius) 0 0;min-height:220px}.esf-row--flipped .esf-image{border-radius:var(--th-radius) var(--th-radius) 0 0}.esf-content{padding:28px 24px;border-radius:0 0 var(--th-radius) var(--th-radius)}.esf-heading{font-size:1.75rem}}
/* =============================================================================
   ED CONTACT BLOCK
   ============================================================================= */

.ed-contact {
    padding: var(--spacing-50, 4rem) 0;
    background: var(--ec-bg, transparent);
    width: 100%;
    box-sizing: border-box;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Header */
.ed-contact__header {
    text-align: center;
    margin-bottom: var(--spacing-40, 2.5rem);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 var(--spacing-20, 1.5rem);
}
.ed-contact__eyebrow {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--s-accent);
    margin: 0 0 10px;
}
.ed-contact__heading {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 600;
    line-height: 1.15;
    margin: 0;
    color: var(--s-heading, var(--s-dark));
}

/* Body grid */
.ed-contact__body {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: var(--spacing-30, 2rem);
    max-width: var(--s-container-w, 1200px);
    margin: 0 auto;
    padding: 0 var(--spacing-20, 1.5rem);
    align-items: start;
}

/* Form column */
.ed-contact__form-col {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: var(--th-radius);
    padding: 36px 40px;
}

/* Form title */
.ed-contact__form-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--s-heading, var(--s-dark));
    margin: 0 0 24px;
}

/* Field rows */
.ed-contact__row { display: flex; flex-direction: column; gap: 16px; }
.ed-contact__row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 480px) { .ed-contact__row--2 { grid-template-columns: 1fr; } }

.ed-contact__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.ed-contact__field:last-child { margin-bottom: 0; }

/* Labels */
.ed-contact__label {
    font-size: 13px;
    font-weight: 600;
    color: var(--s-text, #444);
}
.ed-contact__label span { color: var(--s-accent); margin-left: 1px; }

/* Inputs */
.ed-contact__input {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #e0e0e0;
    border-radius: var(--th-radius);
    font-size: 15px;
    font-family: inherit;
    color: var(--s-text, #333);
    background: #fafafa;
    box-sizing: border-box;
    transition: border-color .18s, box-shadow .18s;
    -webkit-appearance: none;
    appearance: none;
}
.ed-contact__input:focus {
    border-color: var(--s-accent);
    box-shadow: 0 0 0 3px rgba(9,81,57,.08);
    outline: none;
    background: #fff;
}
.ed-contact__textarea { min-height: 140px; resize: vertical; }
.ed-contact__select {
    cursor: pointer;
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23757575' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

/* Submit button */
.ed-contact__actions { margin-top: 8px; }
.ed-contact__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: var(--s-accent, #457b9d);
    color: var(--s-bg, #ffffff);
    border: none;
    border-radius: var(--th-radius);
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: filter .2s, transform .15s;
}
.ed-contact__btn:hover:not(:disabled) { filter: brightness(1.12); transform: translateY(-1px); }
.ed-contact__btn:disabled { opacity: .7; cursor: wait; }

/* Spinner */
.ed-contact__btn-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ec-spin .7s linear infinite;
}
@keyframes ec-spin { to { transform: rotate(360deg); } }

/* Error & success */
.ed-contact__error {
    margin-top: 10px;
    font-size: 13px;
    color: #e74c3c;
}
.ed-contact__success {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
    background: #DCFCE7;
    color: #16A34A;
    border-radius: var(--th-radius);
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 16px;
}

/* Info column */
.ed-contact__info-col {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: var(--th-radius);
    padding: 36px 40px;
    align-self: start !important;
    height: fit-content;
}
.ed-contact__info-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.ed-contact__info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.ed-contact__info-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: color-mix(in srgb, var(--s-accent) 10%, transparent);
    border-radius: var(--th-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--s-accent);
    margin-top: 2px;
}
.ed-contact__info-icon--line {
    background: color-mix(in srgb, #06C755 12%, transparent);
    color: #06C755;
}
.ed-contact__info-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.ed-contact__info-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #718096;
}
.ed-contact__info-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--s-text, #1d2327);
}
.ed-contact__info-value--link {
    color: var(--s-accent);
    text-decoration: none;
}
.ed-contact__info-value--link:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 768px) {
    .ed-contact__body {
        grid-template-columns: 1fr;
    }
    .ed-contact__form-col,
    .ed-contact__info-col {
        padding: 24px 20px;
    }
}

/* =============================================================================
   IMAGE CARDS BLOCK — portfolio / gallery grid (image + title + subtitle)
   Mirrors the .efc-* (Feature Cards) responsive grid pattern:
   mobile = 1 col, >=640px = min(2, chosen), >=992px = chosen column count.
   ============================================================================= */
.eic-wrap {
    padding-top: calc(var(--s-space) * 2);
    padding-bottom: calc(var(--s-space) * 2);
    width: 100% !important;
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--s-container-w, 1200px) !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}
.eic-wrap.alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100%;
    padding-left: 24px;
    padding-right: 24px;
}
.eic-grid {
    display: grid;
    gap: var(--s-space);
    grid-template-columns: 1fr;
}
@media (min-width: 640px) {
.eic-grid { grid-template-columns: repeat(min(2, var(--eic-columns, 4)), minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .eic-grid { grid-template-columns: repeat(var(--eic-columns, 4), minmax(0, 1fr)); }
}
.eic-card {
    display: block;
    text-decoration: none;
    color: inherit;
}
.eic-img {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--th-radius);
    overflow: hidden;
    background-color: var(--s-light, #F5F5F5);
    margin-bottom: 16px;
}
.eic-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.eic-card:hover .eic-img img {
    transform: scale(1.05);
}
.eic-img--empty {
    background: linear-gradient(135deg, var(--s-light, #eee), var(--s-border, #ddd));
}
.eic-title {
    font-family: var(--s-heading);
    font-weight: 600;
    font-size: 1.0625rem;
    line-height: 1.3;
    color: var(--s-text);
    margin: 0 0 4px;
}
.eic-subtitle {
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--s-text, #0B0B0C);
    opacity: 0.72;
    margin: 0;
}
/* Editor canvas preview wrapper needs the same base spacing as the frontend */
.eic-editor-wrap {
    padding: calc(var(--s-space) * 1.5) 0;
}

/* =========================================================
   Editor canvas width parity with the frontend.
   .th-block-content-area (used on the frontend by front-page.php /
   page.php) never exists inside the block editor's own DOM — the
   editor renders blocks inside its own internal containers
   (.editor-styles-wrapper .is-root-container), which theme.json's
   layout.contentSize/wideSize should size automatically, but that
   depends on WP/Gutenberg version behavior. These rules target the
   editor's real DOM directly so the width always matches regardless.
   ========================================================= */
.editor-styles-wrapper .is-root-container{
  max-width: var(--th-maxw);
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
.editor-styles-wrapper .is-root-container > *{
  max-width: 100%;
}
.editor-styles-wrapper .is-root-container > [data-align="wide"],
.editor-styles-wrapper .is-root-container > .alignwide{
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.editor-styles-wrapper .is-root-container > [data-align="full"],
.editor-styles-wrapper .is-root-container > .alignfull{
  max-width: none !important;
  width: calc(100% + 48px) !important;
  margin-left: -24px !important;
  margin-right: -24px !important;
}
