:root {
    --am-orange: #EE672F;
    --am-orange2: #F89C66;
    --text: #2F2F2F; 
    --bg : #f5f5f5f2;
    --vert-grisé : #405a52;
}

@font-face {
  font-family: 'Manrope';
  src: url('fonts/Manrope/Manrope-Regular.ttf') format('woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Manrope';
  src: url('fonts/Manrope/Manrope-Bold.ttf') format('woff2');
  font-weight: 600;
  font-style: normal;
}


html {scroll-behavior: smooth;
    
}

body {    
    margin: 0.5em auto;
    /* max-width: 1080px; */
    color: var(--text);
    font-family: Manrope-Regular, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Manrope-Bold, sans-serif;
    color: var(--text);
}

.no-decoration {
    text-decoration: none;
}

.top-menu {
    font-size: 1em;
    margin-bottom: 1;
    margin-top: 1;
    font-weight: bold;
}
.top-menu ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding:0;
}


.top-menu a {
    display: flex;
    text-decoration: none;
    color: var(--text);
    transition: all 0.3s ease;
    padding: 0.5em;

}

.top-menu a:hover {
    transform: translateY(-4px);
    color: var(--vert-grisé);
}

.intro-block {
    display: block;
    text-align: justify;
    margin: auto;
    max-width: 1000px;
    padding: 1em;
}

.images-block {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    gap: 1em;
}

.product-block {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-block:hover {
    transform: translateY(-4px);
    transform: scale(1.08);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.product-block img {
    text-align: center;
    width: 300px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.product-block p {
    font-weight: bold;
    color: var(--text);
    text-align: center;
    margin: 0.5em 0.5em;
    transition: color 0.3s ease;
}

.product-block:hover p {
    color: var(--vert-grisé);
}

.bottom-menu {
    margin : 1em;
}

.bottom-menu ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 2em;
    margin: 0;
    padding: 0;
}

.bottom-menu a {
    margin-right: 1em;
    text-decoration: none;
    margin: 0;
    padding: 0;
}

.bottom-menu .icon:hover {
    /* color: var(--am-orange); */
    fill: var(--vert-grisé);

}

.icon {
    height: 32px;
    fill: var(--text);
    transition: all 0.3s ease;
}

.icon:hover {
     transform: translateY(-4px);
}

.copyright {
    color: var(--text);
    text-align: center;
}

.legal {
    display: flex; 
    gap: 1em;
    justify-content: center;
    font-size: small;
    text-align: center;
}

.legal a {
    transition: 0.5s;
    color: var(--text);
    text-decoration: none;
}

.legal a:hover {
    color: var(--vert-grisé)    
}

/* MENU */
.menu-bg {
  position: relative;
  max-width: 1000px;
  padding: 1em;
  margin: auto;
  
}

.menu {
 
  padding: 0em 0 1em 0;
}

.shop-name{

  font-size: 25px;
}

.shop-name a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 100%;
}

.shop-name img {
  display: block;
  margin: 0.1em auto ;
}

.shop-name a h1 {
  max-width: 1000px;
  font-size: 1.5em;
  font-weight: bold;
  width: 100%;
  margin: 0;
  transition: transform 0.3s ease, color 0.3s ease;
}

.shop-name a:hover h1 {
  color: var(--vert-grisé); /* or any color you prefer */
}

.shop-name span {
  font-size: smaller;
  font-weight: 100;
}

.menu-links {
  display: flex;
  flex-direction: column;
  
  max-width: 1000px; 
}


.menu-item a{
  text-decoration: none;
  color: var(--vert-grisé);
}

.menu-item a:hover{
  color: var(--am-orange2);
}

.menu-item ul {
  list-style: none;
  padding-left: 0;
}

summary {
  list-style: none;
  margin-top: 0;        /* removes the default bullet/triangle in some browsers */
}

.menu li a{
  font-size: 24px;
  font-weight:300;

}

ul{
  margin: 0.5em 0;
}

summary::-webkit-details-marker {
  display: none;           /* specifically hides it in WebKit browsers (Chrome, Safari, etc.) */
}

.category {
  font-size: 1.6em;
  color: var(--text);
  transition: transform 0.3s ease, color 0.3s ease;
  font-weight: bold;
  text-decoration: none;
}

.category:hover {
  /* transform: translateY(-5px); */
  color: var(--vert-grisé); 
}

div.menu details {
  margin: 0; /* remove any margin around details */
  padding: 0; /* remove padding if any */
}

div.menu details summary {
  margin-bottom: 0; /* remove bottom margin */
  padding-bottom: 0; /* remove bottom padding */
  cursor: pointer; /* keep pointer on summary */
  transition: color 0.3s ease, opacity 0.3s ease;
  transition: font-size 0.2s ease;
}

div.menu details > ul {
  margin-top: 0.3em; /* remove top margin */
  padding-bottom: 0; /* remove top padding */
  padding-top: 0; /* remove top padding */
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease;
  pointer-events: none;
}

div.menu details[open] > ul {
  opacity: 1;
  max-height: 500px;
  margin-bottom: 0;
  /* margin-left: 0.5em; */
  padding-bottom: 0;
  pointer-events: auto; /* adjust as needed based on expected content height */
}

.menu details > summary {
  font-size: 1em;
  transition: font-size 0.2s ease;
}

.menu details[open] > summary {
  font-size: 1.3em;
}

/* CONTACT  */

h1, p {
    color: var(--text);
}


form {
    display: flex;
    flex-direction: column;
    gap: 1em;
    width: 100%;
    
}

.file-load {
  display: inline-block;
  width: 100px; /* fixed width for the label */
  text-align: right; /* align text to right side */
  margin-right: 0.5em;
}

.form-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    padding: 1rem;
    border-radius: 15px;
    /* box-shadow: 0 20px 40px rgba(0, 0, 0, 0.076); */
    border: 2px solid #e1e5e9;
    /* width: 100%; */
    max-width: 600px;
    backdrop-filter: blur(10px);    
    margin: 2em auto;
    
}




