/*
 * carousel-elegant.css
 * Platesfull UAT Design System — Elegant Carousel Arrows & Dots
 * Applied globally across all slick slider instances
 */

/* ─── Custom Arrow Buttons ─── */
/*
 * Slick injects custom prevArrow/nextArrow HTML inside .slick-slider,
 * which has position:relative by default. Arrows are absolutely positioned
 * relative to .slick-slider, centred vertically, sitting at the left/right
 * edges of the track so they don't obscure card content.
 */
.pf-slick-prev,
.pf-slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1.5px solid #c45c3e;
    border-radius: 50%;
    cursor: pointer;
    color: #c45c3e;
    box-shadow: 0 2px 12px rgba(196, 92, 62, 0.18);
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    outline: none;
    padding: 0;
    flex-shrink: 0;
}

.pf-slick-prev:hover,
.pf-slick-next:hover {
    background: #c45c3e;
    color: #ffffff;
    border-color: #c45c3e;
    box-shadow: 0 4px 18px rgba(196, 92, 62, 0.32);
}

.pf-slick-prev:focus-visible,
.pf-slick-next:focus-visible {
    outline: 2px solid #c45c3e;
    outline-offset: 3px;
}

.pf-slick-prev.slick-disabled,
.pf-slick-next.slick-disabled {
    opacity: 0.28;
    cursor: default;
    pointer-events: none;
}

/* Left arrow: sits at left edge of track */
.pf-slick-prev {
    left: 6px;
}
/* Right arrow: sits at right edge of track */
.pf-slick-next {
    right: 6px;
}

/* Mobile: smaller arrows, stay visible */
@media (max-width: 575px) {
    .pf-slick-prev,
    .pf-slick-next {
        width: 34px;
        height: 34px;
        box-shadow: 0 2px 8px rgba(196, 92, 62, 0.22);
    }
    .pf-slick-prev { left: 4px; }
    .pf-slick-next { right: 4px; }
}

/* SVG icon inside button */
.pf-slick-prev svg,
.pf-slick-next svg {
    display: block;
    width: 9px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
    pointer-events: none;
}

/* ─── Override any leftover default Slick arrows (Font Awesome style) ─── */
/* Slick also adds .slick-prev/.slick-next to custom arrows — use :not() to
   only hide the default ones, never our .pf-slick-* buttons */
.slick-prev:not(.pf-slick-prev),
.slick-next:not(.pf-slick-next) {
    display: none !important;
}

/* Slick-theme.css sets width/height/bg/border/color on .slick-prev/.slick-next.
   Override those for our custom buttons since slick adds those classes to them. */
.pf-slick-prev.slick-prev,
.pf-slick-next.slick-next {
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1.5px solid #c45c3e;
    color: #c45c3e;
    font-size: inherit;
    line-height: normal;
}
.pf-slick-prev.slick-prev:hover,
.pf-slick-next.slick-next:hover {
    background: #c45c3e;
    color: #ffffff;
}
@media (max-width: 575px) {
    .pf-slick-prev.slick-prev,
    .pf-slick-next.slick-next {
        width: 34px;
        height: 34px;
    }
}

/* ─── Dot Indicators ─── */
.slick-dots {
    position: relative;
    bottom: auto;
    margin-top: 20px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 0;
}

.slick-dots li {
    width: auto;
    height: auto;
    margin: 0;
}

.slick-dots li button {
    width: 8px;
    height: 8px;
    background: #c45c3e;
    border-radius: 50%;
    border: none;
    padding: 0;
    opacity: 0.25;
    transition: opacity 0.2s ease, width 0.25s ease, border-radius 0.25s ease;
    font-size: 0;
    cursor: pointer;
    display: block;
}

.slick-dots li button::before {
    display: none !important;
}

.slick-dots li.slick-active button {
    opacity: 1;
    width: 22px;
    border-radius: 4px;
}

/* ─── Slide spacing: consistent gutter between cards ─── */
.slick-list {
    overflow: hidden;
    margin: 0 -8px;
}

.slick-slide > div {
    padding: 0 8px;
}

/* Make all card types fill their column naturally */
.slick-slide .chef-card,
.slick-slide .chef-card-modern,
.slick-slide .city-landing-slider-card,
.slick-slide .menu-card,
.slick-slide .city-landing-menu-card,
.slick-slide .party-helper-card {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
}
