/* File: wp-content/themes/log-core/assets/css/log-contact-form-card.css */
/* Depends on: log-contact-form.css (inherits tokens, shell layout) */
/* Prefix: .log-co- */

/* ═══════════════════════════════════════════════════
   FORM CARD
   ═══════════════════════════════════════════════════ */
.log-co-form-card {
   background: var(--white);
   border: 1px solid var(--line);
   border-radius: var(--r-lg);
   box-shadow: var(--shadow-lg);
   overflow: hidden;
}

.log-co-form-card-head {
   background: linear-gradient(135deg, var(--plum-950), var(--plum-800));
   padding: 30px 32px;
   position: relative;
   overflow: hidden;
}

.log-co-form-card-head::after {
   content: '';
   position: absolute;
   width: 260px;
   height: 260px;
   border: 1px solid rgba(94, 238, 192, .07);
   border-radius: 50%;
   top: -100px;
   right: -80px;
}

.log-co-form-card-head h3 {
   font-family: var(--display);
   font-size: 26px;
   font-weight: 700;
   color: #fff;
   position: relative;
   z-index: 1;
   margin-bottom: 0px;
}

.log-co-form-card-head h3 em {
   font-style: italic;
   color: var(--sage-400);
}

.log-co-form-card-head p {
   font-size: 13px;
   color: #d6c4cd;
   margin-top: 6px;
   position: relative;
   z-index: 1;
}

.log-co-form-steps {
   display: flex;
   gap: 0;
   margin-top: 18px;
   position: relative;
   z-index: 1;
}

.log-co-form-step {
   flex: 1;
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 11.5px;
   font-weight: 700;
   color: rgba(255, 255, 255, .5);
}

.log-co-form-step.log-co-active {
   color: var(--sage-400);
}

.log-co-fs-num {
   width: 22px;
   height: 22px;
   border-radius: 50%;
   border: 1.5px solid rgba(255, 255, 255, .2);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 10px;
   flex-shrink: 0;
}

.log-co-form-step.log-co-active .log-co-fs-num {
   border-color: var(--sage-400);
   background: rgba(94, 238, 192, .15);
}

.log-co-fs-divider {
   flex: 1;
   height: 1px;
   background: rgba(255, 255, 255, .1);
   margin: 0 6px;
}

/* Form body wrapper (CF7 form embeds directly inside) */
.log-co-form-card-body {
   padding: 32px;
}

/* ── CF7 form 5638 (Contact Us Page Form) — cu-* classes from its own template ── */
.cu-field-group {
   display: block;
   margin-bottom: 14px;
}

.cu-half-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 14px;
}

.cu-field-group label,
.cu-subject-label {
   display: block;
   font-size: 11.5px;
   font-weight: 700;
   color: var(--ink-700);
   letter-spacing: .03em;
   margin-bottom: 5px;
}

.cu-subject-label {
   font-size: 11px;
   font-weight: 800;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: var(--gray-600);
   margin-bottom: 10px;
}

input.cu-field,
textarea.cu-field,
select.cu-field {
   background: var(--paper);
   border: 1.5px solid var(--line);
   border-radius: 12px;
   padding: 12px 16px;
   font-size: 14px;
   color: var(--ink-900);
   transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
   width: 100%;
   height: 3rem;
}

input.cu-field:focus,
textarea.cu-field:focus,
select.cu-field:focus {
   outline: none;
   border-color: var(--sage-500);
   box-shadow: 0 0 0 3px rgba(29, 219, 149, .12);
}

input.cu-field::placeholder,
textarea.cu-field::placeholder {
   color: var(--gray-400);
}

textarea.cu-field {
   resize: vertical;
   min-height: 120px;
}

.wpcf7-form-control-wrap {
   display: block;
}

.wpcf7-not-valid-tip {
   font-size: 11.5px;
   color: #c0392b;
   margin-top: 4px;
}

.cu-submit-row {
   margin-top: 18px;
}

.cu-btn-submit {
   width: 100%;
   background: linear-gradient(135deg, var(--plum-800), var(--plum-700));
   color: #fff;
   font-weight: 700;
   font-size: 14.5px;
   padding: 16px 24px;
   border-radius: var(--r-pill);
   transition: all .28s var(--ease);
   cursor: pointer;
   border: none;
   font-family: inherit;
}

.cu-btn-submit:hover {
   background: linear-gradient(135deg, var(--plum-700), var(--plum-600));
   transform: translateY(-2px);
   box-shadow: 0 14px 30px rgba(122, 31, 110, .3);
}

.cu-form-privacy {
   text-align: center;
   font-size: 12.5px;
   color: var(--ink-700);
   margin-top: 12px;
}

.wpcf7-response-output {
   border-radius: 10px !important;
   font-size: 12.5px !important;
   margin: 14px 0 0 !important;
   padding: 10px 14px !important;
}

/* ── Below form strip ── */
.log-co-below-form-strip {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 14px;
   margin-top: 16px;
}

.log-co-bfs-item {
   background: var(--white);
   border: 1px solid var(--line);
   border-radius: var(--r-md);
   padding: 18px 16px;
   display: flex;
   align-items: flex-start;
   gap: 12px;
   box-shadow: var(--shadow-sm);
   transition: box-shadow .25s var(--ease), transform .25s var(--ease);
}

.log-co-bfs-item:hover {
   box-shadow: var(--shadow-md);
   transform: translateY(-3px);
}

.log-co-bfs-icon {
   width: 38px;
   height: 38px;
   border-radius: 10px;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
}

.log-co-bfs-title {
   font-size: 13px;
   font-weight: 700;
   color: var(--ink-900);
   margin-bottom: 4px;
}

.log-co-bfs-sub {
   font-size: 12px;
   color: var(--gray-600);
   line-height: 1.55;
}