/* 🌹 Thème Saint-Valentin 🌹 */ 
:root {
  --valentine-red: #E91E63;
  --valentine-dark-red: #C2185B;
  --valentine-pink: #FF69B4;
  --valentine-light-pink: #FFB6D9;
  --valentine-rose: #DB5A8D;
  --valentine-gold: #FFD700;
  --valentine-light-gold: #FFF8DC;
  --valentine-white: #FFFFFF;
  --valentine-text: #2C1A2E;
}

/* === OVERRIDE TAILWIND DARK BLUE === */
body.valentine-theme .text-logo-dark-blue,
body.valentine-theme [class*="text-slate"],
body.valentine-theme [class*="bg-slate"],
body.valentine-theme [class*="text-blue"],
body.valentine-theme [class*="bg-blue"] {
  --tw-text-opacity: 1 !important;
  --tw-bg-opacity: 1 !important;
}

body.valentine-theme .text-logo-dark-blue {
  color: var(--valentine-dark-red) !important;
}

/* Force white background for specific sections */
body.valentine-theme .bg-white {
  background-color: rgba(255, 240, 245, 0.98) !important;
}

body.valentine-theme .bg-white\/80 {
  background-color: rgba(255, 240, 245, 0.8) !important;
}

/* Hide/Override slate colors */
body.valentine-theme [class*="bg-slate-100"],
body.valentine-theme [class*="bg-slate-200"],
body.valentine-theme [class*="bg-slate-50"] {
  background-color: rgba(255, 240, 245, 0.5) !important;
}

body.valentine-theme [class*="text-slate-"] {
  color: var(--valentine-text) !important;
}

/* Remove blue shadows */
body.valentine-theme [class*="shadow-\[0_0_10px_rgba(59,130,246"]  {
  box-shadow: 0 0 10px rgba(233, 30, 99, 0.3) !important;
}

/* Override rounded boxes */
body.valentine-theme .rounded-2xl {
  background: rgba(255, 240, 245, 0.95) !important;
  border-color: var(--valentine-light-pink) !important;
}

/* Text colors */
body.valentine-theme [class*="text-slate-800"],
body.valentine-theme [class*="text-slate-500"] {
  color: var(--valentine-dark-red) !important;
}

/* === BACKGROUND & BODY === */
body.valentine-theme {
  background: linear-gradient(135deg, #FFE5EC 0%, #FFF0F5 50%, #FFE5EC 100%) !important;
  background-attachment: fixed;
  color: var(--valentine-text);
}

body.valentine-theme main {
  background: linear-gradient(135deg, #FFE5EC 0%, #FFF0F5 50%, #FFE5EC 100%) !important;
}

body.valentine-theme header {
  background: linear-gradient(90deg, var(--valentine-red), var(--valentine-pink)) !important;
  box-shadow: 0 4px 12px rgba(233, 30, 99, 0.2) !important;
  border-bottom: 3px solid var(--valentine-gold) !important;
}

/* === HEADERS === */
.valentine-theme h1,
.valentine-theme h2,
.valentine-theme h3,
.valentine-theme h4,
.valentine-theme h5,
.valentine-theme h6 {
  color: var(--color-dark-blue);
  font-weight: 600;
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5);
}

.valentine-theme h1 {
  border-bottom: 3px solid var(--yellow);
  padding-bottom: 0.5rem;
}

/* === BUTTONS === */
.valentine-theme .btn-primary,
.valentine-theme .btn-danger {
  background: linear-gradient(135deg, var(--valentin-dark-red), var(--color-dark-blue));
  border: 2px solid var(--color-dark-blue);
  color: white;
  transition: all 0.3s ease;
  font-weight: 600;
}

.valentine-theme .btn-primary:hover,
.valentine-theme .btn-danger:hover {
  background: linear-gradient(135deg, var(--color-dark-blue), var(--valentin-dark-red));
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(233, 30, 99, 0.3);
}

.valentine-theme .btn-secondary {
  background: linear-gradient(135deg, var(--color-valentine-rose), var(--orange));
  border: 2px solid var(--orange);
  color: white;
}

.valentine-theme .btn-secondary:hover {
  background: linear-gradient(135deg, var(--orange), var(--color-valentine-rose));
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(255, 105, 180, 0.3);
}

.valentine-theme .btn-success {
  background: linear-gradient(135deg, var(--green), var(--color-valentine-rose));
  border: 2px solid var(--green);
  color: white;
}

.valentine-theme .btn-success:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(255, 20, 147, 0.3);
}

/* === CARDS & BOXES === */
.valentine-theme .card {
  border: 2px solid var(--color-valentine-rose);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 15px rgba(233, 30, 99, 0.15);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.valentine-theme .card::before {
  content: '💕';
  position: absolute;
  top: -20px;
  right: -20px;
  font-size: 60px;
  opacity: 0.1;
  pointer-events: none;
}

.valentine-theme .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(233, 30, 99, 0.25);
  border-color: var(--valentin-dark-red);
}

