/* ================================
   SHC Submissions Shortcode Skin
   ================================ */

.shc-shortcode .shc-se-form-wrapper {
    width: 100%;
}

.shc-shortcode .shc-se-notice {
    border-radius: var(--radius-lg);
    padding: 12px 14px;
    margin-bottom: var(--spacing-lg);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

.shc-shortcode .shc-se-notice--success {
    background: #ecfdf3;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.shc-shortcode .shc-se-notice--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.shc-shortcode .shc-se-form label {
    display: block;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.35px;
    margin-bottom: 6px;
    color: var(--color-text);
}

.shc-shortcode .shc-se-form input[type="text"],
.shc-shortcode .shc-se-form input[type="email"],
.shc-shortcode .shc-se-form input[type="tel"],
.shc-shortcode .shc-se-form input[type="file"],
.shc-shortcode .shc-se-form select,
.shc-shortcode .shc-se-form textarea {
    width: 100%;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-secondary);
    font-family: var(--font-base);
    font-size: var(--font-size-base);
    color: var(--color-text);
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.shc-shortcode .shc-se-form input[type="text"],
.shc-shortcode .shc-se-form input[type="email"],
.shc-shortcode .shc-se-form input[type="tel"],
.shc-shortcode .shc-se-form select {
    height: 54px;
    padding: 0 16px;
}

.shc-shortcode .shc-se-form textarea {
    min-height: 110px;
    padding: 14px 16px;
    resize: vertical;
}

.shc-shortcode .shc-se-form input[type="file"] {
    min-height: 72px;
    padding: 14px;
    background: #fff;
    border: 1.5px dashed var(--color-border);
    border-radius: var(--radius-lg);
    cursor: pointer;
}

.shc-shortcode .shc-se-form input[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 9px 14px;
    border: 0;
    border-radius: 999px;
    background: var(--color-primary);
    color: #fff;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: opacity var(--transition-base);
}

.shc-shortcode .shc-se-form input[type="file"]::file-selector-button:hover {
    opacity: 0.92;
}

.shc-shortcode .shc-se-form input[type="file"]::-webkit-file-upload-button {
    margin-right: 12px;
    padding: 9px 14px;
    border: 0;
    border-radius: 999px;
    background: var(--color-primary);
    color: #fff;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
}

.shc-shortcode .shc-se-form .shc-se-field--file {
    position: relative;
}

.shc-shortcode .shc-se-form .shc-se-field--file .shc-se-help {
    margin-top: 8px;
}

.shc-shortcode .shc-se-form .shc-se-field--invisible {
    display: none !important;
}

.shc-shortcode .shc-se-form input:focus,
.shc-shortcode .shc-se-form select:focus,
.shc-shortcode .shc-se-form textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(60, 122, 94, 0.12);
}

.shc-shortcode .shc-se-form .shc-se-help {
    display: block;
    margin-top: 5px;
    font-size: var(--font-size-xs);
    color: var(--color-text-light);
}

.shc-shortcode .shc-se-form .shc-se-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    margin-top: 2px;
}

.shc-shortcode .shc-se-form .shc-se-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--color-primary);
    flex-shrink: 0;
}

.shc-shortcode .shc-se-form .shc-se-checkbox span {
    font-size: var(--font-size-sm);
    line-height: 1.5;
    color: var(--color-text);
}

.shc-shortcode .shc-se-form .shc-se-field--submit {
    margin-top: 6px;
}

.shc-shortcode .shc-se-form .shc-se-field--submit .button {
    width: 100%;
}

.shc-shortcode .shc-se-related-accordion {
    grid-column: 1 / -1;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: #fff;
    overflow: hidden;
}

.shc-shortcode .shc-se-related-accordion > summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-sm);
    padding: 16px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.35px;
    color: var(--color-text);
    cursor: pointer;
    background: #f8fafc;
}

.shc-shortcode .shc-se-related-accordion > summary::-webkit-details-marker {
    display: none;
}

.shc-shortcode .shc-se-related-accordion > summary::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    transform: rotate(45deg);
    transition: transform var(--transition-base);
    margin-left: auto;
}

.shc-shortcode .shc-se-related-accordion[open] > summary::after {
    transform: rotate(-135deg);
}

.shc-shortcode .shc-se-related-accordion-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.shc-shortcode .shc-se-related-accordion-body .shc-se-field {
    margin: 0;
}

/* Enrollment + conversion: two-column layout */
.shc-shortcode--enrollment .shc-se-form,
.shc-shortcode--conversion .shc-se-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-lg);
}

.shc-shortcode--enrollment .shc-se-field--textarea,
.shc-shortcode--enrollment .shc-se-field--checkbox,
.shc-shortcode--enrollment .shc-se-field--file,
.shc-shortcode--enrollment .shc-se-field--submit,
.shc-shortcode--enrollment .shc-se-field--hidden,
.shc-shortcode--conversion .shc-se-field--textarea,
.shc-shortcode--conversion .shc-se-field--checkbox,
.shc-shortcode--conversion .shc-se-field--file,
.shc-shortcode--conversion .shc-se-field--submit,
.shc-shortcode--conversion .shc-se-field--hidden {
    grid-column: 1 / -1;
}

/* Jobs: single-column compact layout */
.shc-shortcode--jobs .shc-se-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.shc-shortcode--jobs .shc-se-form input[type="text"],
.shc-shortcode--jobs .shc-se-form input[type="email"],
.shc-shortcode--jobs .shc-se-form input[type="tel"],
.shc-shortcode--jobs .shc-se-form select {
    height: 50px;
}

.shc-shortcode--enrollment .shc-se-related-accordion-body,
.shc-shortcode--conversion .shc-se-related-accordion-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-lg);
}

