@import url('https://fonts.googleapis.com/css2?family=Fahkwang:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

/* Red Carpet Productions — paleta de productionsredcarpet.com
 * Burgundy + cream, tipografia Libre Baskerville / Fahkwang.
 * Header clar amb etiquetes hsl(0 0% 20%); contingut warm white.
 */

body.organizer-redcarpet {
  --color-primary: #a33724 !important;
  --color-secondary: #54473b !important;
  --color-accent: #decca0 !important;
  --color-dark: #1a1a1a !important;
  --color-text-muted: #757575 !important;
  --tw-primary: 163 55 36 !important;
  --tw-secondary: 84 71 59 !important;
  --tw-accent: 222 204 160 !important;
  --tw-dark: 26 26 26 !important;
  --background: #fcfbf8 !important;
  --foreground: #333333 !important;
  --brand-text: #a33724 !important;
  --brand-hover: #a33724 !important;
  --primary: #a33724 !important;
  --card: #ffffff !important;
  --card-foreground: #333333 !important;
  --border: #e3e3e3 !important;
  --muted: #f5f2eb !important;
  --muted-foreground: #757575 !important;
  /* Negre: coincideix amb el footer i evita franja blanca sota */
  background: #000000 !important;
  color: #333333 !important;
  font-family: 'Fahkwang', system-ui, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

html:has(body.organizer-redcarpet) {
  background: #000000 !important;
  min-height: 100% !important;
}

/* Titulars: Libre Baskerville */
body.organizer-redcarpet main h1,
body.organizer-redcarpet main h2,
body.organizer-redcarpet main h3 {
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: #a33724 !important;
}

/* EventDetails: títol sobre el banner — blanc, més petit (el pr del contenidor ja deixa lloc al poster) */
body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1,
body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1.text-white {
  color: #ffffff !important;
  font-size: 1.5rem !important;
  line-height: 1.25 !important;
  max-width: none !important;
}

@media (min-width: 640px) {
  body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1,
  body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1.text-white {
    font-size: 1.75rem !important;
  }
}

@media (min-width: 768px) {
  body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1,
  body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1.text-white {
    font-size: 2rem !important;
  }
}

@media (min-width: 1024px) {
  body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1,
  body.organizer-redcarpet main [class*='bg-gradient-to-t'] h1.text-white {
    font-size: 2.25rem !important;
  }
}

/* Sense hero (com buenritmo) */
body.organizer-redcarpet .organizer-home .organizer-page-hero,
body.organizer-redcarpet .organizer-page-hero {
  display: none !important;
}

body.organizer-redcarpet .organizer-home > section.py-16.px-4 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  background: #8f2f2c !important;
}

body.organizer-redcarpet .organizer-home > section.py-16.px-4 > .max-w-7xl > section.py-20,
body.organizer-redcarpet .organizer-home section.py-20.bg-muted\/30,
body.organizer-redcarpet .organizer-home section[class*="bg-muted"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 1.5rem !important;
  padding-bottom: 2rem !important;
  background: #8f2f2c !important;
}

/* Home: fons burgundy; main creix i empeny el footer cap avall */
body.organizer-redcarpet main.min-h-screen {
  flex: 1 0 auto !important;
  min-height: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  background: #fcfbf8 !important;
}

body.organizer-redcarpet main.min-h-screen:has(.organizer-home),
body.organizer-redcarpet .organizer-home {
  background: #8f2f2c !important;
}

/* FeaturedEvents: sense marge inferior extra de la graella */
body.organizer-redcarpet .organizer-home section.py-20 .grid.mb-12 {
  margin-bottom: 2rem !important;
}

/* Header clar — etiquetes hsl(0 0% 20%) = #333333 */
body.organizer-redcarpet header {
  background: #ffffff !important;
  border-bottom: 1px solid #e3e3e3 !important;
  color: hsl(0 0% 20%) !important;
  flex-shrink: 0 !important;
}

body.organizer-redcarpet header a,
body.organizer-redcarpet header a.text-foreground,
body.organizer-redcarpet header nav a,
body.organizer-redcarpet header nav,
body.organizer-redcarpet header span,
body.organizer-redcarpet header button,
body.organizer-redcarpet header .text-foreground {
  color: hsl(0 0% 20%) !important;
}

body.organizer-redcarpet header a:hover,
body.organizer-redcarpet header nav a:hover,
body.organizer-redcarpet header button:hover {
  color: #a33724 !important;
}

body.organizer-redcarpet header select {
  background: #a33724 !important;
  border-color: #79291b !important;
  color: #ffffff !important;
}

body.organizer-redcarpet header select#language-selector {
  background-color: #a33724 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important;
  background-position: right 0.5rem center !important;
  background-repeat: no-repeat !important;
  background-size: 1.25em 1.25em !important;
  color: #ffffff !important;
  border-color: #79291b !important;
}

