/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Stili personalizzati ReadyToRec
*/

:root {
  --wp--breakpoint--mobile: 782px;
  --wp--breakpoint--tablet: 1024px;
}

/*Decorazioni header*/
.separator-alto{
	border-width: 1px;
}
.decorazione-triangoli .triangolo,  .decorazione-triangoli .triangolo-black{
	position: absolute;
	bottom: calc(var(--wp--preset--spacing--50) + 10px);
	transform: translateY(+50%);
	width: 0;
	height: 0;
	border-top: 30px solid transparent;
	border-bottom: 30px solid transparent;
}
.decorazione-triangoli .triangolo.destra {
	right: 0;
	margin-top: 0;
  	border-right: 40px solid #292929;
}
.decorazione-triangoli .triangolo.sinistra {
	left: 0;
	margin-top: 0;
  	border-left: 40px solid #292929;
}

.decorazione-triangoli .triangolo-black.destra {
	right: 0;
	margin-top: 0;
  	border-right: 40px solid black;
}
.decorazione-triangoli .triangolo-black.sinistra {
	left: 0;
	margin-top: 0;
  	border-left: 40px solid black;
}

/*Correzione errore visualizzazione footer*/
footer{
	margin-top: 0;
}

/*Decorazioni fade*/
.fade-image-top{
	-webkit-mask-image: linear-gradient(to top, black 85%, transparent 100%);
	mask-image: linear-gradient(to top, black 85%, transparent 100%);
}
.fade-bottom{
	-webkit-mask-image: linear-gradient(to bottom, black calc(100% - 8rem), transparent 100%);
	mask-image: linear-gradient(to bottom, black calc(100% - 8rem), transparent 100%);
}

/*Galleria album fotografici*/
/* proposta 1 
.my-custom-blocks-album-galleria .gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
  align-items: start;
}

.my-custom-blocks-album-galleria .gallery-item {
  overflow: hidden;
  border-radius: 5px;
  aspect-ratio: 3 / 3;
  background: #f7f7f7;
}

.my-custom-blocks-album-galleria .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.my-custom-blocks-album-galleria .gallery-item:hover img {
  transform: scale(1.03);
}
*/
/* proposta 2*/
.gallery-grid {
  column-count: 3;
  column-gap: 1rem;
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
}

.gallery-item {
  break-inside: avoid;
  margin-bottom: 1rem;
}

.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  border-radius: 5px;
}

.my-custom-blocks-album-galleria .gallery-item:hover img {
  transform: scale(1.03);
}

@media (max-width: 1024px) {
  .gallery-grid {
    column-count: 2;
  }
}
@media (max-width: 782px) {
  .gallery-grid {
    column-count: 1;
  }
}

/*Archivi: filmografie*/
.wp-block-post.filmografie{
  position: relative;
}
.wp-block-filmografia-regista-copertina .wp-block-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.wp-block-filmografia-regista-copertina .wp-block-image img, 
.wp-block-filmografia-regista-copertina .wp-block-image a{
  width: 100%;
  height: 100%;
}

.wp-block-post.filmografie .wp-block-filmografia-regista-copertina .wp-block-image img {
  object-fit: cover;
  object-position: center;
  filter: brightness(70%);
}

.wp-block-post.filmografie .wp-block-post-title {
  position: absolute;
  bottom: 10%;
  left: 10%;
  margin: 0;
  z-index: 2;
}

/*Singolo: filmografie*/
.single-filmografia-regista img{
    object-fit: cover;
    object-position: center;
    filter: brightness(80%);
    -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 8rem), transparent 98%);
	  mask-image: linear-gradient(to bottom, black calc(100% - 8rem), transparent 98%);
}

.wp-block-filmografia-film-anno p{
	margin: 0;
}
.wp-block-filmografia-film-voto p{
	margin: 0;
}
.wp-block-filmografia-film-articolo *{
	margin: 0;
}

/*Rimozione bande nere laterali per mobile*/
@media (max-width: 782px) {
  main,
  footer,
  header {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/*Correzione "bug" del plugin Visibility for gutenberg blocks sul round()
della viewport con valori decimali*/
/* Mobile */
@media screen and (max-width: 782.5px) {
    .gbvc-hide-on-mobile {
        display: none !important;
    }
}

/* Tablet */
@media screen and (min-width: 782.51px) and (max-width: 1024.5px) {
    .gbvc-hide-on-tablet {
        display: none !important;
    }
}

/* Desktop */
@media screen and (min-width: 1024.51px) {
    .gbvc-hide-on-desktop {
        display: none !important;
    }
}

/*
    ANIMAZIONI STANDARD
*/
/* Stato iniziale generico: invisibile */
.anim-fade-in,
.anim-slide-up,
.anim-slide-left,
.anim-slide-right,
.anim-zoom-in {
  opacity: 0;
}

/* ANIMAZIONI (vengono attivate aggiungendo .anim-start) */
.anim-start.anim-fade-in {
  animation: fadeIn 0.8s ease-out forwards;
}
.anim-start.anim-slide-up {
  animation: slideUp 0.8s ease-out forwards;
}
.anim-start.anim-slide-left {
  animation: slideLeft 0.8s ease-out forwards;
}
.anim-start.anim-slide-right {
  animation: slideRight 0.8s ease-out forwards;
}
.anim-start.anim-zoom-in {
  animation: zoomIn 0.8s ease-out forwards;
}

/* Delay helpers (metti classi sullo stesso elemento) */
.anim-delay-1 { animation-delay: 0.15s !important; }
.anim-delay-2 { animation-delay: 0.30s !important; }
.anim-delay-3 { animation-delay: 0.45s !important; }
.anim-delay-4 { animation-delay: 0.60s !important; }
.anim-delay-5 { animation-delay: 0.75s !important; }

/* KEYFRAMES distinti */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes slideLeft {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes slideRight {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes zoomIn {
  from { opacity: 0; transform: scale(.97); }
  to   { opacity: 1; transform: scale(1); }
}

/* ---- Hover effects per query loop con elemento "copertina" (applicare su copertina) ---- */
.hover-scale:hover img{
  transform: scale(1.03);
}
.hover-lift:hover img {
  transform: translateY(-6px);
}
.hover-bright:hover img {
  filter: brightness(1.06);
}
.hover-shadow:hover img {
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}

.hover-scale img{
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.3, 1);
}
.hover-lift img {
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.3, 1);
}

/*
    Youtube Feed Custom CSS for "FT Feeds"
*/
.fts-youtube-thumbs-gallery-master .fts-youtube-popup-gallery {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  background: transparent !important;
  padding: 0 !important;
}

.fts-youtube-thumbs-gallery-master .slicker-youtube-placeholder {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  border-radius: 15px !important;
  overflow: hidden;
}

.fts-youtube-thumbs-gallery-master a.fts-yt-open {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 15px;
}

/* Per Tablet/Mobile */
@media screen and (max-width: 1024.5px) {
  .fts-youtube-thumbs-gallery-master .fts-youtube-popup-gallery {
    grid-template-columns: 1fr !important;
  }
}

/*
    TikTok Feed Custom CSS for "Smash Baloon TikTok Feeds"
*/
/* Rimuove l’altezza fissa dal contenitore */
.sb-post-item-image-wrap {
  height: auto !important;
  overflow: hidden; /* mantiene i bordi arrotondati */
  aspect-ratio: auto !important; /* non forza un rapporto */
}

/* Rende le immagini responsive e con aspect ratio originale */
.sb-post-item-image {
  width: 100%;
  height: auto !important;
  object-fit: contain !important; /* nessun crop, tutta l’immagine visibile */
  display: block;
  margin: 0 auto;
}