/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0.2
*/


/*Layout*/
.chp-layout{
    grid-template-columns: 1fr 1fr !important; 
}

/* ==========================================================
   Style du configurateur "rondelles" (chp-cart-form)
   ========================================================== */

.chp-options-column {
  background: transparent;
  border-radius: 0;
  font-family: Urbanist;
}

.chp-cart-form .chp-field {
  margin-bottom: 22px;
}

/* Labels */
.chp-cart-form label {
  display: block;
  font-weight: 700;
  color: #1E3A8A;
  font-size: 15px;
  margin-bottom: 8px;
}

/* Champs texte, select, number */
.chp-cart-form select,
.chp-cart-form input[type="text"],
.chp-cart-form input[type="number"] {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1.5px solid #1a2b7a;
  border-radius: 0;
  background-color: #ffffff;
  color: #1a2b7a;
  font-size: 15px;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.chp-cart-form select:focus,
.chp-cart-form input[type="text"]:focus,
.chp-cart-form input[type="number"]:focus {
  border-color: #1E3A8A;
  box-shadow: 0 0 0 3px rgba(26, 43, 122, 0.15);
}

/* Flèche personnalisée pour les select */
.chp-cart-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2b7a' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 18px;
  padding-right: 40px;
  cursor: pointer;
}

/* Champ de fichier (upload logo) */
.chp-cart-form input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  background-color: #FFF !important;
  padding: 0;
  font-size: 14px;
  color: #1a2b7a;
  cursor: pointer;
}

/* Bouton natif "Parcourir" du input file -> pastille bleu foncé avec icône */
.chp-cart-form input[type="file"]::file-selector-button,
.chp-cart-form input[type="file"]::-webkit-file-upload-button {
  background-color: #1E3A8A;
  color: #ffffff;
  border: none;
  border-radius: 0;
  padding: 14px 18px;
  margin-right: 14px;
  cursor: pointer;
  font-size: 15px;
}

.chp-file-help {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #7d84a0;
}

/* Checkbox (boite acrylique) */
.chp-cart-form .chp-checkbox label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  cursor: pointer;
}

.chp-cart-form .chp-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 1.5px solid #1a2b7a;
  border-radius: 0;
  background: #ffffff;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}

.chp-cart-form .chp-checkbox input[type="checkbox"]:checked {
  background: #1E3A8A;
  border-color: #1E3A8A;
}

.chp-cart-form .chp-checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.chp-option-price {
  font-weight: 400;
  color: #4a5178;
}

/* Résumé prix */
.chp-summary {
  margin: 22px 0;
  font-size: 15px;
  color: #1E3A8A;
}

.chp-summary > div {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
}

