/* CSS Document */

/* @import url(http://fonts.googleapis.com/css?family=Open+Sans); */

#pms-wrap {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  color: #2f3b3d;
  max-width: 1100px;
  margin: 0 auto;
  overflow: visible;
  background: #fff;
  padding: 18px 20px;
}
#pms-wrap a {
  color: #333;
}
#pms-wrap a:hover {
  text-decoration: none !important;
}
#pms-wrap form {
  margin: 0;
  padding: 0;
}
#pms-wrap form {
  margin: 0;
  padding: 0;
}

.pms-head-color {
  background: #eaeaea;
  border-bottom: #ddd solid 1px;
  padding: 5px;
}

#pms-heading {
  padding: 0 0 14px 0;
  margin-top: 0;
  margin-bottom: 26px;
  overflow: visible;
  border-bottom: 1px solid #eef3f4;
}
#pms-heading h1 {
  margin: 0;
  font-size: 44px;
  line-height: 1.03;
  font-weight: 700;
  color: #16222a;
  letter-spacing: -0.5px;
}
#pms-heading address {
  margin: 8px 0 0;
  padding: 0;
  font-style: normal;
  font-size: 15px;
  color: #597077;
  display: block;
  opacity: 0.95;
}

/* contact icons in header (uses FontAwesome) */
#pms-heading address .contact {
  display: inline-block;
  margin-right: 14px;
  color: #597077;
}
#pms-heading address .contact a {
  color: inherit;
  text-decoration: none;
}
#pms-heading address .contact.phone:before,
#pms-heading address .contact.email:before {
  /* icons are rendered inline via <i class="fa ..."> elements; pseudo-elements removed to avoid duplication */
  display: none;
}
#pms-heading .address-local {
  display: block;
  margin-top: 6px;
}

/* New compact icon-only contact styles */
#pms-heading address .contact-icons {
  display: inline-flex;
  gap: 18px;
  align-items: center;
  vertical-align: middle;
}
#pms-heading address .contact-icons a.contact-link {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  transition: transform 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.06);
  /* hide any accidental text nodes and enforce icon-only appearance */
  font-size: 0 !important;
}
#pms-heading address .contact-icons a.contact-link .fa {
  /* ensure FontAwesome glyph is used and visible */
  font-size: 18px !important;
  font-family: "Font Awesome 5 Brands", "Font Awesome 5 Free", FontAwesome, "FontAwesome" !important;
  speak: none;
  line-height: 1;
  color: #fff !important;
}
#pms-heading address .contact-icons a.contact-link.whatsapp {
  background: #25d366;
}
#pms-heading address .contact-icons a.contact-link.email {
  background: #324d4f;
}
#pms-heading address .contact-icons a.contact-link.instagram {
  background: #e1306c;
}
#pms-heading address .contact-icons a.contact-link.facebook {
  background: #1877f2;
}
#pms-heading address .contact-icons a.contact-link:hover {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
  opacity: 0.98;
}

@media screen and (max-width: 768px) {
  #pms-heading address {
    display: block;
  }
  #pms-heading address .contact-icons {
    display: inline-flex;
    gap: 8px;
    margin-top: 8px;
  }
  #pms-heading address .contact-icons a.contact-link {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 992px) {
  #pms-heading h1 {
    font-size: 34px;
  }
  #pms-heading address {
    font-size: 14px;
  }
}

  #pms-heading address .contact-icons a.contact-link { width: 36px; height: 36px; }
  /* ensure icon glyph remains visible on small devices */
  #pms-heading address .contact-icons a.contact-link .fa { font-size: 16px !important; }
  #pms-heading h1 {
    font-size: 26px;
  }
  #pms-heading address {
    font-size: 13px;
  }
}
#pms-sidebar {
}
#pms-sideinfo {
}
#pms-sideinfo h2 {
  margin-top: 0px;
  margin-bottom: 10px;
  font-size: 18px;
}
#pms-wrap a {
  text-decoration: none;
}
.pms-th-color {
  background: #eaeaea;
  font-size: 12px;
}
.pms-td-color {
  background: #fbfbfb;
  font-size: 11px;
}
.pms-border {
  border: solid 4px #f6f5f5;
}
#pms-frmdateselect {
  border: solid 1px #ddd;
}

#pms-frmdateselect .form-group {
  padding-left: 15px;
  padding-right: 15px;
}

