/* ============================================================
   Girly Pop Tours Europe — CaptainBook widget branding
   Matches the site palette in /css/style.css
   ============================================================ */

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

:root {
  --gp-bubblegum: #FF8FC9;
  --gp-cotton: #FFCDEC;
  --gp-cotton-soft: #FFE6F4;
  --gp-lilac: #C9A3EE;
  --gp-electric: #A646E8;
  --gp-grape: #7E1A8C;
  --gp-plum: #29062E;
  --gp-magenta: #E0339B;
  --gp-gold: #FFD966;
  --gp-white: #FFFFFF;
}

/* Base type + background */
body, .captainbook-widget, .cb-widget, [class*="captainbook"] {
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
  color: var(--gp-plum) !important;
}

/* Headings */
h1, h2, h3, .cb-title, [class*="title"] {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  color: var(--gp-grape) !important;
}

/* Primary buttons (book / confirm / pay) */
button, .cb-button, .cb-btn-primary, [class*="btn-primary"], [class*="button-primary"] {
  background: linear-gradient(135deg, var(--gp-bubblegum), var(--gp-magenta)) !important;
  color: var(--gp-white) !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 16px rgba(126, 26, 140, 0.25) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}
button:hover, .cb-button:hover, [class*="btn-primary"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(126, 26, 140, 0.32) !important;
}

/* Secondary / outline buttons */
.cb-button-secondary, [class*="btn-secondary"], [class*="button-secondary"] {
  background: var(--gp-white) !important;
  color: var(--gp-grape) !important;
  border: 2px solid var(--gp-lilac) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

/* Links */
a, .cb-link {
  color: var(--gp-electric) !important;
}
a:hover, .cb-link:hover {
  color: var(--gp-grape) !important;
}

/* Cards / panels / modal shell */
.cb-card, .cb-panel, .cb-modal, [class*="card"], [class*="panel"] {
  background: var(--gp-white) !important;
  border-radius: 22px !important;
  border: 1px solid var(--gp-cotton) !important;
  box-shadow: 0 10px 30px rgba(126, 26, 140, 0.14) !important;
}

/* Selected date / time / option state */
[class*="selected"], [class*="active"], .cb-selected {
  background: var(--gp-cotton-soft) !important;
  border-color: var(--gp-bubblegum) !important;
  color: var(--gp-grape) !important;
}

/* Price / total callouts */
.cb-price, [class*="price"], [class*="total"] {
  color: var(--gp-magenta) !important;
  font-weight: 700 !important;
}

/* Form inputs */
input, select, textarea, .cb-input {
  font-family: 'Poppins', sans-serif !important;
  border-radius: 14px !important;
  border: 1.5px solid var(--gp-lilac) !important;
}
input:focus, select:focus, textarea:focus, .cb-input:focus {
  border-color: var(--gp-electric) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(166, 70, 232, 0.18) !important;
}

/* Badges / tags (e.g. "2 spots left") */
.cb-badge, [class*="badge"], [class*="tag"] {
  background: var(--gp-gold) !important;
  color: var(--gp-plum) !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}
