/* NC Facebook Feed — frontend 1.4.7 */
* .ncfb-feed,
.ncfb-feed *,
.ncfb-slider,
.ncfb-slider *{
  box-sizing:border-box;
}

.ncfb-feed{
  --ncfb-lines:4;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:22px;
  width:100%;
  max-width:100%;
  margin:0;
}
.ncfb-feed.ncfb-cols-1{grid-template-columns:minmax(0,1fr)}
.ncfb-feed.ncfb-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ncfb-feed.ncfb-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ncfb-feed.ncfb-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.ncfb-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(20,30,45,.10);
  border-radius:18px;
  box-shadow:0 8px 25px rgba(20,30,45,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ncfb-card:hover{
  transform:translateY(-3px);
  border-color:rgba(20,30,45,.15);
  box-shadow:0 15px 38px rgba(20,30,45,.09);
}

.ncfb-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#f2f4f7;
}
.ncfb-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}
.ncfb-card:hover .ncfb-media img{transform:scale(1.025)}

.ncfb-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#111827;
  font-size:18px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  padding-left:3px;
}

.ncfb-content{
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:0;
  padding:18px 18px 17px;
}
.ncfb-no-media .ncfb-content{padding-top:22px}

.ncfb-date{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
  color:#7a8492;
  font-size:12px;
  line-height:1.3;
  letter-spacing:.01em;
}
.ncfb-date:before{
  content:"";
  width:11px;
  height:11px;
  flex:0 0 11px;
  border:1.4px solid currentColor;
  border-radius:3px;
  opacity:.72;
}

.ncfb-title{
  margin:0 0 9px;
  color:#161b22;
  font-size:17px;
  line-height:1.34;
  font-weight:650;
  letter-spacing:-.012em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.ncfb-message{
  margin:0 0 16px;
  color:#3b414a;
  font-size:14.5px;
  line-height:1.58;
  word-break:break-word;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--ncfb-lines);
}
.ncfb-unclamped .ncfb-message{display:block;-webkit-line-clamp:unset}

.ncfb-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  align-self:flex-start;
  margin-top:auto;
  min-height:38px;
  padding:9px 13px;
  border:1px solid rgba(24,119,242,.24);
  border-radius:999px;
  background:#fff;
  color:#1877f2!important;
  text-decoration:none!important;
  font-size:12.5px;
  line-height:1;
  font-weight:650;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.ncfb-button:hover{
  background:rgba(24,119,242,.055);
  border-color:rgba(24,119,242,.42);
  transform:translateY(-1px);
}
.ncfb-fb-icon{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#1877f2;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:13px;
  font-weight:700;
  line-height:1;
}
.ncfb-arrow{font-size:13px;opacity:.72}

.ncfb-empty{
  padding:14px 16px;
  border:1px dashed #ccd1d8;
  border-radius:14px;
  background:#fafbfc;
  color:#4d5662;
}