body.organizer-redcarpet header select#language-selector option {
  background: #a33724 !important;
  color: #ffffff !important;
}

body.organizer-redcarpet header a img {
  filter: none !important;
  -webkit-filter: none !important;
  height: 3.25rem !important;
  width: auto !important;
  max-height: 3.5rem !important;
}

/* Cards */
body.organizer-redcarpet .bg-card,
body.organizer-redcarpet [class*="bg-card"] {
  background: #ffffff !important;
  border: 1px solid #e3e3e3 !important;
}

/* Botons primaris: burgundy + text cream */
body.organizer-redcarpet .bg-primary,
body.organizer-redcarpet button[class*="bg-primary"],
body.organizer-redcarpet a[class*="bg-primary"] {
  background: #a33724 !important;
  color: #ffffff !important;
}

body.organizer-redcarpet .bg-primary:hover,
body.organizer-redcarpet button[class*="bg-primary"]:hover,
body.organizer-redcarpet a[class*="bg-primary"]:hover {
  background: #79291b !important;
  color: #ffffff !important;
}

/* Botó compra / confirmar */
body.organizer-redcarpet .bg-blue-600 {
  background: #a33724 !important;
  color: #ffffff !important;
}

body.organizer-redcarpet .bg-blue-600:hover,
body.organizer-redcarpet .hover\:bg-blue-700:hover {
  background: #79291b !important;
  color: #ffffff !important;
}

/* Checkout: botó Confirmar i pagar */
body.organizer-redcarpet form.bg-white button[type="submit"].bg-blue-600,
body.organizer-redcarpet form.bg-white button[type="submit"].w-full.bg-blue-600 {
  background: #a33724 !important;
  color: #ffffff !important;
}

body.organizer-redcarpet form.bg-white button[type="submit"].bg-blue-600:hover:not(:disabled),
body.organizer-redcarpet form.bg-white button[type="submit"].hover\:bg-blue-700:hover:not(:disabled) {
  background: #79291b !important;
  color: #ffffff !important;
}

body.organizer-redcarpet .text-primary,
body.organizer-redcarpet [class*="text-primary"] {
  color: #a33724 !important;
}

body.organizer-redcarpet .bg-muted,
body.organizer-redcarpet [class*="bg-muted"] {
  background: #f5f2eb !important;
}

body.organizer-redcarpet .bg-background,
body.organizer-redcarpet [class*="bg-background"] {
  background: #fcfbf8 !important;
}

body.organizer-redcarpet .text-foreground {
  color: #333333 !important;
}

body.organizer-redcarpet .text-muted-foreground {
  color: #757575 !important;
}

body.organizer-redcarpet .border-border,
body.organizer-redcarpet [class*="border-border"] {
  border-color: #e3e3e3 !important;
}

/* Checkout / zones grises hardcoded → warm light */
body.organizer-redcarpet .bg-gray-50 {
  background: #f5f2eb !important;
}

body.organizer-redcarpet .bg-gray-100 {
  background: #ebe0c6 !important;
}

body.organizer-redcarpet .bg-gray-200 {
  background: #e3d9c0 !important;
}

body.organizer-redcarpet .bg-white {
  background: #ffffff !important;
  color: #333333 !important;
}

body.organizer-redcarpet .text-gray-900,
body.organizer-redcarpet .text-gray-800 {
  color: #333333 !important;
}

