body { font-family: 'Open Sans', sans-serif; color: #333333; scroll-behavior: smooth; background-color: #F5F1E9; }
        body.modal-open { overflow: hidden; }

        h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; color: #4A2A20; }
        .video-overlay { background: rgba(0,0,0,0.5); }
        .custom-cta:hover { transform: scale(1.05); transition: transform 0.2s; }

        .spinner {
            border: 4px solid rgba(0, 0, 0, 0.1);
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border-left-color: #5C3A2C;
            animation: spin 1s ease infinite;
        }
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .modal { transition: opacity 0.3s ease-in-out; }
        .modal-content { 
            transition: transform 0.3s ease-in-out;
            overflow-y: auto; 
            max-height: 90vh; 
        }
        
        .form-input {
            border: 1px solid #705F5F; 
            background-color: #FFFFFF;
            color: #4A2A20; 
            border-radius: 0.375rem; 
            padding: 0.75rem 1rem;
            width: 100%;
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }
        .form-input:focus {
            border-color: #5C3A2C; 
            box-shadow: 0 0 0 3px rgba(92, 58, 44, 0.25);
            outline: none;
        }
        .form-input::placeholder {
            color: #705F5F; 
        }
        
        .breed-info-box {
            border-left: 4px solid #5C3A2C; 
            background-color: #EAE0D1; 
        }

        .nav-link {
            padding: 0.75rem 1.25rem; 
            font-size: 1.375rem;
            border-radius: 0.375rem; 
            transition: background-color 0.3s, color 0.3s;
            color: #4A2A20; 
        }
        .nav-link:hover, .nav-link.active {
            background-color: #5C3A2C; 
            color: #F5F1E9; 
        }
        .mobile-nav-link {
            display: block;
            padding: 1rem 1.25rem; 
            font-size: 1.375rem;
            border-radius: 0.375rem;
            transition: background-color 0.3s, color 0.3s;
            color: #4A2A20; 
        }
        .mobile-nav-link:hover, .mobile-nav-link.active {
            background-color: #5C3A2C; 
            color: #F5F1E9; 
        }

        .page-content { display: none; padding-bottom: 2rem; }
        .page-content.active { display: block; }
        .card-bg { background-color: #EAE0D1; }
        .section-bg-light { background-color: #F5F1E9; }
        .section-bg-medium { background-color: #EAE0D1; }
        .btn-main-action { background-color: #5C3A2C; color: #F5F1E9; }
        .btn-main-action:hover { background-color: #4A2A20; }
        .btn-secondary-action { background-color: #705F5F; color: #F5F1E9; }
        .btn-secondary-action:hover { background-color: #5C3A2C; }

        .service-card-new {
            background-color: #4A2A20; color: #F5F1E9; 
            border-radius: 1rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            overflow: hidden; text-align: center;
        }
        .service-card-new:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); }
        .service-card-new p { color: #F5F1E9; }
        .service-card-new a { color: #EAE0D1; }
        .service-card-new a:hover { color: #F5F1E9; }

        #slideshow-track { display: flex; width: fit-content; animation: scroll-slideshow 200s linear infinite; }
        @keyframes scroll-slideshow {
            0% { transform: translateX(0); } 
            100% { transform: translateX(-600%); } 
        }
        .team-member-card {
            background-color: #EAE0D1; border-radius: 0.75rem; 
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); 
            padding: 1.5rem; display: flex; flex-direction: column; align-items: center; 
        }
        .team-member-card img {
            width: 128px; height: 128px; border-radius: 50%; 
            object-fit: cover; margin-bottom: 1rem; border: 3px solid #F5F1E9; 
        }
        .team-member-info { text-align: center; }
        .shop-category-link { display: block; padding: 0.5rem 0; }
        .shop-category-link.active { font-weight: bold; color: #5C3A2C; }

        @media (min-width: 768px) { 
            .team-member-card { flex-direction: row; align-items: flex-start; }
            .team-member-card img { margin-right: 1.5rem; margin-bottom: 0; }
            .team-member-info { text-align: left; }
        }
        .modal-content .prose { color: inherit; }
        .modal-content .prose h3, .modal-content .prose h4, .modal-content .prose strong { color: #4A2A20; }
        .modal-content .prose p, .modal-content .prose li, .modal-content .prose div { color: #705F5F; }
        #productInfoModalContent p { color: #705F5F; }