/* Fonts */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Inter:wght@400;500;600;700&display=swap");

/* Theme tokens */
:root{
  --rb-heading-font: "Fraunces", serif;
  --rb-body-font: "Inter", sans-serif;


  /* Preferred colors as received from user */
  --rb-primary: #2E6E8E;
  --rb-secondary: #1a1a1a;

  /* URL of the logo you uploaded to CSS repo */
  --rb-logo-url: url("https://dabb7zy6p4b0z.cloudfront.net/excellence/excellence-snowsports-footer-white-horizontal.png");

  /* Depending on the logo, you may want to change the header background color */
  --rb-logo_bg: #3D4248;

  --rb-white: #fff;
  --rb-dark: #444;
  --rb-dark-hover: #333;
  --rb-gray: #666;

  --rb-bg: #eee;
  --rb-panel-light: #e0e0e0;

  --rb-focus-shadow: inset 0 0 4px #aaa;
}

/* Small utility */
.rbn-tab-img{ padding-right: 0.5em; }

/* jQM icon pseudo-element background */
.ui-btn:after{ background-color: var(--rb-dark); }

/* Collapsible headers (single source of truth: dark theme) */
.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading a,
.ui-collapsible-inset .ui-collapsible-heading .ui-btn{
  font-family: var(--rb-body-font);
  background-color: var(--rb-dark);
  color: var(--rb-white);
  text-shadow: none;
  transition: ease-in-out 200ms;
}
.ui-collapsible-themed-content:not(.ui-collapsible-collapsed) > .ui-collapsible-heading a:hover,
.ui-collapsible-inset .ui-collapsible-heading .ui-btn:hover{
  background-color: var(--rb-dark-hover);
  color: var(--rb-white);
}

/* Header bar */
.rb-header,
.ui-header.ui-bar-inherit{
  background:
    var(--rb-logo_bg)
    var(--rb-logo-url)
    left 30px center
    no-repeat !important;
  border-color: var(--rb-secondary) !important;
  /* Change the sizing as needed */
  background-size: 300px !important;
  height: 100px !important;
}
.rb-header{ padding-bottom: 1em; }

/* Adjust logo size for mobile */
@media (max-width: 480px){
  .rb-header,
  .ui-header.ui-bar-inherit{
    background-size: 180px !important;
    background-position: left 15px center !important;
    height: 60px !important;
  }
}

/* Hide Default Header */
.rb-header h1.ui-title,
.rb-header .rb-header-title{ display: none; }

/* Global font for controls */
.rbn-datecontrol-button,
select,
.ui-btn,
#form\:sqtitle .ui-widget{
  font-family: var(--rb-body-font);
}
.qb-2,
.rb-avail-roomtype,
th{
  font-family: var(--rb-body-font) !important;
}

/* FontAwesome glyph baseline */
.fa:before{ font-weight: 400; }


.rbn-datecontrol-button:before,
select:before,
.ui-btn:before{
  font-family: "FontAwesome";
}

/* Focus styles (single source of truth; keeps a visible focus indicator) */
.ui-page-theme-a .ui-btn:focus,
html .ui-bar-a .ui-btn:focus,
html .ui-body-a .ui-btn:focus,
html body .ui-group-theme-a .ui-btn:focus,
html head+body .ui-btn.ui-btn-a:focus,
.ui-page-theme-a .ui-focus,
html .ui-bar-a .ui-focus,
html .ui-body-a .ui-focus,
html body .ui-group-theme-a .ui-focus,
html head+body .ui-btn-a.ui-focus,
html head+body .ui-body-a.ui-focus{
  box-shadow: var(--rb-focus-shadow) !important;
}

/* Layout / base colors */
.ui-page-theme-a{ background-color: var(--rb-bg); }
.ui-content{ max-width: 1200px; }

.ui-body-a,
.ui-page-theme-a .ui-body-inherit,
html .ui-bar-a .ui-body-inherit,
html .ui-body-a .ui-body-inherit,
html body .ui-group-theme-a .ui-body-inherit,
html .ui-panel-page-container-a{
  color: var(--rb-secondary) !important;
}

/* Non-Accordion Panels */
.ui-panel-m-titlebar.ui-bar.ui-bar-inherit{
  background-color: var(--rb-dark);
  color: var(--rb-white);
  font-family: var(--rb-body-font);
  text-shadow: none;
}

