/* -----------------------------------------------------------------
   CARD CONTAINER
----------------------------------------------------------------- */
.product-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
    max-width: 340px;          /* desktop */
    width: 100%;               /* full width of parent */
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,.05);
    transition: transform .2s ease;
    box-sizing: border-box;
    margin: 0 auto;            /* center align */
}
.product-card:hover { transform: translateY(-5px); }

/* -----------------------------------------------------------------
   FLIP CARD (image)
----------------------------------------------------------------- */
.flip-card {
    perspective: 1000px;
    max-width: 260px;
    max-height: 260px;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto 15px;
    cursor: pointer;
    overflow: hidden;
}
.flip-card-inner { position: relative; width: 100%; height: 100%; transition: transform .6s; transform-style: preserve-3d; }
.flip-card.flipped .flip-card-inner { transform: rotateY(180deg); }

.flip-card-front, .flip-card-back {
    position: absolute; width: 100%; height: 100%; backface-visibility: hidden; border-radius: 5px;
}
.flip-card-front { background: #fff; overflow: hidden; }
.flip-card-back {
    background: #f9f9f9; transform: rotateY(180deg);
    display: flex;
    align-items: flex-start;   /* Changed to flex-start for top alignment */
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    overflow-y: auto;          /* Specific vertical scroll */
    font-size: 14px;
    color: #333;
    column-count: 1;
    text-align: left;          /* Optional: left-align text for better readability */
}
.flip-card-back * { column-count: 1 !important; }
.product-image { width: 100%; height: 100%; object-fit: contain; border-radius: 5px; }

/* -----------------------------------------------------------------
   TEXT
----------------------------------------------------------------- */
.product-name { font-size: 18px; margin-bottom: 5px; color: #333; }
.product-ref { font-size: 14px; color: #666; margin-bottom: 10px; }

/* -----------------------------------------------------------------
   BUTTONS
----------------------------------------------------------------- */
.product-buttons {
    display: flex;
    gap: 10px;                 /* slightly less gap */
    justify-content: center;
    margin-top: 12px;
    flex-wrap: wrap;           /* wrap when needed */
}
.copy-btn {
    background: #0274be;
    color: #fff;
    border: none;
    padding: 8px 14px;         /* reduced padding */
    font-size: 14px;
    border-radius: 5px;
    cursor: pointer;
    transition: all .3s ease;
    min-width: 90px;           /* reduced from 110px */
    white-space: nowrap;
}
.copy-btn:hover { background: #6EC1E4; }
.copy-btn:active { transform: scale(.98); }
.feedback { margin-top: 10px; font-size: 12px; color: #28a745; display: none; }

/* -----------------------------------------------------------------
   RESPONSIVE BREAKPOINTS
----------------------------------------------------------------- */

/* 1. Large tablets / small desktops (≤1024px) */
@media (max-width: 1024px) {
    .product-card { max-width: 300px; padding: 18px; }
    .flip-card { max-width: 220px; max-height: 220px; }
    .copy-btn { font-size: 13px; padding: 7px 12px; min-width: 85px; }
    .flip-card-back { padding: 15px; font-size: 13px; }  /* Adjust for smaller screens */
}

/* 2. “In-between” tablet-phone zone (≤900px) */
@media (max-width: 900px) {
    .product-card { max-width: 280px; padding: 16px; }
    .flip-card { max-width: 200px; max-height: 200px; }
    .product-buttons { gap: 8px; }
    .copy-btn { font-size: 12px; padding: 6px 10px; min-width: 80px; }
    .flip-card-back { padding: 12px; font-size: 12px; }
}

/* 3. Smaller tablets / large phones (≤600px) */
@media (max-width: 600px) {
    .product-card { max-width: 240px; padding: 14px; }
    .flip-card { max-width: 180px; max-height: 180px; }
    .product-buttons { flex-direction: column; gap: 6px; }
    .copy-btn { font-size: 12px; padding: 6px 10px; min-width: 0; margin: 0; }
    .flip-card-back { padding: 10px; font-size: 12px; }
}

/* 4. Very small phones (≤480px) */
@media (max-width: 480px) {
    .product-card { max-width: 100%; padding: 12px; }
    .flip-card { max-width: 160px; max-height: 160px; }
    .product-name { font-size: 16px; }
    .product-ref { font-size: 13px; }
    .flip-card-back { padding: 8px; font-size: 11px; }
}