/* Bouton Ajouter au panier */
.chp-cart-form .single_add_to_cart_button {
  min-width: 200px;
  background: #1E3A8A !important;
  color: #ffffff;
  border: none;
  border-radius: 0 !important;
  padding: 15px 25px !important;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.chp-cart-form .single_add_to_cart_button:hover {
  background: #000 !important;
}

/*Left*/
/* ==========================================================
   Style du tableau de prix (chp-pricing-column)
   ========================================================== */

.chp-pricing-column {
     border: none; 
     border-radius: 0 !important; 
    overflow: hidden;
     background: transparent !important; 
}

/* Titre au-dessus du tableau */
.chp-pricing-column h3 {
  color: #1E3A8A;
  font-weight: 700;
  font-size: 16px;
  padding: 0 0 10px 0 !important;
}

/* Cadre du tableau */
.chp-pricing-table {
  border: 2px solid #1a2b7a;
  background-color: #F9F9F9;
  overflow: hidden;
  padding: 0 !important;
}

/* En-tête Qty. / Prix */
.chp-pricing-header {
  display: flex;
  padding: 20px 24px 14px;
  border-bottom: 1px solid #c9cde3;
}

.chp-pricing-header span {
  flex: 1;
  text-align: center !important;
  font-weight: 700;
  color: #454545;
  font-size: 15px;
}

/* Lignes de prix */
[data-chp-pricing-rows] {
  display: flex;
  flex-direction: column;
}

.chp-pricing-row {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  color: #454545;
  font-size: 15px;
}

.chp-pricing-row span,
.chp-pricing-row strong {
  flex: 1;
  text-align: center;
}

.chp-pricing-row strong {
  font-weight: 600;
}

/* Ligne active (surlignée en bleu) */
.chp-pricing-row.is-active {
  background-color: #1E3A8A;
  color: #ffffff;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.chp-pricing-row.is-active strong {
  color: #ffffff;
}

/*TAB*/
/* ==========================================================
   Style des onglets produit (chp-product-tabs)
   ========================================================== */

.chp-product-tabs {
  font-family: Urbanist !important;
  max-width: 100%;
}

/* Barre de navigation des onglets */
.chp-product-tabs__nav {
  display: flex;
  width: 100%;
  border-bottom: 2px solid #1E3A8A;
}

.chp-product-tabs__button {
  flex: 1;
  background: transparent;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 16px 12px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #14276b !important;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.chp-product-tabs__button:hover {
  background-color: #1E3A8A !important;
  color: #FFF !important;
}

/* Onglet actif : pleine largeur de sa cellule, fond bleu marine */
.chp-product-tabs__button.is-active {
  background-color: #1E3A8A !important;
  color: #ffffff !important;
}

/* Panneaux de contenu */
.chp-product-tabs__panels {
  padding: 24px 4px;
}

.chp-product-tabs__panel p,
.chp-product-tabs__panel h5 {
  font-size: 14px;
  line-height: 1.7;
  color: #333333;
  margin: 0 0 14px 0;
  font-weight: 400;
}

.chp-product-tabs__panel h3 {
  font-size: 16px;
  font-weight: 700;
  color: #14276b;
  margin: 20px 0 10px 0;
}

.chp-product-tabs__panel h3:first-child {
  margin-top: 0;
}

.chp-product-tabs__panel strong {
  font-weight: 700;
  color: #14276b;
}

.chp-product-tabs__panel a {
  color: #14276b;
  text-decoration: underline;
}
.chp-text-group legend{
    color: #1E3A8A !important;
    font-weight: bold;
}
/* ==========================================================
   RESPONSIVE
   ========================================================== */

/* Tablette : layout passe en 1 colonne */
@media (max-width: 900px) {

  .chp-layout {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }

  .chp-options-column {
    padding: 24px;
  }

  .chp-pricing-column {
    max-width: 100%;
  }

  .chp-product-tabs__button {
    font-size: 16px !important;
    padding: 14px 10px 10px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {

  .chp-cart-form input[type="file"]{
      padding: 10px;
  }

  .chp-options-column {
    padding: 18px;
  }

  .chp-cart-form .chp-field {
    margin-bottom: 16px;
  }

  .chp-cart-form select,
  .chp-cart-form input[type="text"],
  .chp-cart-form input[type="number"] {
    padding: 10px 14px;
    font-size: 14px;
  }

  .chp-cart-form input[type="file"]::file-selector-button,
  .chp-cart-form input[type="file"]::-webkit-file-upload-button {
    padding: 12px 14px;
    font-size: 14px;
    width: 100%;
    margin-right: 0;
    margin-bottom: 8px;
    display: block;
  }

  .chp-summary {
    font-size: 14px;
  }

  .chp-cart-form .single_add_to_cart_button {
    width: 100%;
    min-width: 0;
    padding: 14px 16px;
    font-size: 15px;
  }

  /* Tableau de prix : on réduit les paddings */
  .chp-pricing-column h3 {
    font-size: 15px;
  }

  .chp-pricing-header {
    padding: 14px 14px 10px;
  }

  .chp-pricing-header span {
    font-size: 13px;
  }

  .chp-pricing-row {
    padding: 12px 14px;
    font-size: 14px;
  }

  /* Onglets : passent en scroll horizontal plutôt que de s'écraser */
  .chp-product-tabs__nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-direction: column !important;
    align-items: normal !important;
  }

  .chp-product-tabs__nav::-webkit-scrollbar {
    display: none;
  }

  .chp-product-tabs__button {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 14px !important;
    padding: 12px 16px 10px !important;
  }

  .chp-product-tabs__panels {
    padding: 18px 2px;
  }

  .chp-product-tabs__panel p,
  .chp-product-tabs__panel h5 {
    font-size: 13px;
  }
}

/* Très petits écrans */
@media (max-width: 380px) {

  .chp-cart-form select,
  .chp-cart-form input[type="text"],
  .chp-cart-form input[type="number"] {
    font-size: 13px;
    padding: 9px 12px;
  }

  .chp-product-tabs__button {
    font-size: 13px !important;
    padding: 10px 12px 8px !important;
  }
}


/*estimate*/

.image-estimate img {
	max-height: 270px;
	width: auto;
}


/*review - homepage*/
/* Review carousel pagination */
.review-bullet-overide .swiper-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	margin-top: 14px;
}

.review-box
{
    border: solid 1px #1E3A8A;
}
.button-review {
	background-color: #1E3A8A;
	color: #fff;
	width: 180px !important;
	height: 42px !important;
	/* padding-top: 14px; */
	/* padding-bottom: 20px !important; */
	/* padding-right: 20px; */
	/* padding-left: 20px; */
	line-height: 40px;
}
.button-review a {
	color: #fff;

}
.button-review a:hover {
	color: #fff;
}

.button-review p {
	color: #fff;
	text-align: center;
}

/* Normal dots */
.review-bullet-overide .swiper-pagination-bullet {
	width: 10px !important;
	height: 10px !important;
	margin: 0 !important;
	background: #D9D9D9 !important;
	opacity: 1;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.review-bullet-overide .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	/* text-align: left; */
	width: 100%;
	margin-left: 25px;
}

/* Active dot */
.review-bullet-overide .swiper-pagination-bullet-active {
	background: #2647a3 !important;
	opacity: 1;
}

/* Optional hover */
.review-bullet-overide .swiper-pagination-bullet:hover {
	background: #9aa7cf !important;
}

/*estimation*/

.chp-est {
  max-width: 560px;
  padding: 24px;
  border: 1px solid #d9dde3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 18px #0000000d;
  font: 16px/1.4 Arial, sans-serif;
}
.chp-est h3 {
  margin: 0 0 18px;
}
.chp-est label {
  display: block;
  margin: 12px 0;
}
.chp-est select,
.chp-est input[type="number"] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  padding: 10px;
  border: 1px solid #aeb6c2;
  border-radius: 6px;
}
.chp-total {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #ddd;
}
.chp-total strong {
  font-size: 1.35em;
}
.chp-total small {
  flex-basis: 100%;
  text-align: right;
  color: #59636f;
}


