/* ============================================================
   LUX NAIL SPA — Services Page Styles
   Consistent with home-page.css color palette:
     Gold:   #C9A96E
     Dark:   #1C1C1C
     Cream:  #FDF8F2
     Muted:  #7A6A5A
     Border: #E8DFD0
============================================================ */

/* ── Page wrapper ── */
.sp-section {
    background: #FDF8F2;
    padding: 60px 0 80px;
    min-height: 60vh;
}

.sp-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Page Header ── */
.sp-page-header {
    text-align: center;
    margin-bottom: 52px;
}

.sp-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #C9A96E;
    margin-bottom: 10px;
}

.sp-page-title {
    font-family: 'Quicksand', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 700;
    color: #1C1C1C;
    margin-bottom: 10px;
}

.sp-page-sub {
    font-size: 15px;
    color: #7A6A5A;
    margin-bottom: 20px;
}

.sp-divider {
    display: flex;
    justify-content: center;
}
.sp-divider span {
    display: block;
    width: 60px;
    height: 3px;
    background: #C9A96E;
    border-radius: 2px;
}

/* ── Category Block ── */
.sp-cat-block {
    background: #fff;
    border: 1px solid #E8DFD0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.04);
}

.sp-mt {
    margin-top: 28px;
}

.sp-cat-header {
    background: #1C1C1C;
    padding: 14px 28px;
}
.sp-cat-header h2 {
    color: #C9A96E;
    font-family: 'Quicksand', sans-serif;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0;
}

/* ── Pedicure Cards ── */
.sp-ped-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.sp-ped-card {
    padding: 26px 20px;
    border-right: 1px solid #E8DFD0;
    position: relative;
    transition: background 0.2s;
}
.sp-ped-card:last-child {
    border-right: none;
}
.sp-ped-card:hover {
    background: #FDF8F2;
}
.sp-ped-card.popular {
    background: linear-gradient(160deg, #FDF6EC 0%, #fff 100%);
}
.sp-ped-card.royal {
    background: linear-gradient(160deg, #F5F0E8 0%, #fff 100%);
}

.sp-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
}
.sp-badge-gold {
    background: #C9A96E;
    color: #1C1C1C;
}
.sp-badge-dark {
    background: #1C1C1C;
    color: #C9A96E;
}

.sp-ped-top {
    margin-bottom: 14px;
    padding-right: 52px;
}
.sp-ped-name {
    font-family: 'Quicksand', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #1C1C1C;
    margin-bottom: 6px;
    line-height: 1.3;
}
.sp-ped-price {
    font-size: 26px;
    font-weight: 700;
    color: #C9A96E;
    font-family: 'Quicksand', sans-serif;
    display: block;
}

.sp-ped-features {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sp-ped-features li {
    font-size: 13px;
    color: #5A4E42;
    padding: 5px 0 5px 16px;
    position: relative;
    line-height: 1.5;
    border-top: 1px solid #F0EAE0;
}
.sp-ped-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 5px;
    color: #C9A96E;
    font-size: 11px;
    font-weight: 700;
}

/* ── Foot Massage Bar ── */
.sp-foot-bar {
    background: #1C1C1C;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding: 18px 28px;
    flex-wrap: wrap;
}

.sp-foot-label {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #C9A96E;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sp-foot-options {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.sp-foot-opt {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sp-ft-time {
    font-size: 14px;
    color: rgba(255,255,255,0.65);
}
.sp-ft-price {
    font-size: 20px;
    font-weight: 700;
    color: #C9A96E;
}
.sp-ft-dot {
    color: rgba(255,255,255,0.2);
    font-size: 18px;
}

/* ── Price Grid ── */
.sp-price-grid {
    padding: 8px 28px 20px;
}
.sp-price-grid.two-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
}
.sp-price-grid.single-col {
    display: grid;
    grid-template-columns: 1fr;
}

.sp-pl-item {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 11px 0;
    border-bottom: 1px solid #F0EAE0;
}
.sp-pl-item:last-child {
    border-bottom: none;
}
.sp-pl-name {
    font-size: 14px;
    color: #3A3028;
    font-weight: 500;
    white-space: nowrap;
}
.sp-pl-dots {
    flex: 1;
    border-bottom: 1px dotted #C9B99A;
    min-width: 20px;
    margin: 0 6px 3px;
}
.sp-pl-price {
    font-size: 15px;
    font-weight: 700;
    color: #C9A96E;
    white-space: nowrap;
}

/* ── Two-col layout for Add-ons & Waxing ── */
.sp-two-col-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.sp-cat-block.half {
    /* inherits sp-cat-block */
}

/* ── Notice & CTA ── */
.sp-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 32px;
    padding: 14px 20px;
    background: #fff;
    border: 1px solid #E8DFD0;
    border-left: 4px solid #C9A96E;
    border-radius: 4px;
    font-size: 13px;
    color: #7A6A5A;
    font-style: italic;
}
.sp-notice i {
    color: #C9A96E;
    font-size: 16px;
    flex-shrink: 0;
}

.sp-cta {
    text-align: center;
    margin-top: 48px;
}

/* ── Reuse btn-lux from home-page (redeclare for standalone) ── */
.btn-lux {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 32px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    transition: all 0.3s ease;
    cursor: pointer;
}
.btn-lux-gold {
    background: #C9A96E;
    color: #1C1C1C;
    border: 2px solid #C9A96E;
}
.btn-lux-gold:hover {
    background: #b8924f;
    border-color: #b8924f;
    color: #1C1C1C;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .sp-ped-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .sp-ped-card:nth-child(2) {
        border-right: none;
    }
    .sp-ped-card:nth-child(1),
    .sp-ped-card:nth-child(2) {
        border-bottom: 1px solid #E8DFD0;
    }
}

@media (max-width: 768px) {
    .sp-section {
        padding: 40px 0 60px;
    }
    .sp-ped-grid {
        grid-template-columns: 1fr;
    }
    .sp-ped-card {
        border-right: none;
        border-bottom: 1px solid #E8DFD0;
    }
    .sp-ped-card:last-child {
        border-bottom: none;
    }
    .sp-price-grid.two-col {
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .sp-two-col-row {
        grid-template-columns: 1fr;
    }
    .sp-foot-bar {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
    .sp-foot-options {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .sp-price-grid {
        padding: 8px 16px 16px;
    }
    .sp-cat-header {
        padding: 12px 16px;
    }
    .sp-ped-card {
        padding: 20px 16px;
    }
}
