/* ===================================
   FEARLESS ADVENTURES — CAPTAINBOOK CSS
   Rainforest & Gold Brand Styling
   =================================== */

:root {
  --forest: #0E3B2E;
  --forest-deep: #0A2D23;
  --gold: #E0A83D;
  --bronze: #B47F27;
  --sunset: #E67E3B;
  --teal: #2E9E86;
  --cream: #F6EFE1;
  --cream-dim: rgba(246, 239, 225, 0.72);
  --paper: #FBF7EE;
  --ink: #12294C;
  --muted: #7a6a52;
}

/* ===== GENERAL STYLING ===== */

/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@600;700;800;900&family=Jost:wght@400;500;600&display=swap');

/* Base container */
.captainbook-iframe-wrapper,
.captainbook-widget {
  font-family: 'Jost', system-ui, sans-serif;
  color: var(--forest);
}

body .captainbook-widget * {
  font-family: 'Jost', system-ui, sans-serif;
}

/* ===== TYPOGRAPHY ===== */

/* Headings */
.captainbook-widget h1,
.captainbook-widget h2,
.captainbook-widget h3,
.captainbook-widget h4,
.captainbook-widget h5,
.captainbook-widget h6 {
  font-family: 'Archivo', sans-serif;
  font-weight: 900;
  color: var(--forest);
  letter-spacing: -0.005em;
}

.captainbook-widget h1 {
  font-size: 28px;
  line-height: 1.2;
}

.captainbook-widget h2 {
  font-size: 24px;
  line-height: 1.2;
}

.captainbook-widget h3 {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.3;
}

.captainbook-widget h4 {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
}

/* Body text */
.captainbook-widget p,
.captainbook-widget label,
.captainbook-widget span,
.captainbook-widget td,
.captainbook-widget li {
  font-family: 'Jost', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--forest);
}

.captainbook-widget small {
  font-size: 12px;
  color: var(--muted);
}

/* ===== BUTTONS & CTA ===== */

/* Primary button */
.captainbook-widget .btn-primary,
.captainbook-widget button[type="submit"],
.captainbook-widget [class*="button-primary"],
.captainbook-widget [class*="btn-primary"],
.captainbook-widget [class*="cta"] {
  background: var(--forest);
  color: var(--cream);
  border: none;
  border-radius: 6px;
  padding: 12px 28px;
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}

.captainbook-widget .btn-primary:hover,
.captainbook-widget button[type="submit"]:hover,
.captainbook-widget [class*="button-primary"]:hover,
.captainbook-widget [class*="btn-primary"]:hover {
  background: var(--forest-deep);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(14, 59, 46, 0.24);
}

.captainbook-widget .btn-primary:active,
.captainbook-widget button[type="submit"]:active {
  transform: translateY(0);
}

/* Secondary button */
.captainbook-widget .btn-secondary,
.captainbook-widget [class*="button-secondary"],
.captainbook-widget button[type="button"],
.captainbook-widget .btn-outline {
  background: transparent;
  color: var(--forest);
  border: 2px solid var(--forest);
  border-radius: 6px;
  padding: 10px 24px;
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
}

.captainbook-widget .btn-secondary:hover,
.captainbook-widget [class*="button-secondary"]:hover,
.captainbook-widget button[type="button"]:hover {
  background: var(--forest);
  color: var(--cream);
}

/* Gold accent button */
.captainbook-widget [class*="accent"],
.captainbook-widget [class*="highlight"] {
  background: var(--gold);
  color: var(--forest);
  border: none;
}

.captainbook-widget [class*="accent"]:hover,
.captainbook-widget [class*="highlight"]:hover {
  background: var(--bronze);
}

/* ===== FORMS & INPUTS ===== */

.captainbook-widget input[type="text"],
.captainbook-widget input[type="email"],
.captainbook-widget input[type="date"],
.captainbook-widget input[type="number"],
.captainbook-widget input[type="tel"],
.captainbook-widget select,
.captainbook-widget textarea {
  font-family: 'Jost', system-ui, sans-serif;
  font-size: 14px;
  border: 1px solid #e4dac6;
  border-radius: 6px;
  padding: 10px 12px;
  color: var(--forest);
  background: var(--paper);
  transition: all 0.2s ease;
}

.captainbook-widget input[type="text"]:focus,
.captainbook-widget input[type="email"]:focus,
.captainbook-widget input[type="date"]:focus,
.captainbook-widget input[type="number"]:focus,
.captainbook-widget input[type="tel"]:focus,
.captainbook-widget select:focus,
.captainbook-widget textarea:focus {
  outline: none;
  border-color: var(--forest);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(14, 59, 46, 0.1);
}

.captainbook-widget input::placeholder,
.captainbook-widget textarea::placeholder {
  color: var(--muted);
  opacity: 0.8;
}

/* Labels */
.captainbook-widget label {
  font-family: 'Archivo', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.05em;
  color: var(--forest);
  display: block;
  margin-bottom: 6px;
}

/* ===== SELECTIONS & CHECKBOXES ===== */

.captainbook-widget input[type="checkbox"],
.captainbook-widget input[type="radio"] {
  accent-color: var(--forest);
  cursor: pointer;
}

.captainbook-widget input[type="checkbox"] + label,
.captainbook-widget input[type="radio"] + label {
  cursor: pointer;
  font-weight: 400;
}

