
/* __________________________________________________________________________________________________96
[\\]   collection
*/

.collection{
position: relative;
background:none;
margin-right:6px;
margin-left:3px;
z-index:4;
background: rgba(200,225,175,0.8);
margin-top: 24px;
}

.collection .wrap{
max-width: 100%;
width: 100%;
margin: 0 auto;
background: rgba(255,255,255,0.5);
box-shadow: 4px 3px 6px #223333;

}



/* __________________________________________________________________________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;
}






/* __________________________________________________________________________________________________96
[>:]   shop
*/



/* ________________________________________________________________________72
[H]   head
___________________________________________________________________________
*/

#shop-brand{
top:3px;
position:fixed;
left:50%;
transform:translateX(-50%);
z-index:1000;
}

#shop-brand-link{
display:inline-flex;
align-items:center;
justify-content:flex-start;
flex-wrap:nowrap;
gap:6px;
text-decoration:none;
}
#shop-brand img{
display:block;
width:auto;
max-width:none;
flex:0 0 auto;
}

@media (max-width: 640px) {
#shop-brand {
left:42px;
right:42px;
top:24px;
transform:none;
display:flex;
justify-content:center;
}

#shop-brand-link{
max-width:100%;
justify-content:center;
}

#shop-brand-link img{
width:auto;
max-width:none;
height:40px;
}
}



/* ________________________________________________________________________72
[B]   body
___________________________________________________________________________
*/

.shop-container {
display: flex;
flex-wrap: wrap;
gap: 1rem;
padding: 1rem;
}

.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;
position: fixed;
top: 144px;
right: 1rem;
bottom:12px;
left: 1rem; 
display: flex;
flex-direction: column;
background:white;
box-shadow:4px 3px 6px #223333;
}

@media (max-width: 640px) {
.shop-products {
top: 96px;
}
}

.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;
align-items:stretch;
}

@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);
}
}



/* ============================================================60
[M]   map
===============================================================
*/

/* [( )] */
.map-card{
border: 3px solid white;
height:100%;
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));
}




/* ============================================================60
[°]   button
===============================================================
*/


/* 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: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);
}






/* ________________________________________________________________________72
[( >: )]   widget
___________________________________________________________________________
*/

.shop-cart-fab{
position: absolute;
top: 50%;
right: 0px;
transform: translate(35%, -50%);
z-index: 40;

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: 0px;
}
}

#navCollectionItem{
position:relative;
overflow:visible;
}

.bd-nav.is-collapsed #shopCartBtn{
display:none !important;
}

.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;
}

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

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

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

/* Badge quantité (pastille noire) */
.shop-cart-badge{
position: absolute;
width:24px;
height:24px;
border-radius:3px;
background:rgba(0,0,0,0.67);
color: #FFF;
vertical-align: top;
top: 0px;
right: -12px;
text-align: center;
z-index: 1; /* derrière l’icône */
display:flex;
justify-content:center;
align-items:center;
}

.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;
text-align:center;
filter: 
drop-shadow(1px 2px 2px rgba(0,0,0,0.9))
drop-shadow(4px 6px 8px rgba(0,0,0,0.4));
}

.shop-cart-shoplink{
margin-left:auto;
text-decoration:none;
color:inherit;
display:block;
}

.shop-cart-shoplink figure{
margin:0;
display:flex;
align-items:center;
gap:6px;
}

.shop-cart-shoplink figcaption{
font-size:75%;
line-height:1.1;
}

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