:root{
      --orc-buttons:rgb(126, 139, 64);
        --orc-green-1: #9AA55D;
  /* palette */
  --orc-green-2: #699765;
  --orc-green-3: #40866E;
  --orc-green-4: #277271;
  --orc-green-5: #275D69;
  --orc-green-6: #2F4858;
  --orc-accent-1: #cde266;
  /* highlight */
  --orc-accent-2: #77833D;
  /* btn/bg */
  --orc-accent-3: #56621E;
  /* text */
  --orc-accent-4: #364300;
  /* dark text */
  --orc-accent-5: #1E2600;
  /* darkest */
  --orc-grey-1: #363636;
  /*gold for headers and accents*/
  --theme-gold1: #ffcc33;

  /* legacy aliases for backward compat (minimize breakage) */
  --theme-pallete-1: var(--orc-green-1);
  --theme-pallete-2: var(--orc-green-2);
  --theme-pallete-3: var(--orc-green-3);
  --theme-pallete-4: var(--orc-green-4);
  --theme-pallete-5: var(--orc-green-5);
  --theme-pallete-6: var(--orc-green-6);
  --theme-green-shade1: var(--orc-accent-1);
  --theme-green-shade2: var(--orc-accent-2);
  --theme-green-shade3: var(--orc-accent-3);
  --theme-green-shade4: var(--orc-accent-5);
  --theme-grey1: var(--orc-grey-1);
}


/* Layouts */
.orc-map-cal-wrap {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(360px, 1.2fr);
    gap: 18px;
    align-items: start;
}

@media (max-width: 900px) {
    .orc-map-cal-wrap {
        grid-template-columns: 1fr;
    }
}

/* Legends & notes */
.orc-hint {
    margin: .5rem 0 0;
    color: #444;
    font-size: 16px;
    text-align:center;
    background-color:var(--orc-green-2);
    height:35px;
    align-content: center;
    font-weight: bold;
    color:white;
}

.orc-map-legend,
.orc-cal-legend {
    display: flex;
    gap: 12px;
    margin-top: 10px;
    font-size: .9rem;
    align-items: center;
    flex-wrap: wrap;
}

.legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.swatch {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    border: 1px solid #cfcfcf;
    display: inline-block;
}

.swatch-available {
    background: #ffffff;
    border: 5px dotted #ffcc00;
    width:25px;
    height:20px;
}

.swatch-booked {
    background: #dddddd;
}

.swatch-selected {
    background: #cde6ff;
    border-color: #9ec8f7;
}

.orc-cal-note {
    font-size: .95rem;
    color: #333;
    margin: .5rem 0 1rem;
    font-weight: 600;
}

/* SVG sites */
svg .orc-site {
    cursor: pointer;
    transition: filter .15s ease;
}

svg .orc-site.is-selected {
    filter: drop-shadow(0 0 4px rgba(0, 0, 0, .25));
}

/* FullCalendar helpers */
.fc-day-disabled {
    opacity: .35;
    pointer-events: none;
}

.fc .orc-picked-range-bg {
    background: #cde6ff !important;
}

.fc .orc-picked-range-bg .fc-daygrid-day-frame {
    background: #cde6ff !important;
}

/* Inline booking form */
.orc-booking-form {
    max-width: 640px;
    border: 1px solid #ddd;
    padding: 16px;
    border-radius: 8px;
}

.orc-booking-form p {
    margin: 0 0 12px;
}

.orc-booking-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

.orc-booking-form input,
.orc-booking-form select,
.orc-booking-form textarea {
    width: 100%;
}

.orc-booking-success {
    background: #e7f9ef;
    border: 1px solid #b8efd1;
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 12px;
}

.orc-booking-error {
    background: #fde8e8;
    border: 1px solid #f5b5b5;
    padding: 12px;
    border-radius: 6px;
    margin-bottom: 12px;
}

.orc-timewrap.is-hidden {
    display: none;
}

/* Summary row (calendar+form combo) */
.orc-cal-summary-row {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 8px 10px;
    background: #f7f7f7;
    border: 1px solid #e3e3e3;
    border-radius: 6px;
    margin: 8px 0 14px;
}

.orc-cal-summary-row .label {
    font-weight: 600;
}

.orc-btn-link {
    background: none;
    border: none;
    color: #1a73e8;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
}