.shc-shortcode--enrollment .shc-se-related-accordion-body .shc-se-field--textarea,
.shc-shortcode--enrollment .shc-se-related-accordion-body .shc-se-field--checkbox,
.shc-shortcode--enrollment .shc-se-related-accordion-body .shc-se-field--file,
.shc-shortcode--enrollment .shc-se-related-accordion-body .shc-se-field--hidden,
.shc-shortcode--conversion .shc-se-related-accordion-body .shc-se-field--textarea,
.shc-shortcode--conversion .shc-se-related-accordion-body .shc-se-field--checkbox,
.shc-shortcode--conversion .shc-se-related-accordion-body .shc-se-field--file,
.shc-shortcode--conversion .shc-se-related-accordion-body .shc-se-field--hidden {
    grid-column: 1 / -1;
}

/* Sidebar variant: single column, more spacing, hide resolved course field */
.shc-shortcode--sidebar .shc-se-form {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl);
}

.shc-shortcode--sidebar .shc-se-field {
    grid-column: 1 / -1;
}

.shc-shortcode--sidebar .shc-se-field--post_select:has(.shc-se-related-label) {
    display: none;
}

@media (max-width: 768px) {
    .shc-shortcode--enrollment .shc-se-form,
    .shc-shortcode--conversion .shc-se-form {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .shc-shortcode--enrollment .shc-se-field,
    .shc-shortcode--conversion .shc-se-field {
        grid-column: 1 / -1;
    }

    .shc-shortcode .shc-se-related-accordion > summary,
    .shc-shortcode .shc-se-related-accordion-body {
        padding: 14px;
    }

    .shc-shortcode--enrollment .shc-se-related-accordion-body,
    .shc-shortcode--conversion .shc-se-related-accordion-body {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* =========================================================================
   SHC Submissions Engine — formulari universal (.shc-se-form)

   S'aplica a qualsevol lloc on s'inserti [shc_form profile="..."]. Estil
   minimal flat, coherent amb la resta del tema.
   ========================================================================= */

.shc-se-form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    background: var(--color-white);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-xl);
    padding: var(--spacing-2xl);
    box-shadow: var(--shadow-sm);
    max-width: 720px;
    margin: 0 auto;
}

.shc-se-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.shc-se-field > label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text);
}

.shc-se-field input[type="text"],
.shc-se-field input[type="email"],
.shc-se-field input[type="tel"],
.shc-se-field input[type="number"],
.shc-se-field input[type="url"],
.shc-se-field input[type="date"],
.shc-se-field select,
.shc-se-field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: inherit;
    font-size: var(--font-size-base);
    color: var(--color-text);
    background: var(--color-white);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.shc-se-field input[type="text"]:focus,
.shc-se-field input[type="email"]:focus,
.shc-se-field input[type="tel"]:focus,
.shc-se-field input[type="number"]:focus,
.shc-se-field input[type="url"]:focus,
.shc-se-field input[type="date"]:focus,
.shc-se-field select:focus,
.shc-se-field textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.15);
    outline: none;
}

.shc-se-field textarea {
    resize: vertical;
    min-height: 96px;
}

.shc-se-field select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

/* Pre-selected related post (course / oferta) */
.shc-se-field--post_select .shc-se-related-label {
    margin: 0;
    padding: 10px 14px;
    background: var(--color-primary-surface);
    border: 1px solid var(--color-primary-light);
    border-radius: var(--radius-md);
    color: var(--color-primary);
}

.shc-se-field--post_select .shc-se-related-label strong {
    color: var(--color-primary-dark);
}

/* Checkboxes (privacy, newsletter) */
.shc-se-field--checkbox {
    gap: 0;
}

.shc-se-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-sm);
    cursor: pointer;
    font-weight: var(--font-weight-regular);
    font-size: var(--font-size-sm);
    line-height: 1.5;
    color: var(--color-text-light);
}

.shc-se-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--color-primary);
    flex-shrink: 0;
    cursor: pointer;
}

.shc-se-checkbox span {
    flex: 1;
}

/* Submit button override */
.shc-se-field--submit {
    margin-top: var(--spacing-sm);
}

.shc-se-field--submit button[type="submit"] {
    width: 100%;
}

/* Success / error messages */
.shc-se-form-success,
.shc-se-form-error {
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--radius-md);
    font-size: var(--font-size-sm);
    margin-bottom: var(--spacing-lg);
}

.shc-se-form-success {
    background: var(--color-primary-surface);
    color: var(--color-primary-dark);
    border: 1px solid var(--color-primary-light);
}

.shc-se-form-error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* =========================================================================
   .fc-enrollment — secció wrapper a la fitxa del curs
   ========================================================================= */

.fc-enrollment {
    padding: var(--spacing-5xl) var(--spacing-2xl);
    background: var(--color-background);
}

.fc-enrollment__container {
    max-width: 960px;
    margin: 0 auto;
}

.fc-enrollment__header {
    text-align: center;
    margin-bottom: var(--spacing-2xl);
}

.fc-enrollment__title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-3xl);
    line-height: 1.15;
    color: var(--color-text);
    margin: 0 0 var(--spacing-md);
}

.fc-enrollment__lead {
    font-size: var(--font-size-lg);
    color: var(--color-text-light);
    line-height: 1.55;
    max-width: 640px;
    margin: 0 auto;
}

.fc-enrollment__fallback {
    text-align: center;
    margin: 0;
}

@media (max-width: 640px) {
    .fc-enrollment {
        padding: var(--spacing-3xl) var(--spacing-lg);
    }

    .shc-se-form {
        padding: var(--spacing-xl) var(--spacing-lg);
    }

    .fc-enrollment__title {
        font-size: var(--font-size-2xl);
    }
}
