/*
 Theme Name:   Divi Child Theme
 Theme URI:    https://c-3group.com
 Description:  Child Theme for Divi
 Author:       C-3 Group
 Author URI:   https://c-3group.com
 Template:     Divi
 Version:      1.0.0
*/

/*****Add any custom CSS below this line*****/


h1 {
	font-size:35px;
}

@media (max-width: 767px) {
  
	h1 {
		font-size:24px!important;
	}
	
}

.et_pb_text p {
  line-height: 1.5;
}

sup {
    bottom: .8em;
    font-size: .5em;
}

.footnote {
    font-size: 14px;
    line-height: 1.25em !important;
}

.entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul {
    padding: 0px 0 25px 2em;
}




/* Desktop Menu */


.et_pb_menu .et-menu-nav>ul ul {
	    padding: unset;
	background:#fff9f2;
	border: 1px solid #dbc4b0;
}

.nav li li {
    padding: unset;
}

.et-menu li li a {
   width: 240px;
	font-size:14px!important;
	    line-height: 1.25em;
}

.nav ul li a:hover {
	background:#f1e6d9;
	opacity:1;
}

.et-menu li li.menu-item-has-children>a:first-child:after {
	content: "4";
}

.header-mobile-right .sub-menu li a {
  text-transform: none !important;
	font-weight:400!important;
}


/* Mobile Menu  */

@media (max-width: 980px) {
	

  /* When menu is open → show X */
  .mobile_nav.opened .mobile_menu_bar:before {
    content: "\4d";
  }
	
	
	.et_mobile_menu {
		border:1px solid #2ea3f2;	
	}
	
  .et_pb_menu .et_mobile_menu {
    top: calc(100% + 34px) !important;
  }

	.header-mobile-right {
    position: relative;
  }

  .header-mobile-right .mobile_nav .et_mobile_menu {
    width: 333px !important;
    max-width: 333px !important;
    left: auto !important;
    right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
	
  .et_mobile_menu br {
    display: none;
  }
	
	 .header-mobile-right .et_mobile_menu .sub-menu li a {
    text-transform: none !important;
		 font-weight:400;
  }
	

.header-mobile-right {
    position: relative;
  }

  .header-mobile-right .mobile_nav {
    position: relative;
  }

 /* Header stays above everything */
  .et-l.et-l--header {
    position: relative;
    z-index: 1001;
  }

  /* Right menu area */
  .header-mobile-right {
    position: relative;
  }

  .header-mobile-right .mobile_nav {
    position: relative;
  }

  /* Mobile dropdown panel */
  .header-mobile-right .et_mobile_menu {
    position: absolute !important;
    top: calc(100% + 34px) !important;
    right: 0 !important;
    left: auto !important;
    width: 350px !important;
    max-width: 350px !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 1002 !important;
  }

  /* Keep hamburger + menu above overlay */
  .header-mobile-right .mobile_menu_bar,
  .header-mobile-right .mobile_nav,
  .header-mobile-right .et_mobile_menu {
    position: relative;
    z-index: 1002;
  }

  /* Overlay base (hidden by default) */
  body::after {
    content: "";
    position: fixed;
    top: 183px; /* your adjusted header height */
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.45);
	backdrop-filter: blur(1px);
	  opacity: 0;
    pointer-events: none;
    transition: opacity 300ms ease;
    z-index: 999;
  }

  /* Fade in when menu is open */
  body:has(.et-l.et-l--header .mobile_nav.opened)::after {
    opacity: 1;
  }
	
}


/* Search Bar */

.header-search {
  position: relative;
  max-width: 250px;
	min-width: 125px;
  margin-bottom: 0 !important;
}

.header-search .et_pb_searchform,
.header-search form {
  position: relative;
  margin: 0;
}

.header-search input.et_pb_s {
  width: 100% !important;
  height: 33px !important;
  padding: 0 68px 0 18px !important;
  border-radius: 999px !important;
	border: 1px solid #d9c2ad;
  background: #67001a !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 16px !important;
  line-height: 33px !important;
  /*box-shadow: inset 0 0 20px rgba(0,0,0,0.55)!important;*/
  appearance: none;
  -webkit-appearance: none;
}

.header-search input.et_pb_s::placeholder {
  color: rgba(255,255,255,0.28) !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.header-search .et_pb_searchsubmit {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 56px !important;
  height: 33px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
  z-index: 3;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
}

.header-search .et_pb_searchform::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 38px;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background-color: rgba(217, 194, 173, 1.0);
  z-index: 2;
  pointer-events: none;
}

