.config-tablier #block_devis h2 {
	font-size: 1.5rem;
	border-bottom: solid 1px #d0d0d0;
	color: #092995;
	font-weight: bold;
	padding: 10px 0;
	padding-top: 10px;
	text-align: left;
	text-transform: none;
	margin-bottom: 15px;
	padding-top: 0;
	margin-top: 2rem;
}

.config-tablier input[type="text"]{
    border: solid 1px #ccc;
	height: 48px;
	width: 100%;
	font-size: 1rem;
	color: #000;
	border-radius: 5px;
	padding: 0 10px;
	margin-right: 5px;
	text-align: center;
  	font-weight: bold;

}

.config-tablier label{
    font-size:17px;
    color:#000;
    display:block;
    margin-bottom:10px;
    cursor: pointer;
}

#block_error {
    display:none; 
    background:#f8d7da; 
    color:#721c24; 
    border: 1px solid #f5c6cb; 
    border-radius:0.25rem; 
    margin: 10px; 
    padding: 10px;
}

#block_error h2 {
    color:#721c24; 
}


#error_coulisse {
    display:none; 
    background:#f8d7da; 
    color:#721c24; 
    border: 1px solid #f5c6cb; 
    border-radius:0.25rem; 
    margin: 10px; 
    padding: 10px;
}

.pastille-color{
    display: block; 
    width: 80px; 
    height: 80px; 
    border: solid 1px #ccc; 
}


.body {
    display: flex;
    margin-bottom: 2rem;
}

.resume {
    width:40%; 
    margin-right:20px; 
    margin-bottom: 15px; 
    text-align: center;
}

.resume .stick {
    position: sticky; 
    top: 10px; 
    left: 0; 
    right: 0; 
    margin-top: 10px;
}

.resume #block_prix {
    width:100%;
    padding: 0;
    margin: 15px auto;
    text-align: center;
    font-weight: bold;
    font-size: 41px;
    color: #000;
}

.resume .action {
    display: flex; 
    justify-content: space-evenly;
}

#block_devis {
    width:60%; 
    margin-right:20px;
}

.ajout_err {
    background: #ccc!important;
}

.info {
    margin: 5px; 
    font-size: 13px; 
    padding: 5px; 
    font-style:italic;
    color:#444;
}

#color_tablier, #color_finale, #color_coulisse {
    display:flex;
    gap: 10px;
    text-align: center;
	flex-wrap: wrap;
}

.new-section {
    background:#f5f5f5; 
    margin-bottom: 2rem; 
    display: flex; 
    padding: 2rem;
}

.formule {
    background: #0A2891;
    color: #fff;
    margin-top: 5px;
    border-radius: 3px;
    padding: 5px 0px;
}

.produit-connexe {
    background:#fff; 
    width: 200px; 
    border: 1px solid #e0e0e0; 
    box-shadow: 0 4px 8px #00000014; 
    border-radius: 8px; 
    margin-right: 20px; 
}

.produit-connexe img {
    width:100%; 
    border-radius: 8px 8px 0px 0px;
}

.produit-connexe div {
    padding:10px;
}

.produit-connexe p {
    line-height:20px;
    min-height: 80px;
}

.produit-connexe .prixAcc {
    color: #000;
    font-size: 28px;
    text-align: right;
    margin-bottom:10px;
    font-weight: bold;
}

.produit-connexe .addAcc {
    background:red; 
    border-radius: 3px; 
    box-shadow: 0 0 1px #000; 
    color: #fff; 
    cursor: pointer; 
    font-size: 17px; 
    padding: 8px; 
    text-align: center;
}

.produit-connexe .addAcc:hover {
    background: darkred;
}

.produit-connexe a img:hover {
    transform: scale(0.9);
}

#quantite {
    font-size: 19px;
    padding: 10px;
    background: #fff;
      border: solid 1px #ccc;
      border-radius: 3px;
}

#confirmation-box {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    text-align: center;
    border-radius: 10px;
    color: #000;
    z-index: 101;
	min-width: 265px;
}