#pms-sideinfo a.cal {
  color: black;
  text-decoration: none;
}
#pms-full {
  margin-top: 10px;
  margin-bottom: 10px;
  min-height: 300px;
}
.pms-cal-cell {
  margin-top: 10px;
}
.pms-0 {
  color: #e44d08;
}
.pms-6 {
  color: #0055be;
}
.pms-past {
  background: #f3f3f3;
  color: #ccc;
  cursor: not-allowed;
}
.pms-numday {
  opacity: 0.7;
  text-align: right;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
}
.pms-notavai {
  background: #c88c68;
  background: url(../images/notavai.png);
  background-repeat: no-repeat;
  background-position: center center;
  cursor: not-allowed;
}
.pms-avai {
  background: #7cb250;
  cursor: pointer;
}
.pms-dailyrate {
  color: #fff;
  font-size: 10px;
  margin-top: 5px;
  text-align: right;
  opacity: 0.9;
  font-weight: bold;
}
.pms-cal {
  background: url(../images/calendar.png);
  background-position: 170px;
  background-repeat: no-repeat;
  border: solid 1px #ccc;
  padding: 5px;
  width: 95%;
}
.pms-minnight {
  background: #fc3;
}
.pms-ratebreakcal {
  background: #fff;
}
.pms-ratebreakcal-total {
  color: green;
  font-weight: bold;
}
.pms-inclusion {
  margin-bottom: 10px;
}
a.pms-btn {
  color: #fff !important;
}
.pms-btn {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0.05, #000a03),
    color-stop(1, #444743)
  );
  background: -moz-linear-gradient(top, #000a03 5%, #444743 100%);
  background: -webkit-linear-gradient(top, #000a03 5%, #444743 100%);
  background: -o-linear-gradient(top, #000a03 5%, #444743 100%);
  background: -ms-linear-gradient(top, #000a03 5%, #444743 100%);
  background: linear-gradient(to bottom, #000a03 5%, #444743 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000a03', endColorstr='#444743', GradientType=0);
  background-color: #000a03;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #383838;
  display: inline-block;
  cursor: pointer;
  color: #ffffff;
  font-family: arial;
  font-weight: bold;
  padding: 2px;
  text-decoration: none;
  text-shadow: 0px 1px 0px #3a4039;
}
.pms-btn:hover {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0.05, #444743),
    color-stop(1, #000a03)
  );
  background: -moz-linear-gradient(top, #444743 5%, #000a03 100%);
  background: -webkit-linear-gradient(top, #444743 5%, #000a03 100%);
  background: -o-linear-gradient(top, #444743 5%, #000a03 100%);
  background: -ms-linear-gradient(top, #444743 5%, #000a03 100%);
  background: linear-gradient(to bottom, #444743 5%, #000a03 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#444743', endColorstr='#000a03', GradientType=0);
  background-color: #444743;
}
.pms-btn:active {
  position: relative;
  top: 1px;
}
#pms-wrap .box {
  width: 20px;
  display: inline-block;
  border: solid 1px #ccc;
}
#pms-wrap i.fa {
  font-size: 16px;
  color: #000;
}
#pms-wrap i.fa[type="disabled"] {
  color: #ccc;
}
#pms-wrap i.fa[type="disabled"]:hover {
  color: #ccc;
}
#pms-wrap i.fa:hover {
  color: #666;
}
#pms-convertor {
}
.pms-ratecode {
  background: none repeat scroll 0 0 #fbfbfb;
  margin-bottom: 10px;
  padding: 10px;
  border: solid 5px #f6f5f5;
}
.pms-ratecode h3 {
  margin-top: 0px;
  margin-bottom: 10px;
}
.pms-ratecode img {
  margin-right: 10px;
  margin-bottom: 10px;
}
.pms-ratetotal {
  font-size: 24px;
  font-weight: bold;
  color: green;
}
.pms-currency {
  font-size: 12px;
  color: #999;
}
.pms-toggle {
  margin-bottom: 10px;
  text-decoration: underline;
  cursor: pointer;
}
.pms-toggle i {
  font-size: 12px !important;
}
.pms-roominfo {
  margin-top: 10px;
  font-size: 12px;
}
.pms-toggle-info {
  display: block;
}
/* Header language/currency select size fix */
#pms-convertor .form-control {
  height: 44px;
  padding: 8px 12px;
  font-size: 15px;
  line-height: 1.2;
}
#pms-frmdateselected td {
  font-size: 12px;
}
#pms-frmdateselected td strong {
  font-size: 12px;
}
.pms-close-btn {
  display: block;
  border: solid 1px #999;
  background: #f8f8f8;
  color: #fff;
  text-align: center;
  float: right;
  line-height: 15px;
  width: 15px;
}
.pms-close-btn:hover {
  background: #ccc;
  color: #333;
}
.pms-cartview-total {
  font-size: 14px !important;
  display: inline-block;
  white-space: nowrap;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

/* Ensure the right-hand column in the mini cart keeps currency/value on a single line
   on larger screens to avoid wrapping issues caused by responsive rules. On narrow
   screens allow normal wrapping so layout remains fluid. */
#pms-frmcartview td:last-child {
  /* Allow wrapping to avoid content being clipped inside the framed box.
     Keep right alignment but permit normal white-space so icons and long
     labels flow onto next lines when space is constrained. */
  white-space: normal;
  text-align: right;
  vertical-align: middle;
}

@media (max-width: 480px) {
  #pms-frmcartview td:last-child {
    white-space: normal;
  }
}
.pms-opacity-light {
  opacity: 0.8;
}
#pms-frmcartview {
  background: #fbfbfb;
  margin-bottom: 10px;
}
#pms-frmcartview { overflow: visible !important; }
#pms-frmcartview td {
  padding: 3px 8px;
}
#pms-frmcartview td i {
  font-size: 13px !important;
  color: #999 !important;
}
#pms-geust-detail {
  background: #f6f5f5;
  border: solid 5px #d9d9d9;
}
.pms-input-table td {
  padding-top: 3px;
  padding-bottom: 3px;
}
#pms-guestlogin-section {
  border: solid 5px #d9d9d9;
  margin-bottom: 10px;
}
#pms-personalinfo {
  border: solid 5px #d9d9d9;
  margin-bottom: 10px;
  background: #f6f5f5;
}
#pms-additionaldetail {
  border: solid 5px #d9d9d9;
  margin-bottom: 10px;
  background: #f6f5f5;
  padding: 10px;
}
#pms-formguestlogin td {
  padding-right: 10px;
}
#pms-guestlogin-section h2 {
  display: block;
  background: #eaeaea;
  padding: 5px;
  margin: 0;
}
#pms-guestlogin-section #pms-guestlogin h3 {
  margin-top: 0;
  padding: 0;
}
#pms-guestlogin {
  background: #f6f5f5;
  padding: 10px;
  border-bottom: solid 1px #d9d9d9;
}
#pms-guestlogin h2 {
  font-size: 16px;
}
#pms-personalinfo {
  /*padding-left: 10px;
	padding-right: 10px;*/
}
.pms-personalbox1 {
  padding: 10px;
  min-height: 290px;
}
.pms-personalbox2 {
  padding: 10px;
}
#pms-personalinfo h2 {
  font-size: 16px;
}
#pms-geust-detail {
  margin-bottom: 10px;
}
#pms-paymentinfo {
  border: solid 5px #d9d9d9;
  padding: 10px;
  background: #f6f5f5;
  margin-bottom: 10px;
}