.valentine-theme .card-header {
  background: linear-gradient(135deg, var(--valentin-dark-red), var(--color-valentine-rose));
  color: white;
  border-bottom: 3px solid var(--yellow);
  font-weight: 600;
}

.valentine-theme .card-title {
  color: var(--color-dark-blue);
  font-weight: 700;
}

/* === FORM ELEMENTS === */
.valentine-theme .form-control,
.valentine-theme .form-select {
  border: 2px solid var(--color-light-blue);
  border-radius: 8px;
  transition: all 0.3s ease;
  background-color: rgba(255, 255, 255, 0.95);
}

.valentine-theme .form-control:focus,
.valentine-theme .form-select:focus {
  border-color: var(--valentin-dark-red);
  box-shadow: 0 0 0 0.2rem rgba(233, 30, 99, 0.25);
  background-color: var(--white);
}

.valentine-theme .form-label {
  color: var(--color-dark-blue);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.valentine-theme .form-check-input {
  border-color: var(--color-valentine-rose);
  cursor: pointer;
}

.valentine-theme .form-check-input:checked {
  background-color: var(--valentin-dark-red);
  border-color: var(--color-dark-blue);
}

/* === NAVIGATION === */
.valentine-theme .navbar,
.valentine-theme header {
  background: linear-gradient(90deg, var(--valentin-dark-red), var(--color-valentine-rose)) !important;
  box-shadow: 0 4px 12px rgba(233, 30, 99, 0.2);
  border-bottom: 3px solid var(--yellow);
}

.valentine-theme .navbar-brand,
.valentine-theme header a {
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--white) !important;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.valentine-theme header {
  background: linear-gradient(90deg, var(--valentin-dark-red), var(--color-valentine-rose)) !important;
}

.valentine-theme nav,
.valentine-theme nav * {
  background: linear-gradient(90deg, var(--valentin-dark-red), var(--color-valentine-red)) !important;
  color: white !important;
}

/* === ALERTS === */
.valentine-theme .alert {
  border: 2px solid;
  border-radius: 8px;
  font-weight: 500;
}

.valentine-theme .alert-danger {
  background-color: rgba(233, 30, 99, 0.1);
  border-color: var(--valentin-dark-red);
  color: var(--color-dark-blue);
}

.valentine-theme .alert-success {
  background-color: rgba(255, 20, 147, 0.1);
  border-color: var(--green);
  color: var(--red);
}

.valentine-theme .alert-info {
  background-color: rgba(255, 105, 180, 0.1);
  border-color: var(--color-valentine-rose);
  color: var(--valentin-dark-red);
}

.valentine-theme .alert-warning {
  background-color: rgba(255, 215, 0, 0.1);
  border-color: var(--yellow);
  color: #B8860B;
}

/* === LINKS === */
.valentine-theme a {
  color: var(--valentin-dark-red);
  text-decoration: none;
  transition: all 0.3s ease;
  font-weight: 500;
}

.valentine-theme a:hover {
  color: var(--color-valentine-rose);
  text-decoration: underline;
  text-shadow: 0 0 8px rgba(233, 30, 99, 0.2);
}

/* === TABLES === */
.valentine-theme .table {
  background-color: rgba(255, 255, 255, 0.95);
  border-collapse: collapse;
}

.valentine-theme .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: rgba(255, 192, 203, 0.2);
}

.valentine-theme .table-hover > tbody > tr:hover {
  background-color: rgba(233, 30, 99, 0.15);
  transition: background-color 0.3s ease;
}

.valentine-theme .table thead {
  background: linear-gradient(135deg, var(--valentin-dark-red), var(--color-valentine-rose));
  color: white;
  font-weight: 600;
}

.valentine-theme .table-bordered {
  border: 2px solid var(--color-valentine-rose);
}

.valentine-theme .table-bordered th,
.valentine-theme .table-bordered td {
  border-color: var(--color-light-blue);
}

/* === BADGES & PILLS === */
.valentine-theme .badge {
  background: linear-gradient(135deg, var(--valentin-dark-red), var(--color-valentine-rose));
  font-weight: 600;
  padding: 0.5rem 0.75rem;
  border-radius: 20px;
}

.valentine-theme .badge-danger {
  background: var(--valentin-dark-red);
}

.valentine-theme .badge-success {
  background: var(--green);
}

.valentine-theme .badge-warning {
  background: var(--yellow);
  color: var(--red);
}

/* === DECORATIVE ELEMENTS === */
.valentine-theme .divider,
.valentine-theme hr {
  border: none;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--yellow), transparent);
  margin: 2rem 0;
}

/* Heart animation */
@keyframes heartbeat {
  0%, 100% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.1);
  }
  50% {
    transform: scale(1);
  }
}

