/* ===== Base HTML & Animations ===== */
html { scroll-behavior: smooth; }
.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover { transform: translateY(-5px); box-shadow: 0 10px 25px -5px rgba(0,0,0,.1); }

.fade-in { animation: fadeIn 0.8s ease-out forwards; }
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== Button Styles ===== */
.wp-block-button.diamorphe-btn-primary .wp-block-button__link {
  background-color: #60D5E1; color: #0D1B2A; font-weight: 700;
  padding: 1rem 2rem; border-radius: 0.375rem; border: none; transition: all 0.3s;
}
.wp-block-button.diamorphe-btn-primary .wp-block-button__link:hover { background-color: rgba(96,213,225,0.85); }

.wp-block-button.diamorphe-btn-outline .wp-block-button__link {
  background: transparent; color: #0D1B2A; font-weight: 700;
  padding: 1rem 2rem; border-radius: 0.375rem; border: 2px solid #60D5E1; transition: all 0.3s;
}
.wp-block-button.diamorphe-btn-outline .wp-block-button__link:hover { background: rgba(96,213,225,0.05); }

.wp-block-button.diamorphe-btn-cta .wp-block-button__link {
  background-color: #60D5E1; color: #0D1B2A; font-weight: 700;
  padding: 1.25rem 3rem; border-radius: 0.375rem; font-size: 1.125rem;
  box-shadow: 0 20px 25px -5px rgba(96,213,225,0.2); transition: transform 0.3s; border: none;
}
.wp-block-button.diamorphe-btn-cta .wp-block-button__link:hover { transform: scale(1.05); }

/* ===== Step Numbers ===== */
.diamorphe-step-number {
  width: 5rem; height: 5rem; border: 2px solid rgba(96,213,225,0.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; font-weight: 800; color: #0D1B2A;
  margin: 0 auto 1.5rem; border-radius: 0.5rem; transition: all 0.3s;
}
.diamorphe-step-number:hover { background-color: #60D5E1; border-color: #60D5E1; }

/* ===== Service Boxes & Cards ===== */
.diamorphe-service-box { transition: all 0.3s; }
.diamorphe-service-box:hover { z-index: 10; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1); }

.wp-block-column > .hover-lift { height: 100%; box-sizing: border-box; }

/* ===== Footer & Plain Lists ===== */
ul.diamorphe-plain-list { list-style-type: none !important; padding-left: 0 !important; margin-left: 0 !important; }

/* ===== Consultation Modal ===== */
.diamorphe-modal-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(13, 27, 42, 0.8); backdrop-filter: blur(4px);
    z-index: 1000; display: flex; align-items: center; justify-content: center;
}
.diamorphe-modal-content {
    background: #fff; width: 100%; max-width: 500px;
    border-radius: 1rem; padding: 2.5rem; position: relative;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
    animation: modal-pop 0.3s ease-out; margin: 1rem;
    box-sizing: border-box;
}
@keyframes modal-pop {
    0% { opacity: 0; transform: scale(0.95) translateY(10px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}
.diamorphe-modal-close {
    position: absolute; top: 1.25rem; right: 1.25rem;
    background: none; border: none; cursor: pointer; color: #94a3b8;
    padding: 0.25rem; border-radius: 50%; transition: all 0.2s;
    display: flex; align-items: center; justify-content: center;
}
.diamorphe-modal-close:hover { background: #f1f5f9; color: #0D1B2A; }
.diamorphe-modal-close svg { width: 1.5rem; height: 1.5rem; }
.diamorphe-form-group { margin-bottom: 1.5rem; text-align: left; }
.diamorphe-form-group label {
    display: block; font-size: 0.875rem; font-weight: 600;
    color: #334155; margin-bottom: 0.5rem;
}
.diamorphe-form-group input, .diamorphe-form-group textarea {
    width: 100%; padding: 0.75rem; border: 1px solid #cbd5e1;
    border-radius: 0.375rem; font-family: inherit; font-size: 0.875rem;
    color: #0D1B2A; transition: border-color 0.2s; box-sizing: border-box;
}
.diamorphe-form-group input:focus, .diamorphe-form-group textarea:focus {
    outline: none; border-color: #60D5E1; box-shadow: 0 0 0 3px rgba(96,213,225,0.2);
}
.diamorphe-form-alert.success { background: #dcfce7; color: #166534; border: 1px solid #bbf7d0; }
.diamorphe-form-alert.error { background: #fee2e2; color: #991b1b; border: 1px solid #fecaca; }

/* ===== Scroll to Top ===== */
.diamorphe-scroll-top {
    position: fixed; bottom: 2rem; right: 2rem; z-index: 900;
    width: 3rem; height: 3rem; background: #60D5E1; color: #0D1B2A;
    border: none; border-radius: 50%; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden; transform: translateY(20px);
    transition: all 0.3s ease;
}
.diamorphe-scroll-top.visible {
    opacity: 1; visibility: visible; transform: translateY(0);
}
.diamorphe-scroll-top:hover {
    background: #4abac5; transform: translateY(-3px); box-shadow: 0 15px 20px -3px rgba(0,0,0,0.15);
}
.diamorphe-scroll-top svg { width: 1.5rem; height: 1.5rem; }


/* ===== Floating Card ===== */
.wp-block-column:has(.diamorphe-floating-card) { position: relative !important; }
.diamorphe-floating-card { position: absolute !important; bottom: -10% !important; left: -5% !important; max-width: 280px; z-index: 10; margin: 0 !important; }

/* ===== Highlight Card ===== */
.diamorphe-highlight-card { position: relative; }
.diamorphe-highlight-card::before {
  content: ''; position: absolute; top: 2rem; left: 2rem;
  width: 0.25rem; height: 3rem; background: #0D1B2A; opacity: 0.2;
}

/* ===== Funding Logos ===== */
.diamorphe-funding-logos { opacity: 0.6; filter: grayscale(100%); transition: all 0.5s; }
.diamorphe-funding-logos:hover { filter: grayscale(0%); opacity: 1; }

/* ===== Icon Wrappers & Text Stats ===== */
.diamorphe-icon-wrap {
  background: rgba(96,213,225,0.2); padding: 0.75rem;
  border-radius: 0.5rem; display: inline-flex; margin-bottom: 1.5rem;
}
.diamorphe-icon-wrap svg { width: 1.5rem; height: 1.5rem; color: #60D5E1; }

.diamorphe-icon-wrap + .wp-block-group > p:first-child { margin-bottom: 0 !important; }
.diamorphe-icon-wrap + .wp-block-group > p:last-child { margin-top: 0.15rem !important; margin-block-start: 0 !important; line-height: 1.4 !important; }

/* ===== Checkmark Items ===== */
.diamorphe-check-item { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.5rem; }
.diamorphe-check-dot {
  margin-top: 0.25rem; background: #60D5E1; border-radius: 50%;
  padding: 0.25rem; display: inline-flex; flex-shrink: 0;
}
.diamorphe-check-dot svg { width: 1rem; height: 1rem; color: #0D1B2A; }

/* ===== Entity Cards ===== */
.diamorphe-entity-card {
  background: #fff; padding: 1rem; border-radius: 0.5rem;
  display: flex; align-items: center; gap: 0.75rem; border: 1px solid #e2e8f0;
}
.diamorphe-entity-card svg { width: 1.25rem; height: 1.25rem; color: #60D5E1; flex-shrink: 0; }

/* ===== Responsiveness & Utilities ===== */
@media (max-width: 781px) {
  .hide-on-mobile {
    display: none !important;
  }
}