body.organizer-redcarpet .text-gray-700,
body.organizer-redcarpet .text-gray-600 {
  color: #54473b !important;
}

body.organizer-redcarpet .text-gray-500 {
  color: #757575 !important;
}

body.organizer-redcarpet .border-gray-300,
body.organizer-redcarpet .border-gray-200 {
  border-color: #e3e3e3 !important;
}

body.organizer-redcarpet .bg-white h1,
body.organizer-redcarpet .bg-white h2,
body.organizer-redcarpet .bg-white h3,
body.organizer-redcarpet .bg-gray-200 h3 {
  color: #a33724 !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
}

/* TicketSelector: capçalera de zona — burgundy + text blanc */
body.organizer-redcarpet .bg-background .bg-white.rounded-lg.shadow-md.overflow-hidden > .bg-gray-200,
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > div.px-6.py-4.border-b.border-gray-300.bg-gray-200 {
  background-color: #a33724 !important;
  border-bottom-color: rgba(0, 0, 0, 0.15) !important;
  color: #ffffff !important;
}

body.organizer-redcarpet .bg-background .bg-white.rounded-lg.shadow-md.overflow-hidden > .bg-gray-200 h3,
body.organizer-redcarpet .bg-background .bg-white.rounded-lg.shadow-md.overflow-hidden > .bg-gray-200 .text-gray-500,
body.organizer-redcarpet .bg-background .bg-white.rounded-lg.shadow-md.overflow-hidden > .bg-gray-200 .text-gray-900,
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > div.px-6.py-4.bg-gray-200 h3,
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > div.px-6.py-4.bg-gray-200 .text-gray-500,
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > div.px-6.py-4.bg-gray-200 * {
  color: #ffffff !important;
}

/* Badge "Entrada general" dins la capçalera: fons blanc + text burgundy */
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > .bg-gray-200 span.bg-gray-100,
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > div.px-6.py-4.bg-gray-200 span.bg-gray-100 {
  background-color: #ffffff !important;
  color: #a33724 !important;
}

body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > .bg-gray-200 span.bg-gray-100.text-gray-800,
body.organizer-redcarpet .bg-white.rounded-lg.shadow-md.overflow-hidden > div.px-6.py-4.bg-gray-200 span.bg-gray-100 * {
  color: #a33724 !important;
}

/* PurchaseSummary: botó "Comprar ara" — burgundy + text blanc */
body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-6 > button.w-full {
  background-color: #a33724 !important;
  color: #ffffff !important;
}

body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-6 > button.w-full:hover:not(:disabled) {
  background-color: #79291b !important;
  color: #ffffff !important;
  opacity: 0.95 !important;
}

body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-6 > button.w-full:disabled:hover {
  background-color: #a33724 !important;
  color: #ffffff !important;
  opacity: 0.5 !important;
}

/* PurchaseSummary / Checkout: badge del temporitzador */
body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky .bg-gray-100.text-gray-600.rounded-full,
body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-6 .bg-gray-100.text-gray-600.rounded-full,
body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-20 .bg-gray-100.text-gray-600.rounded-full {
  background-color: #a33724 !important;
  color: #ffffff !important;
}

body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky .bg-gray-100.text-gray-600.rounded-full *,
body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-6 .bg-gray-100.text-gray-600.rounded-full *,
body.organizer-redcarpet div.bg-white.rounded-lg.shadow-md.p-6.sticky.top-20 .bg-gray-100.text-gray-600.rounded-full * {
  color: #ffffff !important;
}

/* Footer: només la franja inferior (Powered by Musticket); amagar la graella */
body.organizer-redcarpet footer#contact {
  background: #000000 !important;
  border-top: none !important;
  display: block !important;
  flex-shrink: 0 !important;
  margin-top: auto !important;
}

body.organizer-redcarpet footer#contact.bg-card,
body.organizer-redcarpet footer#contact[class*="bg-card"] {
  background: #000000 !important;
}

body.organizer-redcarpet footer#contact > div.max-w-7xl {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

body.organizer-redcarpet footer#contact > div.max-w-7xl > div.grid {
  display: none !important;
}