/* Articoli WordPress importati da Facebook */
.ncfb-articles .ncfb-title a{
  color:inherit!important;
  text-decoration:none!important;
}
.ncfb-articles .ncfb-title a:hover{color:#1877f2!important}
.ncfb-articles .ncfb-local-button{margin-top:auto}

/* Slider / notizia in evidenza */
.ncfb-slider{
  position:relative;
  width:100%;
  max-width:100%;
  height:clamp(420px,46vw,var(--ncfb-slider-height,520px));
  min-height:0;
  overflow:hidden;
  border-radius:20px;
  background:#111827;
  box-shadow:0 12px 34px rgba(20,30,45,.11);
  isolation:isolate;
}
.ncfb-slider-track,
.ncfb-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.ncfb-slide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .42s ease,visibility .42s ease;
}
.ncfb-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
}
.ncfb-slide-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.005);
}
.ncfb-slide-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,9,16,.70) 0%,rgba(5,9,16,.42) 48%,rgba(5,9,16,.12) 76%,rgba(5,9,16,.04) 100%),
    linear-gradient(0deg,rgba(5,9,16,.78) 0%,rgba(5,9,16,.26) 45%,rgba(5,9,16,.02) 78%);
}
.ncfb-slide.no-image .ncfb-slide-shade{
  background:linear-gradient(135deg,#172033 0%,#2d3b56 100%);
}
.ncfb-slide-content{
  position:absolute;
  z-index:3;
  left:clamp(28px,5vw,66px);
  bottom:clamp(30px,5.2vw,58px);
  width:min(640px,calc(100% - 150px));
  color:#fff!important;
  text-shadow:0 2px 16px rgba(0,0,0,.18);
}
.ncfb-slide-date{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 12px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  color:#fff!important;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.ncfb-slide-title{
  max-width:620px;
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:clamp(24px,3.2vw,40px)!important;
  line-height:1.12!important;
  font-weight:650!important;
  letter-spacing:-.022em!important;
  text-wrap:balance;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.ncfb-slide-title a,
.ncfb-slider .ncfb-slide-title a{
  color:#fff!important;
  text-decoration:none!important;
  font:inherit!important;
  line-height:inherit!important;
}
.ncfb-slide-title a:hover{color:#fff!important;opacity:.92}
.ncfb-slide-excerpt{
  max-width:570px;
  margin:0 0 18px!important;
  color:rgba(255,255,255,.93)!important;
  font-size:clamp(14px,1.25vw,16px)!important;
  line-height:1.5!important;
  font-weight:400!important;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.ncfb-slide-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px;
  min-height:39px;
  padding:10px 15px!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111827!important;
  text-decoration:none!important;
  font-size:12.5px!important;
  line-height:1!important;
  font-weight:650!important;
  box-shadow:0 6px 20px rgba(0,0,0,.14);
  transition:transform .18s ease,box-shadow .18s ease;
}
.ncfb-slide-button:hover{
  color:#111827!important;
  transform:translateY(-1px);
  box-shadow:0 9px 24px rgba(0,0,0,.18);
}
.ncfb-slider-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0!important;
  border:1px solid rgba(255,255,255,.36)!important;
  border-radius:999px!important;
  background:rgba(8,13,22,.28)!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  color:#fff!important;
  font-family:Arial,sans-serif!important;
  font-size:27px!important;
  line-height:1!important;
  font-weight:400!important;
  cursor:pointer;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease;
}
.ncfb-slider-arrow:hover{
  background:rgba(8,13,22,.48)!important;
  transform:translateY(-50%) scale(1.04);
}
.ncfb-slider-prev{left:16px}
.ncfb-slider-next{right:16px}
.ncfb-slider-dots{
  position:absolute;
  z-index:5;
  right:22px;
  bottom:20px;
  display:flex;
  align-items:center;
  gap:7px;
}
.ncfb-slider-dot{
  width:8px!important;
  height:8px!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.10)!important;
  box-shadow:none!important;
  cursor:pointer;
  transition:width .2s ease,background .2s ease,border-radius .2s ease;
}
.ncfb-slider-dot.is-active{
  width:22px!important;
  border-radius:999px!important;
  background:#fff!important;
}
.ncfb-slider-single .ncfb-slide-content{width:min(660px,calc(100% - 96px))}

/* Desktop medio */
@media(max-width:1180px){
  .ncfb-feed.ncfb-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ncfb-slider{height:clamp(420px,48vw,var(--ncfb-slider-height,520px))}
}

/* Tablet */
@media(max-width:960px){
  .ncfb-feed.ncfb-cols-3,
  .ncfb-feed.ncfb-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ncfb-feed{gap:18px}
  .ncfb-slider{height:clamp(390px,55vw,450px);border-radius:18px}
  .ncfb-slide-content{
    left:40px;
    bottom:38px;
    width:min(590px,calc(100% - 110px));
  }
  .ncfb-slide-title{font-size:clamp(23px,4vw,34px)!important}
  .ncfb-slide-excerpt{font-size:14.5px!important;max-width:540px}
  .ncfb-slider-arrow{width:38px;height:38px;font-size:25px!important}
  .ncfb-slider-prev{left:12px}.ncfb-slider-next{right:12px}
}

/* Mobile e tablet stretto */
@media(max-width:700px){
  .ncfb-feed.ncfb-cols-2,
  .ncfb-feed.ncfb-cols-3,
  .ncfb-feed.ncfb-cols-4{grid-template-columns:1fr}
  .ncfb-feed{gap:16px}
  .ncfb-card{border-radius:16px}
  .ncfb-media{aspect-ratio:16/9}
  .ncfb-content{padding:16px 16px 15px}
  .ncfb-title{font-size:16px;line-height:1.35;margin-bottom:8px}
  .ncfb-message{font-size:14px;line-height:1.55;margin-bottom:14px;-webkit-line-clamp:min(var(--ncfb-lines),4)}
  .ncfb-button{min-height:37px;font-size:12px;padding:9px 12px}

  .ncfb-slider{
    height:clamp(350px,96vw,420px);
    border-radius:16px;
  }
  .ncfb-slide-image{object-position:center center}
  .ncfb-slide-shade{
    background:
      linear-gradient(0deg,rgba(5,9,16,.86) 0%,rgba(5,9,16,.56) 45%,rgba(5,9,16,.12) 75%,rgba(5,9,16,.02) 100%);
  }
  .ncfb-slide-content,
  .ncfb-slider-single .ncfb-slide-content{
    left:18px;
    right:18px;
    bottom:30px;
    width:auto;
    padding-right:12px;
  }
  .ncfb-slide-date{margin-bottom:9px;font-size:11px;padding:7px 12px}
  .ncfb-slide-title{
    max-width:100%;
    margin-bottom:9px!important;
    font-size:clamp(21px,6vw,28px)!important;
    line-height:1.12!important;
    -webkit-line-clamp:3;
  }
  .ncfb-slide-excerpt{
    max-width:100%;
    margin-bottom:14px!important;
    font-size:13.5px!important;
    line-height:1.45!important;
    -webkit-line-clamp:2;
  }
  .ncfb-slide-button{min-height:37px;padding:9px 13px!important;font-size:12px!important}
  .ncfb-slider-arrow{
    top:44%;
    width:34px;
    height:34px;
    font-size:23px!important;
    background:rgba(8,13,22,.38)!important;
  }
  .ncfb-slider-prev{left:9px}.ncfb-slider-next{right:9px}
  .ncfb-slider-dots{right:15px;bottom:13px;gap:6px}
  .ncfb-slider-dot{width:7px!important;height:7px!important}
  .ncfb-slider-dot.is-active{width:19px!important}
}

/* Telefoni piccoli */
@media(max-width:420px){
  .ncfb-slider{height:clamp(340px,103vw,395px)}
  .ncfb-slide-content,
  .ncfb-slider-single .ncfb-slide-content{left:15px;right:15px;bottom:27px;padding-right:8px}
  .ncfb-slide-title{font-size:clamp(20px,6.4vw,25px)!important;line-height:1.14!important}
  .ncfb-slide-excerpt{font-size:13px!important;-webkit-line-clamp:2}
  .ncfb-slider-arrow{width:32px;height:32px;font-size:22px!important}
  .ncfb-slider-prev{left:7px}.ncfb-slider-next{right:7px}
  .ncfb-media{aspect-ratio:1.52/1}
}

@media(prefers-reduced-motion:reduce){
  .ncfb-card,
  .ncfb-media img,
  .ncfb-slide,
  .ncfb-slider-arrow,
  .ncfb-slide-button{transition:none!important}
}