#pms-bookingpolicy {
  border: solid 5px #d9d9d9;
  padding: 10px;
  background: #f6f5f5;
  margin-bottom: 10px;
}
#pms-frmcartview.pms-border {
  border: solid 5px #d9d9d9;
}
#pms-frmcartview .pms-th-color {
  background: #eaeaea;
  padding: 5px !important;
}

.pms-additionaldetail-row {
  margin-bottom: 3px;
  padding-top: 2px;
}

.pms-input-table td input[type="text"],
.pms-input-table td input[type="password"] {
  padding-top: 3px;
  padding-bottom: 3px;
}
.pms-actions {
  text-align: right;
}
.pms-btn-large {
  font-size: 16px;
  padding: 5px !important;
}

.pms-avai.selected {
  border: solid 3px #666 !important;
  background: #fff;
  color: #000 !important;
}
.pms-avai.selected > div {
  color: #000 !important;
}

.pms-minnight.selected {
  border: solid 3px #666;
  background: #fff;
  color: #000 !important;
}
.pms-minnight.selected > div {
  color: #000 !important;
}

#pms-filter {
  margin-top: 10px;
  margin-bottom: 10px;
}
.pms-padding-10 {
  padding: 10px;
}
#pms-roomtype-filter label {
  display: block;
  margin-bottom: 2px;
}

.pms-input-table input[type="text"],
.pms-input-table textarea,
.pms-input-table input[type="password"] {
  width: 90%;
}

/*-------*/