button.chp-help-button {
    background: #1e3a8a;
    width: 25px;
    height: 25px;
    color: #fff;
    border-radius: 50%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    line-height: 1;
    text-align: center;
}



/* ==========================================================
   CUSTOM HOCKEY PUCK ESTIMATOR
   Fully scoped version
   IMPORTANT: All rules are scoped under .chp-master so they
   do not affect the existing product configurator (.chp-cart-form),
   pricing tables, tabs, or other CHP components.
   ========================================================== */

/* ----------------------------------------------------------
   MAIN WRAPPER
   ---------------------------------------------------------- */
.chp-master {
	max-width: 1180px;
	margin: 0 auto;
	color: #fff;
	font-size: 16px;
}

/* ----------------------------------------------------------
   4 PRODUCT CHOICES
   ---------------------------------------------------------- */
.chp-master .chp-choice-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin: 0 !important;
	align-items: start;
}

.chp-master .chp-choice-card {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	text-align: left !important;
	cursor: pointer !important;
	overflow: visible !important;
	transform: none !important;
	transition: transform .2s ease !important;
}

.chp-master .chp-choice-card:hover,
.chp-master .chp-choice-card:focus,
.chp-master .chp-choice-card:focus-visible {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	transform: translateY(-4px) !important;
}

.chp-master .chp-choice-card img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: transparent !important;
	box-shadow: none !important;
	transition: transform .25s ease, box-shadow .25s ease !important;
}

.chp-master .chp-choice-card:hover img {
	box-shadow: 0 10px 22px rgba(0, 0, 0, .22) !important;
}

.chp-master .chp-choice-card span {
	display: block !important;
	min-height: 0 !important;
	padding: 13px 2px 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: left !important;
	transition: color .2s ease !important;
	white-space: normal !important;
}

.chp-master .chp-choice-card:hover span,
.chp-master .chp-choice-card:focus span {
	color: #fff !important;
}

