body {
    background: #fbfbfb;
}
header {
    position: relative;
    padding-top: 20px;
}
header .logo-letter {
    margin-right: 10px;
}
header h4 {
    font-size: 1rem;
    display: flex;
    padding-top: 40px;
}
header .button {
    background-color: #ff3a00;
    padding: 6px 10px;
    color: #fff;
    border-radius: 5px;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .3px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s;
    align-self: center;
    white-space: nowrap;
}
header .button:hover {
    background: #cc2e00;
}
header p,header h4 {
    color: #114970;
}

.reassurance {
    background: #114970;
    color: white;
    padding: 40px 0px;
}
.bloc {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    text-align: center;
    flex: 1 1 22%;
    gap:20px;
    flex:1 1 clamp(180px, 23%, 350px);
}
.reassurance .bloc {
    background: #ff3a00;
    color: #ffffff;
    justify-content: space-around;
    padding: 30px;

}
.reassurance .bloc b {
    font-size: 1.2rem;
    color: white;
    text-transform: uppercase;
}
.typologies{
    padding: 40px 0px;
}
.typologies ul{
    padding-left: 0em;
}
.typologies ul li:last-child {
    color: #9cb3c3;
}
.typologies li{
    list-style: none;
    font-size: 0.9rem;
    margin-bottom: 5px;
}
.typologies .button{
    background-color: #ff3a00;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    position: absolute;
    right: 10px;
    bottom: 10px;
    transition: background-color .2s;
}
.typologies .button:after{
        content: "→"
}
.typologies .button:hover{
    text-decoration: none;
    background: #cc2e00;
}
.typologies a{
    color: #114970;
    text-decoration: none;
}
.typologies a:hover{
    text-decoration: underline;
}
.typologies .bloc b {
    font-size: 1.8rem;
    color: #114970;
    text-transform: uppercase;
    font-weight: 800;
    margin: 30px 0px 10px 0px;
}
.typologies .bloc {
    color: #114970;
    text-align: inherit;
    border: 1px solid #e2e2e2;
    justify-content: space-between;
    padding: 15px;
    position: relative;
    overflow: hidden;
}
.typologies img {
    position: absolute;
    top: 0;
    right: 0;
    aspect-ratio: 1 / 1;
    width: clamp(20%, 40%, 25vw);
    object-fit: cover;
    object-position: top right;
    border-bottom-left-radius: 100%;
}
h1 {
    color: #114970;
    font-weight: 800;
}
main h2 {
    font-size: 1.2rem;
}
main .cover {
    justify-content: center;
    align-items: center;
    padding-right: 20px;
}
main .mobile_cover {
  max-height: 280px;
}
.reassurance h2,.questions-layout h2 {
    font-size: 1.8rem;
    font-weight: 800;
    padding-bottom: 20px;
    text-transform: uppercase;
}
.bloc-layout{
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, 1fr)
}

.state-description {
    margin-top: .125rem;
    font-size: 1rem;
    font-weight: 400;
    display: none;
}
#mobile-text {
    display: none;
}
#cover {
    height: 100%;
    width: 100%;
    max-width: 380px;
    max-height: 380px;
    object-fit: contain;    
}
table{
    border-collapse: separate;
    border-spacing: 0 10px;
}
.table>:not(caption)>*>*{
    border-bottom-width: 0px;
    color: #114970;
}
.table th:after{
    content:" :";
}
.table th{
    text-transform: uppercase;
    padding-left: 0px;
}
.questions-layout h2{
    color: #114970;
    font-weight: 800;
    text-transform: uppercase
}
.question {
    background-color: #f2f1f1;
    border-radius: 10px;
    padding: 20px;
    font-size: 0.9rem;
    margin-bottom: 10px;
}
.question li{
    padding:5px 0px;
}
.question>summary {
    font-weight: 700;
    font-size: 1rem;
}
summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
summary::marker,
summary::-webkit-details-marker {
    display: none;
}
summary::after {
    content: "◄";
    transition: transform .2s;
}
details[open] summary::after {
    transform: rotate(-90deg);
}

.question[open]>summary {
    margin-bottom: 15px;
}
.categories h3{
    color: #114970;
    font-weight: 600;
    margin: 20px 0px;
}
table.infos th {
  white-space: nowrap;
}
.info-condition {
  font-weight: bold;
}
.info-condition td:before{
    text-transform: uppercase;
}
.product-type {
    color: #114970;
    text-transform: uppercase;
}
header .infos {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
@media (max-width: 991px) {
    .product-type:before {
      text-transform: none;
    }
}
@media (max-width: 768px) {

    
    header h4 {
        flex-direction: column;
        padding-top: 10px;
    }
    header h4 .button {
        align-self: flex-start;
        margin: 10px 0 5px 0;
    }
    
    h1 {
      font-size: 1.5rem;
    }
    
    .reassurance h2 {
        max-width: none;
        flex-basis: 100%;
        font-size: 1.2rem;
        text-align: center;
    }
    .reassurance {
        justify-content: space-around;
    }
    .reassurance .bloc b {
        font-size: 1.3rem;
    }
    .reassurance .bloc {
        padding: 15px;
        gap:10px;
    }
    .typologies .bloc b{
        margin: 10px 0px;
    }

}

@media (max-width: 576px) {
    header .logo-text {
        position: static;
        margin-top: 10px;
    }
    
    header .logo-letter { display: none; }
}

@media (max-width: 370px) {
    body {
      background: white;
    }
    
    header .infos a {
      font-size: 11px;
    }

    header .logo-text {
        height: 14px;
    }
    
    .reassurance {
      background: none;
      padding-top: 10px;
    }
    
    .reassurance h2 {
      color: #114970;
    }
    
    .reassurance .bloc b {
        font-size: 1rem;
    }
    .reassurance .bloc small {
        font-size: 0.8rem;
    }
    .bloc{
        min-width: 100%;
    }
    .typologies img{
        width:clamp(30%, 40%, 30vw)
    }
}
@media (max-width: 1023px) {
    .bloc-layout {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 639px) {
    .bloc-layout {
        grid-template-columns: 1fr;
    }
    
    .typologies .bloc {
      display: flex;
      flex-direction: row;
      justify-content: start;
    }
    
    .typologies .bloc ul {
        display: none;
    }
    
    .typologies .bloc b {
      font-size: 1.2rem;
      flex-basis: 33%;
    }
    
    .typologies .bloc a {
      position: static;
      height: 55px;
      width: 55px;
    }
}