/*
Theme Name: Bridge Child
Theme URI: http://demo.qodeinteractive.com/bridge/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: http://www.qodethemes.com/
Version: 1.0.0
Template: bridge
*/
@import url("../bridge/style.css");

/* Product page: description tab always open */
body.single-product .description-always-open {
	display: block !important;
}

/* Product page: "elementor-sticky__spacer" section tabs hidden */
body.single-product .elementor-sticky.elementor-sticky__spacer .elementor-widget-woocommerce-product-data-tabs .woocommerce-accordion {visibility: hidden !important;}

/* Galleria template prodotto */
.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important; /* Allinea le immagini a destra */
}

.woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important; /* Spaziatura tra le immagini */
    width: 100% !important; /* Garantisce che il contenitore sia largo 100% */
}

.woocommerce-product-gallery__image {
    width: 100% !important; /* Garantisce che il contenitore dell'immagine occupi il 100% */
    text-align: right !important; /* Allinea il contenuto all'interno della colonna a destra */
}

.woocommerce-product-gallery__image img {
    width: 100% !important; /* L'immagine occupa il 100% dello spazio del contenitore */
    max-width: 100% !important; /* Evita che superi il contenitore */
    height: auto !important; /* Mantiene le proporzioni */
    object-fit: contain !important; /* Assicura che non venga tagliata */
    image-rendering: auto !important; /* Migliora la qualità di rendering */
}

/* Forza l'utilizzo della dimensione completa delle immagini */
.woocommerce-product-gallery__image img[srcset] {
    srcset: none !important;
    sizes: auto !important;
}

/* Comportamento per schermi sotto i 1024px (cambia a carosello) */
@media (max-width: 1024px) {
    .woocommerce-product-gallery__wrapper {
        display: flex !important;
        flex-direction: row !important; /* Allinea le immagini orizzontalmente */
        gap: 10px !important; /* Spaziatura tra le immagini */
        overflow-x: scroll !important; /* Abilita lo scorrimento orizzontale */
        scroll-snap-type: x mandatory !important; /* Rende lo scorrimento più fluido e con "snap" */
        -webkit-overflow-scrolling: touch !important; /* Rende più fluido lo scorrimento su iOS */
        position: relative !important; /* Necessario per posizionare le frecce */
    }

    .woocommerce-product-gallery__image {
        flex: 0 0 auto !important; /* Le immagini non si adattano, mantengono la loro larghezza naturale */
        width: 100% !important; /* Le immagini occupano il 100% della larghezza disponibile */
        scroll-snap-align: start !important; /* Allinea ogni immagine al inizio durante lo scorrimento */
    }
}

/* === POPUP === */
:root{
  --brp-bg: rgba(255, 255, 255, 0.9);
  --brp-fg: #111;
  --brp-accent: #0d6efd; 
  --brp-shadow: 0px 5px 15px rgba(0, 0, 0, 0.31);
  --brp-radius: 7px;
  --brp-gap: 1rem;
  --brp-maxw: min(360px, 92vw);
}

.br-popup{
  position: fixed;
  inset: auto 20px 20px auto; /* bottom-right */
  z-index: 2147483000; /* sopra quasi tutto */
  width: var(--brp-maxw);
  max-width: var(--brp-maxw);
  background: var(--brp-bg);
  color: var(--brp-fg);
  border: 1px solid #fff;
  box-shadow: var(--brp-shadow);
  border-radius: var(--brp-radius);
  overflow: hidden;
  transform: translateY(16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease;
}

.br-popup.is-visible{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  animation: brp-pop .6s cubic-bezier(.16,.84,.44,1) both;
}

/* Animazione in entrata (leggera “spring”) */
@keyframes brp-pop{
  0%   { transform: translateY(18px) scale(.98); opacity: 0; }
  60%  { transform: translateY(-4px) scale(1.005); opacity: 1; }
  100% { transform: translateY(0) scale(1); }
}

/* Riduci movimento per utenti con preferenza */
@media (prefers-reduced-motion: reduce){
  .br-popup, .br-popup.is-visible{
    transition: none !important;
    animation: none !important;
    transform: none !important;
}
}

.br-popup__close{
  position: absolute!important;
  top: 10px!important;
  right: 10px!important;
  border: 0!important;
  background: transparent!important;
  line-height: 0!important;
  padding: 0!important;
  border-radius: 10px!important;
  cursor: pointer!important;
}

.br-popup__body{
  padding: 3rem 18px 20px 18px;
  display: grid;
  gap: var(--brp-gap);
}

.br-popup__title{
    margin: 0!important;
    line-height: 1!important;
    font-family: 'Allura', Sans-serif!important;
    font-size: 30px!important; 
    font-weight: 100!important;
    text-transform: none !important;
}

.br-popup__text{
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
}

.br-popup__cta{
  display: inline-block;
  text-decoration: none;
  background: var(--brp-accent);
  color: #fff;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .9rem;
}
.br-popup__cta:focus,
.br-popup__cta:hover{ filter: brightness(1.05); }

/* Mobile tweaks */
@media (max-width: 480px){
  .br-popup{ inset: auto 12px 12px auto; }
}

.banner_header {
    background: #F4F6F7;
    color: #000;
    display: block;
    width: 100%;
    max-width: calc(100vw - 30px);
    padding: 5px 15px;
    font-size: 15px;
    line-height: 1;
    text-align: center;
}
.banner_header span {
    color: #7E0C2B;
}
.banner_header > div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}