#mainNav {
  overflow: auto;
  margin-bottom: 10px;
}
.fourStep {
  margin: 0;
  padding: 0;
}
#mainNav li {
  list-style: none;
  float: left;
  background-color: #ebebeb;
  background-image: url(../images/navBtn.gif);
  background-repeat: no-repeat;
  background-position: right center;
}
#mainNav li.current {
  background-color: #c36615;
  background-image: url(../images/navCurrentBtn.gif);
}
#mainNav li.lastDone {
  background-color: #7c8437;
  background-image: url(../images/navLastDoneBtn.gif);
}
#mainNav li.done {
  background-color: #7c8437;
  background-image: url(../images/navDoneBtn.gif);
}
#mainNav li a,
#mainNav li a:link,
#mainNav li a:visited,
#mainNav li a:hover,
#mainNav li a:active {
  color: #999;
}
#mainNav li.lastDone a,
#mainNav li.lastDone a:link,
#mainNav li.lastDone a:visited,
#mainNav li.lastDone a:hover,
#mainNav li.lastDone a:active,
#mainNav li.current a,
#mainNav li.current a:link,
#mainNav li.current a:visited,
#mainNav li.current a:hover,
#mainNav li.current a:active,
#mainNav li.done a,
#mainNav li.done a:link,
#mainNav li.done a:visited,
#mainNav li.done a:hover,
#mainNav li.done a:active {
  color: #fff;
}
#mainNav li.done a:hover,
#mainNav li.lastDone a:hover {
  color: #ffff99;
  cursor: hand;
}
#mainNav li a em {
  width: 150px;
  display: block;
  font-style: normal;
  font-weight: bold;
  padding: 5px 5px 5px 25px;
}
#mainNav li a span {
  width: 140px;
  display: block;
  margin-left: 10px;
  font-weight: normal;
}
#mainNav li.mainNavNoBg {
  background-image: none;
}
#mainNav li a {
  display: block;
}
/* #mainNav.fourStep */
#mainNav.fourStep li {
  width: 227px;
}
#mainNav.fourStep li.mainNavNoBg {
  width: 199px;
}
#mainNav.fourStep li a {
  width: 110px;
}

.center {
  text-align: center;
}

#pms-frmdateselect {
  margin-bottom: 20px;
}
.responsive {
  width: 100%;
}

#pms-convertor {
  border: none;
}
#pms-convertor .pms-head-color {
  display: none;
}

#pms-sidebar table td {
  border: none !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}
#pms-sidebar .table {
  margin-bottom: 5px !important;
}
#pms-frmdateselected .form-group {
  padding-bottom: 0px !important;
  margin-bottom: 0px !important;
}
#pms-roomtype-filter #amount {
  font-size: 12px;
}
#pms-roomtype-filter label {
  font-size: 12px;
}
.pms-rate {
  text-align: right;
}
.white {
  color: #fff !important;
  font-weight: bold !important;
}
.white:hover {
  text-decoration: none !important;
}
.pms-occupancy {
  margin-top: 10px;
  margin-bottom: 10px;
}
.pms-inclusion {
  margin-bottom: 10px;
}

#pms-guestlogin-section h3 {
  font-size: 16px;
}
#col-card-mm {
  clear: both;
  width: 45%;
  float: left;
  margin-right: 10%;
}

#col-card-yy {
  width: 45%;
  float: left;
}
.bg {
  padding: 10px;
  background: #eee;
}
.center {
  text-align: center;
}
@media screen and (min-width: 940px) {
  #pms-frmdateselect .form-group {
    margin-bottom: 5px;
  }

  #pms-frmdateselect .form-group label {
    font-size: 11px;
  }
  #pms-frmdateselect .form-group input[type="text"] {
    padding-left: 12px;
    font-size: 14px;
    height: 44px;
  }
  #pms-frmdateselect .form-group select {
    font-size: 14px;
    padding: 8px 10px;
    height: 44px;
    width: 80px;
  }
  /* Align calendar icon addon with taller inputs */
  #pms-frmdateselect .input-group .input-group-addon {
    height: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 12px;
  }
  #pms-frmdateselect .input-group .input-group-addon i {
    font-size: 16px;
  }
  /* Make occupancy selects not too narrow and vertically centered */
  #pms-frmdateselect .pms-occupancy select.form-control {
    width: 100%;
    max-width: 120px;
    box-sizing: border-box;
  }
  /* Align occupancy label icon and text */
  #pms-frmdateselect .pms-occupancy label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    font-size: 14px;
  }
  #pms-frmdateselect .pms-occupancy label i {
    font-size: 18px;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
  }
  /* Fix: keep addon and input on same row */
  #pms-frmdateselect .input-group {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }
  #pms-frmdateselect .input-group .form-control {
    flex: 1 1 auto;
    width: auto;
    box-sizing: border-box;
  }
  #pms-frmdateselect .input-group .input-group-addon {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  #pms-frmdateselect .pms-occupancy {
    float: left;
    width: 50%;
    padding-right: 0px;
    margin-bottom: 10px;
  }
}

