.collection{
position: relative;
padding: 24px;
background: rgba(255,255,255,0.5);
margin-right:6px;
margin-left:3px;
box-shadow: 4px 3px 6px #223333;
z-index:4;
}









.collection .wrap{
max-width: 80%;
width: 100%;
margin: 0 auto;
padding: 0 12px;
}






/* __________________________________________________________________________72
[M POP!]  collection popup
_____________________________________________________________________________ */

body.is-collection-popup-open{
overflow:hidden;
}

.collection-popup-overlay{
position:fixed;
top:168px;
left:0;
right:0;
bottom:0;
background:none;
z-index:12000;
display:none;
}

.collection-popup{
position:fixed;
top:204px;
left:24px;
right:24px;
bottom:24px;
height:auto;
z-index:999999;
display:none;
}

.collection-popup.is-open{
display:block;
}

.collection-popup-overlay.is-open{
display:block;
}

.collection-popup-inner{
position:relative;
width:100%;
height:100%;
overflow-y:auto;
overflow-x:hidden;
background: rgba(255,255,255,0.75);
box-shadow: 4px 3px 6px #223333;
}

.collection-popup-close{
position:absolute;
top:6px;
right:36px;
width:36px;
height:36px;
background:none;
border:none;
padding:0;
cursor:pointer;
z-index:12002;
}

.collection--popup{
margin:0;
border-radius:0;
box-shadow:none;
min-height:100%;
padding-bottom:12px;
}

.collection--popup .wrap{
max-width:100%;
padding:0 12px;
}

@media (max-width: 640px){
.collection-popup{
top:156px;
left:6px;
right:6px;
bottom:6px;
}

.collection--popup .wrap{
padding:0 6px;
}
}




/* maxi screens */
@media (min-width: 1200px){
.collection .wrap{ width: 75%; }
}




/* Chrome / Safari / Edge */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {

margin: 0;
}


button {
cursor: pointer;
}








/* title */

#shop-brand{
left:12%;
top:3px;
position:fixed;
}

#shop-brand img{
width:50%;
}

@media (max-width: 640px) {
#shop-brand {
width:50%;
left:96px;
top:24px;
}

#shop-brand img{
width:100%;
}
}








/* shop */

.shop-container {
display: flex;
flex-wrap: wrap;
gap: 1rem;
padding: 1rem;
margin-top:144px;
}

.shop-cart__inner{
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0; /* 🔑 très important en flex pour autoriser le scroll */
  padding:0px 12px 0px 0px;
}

.shop-products {
box-sizing: border-box;
padding: 1rem;
border: 1px solid #ddd;
border-radius: 8px;
position: fixed;
top: 144px;
right: 1rem;
left: 1rem; 
max-height: calc(100vh - 144px - 16px);
display: flex;
flex-direction: column;
}

.shop-products {
flex: 2 1 300px;
}

.shop-cart {
flex: 1 1 260px;
max-width: 420px;
}




.shop-cart h2 {
margin-top: 0;
}

	
@media (max-width: 768px) {
.shop-container {
flex-direction: column;
}

.shop-cart {
max-width: 100%;
}
}
		
		










		
		
		



/* GRID */
.shop-products-grid{
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
margin-top: 1rem;
}

@media (min-width: 520px){
.shop-products-grid{
grid-template-columns: repeat(2, 1fr);
}
}

@media (min-width: 900px){
.shop-products-grid{
grid-template-columns: repeat(3, 1fr);
}
}

@media (min-width: 1200px){
    .shop-products-grid{
        grid-template-columns: repeat(4, 1fr);
    }
}





/* [( )] */
.map-card{
    border: 3px solid white;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
	background:#00647D;
	padding:0px 12px 0px 12px;
}


.map-card-body{
    padding: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}

.map-card-title{
margin: 0;
}

.map-card-price{
font-weight: 700;
color: #333;
}

.map-card-actions{
margin-top: auto;
}

.map-card-actions form{
display: flex;
gap: 0.5rem;
align-items: center;
}

.map-card-actions input[type="number"]{
width: 64px;
}

.map-card-actions button{
flex: 1;
padding: 0.55rem 0.8rem;
border-radius: 10px;
}

.map-thumb {
width: clamp(24px, 1vw, 36px);
}
		
.map-thumb img{
margin-top:-60px;
margin-left:6px;
width: 96px;
height: auto;
display: block;
transform: rotate(-3deg);
transform-origin: 50% 50%;
margin-right: -25px;

/* + relief "carte réelle" */
background: #fff;                     /* liseré papier */
border: 1px solid rgba(0,0,0,.10);    /* tranche fine */
filter:
drop-shadow(0 3px 4px rgba(0,0,0,.5))   /* ombre principale */
drop-shadow(0 4px 6px rgba(0,0,0,.18));    /* ombre de proximité */
/* léger biseau interne (optionnel) */
  box-shadow: 0 1px 0 rgba(255,255,255,.3) inset;
}