/* Request Panel titlebar (special case) */
[id*=requestPanel] .ui-panel-m-titlebar.ui-bar.ui-bar-inherit{
  background-color: var(--rb-panel-light) !important;
  color: var(--rb-secondary) !important;
}

/* Date control padding */
.ui-grid-c{ padding: 0 4px !important; }
.ui-grid-c .ui-block-a,
.ui-grid-c .ui-block-b,
.ui-grid-c .ui-block-c,
.ui-grid-c .ui-block-d{
  padding: 4px;
}

/* Customer form padding */
#base_page\:vform\:requestPanel > div > .ui-block-a > div > div.ui-panel-m-content{ padding: 0; }
#base_page\:vform\:requestPanel div.ui-input-text.ui-body-inherit.ui-corner-all.ui-shadow-inset{
  margin-top: 0.5em;
}

/* About you form padding */
#base_page\:vform\:customertable .ui-block-a{
  padding: 0.5em 0.5em 0.5em 1em;
}
#base_page\:vform\:customertable .ui-block-b{
  padding: 0.5em 1em 0.5em 0.5em;
}
@media (max-width: 560px){
  #base_page\:vform\:customertable .ui-block-a,
  #base_page\:vform\:customertable .ui-block-b{
    padding: 0.5em 1em;
  }
}

/* Buttons: shared base */
.rbn-sendenquiry-button,
#base_page\:back,
.map-button,
#base_page\:backButton,
#base_page\:neworderform\:saveorderbutt,
#base_page\:resultsform\:vform\:but,
#base_page\:neworderform\:addItemsLink,
#base_page\:selectvendorform\:searchButton,
#base_page\:vform\:cancelbutt,
#base_page\:vform\:reservationConditionButt,
#base_page\:locform\:currencySelect_input-button,
#base_page\:locform\:languageSelect_input-button,
#base_page\:searchform\:searchButton,
#base_page\:vform\:searchButton,
#base_page\:resultsform\:vform\:booknpay,
#base_page\:vform\:booknpay,
.ui-btn.ui-input-btn,
.fa-file-excel-o.ui-btn, .fa-file-pdf-o.ui-btn,
.rbn-more-info-button,
#base_page\:vform\:acceptButt,
#base_page\:txtab_data .ui-btn{
  font-family: var(--rb-body-font) !important;
  color: var(--rb-white) !important;
  border-radius: 5px !important;
  border: 1px solid rgba(0,0,0,0) !important;
  text-transform: none;
  font-weight: 700;
  text-shadow: none !important;
}

/* Secondary (Enquiry etc) */
.rbn-sendenquiry-button,
#base_page\:back,
.map-button,
#base_page\:backButton,
#base_page\:neworderform\:saveorderbutt,
#base_page\:resultsform\:vform\:but,
#base_page\:neworderform\:addItemsLink,
#base_page\:selectvendorform\:searchButton,
#base_page\:vform\:cancelbutt{
  background-color: var(--rb-gray) !important;
}
.rbn-sendenquiry-button:hover,
#base_page\:back:hover,
.map-button:hover,
#base_page\:backButton:hover,
#base_page\:neworderform\:saveorderbutt:hover,
#base_page\:resultsform\:vform\:but:hover,
#base_page\:neworderform\:addItemsLink:hover,
#base_page\:selectvendorform\:searchButton:hover,
#base_page\:vform\:cancelbutt:hover{
  background-color: var(--rb-dark-hover) !important;
}

/* Primary (Book & Pay etc) */
#base_page\:vform\:reservationConditionButt,
#base_page\:locform\:currencySelect_input-button,
#base_page\:locform\:languageSelect_input-button,
#base_page\:searchform\:searchButton,
#base_page\:vform\:searchButton,
#base_page\:resultsform\:vform\:booknpay,
#base_page\:vform\:booknpay,
.ui-btn.ui-input-btn,
.fa-file-excel-o.ui-btn, .fa-file-pdf-o.ui-btn,
.rbn-more-info-button,
#base_page\:vform\:acceptButt,
#base_page\:txtab_data .ui-btn{
  background-color: var(--rb-primary) !important;
}
#base_page\:vform\:reservationConditionButt:hover,
#base_page\:locform\:currencySelect_input-button:hover,
#base_page\:locform\:languageSelect_input-button:hover,
#base_page\:searchform\:searchButton:hover,
#base_page\:vform\:searchButton:hover,
#base_page\:resultsform\:vform\:booknpay:hover,
#base_page\:vform\:booknpay:hover,
.ui-btn.ui-input-btn:hover,
.fa-file-excel-o.ui-btn:hover, .fa-file-pdf-o.ui-btn:hover,
.rbn-more-info-button:hover,
#base_page\:vform\:acceptButt:hover,
#base_page\:txtab_data .ui-btn:hover{
  background-color: var(--rb-dark) !important;
  color: var(--rb-primary) !important;
}

