﻿ :root{--primary-color:#1a365d;--primary-light:#2d4a7c;--secondary-color:#4299e1;--secondary-light:#63b3ed;--accent-color:#38a169;--accent-light:#48bb78;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success-color:#10b981;--error-color:#ef4444;--warning-color:#f59e0b;--info-color:#3b82f6;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--gradient-primary:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);--gradient-secondary:linear-gradient(135deg,var(--secondary-color) 0%,var(--secondary-light) 100%);--gradient-accent:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-light) 100%);--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-mono:'SF Mono','Monaco','Inconsolata','Fira Mono','Droid Sans Mono','Courier New',monospace;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.35s cubic-bezier(.4,0,.2,1);--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal:40;--z-popover:50;--z-tooltip:60}#gideon-registration-container{font-family:var(--font-sans);max-width:900px;margin:0 auto;padding:var(--space-xl);background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%);min-height:100vh}.form-progress{margin-bottom:var(--space-2xl);position:relative}.progress-bar{height:4px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden;margin:var(--space-lg) 0;position:relative}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-base);position:relative}.progress-fill:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 2s infinite}.progress-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.progress-step{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.step-number{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gray-200);color:var(--gray-600);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;margin-bottom:var(--space-sm);border:3px solid var(--white);box-shadow:var(--shadow-md);transition:all var(--transition-base);position:relative;z-index:1}.progress-step.active .step-number{background:var(--gradient-primary);color:var(--white);transform:scale(1.1);box-shadow:var(--shadow-lg)}.progress-step.completed .step-number{background:var(--gradient-accent);color:var(--white)}.progress-step.completed .step-number:after{content:'âœ“';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700}.step-label{font-size:.875rem;font-weight:500;color:var(--gray-600);transition:color var(--transition-base)}#gideon-registration-container .progress-step.active .step-label{color:var(--primary-color);font-weight:600}#gideon-registration-container .form-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-2xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);transition:transform var(--transition-base),box-shadow var(--transition-base)}#gideon-registration-container .form-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2xl)}#gideon-registration-container .step-header{text-align:center;margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:2px solid var(--gray-100)}#gideon-registration-container .step-title{font-size:1.875rem;font-weight:700;color:var(--primary-color);margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#gideon-registration-container .step-subtitle{font-size:1rem;color:var(--gray-600);max-width:600px;margin:0 auto}#gideon-registration-container .form-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-xl);background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-light) 100%);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);color:var(--white);position:relative;overflow:hidden}#gideon-registration-container .form-header:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);pointer-events:none}#gideon-registration-container .university-logo .logo-img{width:80px;height:80px;border-radius:var(--radius-lg);border:3px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg);object-fit:cover;background:var(--white);padding:4px}#gideon-registration-container .university-info{text-align:center;flex-grow:1;margin:0 var(--space-xl)}#gideon-registration-container .university-date{font-size:.875rem;font-weight:600;opacity:.9;margin-bottom:4px}#gideon-registration-container .university-name{font-size:1.25rem;font-weight:700;margin-bottom:4px;letter-spacing:.5px}#gideon-registration-container .registration-title{font-size:1rem;font-weight:600;text-decoration:underline;opacity:.95}#gideon-registration-container .student-photo-upload{text-align:center;min-width:140px}#gideon-registration-container .photo-preview-container{margin-bottom:var(--space-md)}#gideon-registration-container .photo-preview{width:120px;height:150px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:2px dashed rgba(255,255,255,.3);margin:0 auto;overflow:hidden;transition:all var(--transition-base)}#gideon-registration-container .photo-preview:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.15)}#gideon-registration-container .photo-preview span{color:rgba(255,255,255,.8);font-size:.75rem;text-align:center;padding:var(--space-sm)}#gideon-registration-container .photo-preview img{width:100%;height:100%;object-fit:cover}#gideon-registration-container .upload-photo-btn{background:rgba(255,255,255,.2);color:var(--white);border:1px solid rgba(255,255,255,.3);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;backdrop-filter:blur(4px)}#gideon-registration-container .upload-photo-btn:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5);transform:translateY(-1px)}#gideon-registration-container .upload-icon{opacity:.9}#gideon-registration-container .file-size-info{font-size:.75rem;color:rgba(255,255,255,.7);margin-top:var(--space-xs)}#gideon-registration-container .form-group{margin-bottom:var(--space-lg)}#gideon-registration-container .form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}#gideon-registration-container .form-input,#gideon-registration-container .form-select,#gideon-registration-container .form-textarea{width:100%;padding:var(--space-md);border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:1rem;color:var(--gray-800);background:var(--white);transition:all var(--transition-base);font-family:var(--font-mono)}#gideon-registration-container .form-input:focus,#gideon-registration-container .form-select:focus,#gideon-registration-container .form-textarea:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(66,153,225,.1);transform:translateY(-1px)}#gideon-registration-container .form-input::placeholder,#gideon-registration-container .form-textarea::placeholder{color:var(--gray-400)}#gideon-registration-container .form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;padding-right:var(--space-2xl);cursor:pointer}#gideon-registration-container .form-textarea{min-height:100px;resize:vertical;line-height:1.5}#gideon-registration-container .student-info-section,#gideon-registration-container .personal-info-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-bottom:var(--space-xl)}#gideon-registration-container .form-group.full-width{grid-column:1/-1}#gideon-registration-container .sif-box{text-align:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--secondary-color) 0%,var(--secondary-light) 100%);color:var(--white);border-radius:var(--radius-lg);font-weight:700;font-size:1.25rem;margin:var(--space-xl) 0;letter-spacing:1px;text-transform:uppercase;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}#gideon-registration-container .sif-box:before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);animation:shimmer 3s infinite linear}#gideon-registration-container .section-divider{display:flex;align-items:center;margin:var(--space-2xl) 0}#gideon-registration-container .divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent 0%,var(--gray-300) 50%,transparent 100%)}#gideon-registration-container .section-title{padding:0 var(--space-xl);font-size:1rem;font-weight:600;color:var(--primary-color);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}#gideon-registration-container .checkbox-group,#gideon-registration-container .library-options{display:flex;gap:var(--space-xl);flex-wrap:wrap}#gideon-registration-container .form-checkbox,#gideon-registration-container .form-radio{display:flex;align-items:center;cursor:pointer;padding:var(--space-sm) var(--space-md);background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200);transition:all var(--transition-base)}#gideon-registration-container .form-checkbox:hover,#gideon-registration-container .form-radio:hover{border-color:var(--secondary-color);background:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md)}#gideon-registration-container .form-checkbox input,#gideon-registration-container .form-radio input{display:none}#gideon-registration-container .checkmark,#gideon-registration-container .radio-checkmark{width:20px;height:20px;border-radius:var(--radius-sm);margin-right:var(--space-sm);position:relative;background:var(--white);border:2px solid var(--gray-300);transition:all var(--transition-base)}#gideon-registration-container .radio-checkmark{border-radius:var(--radius-full)}#gideon-registration-container .form-checkbox input:checked+.checkmark,#gideon-registration-container .form-radio input:checked+.radio-checkmark{border-color:var(--secondary-color);background:var(--secondary-color)}#gideon-registration-container .form-checkbox input:checked+.checkmark:after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--white);border-radius:2px}#gideon-registration-container .form-radio input:checked+.radio-checkmark:after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--white);border-radius:50%}#gideon-registration-container .administration-section,#gideon-registration-container .library-section,#gideon-registration-container .finance-section{padding:var(--space-xl);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin:var(--space-xl) 0}#gideon-registration-container .administration-section-prominent,#gideon-registration-container .administration-section{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:center}#gideon-registration-container .administration-section-prominent{padding:var(--space-xl);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--primary-color);margin:var(--space-xl) 0;box-shadow:var(--shadow-md)}#gideon-registration-container .admin-label{font-weight:600;color:var(--gray-700);margin-bottom:var(--space-sm)}#gideon-registration-container .admin-signature,#gideon-registration-container .signature-area{text-align:right;color:var(--gray-600);font-size:.875rem}#gideon-registration-container .signature-line{margin-top:var(--space-xs);color:var(--gray-400);letter-spacing:1px}#gideon-registration-container .finance-fields{display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}#gideon-registration-container .finance-label{font-weight:600;color:var(--gray-700);margin-right:var(--space-sm)}#gideon-registration-container .finance-dots{color:var(--gray-400);letter-spacing:2px}#gideon-registration-container .review-section{padding:var(--space-xl)}#gideon-registration-container .review-group{margin-bottom:var(--space-2xl);padding:var(--space-xl);background:var(--gray-50);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}#gideon-registration-container .review-title{font-size:1.125rem;font-weight:600;color:var(--primary-color);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--gray-300)}#gideon-registration-container .review-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--space-md) 0;border-bottom:1px dashed var(--gray-300)}#gideon-registration-container .review-item:last-child{border-bottom:none}#gideon-registration-container .review-label{font-weight:500;color:var(--gray-700);min-width:200px}#gideon-registration-container .review-value{color:var(--gray-900);font-weight:500;text-align:right;max-width:400px;word-break:break-word;line-height:1.6}#gideon-registration-container .form-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl);background:var(--gray-50);border-radius:var(--radius-lg);margin-top:var(--space-2xl);border:1px solid var(--gray-200)}#gideon-registration-container .footer-logo .footer-logo-img{width:50px;height:50px;border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--white);box-shadow:var(--shadow-md)}#gideon-registration-container .footer-text{font-size:.875rem;color:var(--gray-600);font-weight:600;text-align:center;flex-grow:1}#gideon-registration-container .form-navigation{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl) 0;margin-top:var(--space-xl);border-top:1px solid var(--gray-200)}#gideon-registration-container .nav-btn{padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-sm);min-width:160px;justify-content:center}#gideon-registration-container .nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none !important;box-shadow:none !important}#gideon-registration-container .prev-btn{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}#gideon-registration-container .prev-btn:hover:not(:disabled){background:var(--gray-200);transform:translateX(-2px);box-shadow:var(--shadow-md)}#gideon-registration-container .next-btn{background:var(--gradient-primary);color:var(--white);box-shadow:var(--shadow-lg)}#gideon-registration-container .next-btn:hover:not(:disabled){transform:translateX(2px);box-shadow:var(--shadow-xl)}#gideon-registration-container .submit-btn{background:var(--gradient-accent);color:var(--white);box-shadow:var(--shadow-lg)}#gideon-registration-container .submit-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-xl)}#gideon-registration-container .nav-icon,#gideon-registration-container .submit-icon{transition:transform var(--transition-base)}#gideon-registration-container .prev-btn:hover .nav-icon{transform:translateX(-2px)}#gideon-registration-container .next-btn:hover .nav-icon,#gideon-registration-container .submit-btn:hover .submit-icon{transform:translateX(2px)}#gideon-registration-container #form-message{padding:var(--space-xl);border-radius:var(--radius-lg);text-align:center;font-weight:600;display:none;margin-top:var(--space-xl);animation:slideIn var(--transition-base);box-shadow:var(--shadow-md)}.message-success{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);color:#065f46;border:1px solid #a7f3d0}.message-error{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);color:#7f1d1d;border:1px solid #fecaca}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}.pulse{animation:pulse 2s infinite}.form-step{display:none;animation:fadeIn var(--transition-base)}.form-step.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){#gideon-registration-container{padding:var(--space-md)}.form-progress{margin-bottom:var(--space-xl)}.progress-steps{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.form-card{padding:var(--space-md)}.form-header{flex-direction:column;gap:var(--space-md);text-align:center;padding:var(--space-md)}.university-info{margin:0;order:-1}.student-photo-upload{width:100%}.student-info-section,.personal-info-section{grid-template-columns:1fr}.administration-section{grid-template-columns:1fr;gap:var(--space-lg);text-align:center}.admin-signature,.signature-area{text-align:center}.form-navigation{flex-direction:column;gap:var(--space-md)}.nav-btn{width:100%}.review-item{flex-direction:column;gap:var(--space-xs)}.review-value{text-align:left;max-width:100%}.checkbox-group,.library-options{flex-direction:column;gap:var(--space-md)}}@media (max-width:480px){.form-card{padding:var(--space-lg)}.step-title{font-size:1.25rem}.step-subtitle{font-size:.875rem}.sif-box{font-size:1rem;padding:var(--space-md)}.section-title{font-size:.875rem;padding:0 var(--space-md)}.photo-preview{width:100px;height:130px}.progress-steps{grid-template-columns:1fr}}@media print{#gideon-registration-container{background:var(--white);padding:0}.form-progress,.form-navigation,#form-message{display:none !important}.form-step{display:block !important;opacity:1 !important;transform:none !important}.form-card{box-shadow:none;border:1px solid var(--gray-300);margin:0;padding:1cm}.form-input,.form-select,.form-textarea{background:var(--white);border:1px solid var(--gray-400)}.watermark-overlay{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0.1;z-index:-1;background-image:<?php $watermark=get_option('gideon_watermark_image');if ($watermark){echo 'url(//mygruportal.com/wp-content/plugins/gideon-registration/assets/css/.%20esc_url($watermark) . ')';
                        } else {
                            echo 'none';
                        }
                        ?>
                    ;
                    background-repeat: no-repeat;
                    background-position: center;
                    background-size: 60%;
                }
            }

            /* === TOUCH DEVICE OPTIMIZATIONS === */
            @media (hover: none) and (pointer: coarse) {

                .form-input,
                .form-select,
                .form-textarea,
                .nav-btn,
                .upload-photo-btn {
                    min-height: 48px;
                    font-size: 16px;
                }

                .form-checkbox,
                .form-radio {
                    min-height: 44px;
                    padding: var(--space-md);
                }

                .step-number {
                    width: 48px;
                    height: 48px;
                }

                .photo-preview {
                    width: 140px;
                    height: 180px;
                }
            }

            /* === VALIDATION STATES === */
            .error-field {
                border-color: var(--error-color) !important;
                box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
                animation: shake 0.5s;
            }

            @keyframes shake {

                0%,
                100% {
                    transform: translateX(0);
                }

                25% {
                    transform: translateX(-5px);
                }

                75% {
                    transform: translateX(5px);
                }
            }

            .success-field {
                border-color: var(--success-color) !important;
                box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
            }

            /* === LOADING STATES === */
            .loading {
                position: relative;
                pointer-events: none;
                opacity: 0.8;
            }

            .loading::after {
                content: '';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible,.nav-btn:focus-visible,.upload-photo-btn:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.device-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md);margin-top:var(--space-sm)}.device-option{position:relative}.device-radio{position:absolute;opacity:0;width:0;height:0}.device-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-align:center;gap:var(--space-sm);height:100%}.device-card i{font-size:2rem;color:var(--gray-400);transition:all var(--transition-base)}.device-card span{font-weight:600;color:var(--gray-600);font-size:.9rem}.device-radio:checked+.device-card{border-color:var(--primary-color);background:rgba(30,64,175,.04);box-shadow:var(--shadow-md);transform:translateY(-2px)}.device-radio:checked+.device-card i{color:var(--primary-color);transform:scale(1.1)}.device-radio:checked+.device-card span{color:var(--primary-color)}.device-card:hover{border-color:var(--primary-light);background:var(--gray-50)}.error-group{border:2px solid var(--error-color) !important;border-radius:var(--radius-lg);padding:var(--space-xs)}.photo-upload-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-xl) 0}.photo-placeholder{width:180px;height:220px;background:var(--gray-100);border:3px dashed var(--gray-300);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all var(--transition-base)}.photo-placeholder img{width:100%;height:100%;object-fit:cover}.photo-placeholder i{font-size:4rem;color:var(--gray-300)}.photo-instructions{text-align:center;max-width:400px}.photo-instructions h3{color:var(--primary-color);margin-bottom:var(--space-xs)}.photo-instructions p{color:var(--gray-500);font-size:.9rem;line-height:1.5}.upload-photo-btn{background:var(--primary-color);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-md)}.upload-photo-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.upload-photo-btn i{font-size:1.2rem}