/* Site test CSS */ body { background-color: #f8f9fa; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .test-style { color: red; font-weight: bold; } /* Ensure Bootstrap and FontAwesome work */ .btn { border-radius: 0.375rem; } .card { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); } /* URL Validation Feedback */ #url-validation-error { font-size: 0.875rem; margin-top: 0.5rem; padding: 0.5rem; border-radius: 0.25rem; } .form-control.is-invalid { border-color: #dc3545; box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .form-control.is-valid { border-color: #28a745; box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } /* Share Button Styles */ #share-qr-btn { position: relative; transition: all 0.3s ease; } #share-qr-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3); } /* Force dropdown to appear above all elements */ .dropdown-menu { z-index: 1060 !important; position: absolute !important; transform: none !important; transition: none !important; } #share-dropdown { min-width: 250px; border: none; box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); } #share-dropdown .dropdown-item { padding: 12px 20px; border-bottom: 1px solid #f1f3f4; transition: all 0.2s ease; } #share-dropdown .dropdown-item:last-child { border-bottom: none; } #share-dropdown .dropdown-item:hover { background: linear-gradient(45deg, #f8f9fa, #e9ecef); padding-left: 25px; transform: translateX(5px); } #share-dropdown .dropdown-item i { width: 20px; margin-right: 12px; font-size: 16px; } /* Mobile optimizations for share button */ @media (max-width: 768px) { #share-dropdown { min-width: 100%; margin-top: 5px; } #share-dropdown .dropdown-item { padding: 15px 20px; font-size: 16px; } #share-dropdown .dropdown-item i { font-size: 18px; margin-right: 15px; } #share-qr-btn { font-size: 16px; padding: 12px 20px; } } /* Share button loading state */ #share-qr-btn.loading { pointer-events: none; opacity: 0.7; } #share-qr-btn.loading::after { content: ""; position: absolute; width: 16px; height: 16px; top: 50%; left: 50%; margin-left: -8px; margin-top: -8px; border: 2px solid transparent; border-top: 2px solid #ffffff; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Special colors for social platforms */ .text-purple { color: #6f42c1 !important; } /* QR Type Field Highlight */ .qr-type-highlight { border: 2px solid #007bff !important; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important; animation: gentle-pulse 2s infinite; background-color: rgba(0, 123, 255, 0.05) !important; } @keyframes gentle-pulse { 0% { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } 50% { box-shadow: 0 0 0 0.4rem rgba(0, 123, 255, 0.15); } 100% { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } } /* Helper text for type selection */ .type-selection-hint { font-size: 1.75rem; /* Doubled from 0.875rem */ color: #495057; font-weight: 600; margin-top: 0.5rem; display: flex; align-items: center; gap: 1rem; /* Increased gap */ justify-content: center; padding: 1rem; background: linear-gradient(135deg, rgba(0, 123, 255, 0.1), rgba(0, 123, 255, 0.05)); border-radius: 0.5rem; border: 2px dashed rgba(0, 123, 255, 0.3); animation: hint-appear 0.5s ease-out; } .type-selection-hint i { font-size: 2rem; /* Larger icon */ color: #007bff; animation: point-up 2s infinite; } .type-selection-hint span { animation: text-glow 3s infinite; } @keyframes hint-appear { 0% { opacity: 0; transform: translateY(-10px) scale(0.95); } 100% { opacity: 1; transform: translateY(0) scale(1); } } @keyframes point-up { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.1); color: #0056b3; } } @keyframes text-glow { 0%, 100% { text-shadow: none; } 50% { text-shadow: 0 0 8px rgba(0, 123, 255, 0.3); } } /* Fade out animation */ .type-selection-hint.fade-out { animation: hint-fadeout 1s ease-out forwards; } @keyframes hint-fadeout { 0% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(0.95); } } /* Share success feedback */ .share-success { position: fixed; top: 20px; right: 20px; z-index: 1050; transform: translateX(100%); transition: transform 0.3s ease; } .share-success.show { transform: translateX(0); } .premium-feature-box { border: 2px solid #ffc107; border-radius: 8px; padding: 15px; margin: 15px 0; background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%); } .premium-feature-box h6 { color: #856404; margin-bottom: 5px; } .form-check-input:checked { background-color: #ffc107; border-color: #ffc107; } .premium-upgrade-prompt { text-align: center; padding: 10px; } .premium-upgrade-prompt a { text-decoration: none; font-weight: bold; } .premium-upgrade-prompt a:hover { text-decoration: underline; } #url-preview-content { font-family: monospace; border-left: 4px solid #007bff; } .text-success { color: #28a745 !important; } /* CLASSE PARA CONTROLAR OPACIDADE */ .opacity-controlled { transition: opacity 0.3s ease-in-out; opacity: 1; } /* ESTADO OPACO (quando nada selecionado) */ .opacity-controlled.disabled-state { opacity: 0.2 !important; /* Bem opaco */ pointer-events: none; /* Desabilita interação */ }