/* ============================================================
   NUESTRAS LÍNEAS — Deal Card Carousel with Liquid Background
   ============================================================ */

/* --- Section base --- */
.lines-section {
    position: relative;
    padding: 70px 20px 60px;
    overflow: hidden;
    background: transparent !important;
}



/* --- Header --- */
.lines-header {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 36px;
}
.lines-header h2 {
    font-size: 2.6rem;
    font-weight: 300;
    color: #1a2a4a;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 14px;
    text-shadow: 0 2px 20px rgba(255,255,255,0.8);
}
.lines-header h2 strong { font-weight: 900; }
.lines-header p {
    color: #444;
    font-size: 1.05rem;
    line-height: 1.8;
    text-shadow: 0 1px 8px rgba(255,255,255,0.9);
}

/* --- Carousel wrapper --- */
.lines-carousel-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 1300px;
    margin: 0 auto;
}
.lines-track-container {
    overflow: hidden;
    width: 100%;
    padding: 24px 0;
    margin: -24px 0;
}
.lines-track {
    display: flex;
    gap: 22px;
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* --- Nav buttons --- */
.lines-nav-btn {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.9);
    background: rgba(255,255,255,0.65);
    backdrop-filter: blur(12px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: #1a2a4a;
    transition: all 0.25s ease;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    z-index: 10;
}
.lines-nav-btn:hover { background: rgba(26,42,74,0.9); color: #fff; border-color: transparent; transform: scale(1.08); }
.lines-nav-btn:disabled { opacity: 0.3; pointer-events: none; }

/* --- Dots --- */
.lines-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
    position: relative;
    z-index: 2;
}
.lines-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(26,42,74,0.25);
    cursor: pointer;
    transition: all 0.3s ease;
}
.lines-dot.active { width: 28px; border-radius: 4px; background: #1a2a4a; }

/* --- Cards --- */
.line-deal-card {
    flex: 0 0 calc(25% - 17px);
    border-radius: 22px;
    overflow: hidden;
    background: #ffffff;
    border: none;
    cursor: pointer;
    opacity: 0;  /* Hidden until deal animation fires */
    transition: transform 0.35s ease;
    text-decoration: none;
    display: block;
    color: inherit;
}
.line-deal-card:hover { transform: translateY(-8px) scale(1.02); }

/* --- Card visual area --- */
.ldc-visual {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
}
.ldc-visual img {
    width: 85%;
    height: 85%;
    object-fit: contain;
    display: block;
    position: relative;
    z-index: 1;
    transition: transform 0.4s ease;
    filter: drop-shadow(0 8px 20px rgba(0,0,0,0.25));
}
.line-deal-card:hover .ldc-visual img { transform: scale(1.08) translateY(-4px); }

/* Shimmer overlay */
.ldc-shimmer {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.30) 0%, transparent 55%);
    pointer-events: none;
    border-radius: 18px;
    z-index: 2;
}

/* Solid background color per line-type */
.lc-decorativa  .ldc-visual { background: linear-gradient(145deg, #e8c850, #c9a227); }
.lc-industrial  .ldc-visual { background: linear-gradient(145deg, #e74c3c, #c0392b); }
.lc-madera      .ldc-visual { background: linear-gradient(145deg, #c67c3a, #7d4e1e); }
.lc-trafico     .ldc-visual { background: linear-gradient(145deg, #2e86c1, #1a5276); }
.lc-automotriz  .ldc-visual { background: linear-gradient(145deg, #c060d0, #7b2fa0); }
.lc-marina      .ldc-visual { background: linear-gradient(145deg, #27ae60, #1e8449); }
.lc-limpieza    .ldc-visual { background: linear-gradient(145deg, #9b59b6, #6c3483); }

/* --- Card label --- */
.ldc-label {
    padding: 12px 10px 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: #fff;
}
.ldc-sub {
    font-size: 0.82rem;
    font-weight: 400;
    color: #666;
}
.ldc-name {
    font-size: 1rem;
    font-weight: 800;
    color: #1a2a4a;
}

/* --- Deal animations --- */
.line-deal-card.deal-center {
    animation: ldcDealCenter 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 0.2s;
}
@keyframes ldcDealCenter {
    0%   { opacity: 0; transform: translateY(140px) rotateY(360deg) scale(0.6); }
    40%  { opacity: 1; }
    75%  { transform: translateY(-12px) rotateY(8deg) scale(1.06); }
    90%  { transform: translateY(4px) rotateY(-2deg) scale(0.99); }
    100% { opacity: 1; transform: translateY(0) rotateY(0deg) scale(1); }
}

.line-deal-card.deal-spread {
    animation: ldcDealSpread 1.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: var(--deal-delay, 0s);
}
@keyframes ldcDealSpread {
    0%   { opacity: 0; transform: translateX(var(--spread-from, 0px)) scale(0.9) rotateY(var(--spread-rot, 30deg)); }
    50%  { opacity: 1; }
    80%  { transform: translateX(calc(var(--spread-from, 0px)*-0.03)) translateY(-6px) scale(1.02) rotateY(0deg); }
    92%  { transform: translateX(0) translateY(3px) scale(0.99); }
    100% { opacity: 1; transform: translateX(0) translateY(0) scale(1); }
}

/* --- Responsive --- */
@media (max-width: 900px) { .line-deal-card { flex: 0 0 calc(50% - 11px); } }
@media (max-width: 500px) { .line-deal-card { flex: 0 0 85%; } .lines-header h2 { font-size: 1.8rem; } }