input[type="text"],
input[type="email"],
textarea {
    padding: 0.5rem;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background-color: #fafafa;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: var(--am-orange);
    box-shadow: 0 0 0 2px var(--am-orange2);
    outline: none;
}

.file-info {
    font-size: 0.8rem;
    color: #666;
    margin-top: 0.25rem;
}

.submit-btn {
    width: 100%;
    padding: 0.875rem 1.5rem;
    background-color: var(--vert-grisé);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}


.submit-btn:hover {

    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(112, 112, 112, 0.3);
}

.submit-btn:active {
    transform: translateY(0);
}

/* PRODUCT */

.intro,
.product-container,
.product-container p,
.product-container h1,
.product-container ul,
.product-container ol {
    cursor: default;
}

h1, p, details {
  color:  var(--text);
}

body.bg-marquage {
  background-image: url(img-stamps/outil-de-marquage_cuir_00009.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

body.bg-alphabet {
  background-image: url(img-alphabets/set_alphabet_bg.webp); 
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

body.bg-ep {
  background-image: url(img-emporte-pieces/emporte-pieces_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
}

body.bg-moules {
  background-color: white;
}

.product-container, .intro, footer, .menu-bg {
    text-align: justify;
    background-color:var(--bg);
    max-width: 1000px;
    position: relative;
    margin: auto;
    padding: 1em;
    /* border-radius: 10px; */
    margin: 0 auto 2em auto;
}

.product-container a {
   color: var(--vert-grisé);
}

.product-container ul, ol {
  padding-left: 1em;
  margin: 0;
}

.intro {
  margin-top: 1em;
}
.product-container h1, .intro h1 {
    text-align: left; /* or center if you prefer */
    margin-top: 0;
}

.intro li a { 
  color: var(--vert-grisé);
}

.intro li a:hover {
  color: var(--am-orange);
}

.tip-box {
  margin: 1em 0;
  border-radius: 10px;
  padding: 0 1em;
  border: 2.5px dashed var(--am-orange);
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
}

.tip-box a {
  color:  var(--am-orange);
}

.tip-box svg {
  fill: var(--am-orange);
}

.product-container a:hover {
    color: var(--am-orange);
}

.img-group, video {
    display: flex;
    flex-wrap: wrap;               /* Les images passent à la ligne si besoin */
    gap: 0.5em;                      /* Espace entre les images */
    justify-content: center;       /* Centre les images */
}

.img-group img,video {
    height: 260px;                 /* Hauteur fixe pour toutes les images */
    width: auto;                   /* Largeur proportionnelle */
    object-fit: cover;             /* Recadre si nécessaire */
    flex: 1 1 auto;                /* Permet de s’adapter à l’espace */
    max-width: 100%;               /* Empêche de dépasser du conteneur */
    transition: transform 0.3s ease; /* Transition douce */
}

.img-polices {
  max-width: 100%;
  height: auto;
}

div.product-container summary {
    position: relative;
    display: flex;
    /* justify-content: center; */
    align-content: center;
    transition: transform 0.3s ease, color 0.3s ease;
    padding: 0.5em;
    font-size: 1.5em;
}

div.product-container .summary-content {
  display: flex;
  align-items: center;
  gap: 0.5em;
  transition: transform 0.3s ease;
}


div.product-container details summary {
  list-style: none;         /* Pour Firefox */
}
  
div.product-container details summary::-webkit-details-marker {
  display: none;            /* Pour Chrome, Safari */
}

div.product-container details summary::after {
  content: "+";           
  margin-right: 8px;
  font-weight: bold;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

div.product-container details[open] summary::after {
    content: "–";           
}

.icon-summary {
  height: 22px;
  margin-right: 0.5em;
  fill: var(--text);
  vertical-align: center;
}


.summary-content:hover .icon-summary {
  fill: var(--am-orange);
 
}
.summary-content:hover {
  color: var(--am-orange);
  transform: translateY(-4px);
}

.pricing-table {
  border-collapse: collapse;
  margin: 1em 0;
  max-width: 100%;
  width: auto;
  
}

.pricing-table th,
.pricing-table td {
  border: 1px solid #ccc;
  padding: 0.5em;
  text-align: left;
}