body.organizer-redcarpet footer#contact .border-t {
  border-top: none !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.organizer-redcarpet footer#contact .text-white {
  color: #decca0 !important;
}

body.organizer-redcarpet footer#contact .text-white a {
  color: #decca0 !important;
  text-decoration: underline !important;
}

body.organizer-redcarpet footer#contact .text-white a:hover {
  color: #ffffff !important;
}

body.organizer-redcarpet footer#contact .footer-powered-by {
  font-size: 0.65rem !important;
  opacity: 0.75 !important;
  margin-left: 0.15rem !important;
}

/* EventDetails: text de descripció i títols en hsl(0 0% 20%) */
body.organizer-redcarpet #information-section p.text-lg.text-white\/80,
body.organizer-redcarpet #information-section p[class*="text-white"],
body.organizer-redcarpet #information-section h2[class*="text-white"],
body.organizer-redcarpet #information-section h3[class*="text-white"],
body.organizer-redcarpet #information-section .text-white\/80,
body.organizer-redcarpet #information-section [class*="text-white"] {
  color: hsl(0 0% 20%) !important;
}

/* EventDetails: barra sticky (INFORMACIÓ / SESSIONS / Comprar entrades) */
body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 {
  background: #ffffff !important;
  border-bottom-color: #e3e3e3 !important;
  color: hsl(0 0% 20%) !important;
}

body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 a,
body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 button,
body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 span {
  color: hsl(0 0% 20%) !important;
}

body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 a:hover,
body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 button:hover {
  color: #a33724 !important;
}

/* EventDetails: targetes de sessions i organitzador */
body.organizer-redcarpet #sessions-section .bg-card,
body.organizer-redcarpet #sessions-section .bg-card *,
body.organizer-redcarpet #information-section .bg-card,
body.organizer-redcarpet #information-section .bg-card * {
  color: hsl(0 0% 20%) !important;
}

body.organizer-redcarpet #sessions-section .bg-card a,
body.organizer-redcarpet #information-section .bg-card a,
body.organizer-redcarpet #information-section a[href^='mailto:'] {
  color: #a33724 !important;
  text-decoration: underline !important;
}

body.organizer-redcarpet #sessions-section .bg-card a:hover,
body.organizer-redcarpet #information-section .bg-card a:hover,
body.organizer-redcarpet #information-section a[href^='mailto:']:hover {
  color: #79291b !important;
}

/* Botons "Comprar entrades": text blanc sobre burgundy */
body.organizer-redcarpet a[href*="/tickets"],
body.organizer-redcarpet #sessions-section .bg-card a[href*="/tickets"],
body.organizer-redcarpet #sessions-section .bg-card a[href*="/tickets"] *,
body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 a[href*="/tickets"] {
  color: #ffffff !important;
  text-decoration: none !important;
}

body.organizer-redcarpet a[href*="/tickets"]:hover,
body.organizer-redcarpet #sessions-section .bg-card a[href*="/tickets"]:hover,
body.organizer-redcarpet div.bg-muted.border-b.border-border.sticky.top-16 a[href*="/tickets"]:hover {
  color: #ffffff !important;
  opacity: 0.9 !important;
}

/* EventDetails: etiquetes (tags) amb fons burgundy */
body.organizer-redcarpet #information-section .bg-muted.text-foreground.rounded-full {
  background-color: #a33724 !important;
  color: #ffffff !important;
}

/* Badge data de sessió: fons burgundy corporatiu, text blanc */
body.organizer-redcarpet #sessions-section .bg-white\/20.rounded-lg.p-4.text-center {
  background-color: #a33724 !important;
}

body.organizer-redcarpet #sessions-section .bg-white\/20.rounded-lg.p-4.text-center * {
  color: #ffffff !important;
}

/* Focus rings en burgundy */
body.organizer-redcarpet .focus\:ring-blue-500:focus,
body.organizer-redcarpet .focus\:ring-2:focus {
  --tw-ring-color: rgba(163, 55, 36, 0.45) !important;
}

body.organizer-redcarpet input:focus,
body.organizer-redcarpet select:focus,
body.organizer-redcarpet textarea:focus {
  border-color: #a33724 !important;
  outline-color: #a33724 !important;
}
