/** * Custom Styles for Compañía */ :root { --brand-primary: #C05761; /* Deep Rose */ --brand-secondary: #E3C16F; /* Champagne Gold */ --brand-bg: #FDFBF7; /* Cream */ --brand-text: #333333; /* Charcoal */ --brand-text-muted: #6c757d; --brand-white: #ffffff; --brand-like: #28a745; --brand-dislike: #dc3545; --border-radius-lg: 16px; --border-radius-md: 10px; --font-serif: 'Playfair Display', serif; --font-sans: 'Inter', sans-serif; --shadow-soft: 0 4px 20px rgba(0,0,0,0.05); --shadow-card: 0 10px 30px rgba(0,0,0,0.08); --shadow-hover: 0 12px 35px rgba(192, 87, 97, 0.15); } body { background-color: var(--brand-bg); color: var(--brand-text); font-family: var(--font-sans); line-height: 1.6; padding-top: 80px; } h1, h2, h3, h4, h5, h6 { font-family: var(--font-serif); font-weight: 700; color: var(--brand-primary); } .navbar { background-color: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 2px 10px rgba(0,0,0,0.03); padding: 0.75rem 0; } .navbar-brand { font-family: var(--font-serif); font-size: 1.5rem; color: var(--brand-primary) !important; font-weight: 700; } .nav-link { font-weight: 500; color: var(--brand-text) !important; transition: color 0.2s; } .nav-link:hover, .nav-link.active { color: var(--brand-primary) !important; } .btn { border-radius: 50px; font-weight: 600; padding: 0.5rem 1.5rem; transition: all 0.3s ease; } .btn-primary { background-color: var(--brand-primary); border-color: var(--brand-primary); } .btn-primary:hover { background-color: #a6444d; border-color: #a6444d; transform: translateY(-2px); box-shadow: 0 4px 10px rgba(192, 87, 97, 0.2); } .btn-outline-primary { color: var(--brand-primary); border-color: var(--brand-primary); } .btn-outline-primary:hover { background-color: var(--brand-primary); color: var(--brand-white); } /* --- Swiping UI --- */ #swipe-container { perspective: 1000px; } .card-swipe { position: absolute; width: 100%; height: 100%; border-radius: var(--border-radius-lg); background: var(--brand-white); box-shadow: var(--shadow-card); will-change: transform, opacity; transition: all 0.3s ease-in-out; display: flex; flex-direction: column; } @keyframes swipe-left-anim { from { transform: translateX(0) rotate(0); opacity: 1; } to { transform: translateX(-150%) rotate(-20deg); opacity: 0; } } @keyframes swipe-right-anim { from { transform: translateX(0) rotate(0); opacity: 1; } to { transform: translateX(150%) rotate(20deg); opacity: 0; } } .swipe-left { animation: swipe-left-anim 0.5s forwards ease-in; } .swipe-right { animation: swipe-right-anim 0.5s forwards ease-in; } .companion-card .card-body { flex-grow: 1; padding-bottom: 0; } .companion-img-wrapper { position: relative; padding-top: 100%; background-color: #f0f0f0; border-top-left-radius: var(--border-radius-lg); border-top-right-radius: var(--border-radius-lg); overflow: hidden; } .companion-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } .verified-badge { position: absolute; top: 12px; right: 12px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(5px); color: var(--brand-primary); padding: 5px 10px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; display: flex; align-items: center; gap: 4px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .companion-name { font-size: 1.5rem; margin-bottom: 0.25rem; } .companion-meta { font-size: 0.9rem; color: var(--brand-text-muted); margin-bottom: 1rem; } .rate-badge { font-weight: 700; color: var(--brand-primary); font-size: 1.1rem; } .card-footer-swipe { border-top: none; background: transparent; padding: 1rem; } .btn-swipe { width: 100%; height: 60px; border: 1px solid #eee; border-radius: 0; background: var(--brand-white); color: #ccc; font-size: 1.5rem; transition: all 0.3s ease; } .btn-swipe:hover { background-color: #f7f7f7; transform: scale(1.1); } .btn-dislike { border-bottom-left-radius: var(--border-radius-lg); } .btn-dislike:hover { color: var(--brand-dislike); } .btn-like { border-left: none; border-bottom-right-radius: var(--border-radius-lg); } .btn-like:hover { color: var(--brand-like); } /* Match Notification Modal */ #matchNotificationModal .modal-content { border-radius: var(--border-radius-lg); background: linear-gradient(135deg, var(--brand-primary), #a6444d); color: var(--brand-white); } #matchNotificationModal .modal-title { color: var(--brand-white); font-size: 2rem; } #matchNotificationModal .btn-primary { background-color: var(--brand-white); color: var(--brand-primary); border-color: var(--brand-white); } /* Matches Modal */ #matchesModal .modal-content { background-color: var(--brand-bg); border-radius: var(--border-radius-lg); } /* Footer */ footer { background-color: #fff; border-top: 1px solid #eee; padding: 2rem 0; color: var(--brand-text-muted); font-size: 0.9rem; }