.map-thumb img:hover{
transform: rotate(-5deg) translateY(-5px);
filter:
drop-shadow(0 16px 20px rgba(0,0,0,.24))
drop-shadow(0 6px 8px rgba(0,0,0,.18));
}














/*		b  u  t  t  o   n		*/


/* normalement obsolète */
.btn-buy{
--iconSpace: 40px;   /* half circle reserved */
--sidePad: 16px;     /* classic padding right side */
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
height: 40px;
padding: 0 var(--sidePad) 0 calc(var(--iconSpace) + var(--sidePad));
border-radius: 9999px;
background: #007D4B;
color:white;
font-weight: 700;
text-decoration: none;
border: 2px solid rgba(255,255,255,1);
transition: transform .06s ease, background-color .2s ease, box-shadow .2s ease;
}


.btn-buy::before{
content: "";
position: absolute;
left: 6px;                  /* place l’icône au centre du demi-cercle */
top: 50%;
transform: translateY(-50%);
width: 24px;                /* ← ajuste la taille du caddie ici */
height: 24px;
background: url('pictOpat/shop/white/convenience.svg') no-repeat center / contain;
pointer-events: none;
}

.btn-buy:hover{ background:#19C87D; box-shadow: 0 4px 10px rgba(0,0,0,.16); }
.btn-buy:active{ transform: translateY(1px); }

.btn-buy:focus-visible{
outline: 2px solid #1b2634;
outline-offset: 2px;
}

















.see-all-collection {
  background-color: #00647D;
  text-align: center;
  border-radius: 18px;
  border:3px solid white;
  padding-bottom:12px;
}

.see-all-collection a {
  text-decoration: none;
  display: inline-block;
}

.see-all-collection {
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.see-all-collection:hover {
  background-color: #007A96;
  transform: translateY(-8px);
}

.link-icon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top:18px;
}

.link-icon .icon {
  height: 1.5em;
  transform: translateY(8px);
}













/* ====== SHOP CART WIDGET ====== */
.shop-cart-fab{
    position: fixed;
    top: 0px;
    right: 108px;
    z-index: 13020;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;

    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}



@media (max-width: 640px){
.shop-cart-fab{
    right: 36px;
}
}




.shop-cart-count-wrapper{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    background:none;
    border:none;
	
	  z-index: 2; /* le bouton est au-dessus */

}





.shop-cart-promo{
font-size:75%;
margin:24px 0px;
}





/* Icône panier */
.shop-cart-count-wrapper img{
    display: block;

}


.shop-cart-label{
    font-size: 0.75rem;
    text-transform: lowercase;
    pointer-events: none;
	margin-top:-6px;
}





/* Badge quantité (pastille noire) */
.shop-cart-badge{
position: absolute;
width:18px;
height:18px;
border-radius: 2px;
background: #191919;
border:2px solid black;
color: #AFAFAF;
vertical-align: top;
top: 36px;
left: -12px;
text-align: center;
z-index: 1; /* derrière l’icône */
}









.shop-cart-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 13010;
}

.shop-cart-drawer{
    position: fixed;
    top: 12px;
    right: 12px;
    height: auto;
    width: min(420px, 92vw);
    background: #00647D;
    z-index: 13030;
	transform: translateX(calc(100% + 12px));
    transition: transform 180ms ease;
    display: flex;
    flex-direction: column;
    border: 3px solid #fff;
	border-radius:24px;
}

.shop-cart-drawer.is-open{
    transform: translateX(0);
}

.shop-cart-drawer-header{
    display:flex;
    justify-content: space-between;
    align-items:center;
    padding: 12px 14px;

}

.shop-cart-close{
border:none;
background: none;
cursor:pointer;
}

.shop-cart-drawer-body{
    padding: 12px 14px;
    overflow: auto;
}

.cart-item{
    display: grid;
    grid-template-columns: 1fr 70px 90px 28px;
    gap: 10px;
    align-items: center;
    padding: 10px 0;

}

.cart-item input[type="number"]{
    width: 64px;
    text-align: center;
}

.cart-total{
    font-weight: 700;
    display:flex;
    justify-content: space-between;
    padding-top: 10px;
}

.cart-actions{
    margin-top: 12px;
    display:flex;
    gap: 10px;
	border:none;
	background:none;
}

.shop-checkout-btn{
    display:inline-block;
    padding:0.55rem 0.9rem;
    background:#007D4B;
    color:#fff;
    text-decoration:none;
	border-radius:48px;
	border:3px solid white;
}

.cart-actions button{
    border:none;
	background:none;
}