.header-search .et_pb_searchform::after {
  content: "\55";
  font-family: ETmodules;
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
  font-size: 18px;
  line-height: 1;
  color: #d9c2ad;
  z-index: 2;
  pointer-events: none;
}

.header-search .screen-reader-text {
  display: none !important;
}




/* GCCU rates tables */
.gccu-rate-module{margin:0 0 48px}
.gccu-rate-intro{background:#991c3c;color:#fff;padding:18px 20px;border-radius:14px 14px 0 0}
.gccu-rate-intro h4,.gccu-rate-intro h3,.gccu-rate-intro p{padding-bottom: 0;margin:0 0;color:inherit;line-height:1.35}
.gccu-rate-intro > *:last-child{margin-bottom:0}
.gccu-rate-table-wrap{overflow-x:auto;border:1px solid #d7d7d7;border-top:none;border-radius:0 0 14px 14px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.gccu-rate-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:16px;line-height:1.45}
.gccu-rate-table thead th{background:#f6f6f6;color:#222;padding:14px 16px;border-bottom:1px solid #d7d7d7;text-align:left;font-weight:700;vertical-align:bottom}
.gccu-rate-table tbody td{padding:14px 16px;border-bottom:1px solid #e6e6e6;vertical-align:top}
.gccu-rate-table tbody tr:last-child td{border-bottom:none}
.gccu-rate-table tbody td:first-child{font-weight:700;color:#222}
.gccu-rate-table .align-center{text-align:center}
.gccu-rate-table .align-right{text-align:right}
.gccu-rate-notes{margin:14px 2px 0;font-size:13px;line-height:1.5;color:#555}
.gccu-rate-notes p{margin:0 0 6px;padding:0}
.gccu-rate-notes p:last-child{margin-bottom:0}
.gccu-rate-mobile-heading{display:none;font-size:12px;line-height:1.2;letter-spacing:.03em;text-transform:uppercase;color:#7a7a7a;margin:0 0 6px;font-weight:700}
@media (max-width:767px){
  .gccu-rate-intro{padding:16px 16px 14px}
  .gccu-rate-table-wrap{border-radius:0 0 12px 12px}
  .gccu-rate-table,.gccu-rate-table tbody,.gccu-rate-table tr,.gccu-rate-table td{display:block;width:100%}
  .gccu-rate-table thead{display:none}
  .gccu-rate-table tbody tr{padding:12px 0;border-bottom:1px solid #d7d7d7}
  .gccu-rate-table tbody tr:last-child{border-bottom:none}
  .gccu-rate-table tbody td{border:none;padding:8px 14px}
  .gccu-rate-table tbody td:first-child{padding-top:10px}
  .gccu-rate-mobile-heading{display:block}
}

.gccu-visa-logo-cell {
  text-align: center !important;
  vertical-align: middle;
}

.gccu-visa-logo {
  display: inline-block;
  width: 80px;
  max-width: 100%;
  height: auto;
}

.gccu-visa-secured-row td {
  text-align: center !important;
  padding: 18px 16px !important;
}

.gccu-visa-secured-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.gccu-visa-secured-text {
  font-size: 26px;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
}

.gccu-visa-logo--secured {
  width: 100px;
}

@media (max-width: 767px) {
  .gccu-visa-secured-text {
    font-size: 20px;
  }

  .gccu-visa-logo {
    width: 100px;
  }

  .gccu-visa-logo--secured {
    width: 140px;
  }
}


.externallinknotice-icon {
    display: none;
}

.externallinknotice-modal-content {
   max-width: unset;
}

.externallinknotice-modal p {
    font-size: 14px;
}

div#externallinknotice-url {
    display: none;
}

.externallinknotice-stay {
    border: 2px solid #ddd !important;
}




.fee-section {
  max-width: 900px;
}

.fee-section h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
  border-bottom: 2px solid #666;
  padding-bottom: 10px;
}

.fee-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid #999;
  gap: 20px;
}

.fee-row span:first-child {
  flex: 1;
}

.fee-row span:last-child {
  white-space: nowrap;
  font-weight: 600;
}

.fee-subheading {
  font-weight: 700;
  margin-top: 20px;
  margin-bottom: 5px;
  color: #1e3a5f;
}

.fee-block {
  margin-bottom: 15px;
  line-height: 1.6;
}

/* Mobile tweak */
@media (max-width: 600px) {
  .fee-row {
    flex-direction: column;
    align-items: flex-start;
	    gap: 0px;
  }

  .fee-row span:last-child {
    margin-top: 4px;
  }
}