button.ui-btn,
#base_page\:locform\:currencySelect_input-button,
#base_page\:locform\:languageSelect_input-button{
  text-shadow: none !important;
  transition: ease-in-out 200ms;
}

#base_page\:locform\:currencySelect > .ui-select,
#base_page\:locform\:languageSelect > .ui-select{
  margin: 1em 0.175em;
}

#base_page\:locform > .ui-btn-right{ right: -0.2em !important; }

/* Vendor padding */
.ui-grid.ui-grid-responsive.rbn-vendor-box{ padding: 0.5em !important; }

/* Select Dates Padding */
[id*=date-select-pan] > div.ui-panel-m-content.ui-body.ui-body-inherit{
  padding: 0.5em !important;
  outline: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
[id*=date-select-pan] > div > div > .ui-block-a{ padding-right: 0.5em; }
[id*=date-select-pan] > div > div > .ui-block-c{ padding-left: 0.5em; }

/* Select Dates Mobile */
@media (max-width: 400px){
  [id*=date-select-pan] > div > div > .ui-block-a{
    padding: 0.25em;
    width: 100%;
  }
  [id*=date-select-pan] > div > div > .ui-block-b{
    padding: 0.25em;
    width: 60%;
  }
  [id*=date-select-pan] > div > div > .ui-block-c{
    padding: 0.25em;
    width: 40%;
  }
}

/* Availability grid tweaks */
#base_page\:vform\:avgridpan > div > div > .ui-grid-c .ui-btn-icon-left{ padding-left: 1em; }
#base_page\:vform\:avgridpan > div > div > .ui-grid-c .ui-btn-icon-left:after{ display: none; }

#base_page\:vform\:quickbookingtable_data > tr > td > div > div:nth-child(3) > table > tbody > tr > td{
  clear: none;
  display: table-cell;
  width: auto;
}

/* Paginator */
.ui-page-theme-a .ui-btn.ui-btn-active,
html .ui-bar-a .ui-btn.ui-btn-active{
  background-color: var(--rb-secondary);
  border-color: #4f4d4d;
}

/* Align availability table cells */
#base_page\:vform\:avgridpan\:pdttble td,
#base_page\:txtab_data td{
  vertical-align: middle;
}

.rbn_ven_descr,
.qb-2{
  text-align: left !important;
  line-height: 1.5em;
}

/* Small button reset */
.ui-btn-right.ui-btn.ui-icon-minus.ui-btn-icon-notext.ui-shadow.ui-corner-all{
  background-color: transparent;
  border: 0;
}

/* White table backgrounds */
#base_page\:postab_data,
#base_page\:ttab_data,
#base_page\:txtab_data{
  background-color: var(--rb-white);
}

/* Order02 style button */
#backBtn,
#locform\:currencySelect,
#locform\:languageSelect,
#locform\:languageSelect_label,
#locform\:languageSelect > div.ui-selectonemenu-trigger.ui-state-default.ui-corner-right,
#locform\:currencySelect_label,
#locform\:currencySelect > div.ui-selectonemenu-trigger.ui-state-default.ui-corner-right{
  background-color: var(--rb-primary) !important;
  font-family: var(--rb-body-font) !important;
  color: var(--rb-white);
  border: 0;
}

.fa-arrow-left,
#backBtn,
#locform\:languageSelect,
#locform\:currencySelect{
  font-size: 14px;
}

#form\:sqtitle .ui-widget{
  text-transform: capitalize;
  font-weight: 600;
}

#base_page\:tabview\:vendorMessagePanel0 > div.ui-panel-m-content.ui-body.ui-body-inherit > div.myloc > img{
  display: none !important;
}

.overlay{ z-index: 3; }

#base_page\:vform\:rsrvCondPanel{ margin-top: 20px; }
#base_page\:vform\:reservationConditionsbox{ overflow: visible !important; }