.chp-master.is-selected .chp-choice-grid {
	display: none !important;
}

/* ----------------------------------------------------------
   OPEN ESTIMATOR
   ---------------------------------------------------------- */
.chp-master .chp-panels {
	margin: 0 !important;
}

.chp-master .chp-panel {
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
}

.chp-master .chp-panel.is-open {
	display: block !important;
}

.chp-master .chp-panel > h3 {
	margin: 8px 0 24px !important;
	color: #fff !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

/* ----------------------------------------------------------
   BACK LINK
   ---------------------------------------------------------- */
.chp-master .chp-back {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 0 32px !important;
	padding: 8px 12px !important;
	border: 1px solid rgba(255,255,255,.45) !important;
	border-radius: 4px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: rgba(255,255,255,.88) !important;
	font: inherit !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-decoration: none !important;
}

.chp-master .chp-back:hover {
	border-color: #fff !important;
	color: #fff !important;
	background: rgba(255,255,255,.06) !important;
}

/* ----------------------------------------------------------
   FORM GRID
   ---------------------------------------------------------- */
.chp-master .chp-form-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 20px 24px !important;
	margin: 0 0 24px !important;
}

.chp-master .chp-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 7px !important;
	margin: 0 !important;
	color: #fff !important;
}

.chp-master .chp-field > span {
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.chp-master .chp-field small {
	color: rgba(255,255,255,.72) !important;
	font-size: 12px !important;
}

/* ----------------------------------------------------------
   INPUTS / SELECTS
   ---------------------------------------------------------- */
.chp-master .chp-field input,
.chp-master .chp-field select {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(255,255,255,.35) !important;
	border-radius: 6px !important;
	background: #f4f6fb !important;
	color: #122353 !important;
	font: inherit !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color .15s ease, box-shadow .15s ease !important;
}

.chp-master .chp-field input:focus,
.chp-master .chp-field select:focus {
	border-color: #fff !important;
	box-shadow: 0 0 0 2px rgba(255,255,255,.18) !important;
}

.chp-master .chp-field input::placeholder {
	color: #78839e !important;
	opacity: 1 !important;
}

.chp-master .chp-field.is-hidden {
	display: none !important;
}

/* ----------------------------------------------------------
   COUNTRY / VALIDATION WARNING
   ---------------------------------------------------------- */
.chp-master .chp-country-warning {
	margin: 0 0 20px !important;
	padding: 13px 15px !important;
	border: 1px solid rgba(255,255,255,.45) !important;
	border-radius: 7px !important;
	background: rgba(255,255,255,.10) !important;
	color: #fff !important;
	font-weight: 600 !important;
}

/* ----------------------------------------------------------
   ESTIMATE BUTTON
   ---------------------------------------------------------- */
.chp-master .chp-estimate-button {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 11px 24px !important;
	border: 2px solid #fff !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: #122353 !important;
	font: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition:
		background .15s ease,
		border-color .15s ease,
		color .15s ease,
		transform .15s ease !important;
}

.chp-master .chp-estimate-button:hover {
	background: #e32862 !important;
	border-color: #e32862 !important;
	color: #fff !important;
	transform: translateY(-1px) !important;
}

.chp-master .chp-estimate-button:disabled {
	opacity: .55 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

/* ----------------------------------------------------------
   RESULT BOX
   ---------------------------------------------------------- */
.chp-master .chp-result {
	margin-top: 26px !important;
	padding: 18px 20px !important;
	border: 1px solid rgba(255,255,255,.35) !important;
	border-radius: 8px !important;
	background: #273f82 !important;
	color: #fff !important;
	box-shadow: none !important;
}

.chp-master .chp-result > div {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 20px !important;
	padding: 8px 0 !important;
	color: #fff !important;
}

.chp-master .chp-result > div > span {
	color: rgba(255,255,255,.82) !important;
}

.chp-master .chp-result strong {
	color: #fff !important;
	font-size: 17px !important;
	font-weight: 700 !important;
}

.chp-master .chp-result .chp-grand-row {
	margin-top: 8px !important;
	padding-top: 15px !important;
	border-top: 1px solid rgba(255,255,255,.25) !important;
}

.chp-master .chp-result .chp-grand-row span,
.chp-master .chp-result .chp-grand-row strong {
	color: #fff !important;
	font-size: 20px !important;
	font-weight: 800 !important;
}

.chp-master .chp-result-note {
	display: block !important;
	margin-top: 10px !important;
	color: rgba(255,255,255,.68) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

.chp-master .chp-rate-name {
	display: block !important;
	padding: 8px 0 0 !important;
	color: rgba(255,255,255,.75) !important;
	font-size: 13px !important;
}

/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */
@media (max-width: 900px) {
	.chp-master .chp-choice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 22px !important;
	}
}

/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */
@media (max-width: 600px) {
	.chp-master .chp-choice-grid,
	.chp-master .chp-form-grid {
		grid-template-columns: 1fr !important;
	}

	.chp-master .chp-choice-grid {
		gap: 24px !important;
	}

	.chp-master .chp-choice-card span {
		padding-top: 10px !important;
		font-size: 17px !important;
		white-space: normal !important;
	}

	.chp-master .chp-panel > h3 {
		font-size: 23px !important;
	}

	.chp-master .chp-estimate-button {
		width: 100% !important;
	}

	.chp-master .chp-result {
		padding: 15px 16px !important;
	}
}

/* ==========================================================
   CHP ESTIMATOR v2.5 — FULL-WIDTH IMAGE HEADER (FR / EN)
   The hero spans the viewport; forms and four cards stay at 1180px.
   Scoped to .chp-master: no impact on Woo product configurators.
   ========================================================== */
.chp-master .chp-estimator-hero {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    height: clamp(310px, 38vw, 560px) !important;
    margin: 0 0 16px -50vw !important;
    overflow: hidden !important;
    isolation: isolate;
    border: 0 !important;
    border-radius: 0 !important;
}
.chp-master .chp-estimator-hero-image {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border: 0 !important;
    border-radius: 0 !important;
}
.chp-master .chp-estimator-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(8,24,65,.64), rgba(8,24,65,.08) 55%, transparent);
    pointer-events: none;
}
.chp-master .chp-estimator-hero-controls {
    position: absolute;
    z-index: 1;
    top: 19px;
    left: max(24px, calc((100vw - 1180px) / 2)) !important;
    width: auto;
    max-width: min(75%, 850px) !important;
    color: #fff !important;
}
.chp-master .chp-estimator-hero-title {
    margin: 0 0 18px !important;
    font-size: clamp(18px, 2.4vw, 28px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #fff !important;
}
.chp-master .chp-hero-back {
    display: inline-block !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    border-radius: 4px !important;
    background: rgba(11,31,79,.25) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 14px !important;
    color: #fff !important;
}
.chp-master .chp-hero-back:hover {
    background: rgba(11,31,79,.7) !important;
    color: #fff !important;
}
@media (max-width: 767px) {
    .chp-master .chp-estimator-hero {
        height: clamp(260px, 64vw, 420px) !important;
    }
    .chp-master .chp-estimator-hero-controls {
        top: 15px;
        left: 18px !important;
        right: 18px !important;
        max-width: calc(100% - 36px) !important;
    }
    .chp-master .chp-estimator-hero-title {
        margin-bottom: 14px !important;
        font-size: 19px !important;
    }
    .chp-master .chp-hero-back {
        padding: 7px 10px !important;
        font-size: 12px !important;
    }
}

/* ================================================================
   CHP ESTIMATOR 2.6 — customer quote screenshot improvements
   Only estimation pages; no changes to standard product pages.
   ================================================================ */
body.page-id-614 .elementor-element-18992bc,
body.page-id-5184 .elementor-element-18992bc {
    display: none !important;
}
/* The hero stays full-bleed, shorter for an estimate screenshot. */
.chp-master .chp-estimator-hero {
    height: clamp(180px, 22vw, 265px) !important;
}
@media (max-width: 767px) {
    .chp-master .chp-estimator-hero { height: clamp(155px, 35vw, 215px) !important; }
}
/* The qty range now appears in the field label. */
.chp-master .chp-result-note[hidden] { display: none !important; }

@media (min-width: 992px) {
.elementor-widget-woocommerce-checkout-page .e-checkout__container {
	grid-template-columns: 50% auto !important;

}
}