.buttons a {
    display: inline-block;
    padding: 10px 20px;
    margin: 10px;
    font-size: 16px;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.buttons a:hover {
    filter: brightness(115%);
}

.buttons a:nth-child(1) {
    background-color: #4caf50;
    color: #fff;
}

.buttons a:nth-child(2) {
    background-color: #3498db;
    color: #fff;
}


.block_form_contain {
    display:flex; 
    justify-content: space-around; 
}

.block_form_contain div {
 /* display: flex;
  flex-direction: column;*/
  text-align: center;
  /* width: calc(33.33% - 10px); */
  box-sizing: border-box;
  margin: 0 5px;
  max-width: 192px;
}

.block_form_contain div img {
	width: 100%;
	height: 100%;
}

.other-dim h3 {
    text-align: center;
    font-weight: bold;
    text-decoration: underline;
}

.other-dim p {
    font-size: 16px;
}

.profondeur-mur {
    display: none;
}

.more-detail {
    padding: 30px;
}

.more-detail h3 {
    font-weight: bold;
}

.more-detail p {
    font-size: 13px;
    line-height: 1.6;
    font-weight: 200;
    color: #333;
}

.more-detail .detail-lames {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin: 50px 0px;
    text-align: justify;
	flex-wrap: wrap;
}

.more-detail .detail-lames div {
    width: 250px;
}

.more-detail .detail-lames img{
    border-radius: 100%;
}

.detail-serrure {
    display: flex;
    gap: 40px;
	flex-wrap: wrap;
    text-align: justify;
    margin-bottom: 50px;
}

.more-detail ul {
    padding-left: 20px;
    margin-bottom: 10px;
    font-size: 0.9rem;
    line-height: 1.6;
    font-weight: 200;
    color: #333;
}

#dim_tablier .info-dim {
    display:flex; 
    margin: 15px 0; 
	justify-content: space-around;
  	flex-wrap: wrap;
}

.more-detail .img-resume {
    display:flex; 
    justify-content: center; 
    gap: 10px;
}

.more-detail .img-resume .row2 {
    display:flex; 
    flex-direction: column; 
    gap: 10px;
}

.topbar {
	position:static!important;
}


.block_form_contain_dim {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.field {
    flex: 1 1 250px;
    display: flex;
    flex-direction: column;
}

.field label {
    font-weight: 600;
    margin-bottom: 6px;
}

.input-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.input-group input {
    width: 100%;
    padding: 10px 12px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    transition: 0.3s ease;
}

.input-group input:focus {
    border-color: #0073e6;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0,115,230,0.15);
}

.unit {
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}

.hint {
    margin-top: 6px;
    font-size: 14px;
    color: #666;
}

@media only screen and (max-width: 800px)
{
    .body {
		display: block;
	}

	.resume, #block_devis {
		width: 100%;
	}

	#launcher {
		margin-bottom: 100px!important;
	}
}

@media only screen and (max-width: 400px)
{
    .more-detail .img-resume {
  		display: block;

	}
}


.config-bar,
.config-bar * {
  box-sizing: border-box;
}

.config-bar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px 0;
}

.config-price .price-main {
	display: flex;
	align-items: baseline;
	gap: 10px;
	align-items: center;
}

.price-now {
  color: #000;
  font-weight: bold;
  font-size: 2.7rem;

}

.badge {
  font-size: 21px;
  font-weight: bold;
  padding: 4px 8px;
  background: rgb(198, 17, 18);
  color: #fff;
  white-space: nowrap;
}

.price-old {
  margin-top: 6px;
  font-size: 14px;
  color: #777;
  text-decoration: line-through;
}

.config-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.config-actions label {
	margin:0;
}

.qty {
  min-width: 84px;
  height: 48px;
  padding: 10px 12px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.qty:hover {
  border-color: #a9a9a9;
}

.qty:focus {
  outline: none;
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}

#ajoutpanier {
  height: 48px;
  padding: 0 18px;

  border: 0;

  font-size: 1rem;
  font-weight: bold;

  background:orange;
  color: #fff;

  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.2s, opacity 0.2s;

  display: flex;
  align-items: center;
}

#ajoutpanier:hover {
  transform: translateY(-1px);
}

#ajoutpanier:active {
  transform: scale(0.98);
}

#ajoutpanier:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (min-width: 800px) {

	.config-price .price-main {
		justify-content:center;
	}

}

@media (min-width: 800px) and (max-width: 950px) {

	h1 {
		font-size:30px;
	}

	.body {
		gap:25px;
	}

}


@media (max-width: 800px) {
  .config-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;

    background: #fff;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom));
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.12);

    gap: 10px;
  }

  .price-now {
	font-size: 2rem;
  }

  .price-old {
    font-size: 13px;
    margin-top: 4px;
  }

  .config-actions {
    gap: 10px;
  }

  .qty {
    min-width: 76px;
    height: 46px;
    font-size: 15px;
    padding: 10px 10px;
  }

  #ajoutpanier {
    flex: 1;
    height: 50px;
    padding: 0 14px;
    font-size: 16px;
    justify-content: center;
  }

  body {
    padding-bottom: 120px;
  }
}

.config-bar.no-discount .badge {
  display: none;
}

.config-bar.no-discount .price-old {
  display: none;
}