/* Register to Download - Front styles */
.rtd-wrapper {
    max-width: 560px;
    margin: 1.5em auto;
    padding: 1.75em;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    font-family: inherit;
}

.rtd-title {
    margin: 0 0 .35em;
    font-size: 1.45em;
    line-height: 1.25;
    color: #222;
}

.rtd-description {
    margin: 0 0 1.25em;
    color: #555;
    font-size: .98em;
}

.rtd-form .rtd-field {
    margin-bottom: 1em;
}

.rtd-form label {
    display: block;
    margin-bottom: .35em;
    font-weight: 600;
    color: #333;
    font-size: .94em;
}

.rtd-form input[type="text"],
.rtd-form input[type="email"],
.rtd-form input[type="tel"],
.rtd-form input[type="number"],
.rtd-form input[type="url"],
.rtd-form select,
.rtd-form textarea {
    width: 100%;
    padding: .65em .8em;
    border: 1px solid #ccd0d4;
    border-radius: 6px;
    background: #fff;
    font-size: 1em;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}

.rtd-form input:focus,
.rtd-form select:focus,
.rtd-form textarea:focus {
    border-color: #2271b1;
    outline: 0;
    box-shadow: 0 0 0 2px rgba(34,113,177,.15);
}

.rtd-form .rtd-required {
    color: #d63638;
}

.rtd-field.rtd-field-checkbox label,
.rtd-consent-label {
    display: flex;
    align-items: flex-start;
    gap: .55em;
    font-weight: 400;
    cursor: pointer;
    line-height: 1.45;
}

.rtd-field.rtd-field-checkbox input[type="checkbox"],
.rtd-consent-label input[type="checkbox"] {
    margin-top: .2em;
    flex: 0 0 auto;
}

.rtd-submit-row {
    display: flex;
    align-items: center;
    gap: .75em;
    margin-top: 1.25em;
}

.rtd-submit-btn {
    background: #2271b1;
    color: #fff;
    border: 0;
    padding: .8em 1.6em;
    font-size: 1em;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: background .2s, transform .05s;
}

.rtd-submit-btn:hover { background: #135e96; }
.rtd-submit-btn:active { transform: translateY(1px); }
.rtd-submit-btn:disabled { opacity: .65; cursor: wait; }

.rtd-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ccd0d4;
    border-top-color: #2271b1;
    border-radius: 50%;
    animation: rtd-spin .8s linear infinite;
}

.rtd-form.is-loading .rtd-spinner { display: inline-block; }

@keyframes rtd-spin { to { transform: rotate(360deg); } }

.rtd-feedback {
    margin-top: 1em;
    padding: 0;
    font-size: .94em;
}

.rtd-feedback.is-error {
    color: #b32d2e;
    background: #fdecec;
    border: 1px solid #f4c1c1;
    border-radius: 6px;
    padding: .7em 1em;
}

.rtd-form .rtd-field.has-error input,
.rtd-form .rtd-field.has-error select,
.rtd-form .rtd-field.has-error textarea {
    border-color: #d63638;
    box-shadow: 0 0 0 2px rgba(214,54,56,.15);
}

.rtd-field-error {
    display: block;
    margin-top: .3em;
    color: #b32d2e;
    font-size: .86em;
}

.rtd-success {
    text-align: center;
    padding: 1em 0;
}

.rtd-success-message {
    color: #1f6f3a;
    background: #eaf6ee;
    border: 1px solid #c5e3cf;
    border-radius: 6px;
    padding: .8em 1em;
    margin: 0 0 1.25em;
}

/* Forzamos estilos para que no los sobrescriba Elementor / theme */
.rtd-wrapper a.rtd-download-btn,
a.rtd-download-btn,
.rtd-download-btn {
    display: inline-block !important;
    margin-top: 1.5em !important;
    background: #000 !important;
    background-color: #000 !important;
    background-image: none !important;
    color: #fff !important;
    text-decoration: none !important;
    text-shadow: none !important;
    padding: .95em 2em !important;
    font-size: 1.05em !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border: 0 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18) !important;
    transition: background .25s ease, background-color .25s ease, box-shadow .25s ease, transform .05s ease !important;
    cursor: pointer !important;
}

.rtd-wrapper a.rtd-download-btn:hover,
.rtd-wrapper a.rtd-download-btn:focus,
a.rtd-download-btn:hover,
a.rtd-download-btn:focus,
.rtd-download-btn:hover,
.rtd-download-btn:focus {
    background: #404040 !important;
    background-color: #404040 !important;
    background-image: none !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.45), 0 0 18px rgba(255,255,255,0.18), 0 0 0 1px rgba(255,255,255,0.15) inset !important;
    transform: translateY(-1px) !important;
}

.rtd-wrapper a.rtd-download-btn:active,
a.rtd-download-btn:active,
.rtd-download-btn:active { transform: translateY(1px) !important; }

.rtd-download-btn::before {
    content: "⬇  " !important;
    font-weight: 700 !important;
}

@media (max-width: 480px) {
    .rtd-wrapper { padding: 1.25em; }
    .rtd-title { font-size: 1.25em; }
    .rtd-submit-btn { width: 100%; }
}
