/*
Theme Name: Aniakuczkin
Theme URI: https://aniakuczkin.pl
Author: Ania
Author URI: https://aniakuczkin.pl
Description: Motyw dla psychodietetyka - elegancki i profesjonalny design
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aniakuczkin
*/

:root {
    --main-text: #093624;
    --bg-main: #f7fee7;
    --bg-card: #093624;
    --accent-gold: #ba8052;
    --accent-gold-hover: #966944;
    --text-light: #f0fdf4;
    --text-muted: #a7f3d0;
}

.hero-title {
    font-family: "Playfair Display", serif;
}

.process-wave-container {
    position: relative;
    padding: 60px 0;
}

.node-active {
    box-shadow: 0 0 25px rgba(186, 128, 82, 0.3);
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: var(--bg-main);
}

::-webkit-scrollbar-thumb {
    background: var(--accent-gold);
    border-radius: 5px;
}

/* Efekt focus dla inputów i textarea */
input[type="text"],
input[type="email"],
textarea {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    outline: none;
    border-color: var(--accent-gold) !important;
    box-shadow: 0 0 10px rgba(186, 128, 82, 0.6) !important;
}

/* Animacje pojawiania się elementów */
.scroll-reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

.scroll-reveal-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-reveal-left.revealed {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-reveal-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

.scroll-reveal-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-reveal-scale.revealed {
    opacity: 1;
    transform: scale(1);
}

/* Opóźnienia dla efektu kaskadowego */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Stylowanie Contact Form 7 */
.wpcf7 {
    width: 100%;
}

.wpcf7-form {
    display: flex;
    flex-direction: column;
}

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

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 select {
    width: 100%;
    border-radius: 25px;
    color: var(--bg-main);
    background-color: var(--text-light);
    height: 4rem;
    padding: 0 1.5rem;
    font-size: 1.125rem;
    font-weight: 500;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 0;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wpcf7 textarea {
    width: 100%;
    border-radius: 35px;
    color: var(--bg-main);
    background-color: var(--text-light);
    min-height: 12rem;
    padding: 1.5rem;
    font-size: 1.125rem;
    font-weight: 500;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 0;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: rgba(6, 78, 59, 0.6);
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    outline: none;
    border-color: var(--accent-gold) !important;
    box-shadow: 0 0 10px rgba(186, 128, 82, 0.6) !important;
}

.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
    display: flex;
    width: fit-content;
    min-width: 200px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    height: 4rem;
    padding: 0 2.5rem;
    background-color: var(--accent-gold);
    color: var(--bg-main);
    font-size: 1.25rem;
    font-weight: bold;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: none;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover {
    background-color: var(--accent-gold-hover);
    transform: scale(1.05);
}

/* Komunikaty walidacji CF7 */
.wpcf7-not-valid-tip {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    display: block;
}

.wpcf7-response-output {
    border: 2px solid;
    margin: 1.5rem 0 0;
    padding: 1rem 1.5rem;
    border-radius: 20px;
    font-weight: 500;
}

.wpcf7-validation-errors {
    border-color: #fbbf24;
    background-color: #fef3c7;
    color: #92400e;
}

.wpcf7-mail-sent-ok {
    border-color: #34d399;
    background-color: #d1fae5;
    color: #065f46;
}

.wpcf7-mail-sent-ng {
    border-color: #f87171;
    background-color: #fee2e2;
    color: #991b1b;
}

.wpcf7-spam-blocked {
    border-color: #f87171;
    background-color: #fee2e2;
    color: #991b1b;
}

/* Spinner ładowania CF7 */
.wpcf7-spinner {
    visibility: visible;
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 3px solid var(--accent-gold);
    border-right-color: transparent;
    border-radius: 50%;
    animation: wpcf7-spin 0.8s linear infinite;
    margin-left: 1rem;
}

@keyframes wpcf7-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Ukryj domyślny spinner gdy formularz nie jest wysyłany */
.wpcf7-form:not(.submitting) .wpcf7-spinner {
    display: none;
}

/* Checkbox i Radio */
.wpcf7 .wpcf7-list-item {
    margin: 0 0 0.5rem 0;
}

.wpcf7 .wpcf7-list-item-label {
    color: var(--text-light);
    margin-left: 0.5rem;
}
