.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-8021 .elementor-element.elementor-element-41448f7{font-family:"Outfit", Sans-serif;font-size:13px;font-weight:500;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-8021 .elementor-element.elementor-element-998f24{margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-8021 .elementor-element.elementor-element-998f24 .elementor-icon-list-icon{width:14px;}.elementor-8021 .elementor-element.elementor-element-998f24 .elementor-icon-list-icon i{font-size:14px;}.elementor-8021 .elementor-element.elementor-element-998f24 .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-8021 .elementor-element.elementor-element-998f24 .elementor-icon-list-text, .elementor-8021 .elementor-element.elementor-element-998f24 .elementor-icon-list-text a{color:#FFFFFFBD;}.elementor-8021 .elementor-element.elementor-element-998f24 .elementor-icon-list-item{font-family:"Outfit", Sans-serif;font-size:14px;font-weight:500;text-transform:none;font-style:normal;text-decoration:none;line-height:1.6em;letter-spacing:0px;}.elementor-8021 .elementor-element.elementor-element-13dd2557 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-8021 .elementor-element.elementor-element-649a6d48{color:#0B2742;font-family:"Outfit", Sans-serif;font-size:19px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;line-height:1.75em;letter-spacing:0px;}@media(max-width:1024px){.elementor-8021 .elementor-element.elementor-element-998f24{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}@media(max-width:767px){.elementor-8021 .elementor-element.elementor-element-998f24{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-8021 .elementor-element.elementor-element-649a6d48{font-size:18px;line-height:1.68em;}}/* Start custom CSS *//* =========================================================
   RAOUL RUSSO — SINGLE VIDEO (Theme Builder: Single Post, CPT "video")
   Elementor v4 Atomic / Custom CSS

   Il layout strutturale vive nei Local Styles Atomic.
   Qui restano soltanto: gradienti e pseudo-elementi della testata,
   motion, ellissi del breadcrumb, comportamento reale della
   player video, stati dello share e styling del contenuto
   WordPress, confinato a [data-rr-video-content].

   Valori estratti da:
   _design-lock-final/video-single-design-lock.html
   Struttura: _elementor-production/09-news-single.json
   Player:    _elementor-reference/verified-exports/video-widget-acf-url-elementor-4.2.4.json
   ========================================================= */

/* ---- Testata: gradienti e decorazioni ---- */
[data-rr-video-hero] {
  isolation: isolate;
  background:
    radial-gradient(ellipse 68% 118% at 82% 38%, color-mix(in oklch, oklch(0.95069 0.01446 244.72) 17%, transparent) 0, transparent 62%),
    radial-gradient(ellipse 46% 76% at 96% 94%, color-mix(in oklch, #E1C54A 9%, transparent) 0, transparent 70%),
    #0B2742;
}
[data-rr-video-hero]::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -70px;
  right: -90px;
  width: 260px;
  height: 220px;
  border: 1px solid color-mix(in oklch, oklch(0.95069 0.01446 244.72) 20%, transparent);
  outline: 1px solid color-mix(in oklch, oklch(0.95069 0.01446 244.72) 13%, transparent);
  outline-offset: 14px;
  border-radius: 50%;
  opacity: 0.32;
  transform: rotate(-8deg);
  pointer-events: none;
}
[data-rr-video-hero]::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: -8%;
  bottom: 28px;
  width: 42%;
  height: 46px;
  background: #E1C54A;
  opacity: 0.07;
  clip-path: polygon(1% 34%, 16% 18%, 38% 29%, 61% 12%, 84% 25%, 100% 15%, 98% 70%, 76% 84%, 51% 70%, 25% 88%, 3% 72%);
  transform: rotate(-3deg) skewX(-8deg);
  pointer-events: none;
}
/* Design Lock: a Tablet e a Mobile le due decorazioni sono display:none */
@media (max-width: 1024px) {
  [data-rr-video-hero]::before,
  [data-rr-video-hero]::after { display: none; }
}

/* ---- Breadcrumb Yoast SEO ----
   Yoast gestisce gerarchia, URL e current item.
   Questo CSS interviene esclusivamente sulla presentazione
   del breadcrumb del Single Video. */
[data-rr-video-breadcrumb] {
  width: 100%;
  min-width: 0;
}
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs {
  width: 100%;
  min-width: 0;
  margin: 0;
}
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs .elementor-widget-container {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: rgba(255,255,255,.62);
  font-family: "Outfit", "Segoe UI", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  text-overflow: ellipsis;
}
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs p {
  margin: 0;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease;
}
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs a:hover,
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs a:focus-visible {
  color: #FFFFFF;
}
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs .breadcrumb_last,
[data-rr-video-breadcrumb] .elementor-widget-breadcrumbs [aria-current="page"] {
  color: rgba(255,255,255,.88);
}

/* ---- Data: reset della lista generata dal widget Post Info ---- */
[data-rr-video-hero-copy] .elementor-widget-post-info ul,
[data-rr-video-hero-copy] .elementor-inline-items {
  margin: 0;
  padding: 0;
  list-style: none;
}
[data-rr-video-hero-copy] .elementor-widget-post-info .elementor-icon-list-item::before { display: none; }
[data-rr-video-hero-copy] .elementor-widget-post-info .elementor-icon-list-text { padding: 0; }

/* ---- Motion della testata ---- */
@keyframes rr-video-single-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
[data-rr-video-breadcrumb],
[data-rr-video-title],
[data-rr-video-hero-copy] .elementor-widget-post-info {
  opacity: 0;
  animation: rr-video-single-fade-up 600ms cubic-bezier(.22, .61, .36, 1) forwards;
}
[data-rr-video-breadcrumb] { animation-delay: 80ms; }
[data-rr-video-title] { animation-delay: 200ms; }
[data-rr-video-hero-copy] .elementor-widget-post-info { animation-delay: 320ms; }
@media (prefers-reduced-motion: reduce) {
  [data-rr-video-breadcrumb],
  [data-rr-video-title],
  [data-rr-video-hero-copy] .elementor-widget-post-info {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* ---- Player video ----
   Un solo player, nella posizione che nel Single News occupa
   l'immagine in evidenza. Proporzione 16:9, radius 18px e fondo
   navy vivono sul contenitore Atomic; qui restano proporzione,
   impilamento dei livelli e Play Icon nativo del widget. ---- */
[data-rr-video-player] {
  aspect-ratio: 16 / 9;
}
[data-rr-video-player]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #0B2742;
  opacity: 0.1;
  border-radius: inherit;
  pointer-events: none;
}
[data-rr-video-player] .elementor-widget,
[data-rr-video-player] .elementor-widget-video,
[data-rr-video-player] .elementor-widget-container,
[data-rr-video-player] .elementor-wrapper {
  position: static;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border-radius: inherit;
}
[data-rr-video-player] .elementor-wrapper::before { display: none; }
[data-rr-video-player] iframe,
[data-rr-video-player] video {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
}
/* Poster: Featured Image dinamica servita dal widget come image overlay.
   L'overlay e anche il contenitore che centra il Play Icon. */
[data-rr-video-player] .elementor-custom-embed-image-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  border-radius: inherit;
  cursor: pointer;
}
[data-rr-video-player] .elementor-custom-embed-image-overlay img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
/* Play button: disco Accent Gold con triangolo navy disegnato in CSS.
   L'icona del widget (eicon / SVG di fallback) viene nascosta: resta un
   solo segno, pulito e leggibile. Nessun cerchio interno.
   Il disco e centrato dal flex dell'overlay, quindi resta al centro del
   poster a Desktop, Tablet e Mobile: qui si azzera il posizionamento
   assoluto che Elementor applica di default. */
[data-rr-video-player] .elementor-custom-embed-play {
  position: relative;
  z-index: 3;
  inset: auto;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  transform: none;
  margin: 0;
  padding: 0;
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #E1C54A;
  color: #0B2742;
  opacity: 1;
  filter: none;
  text-shadow: none;
  line-height: 0;
  transition: transform 280ms ease, background 280ms ease;
}
/* nessuna icona fallback: il triangolo e l'unico segno */
[data-rr-video-player] .elementor-custom-embed-play i,
[data-rr-video-player] .elementor-custom-embed-play svg,
[data-rr-video-player] .elementor-custom-embed-play img { display: none; }
[data-rr-video-player] .elementor-custom-embed-play::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-left: 5px;
  border-style: solid;
  border-width: 15px 0 15px 25px;
  border-color: transparent transparent transparent #0B2742;
}
[data-rr-video-player] .elementor-custom-embed-image-overlay:hover .elementor-custom-embed-play,
[data-rr-video-player] .elementor-custom-embed-image-overlay:focus-visible .elementor-custom-embed-play {
  transform: scale(1.06);
  background: #E7D273;
}
@media (max-width: 767px) {
  [data-rr-video-player] .elementor-custom-embed-play {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
  }
  [data-rr-video-player] .elementor-custom-embed-play::after {
    margin-left: 4px;
    border-width: 12px 0 12px 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-rr-video-player] .elementor-custom-embed-play { transition: none; }
}

/* ---- Share ---- */
[data-rr-video-share] [data-rr-share] {
  cursor: pointer;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 180ms ease;
}
[data-rr-video-share] [data-rr-share]:active { transform: translateY(1px); }
[data-rr-video-share] [data-rr-share]:focus-visible {
  outline: 3px solid #E1C54A;
  outline-offset: 4px;
}
/* Le icone devono seguire il colore del pulsante anche in hover.
   rr-whatsapp.svg usa uno stroke fisso #0B2742: forzato a currentColor. */
[data-rr-video-share] [data-rr-share-icon] svg { width: 20px; height: 20px; color: currentColor; }
[data-rr-video-share] [data-rr-share-icon] svg [fill]:not([fill="none"]) { fill: currentColor; }
[data-rr-video-share] [data-rr-share-icon] svg [stroke]:not([stroke="none"]) { stroke: currentColor; }

/* ---- Torna all'archivio ---- */
[data-rr-video-back]:hover,
[data-rr-video-back]:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* =========================================================
   CONTENUTO WORDPRESS
   Confinato al wrapper del Single: nessuna regola globale su
   h2 / h3 / p / img / blockquote / ul / ol.
   ========================================================= */
[data-rr-video-content] p {
  margin-block: 0;
  font-size: 19px;
  line-height: 1.75;
  color: #0B2742;
  text-wrap: pretty;
}
[data-rr-video-content] p + p { margin-top: 26px; }
[data-rr-video-content] h2 {
  margin: 44px 0 0;
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -0.022em;
  color: #0B2742;
  text-wrap: balance;
}
[data-rr-video-content] h3 {
  margin: 36px 0 0;
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1.2;
  color: #0B2742;
  text-wrap: balance;
}
[data-rr-video-content] ul,
[data-rr-video-content] ol {
  margin-top: 22px;
  padding-left: 22px;
  font-size: 19px;
  line-height: 1.75;
  color: #0B2742;
}
[data-rr-video-content] li + li { margin-top: 10px; }
[data-rr-video-content] a {
  color: #0B2742;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
[data-rr-video-content] strong { font-weight: 600; }
[data-rr-video-content] blockquote {
  margin: 32px 0;
  padding-left: 24px;
  border-left: 3px solid #E1C54A;
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.5;
  font-style: italic;
  color: #0B2742;
}
[data-rr-video-content] blockquote + p { margin-top: 26px; }

/* Gutenberg avvolge il testo della citazione in un <p>: senza queste
   dichiarazioni il paragrafo eredita gli stili generici del Post Content
   (Outfit 19px non corsivo) invece di quelli del blockquote canonical. */
[data-rr-video-content] blockquote p,
[data-rr-video-content] blockquote cite {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  color: inherit;
}
[data-rr-video-content] blockquote p + p { margin-top: 16px; }
[data-rr-video-content] img { display: block; max-width: 100%; height: auto; }

@media (min-width: 768px) and (max-width: 1024px) {
  [data-rr-video-content] blockquote { position: static; width: 100%; height: auto; min-height: 0; }
}
@media (max-width: 767px) {
  [data-rr-video-content] p { font-size: 18px; line-height: 1.68; }
  [data-rr-video-content] p + p { margin-top: 22px; }
  [data-rr-video-content] blockquote {
    position: static;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0 0 22px;
    padding: 20px 0 20px 22px;
    font-size: clamp(21px, 6vw, 24px);
    line-height: 1.48;
  }
}/* End custom CSS */