/* SummerWave Shop — style.css (minified) */
html{scroll-behavior:smooth}body{font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.gradient-text{background:linear-gradient(135deg,#fff 30%,#AAAAAA);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s ease,background-color .3s ease}header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.4);background-color:rgba(17,17,17,.97)!important}#lang-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:#1a1a1a;border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:6px;min-width:185px;max-height:380px;overflow-y:auto;box-shadow:0 24px 48px rgba(0,0,0,.55);z-index:9999;display:none}#lang-dropdown.open{display:block;animation:fadeSlideDown .18s ease}#lang-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;font-size:13px;color:#d1d5db;background:transparent;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:background .15s,color .15s}#lang-dropdown button:hover{background:rgba(255,255,255,.08);color:#fff}#lang-dropdown button.active{background:rgba(255,255,255,.12);color:#fff;font-weight:600}.lang-flag{font-size:15px;line-height:1;flex-shrink:0}#google_translate_element,.goog-te-combo{display:none}.goog-te-banner-frame,.skiptranslate{display:none!important}body{top:0!important}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}.hero-float{animation:float 5s ease-in-out infinite}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-content>*{animation:fadeUp .7s ease both}.hero-content>*:nth-child(1){animation-delay:.1s}.hero-content>*:nth-child(2){animation-delay:.25s}.hero-content>*:nth-child(3){animation-delay:.4s}.hero-content>*:nth-child(4){animation-delay:.55s}.hero-content>*:nth-child(5){animation-delay:.7s}.product-card{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;will-change:transform}.product-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,.13)}.product-card .card-img img{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.product-card:hover .card-img img{transform:scale(1.07)}@keyframes pulse-badge{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 6px rgba(16,185,129,0)}}.badge-nouveau{animation:pulse-badge 2.5s ease infinite}.btn-cart{position:relative;overflow:hidden;transition:all .25s ease}.btn-cart::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.18);transform:translateX(-100%) skewX(-15deg);transition:transform .4s ease}.btn-cart:hover::after{transform:translateX(120%) skewX(-15deg)}.btn-cart:active{transform:scale(.96)}.ripple{position:relative;overflow:hidden}.ripple-wave{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);animation:ripple-anim .6s linear;pointer-events:none}@keyframes ripple-anim{to{transform:scale(4);opacity:0}}.stepper{display:flex;align-items:center;gap:0}.step-item{display:flex;align-items:center;gap:10px}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;transition:all .3s ease}.step-item.done .step-circle{background:#22c55e;color:#fff}.step-item.active .step-circle{background:#fff;color:#111;box-shadow:0 0 0 3px rgba(255,255,255,.3)}.step-item.next .step-circle{background:rgba(255,255,255,.12);color:rgba(255,255,255,.4)}.step-label{font-size:13px;font-weight:600}.step-item.done .step-label{color:#86efac}.step-item.active .step-label{color:#fff}.step-item.next .step-label{color:rgba(255,255,255,.35)}.step-line{flex:1;height:2px;min-width:32px;max-width:60px;margin:0 8px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden;position:relative}.step-line.done::after{content:'';position:absolute;inset:0;background:#22c55e}input:focus,select:focus,textarea:focus{outline:none}.form-input{transition:border-color .2s,box-shadow .2s,background-color .2s}.form-input:focus{border-color:#555;box-shadow:0 0 0 3px rgba(51,51,51,.12)}.btn-primary{background:#111;color:#fff;transition:background .2s,transform .2s,box-shadow .2s}.btn-primary:hover{background:#333;transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.25)}.btn-primary:active{transform:translateY(0)}@keyframes badge-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.25)}100%{transform:scale(1);opacity:1}}#cart-badge.show{animation:badge-pop .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .4s ease both}#search-form{transition:width .3s ease,opacity .3s ease}footer a{transition:color .2s ease}footer a:hover{color:#aaaaaa}@media print{header,footer,nav,.no-print{display:none!important}body{background:#fff}}@media(max-width:1024px){.product-card:hover{transform:none;box-shadow:none}.product-card:hover .card-img img{transform:none}}@media(max-width:768px){#lang-dropdown{right:0;max-width:calc(100vw - 20px)}#page-spacer{height:88px!important}.hero-content>*{animation:none}.hero-content{padding-left:0;padding-right:0}.stepper{overflow-x:auto;padding-bottom:4px}.stepper::-webkit-scrollbar{display:none}}@media(max-width:640px){header .max-w-7xl{padding-left:.75rem;padding-right:.75rem}header a[href$='/'] svg+div{max-width:120px}.step-label{display:none}.step-line{min-width:20px}section[class*='py-20']{padding-top:4rem!important;padding-bottom:4rem!important}h1.text-3xl,h2.text-3xl{line-height:1.12}.hero-content .inline-flex{max-width:100%;justify-content:center;text-align:center}.hero-content a{width:100%}.hero-content .flex-col.sm\:flex-row{width:100%}footer form{flex-direction:column;align-items:stretch}footer form input,footer form button{width:100%;border-radius:.9rem!important}footer form button{border-left-width:1px!important;margin-top:.5rem}.overflow-x-auto{-webkit-overflow-scrolling:touch}}@media(max-width:480px){#page-spacer{height:84px!important}.step-circle{width:28px;height:28px;font-size:12px}.step-line{max-width:32px;margin:0 4px}header .max-w-7xl{padding-left:.65rem;padding-right:.65rem}#site-header .h-16{height:3.75rem}#site-header a[href$='/']{max-width:150px}#site-header a[href$='/'] span:first-child{font-size:12px}#site-header a[href$='/'] span:last-child{font-size:8px;letter-spacing:.18em}#lang-btn,#menu-btn,#site-header a[aria-label^='Carrito']{width:2.15rem;height:2.15rem}#cart-badge{top:-1px;right:-1px}}

@media (max-width: 640px) {
  #annonce-bar {
    height: 32px !important;
  }

  #annonce-bar span {
    font-size: 10px !important;
    letter-spacing: .03em !important;
  }

  .hero-section {
    min-height: 78vh !important;
    padding-top: 2rem;
    padding-bottom: 2.5rem;
  }

  .hero-section .hero-content {
    max-width: 100%;
    padding-left: .25rem;
    padding-right: .25rem;
  }

  .hero-section .hero-content > div:first-child {
    gap: .55rem;
    margin-bottom: 1.25rem;
  }

  .hero-section .hero-content > div:first-child .inline-flex {
    padding: .5rem .8rem;
    font-size: .64rem;
    line-height: 1.2;
    letter-spacing: .06em;
  }

  .hero-section h1 {
    font-size: 2.35rem !important;
    line-height: .98 !important;
    margin-bottom: 1rem !important;
  }

  .hero-section p.text-lg {
    font-size: .98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1.5rem !important;
  }

  .hero-section .mt-12,
  .hero-section .sm\:mt-16 {
    margin-top: 1.75rem !important;
  }

  .hero-section .grid.grid-cols-3 > div {
    padding: .15rem .1rem;
  }

  .hero-section .grid.grid-cols-3 .text-3xl {
    font-size: 1.75rem !important;
  }

  .checkout-page,
  .cart-page,
  .product-page {
    padding-top: 1.5rem !important;
    padding-bottom: 2rem !important;
  }

  .checkout-page .bg-white.rounded-2xl.shadow-sm.border.border-gray-100,
  .cart-page .bg-white.rounded-2xl.shadow-sm.border.border-gray-100,
  .product-page .bg-gradient-to-br.from-marine\/5.to-ocean\/10.rounded-3xl,
  .product-page .bg-white.rounded-2xl.overflow-hidden.shadow-sm {
    border-radius: 1.35rem !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
  }

  .checkout-page input,
  .checkout-page select,
  .checkout-page textarea,
  .cart-page input,
  .product-page input {
    font-size: 16px !important;
  }

  .checkout-page .p-6,
  .cart-page .p-6 {
    padding: 1.1rem !important;
  }

  .checkout-page h2.text-lg,
  .cart-page h2.text-lg,
  .product-page h2.text-lg {
    font-size: 1.05rem !important;
  }

  .product-page .text-4xl.font-extrabold {
    font-size: 2rem !important;
    line-height: 1;
  }

  .product-page .flex.items-center.gap-4.mb-8 {
    flex-wrap: wrap;
    row-gap: .45rem;
  }

  .product-page .flex.gap-3.flex-wrap {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .25rem;
    -webkit-overflow-scrolling: touch;
  }

  .product-page .flex.gap-3.flex-wrap::-webkit-scrollbar {
    display: none;
  }

  .product-page .w-16.h-16 {
    min-width: 4rem;
  }

  .cart-page .flex.items-center.border.border-gray-200.rounded-lg.overflow-hidden,
  .checkout-page .flex.items-center.justify-center.border.border-gray-200.rounded-xl.overflow-hidden {
    min-height: 48px;
  }

  .cart-page .w-full.flex.items-center.justify-center,
  .checkout-page .w-full.flex.items-center.justify-center,
  .product-page .flex-1.flex.items-center.justify-center {
    min-height: 52px;
  }

  .cart-page .text-2xl.font-extrabold,
  .checkout-page .text-2xl.font-extrabold {
    font-size: 1.7rem !important;
  }

  .stepper {
    padding-left: .25rem;
    padding-right: .25rem;
  }

  .max-w-7xl.mx-auto.px-4.sm\:px-6.lg\:px-8.py-10 {
    padding-top: 1.5rem !important;
    padding-left: .85rem !important;
    padding-right: .85rem !important;
  }

  .bg-marine.py-12 {
    padding-top: 2rem !important;
    padding-bottom: 1.6rem !important;
  }

  .bg-marine.py-12 h1 {
    font-size: 1.75rem !important;
    line-height: 1.05 !important;
  }

  .bg-marine.py-12 p {
    font-size: .88rem !important;
    line-height: 1.45 !important;
  }

  .product-card {
    border-radius: 1rem !important;
    border-color: rgba(17, 17, 17, .07) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    min-width: 0;
  }

  .product-card .card-img > div {
    height: 9rem !important;
    background: linear-gradient(145deg, #f8fafc, #eef2f7) !important;
  }

  .product-card .card-img.h-40 {
    height: 9rem !important;
  }

  .product-card .card-img img {
    padding: .55rem !important;
  }

  .product-card .absolute.top-3.left-3 {
    top: .5rem !important;
    left: .5rem !important;
    max-width: calc(100% - 1rem);
  }

  .product-card .absolute.top-3.right-3 {
    top: .5rem !important;
    right: .5rem !important;
  }

  .product-card .absolute.top-3.left-3 span,
  .product-card .absolute.top-3.right-3 span {
    max-width: 100%;
    padding: .22rem .45rem !important;
    border-radius: .55rem !important;
    font-size: .52rem !important;
    line-height: 1.05 !important;
    letter-spacing: .03em !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .product-card .p-5,
  .product-card .p-4 {
    padding: .75rem !important;
  }

  .product-card h3 {
    min-height: 2.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .78rem !important;
    line-height: 1.18 !important;
    margin-bottom: .35rem !important;
  }

  .product-card p.text-gray-400 {
    min-height: 2rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .68rem !important;
    line-height: 1.35 !important;
    margin-bottom: .55rem !important;
  }

  .product-card .flex.items-center.justify-between.mt-auto {
    flex-direction: column;
    align-items: stretch !important;
    gap: .55rem;
    padding-top: .65rem !important;
  }

  .product-card .text-xl.font-black {
    font-size: 1.05rem !important;
    line-height: 1.05 !important;
  }

  .product-card .font-bold.text-marine.text-base {
    font-size: 1.05rem !important;
    line-height: 1.05 !important;
  }

  .product-card .text-xl.font-black .block {
    margin-top: .1rem;
    font-size: .56rem !important;
  }

  .product-card form.inline {
    width: 100%;
  }

  .product-card .btn-cart,
  .product-card span.bg-gray-100 {
    width: 100%;
    justify-content: center;
    min-height: 2.25rem;
    padding: .6rem .5rem !important;
    border-radius: .7rem !important;
    font-size: .7rem !important;
  }

  .product-card .btn-cart svg {
    width: .9rem !important;
    height: .9rem !important;
  }
}

.hero-carousel {
  background: #0f172a;
}

.hero-carousel-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.04);
  animation: heroCarouselFade 12s ease-in-out infinite;
  will-change: opacity, transform;
}

.hero-carousel-slide-1 {
  opacity: .78;
}

.hero-carousel-slide-2 {
  animation-delay: 6s;
}

@keyframes heroCarouselFade {
  0% {
    opacity: .78;
    transform: scale(1.04);
  }
  42% {
    opacity: .78;
    transform: scale(1.09);
  }
  50% {
    opacity: 0;
    transform: scale(1.1);
  }
  92% {
    opacity: 0;
    transform: scale(1.04);
  }
  100% {
    opacity: .78;
    transform: scale(1.04);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel-slide {
    animation: none;
  }

  .hero-carousel-slide-1 {
    opacity: .78;
  }
}

@media (max-width: 640px) {
  .hero-carousel-slide {
    object-position: center center;
  }
}

@media (max-width: 480px) {
  .hero-section {
    min-height: 74vh !important;
  }

  .hero-section h1 {
    font-size: 2.05rem !important;
  }

  .hero-section p.text-lg {
    font-size: .93rem !important;
  }

  .checkout-page .grid.grid-cols-1.sm\:grid-cols-2,
  .cart-page .flex.flex-col.lg\:flex-row,
  .product-page .grid.grid-cols-1.lg\:grid-cols-2 {
    gap: 1rem !important;
  }

  .checkout-page .rounded-2xl,
  .cart-page .rounded-2xl,
  .product-page .rounded-3xl {
    border-radius: 1.2rem !important;
  }

  .product-card .card-img > div {
    height: 7.9rem !important;
  }

  .product-card .card-img.h-40 {
    height: 7.9rem !important;
  }

  .product-card .p-5,
  .product-card .p-4 {
    padding: .65rem !important;
  }

  .product-card h3 {
    font-size: .74rem !important;
  }

  .product-card p.text-gray-400 {
    font-size: .65rem !important;
  }

  .product-card .text-xl.font-black {
    font-size: .98rem !important;
  }

  .product-card .font-bold.text-marine.text-base {
    font-size: .98rem !important;
  }
}

/* Désactiver la sélection automatique */
* {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Réactiver la sélection uniquement 
   sur les champs de formulaire */
input, textarea, select, [contenteditable] {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Masquer toute interface Google Translate parasite */
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
body > .skiptranslate,
.skiptranslate iframe,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.goog-text-highlight,
font.goog-text-highlight {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

body {
  top: 0 !important;
}

.product-card .card-img {
  background: #fff;
}

.product-card .card-img > div,
.product-card .card-img.h-40 {
  background: #fff !important;
  border-bottom: 1px solid rgba(17, 17, 17, .06);
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-image-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.product-card .card-img img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: .65rem !important;
}

.product-card .card-img svg {
  width: 5rem !important;
  height: 5rem !important;
  color: #9ca3af !important;
  opacity: .95 !important;
}

.product-card-category {
  display: none;
  margin: 0 0 .45rem;
  color: #b88a1d;
  font-size: .68rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  #produits {
    padding-top: 3.25rem !important;
    padding-bottom: 3.5rem !important;
  }

  #produits > .max-w-7xl,
  .shop-page .max-w-7xl,
  .max-w-7xl.mx-auto.px-4.sm\:px-6.lg\:px-8.py-10 {
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }

  #produits .grid.grid-cols-2,
  .shop-page .grid.grid-cols-2,
  .grid.grid-cols-2.sm\:grid-cols-2 {
    gap: .65rem !important;
  }

  .product-card {
    border-radius: 1rem !important;
    border: 1px solid rgba(17, 17, 17, .075) !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07) !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 9.65rem !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(17, 17, 17, .06) !important;
  }

  .product-card .card-img img {
    padding: .38rem !important;
    object-fit: contain !important;
    max-width: 94% !important;
    max-height: 94% !important;
    margin: auto !important;
  }

  .product-card .card-img svg {
    width: 4.75rem !important;
    height: 4.75rem !important;
    stroke-width: 1.35 !important;
  }

  .product-card .absolute.top-3.left-3 {
    display: none !important;
  }

  .product-card .absolute.top-3.right-3 {
    top: .45rem !important;
    right: .45rem !important;
  }

  .product-card .absolute.top-3.left-3 span,
  .product-card .absolute.top-3.right-3 span {
    width: fit-content !important;
    max-width: 100% !important;
    padding: .24rem .48rem !important;
    border-radius: 999px !important;
    font-size: .52rem !important;
    line-height: 1 !important;
    letter-spacing: .025em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .product-card .p-5,
  .product-card .p-4 {
    padding: .78rem .78rem .82rem !important;
  }

  .product-card-category {
    display: block;
  }

  .product-card h3 {
    min-height: 2.45rem !important;
    font-size: .9rem !important;
    line-height: 1.2 !important;
    margin-bottom: .42rem !important;
    -webkit-line-clamp: 2 !important;
  }

  .product-card p.text-gray-400 {
    min-height: 2.35rem !important;
    max-height: 2.35rem !important;
    font-size: .74rem !important;
    line-height: 1.42 !important;
    margin-bottom: .55rem !important;
    -webkit-line-clamp: 2 !important;
  }

  .product-card .flex.items-center.justify-between.mt-auto {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: .45rem !important;
    padding-top: .6rem !important;
    border-top-color: rgba(17, 17, 17, .06) !important;
  }

  .product-card .text-xl.font-black,
  .product-card .font-bold.text-marine.text-base {
    display: block !important;
    min-width: 0 !important;
    font-size: 1.05rem !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }

  .product-card .text-xl.font-black .block,
  .product-card .font-bold.text-marine.text-base .block {
    display: block !important;
    margin-top: .22rem !important;
    font-size: .58rem !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .product-card form.inline {
    width: auto !important;
    min-width: 0 !important;
  }

  .product-card .btn-cart,
  .product-card span.bg-gray-100 {
    width: 2.65rem !important;
    min-width: 2.65rem !important;
    max-width: 2.65rem !important;
    height: 2.65rem !important;
    min-height: 2.65rem !important;
    padding: 0 !important;
    border-radius: .72rem !important;
    justify-content: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .product-card .btn-cart svg {
    width: 1.08rem !important;
    height: 1.08rem !important;
    flex-shrink: 0 !important;
  }

  .product-card .btn-cart .add-label {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 9rem !important;
  }

  .product-card .p-5,
  .product-card .p-4 {
    padding: .62rem !important;
  }

  .product-card .text-xl.font-black,
  .product-card .font-bold.text-marine.text-base {
    font-size: .96rem !important;
  }

  .product-card .btn-cart,
  .product-card span.bg-gray-100 {
    width: 2.45rem !important;
    min-width: 2.45rem !important;
    max-width: 2.45rem !important;
    height: 2.45rem !important;
    min-height: 2.45rem !important;
  }
}

/* Cadrage final prioritaire des images produits */
.product-card .card-img {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

.product-card .card-img > div,
.product-card .card-img.h-40 {
  width: 100% !important;
  height: 15rem !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}

.product-card .card-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: .65rem !important;
  margin: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 767px) {
  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 10.5rem !important;
  }

  .product-card .card-img img {
    width: 100% !important;
    height: 100% !important;
    max-width: 94% !important;
    max-height: 94% !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: .35rem !important;
  }
}

.product-price-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .16rem !important;
  line-height: 1.05 !important;
}

.product-sale-price {
  display: block !important;
  color: #111 !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
}

.product-detail-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .22rem !important;
}

@media (max-width: 767px) {
  .product-sale-price {
    font-size: 1.04rem !important;
  }

  .product-detail-price .product-sale-price {
    font-size: 2rem !important;
  }
}

/* Correction definitive du cadrage des images produit */
.product-card .card-img {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

.product-card .card-img > div,
.product-card .card-img.h-40 {
  width: 100% !important;
  height: 13rem !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}

.product-card .card-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

@media (max-width: 767px) {
  .product-card .card-img {
    width: 100% !important;
  }

  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    width: 100% !important;
    height: 9.25rem !important;
    overflow: hidden !important;
  }

  .product-card .card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Correctif final mobile cartes produit :
   garder les produits 2 par 2, restaurer des tailles lisibles,
   et remplacer seulement le texte Ajouter par une icone panier. */
@media (max-width: 640px) {
  #produits .grid.grid-cols-2,
  .shop-page .grid.grid-cols-2,
  .grid.grid-cols-2.sm\:grid-cols-2 {
    gap: .85rem !important;
  }

  .product-card {
    border-radius: 1rem !important;
    border: 1px solid rgba(17,17,17,.08) !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.07) !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 10.75rem !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(17,17,17,.06) !important;
  }

  .product-card .card-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    padding: .45rem !important;
    margin: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .product-card .absolute.top-3.left-3 {
    display: none !important;
  }

  .product-card-category {
    display: block !important;
    margin: 0 0 .5rem !important;
    color: #b88a1d !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  .product-card .p-5,
  .product-card .p-4 {
    padding: .85rem !important;
  }

  .product-card h3 {
    min-height: 2.5rem !important;
    font-size: .95rem !important;
    line-height: 1.22 !important;
    margin-bottom: .45rem !important;
    -webkit-line-clamp: 2 !important;
  }

  .product-card p.text-gray-400 {
    min-height: 2.55rem !important;
    max-height: 2.55rem !important;
    font-size: .78rem !important;
    line-height: 1.42 !important;
    margin-bottom: .65rem !important;
    -webkit-line-clamp: 2 !important;
  }

  .product-card .flex.items-center.justify-between.mt-auto {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: .55rem !important;
    padding-top: .75rem !important;
  }

  .product-card .text-xl.font-black,
  .product-card .font-bold.text-marine.text-base {
    font-size: 1.08rem !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  .product-card .text-xl.font-black .block,
  .product-card .font-bold.text-marine.text-base .block {
    font-size: .62rem !important;
    line-height: 1.1 !important;
    margin-top: .2rem !important;
  }

  .product-card form.inline,
  .product-card form {
    width: auto !important;
    min-width: 0 !important;
  }

  .product-card .btn-cart {
    width: 2.75rem !important;
    min-width: 2.75rem !important;
    max-width: 2.75rem !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    padding: 0 !important;
    border-radius: .78rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .product-card .btn-cart svg {
    width: 1.18rem !important;
    height: 1.18rem !important;
  }

  .product-card .btn-cart .add-label {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 10rem !important;
  }

  .product-card h3 {
    font-size: .88rem !important;
  }

  .product-card p.text-gray-400 {
    font-size: .72rem !important;
  }

  .product-card .text-xl.font-black,
  .product-card .font-bold.text-marine.text-base {
    font-size: .98rem !important;
  }

  .product-card .btn-cart {
    width: 2.55rem !important;
    min-width: 2.55rem !important;
    max-width: 2.55rem !important;
    height: 2.55rem !important;
    min-height: 2.55rem !important;
  }
}

/* Cadrage final prioritaire des images produits */
.product-card .card-img {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

.product-card .card-img > div,
.product-card .card-img.h-40 {
  width: 100% !important;
  height: 13rem !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}

.product-card .card-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
  margin: 0 auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 767px) {
  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 9.25rem !important;
  }

  .product-card .card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Correctif ultime: packshots e-commerce non coupes */
.product-card .card-img {
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
}

.product-card .card-img > div,
.product-card .card-img.h-40 {
  width: 100% !important;
  height: 15rem !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}

.product-card .card-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 92% !important;
  max-height: 92% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: .65rem !important;
  margin: auto !important;
}

@media (max-width: 767px) {
  .product-card .card-img > div,
  .product-card .card-img.h-40 {
    height: 10.5rem !important;
  }

  .product-card .card-img img {
    max-width: 94% !important;
    max-height: 94% !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: .35rem !important;
  }
}
