/* ==========================================================
   Special Pizzas Widget v1.1 — spw-style.css
   Cartes blanches, fond image dégradé chaud, bouton thème
   ========================================================== */

.spw-section {
    --spw-accent:     #C8882A;
    --spw-section-bg: #f5f0e8;
    --spw-text-dark:  #1a1108;
    --spw-text-muted: #7a6a55;
    --spw-radius:     16px;
    --spw-gap:        24px;

    background: var(--spw-section-bg);
    padding: 80px 40px;
    font-family: 'Georgia', 'Times New Roman', serif;
}

/* ── Header ──────────────────────────────────────────────── */




/* ── Grid ────────────────────────────────────────────────── */
.spw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--spw-gap);
    max-width: 1160px;
    margin: 0 auto;
}

/* ── Card ────────────────────────────────────────────────── */
.spw-card {
    background: #ffffff;
    border-radius: var(--spw-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow:
        0 2px 12px rgba(0,0,0,.08),
        0 1px 3px rgba(0,0,0,.04);
    transition:
        transform .4s cubic-bezier(.25,.8,.25,1),
        box-shadow .4s ease;
}
.spw-card:hover {
    transform: translateY(-7px);
    box-shadow:
        0 18px 48px rgba(0,0,0,.13),
        0 4px 12px rgba(0,0,0,.07);
}
.spw-card:hover .spw-img {
    transform: scale(1.06);
}

/* ── Image zone — fond dégradé chaud crème/sable ────────── */
.spw-image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: var(--spw-radius) var(--spw-radius) 0 0;
    /* Dégradé chaud qui encadre joliment les pizzas
       avec fond blanc ou transparent */
    background: radial-gradient(
        ellipse at 55% 45%,
        #f4ead6 0%,
        #e6d0a2 50%,
        #cdb06a 100%
    );
}

.spw-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.spw-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .65s cubic-bezier(.25,.8,.25,1);
    /* Fond blanc de l'image se fond dans le dégradé crème */
    mix-blend-mode: multiply;
}

.spw-img--placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e6d0a2 0%, #cdb06a 100%);
}

/* ── Body ────────────────────────────────────────────────── */
.spw-body {
    padding: 18px 20px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.spw-description {
    font-size: .82rem;
    color: var(--spw-text-muted);
    line-height: 1.65;
    margin: 0 0 14px;
    font-style: italic;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Footer : prix + nom ─────────────────────────────────── */
.spw-footer {
    margin-bottom: 18px;
}

.spw-price {
    color: var(--spw-accent);
    font-size: .85rem;
    font-family: Arial, sans-serif;
    font-weight: 600;
    letter-spacing: .02em;
    margin-bottom: 4px;
}
.spw-price .woocommerce-Price-amount,
.spw-price bdi { color: inherit; font-size: inherit; font-weight: inherit; }
.spw-price ins  { text-decoration: none; }

.spw-name {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -.01em;
}
.spw-name a {
    color: var(--spw-text-dark);
    text-decoration: none;
    transition: color .25s ease;
}
.spw-name a:hover {
    color: var(--spw-accent);
}


/* Force le bouton du thème à occuper toute la carte */
.spw-btn-wrap .theme-btn.spw-cart-btn {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box;
    cursor: pointer;
    border: none;
}

/* ── Fallback ────────────────────────────────────────────── */
.spw-no-products {
    text-align: center;
    color: #888;
    font-style: italic;
    padding: 32px;
}

/* ── Responsive ──────────────────────────────────────────── */
@media ( max-width: 768px ) {
    .spw-section { padding: 52px 20px; }
    .spw-grid    { grid-template-columns: 1fr; gap: 18px; }
    .spw-card:hover { transform: none; }
}
@media ( max-width: 480px ) {
    .spw-section { padding: 36px 14px; }
}