.valentine-theme .heart-icon {
  display: inline-block;
  animation: heartbeat 1.5s ease-in-out infinite;
  color: var(--valentin-dark-red);
  margin: 0 0.25rem;
}

/* Floating hearts */
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20px);
  }
}

.valentine-theme .floating-heart {
  display: inline-block;
  animation: float 3s ease-in-out infinite;
  color: var(--color-valentine-rose);
  opacity: 0.6;
  font-size: 1.5rem;
}

/* === MODALS === */
.valentine-theme .modal-content {
  border: 2px solid var(--color-valentine-rose);
  box-shadow: 0 10px 30px rgba(233, 30, 99, 0.2);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 240, 245, 0.98));
}

.valentine-theme .modal-header {
  background: linear-gradient(135deg, var(--valentin-dark-red), var(--color-valentine-rose));
  color: white;
  border-bottom: 3px solid var(--yellow);
}

.valentine-theme .modal-title {
  font-weight: 700;
  font-size: 1.25rem;
}

.valentine-theme .btn-close {
  filter: brightness(0) invert(1);
}

/* === PROGRESS BARS === */
.valentine-theme .progress {
  background-color: rgba(233, 30, 99, 0.1);
  border: 1px solid var(--color-light-blue);
  border-radius: 10px;
  height: 8px;
}

.valentine-theme .progress-bar {
  background: linear-gradient(90deg, var(--valentin-dark-red), var(--color-valentine-rose));
  box-shadow: 0 0 10px rgba(233, 30, 99, 0.3);
}

/* === PAGINATION === */
.valentine-theme .pagination .page-link {
  color: var(--valentin-dark-red);
  border-color: var(--color-light-blue);
  background-color: rgba(255, 255, 255, 0.95);
  transition: all 0.3s ease;
}

.valentine-theme .pagination .page-link:hover {
  background-color: var(--color-light-blue);
  color: var(--color-dark-blue);
  border-color: var(--color-valentine-rose);
}

.valentine-theme .pagination .page-item.active .page-link {
  background: linear-gradient(135deg, var(--valentin-dark-red), var(--color-valentine-rose));
  border-color: var(--valentin-dark-red);
}

/* === BREADCRUMB === */
.valentine-theme .breadcrumb {
  background-color: rgba(255, 192, 203, 0.3);
  border-radius: 8px;
  padding: 1rem;
}

.valentine-theme .breadcrumb-item.active {
  color: var(--color-dark-blue);
  font-weight: 600;
}

.valentine-theme .breadcrumb-item a {
  color: var(--valentin-dark-red);
}

/* === CUSTOM MESSAGE BOX === */
.valentine-theme .message-box {
  background: linear-gradient(135deg, rgba(233, 30, 99, 0.05), rgba(255, 105, 180, 0.05));
  border-left: 5px solid var(--valentin-dark-red);
  padding: 1.5rem;
  border-radius: 4px;
  margin: 1rem 0;
  font-size: 1.05rem;
  color: var(--red);
}

.valentine-theme .message-box.love {
  border-left-color: var(--green);
  background: linear-gradient(135deg, rgba(255, 20, 147, 0.05), rgba(219, 90, 141, 0.05));
}

/* === FOOTER === */
.valentine-theme footer {
  background: linear-gradient(90deg, var(--valentin-dark-red), var(--color-valentine-rose));
  color: white;
  border-top: 3px solid var(--yellow);
  font-weight: 500;
}

.valentine-theme footer a {
  color: var(--yellow);
  text-decoration: none;
  transition: all 0.3s ease;
}

.valentine-theme footer a:hover {
  color: var(--white);
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

/* === SPECIAL HOVER EFFECTS === */
.valentine-theme [class*='btn']:not(:disabled):not(.disabled) {
  position: relative;
  overflow: hidden;
}

.valentine-theme [class*='btn']:not(:disabled):not(.disabled)::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  pointer-events: none;
}

.valentine-theme [class*='btn']:not(:disabled):not(.disabled):active::before {
  width: 300px;
  height: 300px;
}

/* === RESPONSIVE ADJUSTMENTS === */
@media (max-width: 768px) {
  .valentine-theme h1 {
    font-size: 1.75rem;
  }
  
  .valentine-theme .navbar-brand {
    font-size: 1.25rem;
  }
  
  .valentine-theme .card {
    margin-bottom: 1rem;
  }
}

/* === SPECIAL MESSAGE === */
.valentine-message {
  text-align: center;
  padding: 2rem;
  font-size: 1.25rem;
  color: var(--color-dark-blue);
  font-weight: 600;
  letter-spacing: 1px;
}

.valentine-message::before,
.valentine-message::after {
  content: '💕 ';
  color: var(--valentin-dark-red);
  animation: heartbeat 1.5s ease-in-out infinite;
  display: inline-block;
  margin: 0 0.5rem;
}