/* Ensure occupancy label alignment on smaller screens too */
#pms-frmdateselect .pms-occupancy label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}
#pms-frmdateselect .pms-occupancy label i {
  font-size: 18px;
  line-height: 1;
}

@media screen and (max-width: 910px) {
  /*#pms-stet
	p{
		display: none !important;
	}*/
  #mainNav.fourStep li {
    width: 25% !important;
  }
  #pms-convertor {
    padding-bottom: 20px !important;
  }
  #pms-convertor {
    border: none !important;
  }
  #pms-sideinfo .cal_1.col-sm-6 {
    padding-left: 0px !important;
  }
}
@media screen and (max-width: 909px) {
  #pms-step {
    display: none !important;
  }
  .pms-rate {
    text-align: center !important;
  }
}
@media screen and (max-width: 765px) {
  #pms-convertor {
    padding-bottom: 20px !important;
    border: solid 1px #ddd !important;
  }
  #pms-convertor .pms-head-color {
    display: block !important;
  }
}
@media screen and (max-width: 420px) {
  .addon-description {
    display: none;
  }
}

/* ===== Mini cart (SUA ESTADIA) visual fixes ===== */
#pms-frmcartview {
  /* move inner panel a bit more to the left as requested */
  padding: 12px 12px 12px 4px !important;
  box-sizing: border-box;
  border-radius: 8px;
}

#pms-frmcartview table {
  width: 100%;
  border-collapse: separate;
}

#pms-frmcartview td {
  padding: 8px 10px !important;
  vertical-align: middle;
}

/* Prevent text or inline elements from overflowing the inner framed box.
   Use box-sizing and sensible padding on inner table cells, allow wrapping
   where appropriate and keep borders intact. */
#pms-frmcartview table {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}

#pms-frmcartview .pms-th-color,
#pms-frmcartview .pms-td-color {
  box-sizing: border-box;
  padding-left: 12px !important;
  padding-right: 12px !important;
  overflow-wrap: break-word;
  word-break: normal;
}

#pms-frmcartview .pms-th-color {
  border-radius: 6px;
}

#pms-frmcartview .pms-td-color {
  overflow: visible;
}

/* Ensure header cell stands out and doesn't touch edges */
#pms-frmcartview .pms-th-color {
  padding: 10px !important;
  border-radius: 6px;
}

/* On very small screens allow slightly tighter padding */
@media (max-width: 420px) {
  #pms-frmcartview { padding: 8px !important; }
  #pms-frmcartview td { padding: 6px 8px !important; }
}

/* Slight left nudge to align the inner panel with the outer frame on larger screens.
   This corrects a small visual offset introduced by padding adjustments. Reset on
   small screens to avoid horizontal overflow. */
@media (min-width: 768px) {
  /* Reduce left padding on larger screens instead of using transform to avoid
     causing clipping of inner rounded borders. This nudges content visually
     to the left while keeping the container flow intact. */
  #pms-frmcartview {
    padding-left: 8px !important;
    padding-right: 12px !important;
  }
}

@media (max-width: 767px) {
  /* Keep previous compact padding on small screens */
  #pms-frmcartview {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ===== Stripe modal footer — shift buttons left a bit ===== */
/* Override inline flex/space-between used in modal footer markup */
#stripeModal .modal-footer > div[style] {
  justify-content: flex-start !important;
  gap: 18px;
  /* Nudge the whole controls block slightly to the left so buttons are not flush against the edge */
  transform: translateX(-18px);
}

/* Keep the provider badge aligned to the far right */
#stripeModal .modal-powered { margin-left: auto !important; }

/* Nudge the primary pay button slightly left so it's closer to the other controls */
#stripeModal .modal-footer .btn-primary.pay-btn {
  transform: translateX(-12px);
}

@media (max-width: 767px) {
  #stripeModal .modal-footer > div[style] { justify-content: space-between !important; }
  #stripeModal .modal-powered { margin-left: 0 !important; }
  #stripeModal .modal-footer .btn-primary.pay-btn { transform: translateX(0); }
}

/* If the modal is extra narrow, remove the horizontal nudge to avoid overflow */
@media (max-width: 520px) {
  #stripeModal .modal-footer > div[style] { transform: translateX(0) !important; }
}
