/* ElbaMyLove - scheda-shopping.css : specifici della scheda NEGOZIO (ShoppingDetail).
   Nato da scheda-mangiare.css (la scheda e' un duplicato adattato), ma FILE SEPARATO:
   contratto di isolamento, una modifica al Mangiare non deve toccare lo Shopping. */
.elm-twocol-right{ overflow:visible; }   /* Negozio: sidebar non scrolla (override del condiviso) */
/* ---- reparti: cosa trovi in negozio ---- */
            /* La cucina: niente pill -> icone GRANDI con etichetta sotto (icona = mask
               .elm-am-ico colorata da --svc-tint, oppure SVG inline di fallback). */
            .shp-reparti-wrap{display:flex;flex-wrap:wrap;gap:2rem 2.8rem;margin-top:.4rem}
            .shp-reparti-item{display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;--svc-tint:var(--gold-dk,#8a6a38)}
            .shp-reparti-item .elm-am-ico,.shp-reparti-item svg,.shp-reparti-item img{width:56px;height:56px;display:inline-block}
            .shp-reparti-item .lbl{font-family:'Lora',serif;font-size:1.15rem;color:var(--ink);line-height:1.1}
            @media (max-width:560px){.shp-reparti-wrap{gap:1.5rem 2.1rem}.shp-reparti-item .elm-am-ico,.shp-reparti-item svg,.shp-reparti-item img{width:46px;height:46px}.shp-reparti-item .lbl{font-size:1.05rem}}
/* ---- catalogo prodotti (VETRINA, non e-commerce: niente carrello/checkout) ---- */
.shp-cat-sec{margin-bottom:1.9rem}
.shp-cat-sec:last-child{margin-bottom:0}
.shp-cat-sec-h{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk);margin:0 0 .9rem}
.shp-cat-sec-desc{font-size:.92rem;color:var(--ink-2);margin:-.5rem 0 .9rem;line-height:1.55}
.shp-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:1.2rem}
.shp-cat-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.shp-cat-media{aspect-ratio:4/3;background:var(--sand-lt,#f6f1e8);overflow:hidden}
.shp-cat-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.shp-cat-card:hover .shp-cat-media img{transform:scale(1.04)}
.shp-cat-body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.shp-cat-name{font-family:'Lora',serif;font-size:1.08rem;color:var(--ink);line-height:1.25}
.shp-cat-desc{font-size:.9rem;color:var(--ink-2);line-height:1.5}
.shp-cat-desc p{margin:0 0 .4rem}
.shp-cat-desc p:last-child{margin-bottom:0}
.shp-cat-price{margin-top:auto;padding-top:.55rem;font-family:'Lora',serif;font-weight:600;color:var(--gold-dk);display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.shp-cat-price em{font-size:.85rem;font-weight:400;font-style:italic;color:var(--ink-2)}
.shp-cat-price .old{font-weight:400;font-size:.92rem;color:var(--ink-3,#9a8f7a);text-decoration:line-through}
.shp-cat-price .new{color:#a23617}
.shp-cat-price .old + .new{font-size:1.1rem}
/* Avviso placeholder: volutamente vistoso, non deve poter passare inosservato */
.shp-cat-demo{display:flex;align-items:flex-start;gap:.6rem;margin:-.4rem 0 1.2rem;padding:.75rem 1rem;border:1.5px dashed #e0b400;border-radius:10px;background:#fffaea;color:#6b5300;font-size:.9rem;line-height:1.5}
.shp-cat-demo i{color:#e0b400;font-size:1.05rem;margin-top:.1rem}
.shp-cat-demo code{background:#fff;border:1px solid #ecdca8;border-radius:5px;padding:0 .3rem;font-size:.85rem}
@media (max-width:560px){.shp-cat-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.9rem}}
/* ---- sidebar indirizzo + prenota CTA ---- */
        /* Riusa il GUSCIO + il FOOT della card Dormire (.elm-side-form / .elm-side-form-foot
           / .elm-trust-row). Qui CTA primaria "ricca" + contatti rifiniti + rassicurazione. */
        .shp-side-addr{font-size:.82rem;color:var(--ink-2);margin-top:.5rem;display:flex;gap:.35rem;align-items:flex-start;justify-content:center}
        .shp-side-addr i{color:var(--gold-dk);margin-top:.15rem}
        .shp-side-open{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;font-size:.8rem;font-weight:600;padding:.3rem .8rem;border-radius:999px}
        .shp-side-open.is-year{background:#e9f5ec;color:#1f7a35}
        .shp-side-open.is-seasonal{background:var(--ivory);color:var(--gold-dk)}
        .shp-side-open i{font-size:.95rem}
        /* CTA primaria ricca: icona in cerchio + titolo + sottotitolo + freccia */
        .shp-side-cta{display:flex;align-items:center;gap:.8rem;width:100%;padding:.85rem 1rem;border-radius:12px;text-decoration:none;color:#fff;background:var(--cta,#df6834);box-shadow:0 12px 24px -10px rgba(223,104,52,.55);transition:transform .15s,box-shadow .2s,filter .2s}
        .shp-side-cta:hover{filter:brightness(.93);color:#fff;transform:translateY(-1px);box-shadow:0 16px 30px -10px rgba(223,104,52,.6)}
        .shp-side-cta.is-wa{background:#25D366;box-shadow:0 12px 24px -10px rgba(37,211,102,.5)}
        .shp-side-cta.is-wa:hover{background:#1da851}
        .shp-side-cta .ic{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
        .shp-side-cta .tx{display:flex;flex-direction:column;line-height:1.25;flex:1;min-width:0}
        .shp-side-cta .tx .t1{font-weight:700;font-size:1rem}
        .shp-side-cta .tx .t2{font-size:.75rem;opacity:.9;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .shp-side-cta .ar{font-size:1rem;opacity:.85;flex-shrink:0;transition:transform .2s}
        .shp-side-cta:hover .ar{transform:translateX(3px)}
        /* Forzo il bianco su testo+icone della CTA: il tema (GoodLayers) imporrebbe
           il colore link scuro con specificita' alta -> testo illeggibile su marrone. */
        .elm-side-form .shp-side-cta,
        .elm-side-form .shp-side-cta:hover,
        .elm-side-form .shp-side-cta .t1,
        .elm-side-form .shp-side-cta .t2,
        .elm-side-form .shp-side-cta i{color:#fff !important}
        /* Separatore "oppure" */
        .shp-side-or{display:flex;align-items:center;gap:.7rem;margin:1.1rem 0;color:var(--mute,#9a958b);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
        .shp-side-or::before,.shp-side-or::after{content:"";flex:1;height:1px;background:var(--line)}
        /* Contatti rifiniti (outline morbido) */
        .shp-side-contacts{display:flex;flex-direction:column;gap:.5rem}
        .shp-side-c{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;transition:border-color .2s,background .2s,color .2s}
        .shp-side-c i{font-size:1.05rem;color:var(--cta,#df6834)}
        .shp-side-c b{font-weight:600;margin-left:auto;color:var(--ink-2);font-size:.86rem}
        .shp-side-c:hover{border-color:var(--cta,#df6834);color:var(--cta,#df6834);background:#fdf0ec}
        .shp-side-c.wa i{color:#25D366}
        .shp-side-c.wa:hover{border-color:#25D366;color:#1da851;background:#f1fbf4}
/* ---- orari negozio (formato 2) ---- */
                .elm-hours2-title{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dk);margin:1rem .95rem .45rem}
                .elm-hours2{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 .95rem}
                .elm-hours2-state{font-weight:600;font-size:.92rem;padding:.7rem .95rem;border-bottom:1px solid var(--line)}
                .elm-hours2.is-open .elm-hours2-state{color:#1c7a3f}
                .elm-hours2.is-closed .elm-hours2-state{color:#b23b2e}
                .elm-hours2-list{list-style:none;margin:0;padding:.3rem}
                .elm-hours2-list .elm-hr-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.3rem .6rem;border-radius:7px;font-size:.9rem;color:var(--ink-2);line-height:1.2}
                .elm-hours2-list .elm-hr-row .d{flex:0 0 auto;text-transform:capitalize}
                .elm-hours2-list .elm-hr-row .h{text-align:right}
                .elm-hours2-list .elm-hr-row .h.closed{color:var(--ink-3,#9a8f7a)}
                .elm-hours2-list .elm-hr-row.is-today{background:var(--sand-lt,#f6f1e8);font-weight:700;color:var(--ink)}
                .elm-hours2-list .elm-hr-row.is-today .h.closed{color:#b23b2e}
/* ---- fascia Prenota un appuntamento ---- */
.shp-bk-band{background:linear-gradient(180deg,#fff,#faf6f1);border-top:1px solid #ece1d6;border-bottom:1px solid #ece1d6;padding:3rem 1.4rem}
.shp-bk-inner{max-width:860px;margin:0 auto}
.shp-bk-head{text-align:center;margin-bottom:2rem}
.shp-bk-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#a23617;margin-bottom:.5rem}
.shp-bk-h2{font-family:'Lora',serif;font-size:1.9rem;color:#2a2018;margin:0 0 .6rem}
.shp-bk-h2 em{font-style:italic;color:#a23617}
.shp-bk-sub{color:#5a4a3c;font-size:1rem;line-height:1.6;max-width:620px;margin:0 auto}
/* Label e campi standard = stile CONDIVISO Dormire/Preventivo (.fullwidth +
   .form-control-lg dentro .htmlFullList). Qui solo i due selettori a CARD. */
.shp-bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.3rem}
.shp-bk-day{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.7rem .2rem;background:#fff;border:1.5px solid #ece1d6;border-radius:12px;cursor:pointer;transition:all .15s;font-family:inherit}
.shp-bk-day:hover{border-color:#c9a96b}
.shp-bk-day .dow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#9a8f7c}
.shp-bk-day .dnum{font-size:1.3rem;font-weight:700;color:#2a2018;line-height:1}
.shp-bk-day .mon{font-size:.75rem;color:#9a8f7c;text-transform:uppercase}
.shp-bk-day.is-sel{border-color:#c44a26;background:#fbeee8}
.shp-bk-day.is-sel .dnum,.shp-bk-day.is-sel .dow,.shp-bk-day.is-sel .mon{color:#a23617}
/* ORARIO a CARD (fasce Pranzo/Cena), stesso linguaggio delle card giorno */
.shp-bk-times{display:flex;flex-direction:column;gap:.95rem;margin-bottom:1.6rem}
.shp-bk-tgl{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9a8f7c;margin-bottom:.45rem;display:flex;align-items:center;gap:.35rem}
.shp-bk-tgl i{color:#c44a26}
.shp-bk-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:.45rem}
.shp-bk-time{padding:.6rem .3rem;background:#fff;border:1.5px solid #ece1d6;border-radius:10px;cursor:pointer;font-family:inherit;font-size:.98rem;font-weight:600;color:#2a2018;transition:all .15s;text-align:center}
.shp-bk-time:hover{border-color:#c9a96b}
.shp-bk-time.is-sel{border-color:#c44a26;background:#fbeee8;color:#a23617}
.shp-bk-status{display:none;margin-top:1rem;padding:.8rem 1rem;border-radius:9px;font-size:.92rem;font-weight:500}
.shp-bk-status.is-error{display:block;background:#fbe7e2;color:#a23617;border:1px solid #f0c9bd}
.shp-bk-status.is-ok{display:block;background:#e9f5ec;color:#1f7a35;border:1px solid #bfe4c8}
.shp-bk-done{display:none;text-align:center;padding:2rem 1rem}
.shp-bk-done.is-on{display:block}
.shp-bk-done .ico{width:60px;height:60px;border-radius:50%;background:#e9f5ec;color:#1f7a35;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1rem}
.shp-bk-done .big{font-family:'Lora',serif;font-size:1.4rem;color:#2a2018;margin-bottom:.4rem}
.shp-bk-done p{color:#5a4a3c;margin:0}
@media (max-width:680px){.shp-bk-days{grid-template-columns:repeat(4,1fr)}.shp-bk-grid{grid-template-columns:1fr}}

/* ---- appuntamento: fasce orarie REALI + motivo ---- */
/* Le fasce sono rigenerate dal JS a ogni cambio giorno, leggendo data-slots
   della card giorno (orari veri dal CMS). Un giorno di chiusura non mostra
   slot ma un messaggio: mai far scegliere un orario in cui il negozio e' chiuso. */
.shp-ap-tblock + .shp-ap-tblock{margin-top:.95rem}
.shp-ap-noslot{padding:.9rem 1rem;border:1.5px dashed #ece1d6;border-radius:10px;background:#faf6f1;color:#9a8f7c;font-size:.92rem}
.shp-ap-motivi{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.3rem}
.shp-ap-motivo{padding:.55rem .95rem;background:#fff;border:1.5px solid #ece1d6;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.92rem;color:#2a2018;transition:all .15s}
.shp-ap-motivo:hover{border-color:#c9a96b}
.shp-ap-motivo.is-sel{border-color:#c44a26;background:#fbeee8;color:#a23617;font-weight:600}

/* ---- offerte: riga descrizione breve (solo scheda negozio) ---- */
.elm-promo-desc{margin:.35rem 0 .1rem;font-size:.88rem;line-height:1.5;color:var(--ink-2)}