/* Replace pay button text via :after */
button#form\:pay:after{
  display: block;
  font-family: var(--rb-body-font);
  content: "Proceed to Payment";
  background-color: var(--rb-primary) !important;
  padding: 0.3em 1em !important;
}

/* Warnings */
.accordion-status-info,
[id*=notconfbook]{
  color: red !important;
}

/* Hide popup title */
.ui-popup .ui-title{ display: none; }

/* Dialogue Header */
.ui-dialog .ui-dialog-titlebar{
  margin: 0 !important;
  padding-right: 5px !important;
  border-bottom: 6px solid var(--rb-primary) !important;
}
.ui-dialog .ui-widget-header{ background-color: var(--rb-secondary) !important; }
.ui-dialog-titlebar-close.ui-state-hover{
  background-color: var(--rb-primary);
  border: 0;
}

/* UI Button states (jQuery UI) */
.ui-button,
button.ui-button.ui-state-default,
.ui-button.ui-state-default{
  border: 1px solid var(--rb-secondary);
  color: var(--rb-white);
  background: var(--rb-primary);
}
button.ui-button.ui-state-hover,
.ui-button.ui-state-hover,
button.ui-button.ui-state-focus,
.ui-button.ui-state-focus{
  /* border intentionally omitted; kept consistent by rule below */
  background: var(--rb-secondary);
  outline: 0 none;
}

/* Ensure border consistency across states */
.ui-button,
button.ui-button.ui-state-default,
.ui-button.ui-state-default,
button.ui-button.ui-state-hover,
.ui-button.ui-state-hover,
button.ui-button.ui-state-focus,
.ui-button.ui-state-focus,
button.ui-button.ui-state-active,
.ui-button.ui-state-active{
  border: 1px solid var(--rb-secondary);
}

/* Titles */
.rb-pnl-title{
  font-size: 1.4em;
  font-weight: 700;
  color: var(--rb-primary);
}

/* Vendor/Category Image Selected */
.rb-vendor-container .rb-vendor-sel a img,
.rb-vendor-container .rb-vendor-sel .rb-cat-box a,
.rb-parent-cat-container .rb-parent-cat-sel a img,
.rb-parent-cat-container .rb-parent-cat-sel .rb-cat-box a,
.rb-child-cat-container .rb-child-cat-sel a img,
.rb-child-cat-container .rb-child-cat-sel .rb-cat-box a{
  box-shadow: 0 0 0 6px var(--rb-primary);
  border-radius: 5px;
  transition: ease-in-out 200ms;
}

/* Datepicker */
.ui-datepicker-current-day a{
  background: var(--rb-primary) !important;
  filter: none !important;
  color: var(--rb-white) !important;
}
.ui-datepicker-today a.ui-state-highlight{
  text-shadow: -1px 1px 1px var(--rb-primary);
}
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight{
  border: 1px solid var(--rb-secondary);
  background: var(--rb-primary);
  color: var(--rb-white);
}

/* Highlight basket item names */
#orderForm\:itemdtbsk_data tr.ui-widget-content > td:nth-child(1) > label,
#orderForm\:itemdtchkout_data tr.ui-widget-content > td:nth-child(1) > label,
#orderForm\:itemdtchkout_data tr.ui-widget-content > td:nth-child(1) > div.rb-skipass > label{
  background-color: var(--rb-primary);
  /* Fixed invalid shadows from original (added missing units) */
  box-shadow: 1px 1px 1px var(--rb-secondary), 1px 1px 1px var(--rb-secondary);
  box-decoration-break: clone;
  border-radius: 4px;
  width: 100%;
  padding: 0.1em 0.4em;
  color: var(--rb-white);
}

/* Category / Type / Product panel titles */
.rb-parent-cat-text,
.rb-child-cat-text,
.rb-prod-panel-text{
    color: #3D4248 !important;
}

/* Parent / Child category names */
label[id*="parentcatnm"],
label[id*="childcatnm"],
label[id*="prodnm"]{
    color: #1C1C1C !important;
}

/* Headings */
.rb-pnl-title{
    font-family: var(--rb-heading-font) !important;
    font-size: 1.4em;
    font-weight: 700;
    color: var(--rb-primary);
}

/* Arrow color to white */
.ui-selectonemenu-trigger .ui-icon.ui-icon-triangle-1-s{
    filter: brightness(0) invert(1);
}