.orc-submit-disabled {
    opacity: .6;
    cursor: not-allowed;
}

/* Overlay (blocks calendar) */
.orc-cal-panel {
    position: relative;
}

.orc-cal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
}

.orc-cal-overlay-inner {
    background: #fff;
    padding: 14px 16px;
    border-radius: 10px;
    max-width: 460px;
    width: min(92vw, 460px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
    text-align: center;
}

#orc-cal-overlay-ok {
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #f4f6f8;
    cursor: pointer;
}

/* Modal */
.orc-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.orc-modal.is-hidden {
    display: none;
}

.orc-modal-inner {
    background: #fff;
    padding: 16px 18px;
    border-radius: 10px;
    min-width: 280px;
    max-width: 90vw;
}

.orc-modal-inner input {
    width: 100%;
}

.orc-modal-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 12px;
}

/* Timeslots helper */
.orc-timeslots ul {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
}

.orc-timeslots li {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    cursor: pointer
}

.orc-timeslots li.booked {
    background: #fde8e8;
    cursor: not-allowed
}

.orc-timeslots li.free {
    background: #eefbf2
}

/*tweaks*/
#orc-cal-overlay.orc-cal-overlay{
    width: 60vw;
}
#orc-camp-cal{
    width:60vw;
}
.orc-cal-panel{
    width:60vw;
}
.orc-cal-review-wrap{
    display:flex;
    gap:25px;
}
.orc-review-pay{
    width:20vw;
    align-content: center;
}

/*THEME ADJUSTMENTS*/
body > div.camp-page.calendar-booking-wrap > div.orc-map-cal-wrap > div.orc-form-wrap > div > form > p:nth-child(14) > button{
    width:100%;
    height:45px;
    background:var(--orc-buttons);
    font-family:Viga;
    color:white;
    
    font-size: 28px;
}
.orc-form-wrap {
    max-width: 50vw;
    width: 600px;
    min-width: 500px;
}
.orc-map-panel{
    overflow:hidden;
}

  /* Grey out booked (disabled) days */
  #orc-camp-cal .fc-day-disabled,
  #orc-booking-cal .fc-day-disabled {
    background: #353535 !important;
    color: #9a9a9a !important;
    cursor: not-allowed !important;
    opacity: 0.7;
  }
  #orc-camp-cal .fc-day-disabled a,
  #orc-booking-cal .fc-day-disabled a {
    color: #9a9a9a !important;
    pointer-events: none !important;
    text-decoration: none !important;
  }
  /*Daypass CSS*/
  .daypass-wrap{
display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .orc-dp-total{
    margin:.25rem 0 .5rem 0;
    font-weight:600;
  }
  .orc-dp-result{
    margin-top:0.75em;
  }
  .orc-daypass-form input[type="email"],
  .orc-daypass-form input[type="date"],
  .orc-daypass-form input[type="number"] {
      max-width: 320px;
      width: 100%;
  }

  .orc-success {
      background: #e7f7ea;
      padding: .5rem .75rem;
      border-radius: .5rem;
  }

  .orc-error {
      background: #fde8e8;
      padding: .5rem .75rem;
      border-radius: .5rem;
  }
    /* ADMIN DAYPASS CSS*/
    #orc-dp-code{
        max-width:320px;
        width:100%;
    }
    #orc-dp-out{
        background: #f6f6f6;
            padding: .5rem;
            border-radius: .5rem;
    }
  .orc-daypass-header{
    text-align: center;
    width: 700px;
    background-color: var(--orc-accent-2);
    font-family: Viga;
    font-size: 28px;
    color: white;
    border-radius: 25px;
    padding: 15px;
  }
  .orc-daypass{
text-align: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
  }
  .orc-daypass-price-instructions{
    list-style-type: none;
    font-family:Viga;
    font-size:26px;
    color:black;
  }
  .orc-daypass-form{
    width:550px;
    font-family:Viga;
    font-size:18px;
  }



 .drone-page.subpage-description{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
 }

 /* MEDIA QUERIES */
 @media (max-width:800px) {
    .orc-daypass,
    .orc-daypass-header,
    .orc-daypass-info,
    .orc-daypass-form{
        
        text-align:center;
    }
    .orc-daypass-header{
        font-size:24px;
        display: flex;
        width:auto!important;
    }
    .orc-model{
        inset:0!important;
        left:0!important;
    }
 }