/* ===== CARDS & CONTAINERS ===== */

.captainbook-widget .card,
.captainbook-widget [class*="panel"],
.captainbook-widget [class*="section"],
.captainbook-widget [class*="box"] {
  border: 1px solid #e4dac6;
  border-radius: 10px;
  padding: 20px;
  background: var(--paper);
  transition: all 0.2s ease;
}

.captainbook-widget .card:hover,
.captainbook-widget [class*="panel"]:hover {
  border-color: var(--gold);
  box-shadow: 0 2px 8px rgba(224, 168, 61, 0.12);
}

/* Dark card variant */
.captainbook-widget [class*="card-dark"],
.captainbook-widget [class*="panel-dark"] {
  background: var(--forest);
  color: var(--cream);
  border-color: #16543f;
}

.captainbook-widget [class*="card-dark"] h2,
.captainbook-widget [class*="card-dark"] h3,
.captainbook-widget [class*="panel-dark"] h2,
.captainbook-widget [class*="panel-dark"] h3 {
  color: var(--cream);
}

.captainbook-widget [class*="card-dark"] p,
.captainbook-widget [class*="panel-dark"] p {
  color: rgba(246, 239, 225, 0.9);
}

/* ===== LINKS & TEXT ACCENTS ===== */

.captainbook-widget a {
  color: var(--bronze);
  text-decoration: none;
  transition: color 0.2s ease;
}

.captainbook-widget a:hover {
  color: var(--sunset);
  text-decoration: underline;
}

.captainbook-widget [class*="link-primary"] {
  color: var(--forest);
  font-weight: 600;
}

.captainbook-widget [class*="link-primary"]:hover {
  color: var(--bronze);
}

/* ===== PRICING & HIGHLIGHTS ===== */

.captainbook-widget .price,
.captainbook-widget [class*="cost"],
.captainbook-widget [class*="amount"] {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 18px;
  color: var(--forest);
}

.captainbook-widget .price-highlight,
.captainbook-widget [class*="featured"] {
  background: rgba(224, 168, 61, 0.08);
  border-left: 4px solid var(--gold);
  padding-left: 16px;
}

/* ===== ALERTS & MESSAGES ===== */

.captainbook-widget .alert,
.captainbook-widget [class*="message"],
.captainbook-widget [class*="notification"] {
  border-radius: 6px;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 1.5;
  border-left: 4px solid var(--gold);
}

.captainbook-widget .alert-success,
.captainbook-widget [class*="success"] {
  background: rgba(46, 158, 134, 0.08);
  border-left-color: var(--teal);
  color: var(--forest);
}

.captainbook-widget .alert-error,
.captainbook-widget [class*="error"] {
  background: rgba(230, 126, 59, 0.08);
  border-left-color: var(--sunset);
  color: var(--forest);
}

.captainbook-widget .alert-info,
.captainbook-widget [class*="info"] {
  background: rgba(14, 59, 46, 0.06);
  border-left-color: var(--forest);
  color: var(--forest);
}

/* ===== SPACING & DIVIDERS ===== */

.captainbook-widget .divider,
.captainbook-widget hr,
.captainbook-widget [class*="separator"] {
  border: none;
  border-top: 1px dashed #e4dac6;
  margin: 24px 0;
}

/* ===== TABLES ===== */

.captainbook-widget table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Jost', system-ui, sans-serif;
}

.captainbook-widget thead {
  background: rgba(14, 59, 46, 0.05);
  border-bottom: 2px solid #e4dac6;
}

.captainbook-widget th {
  font-family: 'Archivo', sans-serif;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--forest);
  padding: 12px;
  text-align: left;
  text-transform: uppercase;
}

.captainbook-widget td {
  padding: 12px;
  border-bottom: 1px solid #e4dac6;
}

.captainbook-widget tr:hover {
  background: rgba(46, 158, 134, 0.04);
}

/* ===== DISABLED STATES ===== */

.captainbook-widget input:disabled,
.captainbook-widget button:disabled,
.captainbook-widget select:disabled,
.captainbook-widget textarea:disabled {
  opacity: 0.6;
  background: #f0ede4;
  cursor: not-allowed;
}

/* ===== SCROLLBARS ===== */

.captainbook-widget::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.captainbook-widget::-webkit-scrollbar-track {
  background: var(--paper);
}

.captainbook-widget::-webkit-scrollbar-thumb {
  background: var(--gold);
  border-radius: 4px;
}

.captainbook-widget::-webkit-scrollbar-thumb:hover {
  background: var(--bronze);
}

/* ===== RESPONSIVE ===== */

@media (max-width: 768px) {
  .captainbook-widget h1 {
    font-size: 22px;
  }

  .captainbook-widget h2 {
    font-size: 18px;
  }

  .captainbook-widget h3 {
    font-size: 16px;
  }

  .captainbook-widget .card,
  .captainbook-widget [class*="panel"] {
    padding: 16px;
  }

  .captainbook-widget input[type="text"],
  .captainbook-widget input[type="email"],
  .captainbook-widget select,
  .captainbook-widget textarea {
    font-size: 16px; /* Prevents zoom on iOS */
  }
}

/* ===== PRINT ===== */

@media print {
  .captainbook-widget [class*="button"],
  .captainbook-widget [class*="cta"],
  .captainbook-widget [class*="form"] {
    display: none;
  }
}
