/* ==========================================================================
   iSpazio Theme — Sidebar Widget Styles
   Loaded on homepage and single post pages.
   ========================================================================== */

/* --- Base widget --- */
.isp-widget{background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);padding:20px;box-shadow:var(--isp-shadow-sm);min-width:0;max-width:100%}
.isp-widget-wc-promo,.isp-widget-deals-promo{overflow:hidden;contain:layout}
.isp-widget-wc-promo .isp-wc-promo--a,.isp-widget-deals-promo .isp-deals-promo--a{min-width:0;width:auto}
.isp-widget__title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--isp-mute);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--isp-border-soft);display:flex;align-items:center;gap:8px}

/* --- Poll --- */
.isp-widget-poll__question{font-size:16px;font-weight:600;line-height:1.4;margin:0 0 14px;color:var(--isp-ink)}
.isp-widget-poll__options{display:flex;flex-direction:column;gap:8px}
.isp-widget-poll__option{position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--isp-border);border-radius:var(--isp-radius-sm);background:var(--isp-bg);cursor:pointer;font-size:14px;text-align:left;transition:border-color .15s;overflow:hidden}
.isp-widget-poll__option input[type="radio"]{flex-shrink:0;margin:0;width:18px;height:18px;accent-color:var(--isp-brand)}
.isp-widget-poll__option:hover:not([disabled]){border-color:var(--isp-brand)}
.isp-widget-poll__option--voted{cursor:default}
.isp-widget-poll__option--selected{border-color:#e5f5ec;background:rgb(231 245 238)}
.isp-widget-poll__option--selected::before{content:"✓";position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:2;color:var(--isp-success);font-weight:700;font-size:14px;line-height:1}
.isp-widget-poll__label{position:relative;z-index:1;color:var(--isp-ink)}
.isp-widget-poll__option--selected .isp-widget-poll__label{padding-left:18px;color:var(--isp-success);font-weight:600}
.isp-widget-poll__pct{position:relative;z-index:1;font-weight:700;color:var(--isp-ink);font-size:13px;margin-left:auto}
.isp-widget-poll__option--selected .isp-widget-poll__pct{color:var(--isp-success)}
.isp-widget-poll__bar{position:absolute;left:0;top:0;height:100%;background:var(--isp-brand-soft);transition:width .5s ease;z-index:0}
.isp-widget-poll__option--selected .isp-widget-poll__bar{background:rgba(45,122,111,.22)}
.isp-widget-poll__vote-btn{display:block;width:100%;margin-top:14px;padding:10px;border:none;border-radius:var(--isp-radius-sm);background:var(--isp-brand);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.isp-widget-poll__vote-btn:hover{background:var(--isp-brand-dark,#1550b0)}
.isp-widget-poll__vote-btn:disabled{opacity:.6;cursor:not-allowed}
.isp-widget__title-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--isp-border-soft)}
.isp-widget__title-row .isp-widget__title{margin:0;padding:0;border:none}
.isp-widget-poll__total{font-size:12px;color:var(--isp-mute);margin:0;white-space:nowrap}

/* --- Live Event --- */
.isp-widget-live-event__cover{position:relative;border-radius:var(--isp-radius-sm);overflow:hidden;margin-bottom:12px}
.isp-widget-live-event__cover img{width:100%;height:auto;display:block}
.isp-widget-live-event__badge{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#fff;display:inline-flex;align-items:center;gap:4px}
.isp-widget-live-event__badge--scheduled{background:var(--isp-brand)}
.isp-widget-live-event__badge--live{background:var(--isp-live);animation:isp-pulse 1.5s infinite}
.isp-widget-live-event__badge--ended{background:var(--isp-mute)}
.isp-widget-live-event__dot{width:8px;height:8px;border-radius:50%;background:var(--isp-live);display:inline-block;animation:isp-pulse 1.5s infinite}
.isp-widget-live-event__title{font-size:16px;font-weight:600;line-height:1.35;margin:0 0 6px}
.isp-widget-live-event__title a{color:inherit;text-decoration:none}
.isp-widget-live-event__title a:hover{color:var(--isp-brand)}
.isp-widget-live-event__date{font-size:13px;color:var(--isp-mute);margin:0 0 12px}
/* ──────────────────────────────────────────────────────
   Sidebar CTA buttons — stile unificato (singola fonte di veritá)
   Tutti i bottoni "blu pieno full-width" hanno IDENTICHE
   dimensioni: padding 10px, font 14px/600, radius 8px, line-height 1.2
   → garantisce stessa altezza visiva su tutti i widget
   ────────────────────────────────────────────────────── */
.isp-widget-app-week__btn,
.isp-widget-deal-countdown__btn,
.isp-widget-apple-store__btn,
.isp-widget-live-event__btn,
.isp-widget-app-update__btn,
.isp-widget-forum__link,
.isp-widget-my-badges__btn,
.isp-widget-my-stats__btn,
.isp-widget-appvertise__btn{
    display:flex;align-items:center;justify-content:center;gap:6px;
    width:100%;
    padding:10px;
    background:var(--isp-brand);color:#fff;
    border:none;border-radius:var(--isp-radius-sm);
    font-size:14px;font-weight:600;line-height:1.2;
    text-align:center;text-decoration:none;
    cursor:pointer;box-sizing:border-box;
    transition:background .15s
}
.isp-widget-app-week__btn:hover,
.isp-widget-deal-countdown__btn:hover,
.isp-widget-apple-store__btn:hover,
.isp-widget-live-event__btn:hover,
.isp-widget-app-update__btn:hover,
.isp-widget-forum__link:hover,
.isp-widget-my-badges__btn:hover,
.isp-widget-my-stats__btn:hover,
.isp-widget-appvertise__btn:hover{background:var(--isp-brand-dark);color:#fff}

/* Override: status LIVE rimane in rosso per dare urgenza */
.isp-widget-live-event--live .isp-widget-live-event__btn{background:var(--isp-live)}
.isp-widget-live-event--live .isp-widget-live-event__btn:hover{background:#a11}

/* Apple Store: arrow micro-interaction su hover (preservata) */
.isp-widget-apple-store__btn svg{transition:transform .15s}
.isp-widget-apple-store__btn:hover svg{transform:translateX(2px)}

.isp-widget-live-event--live .isp-widget__title{color:var(--isp-live)}

/* --- Podcast --- */

/* --- Deal Countdown (app-style promo) --- */
.isp-deal-promo{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.isp-deal-promo__icon-link{flex-shrink:0}
.isp-deal-promo__icon{width:64px;height:64px;border-radius:14px;object-fit:cover;display:block;box-shadow:0 2px 8px rgba(0,0,0,.08);-webkit-user-drag:none}
.isp-deal-promo__info{flex:1;min-width:0}
.isp-deal-promo__name{font-size:15px;font-weight:700;line-height:1.3;margin:0 0 3px}
.isp-deal-promo__name a{color:var(--isp-ink);text-decoration:none}
.isp-deal-promo__name a:hover{color:var(--isp-brand)}
.isp-deal-promo__desc{font-size:12px;color:var(--isp-mute);line-height:1.4;margin:0 0 6px}
.isp-deal-promo__prices{display:flex;align-items:baseline;gap:8px}
.isp-deal-promo__now{display:inline-block;padding:3px 10px;background:var(--isp-brand-soft);color:var(--isp-brand);border-radius:12px;font-size:12px;font-weight:700}
.isp-deal-promo__old{font-size:12px;color:var(--isp-mute);text-decoration:line-through}
.isp-deal-promo__countdown{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;background:var(--isp-bg);border-radius:var(--isp-radius-sm);margin-bottom:14px;font-size:12px;font-weight:600;color:var(--isp-ink2)}
.isp-deal-promo__countdown svg{color:var(--isp-mute);flex-shrink:0}
/* deal-countdown btn: dimensioni gestite dalle regole CTA unificate sopra */

/* --- App of the Week --- */
.isp-widget-app-week__card{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
.isp-widget-app-week__icon img{width:80px;height:80px;border-radius:18px;flex-shrink:0}
.isp-widget-app-week__info{flex:1;min-width:0}
.isp-widget-app-week__name{font-size:16px;font-weight:600;line-height:1.3;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-app-week__name a{color:var(--isp-ink)}
.isp-widget-app-week__name a:hover{color:var(--isp-brand)}
.isp-widget-app-week__dev{font-size:12px;color:var(--isp-mute);display:block;margin-bottom:4px}
.isp-widget-app-week__rating{display:flex;align-items:center;gap:2px;margin-bottom:4px}
.isp-star{width:14px;height:14px;display:inline-block;margin-left:-2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1l1.9 4 4.1.4-3 2.9.9 4.2L7 10.3 3.1 12.5 4 8.3l-3-2.9L5.1 5z' fill='%23ddd'/%3E%3C/svg%3E") no-repeat center/contain}
.isp-star--full{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1l1.9 4 4.1.4-3 2.9.9 4.2L7 10.3 3.1 12.5 4 8.3l-3-2.9L5.1 5z' fill='%23f5a623'/%3E%3C/svg%3E")}
.isp-star--half{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cdefs%3E%3CclipPath id='h'%3E%3Crect width='7' height='14'/%3E%3C/clipPath%3E%3C/defs%3E%3Cpath d='M7 1l1.9 4 4.1.4-3 2.9.9 4.2L7 10.3 3.1 12.5 4 8.3l-3-2.9L5.1 5z' fill='%23ddd'/%3E%3Cpath d='M7 1l1.9 4 4.1.4-3 2.9.9 4.2L7 10.3 3.1 12.5 4 8.3l-3-2.9L5.1 5z' fill='%23f5a623' clip-path='url(%23h)'/%3E%3C/svg%3E")}
.isp-widget-app-week__score{font-size:12px;font-weight:600;color:var(--isp-mute);margin-left:4px;letter-spacing:-.6px}
.isp-widget-app-week__price{display:inline-block;padding:3px 10px;background:var(--isp-brand-soft);color:var(--isp-brand);border-radius:12px;font-size:12px;font-weight:700}
.isp-widget-app-week__desc{font-size:13px;color:var(--isp-ink2);line-height:1.5;margin:0 0 12px}
/* app-week: dimensioni gestite dalle regole CTA unificate sopra */

/* --- Authors --- */
.isp-widget-authors__list{display:flex;flex-direction:column;gap:0}
.isp-widget-authors__item{display:flex;align-items:center;gap:12px;padding:10px;margin:0 -10px;border-bottom:1px solid var(--isp-border-soft);border-radius:var(--isp-radius-sm);transition:background .1s}
.isp-widget-authors__item:last-child{border-bottom:none}
.isp-widget-authors__item:hover{background:var(--isp-bg)}
.isp-widget-authors__avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover}
.isp-widget-authors__info{flex:1}
.isp-widget-authors__name{display:block;font-size:14px;font-weight:600;color:var(--isp-ink)}
.isp-widget-authors__count{display:block;font-size:12px;color:var(--isp-mute)}

/* --- Calendar --- */
.isp-widget-calendar__wrap{overflow:hidden}
.isp-widget-calendar__wrap table{width:100%;border-collapse:collapse;font-size:13px}
.isp-widget-calendar__wrap caption{font-size:14px;font-weight:600;padding:8px 0;text-align:center}
.isp-widget-calendar__wrap thead th{font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:var(--isp-mute);padding:6px 0;text-align:center;font-weight:600}
.isp-widget-calendar__wrap td{text-align:center;padding:6px 2px;color:var(--isp-ink2)}
.isp-widget-calendar__wrap td a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--isp-brand);color:#fff;border-radius:50%;font-weight:600;font-size:12px}
.isp-widget-calendar__wrap td a:hover{background:var(--isp-brand-dark);color:#fff}
.isp-widget-calendar__wrap td#today{font-weight:700}
.isp-widget-calendar__wrap td#today a{background:var(--isp-accent)}
.isp-widget-calendar__wrap tfoot td{padding:8px 0;font-size:12px}
.isp-widget-calendar__wrap tfoot a{color:var(--isp-brand);font-weight:600}
.isp-widget-calendar__wrap .pad{color:transparent}
.isp-widget-calendar__wrap nav.wp-calendar-nav{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}
.isp-widget-calendar__wrap nav.wp-calendar-nav a{color:var(--isp-brand);font-weight:600}

/* --- Widget Tabs (Most Commented / Most Viewed) — pillola brand --- */
.isp-widget-tabs{position:relative;display:flex;gap:0;margin-bottom:14px;background:var(--isp-bg);border-radius:var(--isp-radius-sm);padding:3px;isolation:isolate}
.isp-widget-tabs::before{content:"";position:absolute;top:3px;bottom:3px;left:0;width:var(--isp-tabs-w,33.333%);transform:translateX(var(--isp-tabs-x,0));background:var(--isp-brand);border-radius:6px;transition:transform .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),opacity .15s;z-index:0;pointer-events:none;box-shadow:0 1px 2px rgba(30,99,212,.25)}
.isp-widget-tabs:not([data-tabs-ready])::before{opacity:0}
.isp-widget-tabs__btn{position:relative;z-index:1;flex:1;padding:6px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;text-align:center;color:var(--isp-mute);transition:color .25s;border:0;background:transparent}
.isp-widget-tabs__btn--active{color:#fff}
.isp-widget-tabs__btn:hover:not(.isp-widget-tabs__btn--active){color:var(--isp-ink2)}
.isp-widget-period{display:none}
.isp-widget-period--active{display:block}

/* --- Most Viewed — Featured + lista nuda (#1 hero, 2-5 numero+titolo) ---
   Hover sui titoli 2-5 → swap della slide featured (puro CSS via :has()).
   Toggle: ora globale (.isp-widget-tabs è già pillola brand). */

/* Stage: tutte le slide sono renderizzate, solo la "default" è visibile.
   Le altre vengono mostrate via :has() quando si fa hover sull'item N. */
.isp-mv__stage{position:relative;margin-bottom:18px}
.isp-mv__slide{display:none}
.isp-mv__slide--default{display:block}
.isp-mv__slide-cover{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin-bottom:10px}
.isp-mv__slide-cover img{width:100%;height:100%;object-fit:cover;display:block}
.isp-mv__slide-rank{position:absolute;bottom:10px;left:10px;background:rgba(15,29,54,.85);color:#fff;font-size:10px;font-weight:700;letter-spacing:.8px;padding:5px 10px;border-radius:999px}
.isp-mv__slide-title{font-size:15px;font-weight:700;line-height:1.3;color:var(--isp-ink);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.isp-mv__slide:hover .isp-mv__slide-title{color:var(--isp-brand)}

/* Hover-swap: nasconde la default e mostra la slide corrispondente al rank dell'item hovered. */
.isp-mv:has(.isp-mv__item:hover) .isp-mv__slide--default{display:none}
.isp-mv:has(.isp-mv__item[data-rank="2"]:hover) .isp-mv__slide[data-rank="2"]{display:block}
.isp-mv:has(.isp-mv__item[data-rank="3"]:hover) .isp-mv__slide[data-rank="3"]{display:block}
.isp-mv:has(.isp-mv__item[data-rank="4"]:hover) .isp-mv__slide[data-rank="4"]{display:block}
.isp-mv:has(.isp-mv__item[data-rank="5"]:hover) .isp-mv__slide[data-rank="5"]{display:block}

/* Lista 2-5 */
.isp-mv__list{list-style:none;margin:0;padding:0;border-top:1px dashed var(--isp-border);display:flex;flex-direction:column}
.isp-mv__item{display:flex;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid var(--isp-border-soft)}
.isp-mv__item:last-child{border-bottom:none}
.isp-mv__num{flex-shrink:0;font-size:18px;font-weight:800;color:var(--isp-mute);min-width:22px;line-height:1.1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.isp-mv__item:hover .isp-mv__num{color:var(--isp-brand)}
.isp-mv__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.isp-mv__title{font-size:13px;font-weight:600;line-height:1.4;color:var(--isp-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.isp-mv__title:hover{color:var(--isp-brand)}
.isp-mv__meta{font-size:11px;color:var(--isp-mute);display:flex;align-items:center;gap:5px}
.isp-mv__meta-icon{flex-shrink:0;opacity:.7}
.isp-widget__empty{font-size:13px;color:var(--isp-mute);text-align:center;padding:16px 0}

/* --- Most Commented — Cover hero con overlay numero commenti + lista 2-5 ---
   Stessa struttura visiva di .isp-mv ma con numero gigante sopra la cover.
   Hover sui titoli 2-5 → swap della slide featured (puro CSS via :has()). */
.isp-mc__stage{position:relative;margin-bottom:18px}
.isp-mc__slide{display:none;text-decoration:none}
.isp-mc__slide--default{display:block}
.isp-mc__slide-cover{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin-bottom:10px}
.isp-mc__slide-cover img{width:100%;height:100%;object-fit:cover;display:block}
.isp-mc__slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(15,29,54,.85) 100%);pointer-events:none}
.isp-mc__slide-stat{position:absolute;left:14px;right:14px;bottom:12px;color:#fff;display:flex;flex-direction:column;line-height:1}
.isp-mc__slide-stat-num{font-size:34px;font-weight:800;letter-spacing:-1.2px;line-height:1}
.isp-mc__slide-stat-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;opacity:.92;margin-top:5px}
.isp-mc__slide-title{font-size:15px;font-weight:700;line-height:1.3;color:var(--isp-ink);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.isp-mc__slide:hover .isp-mc__slide-title{color:var(--isp-brand)}

/* Hover-swap */
.isp-mc:has(.isp-mc__item:hover) .isp-mc__slide--default{display:none}
.isp-mc:has(.isp-mc__item[data-rank="2"]:hover) .isp-mc__slide[data-rank="2"]{display:block}
.isp-mc:has(.isp-mc__item[data-rank="3"]:hover) .isp-mc__slide[data-rank="3"]{display:block}
.isp-mc:has(.isp-mc__item[data-rank="4"]:hover) .isp-mc__slide[data-rank="4"]{display:block}
.isp-mc:has(.isp-mc__item[data-rank="5"]:hover) .isp-mc__slide[data-rank="5"]{display:block}

/* Lista 2-5: numero + titolo + pill commenti a destra */
.isp-mc__list{list-style:none;margin:0;padding:0;border-top:1px dashed var(--isp-border);display:flex;flex-direction:column}
.isp-mc__item{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--isp-border-soft)}
.isp-mc__item:last-child{border-bottom:none}
.isp-mc__num{flex-shrink:0;font-size:16px;font-weight:800;color:var(--isp-mute);min-width:18px;line-height:1.1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.isp-mc__item:hover .isp-mc__num{color:var(--isp-brand)}
.isp-mc__title{flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--isp-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.isp-mc__title:hover,.isp-mc__item:has(.isp-mc__pill:hover) .isp-mc__title{color:var(--isp-brand)}
.isp-mc__pill{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:var(--isp-brand-soft);color:var(--isp-brand);padding:5px 10px;border-radius:8px;font-size:12px;font-weight:700;line-height:1;transition:transform .15s,background .15s,color .15s}
.isp-mc__item:hover .isp-mc__pill{background:var(--isp-brand);color:#fff;transform:scale(1.04)}
.isp-mc__pill svg{width:13px;height:13px}

/* --- Forum Activity --- */
.isp-widget-forum__thread{display:flex;gap:10px;padding:10px 0;align-items:flex-start}
.isp-widget-forum__thread--border{border-top:1px solid var(--isp-border-soft)}
.isp-widget-forum__thread:hover .isp-widget-forum__title{color:var(--isp-brand)}
.isp-widget-forum__info{flex:1;min-width:0}
.isp-widget-forum__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;font-weight:500;line-height:1.35;color:var(--isp-ink);transition:color .15s}
.isp-widget-forum__meta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--isp-mute);margin-top:3px}

/* --- Events --- */
.isp-widget-events__item{display:flex;gap:12px;padding:10px 0;align-items:center}
.isp-widget-events__item--border{border-top:1px solid var(--isp-border-soft)}
.isp-widget-events__date{width:46px;height:46px;border-radius:10px;background:var(--isp-brand-soft);color:var(--isp-brand);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.isp-widget-events__day{font-size:17px;font-weight:800;line-height:1}
.isp-widget-events__month{font-size:9px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.isp-widget-events__date--tba{background:var(--isp-bg);color:var(--isp-mute)}
.isp-widget-events__info{flex:1;min-width:0}
.isp-widget-events__title{display:block;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--isp-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}
.isp-widget-events__title--link:hover{color:var(--isp-brand)}
.isp-widget-events__desc{display:block;font-size:11px;color:var(--isp-ink2);margin-top:2px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-events__time{display:block;font-size:11px;color:var(--isp-mute);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-events__cal{background:var(--isp-brand);border:1px solid var(--isp-brand);padding:5px 8px;border-radius:6px;font-size:11px;color:#fff;font-weight:600;flex-shrink:0;transition:all .15s;text-decoration:none;display:inline-block;line-height:1.4;cursor:pointer;font-family:inherit}
.isp-widget-events__cal:hover{background:transparent;border-color:var(--isp-brand);color:var(--isp-brand)}
.isp-widget-events__cal--disabled{color:var(--isp-mute);border-color:var(--isp-border-soft);background:var(--isp-bg);cursor:not-allowed;pointer-events:none;opacity:.65}
.isp-widget-events__cal--disabled:hover{border-color:var(--isp-border-soft);color:var(--isp-mute)}
.isp-widget-events__cal-wrap{position:relative;flex-shrink:0}
.isp-widget-events__cal-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--isp-surface);border:1px solid var(--isp-border);border-radius:8px;box-shadow:var(--isp-shadow-lg);padding:6px;z-index:50;display:flex;flex-direction:column;gap:1px}
.isp-widget-events__cal-menu--right{right:0}
.isp-widget-events__cal-menu[hidden]{display:none}
.isp-widget-events__cal-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:13px;color:var(--isp-ink);text-decoration:none;border-radius:6px;transition:background .12s,color .12s;line-height:1.2;white-space:nowrap}
.isp-widget-events__cal-opt:hover{background:var(--isp-brand-soft);color:var(--isp-brand)}
.isp-widget-events__cal-opt svg{flex-shrink:0;opacity:.7}
.isp-widget-events__cal-opt:hover svg{opacity:1}
.isp-widget-events__cal-wrap[data-open="1"] .isp-widget-events__cal{border-color:var(--isp-brand);color:var(--isp-brand)}
.isp-widget-live-event__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.isp-widget-live-event__btn-arrow{flex-shrink:0;transition:transform .18s ease}
.isp-widget-live-event__btn:hover .isp-widget-live-event__btn-arrow{transform:translateX(3px)}

/* --- Apple Store (white style, full-width hero) --- */
.isp-widget-apple-store{background:var(--isp-surface);color:var(--isp-ink);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);overflow:hidden;padding:20px}
.isp-widget-apple-store .isp-widget__title{margin-bottom:0}
.isp-widget-apple-store__media{margin:0 -20px;aspect-ratio:16/9;background:#e9ecef;overflow:hidden}
.isp-widget-apple-store__media img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s ease}
.isp-widget-apple-store__media img[src]{opacity:1}
.isp-widget-apple-store__body{padding-top:18px;position:relative}
.isp-widget-apple-store__fields{display:block}
/* Reserved heights to prevent CLS — sized for the typical 2-line address layout */
.isp-widget-apple-store__name{font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.2;height:1.2em;margin:0 0 4px;color:var(--isp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-apple-store__city{font-size:13px;color:var(--isp-ink2);line-height:1.4;height:1.4em;margin:0 0 2px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-apple-store__address{font-size:12px;color:var(--isp-mute,var(--isp-ink2));line-height:1.4;height:2.8em;margin:0 0 12px;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.isp-widget-apple-store__status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;height:24px;background:transparent;color:transparent}
.isp-widget-apple-store__status--open{background:rgba(34,170,68,.12);color:#1c8a3a}
.isp-widget-apple-store__status--closed{background:rgba(204,42,42,.10);color:#a52424}
.isp-widget-apple-store__status--holiday{background:rgba(255,150,0,.14);color:#b86200}
.isp-widget-apple-store__status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
/* apple-store: dimensioni gestite dalle regole CTA unificate sopra. Solo margin-top. */
.isp-widget-apple-store__btn{margin-top:14px}
/* Loading overlay — covers fields, never affects layout */
.isp-widget-apple-store__loading-overlay{position:absolute;left:0;right:0;top:18px;bottom:0;display:flex;align-items:center;justify-content:center;color:var(--isp-ink);font-size:14px;font-weight:600;background:var(--isp-surface);pointer-events:none}
.isp-widget-apple-store.is-ready .isp-widget-apple-store__loading-overlay{display:none}
.isp-widget-apple-store:not(.is-ready) .isp-widget-apple-store__fields{visibility:hidden}

/* --- Widget: Appvertise (iSpazio ADV) --- */
.isp-widget-appvertise{background:var(--isp-surface);color:var(--isp-ink);border:1.5px solid color-mix(in srgb,var(--isp-brand) 30%,transparent);border-radius:var(--isp-radius);overflow:hidden;padding:20px}
.isp-widget-appvertise .isp-widget__title{margin-bottom:0}
.isp-widget-appvertise__media{position:relative;margin:0 -20px;aspect-ratio:16/9;background:#1a1a2e;overflow:hidden;display:flex;align-items:center;justify-content:center}
.isp-widget-appvertise__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;-webkit-user-drag:none;user-select:none}
.isp-widget-appvertise__icon img{-webkit-user-drag:none;user-select:none}
.isp-widget-appvertise__icon{position:relative;z-index:1;width:120px;height:120px;border-radius:26px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.3);border:none}
.isp-widget-appvertise__icon img{width:100%;height:100%;object-fit:cover;display:block}
.isp-widget-appvertise__icon-ph{position:relative;z-index:1;width:80px;height:80px;border-radius:18px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);border:3px solid rgba(255,255,255,.2)}
.isp-widget-appvertise__body{padding-top:16px}
.isp-widget-appvertise__name{font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.2;margin:0 0 4px;color:var(--isp-ink)}
.isp-widget-appvertise__desc{font-size:13px;color:var(--isp-mute);line-height:1.4;margin:0 0 14px}
.isp-widget-appvertise__btn{margin-top:14px}

/* --- Widget: Account Promo (non-logged-in) --- */
.isp-widget-account-promo{background:linear-gradient(135deg,#1e63d4 0%,#174ea8 100%);color:#fff;border-radius:var(--isp-radius);padding:24px 20px;border:none}
.isp-widget-account-promo__label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;opacity:.75;margin-bottom:10px}
.isp-widget-account-promo__title{font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.3px;margin:0 0 8px}
.isp-widget-account-promo__text{font-size:13px;line-height:1.5;opacity:.85;margin:0 0 16px}
/* Variante invertita (bianco su BG scuro): stesse dimensioni dei CTA blu */
.isp-widget-account-promo__btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:#fff;color:var(--isp-brand);border:none;border-radius:var(--isp-radius-sm);font-size:14px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:background .15s}
.isp-widget-account-promo__btn:hover{background:#e8efff;color:var(--isp-brand)}

/* --- Widget: App Promo (iSpazio) --- */
/* Uses same card layout as App of the Week (.isp-widget-app-week__*) */

/* Features list (unique to app promo) */
.isp-widget-app-promo__features{list-style:none;padding:0;margin:12px 0 14px;display:flex;flex-direction:column;gap:8px}
.isp-widget-app-promo__feature{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--isp-ink2);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-app-promo__feature svg{flex-shrink:0;color:var(--isp-brand)}

/* --- Widget: Forum (Discourse) --- */
.isp-widget-forum .isp-widget__title{display:flex;align-items:center;gap:6px}
.isp-widget-forum__list{display:flex;flex-direction:column}
.isp-widget-forum__item{display:flex;gap:12px;padding:10px 0;transition:opacity .15s;align-items:center}
.isp-widget-forum__item + .isp-widget-forum__item{border-top:1px solid var(--isp-border-soft)}
.isp-widget-forum__item:hover{opacity:.85}
.isp-widget-forum__avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;object-fit:cover;display:block;background:var(--isp-bg)}
.isp-widget-forum__avatar--mono{display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:600;line-height:1}
.isp-widget-forum__body{flex:1;min-width:0}
.isp-widget-forum__title{display:block;font-size:13.5px;font-weight:600;color:var(--isp-ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 3px}
.isp-widget-forum__item:hover .isp-widget-forum__title{color:var(--isp-brand)}
.isp-widget-forum__stats{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--isp-mute);min-width:0}
.isp-widget-forum__stat{display:flex;align-items:center;gap:3px;flex-shrink:0}
.isp-widget-forum__stat svg{width:12px;height:12px;flex-shrink:0;opacity:.6}
.isp-widget-forum__sep{flex-shrink:0;opacity:.5}
.isp-widget-forum__author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.isp-widget-forum__time{flex-shrink:0;white-space:nowrap}
/* Forum CTA — stile gestito dalle regole CTA unificate. Solo margin-top scoped. */
.isp-widget-forum__link{margin-top:8px}

/* --- Widget: User Menu (logged-in) --- */
.isp-widget-user-menu{padding:0;border:none;background:transparent;box-shadow:none}
/* Anti-flash: con html.isp-auth nascondi subito promo + badge "Accedi/Registrati"
   prima che il JS finisca il fetch /me. */
html.isp-auth #isp-widget-account-promo{display:none !important}
html.isp-auth #isp-wum-badge{display:none !important}
.isp-widget-user-menu__card-wrap{display:flex;align-items:center;background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);margin-bottom:12px;height:80px}
.isp-widget-user-menu__card{display:flex;align-items:center;gap:12px;padding:16px;flex:1;min-width:0}
.isp-widget-user-menu__toggle{background:none;border:none;padding:0 14px;cursor:pointer;color:var(--isp-mute);display:flex;align-items:center;flex-shrink:0}
.isp-widget-user-menu__toggle:hover{color:var(--isp-brand)}
.isp-widget-user-menu__avatar-wrap{position:relative;width:50px;height:50px;flex-shrink:0;border-radius:50%}
.isp-widget-user-menu__avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--isp-brand-soft);display:block}
.isp-widget-user-menu__avatar-ph{width:50px;height:50px;border-radius:50%;background:var(--isp-brand-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--isp-brand)}
.isp-widget-user-menu__avatar-overlay{position:absolute;inset:0;border-radius:50%;background:rgba(15,29,54,.6);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;pointer-events:none}
.isp-widget-user-menu__card:hover .isp-widget-user-menu__avatar-overlay{opacity:1}
.isp-widget-user-menu__info{min-width:0}
.isp-widget-user-menu__name{font-size:15px;font-weight:600;color:var(--isp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.isp-widget-user-menu__email{font-size:13px;color:var(--isp-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.isp-widget-user-menu__badge{display:inline-block;font-size:12px;font-weight:600;padding:0;letter-spacing:.3px;text-transform:uppercase;background:none;color:var(--isp-brand);margin-top:2px;border:none;transition:color .15s}
.isp-widget-user-menu__card:hover .isp-widget-user-menu__badge{color:var(--isp-brand-dark)}
.isp-widget-user-menu__badge--pro{background:#ede9fe;color:#6d28d9}
.isp-widget-user-menu__nav{background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);overflow:hidden}
.isp-widget-user-menu__link{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:500;color:var(--isp-ink2);border-bottom:1px solid var(--isp-border-soft);transition:background .1s,color .1s}
.isp-widget-user-menu__link:last-child{border-bottom:none}
.isp-widget-user-menu__link:hover{background:var(--isp-brand-soft);color:var(--isp-brand)}
.isp-widget-user-menu__link--active{background:var(--isp-brand-soft);color:var(--isp-brand);font-weight:600}
.isp-widget-user-menu__link svg{flex-shrink:0;color:var(--isp-mute)}
.isp-widget-user-menu__link:hover svg,.isp-widget-user-menu__link--active svg{color:var(--isp-brand)}
.isp-widget-user-menu__count{margin-left:auto;background:var(--isp-brand);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:6px;min-width:18px;text-align:center}

/* --- Widget: My Badges (logged-in) — event-list style --- */
.isp-widget-my-badges .isp-widget__title{display:flex;align-items:center;gap:6px}
.isp-widget-my-badges__list{display:flex;flex-direction:column;gap:0}
.isp-widget-my-badges__item{position:relative;display:flex;gap:12px;padding:10px;margin:0 -10px;align-items:center;border-radius:var(--isp-radius-sm);transition:background .1s}
.isp-widget-my-badges__item:hover{background:var(--isp-bg)}
.isp-widget-my-badges__item--border::before{content:'';position:absolute;top:0;left:10px;right:10px;height:1px;background:var(--isp-border-soft)}
.isp-widget-my-badges__medal{position:relative;width:42px;height:42px;border-radius:50%;flex-shrink:0}
.isp-widget-my-badges__medal::before{content:'';position:absolute;inset:0;border-radius:50%;padding:2.5px;background:linear-gradient(145deg,rgba(255,255,255,.9) 0%,var(--badge-color) 25%,rgba(255,255,255,.6) 50%,var(--badge-color) 75%,rgba(255,255,255,.8) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.isp-widget-my-badges__medal-inner{position:absolute;inset:2.5px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--badge-color) 20%,white) 0%,color-mix(in srgb,var(--badge-color) 30%,white) 40%,var(--badge-color) 100%);overflow:hidden}
.isp-widget-my-badges__medal-inner::after{content:'';position:absolute;top:-2px;left:10%;width:80%;height:50%;border-radius:0 0 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.18) 60%,transparent 100%);pointer-events:none}
.isp-widget-my-badges__medal-inner svg{width:18px;height:18px;position:relative;z-index:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));color:#fff;stroke:#fff}
.isp-widget-my-badges__info{flex:1;min-width:0}
.isp-widget-my-badges__name{display:block;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--isp-ink)}
.isp-widget-my-badges__desc{display:block;font-size:11px;color:var(--isp-mute);margin-top:2px}
.isp-widget-my-badges__empty{text-align:center;padding:12px 8px;color:var(--isp-mute);font-size:12px;line-height:1.5}
.isp-widget-my-badges__btn{margin-top:14px}

/* --- Widget: My Stats (logged-in) — list style --- */
.isp-widget-my-stats .isp-widget__title{display:flex;align-items:center;gap:6px}
.isp-widget-my-stats__list{display:flex;flex-direction:column;gap:0}
.isp-widget-my-stats__item{position:relative;display:flex;gap:12px;padding:10px;margin:0 -10px;align-items:center;border-radius:var(--isp-radius-sm);transition:background .1s}
.isp-widget-my-stats__item:hover{background:var(--isp-bg)}
.isp-widget-my-stats__item--border::before{content:'';position:absolute;top:0;left:10px;right:10px;height:1px;background:var(--isp-border-soft)}
.isp-widget-my-stats__icon{width:42px;height:42px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--stat-color) 12%,white)}
.isp-widget-my-stats__icon svg{color:var(--stat-color);stroke:var(--stat-color)}
.isp-widget-my-stats__info{flex:1;min-width:0}
.isp-widget-my-stats__name{display:block;font-size:13.5px;color:var(--isp-ink);line-height:1.3}
.isp-widget-my-stats__name strong{font-weight:800;font-size:15px;letter-spacing:-.3px}
.isp-widget-my-stats__btn{margin-top:14px}

/* --- Widget: App Update (matches /account style) --- */
.isp-widget-app-update{background:var(--isp-brand-soft);border:none;border-radius:var(--isp-radius);padding:20px;-webkit-user-select:text;user-select:text;cursor:default}
.isp-widget-app-update__desc,.isp-widget-app-update__title{-webkit-user-select:text;user-select:text;cursor:text}
.isp-widget-app-update__inner{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.isp-widget-app-update__icon{width:42px;height:42px;border-radius:10px;flex-shrink:0;box-shadow:0 2px 8px rgba(30,99,212,.12)}
.isp-widget-app-update__body{flex:1;min-width:0}
.isp-widget-app-update__title{font-size:14px;font-weight:700;color:var(--isp-ink);margin-bottom:4px}
.isp-widget-app-update__desc{font-size:12.5px;color:var(--isp-ink2);line-height:1.5}
.isp-widget-app-update__desc strong{font-weight:700;color:var(--isp-ink)}
/* app-update: dimensioni gestite dalle regole CTA unificate sopra */

@media(max-width:1024px){
.isp-widget{padding:16px}
}

@media(max-width:640px){
.isp-widget{padding:14px}
.isp-widget__title{font-size:13px;margin:0 0 12px;padding-bottom:10px}
.isp-mv__num{font-size:16px;min-width:20px}
.isp-mv__title{font-size:12.5px}
.isp-mv__item{padding:14px 0}
.isp-mv__slide-title{font-size:14px}
.isp-widget-apple-store{padding:14px}
.isp-widget-apple-store__media{margin:0 -14px}
.isp-widget-apple-store__name{font-size:16px}
.isp-widget-app-week__icon img{width:60px;height:60px;border-radius:14px}
.isp-widget-account-promo{padding:20px 16px}
.isp-widget-account-promo__title{font-size:18px}
.isp-widget-forum__item{padding:10px 0}
.isp-widget-user-menu{width:100%;max-width:none;padding:0}
.isp-widget-user-menu__card,.isp-widget-user-menu__nav{width:100%}
}

/* --- Recent Comments widget --- */
.isp-rc__list{list-style:none;margin:0;padding:0}
.isp-rc__item{border-bottom:1px solid var(--isp-border-soft)}
.isp-rc__item:last-child{border-bottom:none}
.isp-rc__link{display:flex;gap:10px;padding:12px 0;text-decoration:none;color:inherit;align-items:flex-start}
.isp-rc__link:hover .isp-rc__author{color:var(--isp-brand)}
.isp-rc__avatar{border-radius:50%;flex-shrink:0}
.isp-rc__body{min-width:0;flex:1}
.isp-rc__author{font-size:13px;font-weight:600;color:var(--isp-ink);display:inline}
.isp-rc__time{font-size:11px;color:var(--isp-mute);margin-left:6px}
.isp-rc__text{font-size:13px;color:var(--isp-ink2);line-height:1.4;margin:3px 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.isp-rc__post{font-size:11px;color:var(--isp-mute);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ──────────────────────────────────────────────
   Widget Promo WC + Deals (sidebar marquee)
   Modifiers --sidebar che riusano partials home.
   Container .isp-widget-* annulla padding default
   per far prendere al promo l'intera card.
   ────────────────────────────────────────────── */
/* Base marquee rules — duplicate da home.css per single/archive
   (home.css viene caricato solo sulla home; senza questo blocco
   il widget collassa in lista verticale su single post). */
.isp-wc-promo--a,.isp-deals-promo--a{background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);overflow:hidden;display:flex;flex-direction:column;min-width:0;max-width:100%}
.isp-wc-promo__head,.isp-deals-promo__head{display:flex;align-items:center;gap:14px;padding:18px 20px}
.isp-wc-promo__icon,.isp-deals-promo__icon{width:48px;height:48px;border-radius:12px;flex-shrink:0;box-shadow:var(--isp-shadow-sm)}
.isp-wc-promo__head-text,.isp-deals-promo__head-text{flex:1;min-width:0}
.isp-wc-promo__title,.isp-deals-promo__title{font-size:17px;font-weight:700;margin:0 0 2px;color:var(--isp-ink);line-height:1.25}
.isp-wc-promo__desc,.isp-deals-promo__desc{font-size:13px;color:var(--isp-mute);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.isp-wc-promo__cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--isp-brand);color:#fff;border-radius:var(--isp-radius-sm);font-size:12px;font-weight:600;text-decoration:none;flex-shrink:0;transition:background .15s}
.isp-deals-promo__cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#b8591c;color:#fff;border-radius:var(--isp-radius-sm);font-size:12px;font-weight:600;text-decoration:none;flex-shrink:0;transition:background .15s}
.isp-wc-promo__strip,.isp-deals-promo__strip{position:relative;overflow:hidden;padding:8px 0 18px;mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.isp-wc-promo__track{display:flex;gap:10px;width:max-content;animation:isp-wc-marquee 38s linear infinite;will-change:transform}
.isp-deals-promo__track{display:flex;gap:12px;width:max-content;animation:isp-deals-marquee 50s linear infinite;will-change:transform}
.isp-wc-promo__strip:hover .isp-wc-promo__track,.isp-deals-promo__strip:hover .isp-deals-promo__track{animation-play-state:paused}
.isp-wc-promo__item{flex-shrink:0;width:100px;height:218px;border-radius:14px;overflow:hidden;background:var(--isp-bg);transition:transform .25s,box-shadow .25s;display:block}
.isp-wc-promo__item picture{display:block;width:100%;height:100%}
.isp-wc-promo__item img{width:100%;height:100%;object-fit:cover;display:block}
.isp-deals-promo__item{position:relative;flex-shrink:0;width:140px;height:218px;background:#fff;border:1px solid var(--isp-border-soft);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--isp-ink)}
@keyframes isp-wc-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes isp-deals-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.isp-wc-promo__track,.isp-deals-promo__track{animation:none}}

.isp-widget-wc-promo,
.isp-widget-deals-promo{overflow:hidden}
.isp-widget-wc-promo .isp-widget__title,
.isp-widget-deals-promo .isp-widget__title{margin-bottom:0;padding-bottom:14px}
.isp-widget-wc-promo .isp-wc-promo--sidebar,
.isp-widget-deals-promo .isp-deals-promo--sidebar{margin:0 -20px -20px}
.isp-wc-promo--sidebar .isp-wc-promo__head,
.isp-deals-promo--sidebar .isp-deals-promo__head{padding-top:14px}

.isp-wc-promo--sidebar,
.isp-deals-promo--sidebar{border:none;border-radius:0;margin:0;box-shadow:none;background:transparent;max-width:none}

/* Header compatto (icona 40, no description visibile su 280px? la teniamo 1 riga) */
.isp-wc-promo--sidebar .isp-wc-promo__head,
.isp-deals-promo--sidebar .isp-deals-promo__head{padding:14px 16px;gap:10px}
.isp-wc-promo--sidebar .isp-wc-promo__icon,
.isp-deals-promo--sidebar .isp-deals-promo__icon{width:50px;height:50px;border-radius:10px}
.isp-wc-promo--sidebar .isp-wc-promo__title,
.isp-deals-promo--sidebar .isp-deals-promo__title{font-size:16px;line-height:1.2}
.isp-wc-promo--sidebar .isp-wc-promo__desc,
.isp-deals-promo--sidebar .isp-deals-promo__desc{font-size:13px;line-height:1.3}

/* CTA compatta a icona quadrata (tooltip via aria-label) */
.isp-wc-promo--sidebar .isp-wc-promo__cta,
.isp-deals-promo--sidebar .isp-deals-promo__cta{padding:0;width:34px;height:34px;justify-content:center;border-radius:10px;gap:8px}
.isp-wc-promo--sidebar .isp-wc-promo__cta svg,
.isp-deals-promo--sidebar .isp-deals-promo__cta svg{width:14px;height:14px}
.isp-wc-promo__cta-text,.isp-deals-promo__cta-text{display:none}

/* Container queries: quando il widget è stretto, il CTA va su riga propria full-width con etichetta */
.isp-widget-wc-promo,.isp-widget-deals-promo{container-type:inline-size}
@container (max-width:300px){
    .isp-wc-promo--sidebar .isp-wc-promo__head,
    .isp-deals-promo--sidebar .isp-deals-promo__head{flex-wrap:wrap}
    .isp-wc-promo--sidebar .isp-wc-promo__cta,
    .isp-deals-promo--sidebar .isp-deals-promo__cta{order:3;width:100%;height:auto;padding:10px;border-radius:var(--isp-radius-sm);font-size:14px;font-weight:600;line-height:1.2}
    .isp-wc-promo__cta-text,.isp-deals-promo__cta-text{display:inline}
}

/* Strip: stessa maschera fade ai bordi, padding più stretto */
.isp-wc-promo--sidebar .isp-wc-promo__strip,
.isp-deals-promo--sidebar .isp-deals-promo__strip{padding:4px 0 14px;mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}

/* Item WC: 80x174 (mantiene ratio iPhone wallpaper 9:19.5 ca.) */
.isp-wc-promo--sidebar .isp-wc-promo__track{gap:8px;animation-duration:32s}
.isp-wc-promo--sidebar .isp-wc-promo__item{width:80px;height:174px;border-radius:12px}

/* Item Deals: 130x200 (immagine + titolo 2 righe + prezzo) */
.isp-deals-promo--sidebar .isp-deals-promo__track{gap:10px;animation-duration:42s}
.isp-deals-promo--sidebar .isp-deals-promo__item{width:130px;height:auto;border-radius:12px}
.isp-deals-promo--sidebar .isp-deals-promo__item-img{padding:14px}
.isp-deals-promo--sidebar .isp-deals-promo__badge{top:6px;left:6px;padding:2px 6px;font-size:10px}
.isp-deals-promo--sidebar .isp-deals-promo__item-title{font-size:11px;min-height:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;padding:0;margin-bottom:10px}
.isp-deals-promo--sidebar .isp-deals-promo__item-price strong{font-size:12px}
.isp-deals-promo--sidebar .isp-deals-promo__item-price s{font-size:9px}

/* Padding orizzontale primo/ultimo item per non finire dentro la mask */
.isp-wc-promo--sidebar .isp-wc-promo__track,
.isp-deals-promo--sidebar .isp-deals-promo__track{padding:0 16px}

/* Widget "Articolo" — card-standard con immagine full-bleed.
   Padding sul widget azzerato; padding solo dove serve (titolo + body),
   così l'immagine sta naturalmente bordo-a-bordo. */
.isp-widget--article{padding:0;overflow:hidden}
.isp-widget--article .isp-widget__title{margin:0;padding:20px 20px 14px;border-bottom:1px solid var(--isp-border-soft)}
.isp-widget--article .isp-card{background:transparent;border:0;padding:0;box-shadow:none;border-radius:0;overflow:visible}
.isp-widget--article .isp-card__cover{margin:0;border-radius:0;overflow:hidden;background:#e9ecef;aspect-ratio:auto;border-bottom:0}
.isp-widget--article.isp-widget .isp-card--standard .isp-card__cover .isp-img,
.isp-widget--article.isp-widget .isp-card__cover .isp-img,
.isp-widget--article.isp-widget .isp-card__cover img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block;border-radius:0;max-height:none;transform:none}
.isp-widget--article .isp-card__body{padding:18px 20px 20px}
.isp-widget--article .isp-card__title{font-size:17px;line-height:1.35}
.isp-widget--article .isp-card__excerpt{display:none}
